diff --git a/examples/amm/tealscript_artifacts/ConstantProductAMM.approval.teal b/examples/amm/tealscript_artifacts/ConstantProductAMM.approval.teal
index 6508aaf8a..a18b8020f 100644
--- a/examples/amm/tealscript_artifacts/ConstantProductAMM.approval.teal
+++ b/examples/amm/tealscript_artifacts/ConstantProductAMM.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/amm/tealscript_artifacts/ConstantProductAMM.arc32.json b/examples/amm/tealscript_artifacts/ConstantProductAMM.arc32.json
index 4a30bee76..c2e8a2181 100644
--- a/examples/amm/tealscript_artifacts/ConstantProductAMM.arc32.json
+++ b/examples/amm/tealscript_artifacts/ConstantProductAMM.arc32.json
@@ -80,7 +80,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyMAoJLy8gdGhpcy5nb3Zlcm5vci52YWx1ZSA9IHRoaXMudHhuLnNlbmRlcgoJYnl0ZSAweDY3IC8vICJnIgoJdHhuIFNlbmRlcgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZG9DcmVhdGVQb29sVG9rZW4oYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiBBc3NldElECmRvQ3JlYXRlUG9vbFRva2VuOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjI2CgkvLyByZXR1cm4gc2VuZEFzc2V0Q3JlYXRpb24oewoJLy8gICAgICAgY29uZmlnQXNzZXROYW1lOiAnRFBULScgKyBhQXNzZXQudW5pdE5hbWUgKyAnLScgKyBiQXNzZXQudW5pdE5hbWUsCgkvLyAgICAgICBjb25maWdBc3NldFVuaXROYW1lOiAnZHB0JywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VG90YWw6IFRPVEFMX1NVUFBMWSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RGVjaW1hbHM6IDMsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyNwoJLy8gY29uZmlnQXNzZXROYW1lOiAnRFBULScgKyBhQXNzZXQudW5pdE5hbWUgKyAnLScgKyBiQXNzZXQudW5pdE5hbWUKCWJ5dGUgMHg0NDUwNTQyZCAvLyAiRFBULSIKCWZyYW1lX2RpZyAtMSAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRVbml0TmFtZQoJcG9wCgljb25jYXQKCWJ5dGUgMHgyZCAvLyAiLSIKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCglwb3AKCWNvbmNhdAoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICdkcHQnCglieXRlIDB4NjQ3MDc0IC8vICJkcHQiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VW5pdE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjkKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IFRPVEFMX1NVUFBMWQoJaW50IDEwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzAKCS8vIGNvbmZpZ0Fzc2V0RGVjaW1hbHM6IDMKCWludCAzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVjaW1hbHMKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjMyCgkvLyBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0UmVzZXJ2ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gZG9BeGZlcihyZWNlaXZlcjogQWRkcmVzcywgYXNzZXQ6IEFzc2V0SUQsIGFtb3VudDogdWludDY0KTogdm9pZApkb0F4ZmVyOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjM3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiByZWNlaXZlciwKCS8vICAgICAgIHhmZXJBc3NldDogYXNzZXQsCgkvLyAgICAgICBhc3NldEFtb3VudDogYW1vdW50LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzgKCS8vIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozOQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo0MAoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkb09wdEluKGFzc2V0OiBBc3NldElEKTogdm9pZApkb09wdEluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjQ1CgkvLyB0aGlzLmRvQXhmZXIodGhpcy5hcHAuYWRkcmVzcywgYXNzZXQsIDApCglpbnQgMAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJY2FsbHN1YiBkb0F4ZmVyCglyZXRzdWIKCi8vIHRva2Vuc1RvTWludEludGlhbChhQW1vdW50OiB1aW50NjQsIGJBbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb01pbnRJbnRpYWw6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NDkKCS8vIHJldHVybiBzcXJ0KGFBbW91bnQgKiBiQW1vdW50KTsKCWZyYW1lX2RpZyAtMSAvLyBhQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiQW1vdW50OiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9NaW50KGlzc3VlZDogdWludDY0LCBhU3VwcGx5OiB1aW50NjQsIGJTdXBwbHk6IHVpbnQ2NCwgYUFtb3VudDogdWludDY0LCBiQW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9NaW50OgoJcHJvdG8gNSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1MwoJLy8gYVJhdGlvID0gd2lkZVJhdGlvKFthQW1vdW50LCBTQ0FMRV0sIFthU3VwcGx5XSkKCWZyYW1lX2RpZyAtNCAvLyBhQW1vdW50OiB1aW50NjQKCWludCAxMDAwCgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIC0yIC8vIGFTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBhUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NAoJLy8gYlJhdGlvID0gd2lkZVJhdGlvKFtiQW1vdW50LCBTQ0FMRV0sIFtiU3VwcGx5XSkKCWZyYW1lX2RpZyAtNSAvLyBiQW1vdW50OiB1aW50NjQKCWludCAxMDAwCgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIC0zIC8vIGJTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBiUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NgoJLy8gcmF0aW8gPSBhUmF0aW8gPCBiUmF0aW8gPyBhUmF0aW8gOiBiUmF0aW8KCWZyYW1lX2RpZyAwIC8vIGFSYXRpbzogdWludDY0CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoJPAoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgMCAvLyBhUmF0aW86IHVpbnQ2NAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyByYXRpbzogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjU4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtyYXRpbywgaXNzdWVkXSwgW1NDQUxFXSk7CglmcmFtZV9kaWcgMiAvLyByYXRpbzogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCW11bHcKCWludCAwCglpbnQgMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGNvbXB1dGVSYXRpbygpOiB1aW50NjQKY29tcHV0ZVJhdGlvOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjYyCgkvLyByZXR1cm4gd2lkZVJhdGlvKAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRBLnZhbHVlKSwgU0NBTEVdLAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRCLnZhbHVlKV0KCS8vICAgICApOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJaW50IDEwMDAKCW11bHcKCWludCAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYnl0ZSAweDYyIC8vICJiIgoJYXBwX2dsb2JhbF9nZXQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJcmV0c3ViCgovLyB0b2tlbnNUb0J1cm4oaXNzdWVkOiB1aW50NjQsIHN1cHBseTogdWludDY0LCBhbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb0J1cm46Cglwcm90byAzIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NjkKCS8vIHJldHVybiB3aWRlUmF0aW8oW3N1cHBseSwgYW1vdW50XSwgW2lzc3VlZF0pOwoJZnJhbWVfZGlnIC0yIC8vIHN1cHBseTogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYW1vdW50OiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRva2Vuc1RvU3dhcChpbkFtb3VudDogdWludDY0LCBpblN1cHBseTogdWludDY0LCBvdXRTdXBwbHk6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb1N3YXA6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3MwoJLy8gZmFjdG9yID0gU0NBTEUgLSBGRUUKCWludCA5OTUKCWZyYW1lX2J1cnkgMCAvLyBmYWN0b3I6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3NAoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbaW5BbW91bnQsIGZhY3Rvciwgb3V0U3VwcGx5XSwgW2luU3VwcGx5ICogU0NBTEUgKyBpbkFtb3VudCAqIGZhY3Rvcl0pOwoJZnJhbWVfZGlnIC0xIC8vIGluQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcjogdWludDY0CgltdWx3CglmcmFtZV9kaWcgLTMgLy8gb3V0U3VwcGx5OiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWludCAwCglmcmFtZV9kaWcgLTIgLy8gaW5TdXBwbHk6IHVpbnQ2NAoJaW50IDEwMDAKCSoKCWZyYW1lX2RpZyAtMSAvLyBpbkFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBmYWN0b3I6IHVpbnQ2NAoJKgoJKwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gc2V0X2dvdmVybm9yKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3NldF9nb3Zlcm5vcjoKCS8vIGdvdmVybm9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGdvdmVybm9yKSBmb3Igc2V0X2dvdmVybm9yIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIHNldF9nb3Zlcm5vcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgc2V0X2dvdmVybm9yCglpbnQgMQoJcmV0dXJuCgovLyBzZXRfZ292ZXJub3IoZ292ZXJub3I6IEFkZHJlc3MpOiB2b2lkCnNldF9nb3Zlcm5vcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OAoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2NyAvLyAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NzkKCS8vIHRoaXMuZ292ZXJub3IudmFsdWUgPSBnb3Zlcm5vcgoJYnl0ZSAweDY3IC8vICJnIgoJZnJhbWVfZGlnIC0xIC8vIGdvdmVybm9yOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYm9vdHN0cmFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc2VlZDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAoc2VlZCkgZm9yIGJvb3RzdHJhcCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGJvb3RzdHJhcChwYXksdWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYm9vdHN0cmFwCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYm9vdHN0cmFwKHNlZWQ6IFBheVR4biwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiBBc3NldElECmJvb3RzdHJhcDoKCXByb3RvIDMgMQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo4MwoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2NyAvLyAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODUKCS8vIGFzc2VydChnbG9iYWxzLmdyb3VwU2l6ZSA9PT0gMikKCWdsb2JhbCBHcm91cFNpemUKCWludCAyCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg3CgkvLyB2ZXJpZnlQYXlUeG4oc2VlZCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiB7IGdyZWF0ZXJUaGFuRXF1YWxUbzogMzAwXzAwMCB9IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNlZWQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaW50IDMwMF8wMDAKCT49CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzZWVkIiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbkVxdWFsVG8iLCJleHBlY3RlZCI6Ij49MzAwXzAwMCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODgKCS8vIGFzc2VydChhQXNzZXQgPCBiQXNzZXQpCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgk8Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTAKCS8vIHRoaXMuYXNzZXRBLnZhbHVlID0gYUFzc2V0CglieXRlIDB4NjEgLy8gImEiCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5MQoJLy8gdGhpcy5hc3NldEIudmFsdWUgPSBiQXNzZXQKCWJ5dGUgMHg2MiAvLyAiYiIKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjkyCgkvLyB0aGlzLnBvb2xUb2tlbi52YWx1ZSA9IHRoaXMuZG9DcmVhdGVQb29sVG9rZW4oYUFzc2V0LCBiQXNzZXQpCglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvQ3JlYXRlUG9vbFRva2VuCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NAoJLy8gdGhpcy5kb09wdEluKGFBc3NldCkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWNhbGxzdWIgZG9PcHRJbgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NQoJLy8gdGhpcy5kb09wdEluKGJBc3NldCkKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWNhbGxzdWIgZG9PcHRJbgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NwoJLy8gcmV0dXJuIHRoaXMucG9vbFRva2VuLnZhbHVlOwoJYnl0ZSAweDcwIC8vICJwIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfbWludDoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGJYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMyAoYlhmZXIpIGZvciBtaW50IG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYVhmZXI6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50IDIKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCA0IChhWGZlcikgZm9yIG1pbnQgbXVzdCBiZSBhIGF4ZmVyIHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIG1pbnQoYXhmZXIsYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBtaW50CglpbnQgMQoJcmV0dXJuCgovLyBtaW50KGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBiWGZlcjogQXNzZXRUcmFuc2ZlclR4biwgcG9vbEFzc2V0OiBBc3NldElELCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKbWludDoKCXByb3RvIDUgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gd2VsbCBmb3JtZWQgbWludAoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEwMgoJLy8gYXNzZXJ0KGFBc3NldCA9PT0gdGhpcy5hc3NldEEudmFsdWUpCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglieXRlIDB4NjEgLy8gImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMDMKCS8vIGFzc2VydChiQXNzZXQgPT09IHRoaXMuYXNzZXRCLnZhbHVlKQoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYnl0ZSAweDYyIC8vICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA0CgkvLyBhc3NlcnQocG9vbEFzc2V0ID09PSB0aGlzLnBvb2xUb2tlbi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg3MCAvLyAicCIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgYXNzZXQgQSBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEwNwoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihhWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogYUFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJhWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJhWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC00IC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6ImFBc3NldCJ9Cglhc3NlcnQKCgkvLyB2YWxpZCBhc3NldCBCIGF4ZmVyCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTE1CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKGJYZmVyLCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBiQXNzZXQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldEFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJaW50IDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImJYZmVyIiwiZmllbGQiOiJhc3NldEFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRSZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImJYZmVyIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSB4ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTUgLy8gYkFzc2V0OiBBc3NldElECgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6InhmZXJBc3NldCIsImV4cGVjdGVkIjoiYkFzc2V0In0KCWFzc2VydAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTIzCgkvLyB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShhQXNzZXQpID09PSBhWGZlci5hc3NldEFtb3VudCAmJgoJLy8gICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UoYkFzc2V0KSA9PT0gYlhmZXIuYXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50Cgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjYKCS8vIHRoaXMudG9rZW5zVG9NaW50SW50aWFsKGFYZmVyLmFzc2V0QW1vdW50LCBiWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWNhbGxzdWIgdG9rZW5zVG9NaW50SW50aWFsCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTI4CgkvLyB0b01pbnQgPSB0aGlzLnRva2Vuc1RvTWludCgKCS8vICAgICAgICAgVE9UQUxfU1VQUExZIC0gdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSwKCS8vICAgICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UoYUFzc2V0KSAtIGFYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpIC0gYlhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIGFYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgICBiWGZlci5hc3NldEFtb3VudAoJLy8gICAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgktCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC00IC8vIGFBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCWludCAxMDAwMDAwMDAwMAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCgktCgljYWxsc3ViIHRva2Vuc1RvTWludAoJZnJhbWVfYnVyeSAwIC8vIHRvTWludDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEzNgoJLy8gYXNzZXJ0KHRvTWludCA+IDApCglmcmFtZV9kaWcgMCAvLyB0b01pbnQ6IHVpbnQ2NAoJaW50IDAKCT4KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMzgKCS8vIHRoaXMuZG9BeGZlcih0aGlzLnR4bi5zZW5kZXIsIHBvb2xBc3NldCwgdG9NaW50KQoJZnJhbWVfZGlnIDAgLy8gdG9NaW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKKmlmMF9lbmQ6CglyZXRzdWIKCi8vIGJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2J1cm46CgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gcG9vbEFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBwb29sWGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKHBvb2xYZmVyKSBmb3IgYnVybiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJ1cm4KCWludCAxCglyZXR1cm4KCi8vIGJ1cm4ocG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIHBvb2xBc3NldDogQXNzZXRJRCwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiB2b2lkCmJ1cm46Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gd2VsbCBmb3JtZWQgYnVybgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NAoJLy8gYXNzZXJ0KHBvb2xBc3NldCA9PT0gdGhpcy5wb29sVG9rZW4udmFsdWUpCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFzc2V0OiBBc3NldElECglieXRlIDB4NzAgLy8gInAiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNDUKCS8vIGFzc2VydChhQXNzZXQgPT09IHRoaXMuYXNzZXRBLnZhbHVlKQoJZnJhbWVfZGlnIC0zIC8vIGFBc3NldDogQXNzZXRJRAoJYnl0ZSAweDYxIC8vICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTQ2CgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg2MiAvLyAiYiIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgcG9vbCBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0OQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihwb29sWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogcG9vbEFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6InBvb2xBc3NldCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTU2CgkvLyBpc3N1ZWQgPSBUT1RBTF9TVVBQTFkgLSAodGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSAtIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJaW50IDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCS0KCWZyYW1lX2J1cnkgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNTgKCS8vIGFBbXQgPSB0aGlzLnRva2Vuc1RvQnVybihpc3N1ZWQsIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCksIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoJY2FsbHN1YiB0b2tlbnNUb0J1cm4KCWZyYW1lX2J1cnkgMSAvLyBhQW10OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYwCgkvLyBiQW10ID0gdGhpcy50b2tlbnNUb0J1cm4oaXNzdWVkLCB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpLCBwb29sWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDAgLy8gaXNzdWVkOiB1aW50NjQKCWNhbGxzdWIgdG9rZW5zVG9CdXJuCglmcmFtZV9idXJ5IDIgLy8gYkFtdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE2MgoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgYUFzc2V0LCBhQW10KQoJZnJhbWVfZGlnIDEgLy8gYUFtdDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECgl0eG4gU2VuZGVyCgljYWxsc3ViIGRvQXhmZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYzCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBiQXNzZXQsIGJBbXQpCglmcmFtZV9kaWcgMiAvLyBiQW10OiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNjUKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlIDB4NzIgLy8gInIiCgljYWxsc3ViIGNvbXB1dGVSYXRpbwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gc3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9zd2FwOgoJLy8gYkFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIHN3YXBYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3dhcFhmZXIpIGZvciBzd2FwIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzd2FwCglpbnQgMQoJcmV0dXJuCgovLyBzd2FwKHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKc3dhcDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB3ZWxsIGZvcm1lZCBzd2FwCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcwCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE3MQoJLy8gYXNzZXJ0KGJBc3NldCA9PT0gdGhpcy5hc3NldEIudmFsdWUpCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECglieXRlIDB4NjIgLy8gImIiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNzMKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oc3dhcFhmZXIsIHsKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IHsgaW5jbHVkZWRJbjogW2FBc3NldCwgYkFzc2V0XSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN3YXBYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgk9PQoJfHwKCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6eyJ0eG5UZXh0Ijoic3dhcFhmZXIifSwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbYUFzc2V0LCBiQXNzZXRdIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODAKCS8vIG91dElkID0gc3dhcFhmZXIueGZlckFzc2V0ID09PSBhQXNzZXQgPyBhQXNzZXQgOiBiQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgk9PQoJYnogKnRlcm5hcnkxX2ZhbHNlCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgliICp0ZXJuYXJ5MV9lbmQKCip0ZXJuYXJ5MV9mYWxzZToKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCip0ZXJuYXJ5MV9lbmQ6CglmcmFtZV9idXJ5IDAgLy8gb3V0SWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODIKCS8vIGluSWQgPSBzd2FwWGZlci54ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9idXJ5IDEgLy8gaW5JZDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE4NAoJLy8gdG9Td2FwID0gdGhpcy50b2tlbnNUb1N3YXAoCgkvLyAgICAgICBzd2FwWGZlci5hc3NldEFtb3VudCwKCS8vICAgICAgIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGluSWQpIC0gc3dhcFhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShvdXRJZCkKCS8vICAgICApCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gb3V0SWQ6IHVpbnQ2NAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBpbklkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgktCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgljYWxsc3ViIHRva2Vuc1RvU3dhcAoJZnJhbWVfYnVyeSAyIC8vIHRvU3dhcDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE5MAoJLy8gYXNzZXJ0KHRvU3dhcCA+IDApCglmcmFtZV9kaWcgMiAvLyB0b1N3YXA6IHVpbnQ2NAoJaW50IDAKCT4KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTIKCS8vIHRoaXMuZG9BeGZlcih0aGlzLnR4bi5zZW5kZXIsIG91dElkLCB0b1N3YXApCglmcmFtZV9kaWcgMiAvLyB0b1N3YXA6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gb3V0SWQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBkb0F4ZmVyCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE5NAoJLy8gdGhpcy5yYXRpby52YWx1ZSA9IHRoaXMuY29tcHV0ZVJhdGlvKCkKCWJ5dGUgMHg3MiAvLyAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJtaW50KGF4ZmVyLGF4ZmVyLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAic3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NldF9nb3Zlcm5vciAqYWJpX3JvdXRlX2Jvb3RzdHJhcCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9idXJuICphYmlfcm91dGVfc3dhcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyMAoJLy8gdGhpcy5nb3Zlcm5vci52YWx1ZSA9IHRoaXMudHhuLnNlbmRlcgoJYnl0ZSAweDY3IC8vICJnIgoJdHhuIFNlbmRlcgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZG9DcmVhdGVQb29sVG9rZW4oYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiBBc3NldElECmRvQ3JlYXRlUG9vbFRva2VuOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjI2CgkvLyByZXR1cm4gc2VuZEFzc2V0Q3JlYXRpb24oewoJLy8gICAgICAgY29uZmlnQXNzZXROYW1lOiAnRFBULScgKyBhQXNzZXQudW5pdE5hbWUgKyAnLScgKyBiQXNzZXQudW5pdE5hbWUsCgkvLyAgICAgICBjb25maWdBc3NldFVuaXROYW1lOiAnZHB0JywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VG90YWw6IFRPVEFMX1NVUFBMWSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RGVjaW1hbHM6IDMsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyNwoJLy8gY29uZmlnQXNzZXROYW1lOiAnRFBULScgKyBhQXNzZXQudW5pdE5hbWUgKyAnLScgKyBiQXNzZXQudW5pdE5hbWUKCWJ5dGUgMHg0NDUwNTQyZCAvLyAiRFBULSIKCWZyYW1lX2RpZyAtMSAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRVbml0TmFtZQoJcG9wCgljb25jYXQKCWJ5dGUgMHgyZCAvLyAiLSIKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCglwb3AKCWNvbmNhdAoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICdkcHQnCglieXRlIDB4NjQ3MDc0IC8vICJkcHQiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VW5pdE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjkKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IFRPVEFMX1NVUFBMWQoJaW50IDEwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzAKCS8vIGNvbmZpZ0Fzc2V0RGVjaW1hbHM6IDMKCWludCAzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVjaW1hbHMKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjMyCgkvLyBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0UmVzZXJ2ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gZG9BeGZlcihyZWNlaXZlcjogQWRkcmVzcywgYXNzZXQ6IEFzc2V0SUQsIGFtb3VudDogdWludDY0KTogdm9pZApkb0F4ZmVyOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjM3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiByZWNlaXZlciwKCS8vICAgICAgIHhmZXJBc3NldDogYXNzZXQsCgkvLyAgICAgICBhc3NldEFtb3VudDogYW1vdW50LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzgKCS8vIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozOQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo0MAoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkb09wdEluKGFzc2V0OiBBc3NldElEKTogdm9pZApkb09wdEluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjQ1CgkvLyB0aGlzLmRvQXhmZXIodGhpcy5hcHAuYWRkcmVzcywgYXNzZXQsIDApCglpbnQgMAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJY2FsbHN1YiBkb0F4ZmVyCglyZXRzdWIKCi8vIHRva2Vuc1RvTWludEludGlhbChhQW1vdW50OiB1aW50NjQsIGJBbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb01pbnRJbnRpYWw6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NDkKCS8vIHJldHVybiBzcXJ0KGFBbW91bnQgKiBiQW1vdW50KTsKCWZyYW1lX2RpZyAtMSAvLyBhQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiQW1vdW50OiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9NaW50KGlzc3VlZDogdWludDY0LCBhU3VwcGx5OiB1aW50NjQsIGJTdXBwbHk6IHVpbnQ2NCwgYUFtb3VudDogdWludDY0LCBiQW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9NaW50OgoJcHJvdG8gNSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1MwoJLy8gYVJhdGlvID0gd2lkZVJhdGlvKFthQW1vdW50LCBTQ0FMRV0sIFthU3VwcGx5XSkKCWZyYW1lX2RpZyAtNCAvLyBhQW1vdW50OiB1aW50NjQKCWludCAxMDAwCgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIC0yIC8vIGFTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBhUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NAoJLy8gYlJhdGlvID0gd2lkZVJhdGlvKFtiQW1vdW50LCBTQ0FMRV0sIFtiU3VwcGx5XSkKCWZyYW1lX2RpZyAtNSAvLyBiQW1vdW50OiB1aW50NjQKCWludCAxMDAwCgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIC0zIC8vIGJTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBiUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NgoJLy8gcmF0aW8gPSBhUmF0aW8gPCBiUmF0aW8gPyBhUmF0aW8gOiBiUmF0aW8KCWZyYW1lX2RpZyAwIC8vIGFSYXRpbzogdWludDY0CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoJPAoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgMCAvLyBhUmF0aW86IHVpbnQ2NAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyByYXRpbzogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjU4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtyYXRpbywgaXNzdWVkXSwgW1NDQUxFXSk7CglmcmFtZV9kaWcgMiAvLyByYXRpbzogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCW11bHcKCWludCAwCglpbnQgMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGNvbXB1dGVSYXRpbygpOiB1aW50NjQKY29tcHV0ZVJhdGlvOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjYyCgkvLyByZXR1cm4gd2lkZVJhdGlvKAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRBLnZhbHVlKSwgU0NBTEVdLAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRCLnZhbHVlKV0KCS8vICAgICApOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJaW50IDEwMDAKCW11bHcKCWludCAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYnl0ZSAweDYyIC8vICJiIgoJYXBwX2dsb2JhbF9nZXQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJcmV0c3ViCgovLyB0b2tlbnNUb0J1cm4oaXNzdWVkOiB1aW50NjQsIHN1cHBseTogdWludDY0LCBhbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb0J1cm46Cglwcm90byAzIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NjkKCS8vIHJldHVybiB3aWRlUmF0aW8oW3N1cHBseSwgYW1vdW50XSwgW2lzc3VlZF0pOwoJZnJhbWVfZGlnIC0yIC8vIHN1cHBseTogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYW1vdW50OiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRva2Vuc1RvU3dhcChpbkFtb3VudDogdWludDY0LCBpblN1cHBseTogdWludDY0LCBvdXRTdXBwbHk6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb1N3YXA6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3MwoJLy8gZmFjdG9yID0gU0NBTEUgLSBGRUUKCWludCA5OTUKCWZyYW1lX2J1cnkgMCAvLyBmYWN0b3I6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3NAoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbaW5BbW91bnQsIGZhY3Rvciwgb3V0U3VwcGx5XSwgW2luU3VwcGx5ICogU0NBTEUgKyBpbkFtb3VudCAqIGZhY3Rvcl0pOwoJZnJhbWVfZGlnIC0xIC8vIGluQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcjogdWludDY0CgltdWx3CglmcmFtZV9kaWcgLTMgLy8gb3V0U3VwcGx5OiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWludCAwCglmcmFtZV9kaWcgLTIgLy8gaW5TdXBwbHk6IHVpbnQ2NAoJaW50IDEwMDAKCSoKCWZyYW1lX2RpZyAtMSAvLyBpbkFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBmYWN0b3I6IHVpbnQ2NAoJKgoJKwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gc2V0X2dvdmVybm9yKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3NldF9nb3Zlcm5vcjoKCS8vIGdvdmVybm9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGdvdmVybm9yKSBmb3Igc2V0X2dvdmVybm9yIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIHNldF9nb3Zlcm5vcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgc2V0X2dvdmVybm9yCglpbnQgMQoJcmV0dXJuCgovLyBzZXRfZ292ZXJub3IoZ292ZXJub3I6IEFkZHJlc3MpOiB2b2lkCnNldF9nb3Zlcm5vcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OAoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2NyAvLyAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NzkKCS8vIHRoaXMuZ292ZXJub3IudmFsdWUgPSBnb3Zlcm5vcgoJYnl0ZSAweDY3IC8vICJnIgoJZnJhbWVfZGlnIC0xIC8vIGdvdmVybm9yOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYm9vdHN0cmFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc2VlZDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAoc2VlZCkgZm9yIGJvb3RzdHJhcCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGJvb3RzdHJhcChwYXksdWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYm9vdHN0cmFwCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYm9vdHN0cmFwKHNlZWQ6IFBheVR4biwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiBBc3NldElECmJvb3RzdHJhcDoKCXByb3RvIDMgMQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo4MwoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2NyAvLyAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODUKCS8vIGFzc2VydChnbG9iYWxzLmdyb3VwU2l6ZSA9PT0gMikKCWdsb2JhbCBHcm91cFNpemUKCWludCAyCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg3CgkvLyB2ZXJpZnlQYXlUeG4oc2VlZCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiB7IGdyZWF0ZXJUaGFuRXF1YWxUbzogMzAwXzAwMCB9IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNlZWQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaW50IDMwMF8wMDAKCT49CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzZWVkIiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbkVxdWFsVG8iLCJleHBlY3RlZCI6Ij49MzAwXzAwMCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODgKCS8vIGFzc2VydChhQXNzZXQgPCBiQXNzZXQpCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgk8Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTAKCS8vIHRoaXMuYXNzZXRBLnZhbHVlID0gYUFzc2V0CglieXRlIDB4NjEgLy8gImEiCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5MQoJLy8gdGhpcy5hc3NldEIudmFsdWUgPSBiQXNzZXQKCWJ5dGUgMHg2MiAvLyAiYiIKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjkyCgkvLyB0aGlzLnBvb2xUb2tlbi52YWx1ZSA9IHRoaXMuZG9DcmVhdGVQb29sVG9rZW4oYUFzc2V0LCBiQXNzZXQpCglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvQ3JlYXRlUG9vbFRva2VuCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NAoJLy8gdGhpcy5kb09wdEluKGFBc3NldCkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWNhbGxzdWIgZG9PcHRJbgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NQoJLy8gdGhpcy5kb09wdEluKGJBc3NldCkKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWNhbGxzdWIgZG9PcHRJbgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NwoJLy8gcmV0dXJuIHRoaXMucG9vbFRva2VuLnZhbHVlOwoJYnl0ZSAweDcwIC8vICJwIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfbWludDoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGJYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMyAoYlhmZXIpIGZvciBtaW50IG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYVhmZXI6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50IDIKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCA0IChhWGZlcikgZm9yIG1pbnQgbXVzdCBiZSBhIGF4ZmVyIHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIG1pbnQoYXhmZXIsYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBtaW50CglpbnQgMQoJcmV0dXJuCgovLyBtaW50KGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBiWGZlcjogQXNzZXRUcmFuc2ZlclR4biwgcG9vbEFzc2V0OiBBc3NldElELCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKbWludDoKCXByb3RvIDUgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gd2VsbCBmb3JtZWQgbWludAoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEwMgoJLy8gYXNzZXJ0KGFBc3NldCA9PT0gdGhpcy5hc3NldEEudmFsdWUpCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglieXRlIDB4NjEgLy8gImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMDMKCS8vIGFzc2VydChiQXNzZXQgPT09IHRoaXMuYXNzZXRCLnZhbHVlKQoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYnl0ZSAweDYyIC8vICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA0CgkvLyBhc3NlcnQocG9vbEFzc2V0ID09PSB0aGlzLnBvb2xUb2tlbi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg3MCAvLyAicCIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgYXNzZXQgQSBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEwNwoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihhWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogYUFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJhWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJhWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC00IC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6ImFBc3NldCJ9Cglhc3NlcnQKCgkvLyB2YWxpZCBhc3NldCBCIGF4ZmVyCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTE1CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKGJYZmVyLCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBiQXNzZXQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldEFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJaW50IDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImJYZmVyIiwiZmllbGQiOiJhc3NldEFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRSZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImJYZmVyIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSB4ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTUgLy8gYkFzc2V0OiBBc3NldElECgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6InhmZXJBc3NldCIsImV4cGVjdGVkIjoiYkFzc2V0In0KCWFzc2VydAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTIzCgkvLyB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShhQXNzZXQpID09PSBhWGZlci5hc3NldEFtb3VudCAmJgoJLy8gICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UoYkFzc2V0KSA9PT0gYlhmZXIuYXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50Cgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjYKCS8vIHRoaXMudG9rZW5zVG9NaW50SW50aWFsKGFYZmVyLmFzc2V0QW1vdW50LCBiWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWNhbGxzdWIgdG9rZW5zVG9NaW50SW50aWFsCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTI4CgkvLyB0b01pbnQgPSB0aGlzLnRva2Vuc1RvTWludCgKCS8vICAgICAgICAgVE9UQUxfU1VQUExZIC0gdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSwKCS8vICAgICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UoYUFzc2V0KSAtIGFYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpIC0gYlhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIGFYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgICBiWGZlci5hc3NldEFtb3VudAoJLy8gICAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgktCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC00IC8vIGFBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCWludCAxMDAwMDAwMDAwMAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCgktCgljYWxsc3ViIHRva2Vuc1RvTWludAoJZnJhbWVfYnVyeSAwIC8vIHRvTWludDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEzNgoJLy8gYXNzZXJ0KHRvTWludCA+IDApCglmcmFtZV9kaWcgMCAvLyB0b01pbnQ6IHVpbnQ2NAoJaW50IDAKCT4KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMzgKCS8vIHRoaXMuZG9BeGZlcih0aGlzLnR4bi5zZW5kZXIsIHBvb2xBc3NldCwgdG9NaW50KQoJZnJhbWVfZGlnIDAgLy8gdG9NaW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKKmlmMF9lbmQ6CglyZXRzdWIKCi8vIGJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2J1cm46CgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gcG9vbEFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBwb29sWGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKHBvb2xYZmVyKSBmb3IgYnVybiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJ1cm4KCWludCAxCglyZXR1cm4KCi8vIGJ1cm4ocG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIHBvb2xBc3NldDogQXNzZXRJRCwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiB2b2lkCmJ1cm46Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gd2VsbCBmb3JtZWQgYnVybgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NAoJLy8gYXNzZXJ0KHBvb2xBc3NldCA9PT0gdGhpcy5wb29sVG9rZW4udmFsdWUpCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFzc2V0OiBBc3NldElECglieXRlIDB4NzAgLy8gInAiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNDUKCS8vIGFzc2VydChhQXNzZXQgPT09IHRoaXMuYXNzZXRBLnZhbHVlKQoJZnJhbWVfZGlnIC0zIC8vIGFBc3NldDogQXNzZXRJRAoJYnl0ZSAweDYxIC8vICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTQ2CgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg2MiAvLyAiYiIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgcG9vbCBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0OQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihwb29sWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogcG9vbEFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6InBvb2xBc3NldCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTU2CgkvLyBpc3N1ZWQgPSBUT1RBTF9TVVBQTFkgLSAodGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSAtIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJaW50IDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCS0KCWZyYW1lX2J1cnkgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNTgKCS8vIGFBbXQgPSB0aGlzLnRva2Vuc1RvQnVybihpc3N1ZWQsIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCksIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoJY2FsbHN1YiB0b2tlbnNUb0J1cm4KCWZyYW1lX2J1cnkgMSAvLyBhQW10OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYwCgkvLyBiQW10ID0gdGhpcy50b2tlbnNUb0J1cm4oaXNzdWVkLCB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpLCBwb29sWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDAgLy8gaXNzdWVkOiB1aW50NjQKCWNhbGxzdWIgdG9rZW5zVG9CdXJuCglmcmFtZV9idXJ5IDIgLy8gYkFtdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE2MgoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgYUFzc2V0LCBhQW10KQoJZnJhbWVfZGlnIDEgLy8gYUFtdDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECgl0eG4gU2VuZGVyCgljYWxsc3ViIGRvQXhmZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYzCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBiQXNzZXQsIGJBbXQpCglmcmFtZV9kaWcgMiAvLyBiQW10OiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNjUKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlIDB4NzIgLy8gInIiCgljYWxsc3ViIGNvbXB1dGVSYXRpbwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gc3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9zd2FwOgoJLy8gYkFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIHN3YXBYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3dhcFhmZXIpIGZvciBzd2FwIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzd2FwCglpbnQgMQoJcmV0dXJuCgovLyBzd2FwKHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKc3dhcDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB3ZWxsIGZvcm1lZCBzd2FwCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcwCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE3MQoJLy8gYXNzZXJ0KGJBc3NldCA9PT0gdGhpcy5hc3NldEIudmFsdWUpCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECglieXRlIDB4NjIgLy8gImIiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNzMKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oc3dhcFhmZXIsIHsKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IHsgaW5jbHVkZWRJbjogW2FBc3NldCwgYkFzc2V0XSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN3YXBYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgk9PQoJfHwKCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6eyJ0eG5UZXh0Ijoic3dhcFhmZXIifSwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbYUFzc2V0LCBiQXNzZXRdIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODAKCS8vIG91dElkID0gc3dhcFhmZXIueGZlckFzc2V0ID09PSBhQXNzZXQgPyBhQXNzZXQgOiBiQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgk9PQoJYnogKnRlcm5hcnkxX2ZhbHNlCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgliICp0ZXJuYXJ5MV9lbmQKCip0ZXJuYXJ5MV9mYWxzZToKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCip0ZXJuYXJ5MV9lbmQ6CglmcmFtZV9idXJ5IDAgLy8gb3V0SWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODIKCS8vIGluSWQgPSBzd2FwWGZlci54ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9idXJ5IDEgLy8gaW5JZDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE4NAoJLy8gdG9Td2FwID0gdGhpcy50b2tlbnNUb1N3YXAoCgkvLyAgICAgICBzd2FwWGZlci5hc3NldEFtb3VudCwKCS8vICAgICAgIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGluSWQpIC0gc3dhcFhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShvdXRJZCkKCS8vICAgICApCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gb3V0SWQ6IHVpbnQ2NAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBpbklkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgktCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgljYWxsc3ViIHRva2Vuc1RvU3dhcAoJZnJhbWVfYnVyeSAyIC8vIHRvU3dhcDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE5MAoJLy8gYXNzZXJ0KHRvU3dhcCA+IDApCglmcmFtZV9kaWcgMiAvLyB0b1N3YXA6IHVpbnQ2NAoJaW50IDAKCT4KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTIKCS8vIHRoaXMuZG9BeGZlcih0aGlzLnR4bi5zZW5kZXIsIG91dElkLCB0b1N3YXApCglmcmFtZV9kaWcgMiAvLyB0b1N3YXA6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gb3V0SWQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBkb0F4ZmVyCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE5NAoJLy8gdGhpcy5yYXRpby52YWx1ZSA9IHRoaXMuY29tcHV0ZVJhdGlvKCkKCWJ5dGUgMHg3MiAvLyAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJtaW50KGF4ZmVyLGF4ZmVyLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAic3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NldF9nb3Zlcm5vciAqYWJpX3JvdXRlX2Jvb3RzdHJhcCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9idXJuICphYmlfcm91dGVfc3dhcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/amm/tealscript_artifacts/ConstantProductAMM.arc56_draft.json b/examples/amm/tealscript_artifacts/ConstantProductAMM.arc56_draft.json
index 6cf9ba0b4..8ccce85b5 100644
--- a/examples/amm/tealscript_artifacts/ConstantProductAMM.arc56_draft.json
+++ b/examples/amm/tealscript_artifacts/ConstantProductAMM.arc56_draft.json
@@ -207,4785 +207,4788 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 8,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27
- ]
- },
- {
- "teal": 13,
- "source": 8,
- "pc": [
- 28,
- 29
- ]
- },
- {
- "teal": 14,
- "source": 8,
- "pc": [
- 30
- ]
- },
- {
- "teal": 15,
- "source": 8,
- "pc": [
- 31,
- 32
- ]
- },
- {
- "teal": 16,
- "source": 8,
- "pc": [
- 33
- ]
- },
- {
- "teal": 17,
- "source": 8,
- "pc": [
- 34,
- 35
- ]
- },
- {
- "teal": 18,
- "source": 8,
- "pc": [
- 36
- ]
- },
- {
- "teal": 19,
- "source": 8,
- "pc": [
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 23,
- "source": 8,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 63
- ]
- },
- {
- "teal": 28,
- "source": 19,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 29,
- "source": 19,
- "pc": [
- 67
- ]
- },
- {
- "teal": 30,
- "source": 19,
- "pc": [
- 68
- ]
- },
- {
- "teal": 34,
- "source": 19,
- "pc": [
- 69,
- 70,
- 71
- ]
- },
- {
- "teal": 38,
- "source": 20,
- "pc": [
- 72
- ]
- },
- {
- "teal": 39,
- "source": 20,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 40,
- "source": 20,
- "pc": [
- 75
- ]
- },
- {
- "teal": 41,
- "source": 19,
- "pc": [
- 76
- ]
- },
- {
- "teal": 45,
- "source": 23,
- "pc": [
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 56,
- "source": 26,
- "pc": [
- 80
- ]
- },
- {
- "teal": 57,
- "source": 26,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 58,
- "source": 26,
- "pc": [
- 83,
- 84
- ]
- },
- {
- "teal": 62,
- "source": 27,
- "pc": [
- 85,
- 86,
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 63,
- "source": 27,
- "pc": [
- 91,
- 92
- ]
- },
- {
- "teal": 64,
- "source": 27,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 65,
- "source": 27,
- "pc": [
- 95
- ]
- },
- {
- "teal": 66,
- "source": 27,
- "pc": [
- 96
- ]
- },
- {
- "teal": 67,
- "source": 27,
- "pc": [
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 68,
- "source": 27,
- "pc": [
- 100
- ]
- },
- {
- "teal": 69,
- "source": 27,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 70,
- "source": 27,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 71,
- "source": 27,
- "pc": [
- 105
- ]
- },
- {
- "teal": 72,
- "source": 27,
- "pc": [
- 106
- ]
- },
- {
- "teal": 73,
- "source": 27,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 77,
- "source": 28,
- "pc": [
- 109,
- 110,
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 78,
- "source": 28,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 82,
- "source": 29,
- "pc": [
- 116,
- 117
- ]
- },
- {
- "teal": 83,
- "source": 29,
- "pc": [
- 118,
- 119
- ]
- },
- {
- "teal": 87,
- "source": 30,
- "pc": [
- 120,
- 121
- ]
- },
- {
- "teal": 88,
- "source": 30,
- "pc": [
- 122,
- 123
- ]
- },
- {
- "teal": 92,
- "source": 31,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 93,
- "source": 31,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 97,
- "source": 32,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 98,
- "source": 32,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 101,
- "source": 26,
- "pc": [
- 132
- ]
- },
- {
- "teal": 102,
- "source": 26,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 105,
- "source": 26,
- "pc": [
- 135
- ]
- },
- {
- "teal": 106,
- "source": 26,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 107,
- "source": 23,
- "pc": [
- 138
- ]
- },
- {
- "teal": 111,
- "source": 36,
- "pc": [
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 119,
- "source": 37,
- "pc": [
- 142
- ]
- },
- {
- "teal": 120,
- "source": 37,
- "pc": [
- 143
- ]
- },
- {
- "teal": 121,
- "source": 37,
- "pc": [
- 144,
- 145
- ]
- },
- {
- "teal": 125,
- "source": 38,
- "pc": [
- 146,
- 147
- ]
- },
- {
- "teal": 126,
- "source": 38,
- "pc": [
- 148,
- 149
- ]
- },
- {
- "teal": 130,
- "source": 39,
- "pc": [
- 150,
- 151
- ]
- },
- {
- "teal": 131,
- "source": 39,
- "pc": [
- 152,
- 153
- ]
- },
- {
- "teal": 135,
- "source": 40,
- "pc": [
- 154,
- 155
- ]
- },
- {
- "teal": 136,
- "source": 40,
- "pc": [
- 156,
- 157
- ]
- },
- {
- "teal": 139,
- "source": 37,
- "pc": [
- 158
- ]
- },
- {
- "teal": 140,
- "source": 37,
- "pc": [
- 159,
- 160
- ]
- },
- {
- "teal": 143,
- "source": 37,
- "pc": [
- 161
- ]
- },
- {
- "teal": 144,
- "source": 36,
- "pc": [
- 162
- ]
- },
- {
- "teal": 148,
- "source": 44,
- "pc": [
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 152,
- "source": 45,
- "pc": [
- 166
- ]
- },
- {
- "teal": 153,
- "source": 45,
- "pc": [
- 167,
- 168
- ]
- },
- {
- "teal": 154,
- "source": 45,
- "pc": [
- 169,
- 170
- ]
- },
- {
- "teal": 155,
- "source": 45,
- "pc": [
- 171,
- 172,
- 173
- ]
- },
- {
- "teal": 156,
- "source": 44,
- "pc": [
- 174
- ]
- },
- {
- "teal": 160,
- "source": 48,
- "pc": [
- 175,
- 176,
- 177
- ]
- },
- {
- "teal": 164,
- "source": 49,
- "pc": [
- 178,
- 179
- ]
- },
- {
- "teal": 165,
- "source": 49,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 166,
- "source": 49,
- "pc": [
- 182
- ]
- },
- {
- "teal": 167,
- "source": 49,
- "pc": [
- 183
- ]
- },
- {
- "teal": 168,
- "source": 48,
- "pc": [
- 184
- ]
- },
- {
- "teal": 172,
- "source": 52,
- "pc": [
- 185,
- 186,
- 187
- ]
- },
- {
- "teal": 175,
- "source": 52,
- "pc": [
- 188
- ]
- },
- {
- "teal": 176,
- "source": 52,
- "pc": [
- 189,
- 190
- ]
- },
- {
- "teal": 180,
- "source": 53,
- "pc": [
- 191,
- 192
- ]
- },
- {
- "teal": 181,
- "source": 53,
- "pc": [
- 193
- ]
- },
- {
- "teal": 182,
- "source": 53,
- "pc": [
- 194
- ]
- },
- {
- "teal": 183,
- "source": 53,
- "pc": [
- 195
- ]
- },
- {
- "teal": 184,
- "source": 53,
- "pc": [
- 196,
- 197
- ]
- },
- {
- "teal": 185,
- "source": 53,
- "pc": [
- 198
- ]
- },
- {
- "teal": 186,
- "source": 53,
- "pc": [
- 199
- ]
- },
- {
- "teal": 187,
- "source": 53,
- "pc": [
- 200
- ]
- },
- {
- "teal": 188,
- "source": 53,
- "pc": [
- 201
- ]
- },
- {
- "teal": 189,
- "source": 53,
- "pc": [
- 202
- ]
- },
- {
- "teal": 192,
- "source": 53,
- "errorMessage": "wideRatio failed",
- "pc": [
- 203
- ]
- },
- {
- "teal": 193,
- "source": 53,
- "pc": [
- 204,
- 205
- ]
- },
- {
- "teal": 197,
- "source": 54,
- "pc": [
- 206,
- 207
- ]
- },
- {
- "teal": 198,
- "source": 54,
- "pc": [
- 208
- ]
- },
- {
- "teal": 199,
- "source": 54,
- "pc": [
- 209
- ]
- },
- {
- "teal": 200,
- "source": 54,
- "pc": [
- 210
- ]
- },
- {
- "teal": 201,
- "source": 54,
- "pc": [
- 211,
- 212
- ]
- },
- {
- "teal": 202,
- "source": 54,
- "pc": [
- 213
- ]
- },
- {
- "teal": 203,
- "source": 54,
- "pc": [
- 214
- ]
- },
- {
- "teal": 204,
- "source": 54,
- "pc": [
- 215
- ]
- },
- {
- "teal": 205,
- "source": 54,
- "pc": [
- 216
- ]
- },
- {
- "teal": 206,
- "source": 54,
- "pc": [
- 217
- ]
- },
- {
- "teal": 209,
- "source": 54,
- "errorMessage": "wideRatio failed",
- "pc": [
- 218
- ]
- },
- {
- "teal": 210,
- "source": 54,
- "pc": [
- 219,
- 220
- ]
- },
- {
- "teal": 214,
- "source": 56,
- "pc": [
- 221,
- 222
- ]
- },
- {
- "teal": 215,
- "source": 56,
- "pc": [
- 223,
- 224
- ]
- },
- {
- "teal": 216,
- "source": 56,
- "pc": [
- 225
- ]
- },
- {
- "teal": 217,
- "source": 56,
- "pc": [
- 226,
- 227,
- 228
- ]
- },
- {
- "teal": 218,
- "source": 56,
- "pc": [
- 229,
- 230
- ]
- },
- {
- "teal": 219,
- "source": 56,
- "pc": [
- 231,
- 232,
- 233
- ]
- },
- {
- "teal": 222,
- "source": 56,
- "pc": [
- 234,
- 235
- ]
- },
- {
- "teal": 225,
- "source": 56,
- "pc": [
- 236,
- 237
- ]
- },
- {
- "teal": 229,
- "source": 58,
- "pc": [
- 238,
- 239
- ]
- },
- {
- "teal": 230,
- "source": 58,
- "pc": [
- 240,
- 241
- ]
- },
- {
- "teal": 231,
- "source": 58,
- "pc": [
- 242
- ]
- },
- {
- "teal": 232,
- "source": 58,
- "pc": [
- 243
- ]
- },
- {
- "teal": 233,
- "source": 58,
- "pc": [
- 244
- ]
- },
- {
- "teal": 234,
- "source": 58,
- "pc": [
- 245
- ]
- },
- {
- "teal": 235,
- "source": 58,
- "pc": [
- 246
- ]
- },
- {
- "teal": 236,
- "source": 58,
- "pc": [
- 247
- ]
- },
- {
- "teal": 237,
- "source": 58,
- "pc": [
- 248
- ]
- },
- {
- "teal": 238,
- "source": 58,
- "pc": [
- 249
- ]
- },
- {
- "teal": 241,
- "source": 58,
- "errorMessage": "wideRatio failed",
- "pc": [
- 250
- ]
- },
- {
- "teal": 244,
- "source": 52,
- "pc": [
- 251,
- 252
- ]
- },
- {
- "teal": 247,
- "source": 52,
- "pc": [
- 253,
- 254
- ]
- },
- {
- "teal": 248,
- "source": 52,
- "pc": [
- 255
- ]
- },
- {
- "teal": 252,
- "source": 61,
- "pc": [
- 256,
- 257,
- 258
- ]
- },
- {
- "teal": 259,
- "source": 63,
- "pc": [
- 259,
- 260
- ]
- },
- {
- "teal": 260,
- "source": 63,
- "pc": [
- 261
- ]
- },
- {
- "teal": 261,
- "source": 63,
- "pc": [
- 262
- ]
- },
- {
- "teal": 262,
- "source": 63,
- "pc": [
- 263,
- 264
- ]
- },
- {
- "teal": 263,
- "source": 63,
- "pc": [
- 265
- ]
- },
- {
- "teal": 264,
- "source": 63,
- "pc": [
- 266
- ]
- },
- {
- "teal": 265,
- "source": 62,
- "pc": [
- 267
- ]
- },
- {
- "teal": 266,
- "source": 62,
- "pc": [
- 268
- ]
- },
- {
- "teal": 267,
- "source": 64,
- "pc": [
- 269,
- 270
- ]
- },
- {
- "teal": 268,
- "source": 64,
- "pc": [
- 271
- ]
- },
- {
- "teal": 269,
- "source": 64,
- "pc": [
- 272
- ]
- },
- {
- "teal": 270,
- "source": 64,
- "pc": [
- 273,
- 274
- ]
- },
- {
- "teal": 271,
- "source": 64,
- "pc": [
- 275
- ]
- },
- {
- "teal": 272,
- "source": 62,
- "pc": [
- 276
- ]
- },
- {
- "teal": 273,
- "source": 62,
- "pc": [
- 277
- ]
- },
- {
- "teal": 274,
- "source": 62,
- "pc": [
- 278
- ]
- },
- {
- "teal": 275,
- "source": 62,
- "pc": [
- 279
- ]
- },
- {
- "teal": 276,
- "source": 62,
- "pc": [
- 280
- ]
- },
- {
- "teal": 279,
- "source": 62,
- "errorMessage": "wideRatio failed",
- "pc": [
- 281
- ]
- },
- {
- "teal": 280,
- "source": 61,
- "pc": [
- 282
- ]
- },
- {
- "teal": 284,
- "source": 68,
- "pc": [
- 283,
- 284,
- 285
- ]
- },
- {
- "teal": 288,
- "source": 69,
- "pc": [
- 286,
- 287
- ]
- },
- {
- "teal": 289,
- "source": 69,
- "pc": [
- 288,
- 289
- ]
- },
- {
- "teal": 290,
- "source": 69,
- "pc": [
- 290
- ]
- },
- {
- "teal": 291,
- "source": 69,
- "pc": [
- 291
- ]
- },
- {
- "teal": 292,
- "source": 69,
- "pc": [
- 292,
- 293
- ]
- },
- {
- "teal": 293,
- "source": 69,
- "pc": [
- 294
- ]
- },
- {
- "teal": 294,
- "source": 69,
- "pc": [
- 295
- ]
- },
- {
- "teal": 295,
- "source": 69,
- "pc": [
- 296
- ]
- },
- {
- "teal": 296,
- "source": 69,
- "pc": [
- 297
- ]
- },
- {
- "teal": 297,
- "source": 69,
- "pc": [
- 298
- ]
- },
- {
- "teal": 300,
- "source": 69,
- "errorMessage": "wideRatio failed",
- "pc": [
- 299
- ]
- },
- {
- "teal": 301,
- "source": 68,
- "pc": [
- 300
- ]
- },
- {
- "teal": 305,
- "source": 72,
- "pc": [
- 301,
- 302,
- 303
- ]
- },
- {
- "teal": 308,
- "source": 72,
- "pc": [
- 304
- ]
- },
- {
- "teal": 312,
- "source": 73,
- "pc": [
- 305,
- 306,
- 307
- ]
- },
- {
- "teal": 313,
- "source": 73,
- "pc": [
- 308,
- 309
- ]
- },
- {
- "teal": 317,
- "source": 74,
- "pc": [
- 310,
- 311
- ]
- },
- {
- "teal": 318,
- "source": 74,
- "pc": [
- 312,
- 313
- ]
- },
- {
- "teal": 319,
- "source": 74,
- "pc": [
- 314
- ]
- },
- {
- "teal": 320,
- "source": 74,
- "pc": [
- 315,
- 316
- ]
- },
- {
- "teal": 321,
- "source": 74,
- "pc": [
- 317,
- 318
- ]
- },
- {
- "teal": 322,
- "source": 74,
- "pc": [
- 319,
- 320
- ]
- },
- {
- "teal": 323,
- "source": 74,
- "pc": [
- 321
- ]
- },
- {
- "teal": 324,
- "source": 74,
- "pc": [
- 322,
- 323
- ]
- },
- {
- "teal": 325,
- "source": 74,
- "pc": [
- 324
- ]
- },
- {
- "teal": 326,
- "source": 74,
- "pc": [
- 325,
- 326
- ]
- },
- {
- "teal": 327,
- "source": 74,
- "pc": [
- 327
- ]
- },
- {
- "teal": 328,
- "source": 74,
- "pc": [
- 328
- ]
- },
- {
- "teal": 329,
- "source": 74,
- "pc": [
- 329
- ]
- },
- {
- "teal": 330,
- "source": 74,
- "pc": [
- 330,
- 331
- ]
- },
- {
- "teal": 331,
- "source": 74,
- "pc": [
- 332
- ]
- },
- {
- "teal": 332,
- "source": 74,
- "pc": [
- 333
- ]
- },
- {
- "teal": 333,
- "source": 74,
- "pc": [
- 334,
- 335
- ]
- },
- {
- "teal": 334,
- "source": 74,
- "pc": [
- 336,
- 337
- ]
- },
- {
- "teal": 335,
- "source": 74,
- "pc": [
- 338
- ]
- },
- {
- "teal": 336,
- "source": 74,
- "pc": [
- 339
- ]
- },
- {
- "teal": 337,
- "source": 74,
- "pc": [
- 340
- ]
- },
- {
- "teal": 338,
- "source": 74,
- "pc": [
- 341
- ]
- },
- {
- "teal": 339,
- "source": 74,
- "pc": [
- 342
- ]
- },
- {
- "teal": 340,
- "source": 74,
- "pc": [
- 343
- ]
- },
- {
- "teal": 341,
- "source": 74,
- "pc": [
- 344
- ]
- },
- {
- "teal": 344,
- "source": 74,
- "errorMessage": "wideRatio failed",
- "pc": [
- 345
- ]
- },
- {
- "teal": 347,
- "source": 72,
- "pc": [
- 346,
- 347
- ]
- },
- {
- "teal": 348,
- "source": 72,
- "pc": [
- 348
- ]
- },
- {
- "teal": 353,
- "source": 77,
- "pc": [
- 349,
- 350,
- 351
- ]
- },
- {
- "teal": 354,
- "source": 77,
- "pc": [
- 352
- ]
- },
- {
- "teal": 355,
- "source": 77,
- "pc": [
- 353
- ]
- },
- {
- "teal": 356,
- "source": 77,
- "pc": [
- 354,
- 355
- ]
- },
- {
- "teal": 357,
- "source": 77,
- "pc": [
- 356
- ]
- },
- {
- "teal": 360,
- "source": 77,
- "errorMessage": "argument 0 (governor) for set_governor must be a address",
- "pc": [
- 357
- ]
- },
- {
- "teal": 363,
- "source": 77,
- "pc": [
- 358,
- 359,
- 360
- ]
- },
- {
- "teal": 364,
- "source": 77,
- "pc": [
- 361
- ]
- },
- {
- "teal": 365,
- "source": 77,
- "pc": [
- 362
- ]
- },
- {
- "teal": 369,
- "source": 77,
- "pc": [
- 363,
- 364,
- 365
- ]
- },
- {
- "teal": 374,
- "source": 78,
- "pc": [
- 366,
- 367
- ]
- },
- {
- "teal": 375,
- "source": 78,
- "pc": [
- 368
- ]
- },
- {
- "teal": 376,
- "source": 78,
- "pc": [
- 369
- ]
- },
- {
- "teal": 377,
- "source": 78,
- "pc": [
- 370
- ]
- },
- {
- "teal": 380,
- "source": 78,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.governor.value\"}",
- "pc": [
- 371
- ]
- },
- {
- "teal": 384,
- "source": 79,
- "pc": [
- 372
- ]
- },
- {
- "teal": 385,
- "source": 79,
- "pc": [
- 373,
- 374
- ]
- },
- {
- "teal": 386,
- "source": 79,
- "pc": [
- 375
- ]
- },
- {
- "teal": 387,
- "source": 77,
- "pc": [
- 376
- ]
- },
- {
- "teal": 392,
- "source": 82,
- "pc": [
- 377,
- 378,
- 379,
- 380,
- 381,
- 382
- ]
- },
- {
- "teal": 395,
- "source": 82,
- "pc": [
- 383,
- 384,
- 385
- ]
- },
- {
- "teal": 396,
- "source": 82,
- "pc": [
- 386
- ]
- },
- {
- "teal": 399,
- "source": 82,
- "pc": [
- 387,
- 388,
- 389
- ]
- },
- {
- "teal": 400,
- "source": 82,
- "pc": [
- 390
- ]
- },
- {
- "teal": 403,
- "source": 82,
- "pc": [
- 391,
- 392
- ]
- },
- {
- "teal": 404,
- "source": 82,
- "pc": [
- 393
- ]
- },
- {
- "teal": 405,
- "source": 82,
- "pc": [
- 394
- ]
- },
- {
- "teal": 406,
- "source": 82,
- "pc": [
- 395
- ]
- },
- {
- "teal": 407,
- "source": 82,
- "pc": [
- 396,
- 397
- ]
- },
- {
- "teal": 408,
- "source": 82,
- "pc": [
- 398
- ]
- },
- {
- "teal": 409,
- "source": 82,
- "pc": [
- 399
- ]
- },
- {
- "teal": 412,
- "source": 82,
- "errorMessage": "argument 2 (seed) for bootstrap must be a pay transaction",
- "pc": [
- 400
- ]
- },
- {
- "teal": 415,
- "source": 82,
- "pc": [
- 401,
- 402,
- 403
- ]
- },
- {
- "teal": 416,
- "source": 82,
- "pc": [
- 404
- ]
- },
- {
- "teal": 417,
- "source": 82,
- "pc": [
- 405
- ]
- },
- {
- "teal": 418,
- "source": 82,
- "pc": [
- 406
- ]
- },
- {
- "teal": 419,
- "source": 82,
- "pc": [
- 407
- ]
- },
- {
- "teal": 420,
- "source": 82,
- "pc": [
- 408
- ]
- },
- {
- "teal": 424,
- "source": 82,
- "pc": [
- 409,
- 410,
- 411
- ]
- },
- {
- "teal": 429,
- "source": 83,
- "pc": [
- 412,
- 413
- ]
- },
- {
- "teal": 430,
- "source": 83,
- "pc": [
- 414
- ]
- },
- {
- "teal": 431,
- "source": 83,
- "pc": [
- 415
- ]
- },
- {
- "teal": 432,
- "source": 83,
- "pc": [
- 416
- ]
- },
- {
- "teal": 435,
- "source": 83,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.governor.value\"}",
- "pc": [
- 417
- ]
- },
- {
- "teal": 439,
- "source": 85,
- "pc": [
- 418,
- 419
- ]
- },
- {
- "teal": 440,
- "source": 85,
- "pc": [
- 420,
- 421
- ]
- },
- {
- "teal": 441,
- "source": 85,
- "pc": [
- 422
- ]
- },
- {
- "teal": 442,
- "source": 85,
- "pc": [
- 423
- ]
- },
- {
- "teal": 447,
- "source": 87,
- "pc": [
- 424,
- 425
- ]
- },
- {
- "teal": 448,
- "source": 87,
- "pc": [
- 426,
- 427
- ]
- },
- {
- "teal": 449,
- "source": 87,
- "pc": [
- 428,
- 429
- ]
- },
- {
- "teal": 450,
- "source": 87,
- "pc": [
- 430
- ]
- },
- {
- "teal": 453,
- "source": 87,
- "errorMessage": "transaction verification failed: {\"txn\":\"seed\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 431
- ]
- },
- {
- "teal": 456,
- "source": 87,
- "pc": [
- 432,
- 433
- ]
- },
- {
- "teal": 457,
- "source": 87,
- "pc": [
- 434,
- 435
- ]
- },
- {
- "teal": 458,
- "source": 87,
- "pc": [
- 436,
- 437,
- 438,
- 439
- ]
- },
- {
- "teal": 459,
- "source": 87,
- "pc": [
- 440
- ]
- },
- {
- "teal": 462,
- "source": 87,
- "errorMessage": "transaction verification failed: {\"txn\":\"seed\",\"field\":\"amount\",\"condition\":\"greaterThanEqualTo\",\"expected\":\">=300_000\"}",
- "pc": [
- 441
- ]
- },
- {
- "teal": 466,
- "source": 88,
- "pc": [
- 442,
- 443
- ]
- },
- {
- "teal": 467,
- "source": 88,
- "pc": [
- 444,
- 445
- ]
- },
- {
- "teal": 468,
- "source": 88,
- "pc": [
- 446
- ]
- },
- {
- "teal": 469,
- "source": 88,
- "pc": [
- 447
- ]
- },
- {
- "teal": 473,
- "source": 90,
- "pc": [
- 448
- ]
- },
- {
- "teal": 474,
- "source": 90,
- "pc": [
- 449,
- 450
- ]
- },
- {
- "teal": 475,
- "source": 90,
- "pc": [
- 451
- ]
- },
- {
- "teal": 479,
- "source": 91,
- "pc": [
- 452
- ]
- },
- {
- "teal": 480,
- "source": 91,
- "pc": [
- 453,
- 454
- ]
- },
- {
- "teal": 481,
- "source": 91,
- "pc": [
- 455
- ]
- },
- {
- "teal": 485,
- "source": 92,
- "pc": [
- 456,
- 457
- ]
- },
- {
- "teal": 486,
- "source": 92,
- "pc": [
- 458,
- 459
- ]
- },
- {
- "teal": 487,
- "source": 92,
- "pc": [
- 460,
- 461
- ]
- },
- {
- "teal": 488,
- "source": 92,
- "pc": [
- 462,
- 463,
- 464
- ]
- },
- {
- "teal": 489,
- "source": 92,
- "pc": [
- 465
- ]
- },
- {
- "teal": 493,
- "source": 94,
- "pc": [
- 466,
- 467
- ]
- },
- {
- "teal": 494,
- "source": 94,
- "pc": [
- 468,
- 469,
- 470
- ]
- },
- {
- "teal": 498,
- "source": 95,
- "pc": [
- 471,
- 472
- ]
- },
- {
- "teal": 499,
- "source": 95,
- "pc": [
- 473,
- 474,
- 475
- ]
- },
- {
- "teal": 503,
- "source": 97,
- "pc": [
- 476,
- 477
- ]
- },
- {
- "teal": 504,
- "source": 97,
- "pc": [
- 478
- ]
- },
- {
- "teal": 505,
- "source": 82,
- "pc": [
- 479
- ]
- },
- {
- "teal": 510,
- "source": 100,
- "pc": [
- 480,
- 481,
- 482
- ]
- },
- {
- "teal": 511,
- "source": 100,
- "pc": [
- 483
- ]
- },
- {
- "teal": 514,
- "source": 100,
- "pc": [
- 484,
- 485,
- 486
- ]
- },
- {
- "teal": 515,
- "source": 100,
- "pc": [
- 487
- ]
- },
- {
- "teal": 518,
- "source": 100,
- "pc": [
- 488,
- 489,
- 490
- ]
- },
- {
- "teal": 519,
- "source": 100,
- "pc": [
- 491
- ]
- },
- {
- "teal": 522,
- "source": 100,
- "pc": [
- 492,
- 493
- ]
- },
- {
- "teal": 523,
- "source": 100,
- "pc": [
- 494
- ]
- },
- {
- "teal": 524,
- "source": 100,
- "pc": [
- 495
- ]
- },
- {
- "teal": 525,
- "source": 100,
- "pc": [
- 496
- ]
- },
- {
- "teal": 526,
- "source": 100,
- "pc": [
- 497,
- 498
- ]
- },
- {
- "teal": 527,
- "source": 100,
- "pc": [
- 499
- ]
- },
- {
- "teal": 528,
- "source": 100,
- "pc": [
- 500
- ]
- },
- {
- "teal": 531,
- "source": 100,
- "errorMessage": "argument 3 (bXfer) for mint must be a axfer transaction",
- "pc": [
- 501
- ]
- },
- {
- "teal": 534,
- "source": 100,
- "pc": [
- 502,
- 503
- ]
- },
- {
- "teal": 535,
- "source": 100,
- "pc": [
- 504,
- 505
- ]
- },
- {
- "teal": 536,
- "source": 100,
- "pc": [
- 506
- ]
- },
- {
- "teal": 537,
- "source": 100,
- "pc": [
- 507
- ]
- },
- {
- "teal": 538,
- "source": 100,
- "pc": [
- 508,
- 509
- ]
- },
- {
- "teal": 539,
- "source": 100,
- "pc": [
- 510
- ]
- },
- {
- "teal": 540,
- "source": 100,
- "pc": [
- 511
- ]
- },
- {
- "teal": 543,
- "source": 100,
- "errorMessage": "argument 4 (aXfer) for mint must be a axfer transaction",
- "pc": [
- 512
- ]
- },
- {
- "teal": 546,
- "source": 100,
- "pc": [
- 513,
- 514,
- 515
- ]
- },
- {
- "teal": 547,
- "source": 100,
- "pc": [
- 516
- ]
- },
- {
- "teal": 548,
- "source": 100,
- "pc": [
- 517
- ]
- },
- {
- "teal": 552,
- "source": 100,
- "pc": [
- 518,
- 519,
- 520
- ]
- },
- {
- "teal": 555,
- "source": 100,
- "pc": [
- 521
- ]
- },
- {
- "teal": 560,
- "source": 102,
- "pc": [
- 522,
- 523
- ]
- },
- {
- "teal": 561,
- "source": 102,
- "pc": [
- 524
- ]
- },
- {
- "teal": 562,
- "source": 102,
- "pc": [
- 525
- ]
- },
- {
- "teal": 563,
- "source": 102,
- "pc": [
- 526
- ]
- },
- {
- "teal": 564,
- "source": 102,
- "pc": [
- 527
- ]
- },
- {
- "teal": 568,
- "source": 103,
- "pc": [
- 528,
- 529
- ]
- },
- {
- "teal": 569,
- "source": 103,
- "pc": [
- 530
- ]
- },
- {
- "teal": 570,
- "source": 103,
- "pc": [
- 531
- ]
- },
- {
- "teal": 571,
- "source": 103,
- "pc": [
- 532
- ]
- },
- {
- "teal": 572,
- "source": 103,
- "pc": [
- 533
- ]
- },
- {
- "teal": 576,
- "source": 104,
- "pc": [
- 534,
- 535
- ]
- },
- {
- "teal": 577,
- "source": 104,
- "pc": [
- 536,
- 537
- ]
- },
- {
- "teal": 578,
- "source": 104,
- "pc": [
- 538
- ]
- },
- {
- "teal": 579,
- "source": 104,
- "pc": [
- 539
- ]
- },
- {
- "teal": 580,
- "source": 104,
- "pc": [
- 540
- ]
- },
- {
- "teal": 591,
- "source": 107,
- "pc": [
- 541,
- 542
- ]
- },
- {
- "teal": 592,
- "source": 108,
- "pc": [
- 543,
- 544
- ]
- },
- {
- "teal": 593,
- "source": 108,
- "pc": [
- 545,
- 546
- ]
- },
- {
- "teal": 594,
- "source": 108,
- "pc": [
- 547
- ]
- },
- {
- "teal": 597,
- "source": 108,
- "errorMessage": "transaction verification failed: {\"txn\":\"aXfer\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
- "pc": [
- 548
- ]
- },
- {
- "teal": 600,
- "source": 107,
- "pc": [
- 549,
- 550
- ]
- },
- {
- "teal": 601,
- "source": 109,
- "pc": [
- 551,
- 552
- ]
- },
- {
- "teal": 602,
- "source": 109,
- "pc": [
- 553
- ]
- },
- {
- "teal": 603,
- "source": 109,
- "pc": [
- 554
- ]
- },
- {
- "teal": 606,
- "source": 109,
- "errorMessage": "transaction verification failed: {\"txn\":\"aXfer\",\"field\":\"assetAmount\",\"condition\":\"greaterThan\",\"expected\":\">0\"}",
- "pc": [
- 555
- ]
- },
- {
- "teal": 609,
- "source": 107,
- "pc": [
- 556,
- 557
- ]
- },
- {
- "teal": 610,
- "source": 110,
- "pc": [
- 558,
- 559
- ]
- },
- {
- "teal": 611,
- "source": 110,
- "pc": [
- 560,
- 561
- ]
- },
- {
- "teal": 612,
- "source": 110,
- "pc": [
- 562
- ]
- },
- {
- "teal": 615,
- "source": 110,
- "errorMessage": "transaction verification failed: {\"txn\":\"aXfer\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 563
- ]
- },
- {
- "teal": 618,
- "source": 107,
- "pc": [
- 564,
- 565
- ]
- },
- {
- "teal": 619,
- "source": 111,
- "pc": [
- 566,
- 567
- ]
- },
- {
- "teal": 620,
- "source": 111,
- "pc": [
- 568,
- 569
- ]
- },
- {
- "teal": 621,
- "source": 111,
- "pc": [
- 570
- ]
- },
- {
- "teal": 624,
- "source": 111,
- "errorMessage": "transaction verification failed: {\"txn\":\"aXfer\",\"field\":\"xferAsset\",\"expected\":\"aAsset\"}",
- "pc": [
- 571
- ]
- },
- {
- "teal": 635,
- "source": 115,
- "pc": [
- 572,
- 573
- ]
- },
- {
- "teal": 636,
- "source": 116,
- "pc": [
- 574,
- 575
- ]
- },
- {
- "teal": 637,
- "source": 116,
- "pc": [
- 576,
- 577
- ]
- },
- {
- "teal": 638,
- "source": 116,
- "pc": [
- 578
- ]
- },
- {
- "teal": 641,
- "source": 116,
- "errorMessage": "transaction verification failed: {\"txn\":\"bXfer\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
- "pc": [
- 579
- ]
- },
- {
- "teal": 644,
- "source": 115,
- "pc": [
- 580,
- 581
- ]
- },
- {
- "teal": 645,
- "source": 117,
- "pc": [
- 582,
- 583
- ]
- },
- {
- "teal": 646,
- "source": 117,
- "pc": [
- 584
- ]
- },
- {
- "teal": 647,
- "source": 117,
- "pc": [
- 585
- ]
- },
- {
- "teal": 650,
- "source": 117,
- "errorMessage": "transaction verification failed: {\"txn\":\"bXfer\",\"field\":\"assetAmount\",\"condition\":\"greaterThan\",\"expected\":\">0\"}",
- "pc": [
- 586
- ]
- },
- {
- "teal": 653,
- "source": 115,
- "pc": [
- 587,
- 588
- ]
- },
- {
- "teal": 654,
- "source": 118,
- "pc": [
- 589,
- 590
- ]
- },
- {
- "teal": 655,
- "source": 118,
- "pc": [
- 591,
- 592
- ]
- },
- {
- "teal": 656,
- "source": 118,
- "pc": [
- 593
- ]
- },
- {
- "teal": 659,
- "source": 118,
- "errorMessage": "transaction verification failed: {\"txn\":\"bXfer\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 594
- ]
- },
- {
- "teal": 662,
- "source": 115,
- "pc": [
- 595,
- 596
- ]
- },
- {
- "teal": 663,
- "source": 119,
- "pc": [
- 597,
- 598
- ]
- },
- {
- "teal": 664,
- "source": 119,
- "pc": [
- 599,
- 600
- ]
- },
- {
- "teal": 665,
- "source": 119,
- "pc": [
- 601
- ]
- },
- {
- "teal": 668,
- "source": 119,
- "errorMessage": "transaction verification failed: {\"txn\":\"bXfer\",\"field\":\"xferAsset\",\"expected\":\"bAsset\"}",
- "pc": [
- 602
- ]
- },
- {
- "teal": 674,
- "source": 123,
- "pc": [
- 603,
- 604
- ]
- },
- {
- "teal": 675,
- "source": 123,
- "pc": [
- 605,
- 606
- ]
- },
- {
- "teal": 676,
- "source": 123,
- "pc": [
- 607,
- 608
- ]
- },
- {
- "teal": 677,
- "source": 123,
- "pc": [
- 609
- ]
- },
- {
- "teal": 678,
- "source": 123,
- "pc": [
- 610,
- 611
- ]
- },
- {
- "teal": 679,
- "source": 123,
- "pc": [
- 612,
- 613
- ]
- },
- {
- "teal": 680,
- "source": 123,
- "pc": [
- 614
- ]
- },
- {
- "teal": 681,
- "source": 123,
- "pc": [
- 615
- ]
- },
- {
- "teal": 682,
- "source": 123,
- "pc": [
- 616,
- 617,
- 618
- ]
- },
- {
- "teal": 683,
- "source": 124,
- "pc": [
- 619,
- 620
- ]
- },
- {
- "teal": 684,
- "source": 124,
- "pc": [
- 621,
- 622
- ]
- },
- {
- "teal": 685,
- "source": 124,
- "pc": [
- 623,
- 624
- ]
- },
- {
- "teal": 686,
- "source": 124,
- "pc": [
- 625
- ]
- },
- {
- "teal": 687,
- "source": 124,
- "pc": [
- 626,
- 627
- ]
- },
- {
- "teal": 688,
- "source": 124,
- "pc": [
- 628,
- 629
- ]
- },
- {
- "teal": 689,
- "source": 124,
- "pc": [
- 630
- ]
- },
- {
- "teal": 690,
- "source": 123,
- "pc": [
- 631
- ]
- },
- {
- "teal": 693,
- "source": 122,
- "pc": [
- 632,
- 633,
- 634
- ]
- },
- {
- "teal": 698,
- "source": 126,
- "pc": [
- 635,
- 636
- ]
- },
- {
- "teal": 699,
- "source": 126,
- "pc": [
- 637,
- 638
- ]
- },
- {
- "teal": 700,
- "source": 126,
- "pc": [
- 639,
- 640
- ]
- },
- {
- "teal": 701,
- "source": 126,
- "pc": [
- 641,
- 642
- ]
- },
- {
- "teal": 702,
- "source": 126,
- "pc": [
- 643,
- 644,
- 645
- ]
- },
- {
- "teal": 703,
- "source": 122,
- "pc": [
- 646,
- 647,
- 648
- ]
- },
- {
- "teal": 714,
- "source": 133,
- "pc": [
- 649,
- 650
- ]
- },
- {
- "teal": 715,
- "source": 133,
- "pc": [
- 651,
- 652
- ]
- },
- {
- "teal": 716,
- "source": 132,
- "pc": [
- 653,
- 654
- ]
- },
- {
- "teal": 717,
- "source": 132,
- "pc": [
- 655,
- 656
- ]
- },
- {
- "teal": 718,
- "source": 131,
- "pc": [
- 657,
- 658
- ]
- },
- {
- "teal": 719,
- "source": 131,
- "pc": [
- 659,
- 660
- ]
- },
- {
- "teal": 720,
- "source": 131,
- "pc": [
- 661,
- 662
- ]
- },
- {
- "teal": 721,
- "source": 131,
- "pc": [
- 663
- ]
- },
- {
- "teal": 722,
- "source": 131,
- "pc": [
- 664,
- 665
- ]
- },
- {
- "teal": 723,
- "source": 131,
- "pc": [
- 666,
- 667
- ]
- },
- {
- "teal": 724,
- "source": 131,
- "pc": [
- 668
- ]
- },
- {
- "teal": 725,
- "source": 130,
- "pc": [
- 669,
- 670
- ]
- },
- {
- "teal": 726,
- "source": 130,
- "pc": [
- 671,
- 672
- ]
- },
- {
- "teal": 727,
- "source": 130,
- "pc": [
- 673,
- 674
- ]
- },
- {
- "teal": 728,
- "source": 130,
- "pc": [
- 675
- ]
- },
- {
- "teal": 729,
- "source": 130,
- "pc": [
- 676,
- 677
- ]
- },
- {
- "teal": 730,
- "source": 130,
- "pc": [
- 678,
- 679
- ]
- },
- {
- "teal": 731,
- "source": 130,
- "pc": [
- 680
- ]
- },
- {
- "teal": 732,
- "source": 129,
- "pc": [
- 681,
- 682
- ]
- },
- {
- "teal": 733,
- "source": 129,
- "pc": [
- 683,
- 684
- ]
- },
- {
- "teal": 734,
- "source": 129,
- "pc": [
- 685,
- 686
- ]
- },
- {
- "teal": 735,
- "source": 129,
- "pc": [
- 687,
- 688
- ]
- },
- {
- "teal": 736,
- "source": 129,
- "pc": [
- 689
- ]
- },
- {
- "teal": 737,
- "source": 129,
- "pc": [
- 690
- ]
- },
- {
- "teal": 738,
- "source": 128,
- "pc": [
- 691,
- 692,
- 693
- ]
- },
- {
- "teal": 739,
- "source": 128,
- "pc": [
- 694,
- 695
- ]
- },
- {
- "teal": 743,
- "source": 136,
- "pc": [
- 696,
- 697
- ]
- },
- {
- "teal": 744,
- "source": 136,
- "pc": [
- 698
- ]
- },
- {
- "teal": 745,
- "source": 136,
- "pc": [
- 699
- ]
- },
- {
- "teal": 746,
- "source": 136,
- "pc": [
- 700
- ]
- },
- {
- "teal": 750,
- "source": 138,
- "pc": [
- 701,
- 702
- ]
- },
- {
- "teal": 751,
- "source": 138,
- "pc": [
- 703,
- 704
- ]
- },
- {
- "teal": 752,
- "source": 138,
- "pc": [
- 705,
- 706
- ]
- },
- {
- "teal": 753,
- "source": 138,
- "pc": [
- 707,
- 708,
- 709
- ]
- },
- {
- "teal": 756,
- "source": 100,
- "pc": [
- 710
- ]
- },
- {
- "teal": 761,
- "source": 142,
- "pc": [
- 711,
- 712,
- 713
- ]
- },
- {
- "teal": 762,
- "source": 142,
- "pc": [
- 714
- ]
- },
- {
- "teal": 765,
- "source": 142,
- "pc": [
- 715,
- 716,
- 717
- ]
- },
- {
- "teal": 766,
- "source": 142,
- "pc": [
- 718
- ]
- },
- {
- "teal": 769,
- "source": 142,
- "pc": [
- 719,
- 720,
- 721
- ]
- },
- {
- "teal": 770,
- "source": 142,
- "pc": [
- 722
- ]
- },
- {
- "teal": 773,
- "source": 142,
- "pc": [
- 723,
- 724
- ]
- },
- {
- "teal": 774,
- "source": 142,
- "pc": [
- 725
- ]
- },
- {
- "teal": 775,
- "source": 142,
- "pc": [
- 726
- ]
- },
- {
- "teal": 776,
- "source": 142,
- "pc": [
- 727
- ]
- },
- {
- "teal": 777,
- "source": 142,
- "pc": [
- 728,
- 729
- ]
- },
- {
- "teal": 778,
- "source": 142,
- "pc": [
- 730
- ]
- },
- {
- "teal": 779,
- "source": 142,
- "pc": [
- 731
- ]
- },
- {
- "teal": 782,
- "source": 142,
- "errorMessage": "argument 3 (poolXfer) for burn must be a axfer transaction",
- "pc": [
- 732
- ]
- },
- {
- "teal": 785,
- "source": 142,
- "pc": [
- 733,
- 734,
- 735
- ]
- },
- {
- "teal": 786,
- "source": 142,
- "pc": [
- 736
- ]
- },
- {
- "teal": 787,
- "source": 142,
- "pc": [
- 737
- ]
- },
- {
- "teal": 791,
- "source": 142,
- "pc": [
- 738,
- 739,
- 740
- ]
- },
- {
- "teal": 794,
- "source": 142,
- "pc": [
- 741
- ]
- },
- {
- "teal": 795,
- "source": 142,
- "pc": [
- 742,
- 743
- ]
- },
- {
- "teal": 800,
- "source": 144,
- "pc": [
- 744,
- 745
- ]
- },
- {
- "teal": 801,
- "source": 144,
- "pc": [
- 746,
- 747
- ]
- },
- {
- "teal": 802,
- "source": 144,
- "pc": [
- 748
- ]
- },
- {
- "teal": 803,
- "source": 144,
- "pc": [
- 749
- ]
- },
- {
- "teal": 804,
- "source": 144,
- "pc": [
- 750
- ]
- },
- {
- "teal": 808,
- "source": 145,
- "pc": [
- 751,
- 752
- ]
- },
- {
- "teal": 809,
- "source": 145,
- "pc": [
- 753
- ]
- },
- {
- "teal": 810,
- "source": 145,
- "pc": [
- 754
- ]
- },
- {
- "teal": 811,
- "source": 145,
- "pc": [
- 755
- ]
- },
- {
- "teal": 812,
- "source": 145,
- "pc": [
- 756
- ]
- },
- {
- "teal": 816,
- "source": 146,
- "pc": [
- 757,
- 758
- ]
- },
- {
- "teal": 817,
- "source": 146,
- "pc": [
- 759
- ]
- },
- {
- "teal": 818,
- "source": 146,
- "pc": [
- 760
- ]
- },
- {
- "teal": 819,
- "source": 146,
- "pc": [
- 761
- ]
- },
- {
- "teal": 820,
- "source": 146,
- "pc": [
- 762
- ]
- },
- {
- "teal": 831,
- "source": 149,
- "pc": [
- 763,
- 764
- ]
- },
- {
- "teal": 832,
- "source": 150,
- "pc": [
- 765,
- 766
- ]
- },
- {
- "teal": 833,
- "source": 150,
- "pc": [
- 767,
- 768
- ]
- },
- {
- "teal": 834,
- "source": 150,
- "pc": [
- 769
- ]
- },
- {
- "teal": 837,
- "source": 150,
- "errorMessage": "transaction verification failed: {\"txn\":\"poolXfer\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
- "pc": [
- 770
- ]
- },
- {
- "teal": 840,
- "source": 149,
- "pc": [
- 771,
- 772
- ]
- },
- {
- "teal": 841,
- "source": 151,
- "pc": [
- 773,
- 774
- ]
- },
- {
- "teal": 842,
- "source": 151,
- "pc": [
- 775
- ]
- },
- {
- "teal": 843,
- "source": 151,
- "pc": [
- 776
- ]
- },
- {
- "teal": 846,
- "source": 151,
- "errorMessage": "transaction verification failed: {\"txn\":\"poolXfer\",\"field\":\"assetAmount\",\"condition\":\"greaterThan\",\"expected\":\">0\"}",
- "pc": [
- 777
- ]
- },
- {
- "teal": 849,
- "source": 149,
- "pc": [
- 778,
- 779
- ]
- },
- {
- "teal": 850,
- "source": 152,
- "pc": [
- 780,
- 781
- ]
- },
- {
- "teal": 851,
- "source": 152,
- "pc": [
- 782,
- 783
- ]
- },
- {
- "teal": 852,
- "source": 152,
- "pc": [
- 784
- ]
- },
- {
- "teal": 855,
- "source": 152,
- "errorMessage": "transaction verification failed: {\"txn\":\"poolXfer\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 785
- ]
- },
- {
- "teal": 858,
- "source": 149,
- "pc": [
- 786,
- 787
- ]
- },
- {
- "teal": 859,
- "source": 153,
- "pc": [
- 788,
- 789
- ]
- },
- {
- "teal": 860,
- "source": 153,
- "pc": [
- 790,
- 791
- ]
- },
- {
- "teal": 861,
- "source": 153,
- "pc": [
- 792
- ]
- },
- {
- "teal": 864,
- "source": 153,
- "errorMessage": "transaction verification failed: {\"txn\":\"poolXfer\",\"field\":\"xferAsset\",\"expected\":\"poolAsset\"}",
- "pc": [
- 793
- ]
- },
- {
- "teal": 868,
- "source": 156,
- "pc": [
- 794,
- 795
- ]
- },
- {
- "teal": 869,
- "source": 156,
- "pc": [
- 796,
- 797
- ]
- },
- {
- "teal": 870,
- "source": 156,
- "pc": [
- 798,
- 799
- ]
- },
- {
- "teal": 871,
- "source": 156,
- "pc": [
- 800,
- 801
- ]
- },
- {
- "teal": 872,
- "source": 156,
- "pc": [
- 802
- ]
- },
- {
- "teal": 873,
- "source": 156,
- "pc": [
- 803,
- 804
- ]
- },
- {
- "teal": 874,
- "source": 156,
- "pc": [
- 805,
- 806
- ]
- },
- {
- "teal": 875,
- "source": 156,
- "pc": [
- 807
- ]
- },
- {
- "teal": 876,
- "source": 156,
- "pc": [
- 808
- ]
- },
- {
- "teal": 877,
- "source": 156,
- "pc": [
- 809,
- 810
- ]
- },
- {
- "teal": 881,
- "source": 158,
- "pc": [
- 811,
- 812
- ]
- },
- {
- "teal": 882,
- "source": 158,
- "pc": [
- 813,
- 814
- ]
- },
- {
- "teal": 883,
- "source": 158,
- "pc": [
- 815,
- 816
- ]
- },
- {
- "teal": 884,
- "source": 158,
- "pc": [
- 817,
- 818
- ]
- },
- {
- "teal": 885,
- "source": 158,
- "pc": [
- 819,
- 820
- ]
- },
- {
- "teal": 886,
- "source": 158,
- "pc": [
- 821
- ]
- },
- {
- "teal": 887,
- "source": 158,
- "pc": [
- 822,
- 823
- ]
- },
- {
- "teal": 888,
- "source": 158,
- "pc": [
- 824,
- 825,
- 826
- ]
- },
- {
- "teal": 889,
- "source": 158,
- "pc": [
- 827,
- 828
- ]
- },
- {
- "teal": 893,
- "source": 160,
- "pc": [
- 829,
- 830
- ]
- },
- {
- "teal": 894,
- "source": 160,
- "pc": [
- 831,
- 832
- ]
- },
- {
- "teal": 895,
- "source": 160,
- "pc": [
- 833,
- 834
- ]
- },
- {
- "teal": 896,
- "source": 160,
- "pc": [
- 835,
- 836
- ]
- },
- {
- "teal": 897,
- "source": 160,
- "pc": [
- 837,
- 838
- ]
- },
- {
- "teal": 898,
- "source": 160,
- "pc": [
- 839
- ]
- },
- {
- "teal": 899,
- "source": 160,
- "pc": [
- 840,
- 841
- ]
- },
- {
- "teal": 900,
- "source": 160,
- "pc": [
- 842,
- 843,
- 844
- ]
- },
- {
- "teal": 901,
- "source": 160,
- "pc": [
- 845,
- 846
- ]
- },
- {
- "teal": 905,
- "source": 162,
- "pc": [
- 847,
- 848
- ]
- },
- {
- "teal": 906,
- "source": 162,
- "pc": [
- 849,
- 850
- ]
- },
- {
- "teal": 907,
- "source": 162,
- "pc": [
- 851,
- 852
- ]
- },
- {
- "teal": 908,
- "source": 162,
- "pc": [
- 853,
- 854,
- 855
- ]
- },
- {
- "teal": 912,
- "source": 163,
- "pc": [
- 856,
- 857
- ]
- },
- {
- "teal": 913,
- "source": 163,
- "pc": [
- 858,
- 859
- ]
- },
- {
- "teal": 914,
- "source": 163,
- "pc": [
- 860,
- 861
- ]
- },
- {
- "teal": 915,
- "source": 163,
- "pc": [
- 862,
- 863,
- 864
- ]
- },
- {
- "teal": 919,
- "source": 165,
- "pc": [
- 865,
- 866
- ]
- },
- {
- "teal": 920,
- "source": 165,
- "pc": [
- 867,
- 868,
- 869
- ]
- },
- {
- "teal": 921,
- "source": 165,
- "pc": [
- 870
- ]
- },
- {
- "teal": 922,
- "source": 142,
- "pc": [
- 871
- ]
- },
- {
- "teal": 927,
- "source": 168,
- "pc": [
- 872,
- 873,
- 874
- ]
- },
- {
- "teal": 928,
- "source": 168,
- "pc": [
- 875
- ]
- },
- {
- "teal": 931,
- "source": 168,
- "pc": [
- 876,
- 877,
- 878
- ]
- },
- {
- "teal": 932,
- "source": 168,
- "pc": [
- 879
- ]
- },
- {
- "teal": 935,
- "source": 168,
- "pc": [
- 880,
- 881
- ]
- },
- {
- "teal": 936,
- "source": 168,
- "pc": [
- 882
- ]
- },
- {
- "teal": 937,
- "source": 168,
- "pc": [
- 883
- ]
- },
- {
- "teal": 938,
- "source": 168,
- "pc": [
- 884
- ]
- },
- {
- "teal": 939,
- "source": 168,
- "pc": [
- 885,
- 886
- ]
- },
- {
- "teal": 940,
- "source": 168,
- "pc": [
- 887
- ]
- },
- {
- "teal": 941,
- "source": 168,
- "pc": [
- 888
- ]
- },
- {
- "teal": 944,
- "source": 168,
- "errorMessage": "argument 2 (swapXfer) for swap must be a axfer transaction",
- "pc": [
- 889
- ]
- },
- {
- "teal": 947,
- "source": 168,
- "pc": [
- 890,
- 891,
- 892
- ]
- },
- {
- "teal": 948,
- "source": 168,
- "pc": [
- 893
- ]
- },
- {
- "teal": 949,
- "source": 168,
- "pc": [
- 894
- ]
- },
- {
- "teal": 953,
- "source": 168,
- "pc": [
- 895,
- 896,
- 897
- ]
- },
- {
- "teal": 956,
- "source": 168,
- "pc": [
- 898
- ]
- },
- {
- "teal": 957,
- "source": 168,
- "pc": [
- 899,
- 900
- ]
- },
- {
- "teal": 962,
- "source": 170,
- "pc": [
- 901,
- 902
- ]
- },
- {
- "teal": 963,
- "source": 170,
- "pc": [
- 903
- ]
- },
- {
- "teal": 964,
- "source": 170,
- "pc": [
- 904
- ]
- },
- {
- "teal": 965,
- "source": 170,
- "pc": [
- 905
- ]
- },
- {
- "teal": 966,
- "source": 170,
- "pc": [
- 906
- ]
- },
- {
- "teal": 970,
- "source": 171,
- "pc": [
- 907,
- 908
- ]
- },
- {
- "teal": 971,
- "source": 171,
- "pc": [
- 909
- ]
- },
- {
- "teal": 972,
- "source": 171,
- "pc": [
- 910
- ]
- },
- {
- "teal": 973,
- "source": 171,
- "pc": [
- 911
- ]
- },
- {
- "teal": 974,
- "source": 171,
- "pc": [
- 912
- ]
- },
- {
- "teal": 984,
- "source": 173,
- "pc": [
- 913,
- 914
- ]
- },
- {
- "teal": 985,
- "source": 174,
- "pc": [
- 915,
- 916
- ]
- },
- {
- "teal": 986,
- "source": 174,
- "pc": [
- 917
- ]
- },
- {
- "teal": 987,
- "source": 174,
- "pc": [
- 918
- ]
- },
- {
- "teal": 990,
- "source": 174,
- "errorMessage": "transaction verification failed: {\"txn\":\"swapXfer\",\"field\":\"assetAmount\",\"condition\":\"greaterThan\",\"expected\":\">0\"}",
- "pc": [
- 919
- ]
- },
- {
- "teal": 993,
- "source": 173,
- "pc": [
- 920,
- 921
- ]
- },
- {
- "teal": 994,
- "source": 175,
- "pc": [
- 922,
- 923
- ]
- },
- {
- "teal": 995,
- "source": 175,
- "pc": [
- 924,
- 925
- ]
- },
- {
- "teal": 996,
- "source": 175,
- "pc": [
- 926
- ]
- },
- {
- "teal": 999,
- "source": 175,
- "errorMessage": "transaction verification failed: {\"txn\":\"swapXfer\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 927
- ]
- },
- {
- "teal": 1002,
- "source": 173,
- "pc": [
- 928,
- 929
- ]
- },
- {
- "teal": 1003,
- "source": 176,
- "pc": [
- 930,
- 931
- ]
- },
- {
- "teal": 1004,
- "source": 176,
- "pc": [
- 932,
- 933
- ]
- },
- {
- "teal": 1005,
- "source": 176,
- "pc": [
- 934
- ]
- },
- {
- "teal": 1008,
- "source": 176,
- "errorMessage": "transaction verification failed: {\"txn\":\"swapXfer\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
- "pc": [
- 935
- ]
- },
- {
- "teal": 1011,
- "source": 173,
- "pc": [
- 936,
- 937
- ]
- },
- {
- "teal": 1012,
- "source": 177,
- "pc": [
- 938,
- 939
- ]
- },
- {
- "teal": 1013,
- "source": 177,
- "pc": [
- 940,
- 941
- ]
- },
- {
- "teal": 1014,
- "source": 177,
- "pc": [
- 942
- ]
- },
- {
- "teal": 1015,
- "source": 173,
- "pc": [
- 943,
- 944
- ]
- },
- {
- "teal": 1016,
- "source": 177,
- "pc": [
- 945,
- 946
- ]
- },
- {
- "teal": 1017,
- "source": 177,
- "pc": [
- 947,
- 948
- ]
- },
- {
- "teal": 1018,
- "source": 177,
- "pc": [
- 949
- ]
- },
- {
- "teal": 1019,
- "source": 177,
- "pc": [
- 950
- ]
- },
- {
- "teal": 1022,
- "source": 177,
- "errorMessage": "transaction verification failed: {\"txn\":{\"txnText\":\"swapXfer\"},\"field\":\"xferAsset\",\"condition\":\"includedIn\",\"expected\":\"[aAsset, bAsset]\"}",
- "pc": [
- 951
- ]
- },
- {
- "teal": 1026,
- "source": 180,
- "pc": [
- 952,
- 953
- ]
- },
- {
- "teal": 1027,
- "source": 180,
- "pc": [
- 954,
- 955
- ]
- },
- {
- "teal": 1028,
- "source": 180,
- "pc": [
- 956,
- 957
- ]
- },
- {
- "teal": 1029,
- "source": 180,
- "pc": [
- 958
- ]
- },
- {
- "teal": 1030,
- "source": 180,
- "pc": [
- 959,
- 960,
- 961
- ]
- },
- {
- "teal": 1031,
- "source": 180,
- "pc": [
- 962,
- 963
- ]
- },
- {
- "teal": 1032,
- "source": 180,
- "pc": [
- 964,
- 965,
- 966
- ]
- },
- {
- "teal": 1035,
- "source": 180,
- "pc": [
- 967,
- 968
- ]
- },
- {
- "teal": 1038,
- "source": 180,
- "pc": [
- 969,
- 970
- ]
- },
- {
- "teal": 1042,
- "source": 182,
- "pc": [
- 971,
- 972
- ]
- },
- {
- "teal": 1043,
- "source": 182,
- "pc": [
- 973,
- 974
- ]
- },
- {
- "teal": 1044,
- "source": 182,
- "pc": [
- 975,
- 976
- ]
- },
- {
- "teal": 1052,
- "source": 187,
- "pc": [
- 977,
- 978
- ]
- },
- {
- "teal": 1053,
- "source": 187,
- "pc": [
- 979,
- 980
- ]
- },
- {
- "teal": 1054,
- "source": 187,
- "pc": [
- 981,
- 982
- ]
- },
- {
- "teal": 1055,
- "source": 187,
- "pc": [
- 983
- ]
- },
- {
- "teal": 1056,
- "source": 186,
- "pc": [
- 984,
- 985
- ]
- },
- {
- "teal": 1057,
- "source": 186,
- "pc": [
- 986,
- 987
- ]
- },
- {
- "teal": 1058,
- "source": 186,
- "pc": [
- 988,
- 989
- ]
- },
- {
- "teal": 1059,
- "source": 186,
- "pc": [
- 990
- ]
- },
- {
- "teal": 1060,
- "source": 186,
- "pc": [
- 991,
- 992
- ]
- },
- {
- "teal": 1061,
- "source": 186,
- "pc": [
- 993,
- 994
- ]
- },
- {
- "teal": 1062,
- "source": 186,
- "pc": [
- 995
- ]
- },
- {
- "teal": 1063,
- "source": 185,
- "pc": [
- 996,
- 997
- ]
- },
- {
- "teal": 1064,
- "source": 185,
- "pc": [
- 998,
- 999
- ]
- },
- {
- "teal": 1065,
- "source": 184,
- "pc": [
- 1000,
- 1001,
- 1002
- ]
- },
- {
- "teal": 1066,
- "source": 184,
- "pc": [
- 1003,
- 1004
- ]
- },
- {
- "teal": 1070,
- "source": 190,
- "pc": [
- 1005,
- 1006
- ]
- },
- {
- "teal": 1071,
- "source": 190,
- "pc": [
- 1007
- ]
- },
- {
- "teal": 1072,
- "source": 190,
- "pc": [
- 1008
- ]
- },
- {
- "teal": 1073,
- "source": 190,
- "pc": [
- 1009
- ]
- },
- {
- "teal": 1077,
- "source": 192,
- "pc": [
- 1010,
- 1011
- ]
- },
- {
- "teal": 1078,
- "source": 192,
- "pc": [
- 1012,
- 1013
- ]
- },
- {
- "teal": 1079,
- "source": 192,
- "pc": [
- 1014,
- 1015
- ]
- },
- {
- "teal": 1080,
- "source": 192,
- "pc": [
- 1016,
- 1017,
- 1018
- ]
- },
- {
- "teal": 1084,
- "source": 194,
- "pc": [
- 1019,
- 1020
- ]
- },
- {
- "teal": 1085,
- "source": 194,
- "pc": [
- 1021,
- 1022,
- 1023
- ]
- },
- {
- "teal": 1086,
- "source": 194,
- "pc": [
- 1024
- ]
- },
- {
- "teal": 1087,
- "source": 168,
- "pc": [
- 1025
- ]
- },
- {
- "teal": 1090,
- "source": 8,
- "pc": [
- 1026,
- 1027,
- 1028,
- 1029,
- 1030,
- 1031
- ]
- },
- {
- "teal": 1091,
- "source": 8,
- "pc": [
- 1032,
- 1033,
- 1034
- ]
- },
- {
- "teal": 1092,
- "source": 8,
- "pc": [
- 1035,
- 1036,
- 1037,
- 1038
- ]
- },
- {
- "teal": 1095,
- "source": 8,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 1039
- ]
- },
- {
- "teal": 1098,
- "source": 8,
- "pc": [
- 1040,
- 1041,
- 1042,
- 1043,
- 1044,
- 1045
- ]
- },
- {
- "teal": 1099,
- "source": 8,
- "pc": [
- 1046,
- 1047,
- 1048,
- 1049,
- 1050,
- 1051
- ]
- },
- {
- "teal": 1100,
- "source": 8,
- "pc": [
- 1052,
- 1053,
- 1054,
- 1055,
- 1056,
- 1057
- ]
- },
- {
- "teal": 1101,
- "source": 8,
- "pc": [
- 1058,
- 1059,
- 1060,
- 1061,
- 1062,
- 1063
- ]
- },
- {
- "teal": 1102,
- "source": 8,
- "pc": [
- 1064,
- 1065,
- 1066,
- 1067,
- 1068,
- 1069
- ]
- },
- {
- "teal": 1103,
- "source": 8,
- "pc": [
- 1070,
- 1071,
- 1072
- ]
- },
- {
- "teal": 1104,
- "source": 8,
- "pc": [
- 1073,
- 1074,
- 1075,
- 1076,
- 1077,
- 1078,
- 1079,
- 1080,
- 1081,
- 1082,
- 1083,
- 1084
- ]
- },
- {
- "teal": 1107,
- "source": 8,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 1085
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 8,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 8,
+ "pc": [
+ 28,
+ 29
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 8,
+ "pc": [
+ 30
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 8,
+ "pc": [
+ 31,
+ 32
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 8,
+ "pc": [
+ 33
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 8,
+ "pc": [
+ 34,
+ 35
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 8,
+ "pc": [
+ 36
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 8,
+ "pc": [
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 8,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 19,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 19,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 19,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 19,
+ "pc": [
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 20,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 20,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 20,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 19,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 23,
+ "pc": [
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 26,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 26,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 26,
+ "pc": [
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 27,
+ "pc": [
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 27,
+ "pc": [
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 27,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 27,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 27,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 27,
+ "pc": [
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 27,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 27,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 27,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 27,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 27,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 27,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 28,
+ "pc": [
+ 109,
+ 110,
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 28,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 29,
+ "pc": [
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 29,
+ "pc": [
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 30,
+ "pc": [
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 30,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 31,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 31,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 32,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 32,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 26,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 26,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 26,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 26,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 23,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 36,
+ "pc": [
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 37,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 37,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 37,
+ "pc": [
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 38,
+ "pc": [
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 38,
+ "pc": [
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 39,
+ "pc": [
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 39,
+ "pc": [
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 40,
+ "pc": [
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 40,
+ "pc": [
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 37,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 37,
+ "pc": [
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 37,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 36,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 44,
+ "pc": [
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 45,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 45,
+ "pc": [
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 45,
+ "pc": [
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 45,
+ "pc": [
+ 171,
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 44,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 48,
+ "pc": [
+ 175,
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 49,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 49,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 49,
+ "pc": [
+ 182
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 49,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 48,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 52,
+ "pc": [
+ 185,
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 52,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 52,
+ "pc": [
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 53,
+ "pc": [
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 53,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 53,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 53,
+ "pc": [
+ 195
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 53,
+ "pc": [
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 53,
+ "pc": [
+ 198
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 53,
+ "pc": [
+ 199
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 53,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 53,
+ "pc": [
+ 201
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 53,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 53,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 53,
+ "pc": [
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 54,
+ "pc": [
+ 206,
+ 207
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 54,
+ "pc": [
+ 208
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 54,
+ "pc": [
+ 209
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 54,
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 54,
+ "pc": [
+ 211,
+ 212
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 54,
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 54,
+ "pc": [
+ 214
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 54,
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 54,
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 54,
+ "pc": [
+ 217
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 54,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 218
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 54,
+ "pc": [
+ 219,
+ 220
+ ]
+ },
+ {
+ "teal": 214,
+ "source": 56,
+ "pc": [
+ 221,
+ 222
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 56,
+ "pc": [
+ 223,
+ 224
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 56,
+ "pc": [
+ 225
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 56,
+ "pc": [
+ 226,
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 56,
+ "pc": [
+ 229,
+ 230
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 56,
+ "pc": [
+ 231,
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 222,
+ "source": 56,
+ "pc": [
+ 234,
+ 235
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 56,
+ "pc": [
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 58,
+ "pc": [
+ 238,
+ 239
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 58,
+ "pc": [
+ 240,
+ 241
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 58,
+ "pc": [
+ 242
+ ]
+ },
+ {
+ "teal": 232,
+ "source": 58,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 58,
+ "pc": [
+ 244
+ ]
+ },
+ {
+ "teal": 234,
+ "source": 58,
+ "pc": [
+ 245
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 58,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 58,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 58,
+ "pc": [
+ 248
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 58,
+ "pc": [
+ 249
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 58,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 250
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 52,
+ "pc": [
+ 251,
+ 252
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 52,
+ "pc": [
+ 253,
+ 254
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 52,
+ "pc": [
+ 255
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 61,
+ "pc": [
+ 256,
+ 257,
+ 258
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 63,
+ "pc": [
+ 259,
+ 260
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 63,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 63,
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 63,
+ "pc": [
+ 263,
+ 264
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 63,
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 63,
+ "pc": [
+ 266
+ ]
+ },
+ {
+ "teal": 265,
+ "source": 62,
+ "pc": [
+ 267
+ ]
+ },
+ {
+ "teal": 266,
+ "source": 62,
+ "pc": [
+ 268
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 64,
+ "pc": [
+ 269,
+ 270
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 64,
+ "pc": [
+ 271
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 64,
+ "pc": [
+ 272
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 64,
+ "pc": [
+ 273,
+ 274
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 64,
+ "pc": [
+ 275
+ ]
+ },
+ {
+ "teal": 272,
+ "source": 62,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 273,
+ "source": 62,
+ "pc": [
+ 277
+ ]
+ },
+ {
+ "teal": 274,
+ "source": 62,
+ "pc": [
+ 278
+ ]
+ },
+ {
+ "teal": 275,
+ "source": 62,
+ "pc": [
+ 279
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 62,
+ "pc": [
+ 280
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 62,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 281
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 61,
+ "pc": [
+ 282
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 68,
+ "pc": [
+ 283,
+ 284,
+ 285
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 69,
+ "pc": [
+ 286,
+ 287
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 69,
+ "pc": [
+ 288,
+ 289
+ ]
+ },
+ {
+ "teal": 290,
+ "source": 69,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 291,
+ "source": 69,
+ "pc": [
+ 291
+ ]
+ },
+ {
+ "teal": 292,
+ "source": 69,
+ "pc": [
+ 292,
+ 293
+ ]
+ },
+ {
+ "teal": 293,
+ "source": 69,
+ "pc": [
+ 294
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 69,
+ "pc": [
+ 295
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 69,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 69,
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 69,
+ "pc": [
+ 298
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 69,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 299
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 68,
+ "pc": [
+ 300
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 72,
+ "pc": [
+ 301,
+ 302,
+ 303
+ ]
+ },
+ {
+ "teal": 308,
+ "source": 72,
+ "pc": [
+ 304
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 73,
+ "pc": [
+ 305,
+ 306,
+ 307
+ ]
+ },
+ {
+ "teal": 313,
+ "source": 73,
+ "pc": [
+ 308,
+ 309
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 74,
+ "pc": [
+ 310,
+ 311
+ ]
+ },
+ {
+ "teal": 318,
+ "source": 74,
+ "pc": [
+ 312,
+ 313
+ ]
+ },
+ {
+ "teal": 319,
+ "source": 74,
+ "pc": [
+ 314
+ ]
+ },
+ {
+ "teal": 320,
+ "source": 74,
+ "pc": [
+ 315,
+ 316
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 74,
+ "pc": [
+ 317,
+ 318
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 74,
+ "pc": [
+ 319,
+ 320
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 74,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 324,
+ "source": 74,
+ "pc": [
+ 322,
+ 323
+ ]
+ },
+ {
+ "teal": 325,
+ "source": 74,
+ "pc": [
+ 324
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 74,
+ "pc": [
+ 325,
+ 326
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 74,
+ "pc": [
+ 327
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 74,
+ "pc": [
+ 328
+ ]
+ },
+ {
+ "teal": 329,
+ "source": 74,
+ "pc": [
+ 329
+ ]
+ },
+ {
+ "teal": 330,
+ "source": 74,
+ "pc": [
+ 330,
+ 331
+ ]
+ },
+ {
+ "teal": 331,
+ "source": 74,
+ "pc": [
+ 332
+ ]
+ },
+ {
+ "teal": 332,
+ "source": 74,
+ "pc": [
+ 333
+ ]
+ },
+ {
+ "teal": 333,
+ "source": 74,
+ "pc": [
+ 334,
+ 335
+ ]
+ },
+ {
+ "teal": 334,
+ "source": 74,
+ "pc": [
+ 336,
+ 337
+ ]
+ },
+ {
+ "teal": 335,
+ "source": 74,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 336,
+ "source": 74,
+ "pc": [
+ 339
+ ]
+ },
+ {
+ "teal": 337,
+ "source": 74,
+ "pc": [
+ 340
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 74,
+ "pc": [
+ 341
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 74,
+ "pc": [
+ 342
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 74,
+ "pc": [
+ 343
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 74,
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 344,
+ "source": 74,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 345
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 72,
+ "pc": [
+ 346,
+ 347
+ ]
+ },
+ {
+ "teal": 348,
+ "source": 72,
+ "pc": [
+ 348
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 77,
+ "pc": [
+ 349,
+ 350,
+ 351
+ ]
+ },
+ {
+ "teal": 354,
+ "source": 77,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 77,
+ "pc": [
+ 353
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 77,
+ "pc": [
+ 354,
+ 355
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 77,
+ "pc": [
+ 356
+ ]
+ },
+ {
+ "teal": 360,
+ "source": 77,
+ "errorMessage": "argument 0 (governor) for set_governor must be a address",
+ "pc": [
+ 357
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 77,
+ "pc": [
+ 358,
+ 359,
+ 360
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 77,
+ "pc": [
+ 361
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 77,
+ "pc": [
+ 362
+ ]
+ },
+ {
+ "teal": 369,
+ "source": 77,
+ "pc": [
+ 363,
+ 364,
+ 365
+ ]
+ },
+ {
+ "teal": 374,
+ "source": 78,
+ "pc": [
+ 366,
+ 367
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 78,
+ "pc": [
+ 368
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 78,
+ "pc": [
+ 369
+ ]
+ },
+ {
+ "teal": 377,
+ "source": 78,
+ "pc": [
+ 370
+ ]
+ },
+ {
+ "teal": 380,
+ "source": 78,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.governor.value\"}",
+ "pc": [
+ 371
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 79,
+ "pc": [
+ 372
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 79,
+ "pc": [
+ 373,
+ 374
+ ]
+ },
+ {
+ "teal": 386,
+ "source": 79,
+ "pc": [
+ 375
+ ]
+ },
+ {
+ "teal": 387,
+ "source": 77,
+ "pc": [
+ 376
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 82,
+ "pc": [
+ 377,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382
+ ]
+ },
+ {
+ "teal": 395,
+ "source": 82,
+ "pc": [
+ 383,
+ 384,
+ 385
+ ]
+ },
+ {
+ "teal": 396,
+ "source": 82,
+ "pc": [
+ 386
+ ]
+ },
+ {
+ "teal": 399,
+ "source": 82,
+ "pc": [
+ 387,
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 400,
+ "source": 82,
+ "pc": [
+ 390
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 82,
+ "pc": [
+ 391,
+ 392
+ ]
+ },
+ {
+ "teal": 404,
+ "source": 82,
+ "pc": [
+ 393
+ ]
+ },
+ {
+ "teal": 405,
+ "source": 82,
+ "pc": [
+ 394
+ ]
+ },
+ {
+ "teal": 406,
+ "source": 82,
+ "pc": [
+ 395
+ ]
+ },
+ {
+ "teal": 407,
+ "source": 82,
+ "pc": [
+ 396,
+ 397
+ ]
+ },
+ {
+ "teal": 408,
+ "source": 82,
+ "pc": [
+ 398
+ ]
+ },
+ {
+ "teal": 409,
+ "source": 82,
+ "pc": [
+ 399
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 82,
+ "errorMessage": "argument 2 (seed) for bootstrap must be a pay transaction",
+ "pc": [
+ 400
+ ]
+ },
+ {
+ "teal": 415,
+ "source": 82,
+ "pc": [
+ 401,
+ 402,
+ 403
+ ]
+ },
+ {
+ "teal": 416,
+ "source": 82,
+ "pc": [
+ 404
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 82,
+ "pc": [
+ 405
+ ]
+ },
+ {
+ "teal": 418,
+ "source": 82,
+ "pc": [
+ 406
+ ]
+ },
+ {
+ "teal": 419,
+ "source": 82,
+ "pc": [
+ 407
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 82,
+ "pc": [
+ 408
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 82,
+ "pc": [
+ 409,
+ 410,
+ 411
+ ]
+ },
+ {
+ "teal": 429,
+ "source": 83,
+ "pc": [
+ 412,
+ 413
+ ]
+ },
+ {
+ "teal": 430,
+ "source": 83,
+ "pc": [
+ 414
+ ]
+ },
+ {
+ "teal": 431,
+ "source": 83,
+ "pc": [
+ 415
+ ]
+ },
+ {
+ "teal": 432,
+ "source": 83,
+ "pc": [
+ 416
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 83,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.governor.value\"}",
+ "pc": [
+ 417
+ ]
+ },
+ {
+ "teal": 439,
+ "source": 85,
+ "pc": [
+ 418,
+ 419
+ ]
+ },
+ {
+ "teal": 440,
+ "source": 85,
+ "pc": [
+ 420,
+ 421
+ ]
+ },
+ {
+ "teal": 441,
+ "source": 85,
+ "pc": [
+ 422
+ ]
+ },
+ {
+ "teal": 442,
+ "source": 85,
+ "pc": [
+ 423
+ ]
+ },
+ {
+ "teal": 447,
+ "source": 87,
+ "pc": [
+ 424,
+ 425
+ ]
+ },
+ {
+ "teal": 448,
+ "source": 87,
+ "pc": [
+ 426,
+ 427
+ ]
+ },
+ {
+ "teal": 449,
+ "source": 87,
+ "pc": [
+ 428,
+ 429
+ ]
+ },
+ {
+ "teal": 450,
+ "source": 87,
+ "pc": [
+ 430
+ ]
+ },
+ {
+ "teal": 453,
+ "source": 87,
+ "errorMessage": "transaction verification failed: {\"txn\":\"seed\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 431
+ ]
+ },
+ {
+ "teal": 456,
+ "source": 87,
+ "pc": [
+ 432,
+ 433
+ ]
+ },
+ {
+ "teal": 457,
+ "source": 87,
+ "pc": [
+ 434,
+ 435
+ ]
+ },
+ {
+ "teal": 458,
+ "source": 87,
+ "pc": [
+ 436,
+ 437,
+ 438,
+ 439
+ ]
+ },
+ {
+ "teal": 459,
+ "source": 87,
+ "pc": [
+ 440
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 87,
+ "errorMessage": "transaction verification failed: {\"txn\":\"seed\",\"field\":\"amount\",\"condition\":\"greaterThanEqualTo\",\"expected\":\">=300_000\"}",
+ "pc": [
+ 441
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 88,
+ "pc": [
+ 442,
+ 443
+ ]
+ },
+ {
+ "teal": 467,
+ "source": 88,
+ "pc": [
+ 444,
+ 445
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 88,
+ "pc": [
+ 446
+ ]
+ },
+ {
+ "teal": 469,
+ "source": 88,
+ "pc": [
+ 447
+ ]
+ },
+ {
+ "teal": 473,
+ "source": 90,
+ "pc": [
+ 448
+ ]
+ },
+ {
+ "teal": 474,
+ "source": 90,
+ "pc": [
+ 449,
+ 450
+ ]
+ },
+ {
+ "teal": 475,
+ "source": 90,
+ "pc": [
+ 451
+ ]
+ },
+ {
+ "teal": 479,
+ "source": 91,
+ "pc": [
+ 452
+ ]
+ },
+ {
+ "teal": 480,
+ "source": 91,
+ "pc": [
+ 453,
+ 454
+ ]
+ },
+ {
+ "teal": 481,
+ "source": 91,
+ "pc": [
+ 455
+ ]
+ },
+ {
+ "teal": 485,
+ "source": 92,
+ "pc": [
+ 456,
+ 457
+ ]
+ },
+ {
+ "teal": 486,
+ "source": 92,
+ "pc": [
+ 458,
+ 459
+ ]
+ },
+ {
+ "teal": 487,
+ "source": 92,
+ "pc": [
+ 460,
+ 461
+ ]
+ },
+ {
+ "teal": 488,
+ "source": 92,
+ "pc": [
+ 462,
+ 463,
+ 464
+ ]
+ },
+ {
+ "teal": 489,
+ "source": 92,
+ "pc": [
+ 465
+ ]
+ },
+ {
+ "teal": 493,
+ "source": 94,
+ "pc": [
+ 466,
+ 467
+ ]
+ },
+ {
+ "teal": 494,
+ "source": 94,
+ "pc": [
+ 468,
+ 469,
+ 470
+ ]
+ },
+ {
+ "teal": 498,
+ "source": 95,
+ "pc": [
+ 471,
+ 472
+ ]
+ },
+ {
+ "teal": 499,
+ "source": 95,
+ "pc": [
+ 473,
+ 474,
+ 475
+ ]
+ },
+ {
+ "teal": 503,
+ "source": 97,
+ "pc": [
+ 476,
+ 477
+ ]
+ },
+ {
+ "teal": 504,
+ "source": 97,
+ "pc": [
+ 478
+ ]
+ },
+ {
+ "teal": 505,
+ "source": 82,
+ "pc": [
+ 479
+ ]
+ },
+ {
+ "teal": 510,
+ "source": 100,
+ "pc": [
+ 480,
+ 481,
+ 482
+ ]
+ },
+ {
+ "teal": 511,
+ "source": 100,
+ "pc": [
+ 483
+ ]
+ },
+ {
+ "teal": 514,
+ "source": 100,
+ "pc": [
+ 484,
+ 485,
+ 486
+ ]
+ },
+ {
+ "teal": 515,
+ "source": 100,
+ "pc": [
+ 487
+ ]
+ },
+ {
+ "teal": 518,
+ "source": 100,
+ "pc": [
+ 488,
+ 489,
+ 490
+ ]
+ },
+ {
+ "teal": 519,
+ "source": 100,
+ "pc": [
+ 491
+ ]
+ },
+ {
+ "teal": 522,
+ "source": 100,
+ "pc": [
+ 492,
+ 493
+ ]
+ },
+ {
+ "teal": 523,
+ "source": 100,
+ "pc": [
+ 494
+ ]
+ },
+ {
+ "teal": 524,
+ "source": 100,
+ "pc": [
+ 495
+ ]
+ },
+ {
+ "teal": 525,
+ "source": 100,
+ "pc": [
+ 496
+ ]
+ },
+ {
+ "teal": 526,
+ "source": 100,
+ "pc": [
+ 497,
+ 498
+ ]
+ },
+ {
+ "teal": 527,
+ "source": 100,
+ "pc": [
+ 499
+ ]
+ },
+ {
+ "teal": 528,
+ "source": 100,
+ "pc": [
+ 500
+ ]
+ },
+ {
+ "teal": 531,
+ "source": 100,
+ "errorMessage": "argument 3 (bXfer) for mint must be a axfer transaction",
+ "pc": [
+ 501
+ ]
+ },
+ {
+ "teal": 534,
+ "source": 100,
+ "pc": [
+ 502,
+ 503
+ ]
+ },
+ {
+ "teal": 535,
+ "source": 100,
+ "pc": [
+ 504,
+ 505
+ ]
+ },
+ {
+ "teal": 536,
+ "source": 100,
+ "pc": [
+ 506
+ ]
+ },
+ {
+ "teal": 537,
+ "source": 100,
+ "pc": [
+ 507
+ ]
+ },
+ {
+ "teal": 538,
+ "source": 100,
+ "pc": [
+ 508,
+ 509
+ ]
+ },
+ {
+ "teal": 539,
+ "source": 100,
+ "pc": [
+ 510
+ ]
+ },
+ {
+ "teal": 540,
+ "source": 100,
+ "pc": [
+ 511
+ ]
+ },
+ {
+ "teal": 543,
+ "source": 100,
+ "errorMessage": "argument 4 (aXfer) for mint must be a axfer transaction",
+ "pc": [
+ 512
+ ]
+ },
+ {
+ "teal": 546,
+ "source": 100,
+ "pc": [
+ 513,
+ 514,
+ 515
+ ]
+ },
+ {
+ "teal": 547,
+ "source": 100,
+ "pc": [
+ 516
+ ]
+ },
+ {
+ "teal": 548,
+ "source": 100,
+ "pc": [
+ 517
+ ]
+ },
+ {
+ "teal": 552,
+ "source": 100,
+ "pc": [
+ 518,
+ 519,
+ 520
+ ]
+ },
+ {
+ "teal": 555,
+ "source": 100,
+ "pc": [
+ 521
+ ]
+ },
+ {
+ "teal": 560,
+ "source": 102,
+ "pc": [
+ 522,
+ 523
+ ]
+ },
+ {
+ "teal": 561,
+ "source": 102,
+ "pc": [
+ 524
+ ]
+ },
+ {
+ "teal": 562,
+ "source": 102,
+ "pc": [
+ 525
+ ]
+ },
+ {
+ "teal": 563,
+ "source": 102,
+ "pc": [
+ 526
+ ]
+ },
+ {
+ "teal": 564,
+ "source": 102,
+ "pc": [
+ 527
+ ]
+ },
+ {
+ "teal": 568,
+ "source": 103,
+ "pc": [
+ 528,
+ 529
+ ]
+ },
+ {
+ "teal": 569,
+ "source": 103,
+ "pc": [
+ 530
+ ]
+ },
+ {
+ "teal": 570,
+ "source": 103,
+ "pc": [
+ 531
+ ]
+ },
+ {
+ "teal": 571,
+ "source": 103,
+ "pc": [
+ 532
+ ]
+ },
+ {
+ "teal": 572,
+ "source": 103,
+ "pc": [
+ 533
+ ]
+ },
+ {
+ "teal": 576,
+ "source": 104,
+ "pc": [
+ 534,
+ 535
+ ]
+ },
+ {
+ "teal": 577,
+ "source": 104,
+ "pc": [
+ 536,
+ 537
+ ]
+ },
+ {
+ "teal": 578,
+ "source": 104,
+ "pc": [
+ 538
+ ]
+ },
+ {
+ "teal": 579,
+ "source": 104,
+ "pc": [
+ 539
+ ]
+ },
+ {
+ "teal": 580,
+ "source": 104,
+ "pc": [
+ 540
+ ]
+ },
+ {
+ "teal": 591,
+ "source": 107,
+ "pc": [
+ 541,
+ 542
+ ]
+ },
+ {
+ "teal": 592,
+ "source": 108,
+ "pc": [
+ 543,
+ 544
+ ]
+ },
+ {
+ "teal": 593,
+ "source": 108,
+ "pc": [
+ 545,
+ 546
+ ]
+ },
+ {
+ "teal": 594,
+ "source": 108,
+ "pc": [
+ 547
+ ]
+ },
+ {
+ "teal": 597,
+ "source": 108,
+ "errorMessage": "transaction verification failed: {\"txn\":\"aXfer\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
+ "pc": [
+ 548
+ ]
+ },
+ {
+ "teal": 600,
+ "source": 107,
+ "pc": [
+ 549,
+ 550
+ ]
+ },
+ {
+ "teal": 601,
+ "source": 109,
+ "pc": [
+ 551,
+ 552
+ ]
+ },
+ {
+ "teal": 602,
+ "source": 109,
+ "pc": [
+ 553
+ ]
+ },
+ {
+ "teal": 603,
+ "source": 109,
+ "pc": [
+ 554
+ ]
+ },
+ {
+ "teal": 606,
+ "source": 109,
+ "errorMessage": "transaction verification failed: {\"txn\":\"aXfer\",\"field\":\"assetAmount\",\"condition\":\"greaterThan\",\"expected\":\">0\"}",
+ "pc": [
+ 555
+ ]
+ },
+ {
+ "teal": 609,
+ "source": 107,
+ "pc": [
+ 556,
+ 557
+ ]
+ },
+ {
+ "teal": 610,
+ "source": 110,
+ "pc": [
+ 558,
+ 559
+ ]
+ },
+ {
+ "teal": 611,
+ "source": 110,
+ "pc": [
+ 560,
+ 561
+ ]
+ },
+ {
+ "teal": 612,
+ "source": 110,
+ "pc": [
+ 562
+ ]
+ },
+ {
+ "teal": 615,
+ "source": 110,
+ "errorMessage": "transaction verification failed: {\"txn\":\"aXfer\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 563
+ ]
+ },
+ {
+ "teal": 618,
+ "source": 107,
+ "pc": [
+ 564,
+ 565
+ ]
+ },
+ {
+ "teal": 619,
+ "source": 111,
+ "pc": [
+ 566,
+ 567
+ ]
+ },
+ {
+ "teal": 620,
+ "source": 111,
+ "pc": [
+ 568,
+ 569
+ ]
+ },
+ {
+ "teal": 621,
+ "source": 111,
+ "pc": [
+ 570
+ ]
+ },
+ {
+ "teal": 624,
+ "source": 111,
+ "errorMessage": "transaction verification failed: {\"txn\":\"aXfer\",\"field\":\"xferAsset\",\"expected\":\"aAsset\"}",
+ "pc": [
+ 571
+ ]
+ },
+ {
+ "teal": 635,
+ "source": 115,
+ "pc": [
+ 572,
+ 573
+ ]
+ },
+ {
+ "teal": 636,
+ "source": 116,
+ "pc": [
+ 574,
+ 575
+ ]
+ },
+ {
+ "teal": 637,
+ "source": 116,
+ "pc": [
+ 576,
+ 577
+ ]
+ },
+ {
+ "teal": 638,
+ "source": 116,
+ "pc": [
+ 578
+ ]
+ },
+ {
+ "teal": 641,
+ "source": 116,
+ "errorMessage": "transaction verification failed: {\"txn\":\"bXfer\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
+ "pc": [
+ 579
+ ]
+ },
+ {
+ "teal": 644,
+ "source": 115,
+ "pc": [
+ 580,
+ 581
+ ]
+ },
+ {
+ "teal": 645,
+ "source": 117,
+ "pc": [
+ 582,
+ 583
+ ]
+ },
+ {
+ "teal": 646,
+ "source": 117,
+ "pc": [
+ 584
+ ]
+ },
+ {
+ "teal": 647,
+ "source": 117,
+ "pc": [
+ 585
+ ]
+ },
+ {
+ "teal": 650,
+ "source": 117,
+ "errorMessage": "transaction verification failed: {\"txn\":\"bXfer\",\"field\":\"assetAmount\",\"condition\":\"greaterThan\",\"expected\":\">0\"}",
+ "pc": [
+ 586
+ ]
+ },
+ {
+ "teal": 653,
+ "source": 115,
+ "pc": [
+ 587,
+ 588
+ ]
+ },
+ {
+ "teal": 654,
+ "source": 118,
+ "pc": [
+ 589,
+ 590
+ ]
+ },
+ {
+ "teal": 655,
+ "source": 118,
+ "pc": [
+ 591,
+ 592
+ ]
+ },
+ {
+ "teal": 656,
+ "source": 118,
+ "pc": [
+ 593
+ ]
+ },
+ {
+ "teal": 659,
+ "source": 118,
+ "errorMessage": "transaction verification failed: {\"txn\":\"bXfer\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 594
+ ]
+ },
+ {
+ "teal": 662,
+ "source": 115,
+ "pc": [
+ 595,
+ 596
+ ]
+ },
+ {
+ "teal": 663,
+ "source": 119,
+ "pc": [
+ 597,
+ 598
+ ]
+ },
+ {
+ "teal": 664,
+ "source": 119,
+ "pc": [
+ 599,
+ 600
+ ]
+ },
+ {
+ "teal": 665,
+ "source": 119,
+ "pc": [
+ 601
+ ]
+ },
+ {
+ "teal": 668,
+ "source": 119,
+ "errorMessage": "transaction verification failed: {\"txn\":\"bXfer\",\"field\":\"xferAsset\",\"expected\":\"bAsset\"}",
+ "pc": [
+ 602
+ ]
+ },
+ {
+ "teal": 674,
+ "source": 123,
+ "pc": [
+ 603,
+ 604
+ ]
+ },
+ {
+ "teal": 675,
+ "source": 123,
+ "pc": [
+ 605,
+ 606
+ ]
+ },
+ {
+ "teal": 676,
+ "source": 123,
+ "pc": [
+ 607,
+ 608
+ ]
+ },
+ {
+ "teal": 677,
+ "source": 123,
+ "pc": [
+ 609
+ ]
+ },
+ {
+ "teal": 678,
+ "source": 123,
+ "pc": [
+ 610,
+ 611
+ ]
+ },
+ {
+ "teal": 679,
+ "source": 123,
+ "pc": [
+ 612,
+ 613
+ ]
+ },
+ {
+ "teal": 680,
+ "source": 123,
+ "pc": [
+ 614
+ ]
+ },
+ {
+ "teal": 681,
+ "source": 123,
+ "pc": [
+ 615
+ ]
+ },
+ {
+ "teal": 682,
+ "source": 123,
+ "pc": [
+ 616,
+ 617,
+ 618
+ ]
+ },
+ {
+ "teal": 683,
+ "source": 124,
+ "pc": [
+ 619,
+ 620
+ ]
+ },
+ {
+ "teal": 684,
+ "source": 124,
+ "pc": [
+ 621,
+ 622
+ ]
+ },
+ {
+ "teal": 685,
+ "source": 124,
+ "pc": [
+ 623,
+ 624
+ ]
+ },
+ {
+ "teal": 686,
+ "source": 124,
+ "pc": [
+ 625
+ ]
+ },
+ {
+ "teal": 687,
+ "source": 124,
+ "pc": [
+ 626,
+ 627
+ ]
+ },
+ {
+ "teal": 688,
+ "source": 124,
+ "pc": [
+ 628,
+ 629
+ ]
+ },
+ {
+ "teal": 689,
+ "source": 124,
+ "pc": [
+ 630
+ ]
+ },
+ {
+ "teal": 690,
+ "source": 123,
+ "pc": [
+ 631
+ ]
+ },
+ {
+ "teal": 693,
+ "source": 122,
+ "pc": [
+ 632,
+ 633,
+ 634
+ ]
+ },
+ {
+ "teal": 698,
+ "source": 126,
+ "pc": [
+ 635,
+ 636
+ ]
+ },
+ {
+ "teal": 699,
+ "source": 126,
+ "pc": [
+ 637,
+ 638
+ ]
+ },
+ {
+ "teal": 700,
+ "source": 126,
+ "pc": [
+ 639,
+ 640
+ ]
+ },
+ {
+ "teal": 701,
+ "source": 126,
+ "pc": [
+ 641,
+ 642
+ ]
+ },
+ {
+ "teal": 702,
+ "source": 126,
+ "pc": [
+ 643,
+ 644,
+ 645
+ ]
+ },
+ {
+ "teal": 703,
+ "source": 122,
+ "pc": [
+ 646,
+ 647,
+ 648
+ ]
+ },
+ {
+ "teal": 714,
+ "source": 133,
+ "pc": [
+ 649,
+ 650
+ ]
+ },
+ {
+ "teal": 715,
+ "source": 133,
+ "pc": [
+ 651,
+ 652
+ ]
+ },
+ {
+ "teal": 716,
+ "source": 132,
+ "pc": [
+ 653,
+ 654
+ ]
+ },
+ {
+ "teal": 717,
+ "source": 132,
+ "pc": [
+ 655,
+ 656
+ ]
+ },
+ {
+ "teal": 718,
+ "source": 131,
+ "pc": [
+ 657,
+ 658
+ ]
+ },
+ {
+ "teal": 719,
+ "source": 131,
+ "pc": [
+ 659,
+ 660
+ ]
+ },
+ {
+ "teal": 720,
+ "source": 131,
+ "pc": [
+ 661,
+ 662
+ ]
+ },
+ {
+ "teal": 721,
+ "source": 131,
+ "pc": [
+ 663
+ ]
+ },
+ {
+ "teal": 722,
+ "source": 131,
+ "pc": [
+ 664,
+ 665
+ ]
+ },
+ {
+ "teal": 723,
+ "source": 131,
+ "pc": [
+ 666,
+ 667
+ ]
+ },
+ {
+ "teal": 724,
+ "source": 131,
+ "pc": [
+ 668
+ ]
+ },
+ {
+ "teal": 725,
+ "source": 130,
+ "pc": [
+ 669,
+ 670
+ ]
+ },
+ {
+ "teal": 726,
+ "source": 130,
+ "pc": [
+ 671,
+ 672
+ ]
+ },
+ {
+ "teal": 727,
+ "source": 130,
+ "pc": [
+ 673,
+ 674
+ ]
+ },
+ {
+ "teal": 728,
+ "source": 130,
+ "pc": [
+ 675
+ ]
+ },
+ {
+ "teal": 729,
+ "source": 130,
+ "pc": [
+ 676,
+ 677
+ ]
+ },
+ {
+ "teal": 730,
+ "source": 130,
+ "pc": [
+ 678,
+ 679
+ ]
+ },
+ {
+ "teal": 731,
+ "source": 130,
+ "pc": [
+ 680
+ ]
+ },
+ {
+ "teal": 732,
+ "source": 129,
+ "pc": [
+ 681,
+ 682
+ ]
+ },
+ {
+ "teal": 733,
+ "source": 129,
+ "pc": [
+ 683,
+ 684
+ ]
+ },
+ {
+ "teal": 734,
+ "source": 129,
+ "pc": [
+ 685,
+ 686
+ ]
+ },
+ {
+ "teal": 735,
+ "source": 129,
+ "pc": [
+ 687,
+ 688
+ ]
+ },
+ {
+ "teal": 736,
+ "source": 129,
+ "pc": [
+ 689
+ ]
+ },
+ {
+ "teal": 737,
+ "source": 129,
+ "pc": [
+ 690
+ ]
+ },
+ {
+ "teal": 738,
+ "source": 128,
+ "pc": [
+ 691,
+ 692,
+ 693
+ ]
+ },
+ {
+ "teal": 739,
+ "source": 128,
+ "pc": [
+ 694,
+ 695
+ ]
+ },
+ {
+ "teal": 743,
+ "source": 136,
+ "pc": [
+ 696,
+ 697
+ ]
+ },
+ {
+ "teal": 744,
+ "source": 136,
+ "pc": [
+ 698
+ ]
+ },
+ {
+ "teal": 745,
+ "source": 136,
+ "pc": [
+ 699
+ ]
+ },
+ {
+ "teal": 746,
+ "source": 136,
+ "pc": [
+ 700
+ ]
+ },
+ {
+ "teal": 750,
+ "source": 138,
+ "pc": [
+ 701,
+ 702
+ ]
+ },
+ {
+ "teal": 751,
+ "source": 138,
+ "pc": [
+ 703,
+ 704
+ ]
+ },
+ {
+ "teal": 752,
+ "source": 138,
+ "pc": [
+ 705,
+ 706
+ ]
+ },
+ {
+ "teal": 753,
+ "source": 138,
+ "pc": [
+ 707,
+ 708,
+ 709
+ ]
+ },
+ {
+ "teal": 756,
+ "source": 100,
+ "pc": [
+ 710
+ ]
+ },
+ {
+ "teal": 761,
+ "source": 142,
+ "pc": [
+ 711,
+ 712,
+ 713
+ ]
+ },
+ {
+ "teal": 762,
+ "source": 142,
+ "pc": [
+ 714
+ ]
+ },
+ {
+ "teal": 765,
+ "source": 142,
+ "pc": [
+ 715,
+ 716,
+ 717
+ ]
+ },
+ {
+ "teal": 766,
+ "source": 142,
+ "pc": [
+ 718
+ ]
+ },
+ {
+ "teal": 769,
+ "source": 142,
+ "pc": [
+ 719,
+ 720,
+ 721
+ ]
+ },
+ {
+ "teal": 770,
+ "source": 142,
+ "pc": [
+ 722
+ ]
+ },
+ {
+ "teal": 773,
+ "source": 142,
+ "pc": [
+ 723,
+ 724
+ ]
+ },
+ {
+ "teal": 774,
+ "source": 142,
+ "pc": [
+ 725
+ ]
+ },
+ {
+ "teal": 775,
+ "source": 142,
+ "pc": [
+ 726
+ ]
+ },
+ {
+ "teal": 776,
+ "source": 142,
+ "pc": [
+ 727
+ ]
+ },
+ {
+ "teal": 777,
+ "source": 142,
+ "pc": [
+ 728,
+ 729
+ ]
+ },
+ {
+ "teal": 778,
+ "source": 142,
+ "pc": [
+ 730
+ ]
+ },
+ {
+ "teal": 779,
+ "source": 142,
+ "pc": [
+ 731
+ ]
+ },
+ {
+ "teal": 782,
+ "source": 142,
+ "errorMessage": "argument 3 (poolXfer) for burn must be a axfer transaction",
+ "pc": [
+ 732
+ ]
+ },
+ {
+ "teal": 785,
+ "source": 142,
+ "pc": [
+ 733,
+ 734,
+ 735
+ ]
+ },
+ {
+ "teal": 786,
+ "source": 142,
+ "pc": [
+ 736
+ ]
+ },
+ {
+ "teal": 787,
+ "source": 142,
+ "pc": [
+ 737
+ ]
+ },
+ {
+ "teal": 791,
+ "source": 142,
+ "pc": [
+ 738,
+ 739,
+ 740
+ ]
+ },
+ {
+ "teal": 794,
+ "source": 142,
+ "pc": [
+ 741
+ ]
+ },
+ {
+ "teal": 795,
+ "source": 142,
+ "pc": [
+ 742,
+ 743
+ ]
+ },
+ {
+ "teal": 800,
+ "source": 144,
+ "pc": [
+ 744,
+ 745
+ ]
+ },
+ {
+ "teal": 801,
+ "source": 144,
+ "pc": [
+ 746,
+ 747
+ ]
+ },
+ {
+ "teal": 802,
+ "source": 144,
+ "pc": [
+ 748
+ ]
+ },
+ {
+ "teal": 803,
+ "source": 144,
+ "pc": [
+ 749
+ ]
+ },
+ {
+ "teal": 804,
+ "source": 144,
+ "pc": [
+ 750
+ ]
+ },
+ {
+ "teal": 808,
+ "source": 145,
+ "pc": [
+ 751,
+ 752
+ ]
+ },
+ {
+ "teal": 809,
+ "source": 145,
+ "pc": [
+ 753
+ ]
+ },
+ {
+ "teal": 810,
+ "source": 145,
+ "pc": [
+ 754
+ ]
+ },
+ {
+ "teal": 811,
+ "source": 145,
+ "pc": [
+ 755
+ ]
+ },
+ {
+ "teal": 812,
+ "source": 145,
+ "pc": [
+ 756
+ ]
+ },
+ {
+ "teal": 816,
+ "source": 146,
+ "pc": [
+ 757,
+ 758
+ ]
+ },
+ {
+ "teal": 817,
+ "source": 146,
+ "pc": [
+ 759
+ ]
+ },
+ {
+ "teal": 818,
+ "source": 146,
+ "pc": [
+ 760
+ ]
+ },
+ {
+ "teal": 819,
+ "source": 146,
+ "pc": [
+ 761
+ ]
+ },
+ {
+ "teal": 820,
+ "source": 146,
+ "pc": [
+ 762
+ ]
+ },
+ {
+ "teal": 831,
+ "source": 149,
+ "pc": [
+ 763,
+ 764
+ ]
+ },
+ {
+ "teal": 832,
+ "source": 150,
+ "pc": [
+ 765,
+ 766
+ ]
+ },
+ {
+ "teal": 833,
+ "source": 150,
+ "pc": [
+ 767,
+ 768
+ ]
+ },
+ {
+ "teal": 834,
+ "source": 150,
+ "pc": [
+ 769
+ ]
+ },
+ {
+ "teal": 837,
+ "source": 150,
+ "errorMessage": "transaction verification failed: {\"txn\":\"poolXfer\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
+ "pc": [
+ 770
+ ]
+ },
+ {
+ "teal": 840,
+ "source": 149,
+ "pc": [
+ 771,
+ 772
+ ]
+ },
+ {
+ "teal": 841,
+ "source": 151,
+ "pc": [
+ 773,
+ 774
+ ]
+ },
+ {
+ "teal": 842,
+ "source": 151,
+ "pc": [
+ 775
+ ]
+ },
+ {
+ "teal": 843,
+ "source": 151,
+ "pc": [
+ 776
+ ]
+ },
+ {
+ "teal": 846,
+ "source": 151,
+ "errorMessage": "transaction verification failed: {\"txn\":\"poolXfer\",\"field\":\"assetAmount\",\"condition\":\"greaterThan\",\"expected\":\">0\"}",
+ "pc": [
+ 777
+ ]
+ },
+ {
+ "teal": 849,
+ "source": 149,
+ "pc": [
+ 778,
+ 779
+ ]
+ },
+ {
+ "teal": 850,
+ "source": 152,
+ "pc": [
+ 780,
+ 781
+ ]
+ },
+ {
+ "teal": 851,
+ "source": 152,
+ "pc": [
+ 782,
+ 783
+ ]
+ },
+ {
+ "teal": 852,
+ "source": 152,
+ "pc": [
+ 784
+ ]
+ },
+ {
+ "teal": 855,
+ "source": 152,
+ "errorMessage": "transaction verification failed: {\"txn\":\"poolXfer\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 785
+ ]
+ },
+ {
+ "teal": 858,
+ "source": 149,
+ "pc": [
+ 786,
+ 787
+ ]
+ },
+ {
+ "teal": 859,
+ "source": 153,
+ "pc": [
+ 788,
+ 789
+ ]
+ },
+ {
+ "teal": 860,
+ "source": 153,
+ "pc": [
+ 790,
+ 791
+ ]
+ },
+ {
+ "teal": 861,
+ "source": 153,
+ "pc": [
+ 792
+ ]
+ },
+ {
+ "teal": 864,
+ "source": 153,
+ "errorMessage": "transaction verification failed: {\"txn\":\"poolXfer\",\"field\":\"xferAsset\",\"expected\":\"poolAsset\"}",
+ "pc": [
+ 793
+ ]
+ },
+ {
+ "teal": 868,
+ "source": 156,
+ "pc": [
+ 794,
+ 795
+ ]
+ },
+ {
+ "teal": 869,
+ "source": 156,
+ "pc": [
+ 796,
+ 797
+ ]
+ },
+ {
+ "teal": 870,
+ "source": 156,
+ "pc": [
+ 798,
+ 799
+ ]
+ },
+ {
+ "teal": 871,
+ "source": 156,
+ "pc": [
+ 800,
+ 801
+ ]
+ },
+ {
+ "teal": 872,
+ "source": 156,
+ "pc": [
+ 802
+ ]
+ },
+ {
+ "teal": 873,
+ "source": 156,
+ "pc": [
+ 803,
+ 804
+ ]
+ },
+ {
+ "teal": 874,
+ "source": 156,
+ "pc": [
+ 805,
+ 806
+ ]
+ },
+ {
+ "teal": 875,
+ "source": 156,
+ "pc": [
+ 807
+ ]
+ },
+ {
+ "teal": 876,
+ "source": 156,
+ "pc": [
+ 808
+ ]
+ },
+ {
+ "teal": 877,
+ "source": 156,
+ "pc": [
+ 809,
+ 810
+ ]
+ },
+ {
+ "teal": 881,
+ "source": 158,
+ "pc": [
+ 811,
+ 812
+ ]
+ },
+ {
+ "teal": 882,
+ "source": 158,
+ "pc": [
+ 813,
+ 814
+ ]
+ },
+ {
+ "teal": 883,
+ "source": 158,
+ "pc": [
+ 815,
+ 816
+ ]
+ },
+ {
+ "teal": 884,
+ "source": 158,
+ "pc": [
+ 817,
+ 818
+ ]
+ },
+ {
+ "teal": 885,
+ "source": 158,
+ "pc": [
+ 819,
+ 820
+ ]
+ },
+ {
+ "teal": 886,
+ "source": 158,
+ "pc": [
+ 821
+ ]
+ },
+ {
+ "teal": 887,
+ "source": 158,
+ "pc": [
+ 822,
+ 823
+ ]
+ },
+ {
+ "teal": 888,
+ "source": 158,
+ "pc": [
+ 824,
+ 825,
+ 826
+ ]
+ },
+ {
+ "teal": 889,
+ "source": 158,
+ "pc": [
+ 827,
+ 828
+ ]
+ },
+ {
+ "teal": 893,
+ "source": 160,
+ "pc": [
+ 829,
+ 830
+ ]
+ },
+ {
+ "teal": 894,
+ "source": 160,
+ "pc": [
+ 831,
+ 832
+ ]
+ },
+ {
+ "teal": 895,
+ "source": 160,
+ "pc": [
+ 833,
+ 834
+ ]
+ },
+ {
+ "teal": 896,
+ "source": 160,
+ "pc": [
+ 835,
+ 836
+ ]
+ },
+ {
+ "teal": 897,
+ "source": 160,
+ "pc": [
+ 837,
+ 838
+ ]
+ },
+ {
+ "teal": 898,
+ "source": 160,
+ "pc": [
+ 839
+ ]
+ },
+ {
+ "teal": 899,
+ "source": 160,
+ "pc": [
+ 840,
+ 841
+ ]
+ },
+ {
+ "teal": 900,
+ "source": 160,
+ "pc": [
+ 842,
+ 843,
+ 844
+ ]
+ },
+ {
+ "teal": 901,
+ "source": 160,
+ "pc": [
+ 845,
+ 846
+ ]
+ },
+ {
+ "teal": 905,
+ "source": 162,
+ "pc": [
+ 847,
+ 848
+ ]
+ },
+ {
+ "teal": 906,
+ "source": 162,
+ "pc": [
+ 849,
+ 850
+ ]
+ },
+ {
+ "teal": 907,
+ "source": 162,
+ "pc": [
+ 851,
+ 852
+ ]
+ },
+ {
+ "teal": 908,
+ "source": 162,
+ "pc": [
+ 853,
+ 854,
+ 855
+ ]
+ },
+ {
+ "teal": 912,
+ "source": 163,
+ "pc": [
+ 856,
+ 857
+ ]
+ },
+ {
+ "teal": 913,
+ "source": 163,
+ "pc": [
+ 858,
+ 859
+ ]
+ },
+ {
+ "teal": 914,
+ "source": 163,
+ "pc": [
+ 860,
+ 861
+ ]
+ },
+ {
+ "teal": 915,
+ "source": 163,
+ "pc": [
+ 862,
+ 863,
+ 864
+ ]
+ },
+ {
+ "teal": 919,
+ "source": 165,
+ "pc": [
+ 865,
+ 866
+ ]
+ },
+ {
+ "teal": 920,
+ "source": 165,
+ "pc": [
+ 867,
+ 868,
+ 869
+ ]
+ },
+ {
+ "teal": 921,
+ "source": 165,
+ "pc": [
+ 870
+ ]
+ },
+ {
+ "teal": 922,
+ "source": 142,
+ "pc": [
+ 871
+ ]
+ },
+ {
+ "teal": 927,
+ "source": 168,
+ "pc": [
+ 872,
+ 873,
+ 874
+ ]
+ },
+ {
+ "teal": 928,
+ "source": 168,
+ "pc": [
+ 875
+ ]
+ },
+ {
+ "teal": 931,
+ "source": 168,
+ "pc": [
+ 876,
+ 877,
+ 878
+ ]
+ },
+ {
+ "teal": 932,
+ "source": 168,
+ "pc": [
+ 879
+ ]
+ },
+ {
+ "teal": 935,
+ "source": 168,
+ "pc": [
+ 880,
+ 881
+ ]
+ },
+ {
+ "teal": 936,
+ "source": 168,
+ "pc": [
+ 882
+ ]
+ },
+ {
+ "teal": 937,
+ "source": 168,
+ "pc": [
+ 883
+ ]
+ },
+ {
+ "teal": 938,
+ "source": 168,
+ "pc": [
+ 884
+ ]
+ },
+ {
+ "teal": 939,
+ "source": 168,
+ "pc": [
+ 885,
+ 886
+ ]
+ },
+ {
+ "teal": 940,
+ "source": 168,
+ "pc": [
+ 887
+ ]
+ },
+ {
+ "teal": 941,
+ "source": 168,
+ "pc": [
+ 888
+ ]
+ },
+ {
+ "teal": 944,
+ "source": 168,
+ "errorMessage": "argument 2 (swapXfer) for swap must be a axfer transaction",
+ "pc": [
+ 889
+ ]
+ },
+ {
+ "teal": 947,
+ "source": 168,
+ "pc": [
+ 890,
+ 891,
+ 892
+ ]
+ },
+ {
+ "teal": 948,
+ "source": 168,
+ "pc": [
+ 893
+ ]
+ },
+ {
+ "teal": 949,
+ "source": 168,
+ "pc": [
+ 894
+ ]
+ },
+ {
+ "teal": 953,
+ "source": 168,
+ "pc": [
+ 895,
+ 896,
+ 897
+ ]
+ },
+ {
+ "teal": 956,
+ "source": 168,
+ "pc": [
+ 898
+ ]
+ },
+ {
+ "teal": 957,
+ "source": 168,
+ "pc": [
+ 899,
+ 900
+ ]
+ },
+ {
+ "teal": 962,
+ "source": 170,
+ "pc": [
+ 901,
+ 902
+ ]
+ },
+ {
+ "teal": 963,
+ "source": 170,
+ "pc": [
+ 903
+ ]
+ },
+ {
+ "teal": 964,
+ "source": 170,
+ "pc": [
+ 904
+ ]
+ },
+ {
+ "teal": 965,
+ "source": 170,
+ "pc": [
+ 905
+ ]
+ },
+ {
+ "teal": 966,
+ "source": 170,
+ "pc": [
+ 906
+ ]
+ },
+ {
+ "teal": 970,
+ "source": 171,
+ "pc": [
+ 907,
+ 908
+ ]
+ },
+ {
+ "teal": 971,
+ "source": 171,
+ "pc": [
+ 909
+ ]
+ },
+ {
+ "teal": 972,
+ "source": 171,
+ "pc": [
+ 910
+ ]
+ },
+ {
+ "teal": 973,
+ "source": 171,
+ "pc": [
+ 911
+ ]
+ },
+ {
+ "teal": 974,
+ "source": 171,
+ "pc": [
+ 912
+ ]
+ },
+ {
+ "teal": 984,
+ "source": 173,
+ "pc": [
+ 913,
+ 914
+ ]
+ },
+ {
+ "teal": 985,
+ "source": 174,
+ "pc": [
+ 915,
+ 916
+ ]
+ },
+ {
+ "teal": 986,
+ "source": 174,
+ "pc": [
+ 917
+ ]
+ },
+ {
+ "teal": 987,
+ "source": 174,
+ "pc": [
+ 918
+ ]
+ },
+ {
+ "teal": 990,
+ "source": 174,
+ "errorMessage": "transaction verification failed: {\"txn\":\"swapXfer\",\"field\":\"assetAmount\",\"condition\":\"greaterThan\",\"expected\":\">0\"}",
+ "pc": [
+ 919
+ ]
+ },
+ {
+ "teal": 993,
+ "source": 173,
+ "pc": [
+ 920,
+ 921
+ ]
+ },
+ {
+ "teal": 994,
+ "source": 175,
+ "pc": [
+ 922,
+ 923
+ ]
+ },
+ {
+ "teal": 995,
+ "source": 175,
+ "pc": [
+ 924,
+ 925
+ ]
+ },
+ {
+ "teal": 996,
+ "source": 175,
+ "pc": [
+ 926
+ ]
+ },
+ {
+ "teal": 999,
+ "source": 175,
+ "errorMessage": "transaction verification failed: {\"txn\":\"swapXfer\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 927
+ ]
+ },
+ {
+ "teal": 1002,
+ "source": 173,
+ "pc": [
+ 928,
+ 929
+ ]
+ },
+ {
+ "teal": 1003,
+ "source": 176,
+ "pc": [
+ 930,
+ 931
+ ]
+ },
+ {
+ "teal": 1004,
+ "source": 176,
+ "pc": [
+ 932,
+ 933
+ ]
+ },
+ {
+ "teal": 1005,
+ "source": 176,
+ "pc": [
+ 934
+ ]
+ },
+ {
+ "teal": 1008,
+ "source": 176,
+ "errorMessage": "transaction verification failed: {\"txn\":\"swapXfer\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
+ "pc": [
+ 935
+ ]
+ },
+ {
+ "teal": 1011,
+ "source": 173,
+ "pc": [
+ 936,
+ 937
+ ]
+ },
+ {
+ "teal": 1012,
+ "source": 177,
+ "pc": [
+ 938,
+ 939
+ ]
+ },
+ {
+ "teal": 1013,
+ "source": 177,
+ "pc": [
+ 940,
+ 941
+ ]
+ },
+ {
+ "teal": 1014,
+ "source": 177,
+ "pc": [
+ 942
+ ]
+ },
+ {
+ "teal": 1015,
+ "source": 173,
+ "pc": [
+ 943,
+ 944
+ ]
+ },
+ {
+ "teal": 1016,
+ "source": 177,
+ "pc": [
+ 945,
+ 946
+ ]
+ },
+ {
+ "teal": 1017,
+ "source": 177,
+ "pc": [
+ 947,
+ 948
+ ]
+ },
+ {
+ "teal": 1018,
+ "source": 177,
+ "pc": [
+ 949
+ ]
+ },
+ {
+ "teal": 1019,
+ "source": 177,
+ "pc": [
+ 950
+ ]
+ },
+ {
+ "teal": 1022,
+ "source": 177,
+ "errorMessage": "transaction verification failed: {\"txn\":{\"txnText\":\"swapXfer\"},\"field\":\"xferAsset\",\"condition\":\"includedIn\",\"expected\":\"[aAsset, bAsset]\"}",
+ "pc": [
+ 951
+ ]
+ },
+ {
+ "teal": 1026,
+ "source": 180,
+ "pc": [
+ 952,
+ 953
+ ]
+ },
+ {
+ "teal": 1027,
+ "source": 180,
+ "pc": [
+ 954,
+ 955
+ ]
+ },
+ {
+ "teal": 1028,
+ "source": 180,
+ "pc": [
+ 956,
+ 957
+ ]
+ },
+ {
+ "teal": 1029,
+ "source": 180,
+ "pc": [
+ 958
+ ]
+ },
+ {
+ "teal": 1030,
+ "source": 180,
+ "pc": [
+ 959,
+ 960,
+ 961
+ ]
+ },
+ {
+ "teal": 1031,
+ "source": 180,
+ "pc": [
+ 962,
+ 963
+ ]
+ },
+ {
+ "teal": 1032,
+ "source": 180,
+ "pc": [
+ 964,
+ 965,
+ 966
+ ]
+ },
+ {
+ "teal": 1035,
+ "source": 180,
+ "pc": [
+ 967,
+ 968
+ ]
+ },
+ {
+ "teal": 1038,
+ "source": 180,
+ "pc": [
+ 969,
+ 970
+ ]
+ },
+ {
+ "teal": 1042,
+ "source": 182,
+ "pc": [
+ 971,
+ 972
+ ]
+ },
+ {
+ "teal": 1043,
+ "source": 182,
+ "pc": [
+ 973,
+ 974
+ ]
+ },
+ {
+ "teal": 1044,
+ "source": 182,
+ "pc": [
+ 975,
+ 976
+ ]
+ },
+ {
+ "teal": 1052,
+ "source": 187,
+ "pc": [
+ 977,
+ 978
+ ]
+ },
+ {
+ "teal": 1053,
+ "source": 187,
+ "pc": [
+ 979,
+ 980
+ ]
+ },
+ {
+ "teal": 1054,
+ "source": 187,
+ "pc": [
+ 981,
+ 982
+ ]
+ },
+ {
+ "teal": 1055,
+ "source": 187,
+ "pc": [
+ 983
+ ]
+ },
+ {
+ "teal": 1056,
+ "source": 186,
+ "pc": [
+ 984,
+ 985
+ ]
+ },
+ {
+ "teal": 1057,
+ "source": 186,
+ "pc": [
+ 986,
+ 987
+ ]
+ },
+ {
+ "teal": 1058,
+ "source": 186,
+ "pc": [
+ 988,
+ 989
+ ]
+ },
+ {
+ "teal": 1059,
+ "source": 186,
+ "pc": [
+ 990
+ ]
+ },
+ {
+ "teal": 1060,
+ "source": 186,
+ "pc": [
+ 991,
+ 992
+ ]
+ },
+ {
+ "teal": 1061,
+ "source": 186,
+ "pc": [
+ 993,
+ 994
+ ]
+ },
+ {
+ "teal": 1062,
+ "source": 186,
+ "pc": [
+ 995
+ ]
+ },
+ {
+ "teal": 1063,
+ "source": 185,
+ "pc": [
+ 996,
+ 997
+ ]
+ },
+ {
+ "teal": 1064,
+ "source": 185,
+ "pc": [
+ 998,
+ 999
+ ]
+ },
+ {
+ "teal": 1065,
+ "source": 184,
+ "pc": [
+ 1000,
+ 1001,
+ 1002
+ ]
+ },
+ {
+ "teal": 1066,
+ "source": 184,
+ "pc": [
+ 1003,
+ 1004
+ ]
+ },
+ {
+ "teal": 1070,
+ "source": 190,
+ "pc": [
+ 1005,
+ 1006
+ ]
+ },
+ {
+ "teal": 1071,
+ "source": 190,
+ "pc": [
+ 1007
+ ]
+ },
+ {
+ "teal": 1072,
+ "source": 190,
+ "pc": [
+ 1008
+ ]
+ },
+ {
+ "teal": 1073,
+ "source": 190,
+ "pc": [
+ 1009
+ ]
+ },
+ {
+ "teal": 1077,
+ "source": 192,
+ "pc": [
+ 1010,
+ 1011
+ ]
+ },
+ {
+ "teal": 1078,
+ "source": 192,
+ "pc": [
+ 1012,
+ 1013
+ ]
+ },
+ {
+ "teal": 1079,
+ "source": 192,
+ "pc": [
+ 1014,
+ 1015
+ ]
+ },
+ {
+ "teal": 1080,
+ "source": 192,
+ "pc": [
+ 1016,
+ 1017,
+ 1018
+ ]
+ },
+ {
+ "teal": 1084,
+ "source": 194,
+ "pc": [
+ 1019,
+ 1020
+ ]
+ },
+ {
+ "teal": 1085,
+ "source": 194,
+ "pc": [
+ 1021,
+ 1022,
+ 1023
+ ]
+ },
+ {
+ "teal": 1086,
+ "source": 194,
+ "pc": [
+ 1024
+ ]
+ },
+ {
+ "teal": 1087,
+ "source": 168,
+ "pc": [
+ 1025
+ ]
+ },
+ {
+ "teal": 1090,
+ "source": 8,
+ "pc": [
+ 1026,
+ 1027,
+ 1028,
+ 1029,
+ 1030,
+ 1031
+ ]
+ },
+ {
+ "teal": 1091,
+ "source": 8,
+ "pc": [
+ 1032,
+ 1033,
+ 1034
+ ]
+ },
+ {
+ "teal": 1092,
+ "source": 8,
+ "pc": [
+ 1035,
+ 1036,
+ 1037,
+ 1038
+ ]
+ },
+ {
+ "teal": 1095,
+ "source": 8,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 1039
+ ]
+ },
+ {
+ "teal": 1098,
+ "source": 8,
+ "pc": [
+ 1040,
+ 1041,
+ 1042,
+ 1043,
+ 1044,
+ 1045
+ ]
+ },
+ {
+ "teal": 1099,
+ "source": 8,
+ "pc": [
+ 1046,
+ 1047,
+ 1048,
+ 1049,
+ 1050,
+ 1051
+ ]
+ },
+ {
+ "teal": 1100,
+ "source": 8,
+ "pc": [
+ 1052,
+ 1053,
+ 1054,
+ 1055,
+ 1056,
+ 1057
+ ]
+ },
+ {
+ "teal": 1101,
+ "source": 8,
+ "pc": [
+ 1058,
+ 1059,
+ 1060,
+ 1061,
+ 1062,
+ 1063
+ ]
+ },
+ {
+ "teal": 1102,
+ "source": 8,
+ "pc": [
+ 1064,
+ 1065,
+ 1066,
+ 1067,
+ 1068,
+ 1069
+ ]
+ },
+ {
+ "teal": 1103,
+ "source": 8,
+ "pc": [
+ 1070,
+ 1071,
+ 1072
+ ]
+ },
+ {
+ "teal": 1104,
+ "source": 8,
+ "pc": [
+ 1073,
+ 1074,
+ 1075,
+ 1076,
+ 1077,
+ 1078,
+ 1079,
+ 1080,
+ 1081,
+ 1082,
+ 1083,
+ 1084
+ ]
+ },
+ {
+ "teal": 1107,
+ "source": 8,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 1085
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyMAoJLy8gdGhpcy5nb3Zlcm5vci52YWx1ZSA9IHRoaXMudHhuLnNlbmRlcgoJYnl0ZSAweDY3IC8vICJnIgoJdHhuIFNlbmRlcgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZG9DcmVhdGVQb29sVG9rZW4oYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiBBc3NldElECmRvQ3JlYXRlUG9vbFRva2VuOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjI2CgkvLyByZXR1cm4gc2VuZEFzc2V0Q3JlYXRpb24oewoJLy8gICAgICAgY29uZmlnQXNzZXROYW1lOiAnRFBULScgKyBhQXNzZXQudW5pdE5hbWUgKyAnLScgKyBiQXNzZXQudW5pdE5hbWUsCgkvLyAgICAgICBjb25maWdBc3NldFVuaXROYW1lOiAnZHB0JywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VG90YWw6IFRPVEFMX1NVUFBMWSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RGVjaW1hbHM6IDMsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyNwoJLy8gY29uZmlnQXNzZXROYW1lOiAnRFBULScgKyBhQXNzZXQudW5pdE5hbWUgKyAnLScgKyBiQXNzZXQudW5pdE5hbWUKCWJ5dGUgMHg0NDUwNTQyZCAvLyAiRFBULSIKCWZyYW1lX2RpZyAtMSAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRVbml0TmFtZQoJcG9wCgljb25jYXQKCWJ5dGUgMHgyZCAvLyAiLSIKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCglwb3AKCWNvbmNhdAoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICdkcHQnCglieXRlIDB4NjQ3MDc0IC8vICJkcHQiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VW5pdE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjkKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IFRPVEFMX1NVUFBMWQoJaW50IDEwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzAKCS8vIGNvbmZpZ0Fzc2V0RGVjaW1hbHM6IDMKCWludCAzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVjaW1hbHMKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjMyCgkvLyBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0UmVzZXJ2ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gZG9BeGZlcihyZWNlaXZlcjogQWRkcmVzcywgYXNzZXQ6IEFzc2V0SUQsIGFtb3VudDogdWludDY0KTogdm9pZApkb0F4ZmVyOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjM3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiByZWNlaXZlciwKCS8vICAgICAgIHhmZXJBc3NldDogYXNzZXQsCgkvLyAgICAgICBhc3NldEFtb3VudDogYW1vdW50LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzgKCS8vIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozOQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo0MAoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkb09wdEluKGFzc2V0OiBBc3NldElEKTogdm9pZApkb09wdEluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjQ1CgkvLyB0aGlzLmRvQXhmZXIodGhpcy5hcHAuYWRkcmVzcywgYXNzZXQsIDApCglpbnQgMAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJY2FsbHN1YiBkb0F4ZmVyCglyZXRzdWIKCi8vIHRva2Vuc1RvTWludEludGlhbChhQW1vdW50OiB1aW50NjQsIGJBbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb01pbnRJbnRpYWw6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NDkKCS8vIHJldHVybiBzcXJ0KGFBbW91bnQgKiBiQW1vdW50KTsKCWZyYW1lX2RpZyAtMSAvLyBhQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiQW1vdW50OiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9NaW50KGlzc3VlZDogdWludDY0LCBhU3VwcGx5OiB1aW50NjQsIGJTdXBwbHk6IHVpbnQ2NCwgYUFtb3VudDogdWludDY0LCBiQW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9NaW50OgoJcHJvdG8gNSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1MwoJLy8gYVJhdGlvID0gd2lkZVJhdGlvKFthQW1vdW50LCBTQ0FMRV0sIFthU3VwcGx5XSkKCWZyYW1lX2RpZyAtNCAvLyBhQW1vdW50OiB1aW50NjQKCWludCAxMDAwCgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIC0yIC8vIGFTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBhUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NAoJLy8gYlJhdGlvID0gd2lkZVJhdGlvKFtiQW1vdW50LCBTQ0FMRV0sIFtiU3VwcGx5XSkKCWZyYW1lX2RpZyAtNSAvLyBiQW1vdW50OiB1aW50NjQKCWludCAxMDAwCgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIC0zIC8vIGJTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBiUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NgoJLy8gcmF0aW8gPSBhUmF0aW8gPCBiUmF0aW8gPyBhUmF0aW8gOiBiUmF0aW8KCWZyYW1lX2RpZyAwIC8vIGFSYXRpbzogdWludDY0CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoJPAoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgMCAvLyBhUmF0aW86IHVpbnQ2NAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyByYXRpbzogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjU4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtyYXRpbywgaXNzdWVkXSwgW1NDQUxFXSk7CglmcmFtZV9kaWcgMiAvLyByYXRpbzogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCW11bHcKCWludCAwCglpbnQgMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGNvbXB1dGVSYXRpbygpOiB1aW50NjQKY29tcHV0ZVJhdGlvOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjYyCgkvLyByZXR1cm4gd2lkZVJhdGlvKAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRBLnZhbHVlKSwgU0NBTEVdLAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRCLnZhbHVlKV0KCS8vICAgICApOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJaW50IDEwMDAKCW11bHcKCWludCAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYnl0ZSAweDYyIC8vICJiIgoJYXBwX2dsb2JhbF9nZXQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJcmV0c3ViCgovLyB0b2tlbnNUb0J1cm4oaXNzdWVkOiB1aW50NjQsIHN1cHBseTogdWludDY0LCBhbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb0J1cm46Cglwcm90byAzIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NjkKCS8vIHJldHVybiB3aWRlUmF0aW8oW3N1cHBseSwgYW1vdW50XSwgW2lzc3VlZF0pOwoJZnJhbWVfZGlnIC0yIC8vIHN1cHBseTogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYW1vdW50OiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRva2Vuc1RvU3dhcChpbkFtb3VudDogdWludDY0LCBpblN1cHBseTogdWludDY0LCBvdXRTdXBwbHk6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb1N3YXA6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3MwoJLy8gZmFjdG9yID0gU0NBTEUgLSBGRUUKCWludCA5OTUKCWZyYW1lX2J1cnkgMCAvLyBmYWN0b3I6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3NAoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbaW5BbW91bnQsIGZhY3Rvciwgb3V0U3VwcGx5XSwgW2luU3VwcGx5ICogU0NBTEUgKyBpbkFtb3VudCAqIGZhY3Rvcl0pOwoJZnJhbWVfZGlnIC0xIC8vIGluQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcjogdWludDY0CgltdWx3CglmcmFtZV9kaWcgLTMgLy8gb3V0U3VwcGx5OiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWludCAwCglmcmFtZV9kaWcgLTIgLy8gaW5TdXBwbHk6IHVpbnQ2NAoJaW50IDEwMDAKCSoKCWZyYW1lX2RpZyAtMSAvLyBpbkFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBmYWN0b3I6IHVpbnQ2NAoJKgoJKwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gc2V0X2dvdmVybm9yKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3NldF9nb3Zlcm5vcjoKCS8vIGdvdmVybm9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGdvdmVybm9yKSBmb3Igc2V0X2dvdmVybm9yIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIHNldF9nb3Zlcm5vcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgc2V0X2dvdmVybm9yCglpbnQgMQoJcmV0dXJuCgovLyBzZXRfZ292ZXJub3IoZ292ZXJub3I6IEFkZHJlc3MpOiB2b2lkCnNldF9nb3Zlcm5vcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OAoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2NyAvLyAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NzkKCS8vIHRoaXMuZ292ZXJub3IudmFsdWUgPSBnb3Zlcm5vcgoJYnl0ZSAweDY3IC8vICJnIgoJZnJhbWVfZGlnIC0xIC8vIGdvdmVybm9yOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYm9vdHN0cmFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc2VlZDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAoc2VlZCkgZm9yIGJvb3RzdHJhcCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGJvb3RzdHJhcChwYXksdWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYm9vdHN0cmFwCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYm9vdHN0cmFwKHNlZWQ6IFBheVR4biwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiBBc3NldElECmJvb3RzdHJhcDoKCXByb3RvIDMgMQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo4MwoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2NyAvLyAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODUKCS8vIGFzc2VydChnbG9iYWxzLmdyb3VwU2l6ZSA9PT0gMikKCWdsb2JhbCBHcm91cFNpemUKCWludCAyCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg3CgkvLyB2ZXJpZnlQYXlUeG4oc2VlZCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiB7IGdyZWF0ZXJUaGFuRXF1YWxUbzogMzAwXzAwMCB9IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNlZWQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaW50IDMwMF8wMDAKCT49CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzZWVkIiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbkVxdWFsVG8iLCJleHBlY3RlZCI6Ij49MzAwXzAwMCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODgKCS8vIGFzc2VydChhQXNzZXQgPCBiQXNzZXQpCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgk8Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTAKCS8vIHRoaXMuYXNzZXRBLnZhbHVlID0gYUFzc2V0CglieXRlIDB4NjEgLy8gImEiCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5MQoJLy8gdGhpcy5hc3NldEIudmFsdWUgPSBiQXNzZXQKCWJ5dGUgMHg2MiAvLyAiYiIKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjkyCgkvLyB0aGlzLnBvb2xUb2tlbi52YWx1ZSA9IHRoaXMuZG9DcmVhdGVQb29sVG9rZW4oYUFzc2V0LCBiQXNzZXQpCglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvQ3JlYXRlUG9vbFRva2VuCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NAoJLy8gdGhpcy5kb09wdEluKGFBc3NldCkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWNhbGxzdWIgZG9PcHRJbgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NQoJLy8gdGhpcy5kb09wdEluKGJBc3NldCkKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWNhbGxzdWIgZG9PcHRJbgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NwoJLy8gcmV0dXJuIHRoaXMucG9vbFRva2VuLnZhbHVlOwoJYnl0ZSAweDcwIC8vICJwIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfbWludDoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGJYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMyAoYlhmZXIpIGZvciBtaW50IG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYVhmZXI6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50IDIKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCA0IChhWGZlcikgZm9yIG1pbnQgbXVzdCBiZSBhIGF4ZmVyIHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIG1pbnQoYXhmZXIsYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBtaW50CglpbnQgMQoJcmV0dXJuCgovLyBtaW50KGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBiWGZlcjogQXNzZXRUcmFuc2ZlclR4biwgcG9vbEFzc2V0OiBBc3NldElELCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKbWludDoKCXByb3RvIDUgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gd2VsbCBmb3JtZWQgbWludAoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEwMgoJLy8gYXNzZXJ0KGFBc3NldCA9PT0gdGhpcy5hc3NldEEudmFsdWUpCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglieXRlIDB4NjEgLy8gImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMDMKCS8vIGFzc2VydChiQXNzZXQgPT09IHRoaXMuYXNzZXRCLnZhbHVlKQoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYnl0ZSAweDYyIC8vICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA0CgkvLyBhc3NlcnQocG9vbEFzc2V0ID09PSB0aGlzLnBvb2xUb2tlbi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg3MCAvLyAicCIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgYXNzZXQgQSBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEwNwoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihhWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogYUFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJhWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJhWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC00IC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6ImFBc3NldCJ9Cglhc3NlcnQKCgkvLyB2YWxpZCBhc3NldCBCIGF4ZmVyCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTE1CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKGJYZmVyLCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBiQXNzZXQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldEFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJaW50IDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImJYZmVyIiwiZmllbGQiOiJhc3NldEFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRSZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImJYZmVyIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSB4ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTUgLy8gYkFzc2V0OiBBc3NldElECgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6InhmZXJBc3NldCIsImV4cGVjdGVkIjoiYkFzc2V0In0KCWFzc2VydAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTIzCgkvLyB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShhQXNzZXQpID09PSBhWGZlci5hc3NldEFtb3VudCAmJgoJLy8gICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UoYkFzc2V0KSA9PT0gYlhmZXIuYXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50Cgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjYKCS8vIHRoaXMudG9rZW5zVG9NaW50SW50aWFsKGFYZmVyLmFzc2V0QW1vdW50LCBiWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWNhbGxzdWIgdG9rZW5zVG9NaW50SW50aWFsCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTI4CgkvLyB0b01pbnQgPSB0aGlzLnRva2Vuc1RvTWludCgKCS8vICAgICAgICAgVE9UQUxfU1VQUExZIC0gdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSwKCS8vICAgICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UoYUFzc2V0KSAtIGFYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpIC0gYlhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIGFYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgICBiWGZlci5hc3NldEFtb3VudAoJLy8gICAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgktCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC00IC8vIGFBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCWludCAxMDAwMDAwMDAwMAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCgktCgljYWxsc3ViIHRva2Vuc1RvTWludAoJZnJhbWVfYnVyeSAwIC8vIHRvTWludDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEzNgoJLy8gYXNzZXJ0KHRvTWludCA+IDApCglmcmFtZV9kaWcgMCAvLyB0b01pbnQ6IHVpbnQ2NAoJaW50IDAKCT4KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMzgKCS8vIHRoaXMuZG9BeGZlcih0aGlzLnR4bi5zZW5kZXIsIHBvb2xBc3NldCwgdG9NaW50KQoJZnJhbWVfZGlnIDAgLy8gdG9NaW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKKmlmMF9lbmQ6CglyZXRzdWIKCi8vIGJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2J1cm46CgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gcG9vbEFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBwb29sWGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKHBvb2xYZmVyKSBmb3IgYnVybiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJ1cm4KCWludCAxCglyZXR1cm4KCi8vIGJ1cm4ocG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIHBvb2xBc3NldDogQXNzZXRJRCwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiB2b2lkCmJ1cm46Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gd2VsbCBmb3JtZWQgYnVybgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NAoJLy8gYXNzZXJ0KHBvb2xBc3NldCA9PT0gdGhpcy5wb29sVG9rZW4udmFsdWUpCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFzc2V0OiBBc3NldElECglieXRlIDB4NzAgLy8gInAiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNDUKCS8vIGFzc2VydChhQXNzZXQgPT09IHRoaXMuYXNzZXRBLnZhbHVlKQoJZnJhbWVfZGlnIC0zIC8vIGFBc3NldDogQXNzZXRJRAoJYnl0ZSAweDYxIC8vICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTQ2CgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg2MiAvLyAiYiIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgcG9vbCBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0OQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihwb29sWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogcG9vbEFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6InBvb2xBc3NldCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTU2CgkvLyBpc3N1ZWQgPSBUT1RBTF9TVVBQTFkgLSAodGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSAtIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJaW50IDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCS0KCWZyYW1lX2J1cnkgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNTgKCS8vIGFBbXQgPSB0aGlzLnRva2Vuc1RvQnVybihpc3N1ZWQsIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCksIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoJY2FsbHN1YiB0b2tlbnNUb0J1cm4KCWZyYW1lX2J1cnkgMSAvLyBhQW10OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYwCgkvLyBiQW10ID0gdGhpcy50b2tlbnNUb0J1cm4oaXNzdWVkLCB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpLCBwb29sWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDAgLy8gaXNzdWVkOiB1aW50NjQKCWNhbGxzdWIgdG9rZW5zVG9CdXJuCglmcmFtZV9idXJ5IDIgLy8gYkFtdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE2MgoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgYUFzc2V0LCBhQW10KQoJZnJhbWVfZGlnIDEgLy8gYUFtdDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECgl0eG4gU2VuZGVyCgljYWxsc3ViIGRvQXhmZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYzCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBiQXNzZXQsIGJBbXQpCglmcmFtZV9kaWcgMiAvLyBiQW10OiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNjUKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlIDB4NzIgLy8gInIiCgljYWxsc3ViIGNvbXB1dGVSYXRpbwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gc3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9zd2FwOgoJLy8gYkFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIHN3YXBYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3dhcFhmZXIpIGZvciBzd2FwIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzd2FwCglpbnQgMQoJcmV0dXJuCgovLyBzd2FwKHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKc3dhcDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB3ZWxsIGZvcm1lZCBzd2FwCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcwCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE3MQoJLy8gYXNzZXJ0KGJBc3NldCA9PT0gdGhpcy5hc3NldEIudmFsdWUpCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECglieXRlIDB4NjIgLy8gImIiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNzMKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oc3dhcFhmZXIsIHsKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IHsgaW5jbHVkZWRJbjogW2FBc3NldCwgYkFzc2V0XSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN3YXBYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgk9PQoJfHwKCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6eyJ0eG5UZXh0Ijoic3dhcFhmZXIifSwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbYUFzc2V0LCBiQXNzZXRdIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODAKCS8vIG91dElkID0gc3dhcFhmZXIueGZlckFzc2V0ID09PSBhQXNzZXQgPyBhQXNzZXQgOiBiQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgk9PQoJYnogKnRlcm5hcnkxX2ZhbHNlCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgliICp0ZXJuYXJ5MV9lbmQKCip0ZXJuYXJ5MV9mYWxzZToKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCip0ZXJuYXJ5MV9lbmQ6CglmcmFtZV9idXJ5IDAgLy8gb3V0SWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODIKCS8vIGluSWQgPSBzd2FwWGZlci54ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9idXJ5IDEgLy8gaW5JZDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE4NAoJLy8gdG9Td2FwID0gdGhpcy50b2tlbnNUb1N3YXAoCgkvLyAgICAgICBzd2FwWGZlci5hc3NldEFtb3VudCwKCS8vICAgICAgIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGluSWQpIC0gc3dhcFhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShvdXRJZCkKCS8vICAgICApCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gb3V0SWQ6IHVpbnQ2NAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBpbklkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgktCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgljYWxsc3ViIHRva2Vuc1RvU3dhcAoJZnJhbWVfYnVyeSAyIC8vIHRvU3dhcDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE5MAoJLy8gYXNzZXJ0KHRvU3dhcCA+IDApCglmcmFtZV9kaWcgMiAvLyB0b1N3YXA6IHVpbnQ2NAoJaW50IDAKCT4KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTIKCS8vIHRoaXMuZG9BeGZlcih0aGlzLnR4bi5zZW5kZXIsIG91dElkLCB0b1N3YXApCglmcmFtZV9kaWcgMiAvLyB0b1N3YXA6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gb3V0SWQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBkb0F4ZmVyCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE5NAoJLy8gdGhpcy5yYXRpby52YWx1ZSA9IHRoaXMuY29tcHV0ZVJhdGlvKCkKCWJ5dGUgMHg3MiAvLyAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJtaW50KGF4ZmVyLGF4ZmVyLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAic3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NldF9nb3Zlcm5vciAqYWJpX3JvdXRlX2Jvb3RzdHJhcCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9idXJuICphYmlfcm91dGVfc3dhcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyMAoJLy8gdGhpcy5nb3Zlcm5vci52YWx1ZSA9IHRoaXMudHhuLnNlbmRlcgoJYnl0ZSAweDY3IC8vICJnIgoJdHhuIFNlbmRlcgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZG9DcmVhdGVQb29sVG9rZW4oYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiBBc3NldElECmRvQ3JlYXRlUG9vbFRva2VuOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjI2CgkvLyByZXR1cm4gc2VuZEFzc2V0Q3JlYXRpb24oewoJLy8gICAgICAgY29uZmlnQXNzZXROYW1lOiAnRFBULScgKyBhQXNzZXQudW5pdE5hbWUgKyAnLScgKyBiQXNzZXQudW5pdE5hbWUsCgkvLyAgICAgICBjb25maWdBc3NldFVuaXROYW1lOiAnZHB0JywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VG90YWw6IFRPVEFMX1NVUFBMWSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RGVjaW1hbHM6IDMsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyNwoJLy8gY29uZmlnQXNzZXROYW1lOiAnRFBULScgKyBhQXNzZXQudW5pdE5hbWUgKyAnLScgKyBiQXNzZXQudW5pdE5hbWUKCWJ5dGUgMHg0NDUwNTQyZCAvLyAiRFBULSIKCWZyYW1lX2RpZyAtMSAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRVbml0TmFtZQoJcG9wCgljb25jYXQKCWJ5dGUgMHgyZCAvLyAiLSIKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCglwb3AKCWNvbmNhdAoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICdkcHQnCglieXRlIDB4NjQ3MDc0IC8vICJkcHQiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VW5pdE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjkKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IFRPVEFMX1NVUFBMWQoJaW50IDEwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzAKCS8vIGNvbmZpZ0Fzc2V0RGVjaW1hbHM6IDMKCWludCAzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVjaW1hbHMKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjMyCgkvLyBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0UmVzZXJ2ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gZG9BeGZlcihyZWNlaXZlcjogQWRkcmVzcywgYXNzZXQ6IEFzc2V0SUQsIGFtb3VudDogdWludDY0KTogdm9pZApkb0F4ZmVyOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjM3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiByZWNlaXZlciwKCS8vICAgICAgIHhmZXJBc3NldDogYXNzZXQsCgkvLyAgICAgICBhc3NldEFtb3VudDogYW1vdW50LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzgKCS8vIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozOQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo0MAoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkb09wdEluKGFzc2V0OiBBc3NldElEKTogdm9pZApkb09wdEluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjQ1CgkvLyB0aGlzLmRvQXhmZXIodGhpcy5hcHAuYWRkcmVzcywgYXNzZXQsIDApCglpbnQgMAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJY2FsbHN1YiBkb0F4ZmVyCglyZXRzdWIKCi8vIHRva2Vuc1RvTWludEludGlhbChhQW1vdW50OiB1aW50NjQsIGJBbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb01pbnRJbnRpYWw6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NDkKCS8vIHJldHVybiBzcXJ0KGFBbW91bnQgKiBiQW1vdW50KTsKCWZyYW1lX2RpZyAtMSAvLyBhQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiQW1vdW50OiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9NaW50KGlzc3VlZDogdWludDY0LCBhU3VwcGx5OiB1aW50NjQsIGJTdXBwbHk6IHVpbnQ2NCwgYUFtb3VudDogdWludDY0LCBiQW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9NaW50OgoJcHJvdG8gNSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1MwoJLy8gYVJhdGlvID0gd2lkZVJhdGlvKFthQW1vdW50LCBTQ0FMRV0sIFthU3VwcGx5XSkKCWZyYW1lX2RpZyAtNCAvLyBhQW1vdW50OiB1aW50NjQKCWludCAxMDAwCgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIC0yIC8vIGFTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBhUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NAoJLy8gYlJhdGlvID0gd2lkZVJhdGlvKFtiQW1vdW50LCBTQ0FMRV0sIFtiU3VwcGx5XSkKCWZyYW1lX2RpZyAtNSAvLyBiQW1vdW50OiB1aW50NjQKCWludCAxMDAwCgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIC0zIC8vIGJTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBiUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NgoJLy8gcmF0aW8gPSBhUmF0aW8gPCBiUmF0aW8gPyBhUmF0aW8gOiBiUmF0aW8KCWZyYW1lX2RpZyAwIC8vIGFSYXRpbzogdWludDY0CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoJPAoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgMCAvLyBhUmF0aW86IHVpbnQ2NAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyByYXRpbzogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjU4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtyYXRpbywgaXNzdWVkXSwgW1NDQUxFXSk7CglmcmFtZV9kaWcgMiAvLyByYXRpbzogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCW11bHcKCWludCAwCglpbnQgMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGNvbXB1dGVSYXRpbygpOiB1aW50NjQKY29tcHV0ZVJhdGlvOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjYyCgkvLyByZXR1cm4gd2lkZVJhdGlvKAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRBLnZhbHVlKSwgU0NBTEVdLAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRCLnZhbHVlKV0KCS8vICAgICApOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJaW50IDEwMDAKCW11bHcKCWludCAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYnl0ZSAweDYyIC8vICJiIgoJYXBwX2dsb2JhbF9nZXQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJcmV0c3ViCgovLyB0b2tlbnNUb0J1cm4oaXNzdWVkOiB1aW50NjQsIHN1cHBseTogdWludDY0LCBhbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb0J1cm46Cglwcm90byAzIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NjkKCS8vIHJldHVybiB3aWRlUmF0aW8oW3N1cHBseSwgYW1vdW50XSwgW2lzc3VlZF0pOwoJZnJhbWVfZGlnIC0yIC8vIHN1cHBseTogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYW1vdW50OiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRva2Vuc1RvU3dhcChpbkFtb3VudDogdWludDY0LCBpblN1cHBseTogdWludDY0LCBvdXRTdXBwbHk6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb1N3YXA6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3MwoJLy8gZmFjdG9yID0gU0NBTEUgLSBGRUUKCWludCA5OTUKCWZyYW1lX2J1cnkgMCAvLyBmYWN0b3I6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3NAoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbaW5BbW91bnQsIGZhY3Rvciwgb3V0U3VwcGx5XSwgW2luU3VwcGx5ICogU0NBTEUgKyBpbkFtb3VudCAqIGZhY3Rvcl0pOwoJZnJhbWVfZGlnIC0xIC8vIGluQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcjogdWludDY0CgltdWx3CglmcmFtZV9kaWcgLTMgLy8gb3V0U3VwcGx5OiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWludCAwCglmcmFtZV9kaWcgLTIgLy8gaW5TdXBwbHk6IHVpbnQ2NAoJaW50IDEwMDAKCSoKCWZyYW1lX2RpZyAtMSAvLyBpbkFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBmYWN0b3I6IHVpbnQ2NAoJKgoJKwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gc2V0X2dvdmVybm9yKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3NldF9nb3Zlcm5vcjoKCS8vIGdvdmVybm9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGdvdmVybm9yKSBmb3Igc2V0X2dvdmVybm9yIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIHNldF9nb3Zlcm5vcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgc2V0X2dvdmVybm9yCglpbnQgMQoJcmV0dXJuCgovLyBzZXRfZ292ZXJub3IoZ292ZXJub3I6IEFkZHJlc3MpOiB2b2lkCnNldF9nb3Zlcm5vcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OAoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2NyAvLyAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NzkKCS8vIHRoaXMuZ292ZXJub3IudmFsdWUgPSBnb3Zlcm5vcgoJYnl0ZSAweDY3IC8vICJnIgoJZnJhbWVfZGlnIC0xIC8vIGdvdmVybm9yOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYm9vdHN0cmFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc2VlZDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAoc2VlZCkgZm9yIGJvb3RzdHJhcCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGJvb3RzdHJhcChwYXksdWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYm9vdHN0cmFwCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYm9vdHN0cmFwKHNlZWQ6IFBheVR4biwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiBBc3NldElECmJvb3RzdHJhcDoKCXByb3RvIDMgMQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo4MwoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2NyAvLyAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODUKCS8vIGFzc2VydChnbG9iYWxzLmdyb3VwU2l6ZSA9PT0gMikKCWdsb2JhbCBHcm91cFNpemUKCWludCAyCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg3CgkvLyB2ZXJpZnlQYXlUeG4oc2VlZCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiB7IGdyZWF0ZXJUaGFuRXF1YWxUbzogMzAwXzAwMCB9IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNlZWQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaW50IDMwMF8wMDAKCT49CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzZWVkIiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbkVxdWFsVG8iLCJleHBlY3RlZCI6Ij49MzAwXzAwMCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODgKCS8vIGFzc2VydChhQXNzZXQgPCBiQXNzZXQpCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgk8Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTAKCS8vIHRoaXMuYXNzZXRBLnZhbHVlID0gYUFzc2V0CglieXRlIDB4NjEgLy8gImEiCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5MQoJLy8gdGhpcy5hc3NldEIudmFsdWUgPSBiQXNzZXQKCWJ5dGUgMHg2MiAvLyAiYiIKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjkyCgkvLyB0aGlzLnBvb2xUb2tlbi52YWx1ZSA9IHRoaXMuZG9DcmVhdGVQb29sVG9rZW4oYUFzc2V0LCBiQXNzZXQpCglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvQ3JlYXRlUG9vbFRva2VuCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NAoJLy8gdGhpcy5kb09wdEluKGFBc3NldCkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWNhbGxzdWIgZG9PcHRJbgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NQoJLy8gdGhpcy5kb09wdEluKGJBc3NldCkKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWNhbGxzdWIgZG9PcHRJbgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5NwoJLy8gcmV0dXJuIHRoaXMucG9vbFRva2VuLnZhbHVlOwoJYnl0ZSAweDcwIC8vICJwIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfbWludDoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGJYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMyAoYlhmZXIpIGZvciBtaW50IG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYVhmZXI6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50IDIKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCA0IChhWGZlcikgZm9yIG1pbnQgbXVzdCBiZSBhIGF4ZmVyIHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIG1pbnQoYXhmZXIsYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBtaW50CglpbnQgMQoJcmV0dXJuCgovLyBtaW50KGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBiWGZlcjogQXNzZXRUcmFuc2ZlclR4biwgcG9vbEFzc2V0OiBBc3NldElELCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKbWludDoKCXByb3RvIDUgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gd2VsbCBmb3JtZWQgbWludAoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEwMgoJLy8gYXNzZXJ0KGFBc3NldCA9PT0gdGhpcy5hc3NldEEudmFsdWUpCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglieXRlIDB4NjEgLy8gImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMDMKCS8vIGFzc2VydChiQXNzZXQgPT09IHRoaXMuYXNzZXRCLnZhbHVlKQoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYnl0ZSAweDYyIC8vICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA0CgkvLyBhc3NlcnQocG9vbEFzc2V0ID09PSB0aGlzLnBvb2xUb2tlbi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg3MCAvLyAicCIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgYXNzZXQgQSBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEwNwoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihhWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogYUFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJhWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJhWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC00IC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6ImFBc3NldCJ9Cglhc3NlcnQKCgkvLyB2YWxpZCBhc3NldCBCIGF4ZmVyCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTE1CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKGJYZmVyLCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBiQXNzZXQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldEFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJaW50IDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImJYZmVyIiwiZmllbGQiOiJhc3NldEFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRSZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImJYZmVyIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSB4ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTUgLy8gYkFzc2V0OiBBc3NldElECgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6InhmZXJBc3NldCIsImV4cGVjdGVkIjoiYkFzc2V0In0KCWFzc2VydAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTIzCgkvLyB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShhQXNzZXQpID09PSBhWGZlci5hc3NldEFtb3VudCAmJgoJLy8gICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UoYkFzc2V0KSA9PT0gYlhmZXIuYXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50Cgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjYKCS8vIHRoaXMudG9rZW5zVG9NaW50SW50aWFsKGFYZmVyLmFzc2V0QW1vdW50LCBiWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWNhbGxzdWIgdG9rZW5zVG9NaW50SW50aWFsCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTI4CgkvLyB0b01pbnQgPSB0aGlzLnRva2Vuc1RvTWludCgKCS8vICAgICAgICAgVE9UQUxfU1VQUExZIC0gdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSwKCS8vICAgICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UoYUFzc2V0KSAtIGFYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpIC0gYlhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIGFYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgICBiWGZlci5hc3NldEFtb3VudAoJLy8gICAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgktCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC00IC8vIGFBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCWludCAxMDAwMDAwMDAwMAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCgktCgljYWxsc3ViIHRva2Vuc1RvTWludAoJZnJhbWVfYnVyeSAwIC8vIHRvTWludDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEzNgoJLy8gYXNzZXJ0KHRvTWludCA+IDApCglmcmFtZV9kaWcgMCAvLyB0b01pbnQ6IHVpbnQ2NAoJaW50IDAKCT4KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMzgKCS8vIHRoaXMuZG9BeGZlcih0aGlzLnR4bi5zZW5kZXIsIHBvb2xBc3NldCwgdG9NaW50KQoJZnJhbWVfZGlnIDAgLy8gdG9NaW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKKmlmMF9lbmQ6CglyZXRzdWIKCi8vIGJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2J1cm46CgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gcG9vbEFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBwb29sWGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKHBvb2xYZmVyKSBmb3IgYnVybiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJ1cm4KCWludCAxCglyZXR1cm4KCi8vIGJ1cm4ocG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIHBvb2xBc3NldDogQXNzZXRJRCwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiB2b2lkCmJ1cm46Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gd2VsbCBmb3JtZWQgYnVybgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NAoJLy8gYXNzZXJ0KHBvb2xBc3NldCA9PT0gdGhpcy5wb29sVG9rZW4udmFsdWUpCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFzc2V0OiBBc3NldElECglieXRlIDB4NzAgLy8gInAiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNDUKCS8vIGFzc2VydChhQXNzZXQgPT09IHRoaXMuYXNzZXRBLnZhbHVlKQoJZnJhbWVfZGlnIC0zIC8vIGFBc3NldDogQXNzZXRJRAoJYnl0ZSAweDYxIC8vICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTQ2CgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg2MiAvLyAiYiIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgcG9vbCBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0OQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihwb29sWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogcG9vbEFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6InBvb2xBc3NldCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTU2CgkvLyBpc3N1ZWQgPSBUT1RBTF9TVVBQTFkgLSAodGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSAtIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJaW50IDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCS0KCWZyYW1lX2J1cnkgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNTgKCS8vIGFBbXQgPSB0aGlzLnRva2Vuc1RvQnVybihpc3N1ZWQsIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCksIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoJY2FsbHN1YiB0b2tlbnNUb0J1cm4KCWZyYW1lX2J1cnkgMSAvLyBhQW10OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYwCgkvLyBiQW10ID0gdGhpcy50b2tlbnNUb0J1cm4oaXNzdWVkLCB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpLCBwb29sWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDAgLy8gaXNzdWVkOiB1aW50NjQKCWNhbGxzdWIgdG9rZW5zVG9CdXJuCglmcmFtZV9idXJ5IDIgLy8gYkFtdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE2MgoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgYUFzc2V0LCBhQW10KQoJZnJhbWVfZGlnIDEgLy8gYUFtdDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECgl0eG4gU2VuZGVyCgljYWxsc3ViIGRvQXhmZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYzCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBiQXNzZXQsIGJBbXQpCglmcmFtZV9kaWcgMiAvLyBiQW10OiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNjUKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlIDB4NzIgLy8gInIiCgljYWxsc3ViIGNvbXB1dGVSYXRpbwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gc3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9zd2FwOgoJLy8gYkFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIHN3YXBYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3dhcFhmZXIpIGZvciBzd2FwIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzd2FwCglpbnQgMQoJcmV0dXJuCgovLyBzd2FwKHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKc3dhcDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB3ZWxsIGZvcm1lZCBzd2FwCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcwCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE3MQoJLy8gYXNzZXJ0KGJBc3NldCA9PT0gdGhpcy5hc3NldEIudmFsdWUpCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECglieXRlIDB4NjIgLy8gImIiCglhcHBfZ2xvYmFsX2dldAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNzMKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oc3dhcFhmZXIsIHsKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IHsgaW5jbHVkZWRJbjogW2FBc3NldCwgYkFzc2V0XSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN3YXBYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgk9PQoJfHwKCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6eyJ0eG5UZXh0Ijoic3dhcFhmZXIifSwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbYUFzc2V0LCBiQXNzZXRdIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODAKCS8vIG91dElkID0gc3dhcFhmZXIueGZlckFzc2V0ID09PSBhQXNzZXQgPyBhQXNzZXQgOiBiQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgk9PQoJYnogKnRlcm5hcnkxX2ZhbHNlCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgliICp0ZXJuYXJ5MV9lbmQKCip0ZXJuYXJ5MV9mYWxzZToKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCip0ZXJuYXJ5MV9lbmQ6CglmcmFtZV9idXJ5IDAgLy8gb3V0SWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODIKCS8vIGluSWQgPSBzd2FwWGZlci54ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBzd2FwWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9idXJ5IDEgLy8gaW5JZDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE4NAoJLy8gdG9Td2FwID0gdGhpcy50b2tlbnNUb1N3YXAoCgkvLyAgICAgICBzd2FwWGZlci5hc3NldEFtb3VudCwKCS8vICAgICAgIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGluSWQpIC0gc3dhcFhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShvdXRJZCkKCS8vICAgICApCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gb3V0SWQ6IHVpbnQ2NAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBpbklkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgktCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CgljYWxsc3ViIHRva2Vuc1RvU3dhcAoJZnJhbWVfYnVyeSAyIC8vIHRvU3dhcDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE5MAoJLy8gYXNzZXJ0KHRvU3dhcCA+IDApCglmcmFtZV9kaWcgMiAvLyB0b1N3YXA6IHVpbnQ2NAoJaW50IDAKCT4KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTIKCS8vIHRoaXMuZG9BeGZlcih0aGlzLnR4bi5zZW5kZXIsIG91dElkLCB0b1N3YXApCglmcmFtZV9kaWcgMiAvLyB0b1N3YXA6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gb3V0SWQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBkb0F4ZmVyCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE5NAoJLy8gdGhpcy5yYXRpby52YWx1ZSA9IHRoaXMuY29tcHV0ZVJhdGlvKCkKCWJ5dGUgMHg3MiAvLyAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJtaW50KGF4ZmVyLGF4ZmVyLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAic3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NldF9nb3Zlcm5vciAqYWJpX3JvdXRlX2Jvb3RzdHJhcCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9idXJuICphYmlfcm91dGVfc3dhcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/examples/arc58/arc58.algo.ts b/examples/arc58/arc58.algo.ts
new file mode 100644
index 000000000..60d957a55
--- /dev/null
+++ b/examples/arc58/arc58.algo.ts
@@ -0,0 +1,290 @@
+import { Contract } from '../../src/lib';
+
+type PluginsKey = {
+ /** The application containing plugin logic */
+ application: AppID;
+ /** The address that is allowed to initiate a rekey to the plugin */
+ allowedCaller: Address;
+};
+
+type PluginInfo = {
+ /** The last round at which this plugin can be called */
+ lastValidRound: uint64;
+ /** The number of rounds that must pass before the plugin can be called again */
+ cooldown: uint64;
+ /** The last round the plugin was called */
+ lastCalled: uint64;
+ /** Whether the plugin has permissions to change the admin account */
+ adminPrivileges: boolean;
+};
+
+export class AbstractedAccount extends Contract {
+ /** Target AVM 10 */
+ programVersion = 10;
+
+ /** The admin of the abstracted account. This address can add plugins and initiate rekeys */
+ admin = GlobalStateKey
({ key: 'a' });
+
+ /** The address this app controls */
+ controlledAddress = GlobalStateKey({ key: 'c' });
+
+ /**
+ * Plugins that add functionality to the controlledAddress and the account that has permission to use it.
+ */
+ plugins = BoxMap({ prefix: 'p' });
+
+ /**
+ * Plugins that have been given a name for discoverability
+ */
+ namedPlugins = BoxMap({ prefix: 'n' });
+
+ /**
+ * Ensure that by the end of the group the abstracted account has control of its address
+ */
+ private verifyRekeyToAbstractedAccount(): void {
+ let rekeyedBack = false;
+
+ for (let i = this.txn.groupIndex; i < this.txnGroup.length; i += 1) {
+ const txn = this.txnGroup[i];
+
+ // The transaction is an explicit rekey back
+ if (txn.sender === this.controlledAddress.value && txn.rekeyTo === this.controlledAddress.value) {
+ rekeyedBack = true;
+ break;
+ }
+
+ // The transaction is an application call to this app's arc58_verifyAuthAddr method
+ if (
+ txn.typeEnum === TransactionType.ApplicationCall &&
+ txn.applicationID === this.app &&
+ txn.numAppArgs === 1 &&
+ txn.applicationArgs[0] === method('arc58_verifyAuthAddr()void')
+ ) {
+ rekeyedBack = true;
+ break;
+ }
+ }
+
+ assert(rekeyedBack);
+ }
+
+ /**
+ * What the value of this.address.value.authAddr should be when this.controlledAddress
+ * is able to be controlled by this app. It will either be this.app.address or zeroAddress
+ */
+ private getAuthAddr(): Address {
+ return this.controlledAddress.value === this.app.address ? Address.zeroAddress : this.app.address;
+ }
+
+ /**
+ * Create an abstracted account application.
+ * This is not part of ARC58 and implementation specific.
+ *
+ * @param controlledAddress The address of the abstracted account. If zeroAddress, then the address of the contract account will be used
+ * @param admin The admin for this app
+ */
+ createApplication(controlledAddress: Address, admin: Address): void {
+ verifyAppCallTxn(this.txn, {
+ sender: { includedIn: [controlledAddress, admin] },
+ });
+
+ assert(admin !== controlledAddress);
+
+ this.admin.value = admin;
+ this.controlledAddress.value = controlledAddress === Address.zeroAddress ? this.app.address : controlledAddress;
+ }
+
+ /**
+ * Attempt to change the admin for this app. Some implementations MAY not support this.
+ *
+ * @param newAdmin The new admin
+ */
+ arc58_changeAdmin(newAdmin: Address): void {
+ verifyTxn(this.txn, { sender: this.admin.value });
+ this.admin.value = newAdmin;
+ }
+
+ /**
+ * Attempt to change the admin via plugin.
+ *
+ * @param plugin The app calling the plugin
+ * @param allowedCaller The address that triggered the plugin
+ * @param newAdmin The new admin
+ *
+ */
+ arc58_pluginChangeAdmin(plugin: AppID, allowedCaller: Address, newAdmin: Address): void {
+ verifyTxn(this.txn, { sender: plugin.address });
+ assert(this.controlledAddress.value.authAddr === plugin.address, 'This plugin is not in control of the account');
+
+ const key: PluginsKey = { application: plugin, allowedCaller: allowedCaller };
+ assert(
+ this.plugins(key).exists && this.plugins(key).value.adminPrivileges,
+ 'This plugin does not have admin privileges'
+ );
+
+ this.admin.value = newAdmin;
+ }
+
+ /**
+ * Get the admin of this app. This method SHOULD always be used rather than reading directly from state
+ * because different implementations may have different ways of determining the admin.
+ */
+ arc58_getAdmin(): Address {
+ return this.admin.value;
+ }
+
+ /**
+ * Verify the abstracted account is rekeyed to this app
+ */
+ arc58_verifyAuthAddr(): void {
+ assert(this.controlledAddress.value.authAddr === this.getAuthAddr());
+ }
+
+ /**
+ * Rekey the abstracted account to another address. Primarily useful for rekeying to an EOA.
+ *
+ * @param addr The address to rekey to
+ * @param flash Whether or not this should be a flash rekey. If true, the rekey back to the app address must done in the same txn group as this call
+ */
+ arc58_rekeyTo(addr: Address, flash: boolean): void {
+ verifyAppCallTxn(this.txn, { sender: this.admin.value });
+
+ sendPayment({
+ sender: this.controlledAddress.value,
+ receiver: addr,
+ rekeyTo: addr,
+ note: 'rekeying abstracted account',
+ });
+
+ if (flash) this.verifyRekeyToAbstractedAccount();
+ }
+
+ private pluginCallAllowed(app: AppID, caller: Address): boolean {
+ const key: PluginsKey = { application: app, allowedCaller: caller };
+
+ return (
+ this.plugins(key).exists &&
+ this.plugins(key).value.lastValidRound >= globals.round &&
+ globals.round - this.plugins(key).value.lastCalled >= this.plugins(key).value.cooldown
+ );
+ }
+
+ /**
+ * Temporarily rekey to an approved plugin app address
+ *
+ * @param plugin The app to rekey to
+ */
+ arc58_rekeyToPlugin(plugin: AppID): void {
+ const globalAllowed = this.pluginCallAllowed(plugin, Address.zeroAddress);
+
+ if (!globalAllowed)
+ assert(this.pluginCallAllowed(plugin, this.txn.sender), 'This sender is not allowed to trigger this plugin');
+
+ sendPayment({
+ sender: this.controlledAddress.value,
+ receiver: this.controlledAddress.value,
+ rekeyTo: plugin.address,
+ note: 'rekeying to plugin app',
+ });
+
+ this.plugins({
+ application: plugin,
+ allowedCaller: globalAllowed ? Address.zeroAddress : this.txn.sender,
+ }).value.lastCalled = globals.round;
+
+ this.verifyRekeyToAbstractedAccount();
+ }
+
+ /**
+ * Temporarily rekey to a named plugin app address
+ *
+ * @param name The name of the plugin to rekey to
+ */
+ arc58_rekeyToNamedPlugin(name: string): void {
+ this.arc58_rekeyToPlugin(this.namedPlugins(name).value.application);
+ }
+
+ /**
+ * Add an app to the list of approved plugins
+ *
+ * @param app The app to add
+ * @param allowedCaller The address of that's allowed to call the app
+ * or the global zero address for all addresses
+ * @param lastValidRound The round when the permission expires
+ * @param cooldown The number of rounds that must pass before the plugin can be called again
+ * @param adminPrivileges Whether the plugin has permissions to change the admin account
+ */
+ arc58_addPlugin(
+ app: AppID,
+ allowedCaller: Address,
+ lastValidRound: uint64,
+ cooldown: uint64,
+ adminPrivileges: boolean
+ ): void {
+ verifyTxn(this.txn, { sender: this.admin.value });
+ const key: PluginsKey = { application: app, allowedCaller: allowedCaller };
+ this.plugins(key).value = {
+ lastValidRound: lastValidRound,
+ cooldown: cooldown,
+ lastCalled: 0,
+ adminPrivileges: adminPrivileges,
+ };
+ }
+
+ /**
+ * Remove an app from the list of approved plugins
+ *
+ * @param app The app to remove
+ */
+ arc58_removePlugin(app: AppID, allowedCaller: Address): void {
+ verifyTxn(this.txn, { sender: this.admin.value });
+
+ const key: PluginsKey = { application: app, allowedCaller: allowedCaller };
+ this.plugins(key).delete();
+ }
+
+ /**
+ * Add a named plugin
+ *
+ * @param app The plugin app
+ * @param name The plugin name
+ * @param allowedCaller The address of that's allowed to call the app
+ * or the global zero address for all addresses
+ * @param lastValidRound The round when the permission expires
+ * @param cooldown The number of rounds that must pass before the plugin can be called again
+ * @param adminPrivileges Whether the plugin has permissions to change the admin account
+ */
+ arc58_addNamedPlugin(
+ name: string,
+ app: AppID,
+ allowedCaller: Address,
+ lastValidRound: uint64,
+ cooldown: uint64,
+ adminPrivileges: boolean
+ ): void {
+ verifyTxn(this.txn, { sender: this.admin.value });
+ assert(!this.namedPlugins(name).exists);
+
+ const key: PluginsKey = { application: app, allowedCaller: allowedCaller };
+ this.namedPlugins(name).value = key;
+ this.plugins(key).value = {
+ lastValidRound: lastValidRound,
+ cooldown: cooldown,
+ lastCalled: 0,
+ adminPrivileges: adminPrivileges,
+ };
+ }
+
+ /**
+ * Remove a named plugin
+ *
+ * @param name The plugin name
+ */
+ arc58_removeNamedPlugin(name: string): void {
+ verifyTxn(this.txn, { sender: this.admin.value });
+
+ const app = this.namedPlugins(name).value;
+ this.namedPlugins(name).delete();
+ this.plugins(app).delete();
+ }
+}
diff --git a/examples/arc58/artifacts/AbstractedAccount.approval.teal b/examples/arc58/artifacts/AbstractedAccount.approval.teal
new file mode 100644
index 000000000..cb66cc01c
--- /dev/null
+++ b/examples/arc58/artifacts/AbstractedAccount.approval.teal
@@ -0,0 +1,1183 @@
+#pragma version 10
+
+// This TEAL was generated by TEALScript v0.103.0
+// https://github.com/algorandfoundation/TEALScript
+
+// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
+
+// The following ten lines of TEAL handle initial program flow
+// This pattern is used to make it easy for anyone to parse the start of the program and determine if a specific action is allowed
+// Here, action refers to the OnComplete in combination with whether the app is being created or called
+// Every possible action for this contract is represented in the switch statement
+// If the action is not implemented in the contract, its respective branch will be "*NOT_IMPLEMENTED" which just contains "err"
+txn ApplicationID
+!
+int 6
+*
+txn OnCompletion
++
+switch *call_NoOp *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *create_NoOp *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED
+
+*NOT_IMPLEMENTED:
+ // The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?
+ err
+
+// verifyRekeyToAbstractedAccount(): void
+//
+// Ensure that by the end of the group the abstracted account has control of its address
+verifyRekeyToAbstractedAccount:
+ proto 0 0
+
+ // Push empty bytes after the frame pointer to reserve space for local variables
+ byte 0x
+ dupn 2
+
+ // examples/arc58/arc58.algo.ts:45
+ // rekeyedBack = false
+ int 0
+ frame_bury 0 // rekeyedBack: bool
+
+ // examples/arc58/arc58.algo.ts:47
+ // for (let i = this.txn.groupIndex; i < this.txnGroup.length; i += 1)
+ txn GroupIndex
+ frame_bury 1 // i: uint64
+
+*for_0:
+ // examples/arc58/arc58.algo.ts:47
+ // i < this.txnGroup.length
+ frame_dig 1 // i: uint64
+ global GroupSize
+ <
+ bz *for_0_end
+
+ // examples/arc58/arc58.algo.ts:48
+ // txn = this.txnGroup[i]
+ frame_dig 1 // i: uint64
+ frame_bury 2 // txn: txn
+
+ // *if0_condition
+ // examples/arc58/arc58.algo.ts:51
+ // txn.sender === this.controlledAddress.value && txn.rekeyTo === this.controlledAddress.value
+ frame_dig 2 // txn: txn
+ gtxns Sender
+ byte 0x63 // "c"
+ app_global_get
+ ==
+ dup
+ bz *skip_and0
+ frame_dig 2 // txn: txn
+ gtxns RekeyTo
+ byte 0x63 // "c"
+ app_global_get
+ ==
+ &&
+
+*skip_and0:
+ bz *if0_end
+
+ // *if0_consequent
+ // examples/arc58/arc58.algo.ts:52
+ // rekeyedBack = true
+ int 1
+ frame_bury 0 // rekeyedBack: bool
+ b *for_0_end
+
+*if0_end:
+ // *if1_condition
+ // examples/arc58/arc58.algo.ts:58
+ // txn.typeEnum === TransactionType.ApplicationCall &&
+ // txn.applicationID === this.app &&
+ // txn.numAppArgs === 1 &&
+ // txn.applicationArgs[0] === method('arc58_verifyAuthAddr()void')
+ frame_dig 2 // txn: txn
+ gtxns TypeEnum
+ int appl
+ ==
+ dup
+ bz *skip_and1
+ frame_dig 2 // txn: txn
+ gtxns ApplicationID
+ txna Applications 0
+ ==
+ &&
+
+*skip_and1:
+ dup
+ bz *skip_and2
+ frame_dig 2 // txn: txn
+ gtxns NumAppArgs
+ int 1
+ ==
+ &&
+
+*skip_and2:
+ dup
+ bz *skip_and3
+ frame_dig 2 // txn: txn
+ gtxns ApplicationArgs 0
+ method "arc58_verifyAuthAddr()void"
+ ==
+ &&
+
+*skip_and3:
+ bz *if1_end
+
+ // *if1_consequent
+ // examples/arc58/arc58.algo.ts:63
+ // rekeyedBack = true
+ int 1
+ frame_bury 0 // rekeyedBack: bool
+ b *for_0_end
+
+*if1_end:
+
+*for_0_continue:
+ // examples/arc58/arc58.algo.ts:47
+ // i += 1
+ frame_dig 1 // i: uint64
+ int 1
+ +
+ frame_bury 1 // i: uint64
+ b *for_0
+
+*for_0_end:
+ // examples/arc58/arc58.algo.ts:68
+ // assert(rekeyedBack)
+ frame_dig 0 // rekeyedBack: bool
+ assert
+ retsub
+
+// getAuthAddr(): Address
+//
+// What the value of this.address.value.authAddr should be when this.controlledAddress
+// is able to be controlled by this app. It will either be this.app.address or zeroAddress
+getAuthAddr:
+ proto 0 1
+
+ // examples/arc58/arc58.algo.ts:76
+ // return this.controlledAddress.value === this.app.address ? Address.zeroAddress : this.app.address;
+ byte 0x63 // "c"
+ app_global_get
+ global CurrentApplicationAddress
+ ==
+ bz *ternary0_false
+ global ZeroAddress
+ b *ternary0_end
+
+*ternary0_false:
+ global CurrentApplicationAddress
+
+*ternary0_end:
+ retsub
+
+// createApplication(address,address)void
+*abi_route_createApplication:
+ // admin: address
+ txna ApplicationArgs 2
+ dup
+ len
+ int 32
+ ==
+
+ // argument 0 (admin) for createApplication must be a address
+ assert
+
+ // controlledAddress: address
+ txna ApplicationArgs 1
+ dup
+ len
+ int 32
+ ==
+
+ // argument 1 (controlledAddress) for createApplication must be a address
+ assert
+
+ // execute createApplication(address,address)void
+ callsub createApplication
+ int 1
+ return
+
+// createApplication(controlledAddress: Address, admin: Address): void
+//
+// Create an abstracted account application.
+// This is not part of ARC58 and implementation specific.
+//
+// @param controlledAddress The address of the abstracted account. If zeroAddress, then the address of the contract account will be used
+// @param admin The admin for this app
+createApplication:
+ proto 2 0
+
+ // examples/arc58/arc58.algo.ts:87
+ // verifyAppCallTxn(this.txn, {
+ // sender: { includedIn: [controlledAddress, admin] },
+ // })
+ // verify sender
+ txn Sender
+ frame_dig -1 // controlledAddress: Address
+ ==
+ txn Sender
+ frame_dig -2 // admin: Address
+ ==
+ ||
+
+ // transaction verification failed: {"txn":{"txnText":"this.txn"},"field":"sender","condition":"includedIn","expected":"[controlledAddress, admin]"}
+ assert
+
+ // examples/arc58/arc58.algo.ts:91
+ // assert(admin !== controlledAddress)
+ frame_dig -2 // admin: Address
+ frame_dig -1 // controlledAddress: Address
+ !=
+ assert
+
+ // examples/arc58/arc58.algo.ts:93
+ // this.admin.value = admin
+ byte 0x61 // "a"
+ frame_dig -2 // admin: Address
+ app_global_put
+
+ // examples/arc58/arc58.algo.ts:94
+ // this.controlledAddress.value = controlledAddress === Address.zeroAddress ? this.app.address : controlledAddress
+ byte 0x63 // "c"
+ frame_dig -1 // controlledAddress: Address
+ global ZeroAddress
+ ==
+ bz *ternary1_false
+ global CurrentApplicationAddress
+ b *ternary1_end
+
+*ternary1_false:
+ frame_dig -1 // controlledAddress: Address
+
+*ternary1_end:
+ app_global_put
+ retsub
+
+// arc58_changeAdmin(address)void
+*abi_route_arc58_changeAdmin:
+ // newAdmin: address
+ txna ApplicationArgs 1
+ dup
+ len
+ int 32
+ ==
+
+ // argument 0 (newAdmin) for arc58_changeAdmin must be a address
+ assert
+
+ // execute arc58_changeAdmin(address)void
+ callsub arc58_changeAdmin
+ int 1
+ return
+
+// arc58_changeAdmin(newAdmin: Address): void
+//
+// Attempt to change the admin for this app. Some implementations MAY not support this.
+//
+// @param newAdmin The new admin
+arc58_changeAdmin:
+ proto 1 0
+
+ // examples/arc58/arc58.algo.ts:103
+ // verifyTxn(this.txn, { sender: this.admin.value })
+ // verify sender
+ txn Sender
+ byte 0x61 // "a"
+ app_global_get
+ ==
+
+ // transaction verification failed: {"txn":"this.txn","field":"sender","expected":"this.admin.value"}
+ assert
+
+ // examples/arc58/arc58.algo.ts:104
+ // this.admin.value = newAdmin
+ byte 0x61 // "a"
+ frame_dig -1 // newAdmin: Address
+ app_global_put
+ retsub
+
+// arc58_pluginChangeAdmin(uint64,address,address)void
+*abi_route_arc58_pluginChangeAdmin:
+ // newAdmin: address
+ txna ApplicationArgs 3
+ dup
+ len
+ int 32
+ ==
+
+ // argument 0 (newAdmin) for arc58_pluginChangeAdmin must be a address
+ assert
+
+ // allowedCaller: address
+ txna ApplicationArgs 2
+ dup
+ len
+ int 32
+ ==
+
+ // argument 1 (allowedCaller) for arc58_pluginChangeAdmin must be a address
+ assert
+
+ // plugin: uint64
+ txna ApplicationArgs 1
+ btoi
+
+ // execute arc58_pluginChangeAdmin(uint64,address,address)void
+ callsub arc58_pluginChangeAdmin
+ int 1
+ return
+
+// arc58_pluginChangeAdmin(plugin: AppID, allowedCaller: Address, newAdmin: Address): void
+//
+// Attempt to change the admin via plugin.
+//
+// @param plugin The app calling the plugin
+// @param allowedCaller The address that triggered the plugin
+// @param newAdmin The new admin
+arc58_pluginChangeAdmin:
+ proto 3 0
+
+ // Push empty bytes after the frame pointer to reserve space for local variables
+ byte 0x
+
+ // examples/arc58/arc58.algo.ts:116
+ // verifyTxn(this.txn, { sender: plugin.address })
+ // verify sender
+ txn Sender
+ frame_dig -1 // plugin: AppID
+ app_params_get AppAddress
+ pop
+ ==
+
+ // transaction verification failed: {"txn":"this.txn","field":"sender","expected":"plugin.address"}
+ assert
+
+ // examples/arc58/arc58.algo.ts:117
+ // assert(this.controlledAddress.value.authAddr === plugin.address, 'This plugin is not in control of the account')
+ byte 0x63 // "c"
+ app_global_get
+ acct_params_get AcctAuthAddr
+ pop
+ frame_dig -1 // plugin: AppID
+ app_params_get AppAddress
+ pop
+ ==
+
+ // This plugin is not in control of the account
+ assert
+
+ // examples/arc58/arc58.algo.ts:119
+ // key: PluginsKey = { application: plugin, allowedCaller: allowedCaller }
+ frame_dig -1 // plugin: AppID
+ itob
+ frame_dig -2 // allowedCaller: Address
+ concat
+ frame_bury 0 // key: PluginsKey
+
+ // examples/arc58/arc58.algo.ts:120
+ // assert(
+ // this.plugins(key).exists && this.plugins(key).value.adminPrivileges,
+ // 'This plugin does not have admin privileges'
+ // )
+ byte 0x70 // "p"
+ frame_dig 0 // key: PluginsKey
+ concat
+ box_len
+ swap
+ pop
+ dup
+ bz *skip_and4
+ byte 0x70 // "p"
+ frame_dig 0 // key: PluginsKey
+ concat
+ box_get
+
+ // box value does not exist: this.plugins(key).value
+ assert
+ store 255 // full array
+ load 255 // full array
+ int 192
+ getbit
+ &&
+
+*skip_and4:
+ // This plugin does not have admin privileges
+ assert
+
+ // examples/arc58/arc58.algo.ts:125
+ // this.admin.value = newAdmin
+ byte 0x61 // "a"
+ frame_dig -3 // newAdmin: Address
+ app_global_put
+ retsub
+
+// arc58_getAdmin()address
+*abi_route_arc58_getAdmin:
+ // The ABI return prefix
+ byte 0x151f7c75
+
+ // execute arc58_getAdmin()address
+ callsub arc58_getAdmin
+ concat
+ log
+ int 1
+ return
+
+// arc58_getAdmin(): Address
+//
+// Get the admin of this app. This method SHOULD always be used rather than reading directly from state
+// because different implementations may have different ways of determining the admin.
+arc58_getAdmin:
+ proto 0 1
+
+ // examples/arc58/arc58.algo.ts:133
+ // return this.admin.value;
+ byte 0x61 // "a"
+ app_global_get
+ retsub
+
+// arc58_verifyAuthAddr()void
+*abi_route_arc58_verifyAuthAddr:
+ // execute arc58_verifyAuthAddr()void
+ callsub arc58_verifyAuthAddr
+ int 1
+ return
+
+// arc58_verifyAuthAddr(): void
+//
+// Verify the abstracted account is rekeyed to this app
+arc58_verifyAuthAddr:
+ proto 0 0
+
+ // examples/arc58/arc58.algo.ts:140
+ // assert(this.controlledAddress.value.authAddr === this.getAuthAddr())
+ byte 0x63 // "c"
+ app_global_get
+ acct_params_get AcctAuthAddr
+ pop
+ callsub getAuthAddr
+ ==
+ assert
+ retsub
+
+// arc58_rekeyTo(address,bool)void
+*abi_route_arc58_rekeyTo:
+ // flash: bool
+ txna ApplicationArgs 2
+ dup
+ len
+ int 1
+ ==
+
+ // argument 0 (flash) for arc58_rekeyTo must be a bool
+ assert
+ int 0
+ getbit
+
+ // addr: address
+ txna ApplicationArgs 1
+ dup
+ len
+ int 32
+ ==
+
+ // argument 1 (addr) for arc58_rekeyTo must be a address
+ assert
+
+ // execute arc58_rekeyTo(address,bool)void
+ callsub arc58_rekeyTo
+ int 1
+ return
+
+// arc58_rekeyTo(addr: Address, flash: boolean): void
+//
+// Rekey the abstracted account to another address. Primarily useful for rekeying to an EOA.
+//
+// @param addr The address to rekey to
+// @param flash Whether or not this should be a flash rekey. If true, the rekey back to the app address must done in the same txn group as this call
+arc58_rekeyTo:
+ proto 2 0
+
+ // examples/arc58/arc58.algo.ts:150
+ // verifyAppCallTxn(this.txn, { sender: this.admin.value })
+ // verify sender
+ txn Sender
+ byte 0x61 // "a"
+ app_global_get
+ ==
+
+ // transaction verification failed: {"txn":"this.txn","field":"sender","expected":"this.admin.value"}
+ assert
+
+ // examples/arc58/arc58.algo.ts:152
+ // sendPayment({
+ // sender: this.controlledAddress.value,
+ // receiver: addr,
+ // rekeyTo: addr,
+ // note: 'rekeying abstracted account',
+ // })
+ itxn_begin
+ int pay
+ itxn_field TypeEnum
+
+ // examples/arc58/arc58.algo.ts:153
+ // sender: this.controlledAddress.value
+ byte 0x63 // "c"
+ app_global_get
+ itxn_field Sender
+
+ // examples/arc58/arc58.algo.ts:154
+ // receiver: addr
+ frame_dig -1 // addr: Address
+ itxn_field Receiver
+
+ // examples/arc58/arc58.algo.ts:155
+ // rekeyTo: addr
+ frame_dig -1 // addr: Address
+ itxn_field RekeyTo
+
+ // examples/arc58/arc58.algo.ts:156
+ // note: 'rekeying abstracted account'
+ byte 0x72656b6579696e672061627374726163746564206163636f756e74 // "rekeying abstracted account"
+ itxn_field Note
+
+ // Fee field not set, defaulting to 0
+ int 0
+ itxn_field Fee
+
+ // Submit inner transaction
+ itxn_submit
+
+ // *if2_condition
+ // examples/arc58/arc58.algo.ts:159
+ // flash
+ frame_dig -2 // flash: boolean
+ bz *if2_end
+
+ // *if2_consequent
+ // examples/arc58/arc58.algo.ts:159
+ // this.verifyRekeyToAbstractedAccount()
+ callsub verifyRekeyToAbstractedAccount
+
+*if2_end:
+ retsub
+
+// pluginCallAllowed(app: AppID, caller: Address): boolean
+pluginCallAllowed:
+ proto 2 1
+
+ // Push empty bytes after the frame pointer to reserve space for local variables
+ byte 0x
+
+ // examples/arc58/arc58.algo.ts:163
+ // key: PluginsKey = { application: app, allowedCaller: caller }
+ frame_dig -1 // app: AppID
+ itob
+ frame_dig -2 // caller: Address
+ concat
+ frame_bury 0 // key: PluginsKey
+
+ // examples/arc58/arc58.algo.ts:165
+ // return (
+ // this.plugins(key).exists &&
+ // this.plugins(key).value.lastValidRound >= globals.round &&
+ // globals.round - this.plugins(key).value.lastCalled >= this.plugins(key).value.cooldown
+ // );
+ byte 0x70 // "p"
+ frame_dig 0 // key: PluginsKey
+ concat
+ box_len
+ swap
+ pop
+ dup
+ bz *skip_and5
+ byte 0x70 // "p"
+ frame_dig 0 // key: PluginsKey
+ concat
+ box_get
+
+ // box value does not exist: this.plugins(key).value
+ assert
+ store 255 // full array
+ load 255 // full array
+ extract 0 8
+ btoi
+ global Round
+ >=
+ &&
+
+*skip_and5:
+ dup
+ bz *skip_and6
+ global Round
+ byte 0x70 // "p"
+ frame_dig 0 // key: PluginsKey
+ concat
+ box_get
+
+ // box value does not exist: this.plugins(key).value
+ assert
+ store 255 // full array
+ load 255 // full array
+ extract 16 8
+ btoi
+ -
+ byte 0x70 // "p"
+ frame_dig 0 // key: PluginsKey
+ concat
+ box_get
+
+ // box value does not exist: this.plugins(key).value
+ assert
+ store 255 // full array
+ load 255 // full array
+ extract 8 8
+ btoi
+ >=
+ &&
+
+*skip_and6:
+ // set the subroutine return value
+ frame_bury 0
+ retsub
+
+// arc58_rekeyToPlugin(uint64)void
+*abi_route_arc58_rekeyToPlugin:
+ // plugin: uint64
+ txna ApplicationArgs 1
+ btoi
+
+ // execute arc58_rekeyToPlugin(uint64)void
+ callsub arc58_rekeyToPlugin
+ int 1
+ return
+
+// arc58_rekeyToPlugin(plugin: AppID): void
+//
+// Temporarily rekey to an approved plugin app address
+//
+// @param plugin The app to rekey to
+arc58_rekeyToPlugin:
+ proto 1 0
+
+ // Push empty bytes after the frame pointer to reserve space for local variables
+ byte 0x
+
+ // examples/arc58/arc58.algo.ts:178
+ // globalAllowed = this.pluginCallAllowed(plugin, Address.zeroAddress)
+ global ZeroAddress
+ frame_dig -1 // plugin: AppID
+ callsub pluginCallAllowed
+ frame_bury 0 // globalAllowed: bool
+
+ // *if3_condition
+ // examples/arc58/arc58.algo.ts:180
+ // !globalAllowed
+ frame_dig 0 // globalAllowed: bool
+ !
+ bz *if3_end
+
+ // *if3_consequent
+ // examples/arc58/arc58.algo.ts:181
+ // assert(this.pluginCallAllowed(plugin, this.txn.sender), 'This sender is not allowed to trigger this plugin')
+ txn Sender
+ frame_dig -1 // plugin: AppID
+ callsub pluginCallAllowed
+
+ // This sender is not allowed to trigger this plugin
+ assert
+
+*if3_end:
+ // examples/arc58/arc58.algo.ts:183
+ // sendPayment({
+ // sender: this.controlledAddress.value,
+ // receiver: this.controlledAddress.value,
+ // rekeyTo: plugin.address,
+ // note: 'rekeying to plugin app',
+ // })
+ itxn_begin
+ int pay
+ itxn_field TypeEnum
+
+ // examples/arc58/arc58.algo.ts:184
+ // sender: this.controlledAddress.value
+ byte 0x63 // "c"
+ app_global_get
+ itxn_field Sender
+
+ // examples/arc58/arc58.algo.ts:185
+ // receiver: this.controlledAddress.value
+ byte 0x63 // "c"
+ app_global_get
+ itxn_field Receiver
+
+ // examples/arc58/arc58.algo.ts:186
+ // rekeyTo: plugin.address
+ frame_dig -1 // plugin: AppID
+ app_params_get AppAddress
+ pop
+ itxn_field RekeyTo
+
+ // examples/arc58/arc58.algo.ts:187
+ // note: 'rekeying to plugin app'
+ byte 0x72656b6579696e6720746f20706c7567696e20617070 // "rekeying to plugin app"
+ itxn_field Note
+
+ // Fee field not set, defaulting to 0
+ int 0
+ itxn_field Fee
+
+ // Submit inner transaction
+ itxn_submit
+
+ // examples/arc58/arc58.algo.ts:190
+ // this.plugins({
+ // application: plugin,
+ // allowedCaller: globalAllowed ? Address.zeroAddress : this.txn.sender,
+ // }).value.lastCalled = globals.round
+ byte 0x70 // "p"
+ frame_dig -1 // plugin: AppID
+ itob
+ frame_dig 0 // globalAllowed: bool
+ bz *ternary3_false
+ global ZeroAddress
+ b *ternary3_end
+
+*ternary3_false:
+ txn Sender
+
+*ternary3_end:
+ concat
+ concat
+ box_get
+
+ // box value does not exist: this.plugins({ application: plugin, allowedCaller: globalAllowed ? Address.zeroAddress : this.txn.sender, }).value
+ assert
+ store 255 // full array
+ load 255 // full array
+ int 16
+ global Round
+ itob
+ byte 0x70 // "p"
+ frame_dig -1 // plugin: AppID
+ itob
+ frame_dig 0 // globalAllowed: bool
+ bz *ternary5_false
+ global ZeroAddress
+ b *ternary5_end
+
+*ternary5_false:
+ txn Sender
+
+*ternary5_end:
+ concat
+ concat
+ cover 2
+ box_replace
+
+ // examples/arc58/arc58.algo.ts:195
+ // this.verifyRekeyToAbstractedAccount()
+ callsub verifyRekeyToAbstractedAccount
+ retsub
+
+// arc58_rekeyToNamedPlugin(string)void
+*abi_route_arc58_rekeyToNamedPlugin:
+ // name: string
+ txna ApplicationArgs 1
+ extract 2 0
+
+ // execute arc58_rekeyToNamedPlugin(string)void
+ callsub arc58_rekeyToNamedPlugin
+ int 1
+ return
+
+// arc58_rekeyToNamedPlugin(name: string): void
+//
+// Temporarily rekey to a named plugin app address
+//
+// @param name The name of the plugin to rekey to
+arc58_rekeyToNamedPlugin:
+ proto 1 0
+
+ // examples/arc58/arc58.algo.ts:204
+ // this.arc58_rekeyToPlugin(this.namedPlugins(name).value.application)
+ int 0
+ int 8
+ byte 0x6e // "n"
+ frame_dig -1 // name: string
+ concat
+ cover 2
+ box_extract
+ btoi
+ callsub arc58_rekeyToPlugin
+ retsub
+
+// arc58_addPlugin(uint64,address,uint64,uint64,bool)void
+*abi_route_arc58_addPlugin:
+ // adminPrivileges: bool
+ txna ApplicationArgs 5
+ dup
+ len
+ int 1
+ ==
+
+ // argument 0 (adminPrivileges) for arc58_addPlugin must be a bool
+ assert
+ int 0
+ getbit
+
+ // cooldown: uint64
+ txna ApplicationArgs 4
+ btoi
+
+ // lastValidRound: uint64
+ txna ApplicationArgs 3
+ btoi
+
+ // allowedCaller: address
+ txna ApplicationArgs 2
+ dup
+ len
+ int 32
+ ==
+
+ // argument 3 (allowedCaller) for arc58_addPlugin must be a address
+ assert
+
+ // app: uint64
+ txna ApplicationArgs 1
+ btoi
+
+ // execute arc58_addPlugin(uint64,address,uint64,uint64,bool)void
+ callsub arc58_addPlugin
+ int 1
+ return
+
+// arc58_addPlugin(app: AppID, allowedCaller: Address, lastValidRound: uint64, cooldown: uint64, adminPrivileges: boolean): void
+//
+// Add an app to the list of approved plugins
+//
+// @param app The app to add
+// @param allowedCaller The address of that's allowed to call the app
+// or the global zero address for all addresses
+// @param lastValidRound The round when the permission expires
+// @param cooldown The number of rounds that must pass before the plugin can be called again
+// @param adminPrivileges Whether the plugin has permissions to change the admin account
+arc58_addPlugin:
+ proto 5 0
+
+ // Push empty bytes after the frame pointer to reserve space for local variables
+ byte 0x
+
+ // examples/arc58/arc58.algo.ts:224
+ // verifyTxn(this.txn, { sender: this.admin.value })
+ // verify sender
+ txn Sender
+ byte 0x61 // "a"
+ app_global_get
+ ==
+
+ // transaction verification failed: {"txn":"this.txn","field":"sender","expected":"this.admin.value"}
+ assert
+
+ // examples/arc58/arc58.algo.ts:225
+ // key: PluginsKey = { application: app, allowedCaller: allowedCaller }
+ frame_dig -1 // app: AppID
+ itob
+ frame_dig -2 // allowedCaller: Address
+ concat
+ frame_bury 0 // key: PluginsKey
+
+ // examples/arc58/arc58.algo.ts:226
+ // this.plugins(key).value = {
+ // lastValidRound: lastValidRound,
+ // cooldown: cooldown,
+ // lastCalled: 0,
+ // adminPrivileges: adminPrivileges,
+ // }
+ byte 0x70 // "p"
+ frame_dig 0 // key: PluginsKey
+ concat
+ frame_dig -3 // lastValidRound: uint64
+ itob
+ frame_dig -4 // cooldown: uint64
+ itob
+ concat
+ byte 0x0000000000000000
+ concat
+ byte 0x00
+ int 0
+ frame_dig -5 // adminPrivileges: boolean
+ setbit
+ concat
+ box_put
+ retsub
+
+// arc58_removePlugin(uint64,address)void
+*abi_route_arc58_removePlugin:
+ // allowedCaller: address
+ txna ApplicationArgs 2
+ dup
+ len
+ int 32
+ ==
+
+ // argument 0 (allowedCaller) for arc58_removePlugin must be a address
+ assert
+
+ // app: uint64
+ txna ApplicationArgs 1
+ btoi
+
+ // execute arc58_removePlugin(uint64,address)void
+ callsub arc58_removePlugin
+ int 1
+ return
+
+// arc58_removePlugin(app: AppID, allowedCaller: Address): void
+//
+// Remove an app from the list of approved plugins
+//
+// @param app The app to remove
+arc58_removePlugin:
+ proto 2 0
+
+ // Push empty bytes after the frame pointer to reserve space for local variables
+ byte 0x
+
+ // examples/arc58/arc58.algo.ts:240
+ // verifyTxn(this.txn, { sender: this.admin.value })
+ // verify sender
+ txn Sender
+ byte 0x61 // "a"
+ app_global_get
+ ==
+
+ // transaction verification failed: {"txn":"this.txn","field":"sender","expected":"this.admin.value"}
+ assert
+
+ // examples/arc58/arc58.algo.ts:242
+ // key: PluginsKey = { application: app, allowedCaller: allowedCaller }
+ frame_dig -1 // app: AppID
+ itob
+ frame_dig -2 // allowedCaller: Address
+ concat
+ frame_bury 0 // key: PluginsKey
+
+ // examples/arc58/arc58.algo.ts:243
+ // this.plugins(key).delete()
+ byte 0x70 // "p"
+ frame_dig 0 // key: PluginsKey
+ concat
+ box_del
+ retsub
+
+// arc58_addNamedPlugin(string,uint64,address,uint64,uint64,bool)void
+*abi_route_arc58_addNamedPlugin:
+ // adminPrivileges: bool
+ txna ApplicationArgs 6
+ dup
+ len
+ int 1
+ ==
+
+ // argument 0 (adminPrivileges) for arc58_addNamedPlugin must be a bool
+ assert
+ int 0
+ getbit
+
+ // cooldown: uint64
+ txna ApplicationArgs 5
+ btoi
+
+ // lastValidRound: uint64
+ txna ApplicationArgs 4
+ btoi
+
+ // allowedCaller: address
+ txna ApplicationArgs 3
+ dup
+ len
+ int 32
+ ==
+
+ // argument 3 (allowedCaller) for arc58_addNamedPlugin must be a address
+ assert
+
+ // app: uint64
+ txna ApplicationArgs 2
+ btoi
+
+ // name: string
+ txna ApplicationArgs 1
+ extract 2 0
+
+ // execute arc58_addNamedPlugin(string,uint64,address,uint64,uint64,bool)void
+ callsub arc58_addNamedPlugin
+ int 1
+ return
+
+// arc58_addNamedPlugin(name: string, app: AppID, allowedCaller: Address, lastValidRound: uint64, cooldown: uint64, adminPrivileges: boolean): void
+//
+// Add a named plugin
+//
+// @param app The plugin app
+// @param name The plugin name
+// @param allowedCaller The address of that's allowed to call the app
+// or the global zero address for all addresses
+// @param lastValidRound The round when the permission expires
+// @param cooldown The number of rounds that must pass before the plugin can be called again
+// @param adminPrivileges Whether the plugin has permissions to change the admin account
+arc58_addNamedPlugin:
+ proto 6 0
+
+ // Push empty bytes after the frame pointer to reserve space for local variables
+ byte 0x
+
+ // examples/arc58/arc58.algo.ts:265
+ // verifyTxn(this.txn, { sender: this.admin.value })
+ // verify sender
+ txn Sender
+ byte 0x61 // "a"
+ app_global_get
+ ==
+
+ // transaction verification failed: {"txn":"this.txn","field":"sender","expected":"this.admin.value"}
+ assert
+
+ // examples/arc58/arc58.algo.ts:266
+ // assert(!this.namedPlugins(name).exists)
+ byte 0x6e // "n"
+ frame_dig -1 // name: string
+ concat
+ box_len
+ swap
+ pop
+ !
+ assert
+
+ // examples/arc58/arc58.algo.ts:268
+ // key: PluginsKey = { application: app, allowedCaller: allowedCaller }
+ frame_dig -2 // app: AppID
+ itob
+ frame_dig -3 // allowedCaller: Address
+ concat
+ frame_bury 0 // key: PluginsKey
+
+ // examples/arc58/arc58.algo.ts:269
+ // this.namedPlugins(name).value = key
+ byte 0x6e // "n"
+ frame_dig -1 // name: string
+ concat
+ frame_dig 0 // key: PluginsKey
+ box_put
+
+ // examples/arc58/arc58.algo.ts:270
+ // this.plugins(key).value = {
+ // lastValidRound: lastValidRound,
+ // cooldown: cooldown,
+ // lastCalled: 0,
+ // adminPrivileges: adminPrivileges,
+ // }
+ byte 0x70 // "p"
+ frame_dig 0 // key: PluginsKey
+ concat
+ frame_dig -4 // lastValidRound: uint64
+ itob
+ frame_dig -5 // cooldown: uint64
+ itob
+ concat
+ byte 0x0000000000000000
+ concat
+ byte 0x00
+ int 0
+ frame_dig -6 // adminPrivileges: boolean
+ setbit
+ concat
+ box_put
+ retsub
+
+// arc58_removeNamedPlugin(string)void
+*abi_route_arc58_removeNamedPlugin:
+ // name: string
+ txna ApplicationArgs 1
+ extract 2 0
+
+ // execute arc58_removeNamedPlugin(string)void
+ callsub arc58_removeNamedPlugin
+ int 1
+ return
+
+// arc58_removeNamedPlugin(name: string): void
+//
+// Remove a named plugin
+//
+// @param name The plugin name
+arc58_removeNamedPlugin:
+ proto 1 0
+
+ // Push empty bytes after the frame pointer to reserve space for local variables
+ byte 0x
+
+ // examples/arc58/arc58.algo.ts:284
+ // verifyTxn(this.txn, { sender: this.admin.value })
+ // verify sender
+ txn Sender
+ byte 0x61 // "a"
+ app_global_get
+ ==
+
+ // transaction verification failed: {"txn":"this.txn","field":"sender","expected":"this.admin.value"}
+ assert
+
+ // examples/arc58/arc58.algo.ts:286
+ // app = this.namedPlugins(name).value
+ byte 0x6e // "n"
+ frame_dig -1 // name: string
+ concat
+ frame_bury 0 // storage key//app
+
+ // examples/arc58/arc58.algo.ts:287
+ // this.namedPlugins(name).delete()
+ byte 0x6e // "n"
+ frame_dig -1 // name: string
+ concat
+ box_del
+
+ // examples/arc58/arc58.algo.ts:288
+ // this.plugins(app).delete()
+ byte 0x70 // "p"
+ frame_dig 0 // storage key//app
+ box_get
+
+ // box value does not exist: this.namedPlugins(name).value
+ assert
+ concat
+ box_del
+ retsub
+
+*create_NoOp:
+ method "createApplication(address,address)void"
+ txna ApplicationArgs 0
+ match *abi_route_createApplication
+
+ // this contract does not implement the given ABI method for create NoOp
+ err
+
+*call_NoOp:
+ method "arc58_changeAdmin(address)void"
+ method "arc58_pluginChangeAdmin(uint64,address,address)void"
+ method "arc58_getAdmin()address"
+ method "arc58_verifyAuthAddr()void"
+ method "arc58_rekeyTo(address,bool)void"
+ method "arc58_rekeyToPlugin(uint64)void"
+ method "arc58_rekeyToNamedPlugin(string)void"
+ method "arc58_addPlugin(uint64,address,uint64,uint64,bool)void"
+ method "arc58_removePlugin(uint64,address)void"
+ method "arc58_addNamedPlugin(string,uint64,address,uint64,uint64,bool)void"
+ method "arc58_removeNamedPlugin(string)void"
+ txna ApplicationArgs 0
+ match *abi_route_arc58_changeAdmin *abi_route_arc58_pluginChangeAdmin *abi_route_arc58_getAdmin *abi_route_arc58_verifyAuthAddr *abi_route_arc58_rekeyTo *abi_route_arc58_rekeyToPlugin *abi_route_arc58_rekeyToNamedPlugin *abi_route_arc58_addPlugin *abi_route_arc58_removePlugin *abi_route_arc58_addNamedPlugin *abi_route_arc58_removeNamedPlugin
+
+ // this contract does not implement the given ABI method for call NoOp
+ err
\ No newline at end of file
diff --git a/examples/arc58/artifacts/AbstractedAccount.arc32.json b/examples/arc58/artifacts/AbstractedAccount.arc32.json
new file mode 100644
index 000000000..1df5f4e24
--- /dev/null
+++ b/examples/arc58/artifacts/AbstractedAccount.arc32.json
@@ -0,0 +1,335 @@
+{
+ "hints": {
+ "createApplication(address,address)void": {
+ "call_config": {
+ "no_op": "CREATE"
+ }
+ },
+ "arc58_changeAdmin(address)void": {
+ "call_config": {
+ "no_op": "CALL"
+ }
+ },
+ "arc58_pluginChangeAdmin(uint64,address,address)void": {
+ "call_config": {
+ "no_op": "CALL"
+ }
+ },
+ "arc58_getAdmin()address": {
+ "call_config": {
+ "no_op": "CALL"
+ }
+ },
+ "arc58_verifyAuthAddr()void": {
+ "call_config": {
+ "no_op": "CALL"
+ }
+ },
+ "arc58_rekeyTo(address,bool)void": {
+ "call_config": {
+ "no_op": "CALL"
+ }
+ },
+ "arc58_rekeyToPlugin(uint64)void": {
+ "call_config": {
+ "no_op": "CALL"
+ }
+ },
+ "arc58_rekeyToNamedPlugin(string)void": {
+ "call_config": {
+ "no_op": "CALL"
+ }
+ },
+ "arc58_addPlugin(uint64,address,uint64,uint64,bool)void": {
+ "call_config": {
+ "no_op": "CALL"
+ }
+ },
+ "arc58_removePlugin(uint64,address)void": {
+ "call_config": {
+ "no_op": "CALL"
+ }
+ },
+ "arc58_addNamedPlugin(string,uint64,address,uint64,uint64,bool)void": {
+ "call_config": {
+ "no_op": "CALL"
+ }
+ },
+ "arc58_removeNamedPlugin(string)void": {
+ "call_config": {
+ "no_op": "CALL"
+ }
+ }
+ },
+ "bare_call_config": {
+ "no_op": "NEVER",
+ "opt_in": "NEVER",
+ "close_out": "NEVER",
+ "update_application": "NEVER",
+ "delete_application": "NEVER"
+ },
+ "schema": {
+ "local": {
+ "declared": {},
+ "reserved": {}
+ },
+ "global": {
+ "declared": {
+ "admin": {
+ "type": "bytes",
+ "key": "a"
+ },
+ "controlledAddress": {
+ "type": "bytes",
+ "key": "c"
+ }
+ },
+ "reserved": {}
+ }
+ },
+ "state": {
+ "global": {
+ "num_byte_slices": 2,
+ "num_uints": 0
+ },
+ "local": {
+ "num_byte_slices": 0,
+ "num_uints": 0
+ }
+ },
+ "source": {
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQoKTogdm9pZAovLwovLyBFbnN1cmUgdGhhdCBieSB0aGUgZW5kIG9mIHRoZSBncm91cCB0aGUgYWJzdHJhY3RlZCBhY2NvdW50IGhhcyBjb250cm9sIG9mIGl0cyBhZGRyZXNzCnZlcmlmeVJla2V5VG9BYnN0cmFjdGVkQWNjb3VudDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ1CgkvLyByZWtleWVkQmFjayA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIHJla2V5ZWRCYWNrOiBib29sCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo0NwoJLy8gZm9yIChsZXQgaSA9IHRoaXMudHhuLmdyb3VwSW5kZXg7IGkgPCB0aGlzLnR4bkdyb3VwLmxlbmd0aDsgaSArPSAxKQoJdHhuIEdyb3VwSW5kZXgKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDcKCS8vIGkgPCB0aGlzLnR4bkdyb3VwLmxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglnbG9iYWwgR3JvdXBTaXplCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo0OAoJLy8gdHhuID0gdGhpcy50eG5Hcm91cFtpXQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gdHhuOiB0eG4KCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo1MQoJLy8gdHhuLnNlbmRlciA9PT0gdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSAmJiB0eG4ucmVrZXlUbyA9PT0gdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZQoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIFNlbmRlcgoJYnl0ZSAweDYzIC8vICJjIgoJYXBwX2dsb2JhbF9nZXQKCT09CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBSZWtleVRvCglieXRlIDB4NjMgLy8gImMiCglhcHBfZ2xvYmFsX2dldAoJPT0KCSYmCgoqc2tpcF9hbmQwOgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTIKCS8vIHJla2V5ZWRCYWNrID0gdHJ1ZQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyByZWtleWVkQmFjazogYm9vbAoJYiAqZm9yXzBfZW5kCgoqaWYwX2VuZDoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjU4CgkvLyB0eG4udHlwZUVudW0gPT09IFRyYW5zYWN0aW9uVHlwZS5BcHBsaWNhdGlvbkNhbGwgJiYKCS8vICAgICAgICAgdHhuLmFwcGxpY2F0aW9uSUQgPT09IHRoaXMuYXBwICYmCgkvLyAgICAgICAgIHR4bi5udW1BcHBBcmdzID09PSAxICYmCgkvLyAgICAgICAgIHR4bi5hcHBsaWNhdGlvbkFyZ3NbMF0gPT09IG1ldGhvZCgnYXJjNThfdmVyaWZ5QXV0aEFkZHIoKXZvaWQnKQoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIFR5cGVFbnVtCglpbnQgYXBwbAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIEFwcGxpY2F0aW9uSUQKCXR4bmEgQXBwbGljYXRpb25zIDAKCT09CgkmJgoKKnNraXBfYW5kMToKCWR1cAoJYnogKnNraXBfYW5kMgoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIE51bUFwcEFyZ3MKCWludCAxCgk9PQoJJiYKCipza2lwX2FuZDI6CglkdXAKCWJ6ICpza2lwX2FuZDMKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJbWV0aG9kICJhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCIKCT09CgkmJgoKKnNraXBfYW5kMzoKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjYzCgkvLyByZWtleWVkQmFjayA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWIgKmZvcl8wX2VuZAoKKmlmMV9lbmQ6CgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo2OAoJLy8gYXNzZXJ0KHJla2V5ZWRCYWNrKQoJZnJhbWVfZGlnIDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWFzc2VydAoJcmV0c3ViCgovLyBnZXRBdXRoQWRkcigpOiBBZGRyZXNzCi8vCi8vIFdoYXQgdGhlIHZhbHVlIG9mIHRoaXMuYWRkcmVzcy52YWx1ZS5hdXRoQWRkciBzaG91bGQgYmUgd2hlbiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzCi8vIGlzIGFibGUgdG8gYmUgY29udHJvbGxlZCBieSB0aGlzIGFwcC4gSXQgd2lsbCBlaXRoZXIgYmUgdGhpcy5hcHAuYWRkcmVzcyBvciB6ZXJvQWRkcmVzcwpnZXRBdXRoQWRkcjoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NzYKCS8vIHJldHVybiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlID09PSB0aGlzLmFwcC5hZGRyZXNzID8gQWRkcmVzcy56ZXJvQWRkcmVzcyA6IHRoaXMuYXBwLmFkZHJlc3M7CglieXRlIDB4NjMgLy8gImMiCglhcHBfZ2xvYmFsX2dldAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CglieiAqdGVybmFyeTBfZmFsc2UKCWdsb2JhbCBaZXJvQWRkcmVzcwoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoKKnRlcm5hcnkwX2VuZDoKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24oYWRkcmVzcyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGFkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkbWluKSBmb3IgY3JlYXRlQXBwbGljYXRpb24gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGNvbnRyb2xsZWRBZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGNvbnRyb2xsZWRBZGRyZXNzKSBmb3IgY3JlYXRlQXBwbGljYXRpb24gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oYWRkcmVzcyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKGNvbnRyb2xsZWRBZGRyZXNzOiBBZGRyZXNzLCBhZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQ3JlYXRlIGFuIGFic3RyYWN0ZWQgYWNjb3VudCBhcHBsaWNhdGlvbi4KLy8gVGhpcyBpcyBub3QgcGFydCBvZiBBUkM1OCBhbmQgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMuCi8vCi8vIEBwYXJhbSBjb250cm9sbGVkQWRkcmVzcyBUaGUgYWRkcmVzcyBvZiB0aGUgYWJzdHJhY3RlZCBhY2NvdW50LiBJZiB6ZXJvQWRkcmVzcywgdGhlbiB0aGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgYWNjb3VudCB3aWxsIGJlIHVzZWQKLy8gQHBhcmFtIGFkbWluIFRoZSBhZG1pbiBmb3IgdGhpcyBhcHAKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjg3CgkvLyB2ZXJpZnlBcHBDYWxsVHhuKHRoaXMudHhuLCB7CgkvLyAgICAgICBzZW5kZXI6IHsgaW5jbHVkZWRJbjogW2NvbnRyb2xsZWRBZGRyZXNzLCBhZG1pbl0gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIGNvbnRyb2xsZWRBZGRyZXNzOiBBZGRyZXNzCgk9PQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIGFkbWluOiBBZGRyZXNzCgk9PQoJfHwKCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6eyJ0eG5UZXh0IjoidGhpcy50eG4ifSwiZmllbGQiOiJzZW5kZXIiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbY29udHJvbGxlZEFkZHJlc3MsIGFkbWluXSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjkxCgkvLyBhc3NlcnQoYWRtaW4gIT09IGNvbnRyb2xsZWRBZGRyZXNzKQoJZnJhbWVfZGlnIC0yIC8vIGFkbWluOiBBZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjkzCgkvLyB0aGlzLmFkbWluLnZhbHVlID0gYWRtaW4KCWJ5dGUgMHg2MSAvLyAiYSIKCWZyYW1lX2RpZyAtMiAvLyBhZG1pbjogQWRkcmVzcwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjk0CgkvLyB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlID0gY29udHJvbGxlZEFkZHJlc3MgPT09IEFkZHJlc3MuemVyb0FkZHJlc3MgPyB0aGlzLmFwcC5hZGRyZXNzIDogY29udHJvbGxlZEFkZHJlc3MKCWJ5dGUgMHg2MyAvLyAiYyIKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJYnogKnRlcm5hcnkxX2ZhbHNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCip0ZXJuYXJ5MV9lbmQ6CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9jaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfY2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNThfY2hhbmdlQWRtaW4oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X2NoYW5nZUFkbWluCglpbnQgMQoJcmV0dXJuCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIGZvciB0aGlzIGFwcC4gU29tZSBpbXBsZW1lbnRhdGlvbnMgTUFZIG5vdCBzdXBwb3J0IHRoaXMuCi8vCi8vIEBwYXJhbSBuZXdBZG1pbiBUaGUgbmV3IGFkbWluCmFyYzU4X2NoYW5nZUFkbWluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMDMKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5hZG1pbi52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjEwNAoJLy8gdGhpcy5hZG1pbi52YWx1ZSA9IG5ld0FkbWluCglieXRlIDB4NjEgLy8gImEiCglmcmFtZV9kaWcgLTEgLy8gbmV3QWRtaW46IEFkZHJlc3MKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3BsdWdpbkNoYW5nZUFkbWluOgoJLy8gbmV3QWRtaW46IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAobmV3QWRtaW4pIGZvciBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYWxsb3dlZENhbGxlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhbGxvd2VkQ2FsbGVyKSBmb3IgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHBsdWdpbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbih1aW50NjQsYWRkcmVzcyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4KCWludCAxCglyZXR1cm4KCi8vIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluKHBsdWdpbjogQXBwSUQsIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MsIG5ld0FkbWluOiBBZGRyZXNzKTogdm9pZAovLwovLyBBdHRlbXB0IHRvIGNoYW5nZSB0aGUgYWRtaW4gdmlhIHBsdWdpbi4KLy8KLy8gQHBhcmFtIHBsdWdpbiBUaGUgYXBwIGNhbGxpbmcgdGhlIHBsdWdpbgovLyBAcGFyYW0gYWxsb3dlZENhbGxlciBUaGUgYWRkcmVzcyB0aGF0IHRyaWdnZXJlZCB0aGUgcGx1Z2luCi8vIEBwYXJhbSBuZXdBZG1pbiBUaGUgbmV3IGFkbWluCmFyYzU4X3BsdWdpbkNoYW5nZUFkbWluOgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjExNgoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogcGx1Z2luLmFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJwbHVnaW4uYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjExNwoJLy8gYXNzZXJ0KHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUuYXV0aEFkZHIgPT09IHBsdWdpbi5hZGRyZXNzLCAnVGhpcyBwbHVnaW4gaXMgbm90IGluIGNvbnRyb2wgb2YgdGhlIGFjY291bnQnKQoJYnl0ZSAweDYzIC8vICJjIgoJYXBwX2dsb2JhbF9nZXQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCgkvLyBUaGlzIHBsdWdpbiBpcyBub3QgaW4gY29udHJvbCBvZiB0aGUgYWNjb3VudAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTkKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IHBsdWdpbiwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTIwCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS5leGlzdHMgJiYgdGhpcy5wbHVnaW5zKGtleSkudmFsdWUuYWRtaW5Qcml2aWxlZ2VzLAoJLy8gICAgICAgJ1RoaXMgcGx1Z2luIGRvZXMgbm90IGhhdmUgYWRtaW4gcHJpdmlsZWdlcycKCS8vICAgICApCglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglkdXAKCWJ6ICpza2lwX2FuZDQKCWJ5dGUgMHg3MCAvLyAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDE5MgoJZ2V0Yml0CgkmJgoKKnNraXBfYW5kNDoKCS8vIFRoaXMgcGx1Z2luIGRvZXMgbm90IGhhdmUgYWRtaW4gcHJpdmlsZWdlcwoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMjUKCS8vIHRoaXMuYWRtaW4udmFsdWUgPSBuZXdBZG1pbgoJYnl0ZSAweDYxIC8vICJhIgoJZnJhbWVfZGlnIC0zIC8vIG5ld0FkbWluOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9nZXRBZG1pbigpYWRkcmVzcwoqYWJpX3JvdXRlX2FyYzU4X2dldEFkbWluOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFyYzU4X2dldEFkbWluKClhZGRyZXNzCgljYWxsc3ViIGFyYzU4X2dldEFkbWluCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYXJjNThfZ2V0QWRtaW4oKTogQWRkcmVzcwovLwovLyBHZXQgdGhlIGFkbWluIG9mIHRoaXMgYXBwLiBUaGlzIG1ldGhvZCBTSE9VTEQgYWx3YXlzIGJlIHVzZWQgcmF0aGVyIHRoYW4gcmVhZGluZyBkaXJlY3RseSBmcm9tIHN0YXRlCi8vIGJlY2F1c2UgZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyBtYXkgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBkZXRlcm1pbmluZyB0aGUgYWRtaW4uCmFyYzU4X2dldEFkbWluOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMzMKCS8vIHJldHVybiB0aGlzLmFkbWluLnZhbHVlOwoJYnl0ZSAweDYxIC8vICJhIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gYXJjNThfdmVyaWZ5QXV0aEFkZHIoKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF92ZXJpZnlBdXRoQWRkcjoKCS8vIGV4ZWN1dGUgYXJjNThfdmVyaWZ5QXV0aEFkZHIoKXZvaWQKCWNhbGxzdWIgYXJjNThfdmVyaWZ5QXV0aEFkZHIKCWludCAxCglyZXR1cm4KCi8vIGFyYzU4X3ZlcmlmeUF1dGhBZGRyKCk6IHZvaWQKLy8KLy8gVmVyaWZ5IHRoZSBhYnN0cmFjdGVkIGFjY291bnQgaXMgcmVrZXllZCB0byB0aGlzIGFwcAphcmM1OF92ZXJpZnlBdXRoQWRkcjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTQwCgkvLyBhc3NlcnQodGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZS5hdXRoQWRkciA9PT0gdGhpcy5nZXRBdXRoQWRkcigpKQoJYnl0ZSAweDYzIC8vICJjIgoJYXBwX2dsb2JhbF9nZXQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJY2FsbHN1YiBnZXRBdXRoQWRkcgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBhcmM1OF9yZWtleVRvKGFkZHJlc3MsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVrZXlUbzoKCS8vIGZsYXNoOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoZmxhc2gpIGZvciBhcmM1OF9yZWtleVRvIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhZGRyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFkZHIpIGZvciBhcmM1OF9yZWtleVRvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFyYzU4X3Jla2V5VG8oYWRkcmVzcyxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfcmVrZXlUbwoJaW50IDEKCXJldHVybgoKLy8gYXJjNThfcmVrZXlUbyhhZGRyOiBBZGRyZXNzLCBmbGFzaDogYm9vbGVhbik6IHZvaWQKLy8KLy8gUmVrZXkgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCB0byBhbm90aGVyIGFkZHJlc3MuIFByaW1hcmlseSB1c2VmdWwgZm9yIHJla2V5aW5nIHRvIGFuIEVPQS4KLy8KLy8gQHBhcmFtIGFkZHIgVGhlIGFkZHJlc3MgdG8gcmVrZXkgdG8KLy8gQHBhcmFtIGZsYXNoIFdoZXRoZXIgb3Igbm90IHRoaXMgc2hvdWxkIGJlIGEgZmxhc2ggcmVrZXkuIElmIHRydWUsIHRoZSByZWtleSBiYWNrIHRvIHRoZSBhcHAgYWRkcmVzcyBtdXN0IGRvbmUgaW4gdGhlIHNhbWUgdHhuIGdyb3VwIGFzIHRoaXMgY2FsbAphcmM1OF9yZWtleVRvOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTAKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFkbWluLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlIDB4NjEgLy8gImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiBhZGRyLAoJLy8gICAgICAgcmVrZXlUbzogYWRkciwKCS8vICAgICAgIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTMKCS8vIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZQoJYnl0ZSAweDYzIC8vICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgU2VuZGVyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTQKCS8vIHJlY2VpdmVyOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTU1CgkvLyByZWtleVRvOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWtleVRvCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTYKCS8vIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnCglieXRlIDB4NzI2NTZiNjU3OTY5NmU2NzIwNjE2MjczNzQ3MjYxNjM3NDY1NjQyMDYxNjM2MzZmNzU2ZTc0IC8vICJyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTU5CgkvLyBmbGFzaAoJZnJhbWVfZGlnIC0yIC8vIGZsYXNoOiBib29sZWFuCglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTkKCS8vIHRoaXMudmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCkKCWNhbGxzdWIgdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50CgoqaWYyX2VuZDoKCXJldHN1YgoKLy8gcGx1Z2luQ2FsbEFsbG93ZWQoYXBwOiBBcHBJRCwgY2FsbGVyOiBBZGRyZXNzKTogYm9vbGVhbgpwbHVnaW5DYWxsQWxsb3dlZDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNjMKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogY2FsbGVyIH0KCWZyYW1lX2RpZyAtMSAvLyBhcHA6IEFwcElECglpdG9iCglmcmFtZV9kaWcgLTIgLy8gY2FsbGVyOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE2NQoJLy8gcmV0dXJuICgKCS8vICAgICAgIHRoaXMucGx1Z2lucyhrZXkpLmV4aXN0cyAmJgoJLy8gICAgICAgdGhpcy5wbHVnaW5zKGtleSkudmFsdWUubGFzdFZhbGlkUm91bmQgPj0gZ2xvYmFscy5yb3VuZCAmJgoJLy8gICAgICAgZ2xvYmFscy5yb3VuZCAtIHRoaXMucGx1Z2lucyhrZXkpLnZhbHVlLmxhc3RDYWxsZWQgPj0gdGhpcy5wbHVnaW5zKGtleSkudmFsdWUuY29vbGRvd24KCS8vICAgICApOwoJYnl0ZSAweDcwIC8vICJwIgoJZnJhbWVfZGlnIDAgLy8ga2V5OiBQbHVnaW5zS2V5Cgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJZHVwCglieiAqc2tpcF9hbmQ1CglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglnbG9iYWwgUm91bmQKCT49CgkmJgoKKnNraXBfYW5kNToKCWR1cAoJYnogKnNraXBfYW5kNgoJZ2xvYmFsIFJvdW5kCglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJLQoJYnl0ZSAweDcwIC8vICJwIgoJZnJhbWVfZGlnIDAgLy8ga2V5OiBQbHVnaW5zS2V5Cgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGx1Z2lucyhrZXkpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoJPj0KCSYmCgoqc2tpcF9hbmQ2OgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGFyYzU4X3Jla2V5VG9QbHVnaW4odWludDY0KXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZWtleVRvUGx1Z2luOgoJLy8gcGx1Z2luOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFyYzU4X3Jla2V5VG9QbHVnaW4odWludDY0KXZvaWQKCWNhbGxzdWIgYXJjNThfcmVrZXlUb1BsdWdpbgoJaW50IDEKCXJldHVybgoKLy8gYXJjNThfcmVrZXlUb1BsdWdpbihwbHVnaW46IEFwcElEKTogdm9pZAovLwovLyBUZW1wb3JhcmlseSByZWtleSB0byBhbiBhcHByb3ZlZCBwbHVnaW4gYXBwIGFkZHJlc3MKLy8KLy8gQHBhcmFtIHBsdWdpbiBUaGUgYXBwIHRvIHJla2V5IHRvCmFyYzU4X3Jla2V5VG9QbHVnaW46Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTc4CgkvLyBnbG9iYWxBbGxvd2VkID0gdGhpcy5wbHVnaW5DYWxsQWxsb3dlZChwbHVnaW4sIEFkZHJlc3MuemVyb0FkZHJlc3MpCglnbG9iYWwgWmVyb0FkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECgljYWxsc3ViIHBsdWdpbkNhbGxBbGxvd2VkCglmcmFtZV9idXJ5IDAgLy8gZ2xvYmFsQWxsb3dlZDogYm9vbAoKCS8vICppZjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4MAoJLy8gIWdsb2JhbEFsbG93ZWQKCWZyYW1lX2RpZyAwIC8vIGdsb2JhbEFsbG93ZWQ6IGJvb2wKCSEKCWJ6ICppZjNfZW5kCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4MQoJLy8gYXNzZXJ0KHRoaXMucGx1Z2luQ2FsbEFsbG93ZWQocGx1Z2luLCB0aGlzLnR4bi5zZW5kZXIpLCAnVGhpcyBzZW5kZXIgaXMgbm90IGFsbG93ZWQgdG8gdHJpZ2dlciB0aGlzIHBsdWdpbicpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJY2FsbHN1YiBwbHVnaW5DYWxsQWxsb3dlZAoKCS8vIFRoaXMgc2VuZGVyIGlzIG5vdCBhbGxvd2VkIHRvIHRyaWdnZXIgdGhpcyBwbHVnaW4KCWFzc2VydAoKKmlmM19lbmQ6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4MwoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLAoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUsCgkvLyAgICAgICByZWtleVRvOiBwbHVnaW4uYWRkcmVzcywKCS8vICAgICAgIG5vdGU6ICdyZWtleWluZyB0byBwbHVnaW4gYXBwJywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTg0CgkvLyBzZW5kZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGUgMHg2MyAvLyAiYyIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIFNlbmRlcgoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTg1CgkvLyByZWNlaXZlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZQoJYnl0ZSAweDYzIC8vICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NgoJLy8gcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVrZXlUbwoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTg3CgkvLyBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcKCWJ5dGUgMHg3MjY1NmI2NTc5Njk2ZTY3MjA3NDZmMjA3MDZjNzU2NzY5NmUyMDYxNzA3MCAvLyAicmVrZXlpbmcgdG8gcGx1Z2luIGFwcCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE5MAoJLy8gdGhpcy5wbHVnaW5zKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uOiBwbHVnaW4sCgkvLyAgICAgICBhbGxvd2VkQ2FsbGVyOiBnbG9iYWxBbGxvd2VkID8gQWRkcmVzcy56ZXJvQWRkcmVzcyA6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICB9KS52YWx1ZS5sYXN0Q2FsbGVkID0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDcwIC8vICJwIgoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAwIC8vIGdsb2JhbEFsbG93ZWQ6IGJvb2wKCWJ6ICp0ZXJuYXJ5M19mYWxzZQoJZ2xvYmFsIFplcm9BZGRyZXNzCgliICp0ZXJuYXJ5M19lbmQKCip0ZXJuYXJ5M19mYWxzZToKCXR4biBTZW5kZXIKCip0ZXJuYXJ5M19lbmQ6Cgljb25jYXQKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKHsgYXBwbGljYXRpb246IHBsdWdpbiwgYWxsb3dlZENhbGxlcjogZ2xvYmFsQWxsb3dlZCA/IEFkZHJlc3MuemVyb0FkZHJlc3MgOiB0aGlzLnR4bi5zZW5kZXIsIH0pLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMTYKCWdsb2JhbCBSb3VuZAoJaXRvYgoJYnl0ZSAweDcwIC8vICJwIgoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAwIC8vIGdsb2JhbEFsbG93ZWQ6IGJvb2wKCWJ6ICp0ZXJuYXJ5NV9mYWxzZQoJZ2xvYmFsIFplcm9BZGRyZXNzCgliICp0ZXJuYXJ5NV9lbmQKCip0ZXJuYXJ5NV9mYWxzZToKCXR4biBTZW5kZXIKCip0ZXJuYXJ5NV9lbmQ6Cgljb25jYXQKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE5NQoJLy8gdGhpcy52ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQoKQoJY2FsbHN1YiB2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQKCXJldHN1YgoKLy8gYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luKHN0cmluZyl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luOgoJLy8gbmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luKHN0cmluZyl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbgoJaW50IDEKCXJldHVybgoKLy8gYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luKG5hbWU6IHN0cmluZyk6IHZvaWQKLy8KLy8gVGVtcG9yYXJpbHkgcmVrZXkgdG8gYSBuYW1lZCBwbHVnaW4gYXBwIGFkZHJlc3MKLy8KLy8gQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIHBsdWdpbiB0byByZWtleSB0bwphcmM1OF9yZWtleVRvTmFtZWRQbHVnaW46Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjIwNAoJLy8gdGhpcy5hcmM1OF9yZWtleVRvUGx1Z2luKHRoaXMubmFtZWRQbHVnaW5zKG5hbWUpLnZhbHVlLmFwcGxpY2F0aW9uKQoJaW50IDAKCWludCA4CglieXRlIDB4NmUgLy8gIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgljYWxsc3ViIGFyYzU4X3Jla2V5VG9QbHVnaW4KCXJldHN1YgoKLy8gYXJjNThfYWRkUGx1Z2luKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNThfYWRkUGx1Z2luOgoJLy8gYWRtaW5Qcml2aWxlZ2VzOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRtaW5Qcml2aWxlZ2VzKSBmb3IgYXJjNThfYWRkUGx1Z2luIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBjb29sZG93bjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGFsbG93ZWRDYWxsZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoYWxsb3dlZENhbGxlcikgZm9yIGFyYzU4X2FkZFBsdWdpbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXBwOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFyYzU4X2FkZFBsdWdpbih1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoJY2FsbHN1YiBhcmM1OF9hZGRQbHVnaW4KCWludCAxCglyZXR1cm4KCi8vIGFyYzU4X2FkZFBsdWdpbihhcHA6IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzLCBsYXN0VmFsaWRSb3VuZDogdWludDY0LCBjb29sZG93bjogdWludDY0LCBhZG1pblByaXZpbGVnZXM6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIEFkZCBhbiBhcHAgdG8gdGhlIGxpc3Qgb2YgYXBwcm92ZWQgcGx1Z2lucwovLwovLyBAcGFyYW0gYXBwIFRoZSBhcHAgdG8gYWRkCi8vIEBwYXJhbSBhbGxvd2VkQ2FsbGVyIFRoZSBhZGRyZXNzIG9mIHRoYXQncyBhbGxvd2VkIHRvIGNhbGwgdGhlIGFwcAovLyBvciB0aGUgZ2xvYmFsIHplcm8gYWRkcmVzcyBmb3IgYWxsIGFkZHJlc3NlcwovLyBAcGFyYW0gbGFzdFZhbGlkUm91bmQgVGhlIHJvdW5kIHdoZW4gdGhlIHBlcm1pc3Npb24gZXhwaXJlcwovLyBAcGFyYW0gY29vbGRvd24gIFRoZSBudW1iZXIgb2Ygcm91bmRzIHRoYXQgbXVzdCBwYXNzIGJlZm9yZSB0aGUgcGx1Z2luIGNhbiBiZSBjYWxsZWQgYWdhaW4KLy8gQHBhcmFtIGFkbWluUHJpdmlsZWdlcyBXaGV0aGVyIHRoZSBwbHVnaW4gaGFzIHBlcm1pc3Npb25zIHRvIGNoYW5nZSB0aGUgYWRtaW4gYWNjb3VudAphcmM1OF9hZGRQbHVnaW46Cglwcm90byA1IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjI0CgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFkbWluLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlIDB4NjEgLy8gImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMjUKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjI2CgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyAtNCAvLyBjb29sZG93bjogdWludDY0CglpdG9iCgljb25jYXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAtNSAvLyBhZG1pblByaXZpbGVnZXM6IGJvb2xlYW4KCXNldGJpdAoJY29uY2F0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFyYzU4X3JlbW92ZVBsdWdpbih1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVtb3ZlUGx1Z2luOgoJLy8gYWxsb3dlZENhbGxlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhbGxvd2VkQ2FsbGVyKSBmb3IgYXJjNThfcmVtb3ZlUGx1Z2luIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBhcHA6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYXJjNThfcmVtb3ZlUGx1Z2luKHVpbnQ2NCxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXJjNThfcmVtb3ZlUGx1Z2luCglpbnQgMQoJcmV0dXJuCgovLyBhcmM1OF9yZW1vdmVQbHVnaW4oYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gUmVtb3ZlIGFuIGFwcCBmcm9tIHRoZSBsaXN0IG9mIGFwcHJvdmVkIHBsdWdpbnMKLy8KLy8gQHBhcmFtIGFwcCBUaGUgYXBwIHRvIHJlbW92ZQphcmM1OF9yZW1vdmVQbHVnaW46Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjQwCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFkbWluLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlIDB4NjEgLy8gImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNDIKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjQzCgkvLyB0aGlzLnBsdWdpbnMoa2V5KS5kZWxldGUoKQoJYnl0ZSAweDcwIC8vICJwIgoJZnJhbWVfZGlnIDAgLy8ga2V5OiBQbHVnaW5zS2V5Cgljb25jYXQKCWJveF9kZWwKCXJldHN1YgoKLy8gYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNThfYWRkTmFtZWRQbHVnaW46CgkvLyBhZG1pblByaXZpbGVnZXM6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhZG1pblByaXZpbGVnZXMpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXBwOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGROYW1lZFBsdWdpbihzdHJpbmcsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkTmFtZWRQbHVnaW4KCWludCAxCglyZXR1cm4KCi8vIGFyYzU4X2FkZE5hbWVkUGx1Z2luKG5hbWU6IHN0cmluZywgYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYSBuYW1lZCBwbHVnaW4KLy8KLy8gQHBhcmFtIGFwcCBUaGUgcGx1Z2luIGFwcAovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3Mgb2YgdGhhdCdzIGFsbG93ZWQgdG8gY2FsbCB0aGUgYXBwCi8vIG9yIHRoZSBnbG9iYWwgemVybyBhZGRyZXNzIGZvciBhbGwgYWRkcmVzc2VzCi8vIEBwYXJhbSBsYXN0VmFsaWRSb3VuZCBUaGUgcm91bmQgd2hlbiB0aGUgcGVybWlzc2lvbiBleHBpcmVzCi8vIEBwYXJhbSBjb29sZG93biAgVGhlIG51bWJlciBvZiByb3VuZHMgdGhhdCBtdXN0IHBhc3MgYmVmb3JlIHRoZSBwbHVnaW4gY2FuIGJlIGNhbGxlZCBhZ2FpbgovLyBAcGFyYW0gYWRtaW5Qcml2aWxlZ2VzIFdoZXRoZXIgdGhlIHBsdWdpbiBoYXMgcGVybWlzc2lvbnMgdG8gY2hhbmdlIHRoZSBhZG1pbiBhY2NvdW50CmFyYzU4X2FkZE5hbWVkUGx1Z2luOgoJcHJvdG8gNiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI2NQoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZSAweDYxIC8vICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjY2CgkvLyBhc3NlcnQoIXRoaXMubmFtZWRQbHVnaW5zKG5hbWUpLmV4aXN0cykKCWJ5dGUgMHg2ZSAvLyAibiIKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBzdHJpbmcKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI2OAoJLy8ga2V5OiBQbHVnaW5zS2V5ID0geyBhcHBsaWNhdGlvbjogYXBwLCBhbGxvd2VkQ2FsbGVyOiBhbGxvd2VkQ2FsbGVyIH0KCWZyYW1lX2RpZyAtMiAvLyBhcHA6IEFwcElECglpdG9iCglmcmFtZV9kaWcgLTMgLy8gYWxsb3dlZENhbGxlcjogQWRkcmVzcwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8ga2V5OiBQbHVnaW5zS2V5CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjkKCS8vIHRoaXMubmFtZWRQbHVnaW5zKG5hbWUpLnZhbHVlID0ga2V5CglieXRlIDB4NmUgLy8gIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJYm94X3B1dAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjcwCgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJZnJhbWVfZGlnIC00IC8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyAtNSAvLyBjb29sZG93bjogdWludDY0CglpdG9iCgljb25jYXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAtNiAvLyBhZG1pblByaXZpbGVnZXM6IGJvb2xlYW4KCXNldGJpdAoJY29uY2F0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luKHN0cmluZyl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW46CgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbgoJaW50IDEKCXJldHVybgoKLy8gYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4obmFtZTogc3RyaW5nKTogdm9pZAovLwovLyBSZW1vdmUgYSBuYW1lZCBwbHVnaW4KLy8KLy8gQHBhcmFtIG5hbWUgVGhlIHBsdWdpbiBuYW1lCmFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4NAoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZSAweDYxIC8vICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg2CgkvLyBhcHAgPSB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZQoJYnl0ZSAweDZlIC8vICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg3CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS5kZWxldGUoKQoJYnl0ZSAweDZlIC8vICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0Cglib3hfZGVsCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyODgKCS8vIHRoaXMucGx1Z2lucyhhcHApLmRlbGV0ZSgpCglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vYXBwCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZQoJYXNzZXJ0Cgljb25jYXQKCWJveF9kZWwKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYXJjNThfY2hhbmdlQWRtaW4oYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbih1aW50NjQsYWRkcmVzcyxhZGRyZXNzKXZvaWQiCgltZXRob2QgImFyYzU4X2dldEFkbWluKClhZGRyZXNzIgoJbWV0aG9kICJhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCIKCW1ldGhvZCAiYXJjNThfcmVrZXlUbyhhZGRyZXNzLGJvb2wpdm9pZCIKCW1ldGhvZCAiYXJjNThfcmVrZXlUb1BsdWdpbih1aW50NjQpdm9pZCIKCW1ldGhvZCAiYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luKHN0cmluZyl2b2lkIgoJbWV0aG9kICJhcmM1OF9hZGRQbHVnaW4odWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCgltZXRob2QgImFyYzU4X3JlbW92ZVBsdWdpbih1aW50NjQsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJhcmM1OF9hZGROYW1lZFBsdWdpbihzdHJpbmcsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCgltZXRob2QgImFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luKHN0cmluZyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcmM1OF9jaGFuZ2VBZG1pbiAqYWJpX3JvdXRlX2FyYzU4X3BsdWdpbkNoYW5nZUFkbWluICphYmlfcm91dGVfYXJjNThfZ2V0QWRtaW4gKmFiaV9yb3V0ZV9hcmM1OF92ZXJpZnlBdXRoQWRkciAqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG8gKmFiaV9yb3V0ZV9hcmM1OF9yZWtleVRvUGx1Z2luICphYmlfcm91dGVfYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luICphYmlfcm91dGVfYXJjNThfYWRkUGx1Z2luICphYmlfcm91dGVfYXJjNThfcmVtb3ZlUGx1Z2luICphYmlfcm91dGVfYXJjNThfYWRkTmFtZWRQbHVnaW4gKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVOYW1lZFBsdWdpbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
+ },
+ "contract": {
+ "name": "AbstractedAccount",
+ "desc": "",
+ "methods": [
+ {
+ "name": "createApplication",
+ "desc": "Create an abstracted account application.\nThis is not part of ARC58 and implementation specific.",
+ "args": [
+ {
+ "name": "controlledAddress",
+ "type": "address",
+ "desc": "The address of the abstracted account. If zeroAddress, then the address of the contract account will be used"
+ },
+ {
+ "name": "admin",
+ "type": "address",
+ "desc": "The admin for this app"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_changeAdmin",
+ "desc": "Attempt to change the admin for this app. Some implementations MAY not support this.",
+ "args": [
+ {
+ "name": "newAdmin",
+ "type": "address",
+ "desc": "The new admin"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_pluginChangeAdmin",
+ "desc": "Attempt to change the admin via plugin.",
+ "args": [
+ {
+ "name": "plugin",
+ "type": "uint64",
+ "desc": "The app calling the plugin"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address",
+ "desc": "The address that triggered the plugin"
+ },
+ {
+ "name": "newAdmin",
+ "type": "address",
+ "desc": "The new admin"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_getAdmin",
+ "desc": "Get the admin of this app. This method SHOULD always be used rather than reading directly from state\nbecause different implementations may have different ways of determining the admin.",
+ "args": [],
+ "returns": {
+ "type": "address"
+ }
+ },
+ {
+ "name": "arc58_verifyAuthAddr",
+ "desc": "Verify the abstracted account is rekeyed to this app",
+ "args": [],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_rekeyTo",
+ "desc": "Rekey the abstracted account to another address. Primarily useful for rekeying to an EOA.",
+ "args": [
+ {
+ "name": "addr",
+ "type": "address",
+ "desc": "The address to rekey to"
+ },
+ {
+ "name": "flash",
+ "type": "bool",
+ "desc": "Whether or not this should be a flash rekey. If true, the rekey back to the app address must done in the same txn group as this call"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_rekeyToPlugin",
+ "desc": "Temporarily rekey to an approved plugin app address",
+ "args": [
+ {
+ "name": "plugin",
+ "type": "uint64",
+ "desc": "The app to rekey to"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_rekeyToNamedPlugin",
+ "desc": "Temporarily rekey to a named plugin app address",
+ "args": [
+ {
+ "name": "name",
+ "type": "string",
+ "desc": "The name of the plugin to rekey to"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_addPlugin",
+ "desc": "Add an app to the list of approved plugins",
+ "args": [
+ {
+ "name": "app",
+ "type": "uint64",
+ "desc": "The app to add"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address",
+ "desc": "The address of that's allowed to call the app\nor the global zero address for all addresses"
+ },
+ {
+ "name": "lastValidRound",
+ "type": "uint64",
+ "desc": "The round when the permission expires"
+ },
+ {
+ "name": "cooldown",
+ "type": "uint64",
+ "desc": "The number of rounds that must pass before the plugin can be called again"
+ },
+ {
+ "name": "adminPrivileges",
+ "type": "bool",
+ "desc": "Whether the plugin has permissions to change the admin account"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_removePlugin",
+ "desc": "Remove an app from the list of approved plugins",
+ "args": [
+ {
+ "name": "app",
+ "type": "uint64",
+ "desc": "The app to remove"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_addNamedPlugin",
+ "desc": "Add a named plugin",
+ "args": [
+ {
+ "name": "name",
+ "type": "string",
+ "desc": "The plugin name"
+ },
+ {
+ "name": "app",
+ "type": "uint64",
+ "desc": "The plugin app"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address",
+ "desc": "The address of that's allowed to call the app\nor the global zero address for all addresses"
+ },
+ {
+ "name": "lastValidRound",
+ "type": "uint64",
+ "desc": "The round when the permission expires"
+ },
+ {
+ "name": "cooldown",
+ "type": "uint64",
+ "desc": "The number of rounds that must pass before the plugin can be called again"
+ },
+ {
+ "name": "adminPrivileges",
+ "type": "bool",
+ "desc": "Whether the plugin has permissions to change the admin account"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_removeNamedPlugin",
+ "desc": "Remove a named plugin",
+ "args": [
+ {
+ "name": "name",
+ "type": "string",
+ "desc": "The plugin name"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/examples/arc58/artifacts/AbstractedAccount.arc4.json b/examples/arc58/artifacts/AbstractedAccount.arc4.json
new file mode 100644
index 000000000..a20c86592
--- /dev/null
+++ b/examples/arc58/artifacts/AbstractedAccount.arc4.json
@@ -0,0 +1,231 @@
+{
+ "name": "AbstractedAccount",
+ "desc": "",
+ "methods": [
+ {
+ "name": "createApplication",
+ "desc": "Create an abstracted account application.\nThis is not part of ARC58 and implementation specific.",
+ "args": [
+ {
+ "name": "controlledAddress",
+ "type": "address",
+ "desc": "The address of the abstracted account. If zeroAddress, then the address of the contract account will be used"
+ },
+ {
+ "name": "admin",
+ "type": "address",
+ "desc": "The admin for this app"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_changeAdmin",
+ "desc": "Attempt to change the admin for this app. Some implementations MAY not support this.",
+ "args": [
+ {
+ "name": "newAdmin",
+ "type": "address",
+ "desc": "The new admin"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_pluginChangeAdmin",
+ "desc": "Attempt to change the admin via plugin.",
+ "args": [
+ {
+ "name": "plugin",
+ "type": "uint64",
+ "desc": "The app calling the plugin"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address",
+ "desc": "The address that triggered the plugin"
+ },
+ {
+ "name": "newAdmin",
+ "type": "address",
+ "desc": "The new admin"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_getAdmin",
+ "desc": "Get the admin of this app. This method SHOULD always be used rather than reading directly from state\nbecause different implementations may have different ways of determining the admin.",
+ "args": [],
+ "returns": {
+ "type": "address"
+ }
+ },
+ {
+ "name": "arc58_verifyAuthAddr",
+ "desc": "Verify the abstracted account is rekeyed to this app",
+ "args": [],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_rekeyTo",
+ "desc": "Rekey the abstracted account to another address. Primarily useful for rekeying to an EOA.",
+ "args": [
+ {
+ "name": "addr",
+ "type": "address",
+ "desc": "The address to rekey to"
+ },
+ {
+ "name": "flash",
+ "type": "bool",
+ "desc": "Whether or not this should be a flash rekey. If true, the rekey back to the app address must done in the same txn group as this call"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_rekeyToPlugin",
+ "desc": "Temporarily rekey to an approved plugin app address",
+ "args": [
+ {
+ "name": "plugin",
+ "type": "uint64",
+ "desc": "The app to rekey to"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_rekeyToNamedPlugin",
+ "desc": "Temporarily rekey to a named plugin app address",
+ "args": [
+ {
+ "name": "name",
+ "type": "string",
+ "desc": "The name of the plugin to rekey to"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_addPlugin",
+ "desc": "Add an app to the list of approved plugins",
+ "args": [
+ {
+ "name": "app",
+ "type": "uint64",
+ "desc": "The app to add"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address",
+ "desc": "The address of that's allowed to call the app\nor the global zero address for all addresses"
+ },
+ {
+ "name": "lastValidRound",
+ "type": "uint64",
+ "desc": "The round when the permission expires"
+ },
+ {
+ "name": "cooldown",
+ "type": "uint64",
+ "desc": "The number of rounds that must pass before the plugin can be called again"
+ },
+ {
+ "name": "adminPrivileges",
+ "type": "bool",
+ "desc": "Whether the plugin has permissions to change the admin account"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_removePlugin",
+ "desc": "Remove an app from the list of approved plugins",
+ "args": [
+ {
+ "name": "app",
+ "type": "uint64",
+ "desc": "The app to remove"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_addNamedPlugin",
+ "desc": "Add a named plugin",
+ "args": [
+ {
+ "name": "name",
+ "type": "string",
+ "desc": "The plugin name"
+ },
+ {
+ "name": "app",
+ "type": "uint64",
+ "desc": "The plugin app"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address",
+ "desc": "The address of that's allowed to call the app\nor the global zero address for all addresses"
+ },
+ {
+ "name": "lastValidRound",
+ "type": "uint64",
+ "desc": "The round when the permission expires"
+ },
+ {
+ "name": "cooldown",
+ "type": "uint64",
+ "desc": "The number of rounds that must pass before the plugin can be called again"
+ },
+ {
+ "name": "adminPrivileges",
+ "type": "bool",
+ "desc": "Whether the plugin has permissions to change the admin account"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ },
+ {
+ "name": "arc58_removeNamedPlugin",
+ "desc": "Remove a named plugin",
+ "args": [
+ {
+ "name": "name",
+ "type": "string",
+ "desc": "The plugin name"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/examples/arc58/artifacts/AbstractedAccount.arc56_draft.json b/examples/arc58/artifacts/AbstractedAccount.arc56_draft.json
new file mode 100644
index 000000000..8515d402c
--- /dev/null
+++ b/examples/arc58/artifacts/AbstractedAccount.arc56_draft.json
@@ -0,0 +1,5169 @@
+{
+ "name": "AbstractedAccount",
+ "desc": "",
+ "methods": [
+ {
+ "name": "createApplication",
+ "desc": "Create an abstracted account application.\nThis is not part of ARC58 and implementation specific.",
+ "args": [
+ {
+ "name": "controlledAddress",
+ "type": "address",
+ "desc": "The address of the abstracted account. If zeroAddress, then the address of the contract account will be used"
+ },
+ {
+ "name": "admin",
+ "type": "address",
+ "desc": "The admin for this app"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ },
+ "actions": {
+ "create": [
+ "NoOp"
+ ],
+ "call": []
+ }
+ },
+ {
+ "name": "arc58_changeAdmin",
+ "desc": "Attempt to change the admin for this app. Some implementations MAY not support this.",
+ "args": [
+ {
+ "name": "newAdmin",
+ "type": "address",
+ "desc": "The new admin"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ },
+ "actions": {
+ "create": [],
+ "call": [
+ "NoOp"
+ ]
+ }
+ },
+ {
+ "name": "arc58_pluginChangeAdmin",
+ "desc": "Attempt to change the admin via plugin.",
+ "args": [
+ {
+ "name": "plugin",
+ "type": "uint64",
+ "desc": "The app calling the plugin"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address",
+ "desc": "The address that triggered the plugin"
+ },
+ {
+ "name": "newAdmin",
+ "type": "address",
+ "desc": "The new admin"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ },
+ "actions": {
+ "create": [],
+ "call": [
+ "NoOp"
+ ]
+ }
+ },
+ {
+ "name": "arc58_getAdmin",
+ "desc": "Get the admin of this app. This method SHOULD always be used rather than reading directly from state\nbecause different implementations may have different ways of determining the admin.",
+ "args": [],
+ "returns": {
+ "type": "address"
+ },
+ "actions": {
+ "create": [],
+ "call": [
+ "NoOp"
+ ]
+ }
+ },
+ {
+ "name": "arc58_verifyAuthAddr",
+ "desc": "Verify the abstracted account is rekeyed to this app",
+ "args": [],
+ "returns": {
+ "type": "void"
+ },
+ "actions": {
+ "create": [],
+ "call": [
+ "NoOp"
+ ]
+ }
+ },
+ {
+ "name": "arc58_rekeyTo",
+ "desc": "Rekey the abstracted account to another address. Primarily useful for rekeying to an EOA.",
+ "args": [
+ {
+ "name": "addr",
+ "type": "address",
+ "desc": "The address to rekey to"
+ },
+ {
+ "name": "flash",
+ "type": "bool",
+ "desc": "Whether or not this should be a flash rekey. If true, the rekey back to the app address must done in the same txn group as this call"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ },
+ "actions": {
+ "create": [],
+ "call": [
+ "NoOp"
+ ]
+ }
+ },
+ {
+ "name": "arc58_rekeyToPlugin",
+ "desc": "Temporarily rekey to an approved plugin app address",
+ "args": [
+ {
+ "name": "plugin",
+ "type": "uint64",
+ "desc": "The app to rekey to"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ },
+ "actions": {
+ "create": [],
+ "call": [
+ "NoOp"
+ ]
+ }
+ },
+ {
+ "name": "arc58_rekeyToNamedPlugin",
+ "desc": "Temporarily rekey to a named plugin app address",
+ "args": [
+ {
+ "name": "name",
+ "type": "string",
+ "desc": "The name of the plugin to rekey to"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ },
+ "actions": {
+ "create": [],
+ "call": [
+ "NoOp"
+ ]
+ }
+ },
+ {
+ "name": "arc58_addPlugin",
+ "desc": "Add an app to the list of approved plugins",
+ "args": [
+ {
+ "name": "app",
+ "type": "uint64",
+ "desc": "The app to add"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address",
+ "desc": "The address of that's allowed to call the app\nor the global zero address for all addresses"
+ },
+ {
+ "name": "lastValidRound",
+ "type": "uint64",
+ "desc": "The round when the permission expires"
+ },
+ {
+ "name": "cooldown",
+ "type": "uint64",
+ "desc": "The number of rounds that must pass before the plugin can be called again"
+ },
+ {
+ "name": "adminPrivileges",
+ "type": "bool",
+ "desc": "Whether the plugin has permissions to change the admin account"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ },
+ "actions": {
+ "create": [],
+ "call": [
+ "NoOp"
+ ]
+ }
+ },
+ {
+ "name": "arc58_removePlugin",
+ "desc": "Remove an app from the list of approved plugins",
+ "args": [
+ {
+ "name": "app",
+ "type": "uint64",
+ "desc": "The app to remove"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ },
+ "actions": {
+ "create": [],
+ "call": [
+ "NoOp"
+ ]
+ }
+ },
+ {
+ "name": "arc58_addNamedPlugin",
+ "desc": "Add a named plugin",
+ "args": [
+ {
+ "name": "name",
+ "type": "string",
+ "desc": "The plugin name"
+ },
+ {
+ "name": "app",
+ "type": "uint64",
+ "desc": "The plugin app"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address",
+ "desc": "The address of that's allowed to call the app\nor the global zero address for all addresses"
+ },
+ {
+ "name": "lastValidRound",
+ "type": "uint64",
+ "desc": "The round when the permission expires"
+ },
+ {
+ "name": "cooldown",
+ "type": "uint64",
+ "desc": "The number of rounds that must pass before the plugin can be called again"
+ },
+ {
+ "name": "adminPrivileges",
+ "type": "bool",
+ "desc": "Whether the plugin has permissions to change the admin account"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ },
+ "actions": {
+ "create": [],
+ "call": [
+ "NoOp"
+ ]
+ }
+ },
+ {
+ "name": "arc58_removeNamedPlugin",
+ "desc": "Remove a named plugin",
+ "args": [
+ {
+ "name": "name",
+ "type": "string",
+ "desc": "The plugin name"
+ }
+ ],
+ "returns": {
+ "type": "void"
+ },
+ "actions": {
+ "create": [],
+ "call": [
+ "NoOp"
+ ]
+ }
+ }
+ ],
+ "arcs": [
+ 4,
+ 56
+ ],
+ "structs": {
+ "PluginInfo": [
+ {
+ "name": "lastValidRound",
+ "type": "uint64"
+ },
+ {
+ "name": "cooldown",
+ "type": "uint64"
+ },
+ {
+ "name": "lastCalled",
+ "type": "uint64"
+ },
+ {
+ "name": "adminPrivileges",
+ "type": "bool"
+ }
+ ],
+ "PluginsKey": [
+ {
+ "name": "application",
+ "type": "uint64"
+ },
+ {
+ "name": "allowedCaller",
+ "type": "address"
+ }
+ ]
+ },
+ "state": {
+ "schema": {
+ "global": {
+ "bytes": 2,
+ "ints": 0
+ },
+ "local": {
+ "bytes": 0,
+ "ints": 0
+ }
+ },
+ "keys": {
+ "global": {
+ "admin": {
+ "key": "YQ==",
+ "keyType": "bytes",
+ "valueType": "address"
+ },
+ "controlledAddress": {
+ "key": "Yw==",
+ "keyType": "bytes",
+ "valueType": "address"
+ }
+ },
+ "local": {},
+ "box": {}
+ },
+ "maps": {
+ "global": {},
+ "local": {},
+ "box": {
+ "plugins": {
+ "keyType": "PluginsKey",
+ "valueType": "PluginInfo",
+ "prefix": "p"
+ },
+ "namedPlugins": {
+ "keyType": "bytes",
+ "valueType": "PluginsKey",
+ "prefix": "n"
+ }
+ }
+ }
+ },
+ "bareActions": {
+ "create": [],
+ "call": []
+ },
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 21,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 21,
+ "pc": [
+ 34,
+ 35
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 21,
+ "pc": [
+ 36
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 21,
+ "pc": [
+ 37
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 21,
+ "pc": [
+ 38
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 21,
+ "pc": [
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 21,
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 21,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 21,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 44,
+ "pc": [
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 44,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 44,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 45,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 45,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 47,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 47,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 47,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 47,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 47,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 47,
+ "pc": [
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 48,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 48,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 51,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 51,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 51,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 51,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 51,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 51,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 51,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 51,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 51,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 51,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 51,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 51,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 51,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 51,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 52,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 52,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 53,
+ "pc": [
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 58,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 58,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 58,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 58,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 58,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 58,
+ "pc": [
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 59,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 59,
+ "pc": [
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 59,
+ "pc": [
+ 136,
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 59,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 58,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 59,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 59,
+ "pc": [
+ 142,
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 60,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 60,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 60,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 60,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 59,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 60,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 60,
+ "pc": [
+ 153,
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 61,
+ "pc": [
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 61,
+ "pc": [
+ 158,
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 61,
+ "pc": [
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 61,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 60,
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 57,
+ "pc": [
+ 165,
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 63,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 63,
+ "pc": [
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 64,
+ "pc": [
+ 171,
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 47,
+ "pc": [
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 47,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 47,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 47,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 47,
+ "pc": [
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 68,
+ "pc": [
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 68,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 44,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 75,
+ "pc": [
+ 187,
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 76,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 76,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 76,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 76,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 76,
+ "pc": [
+ 195,
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 76,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 76,
+ "pc": [
+ 200,
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 76,
+ "pc": [
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 75,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 86,
+ "pc": [
+ 206,
+ 207,
+ 208
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 86,
+ "pc": [
+ 209
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 86,
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 86,
+ "pc": [
+ 211
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 86,
+ "pc": [
+ 212
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 86,
+ "errorMessage": "argument 0 (admin) for createApplication must be a address",
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 86,
+ "pc": [
+ 214,
+ 215,
+ 216
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 86,
+ "pc": [
+ 217
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 86,
+ "pc": [
+ 218
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 86,
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 86,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 86,
+ "errorMessage": "argument 1 (controlledAddress) for createApplication must be a address",
+ "pc": [
+ 221
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 86,
+ "pc": [
+ 222,
+ 223,
+ 224
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 86,
+ "pc": [
+ 225
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 86,
+ "pc": [
+ 226
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 86,
+ "pc": [
+ 227,
+ 228,
+ 229
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 88,
+ "pc": [
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 88,
+ "pc": [
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 88,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 88,
+ "pc": [
+ 235,
+ 236
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 88,
+ "pc": [
+ 237,
+ 238
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 88,
+ "pc": [
+ 239
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 88,
+ "pc": [
+ 240
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 88,
+ "errorMessage": "transaction verification failed: {\"txn\":{\"txnText\":\"this.txn\"},\"field\":\"sender\",\"condition\":\"includedIn\",\"expected\":\"[controlledAddress, admin]\"}",
+ "pc": [
+ 241
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 91,
+ "pc": [
+ 242,
+ 243
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 91,
+ "pc": [
+ 244,
+ 245
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 91,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 91,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 93,
+ "pc": [
+ 248
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 93,
+ "pc": [
+ 249,
+ 250
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 93,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 94,
+ "pc": [
+ 252
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 94,
+ "pc": [
+ 253,
+ 254
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 94,
+ "pc": [
+ 255,
+ 256
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 94,
+ "pc": [
+ 257
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 94,
+ "pc": [
+ 258,
+ 259,
+ 260
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 94,
+ "pc": [
+ 261,
+ 262
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 94,
+ "pc": [
+ 263,
+ 264,
+ 265
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 94,
+ "pc": [
+ 266,
+ 267
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 94,
+ "pc": [
+ 268
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 86,
+ "pc": [
+ 269
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 102,
+ "pc": [
+ 270,
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 102,
+ "pc": [
+ 273
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 102,
+ "pc": [
+ 274
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 102,
+ "pc": [
+ 275
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 102,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 266,
+ "source": 102,
+ "errorMessage": "argument 0 (newAdmin) for arc58_changeAdmin must be a address",
+ "pc": [
+ 277
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 102,
+ "pc": [
+ 278,
+ 279,
+ 280
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 102,
+ "pc": [
+ 281
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 102,
+ "pc": [
+ 282
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 102,
+ "pc": [
+ 283,
+ 284,
+ 285
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 103,
+ "pc": [
+ 286,
+ 287
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 103,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 103,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 103,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 290,
+ "source": 103,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 291
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 104,
+ "pc": [
+ 292
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 104,
+ "pc": [
+ 293,
+ 294
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 104,
+ "pc": [
+ 295
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 102,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 302,
+ "source": 115,
+ "pc": [
+ 297,
+ 298,
+ 299
+ ]
+ },
+ {
+ "teal": 303,
+ "source": 115,
+ "pc": [
+ 300
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 115,
+ "pc": [
+ 301
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 115,
+ "pc": [
+ 302
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 115,
+ "pc": [
+ 303
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 115,
+ "errorMessage": "argument 0 (newAdmin) for arc58_pluginChangeAdmin must be a address",
+ "pc": [
+ 304
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 115,
+ "pc": [
+ 305,
+ 306,
+ 307
+ ]
+ },
+ {
+ "teal": 313,
+ "source": 115,
+ "pc": [
+ 308
+ ]
+ },
+ {
+ "teal": 314,
+ "source": 115,
+ "pc": [
+ 309
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 115,
+ "pc": [
+ 310
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 115,
+ "pc": [
+ 311
+ ]
+ },
+ {
+ "teal": 319,
+ "source": 115,
+ "errorMessage": "argument 1 (allowedCaller) for arc58_pluginChangeAdmin must be a address",
+ "pc": [
+ 312
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 115,
+ "pc": [
+ 313,
+ 314,
+ 315
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 115,
+ "pc": [
+ 316
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 115,
+ "pc": [
+ 317,
+ 318,
+ 319
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 115,
+ "pc": [
+ 320
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 115,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 115,
+ "pc": [
+ 322,
+ 323,
+ 324
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 115,
+ "pc": [
+ 325
+ ]
+ },
+ {
+ "teal": 346,
+ "source": 116,
+ "pc": [
+ 326,
+ 327
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 116,
+ "pc": [
+ 328,
+ 329
+ ]
+ },
+ {
+ "teal": 348,
+ "source": 116,
+ "pc": [
+ 330,
+ 331
+ ]
+ },
+ {
+ "teal": 349,
+ "source": 116,
+ "pc": [
+ 332
+ ]
+ },
+ {
+ "teal": 350,
+ "source": 116,
+ "pc": [
+ 333
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 116,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"plugin.address\"}",
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 117,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 358,
+ "source": 117,
+ "pc": [
+ 336
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 117,
+ "pc": [
+ 337,
+ 338
+ ]
+ },
+ {
+ "teal": 360,
+ "source": 117,
+ "pc": [
+ 339
+ ]
+ },
+ {
+ "teal": 361,
+ "source": 117,
+ "pc": [
+ 340,
+ 341
+ ]
+ },
+ {
+ "teal": 362,
+ "source": 117,
+ "pc": [
+ 342,
+ 343
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 117,
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 117,
+ "pc": [
+ 345
+ ]
+ },
+ {
+ "teal": 367,
+ "source": 117,
+ "errorMessage": "This plugin is not in control of the account",
+ "pc": [
+ 346
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 119,
+ "pc": [
+ 347,
+ 348
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 119,
+ "pc": [
+ 349
+ ]
+ },
+ {
+ "teal": 373,
+ "source": 119,
+ "pc": [
+ 350,
+ 351
+ ]
+ },
+ {
+ "teal": 374,
+ "source": 119,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 119,
+ "pc": [
+ 353,
+ 354
+ ]
+ },
+ {
+ "teal": 382,
+ "source": 121,
+ "pc": [
+ 355
+ ]
+ },
+ {
+ "teal": 383,
+ "source": 121,
+ "pc": [
+ 356,
+ 357
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 121,
+ "pc": [
+ 358
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 121,
+ "pc": [
+ 359
+ ]
+ },
+ {
+ "teal": 386,
+ "source": 121,
+ "pc": [
+ 360
+ ]
+ },
+ {
+ "teal": 387,
+ "source": 121,
+ "pc": [
+ 361
+ ]
+ },
+ {
+ "teal": 388,
+ "source": 121,
+ "pc": [
+ 362
+ ]
+ },
+ {
+ "teal": 389,
+ "source": 121,
+ "pc": [
+ 363,
+ 364,
+ 365
+ ]
+ },
+ {
+ "teal": 390,
+ "source": 121,
+ "pc": [
+ 366
+ ]
+ },
+ {
+ "teal": 391,
+ "source": 121,
+ "pc": [
+ 367,
+ 368
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 121,
+ "pc": [
+ 369
+ ]
+ },
+ {
+ "teal": 393,
+ "source": 121,
+ "pc": [
+ 370
+ ]
+ },
+ {
+ "teal": 396,
+ "source": 121,
+ "errorMessage": "box value does not exist: this.plugins(key).value",
+ "pc": [
+ 371
+ ]
+ },
+ {
+ "teal": 397,
+ "source": 121,
+ "pc": [
+ 372,
+ 373
+ ]
+ },
+ {
+ "teal": 398,
+ "source": 121,
+ "pc": [
+ 374,
+ 375
+ ]
+ },
+ {
+ "teal": 399,
+ "source": 121,
+ "pc": [
+ 376,
+ 377,
+ 378
+ ]
+ },
+ {
+ "teal": 400,
+ "source": 121,
+ "pc": [
+ 379
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 121,
+ "pc": [
+ 380
+ ]
+ },
+ {
+ "teal": 405,
+ "source": 120,
+ "errorMessage": "This plugin does not have admin privileges",
+ "pc": [
+ 381
+ ]
+ },
+ {
+ "teal": 409,
+ "source": 125,
+ "pc": [
+ 382
+ ]
+ },
+ {
+ "teal": 410,
+ "source": 125,
+ "pc": [
+ 383,
+ 384
+ ]
+ },
+ {
+ "teal": 411,
+ "source": 125,
+ "pc": [
+ 385
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 115,
+ "pc": [
+ 386
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 132,
+ "pc": [
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 132,
+ "pc": [
+ 393,
+ 394,
+ 395
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 132,
+ "pc": [
+ 396
+ ]
+ },
+ {
+ "teal": 422,
+ "source": 132,
+ "pc": [
+ 397
+ ]
+ },
+ {
+ "teal": 423,
+ "source": 132,
+ "pc": [
+ 398
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 132,
+ "pc": [
+ 399
+ ]
+ },
+ {
+ "teal": 431,
+ "source": 132,
+ "pc": [
+ 400,
+ 401,
+ 402
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 133,
+ "pc": [
+ 403
+ ]
+ },
+ {
+ "teal": 436,
+ "source": 133,
+ "pc": [
+ 404
+ ]
+ },
+ {
+ "teal": 437,
+ "source": 132,
+ "pc": [
+ 405
+ ]
+ },
+ {
+ "teal": 442,
+ "source": 139,
+ "pc": [
+ 406,
+ 407,
+ 408
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 139,
+ "pc": [
+ 409
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 139,
+ "pc": [
+ 410
+ ]
+ },
+ {
+ "teal": 450,
+ "source": 139,
+ "pc": [
+ 411,
+ 412,
+ 413
+ ]
+ },
+ {
+ "teal": 454,
+ "source": 140,
+ "pc": [
+ 414
+ ]
+ },
+ {
+ "teal": 455,
+ "source": 140,
+ "pc": [
+ 415
+ ]
+ },
+ {
+ "teal": 456,
+ "source": 140,
+ "pc": [
+ 416,
+ 417
+ ]
+ },
+ {
+ "teal": 457,
+ "source": 140,
+ "pc": [
+ 418
+ ]
+ },
+ {
+ "teal": 458,
+ "source": 140,
+ "pc": [
+ 419,
+ 420,
+ 421
+ ]
+ },
+ {
+ "teal": 459,
+ "source": 140,
+ "pc": [
+ 422
+ ]
+ },
+ {
+ "teal": 460,
+ "source": 140,
+ "pc": [
+ 423
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 139,
+ "pc": [
+ 424
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 149,
+ "pc": [
+ 425,
+ 426,
+ 427
+ ]
+ },
+ {
+ "teal": 467,
+ "source": 149,
+ "pc": [
+ 428
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 149,
+ "pc": [
+ 429
+ ]
+ },
+ {
+ "teal": 469,
+ "source": 149,
+ "pc": [
+ 430
+ ]
+ },
+ {
+ "teal": 470,
+ "source": 149,
+ "pc": [
+ 431
+ ]
+ },
+ {
+ "teal": 473,
+ "source": 149,
+ "errorMessage": "argument 0 (flash) for arc58_rekeyTo must be a bool",
+ "pc": [
+ 432
+ ]
+ },
+ {
+ "teal": 474,
+ "source": 149,
+ "pc": [
+ 433
+ ]
+ },
+ {
+ "teal": 475,
+ "source": 149,
+ "pc": [
+ 434
+ ]
+ },
+ {
+ "teal": 478,
+ "source": 149,
+ "pc": [
+ 435,
+ 436,
+ 437
+ ]
+ },
+ {
+ "teal": 479,
+ "source": 149,
+ "pc": [
+ 438
+ ]
+ },
+ {
+ "teal": 480,
+ "source": 149,
+ "pc": [
+ 439
+ ]
+ },
+ {
+ "teal": 481,
+ "source": 149,
+ "pc": [
+ 440
+ ]
+ },
+ {
+ "teal": 482,
+ "source": 149,
+ "pc": [
+ 441
+ ]
+ },
+ {
+ "teal": 485,
+ "source": 149,
+ "errorMessage": "argument 1 (addr) for arc58_rekeyTo must be a address",
+ "pc": [
+ 442
+ ]
+ },
+ {
+ "teal": 488,
+ "source": 149,
+ "pc": [
+ 443,
+ 444,
+ 445
+ ]
+ },
+ {
+ "teal": 489,
+ "source": 149,
+ "pc": [
+ 446
+ ]
+ },
+ {
+ "teal": 490,
+ "source": 149,
+ "pc": [
+ 447
+ ]
+ },
+ {
+ "teal": 499,
+ "source": 149,
+ "pc": [
+ 448,
+ 449,
+ 450
+ ]
+ },
+ {
+ "teal": 504,
+ "source": 150,
+ "pc": [
+ 451,
+ 452
+ ]
+ },
+ {
+ "teal": 505,
+ "source": 150,
+ "pc": [
+ 453
+ ]
+ },
+ {
+ "teal": 506,
+ "source": 150,
+ "pc": [
+ 454
+ ]
+ },
+ {
+ "teal": 507,
+ "source": 150,
+ "pc": [
+ 455
+ ]
+ },
+ {
+ "teal": 510,
+ "source": 150,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 456
+ ]
+ },
+ {
+ "teal": 519,
+ "source": 152,
+ "pc": [
+ 457
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 152,
+ "pc": [
+ 458
+ ]
+ },
+ {
+ "teal": 521,
+ "source": 152,
+ "pc": [
+ 459,
+ 460
+ ]
+ },
+ {
+ "teal": 525,
+ "source": 153,
+ "pc": [
+ 461
+ ]
+ },
+ {
+ "teal": 526,
+ "source": 153,
+ "pc": [
+ 462
+ ]
+ },
+ {
+ "teal": 527,
+ "source": 153,
+ "pc": [
+ 463,
+ 464
+ ]
+ },
+ {
+ "teal": 531,
+ "source": 154,
+ "pc": [
+ 465,
+ 466
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 154,
+ "pc": [
+ 467,
+ 468
+ ]
+ },
+ {
+ "teal": 536,
+ "source": 155,
+ "pc": [
+ 469,
+ 470
+ ]
+ },
+ {
+ "teal": 537,
+ "source": 155,
+ "pc": [
+ 471,
+ 472
+ ]
+ },
+ {
+ "teal": 541,
+ "source": 156,
+ "pc": [
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ 501
+ ]
+ },
+ {
+ "teal": 542,
+ "source": 156,
+ "pc": [
+ 502,
+ 503
+ ]
+ },
+ {
+ "teal": 545,
+ "source": 152,
+ "pc": [
+ 504
+ ]
+ },
+ {
+ "teal": 546,
+ "source": 152,
+ "pc": [
+ 505,
+ 506
+ ]
+ },
+ {
+ "teal": 549,
+ "source": 152,
+ "pc": [
+ 507
+ ]
+ },
+ {
+ "teal": 554,
+ "source": 159,
+ "pc": [
+ 508,
+ 509
+ ]
+ },
+ {
+ "teal": 555,
+ "source": 159,
+ "pc": [
+ 510,
+ 511,
+ 512
+ ]
+ },
+ {
+ "teal": 560,
+ "source": 159,
+ "pc": [
+ 513,
+ 514,
+ 515
+ ]
+ },
+ {
+ "teal": 563,
+ "source": 149,
+ "pc": [
+ 516
+ ]
+ },
+ {
+ "teal": 567,
+ "source": 162,
+ "pc": [
+ 517,
+ 518,
+ 519
+ ]
+ },
+ {
+ "teal": 570,
+ "source": 162,
+ "pc": [
+ 520
+ ]
+ },
+ {
+ "teal": 574,
+ "source": 163,
+ "pc": [
+ 521,
+ 522
+ ]
+ },
+ {
+ "teal": 575,
+ "source": 163,
+ "pc": [
+ 523
+ ]
+ },
+ {
+ "teal": 576,
+ "source": 163,
+ "pc": [
+ 524,
+ 525
+ ]
+ },
+ {
+ "teal": 577,
+ "source": 163,
+ "pc": [
+ 526
+ ]
+ },
+ {
+ "teal": 578,
+ "source": 163,
+ "pc": [
+ 527,
+ 528
+ ]
+ },
+ {
+ "teal": 586,
+ "source": 166,
+ "pc": [
+ 529
+ ]
+ },
+ {
+ "teal": 587,
+ "source": 166,
+ "pc": [
+ 530,
+ 531
+ ]
+ },
+ {
+ "teal": 588,
+ "source": 166,
+ "pc": [
+ 532
+ ]
+ },
+ {
+ "teal": 589,
+ "source": 166,
+ "pc": [
+ 533
+ ]
+ },
+ {
+ "teal": 590,
+ "source": 166,
+ "pc": [
+ 534
+ ]
+ },
+ {
+ "teal": 591,
+ "source": 166,
+ "pc": [
+ 535
+ ]
+ },
+ {
+ "teal": 592,
+ "source": 166,
+ "pc": [
+ 536
+ ]
+ },
+ {
+ "teal": 593,
+ "source": 166,
+ "pc": [
+ 537,
+ 538,
+ 539
+ ]
+ },
+ {
+ "teal": 594,
+ "source": 167,
+ "pc": [
+ 540
+ ]
+ },
+ {
+ "teal": 595,
+ "source": 167,
+ "pc": [
+ 541,
+ 542
+ ]
+ },
+ {
+ "teal": 596,
+ "source": 167,
+ "pc": [
+ 543
+ ]
+ },
+ {
+ "teal": 597,
+ "source": 167,
+ "pc": [
+ 544
+ ]
+ },
+ {
+ "teal": 600,
+ "source": 167,
+ "errorMessage": "box value does not exist: this.plugins(key).value",
+ "pc": [
+ 545
+ ]
+ },
+ {
+ "teal": 601,
+ "source": 167,
+ "pc": [
+ 546,
+ 547
+ ]
+ },
+ {
+ "teal": 602,
+ "source": 167,
+ "pc": [
+ 548,
+ 549
+ ]
+ },
+ {
+ "teal": 603,
+ "source": 167,
+ "pc": [
+ 550,
+ 551,
+ 552
+ ]
+ },
+ {
+ "teal": 604,
+ "source": 167,
+ "pc": [
+ 553
+ ]
+ },
+ {
+ "teal": 605,
+ "source": 167,
+ "pc": [
+ 554,
+ 555
+ ]
+ },
+ {
+ "teal": 606,
+ "source": 167,
+ "pc": [
+ 556
+ ]
+ },
+ {
+ "teal": 607,
+ "source": 166,
+ "pc": [
+ 557
+ ]
+ },
+ {
+ "teal": 610,
+ "source": 167,
+ "pc": [
+ 558
+ ]
+ },
+ {
+ "teal": 611,
+ "source": 167,
+ "pc": [
+ 559,
+ 560,
+ 561
+ ]
+ },
+ {
+ "teal": 612,
+ "source": 168,
+ "pc": [
+ 562,
+ 563
+ ]
+ },
+ {
+ "teal": 613,
+ "source": 168,
+ "pc": [
+ 564
+ ]
+ },
+ {
+ "teal": 614,
+ "source": 168,
+ "pc": [
+ 565,
+ 566
+ ]
+ },
+ {
+ "teal": 615,
+ "source": 168,
+ "pc": [
+ 567
+ ]
+ },
+ {
+ "teal": 616,
+ "source": 168,
+ "pc": [
+ 568
+ ]
+ },
+ {
+ "teal": 619,
+ "source": 168,
+ "errorMessage": "box value does not exist: this.plugins(key).value",
+ "pc": [
+ 569
+ ]
+ },
+ {
+ "teal": 620,
+ "source": 168,
+ "pc": [
+ 570,
+ 571
+ ]
+ },
+ {
+ "teal": 621,
+ "source": 168,
+ "pc": [
+ 572,
+ 573
+ ]
+ },
+ {
+ "teal": 622,
+ "source": 168,
+ "pc": [
+ 574,
+ 575,
+ 576
+ ]
+ },
+ {
+ "teal": 623,
+ "source": 168,
+ "pc": [
+ 577
+ ]
+ },
+ {
+ "teal": 624,
+ "source": 168,
+ "pc": [
+ 578
+ ]
+ },
+ {
+ "teal": 625,
+ "source": 168,
+ "pc": [
+ 579
+ ]
+ },
+ {
+ "teal": 626,
+ "source": 168,
+ "pc": [
+ 580,
+ 581
+ ]
+ },
+ {
+ "teal": 627,
+ "source": 168,
+ "pc": [
+ 582
+ ]
+ },
+ {
+ "teal": 628,
+ "source": 168,
+ "pc": [
+ 583
+ ]
+ },
+ {
+ "teal": 631,
+ "source": 168,
+ "errorMessage": "box value does not exist: this.plugins(key).value",
+ "pc": [
+ 584
+ ]
+ },
+ {
+ "teal": 632,
+ "source": 168,
+ "pc": [
+ 585,
+ 586
+ ]
+ },
+ {
+ "teal": 633,
+ "source": 168,
+ "pc": [
+ 587,
+ 588
+ ]
+ },
+ {
+ "teal": 634,
+ "source": 168,
+ "pc": [
+ 589,
+ 590,
+ 591
+ ]
+ },
+ {
+ "teal": 635,
+ "source": 168,
+ "pc": [
+ 592
+ ]
+ },
+ {
+ "teal": 636,
+ "source": 168,
+ "pc": [
+ 593
+ ]
+ },
+ {
+ "teal": 637,
+ "source": 167,
+ "pc": [
+ 594
+ ]
+ },
+ {
+ "teal": 641,
+ "source": 162,
+ "pc": [
+ 595,
+ 596
+ ]
+ },
+ {
+ "teal": 642,
+ "source": 162,
+ "pc": [
+ 597
+ ]
+ },
+ {
+ "teal": 647,
+ "source": 177,
+ "pc": [
+ 598,
+ 599,
+ 600
+ ]
+ },
+ {
+ "teal": 648,
+ "source": 177,
+ "pc": [
+ 601
+ ]
+ },
+ {
+ "teal": 651,
+ "source": 177,
+ "pc": [
+ 602,
+ 603,
+ 604
+ ]
+ },
+ {
+ "teal": 652,
+ "source": 177,
+ "pc": [
+ 605
+ ]
+ },
+ {
+ "teal": 653,
+ "source": 177,
+ "pc": [
+ 606
+ ]
+ },
+ {
+ "teal": 661,
+ "source": 177,
+ "pc": [
+ 607,
+ 608,
+ 609
+ ]
+ },
+ {
+ "teal": 664,
+ "source": 177,
+ "pc": [
+ 610
+ ]
+ },
+ {
+ "teal": 668,
+ "source": 178,
+ "pc": [
+ 611,
+ 612
+ ]
+ },
+ {
+ "teal": 669,
+ "source": 178,
+ "pc": [
+ 613,
+ 614
+ ]
+ },
+ {
+ "teal": 670,
+ "source": 178,
+ "pc": [
+ 615,
+ 616,
+ 617
+ ]
+ },
+ {
+ "teal": 671,
+ "source": 178,
+ "pc": [
+ 618,
+ 619
+ ]
+ },
+ {
+ "teal": 676,
+ "source": 180,
+ "pc": [
+ 620,
+ 621
+ ]
+ },
+ {
+ "teal": 677,
+ "source": 180,
+ "pc": [
+ 622
+ ]
+ },
+ {
+ "teal": 678,
+ "source": 180,
+ "pc": [
+ 623,
+ 624,
+ 625
+ ]
+ },
+ {
+ "teal": 683,
+ "source": 181,
+ "pc": [
+ 626,
+ 627
+ ]
+ },
+ {
+ "teal": 684,
+ "source": 181,
+ "pc": [
+ 628,
+ 629
+ ]
+ },
+ {
+ "teal": 685,
+ "source": 181,
+ "pc": [
+ 630,
+ 631,
+ 632
+ ]
+ },
+ {
+ "teal": 688,
+ "source": 181,
+ "errorMessage": "This sender is not allowed to trigger this plugin",
+ "pc": [
+ 633
+ ]
+ },
+ {
+ "teal": 698,
+ "source": 183,
+ "pc": [
+ 634
+ ]
+ },
+ {
+ "teal": 699,
+ "source": 183,
+ "pc": [
+ 635
+ ]
+ },
+ {
+ "teal": 700,
+ "source": 183,
+ "pc": [
+ 636,
+ 637
+ ]
+ },
+ {
+ "teal": 704,
+ "source": 184,
+ "pc": [
+ 638
+ ]
+ },
+ {
+ "teal": 705,
+ "source": 184,
+ "pc": [
+ 639
+ ]
+ },
+ {
+ "teal": 706,
+ "source": 184,
+ "pc": [
+ 640,
+ 641
+ ]
+ },
+ {
+ "teal": 710,
+ "source": 185,
+ "pc": [
+ 642
+ ]
+ },
+ {
+ "teal": 711,
+ "source": 185,
+ "pc": [
+ 643
+ ]
+ },
+ {
+ "teal": 712,
+ "source": 185,
+ "pc": [
+ 644,
+ 645
+ ]
+ },
+ {
+ "teal": 716,
+ "source": 186,
+ "pc": [
+ 646,
+ 647
+ ]
+ },
+ {
+ "teal": 717,
+ "source": 186,
+ "pc": [
+ 648,
+ 649
+ ]
+ },
+ {
+ "teal": 718,
+ "source": 186,
+ "pc": [
+ 650
+ ]
+ },
+ {
+ "teal": 719,
+ "source": 186,
+ "pc": [
+ 651,
+ 652
+ ]
+ },
+ {
+ "teal": 723,
+ "source": 187,
+ "pc": [
+ 653,
+ 654,
+ 655,
+ 656,
+ 657,
+ 658,
+ 659,
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672,
+ 673,
+ 674,
+ 675,
+ 676
+ ]
+ },
+ {
+ "teal": 724,
+ "source": 187,
+ "pc": [
+ 677,
+ 678
+ ]
+ },
+ {
+ "teal": 727,
+ "source": 183,
+ "pc": [
+ 679
+ ]
+ },
+ {
+ "teal": 728,
+ "source": 183,
+ "pc": [
+ 680,
+ 681
+ ]
+ },
+ {
+ "teal": 731,
+ "source": 183,
+ "pc": [
+ 682
+ ]
+ },
+ {
+ "teal": 738,
+ "source": 190,
+ "pc": [
+ 683
+ ]
+ },
+ {
+ "teal": 739,
+ "source": 191,
+ "pc": [
+ 684,
+ 685
+ ]
+ },
+ {
+ "teal": 740,
+ "source": 191,
+ "pc": [
+ 686
+ ]
+ },
+ {
+ "teal": 741,
+ "source": 192,
+ "pc": [
+ 687,
+ 688
+ ]
+ },
+ {
+ "teal": 742,
+ "source": 192,
+ "pc": [
+ 689,
+ 690,
+ 691
+ ]
+ },
+ {
+ "teal": 743,
+ "source": 192,
+ "pc": [
+ 692,
+ 693
+ ]
+ },
+ {
+ "teal": 744,
+ "source": 192,
+ "pc": [
+ 694,
+ 695,
+ 696
+ ]
+ },
+ {
+ "teal": 747,
+ "source": 192,
+ "pc": [
+ 697,
+ 698
+ ]
+ },
+ {
+ "teal": 750,
+ "source": 192,
+ "pc": [
+ 699
+ ]
+ },
+ {
+ "teal": 751,
+ "source": 190,
+ "pc": [
+ 700
+ ]
+ },
+ {
+ "teal": 752,
+ "source": 190,
+ "pc": [
+ 701
+ ]
+ },
+ {
+ "teal": 755,
+ "source": 190,
+ "errorMessage": "box value does not exist: this.plugins({ application: plugin, allowedCaller: globalAllowed ? Address.zeroAddress : this.txn.sender, }).value",
+ "pc": [
+ 702
+ ]
+ },
+ {
+ "teal": 756,
+ "source": 190,
+ "pc": [
+ 703,
+ 704
+ ]
+ },
+ {
+ "teal": 757,
+ "source": 190,
+ "pc": [
+ 705,
+ 706
+ ]
+ },
+ {
+ "teal": 758,
+ "source": 190,
+ "pc": [
+ 707,
+ 708
+ ]
+ },
+ {
+ "teal": 759,
+ "source": 193,
+ "pc": [
+ 709,
+ 710
+ ]
+ },
+ {
+ "teal": 760,
+ "source": 193,
+ "pc": [
+ 711
+ ]
+ },
+ {
+ "teal": 761,
+ "source": 190,
+ "pc": [
+ 712
+ ]
+ },
+ {
+ "teal": 762,
+ "source": 191,
+ "pc": [
+ 713,
+ 714
+ ]
+ },
+ {
+ "teal": 763,
+ "source": 191,
+ "pc": [
+ 715
+ ]
+ },
+ {
+ "teal": 764,
+ "source": 192,
+ "pc": [
+ 716,
+ 717
+ ]
+ },
+ {
+ "teal": 765,
+ "source": 192,
+ "pc": [
+ 718,
+ 719,
+ 720
+ ]
+ },
+ {
+ "teal": 766,
+ "source": 192,
+ "pc": [
+ 721,
+ 722
+ ]
+ },
+ {
+ "teal": 767,
+ "source": 192,
+ "pc": [
+ 723,
+ 724,
+ 725
+ ]
+ },
+ {
+ "teal": 770,
+ "source": 192,
+ "pc": [
+ 726,
+ 727
+ ]
+ },
+ {
+ "teal": 773,
+ "source": 192,
+ "pc": [
+ 728
+ ]
+ },
+ {
+ "teal": 774,
+ "source": 190,
+ "pc": [
+ 729
+ ]
+ },
+ {
+ "teal": 775,
+ "source": 190,
+ "pc": [
+ 730,
+ 731
+ ]
+ },
+ {
+ "teal": 776,
+ "source": 190,
+ "pc": [
+ 732
+ ]
+ },
+ {
+ "teal": 780,
+ "source": 195,
+ "pc": [
+ 733,
+ 734,
+ 735
+ ]
+ },
+ {
+ "teal": 781,
+ "source": 177,
+ "pc": [
+ 736
+ ]
+ },
+ {
+ "teal": 786,
+ "source": 203,
+ "pc": [
+ 737,
+ 738,
+ 739
+ ]
+ },
+ {
+ "teal": 787,
+ "source": 203,
+ "pc": [
+ 740,
+ 741,
+ 742
+ ]
+ },
+ {
+ "teal": 790,
+ "source": 203,
+ "pc": [
+ 743,
+ 744,
+ 745
+ ]
+ },
+ {
+ "teal": 791,
+ "source": 203,
+ "pc": [
+ 746
+ ]
+ },
+ {
+ "teal": 792,
+ "source": 203,
+ "pc": [
+ 747
+ ]
+ },
+ {
+ "teal": 800,
+ "source": 203,
+ "pc": [
+ 748,
+ 749,
+ 750
+ ]
+ },
+ {
+ "teal": 804,
+ "source": 204,
+ "pc": [
+ 751
+ ]
+ },
+ {
+ "teal": 805,
+ "source": 204,
+ "pc": [
+ 752,
+ 753
+ ]
+ },
+ {
+ "teal": 806,
+ "source": 204,
+ "pc": [
+ 754,
+ 755
+ ]
+ },
+ {
+ "teal": 807,
+ "source": 204,
+ "pc": [
+ 756,
+ 757
+ ]
+ },
+ {
+ "teal": 808,
+ "source": 204,
+ "pc": [
+ 758
+ ]
+ },
+ {
+ "teal": 809,
+ "source": 204,
+ "pc": [
+ 759,
+ 760
+ ]
+ },
+ {
+ "teal": 810,
+ "source": 204,
+ "pc": [
+ 761
+ ]
+ },
+ {
+ "teal": 811,
+ "source": 204,
+ "pc": [
+ 762
+ ]
+ },
+ {
+ "teal": 812,
+ "source": 204,
+ "pc": [
+ 763,
+ 764,
+ 765
+ ]
+ },
+ {
+ "teal": 813,
+ "source": 203,
+ "pc": [
+ 766
+ ]
+ },
+ {
+ "teal": 818,
+ "source": 222,
+ "pc": [
+ 767,
+ 768,
+ 769
+ ]
+ },
+ {
+ "teal": 819,
+ "source": 222,
+ "pc": [
+ 770
+ ]
+ },
+ {
+ "teal": 820,
+ "source": 222,
+ "pc": [
+ 771
+ ]
+ },
+ {
+ "teal": 821,
+ "source": 222,
+ "pc": [
+ 772
+ ]
+ },
+ {
+ "teal": 822,
+ "source": 222,
+ "pc": [
+ 773
+ ]
+ },
+ {
+ "teal": 825,
+ "source": 222,
+ "errorMessage": "argument 0 (adminPrivileges) for arc58_addPlugin must be a bool",
+ "pc": [
+ 774
+ ]
+ },
+ {
+ "teal": 826,
+ "source": 222,
+ "pc": [
+ 775
+ ]
+ },
+ {
+ "teal": 827,
+ "source": 222,
+ "pc": [
+ 776
+ ]
+ },
+ {
+ "teal": 830,
+ "source": 221,
+ "pc": [
+ 777,
+ 778,
+ 779
+ ]
+ },
+ {
+ "teal": 831,
+ "source": 221,
+ "pc": [
+ 780
+ ]
+ },
+ {
+ "teal": 834,
+ "source": 220,
+ "pc": [
+ 781,
+ 782,
+ 783
+ ]
+ },
+ {
+ "teal": 835,
+ "source": 220,
+ "pc": [
+ 784
+ ]
+ },
+ {
+ "teal": 838,
+ "source": 219,
+ "pc": [
+ 785,
+ 786,
+ 787
+ ]
+ },
+ {
+ "teal": 839,
+ "source": 219,
+ "pc": [
+ 788
+ ]
+ },
+ {
+ "teal": 840,
+ "source": 219,
+ "pc": [
+ 789
+ ]
+ },
+ {
+ "teal": 841,
+ "source": 219,
+ "pc": [
+ 790
+ ]
+ },
+ {
+ "teal": 842,
+ "source": 219,
+ "pc": [
+ 791
+ ]
+ },
+ {
+ "teal": 845,
+ "source": 219,
+ "errorMessage": "argument 3 (allowedCaller) for arc58_addPlugin must be a address",
+ "pc": [
+ 792
+ ]
+ },
+ {
+ "teal": 848,
+ "source": 218,
+ "pc": [
+ 793,
+ 794,
+ 795
+ ]
+ },
+ {
+ "teal": 849,
+ "source": 218,
+ "pc": [
+ 796
+ ]
+ },
+ {
+ "teal": 852,
+ "source": 217,
+ "pc": [
+ 797,
+ 798,
+ 799
+ ]
+ },
+ {
+ "teal": 853,
+ "source": 217,
+ "pc": [
+ 800
+ ]
+ },
+ {
+ "teal": 854,
+ "source": 217,
+ "pc": [
+ 801
+ ]
+ },
+ {
+ "teal": 867,
+ "source": 217,
+ "pc": [
+ 802,
+ 803,
+ 804
+ ]
+ },
+ {
+ "teal": 870,
+ "source": 217,
+ "pc": [
+ 805
+ ]
+ },
+ {
+ "teal": 875,
+ "source": 224,
+ "pc": [
+ 806,
+ 807
+ ]
+ },
+ {
+ "teal": 876,
+ "source": 224,
+ "pc": [
+ 808
+ ]
+ },
+ {
+ "teal": 877,
+ "source": 224,
+ "pc": [
+ 809
+ ]
+ },
+ {
+ "teal": 878,
+ "source": 224,
+ "pc": [
+ 810
+ ]
+ },
+ {
+ "teal": 881,
+ "source": 224,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 811
+ ]
+ },
+ {
+ "teal": 885,
+ "source": 225,
+ "pc": [
+ 812,
+ 813
+ ]
+ },
+ {
+ "teal": 886,
+ "source": 225,
+ "pc": [
+ 814
+ ]
+ },
+ {
+ "teal": 887,
+ "source": 225,
+ "pc": [
+ 815,
+ 816
+ ]
+ },
+ {
+ "teal": 888,
+ "source": 225,
+ "pc": [
+ 817
+ ]
+ },
+ {
+ "teal": 889,
+ "source": 225,
+ "pc": [
+ 818,
+ 819
+ ]
+ },
+ {
+ "teal": 898,
+ "source": 226,
+ "pc": [
+ 820
+ ]
+ },
+ {
+ "teal": 899,
+ "source": 226,
+ "pc": [
+ 821,
+ 822
+ ]
+ },
+ {
+ "teal": 900,
+ "source": 226,
+ "pc": [
+ 823
+ ]
+ },
+ {
+ "teal": 901,
+ "source": 227,
+ "pc": [
+ 824,
+ 825
+ ]
+ },
+ {
+ "teal": 902,
+ "source": 227,
+ "pc": [
+ 826
+ ]
+ },
+ {
+ "teal": 903,
+ "source": 228,
+ "pc": [
+ 827,
+ 828
+ ]
+ },
+ {
+ "teal": 904,
+ "source": 228,
+ "pc": [
+ 829
+ ]
+ },
+ {
+ "teal": 905,
+ "source": 228,
+ "pc": [
+ 830
+ ]
+ },
+ {
+ "teal": 906,
+ "source": 229,
+ "pc": [
+ 831,
+ 832
+ ]
+ },
+ {
+ "teal": 907,
+ "source": 229,
+ "pc": [
+ 833
+ ]
+ },
+ {
+ "teal": 908,
+ "source": 230,
+ "pc": [
+ 834,
+ 835
+ ]
+ },
+ {
+ "teal": 909,
+ "source": 230,
+ "pc": [
+ 836
+ ]
+ },
+ {
+ "teal": 910,
+ "source": 230,
+ "pc": [
+ 837,
+ 838
+ ]
+ },
+ {
+ "teal": 911,
+ "source": 230,
+ "pc": [
+ 839
+ ]
+ },
+ {
+ "teal": 912,
+ "source": 226,
+ "pc": [
+ 840
+ ]
+ },
+ {
+ "teal": 913,
+ "source": 226,
+ "pc": [
+ 841
+ ]
+ },
+ {
+ "teal": 914,
+ "source": 217,
+ "pc": [
+ 842
+ ]
+ },
+ {
+ "teal": 919,
+ "source": 239,
+ "pc": [
+ 843,
+ 844,
+ 845
+ ]
+ },
+ {
+ "teal": 920,
+ "source": 239,
+ "pc": [
+ 846
+ ]
+ },
+ {
+ "teal": 921,
+ "source": 239,
+ "pc": [
+ 847
+ ]
+ },
+ {
+ "teal": 922,
+ "source": 239,
+ "pc": [
+ 848
+ ]
+ },
+ {
+ "teal": 923,
+ "source": 239,
+ "pc": [
+ 849
+ ]
+ },
+ {
+ "teal": 926,
+ "source": 239,
+ "errorMessage": "argument 0 (allowedCaller) for arc58_removePlugin must be a address",
+ "pc": [
+ 850
+ ]
+ },
+ {
+ "teal": 929,
+ "source": 239,
+ "pc": [
+ 851,
+ 852,
+ 853
+ ]
+ },
+ {
+ "teal": 930,
+ "source": 239,
+ "pc": [
+ 854
+ ]
+ },
+ {
+ "teal": 933,
+ "source": 239,
+ "pc": [
+ 855,
+ 856,
+ 857
+ ]
+ },
+ {
+ "teal": 934,
+ "source": 239,
+ "pc": [
+ 858
+ ]
+ },
+ {
+ "teal": 935,
+ "source": 239,
+ "pc": [
+ 859
+ ]
+ },
+ {
+ "teal": 943,
+ "source": 239,
+ "pc": [
+ 860,
+ 861,
+ 862
+ ]
+ },
+ {
+ "teal": 946,
+ "source": 239,
+ "pc": [
+ 863
+ ]
+ },
+ {
+ "teal": 951,
+ "source": 240,
+ "pc": [
+ 864,
+ 865
+ ]
+ },
+ {
+ "teal": 952,
+ "source": 240,
+ "pc": [
+ 866
+ ]
+ },
+ {
+ "teal": 953,
+ "source": 240,
+ "pc": [
+ 867
+ ]
+ },
+ {
+ "teal": 954,
+ "source": 240,
+ "pc": [
+ 868
+ ]
+ },
+ {
+ "teal": 957,
+ "source": 240,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 869
+ ]
+ },
+ {
+ "teal": 961,
+ "source": 242,
+ "pc": [
+ 870,
+ 871
+ ]
+ },
+ {
+ "teal": 962,
+ "source": 242,
+ "pc": [
+ 872
+ ]
+ },
+ {
+ "teal": 963,
+ "source": 242,
+ "pc": [
+ 873,
+ 874
+ ]
+ },
+ {
+ "teal": 964,
+ "source": 242,
+ "pc": [
+ 875
+ ]
+ },
+ {
+ "teal": 965,
+ "source": 242,
+ "pc": [
+ 876,
+ 877
+ ]
+ },
+ {
+ "teal": 969,
+ "source": 243,
+ "pc": [
+ 878
+ ]
+ },
+ {
+ "teal": 970,
+ "source": 243,
+ "pc": [
+ 879,
+ 880
+ ]
+ },
+ {
+ "teal": 971,
+ "source": 243,
+ "pc": [
+ 881
+ ]
+ },
+ {
+ "teal": 972,
+ "source": 243,
+ "pc": [
+ 882
+ ]
+ },
+ {
+ "teal": 973,
+ "source": 239,
+ "pc": [
+ 883
+ ]
+ },
+ {
+ "teal": 978,
+ "source": 263,
+ "pc": [
+ 884,
+ 885,
+ 886
+ ]
+ },
+ {
+ "teal": 979,
+ "source": 263,
+ "pc": [
+ 887
+ ]
+ },
+ {
+ "teal": 980,
+ "source": 263,
+ "pc": [
+ 888
+ ]
+ },
+ {
+ "teal": 981,
+ "source": 263,
+ "pc": [
+ 889
+ ]
+ },
+ {
+ "teal": 982,
+ "source": 263,
+ "pc": [
+ 890
+ ]
+ },
+ {
+ "teal": 985,
+ "source": 263,
+ "errorMessage": "argument 0 (adminPrivileges) for arc58_addNamedPlugin must be a bool",
+ "pc": [
+ 891
+ ]
+ },
+ {
+ "teal": 986,
+ "source": 263,
+ "pc": [
+ 892
+ ]
+ },
+ {
+ "teal": 987,
+ "source": 263,
+ "pc": [
+ 893
+ ]
+ },
+ {
+ "teal": 990,
+ "source": 262,
+ "pc": [
+ 894,
+ 895,
+ 896
+ ]
+ },
+ {
+ "teal": 991,
+ "source": 262,
+ "pc": [
+ 897
+ ]
+ },
+ {
+ "teal": 994,
+ "source": 261,
+ "pc": [
+ 898,
+ 899,
+ 900
+ ]
+ },
+ {
+ "teal": 995,
+ "source": 261,
+ "pc": [
+ 901
+ ]
+ },
+ {
+ "teal": 998,
+ "source": 260,
+ "pc": [
+ 902,
+ 903,
+ 904
+ ]
+ },
+ {
+ "teal": 999,
+ "source": 260,
+ "pc": [
+ 905
+ ]
+ },
+ {
+ "teal": 1000,
+ "source": 260,
+ "pc": [
+ 906
+ ]
+ },
+ {
+ "teal": 1001,
+ "source": 260,
+ "pc": [
+ 907
+ ]
+ },
+ {
+ "teal": 1002,
+ "source": 260,
+ "pc": [
+ 908
+ ]
+ },
+ {
+ "teal": 1005,
+ "source": 260,
+ "errorMessage": "argument 3 (allowedCaller) for arc58_addNamedPlugin must be a address",
+ "pc": [
+ 909
+ ]
+ },
+ {
+ "teal": 1008,
+ "source": 259,
+ "pc": [
+ 910,
+ 911,
+ 912
+ ]
+ },
+ {
+ "teal": 1009,
+ "source": 259,
+ "pc": [
+ 913
+ ]
+ },
+ {
+ "teal": 1012,
+ "source": 258,
+ "pc": [
+ 914,
+ 915,
+ 916
+ ]
+ },
+ {
+ "teal": 1013,
+ "source": 258,
+ "pc": [
+ 917,
+ 918,
+ 919
+ ]
+ },
+ {
+ "teal": 1016,
+ "source": 257,
+ "pc": [
+ 920,
+ 921,
+ 922
+ ]
+ },
+ {
+ "teal": 1017,
+ "source": 257,
+ "pc": [
+ 923
+ ]
+ },
+ {
+ "teal": 1018,
+ "source": 257,
+ "pc": [
+ 924
+ ]
+ },
+ {
+ "teal": 1032,
+ "source": 257,
+ "pc": [
+ 925,
+ 926,
+ 927
+ ]
+ },
+ {
+ "teal": 1035,
+ "source": 257,
+ "pc": [
+ 928
+ ]
+ },
+ {
+ "teal": 1040,
+ "source": 265,
+ "pc": [
+ 929,
+ 930
+ ]
+ },
+ {
+ "teal": 1041,
+ "source": 265,
+ "pc": [
+ 931
+ ]
+ },
+ {
+ "teal": 1042,
+ "source": 265,
+ "pc": [
+ 932
+ ]
+ },
+ {
+ "teal": 1043,
+ "source": 265,
+ "pc": [
+ 933
+ ]
+ },
+ {
+ "teal": 1046,
+ "source": 265,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 934
+ ]
+ },
+ {
+ "teal": 1050,
+ "source": 266,
+ "pc": [
+ 935,
+ 936
+ ]
+ },
+ {
+ "teal": 1051,
+ "source": 266,
+ "pc": [
+ 937,
+ 938
+ ]
+ },
+ {
+ "teal": 1052,
+ "source": 266,
+ "pc": [
+ 939
+ ]
+ },
+ {
+ "teal": 1053,
+ "source": 266,
+ "pc": [
+ 940
+ ]
+ },
+ {
+ "teal": 1054,
+ "source": 266,
+ "pc": [
+ 941
+ ]
+ },
+ {
+ "teal": 1055,
+ "source": 266,
+ "pc": [
+ 942
+ ]
+ },
+ {
+ "teal": 1056,
+ "source": 266,
+ "pc": [
+ 943
+ ]
+ },
+ {
+ "teal": 1057,
+ "source": 266,
+ "pc": [
+ 944
+ ]
+ },
+ {
+ "teal": 1061,
+ "source": 268,
+ "pc": [
+ 945,
+ 946
+ ]
+ },
+ {
+ "teal": 1062,
+ "source": 268,
+ "pc": [
+ 947
+ ]
+ },
+ {
+ "teal": 1063,
+ "source": 268,
+ "pc": [
+ 948,
+ 949
+ ]
+ },
+ {
+ "teal": 1064,
+ "source": 268,
+ "pc": [
+ 950
+ ]
+ },
+ {
+ "teal": 1065,
+ "source": 268,
+ "pc": [
+ 951,
+ 952
+ ]
+ },
+ {
+ "teal": 1069,
+ "source": 269,
+ "pc": [
+ 953,
+ 954
+ ]
+ },
+ {
+ "teal": 1070,
+ "source": 269,
+ "pc": [
+ 955,
+ 956
+ ]
+ },
+ {
+ "teal": 1071,
+ "source": 269,
+ "pc": [
+ 957
+ ]
+ },
+ {
+ "teal": 1072,
+ "source": 269,
+ "pc": [
+ 958,
+ 959
+ ]
+ },
+ {
+ "teal": 1073,
+ "source": 269,
+ "pc": [
+ 960
+ ]
+ },
+ {
+ "teal": 1082,
+ "source": 270,
+ "pc": [
+ 961
+ ]
+ },
+ {
+ "teal": 1083,
+ "source": 270,
+ "pc": [
+ 962,
+ 963
+ ]
+ },
+ {
+ "teal": 1084,
+ "source": 270,
+ "pc": [
+ 964
+ ]
+ },
+ {
+ "teal": 1085,
+ "source": 271,
+ "pc": [
+ 965,
+ 966
+ ]
+ },
+ {
+ "teal": 1086,
+ "source": 271,
+ "pc": [
+ 967
+ ]
+ },
+ {
+ "teal": 1087,
+ "source": 272,
+ "pc": [
+ 968,
+ 969
+ ]
+ },
+ {
+ "teal": 1088,
+ "source": 272,
+ "pc": [
+ 970
+ ]
+ },
+ {
+ "teal": 1089,
+ "source": 272,
+ "pc": [
+ 971
+ ]
+ },
+ {
+ "teal": 1090,
+ "source": 273,
+ "pc": [
+ 972,
+ 973
+ ]
+ },
+ {
+ "teal": 1091,
+ "source": 273,
+ "pc": [
+ 974
+ ]
+ },
+ {
+ "teal": 1092,
+ "source": 274,
+ "pc": [
+ 975,
+ 976
+ ]
+ },
+ {
+ "teal": 1093,
+ "source": 274,
+ "pc": [
+ 977
+ ]
+ },
+ {
+ "teal": 1094,
+ "source": 274,
+ "pc": [
+ 978,
+ 979
+ ]
+ },
+ {
+ "teal": 1095,
+ "source": 274,
+ "pc": [
+ 980
+ ]
+ },
+ {
+ "teal": 1096,
+ "source": 270,
+ "pc": [
+ 981
+ ]
+ },
+ {
+ "teal": 1097,
+ "source": 270,
+ "pc": [
+ 982
+ ]
+ },
+ {
+ "teal": 1098,
+ "source": 257,
+ "pc": [
+ 983
+ ]
+ },
+ {
+ "teal": 1103,
+ "source": 283,
+ "pc": [
+ 984,
+ 985,
+ 986
+ ]
+ },
+ {
+ "teal": 1104,
+ "source": 283,
+ "pc": [
+ 987,
+ 988,
+ 989
+ ]
+ },
+ {
+ "teal": 1107,
+ "source": 283,
+ "pc": [
+ 990,
+ 991,
+ 992
+ ]
+ },
+ {
+ "teal": 1108,
+ "source": 283,
+ "pc": [
+ 993
+ ]
+ },
+ {
+ "teal": 1109,
+ "source": 283,
+ "pc": [
+ 994
+ ]
+ },
+ {
+ "teal": 1117,
+ "source": 283,
+ "pc": [
+ 995,
+ 996,
+ 997
+ ]
+ },
+ {
+ "teal": 1120,
+ "source": 283,
+ "pc": [
+ 998
+ ]
+ },
+ {
+ "teal": 1125,
+ "source": 284,
+ "pc": [
+ 999,
+ 1000
+ ]
+ },
+ {
+ "teal": 1126,
+ "source": 284,
+ "pc": [
+ 1001
+ ]
+ },
+ {
+ "teal": 1127,
+ "source": 284,
+ "pc": [
+ 1002
+ ]
+ },
+ {
+ "teal": 1128,
+ "source": 284,
+ "pc": [
+ 1003
+ ]
+ },
+ {
+ "teal": 1131,
+ "source": 284,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 1004
+ ]
+ },
+ {
+ "teal": 1135,
+ "source": 286,
+ "pc": [
+ 1005,
+ 1006
+ ]
+ },
+ {
+ "teal": 1136,
+ "source": 286,
+ "pc": [
+ 1007,
+ 1008
+ ]
+ },
+ {
+ "teal": 1137,
+ "source": 286,
+ "pc": [
+ 1009
+ ]
+ },
+ {
+ "teal": 1138,
+ "source": 286,
+ "pc": [
+ 1010,
+ 1011
+ ]
+ },
+ {
+ "teal": 1142,
+ "source": 287,
+ "pc": [
+ 1012,
+ 1013
+ ]
+ },
+ {
+ "teal": 1143,
+ "source": 287,
+ "pc": [
+ 1014,
+ 1015
+ ]
+ },
+ {
+ "teal": 1144,
+ "source": 287,
+ "pc": [
+ 1016
+ ]
+ },
+ {
+ "teal": 1145,
+ "source": 287,
+ "pc": [
+ 1017
+ ]
+ },
+ {
+ "teal": 1149,
+ "source": 288,
+ "pc": [
+ 1018
+ ]
+ },
+ {
+ "teal": 1150,
+ "source": 286,
+ "pc": [
+ 1019,
+ 1020
+ ]
+ },
+ {
+ "teal": 1151,
+ "source": 286,
+ "pc": [
+ 1021
+ ]
+ },
+ {
+ "teal": 1154,
+ "source": 286,
+ "errorMessage": "box value does not exist: this.namedPlugins(name).value",
+ "pc": [
+ 1022
+ ]
+ },
+ {
+ "teal": 1155,
+ "source": 288,
+ "pc": [
+ 1023
+ ]
+ },
+ {
+ "teal": 1156,
+ "source": 288,
+ "pc": [
+ 1024
+ ]
+ },
+ {
+ "teal": 1157,
+ "source": 283,
+ "pc": [
+ 1025
+ ]
+ },
+ {
+ "teal": 1160,
+ "source": 21,
+ "pc": [
+ 1026,
+ 1027,
+ 1028,
+ 1029,
+ 1030,
+ 1031
+ ]
+ },
+ {
+ "teal": 1161,
+ "source": 21,
+ "pc": [
+ 1032,
+ 1033,
+ 1034
+ ]
+ },
+ {
+ "teal": 1162,
+ "source": 21,
+ "pc": [
+ 1035,
+ 1036,
+ 1037,
+ 1038
+ ]
+ },
+ {
+ "teal": 1165,
+ "source": 21,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 1039
+ ]
+ },
+ {
+ "teal": 1168,
+ "source": 21,
+ "pc": [
+ 1040,
+ 1041,
+ 1042,
+ 1043,
+ 1044,
+ 1045
+ ]
+ },
+ {
+ "teal": 1169,
+ "source": 21,
+ "pc": [
+ 1046,
+ 1047,
+ 1048,
+ 1049,
+ 1050,
+ 1051
+ ]
+ },
+ {
+ "teal": 1170,
+ "source": 21,
+ "pc": [
+ 1052,
+ 1053,
+ 1054,
+ 1055,
+ 1056,
+ 1057
+ ]
+ },
+ {
+ "teal": 1171,
+ "source": 21,
+ "pc": [
+ 1058,
+ 1059
+ ]
+ },
+ {
+ "teal": 1172,
+ "source": 21,
+ "pc": [
+ 1060,
+ 1061,
+ 1062,
+ 1063,
+ 1064,
+ 1065
+ ]
+ },
+ {
+ "teal": 1173,
+ "source": 21,
+ "pc": [
+ 1066,
+ 1067,
+ 1068,
+ 1069,
+ 1070,
+ 1071
+ ]
+ },
+ {
+ "teal": 1174,
+ "source": 21,
+ "pc": [
+ 1072,
+ 1073,
+ 1074,
+ 1075,
+ 1076,
+ 1077
+ ]
+ },
+ {
+ "teal": 1175,
+ "source": 21,
+ "pc": [
+ 1078,
+ 1079,
+ 1080,
+ 1081,
+ 1082,
+ 1083
+ ]
+ },
+ {
+ "teal": 1176,
+ "source": 21,
+ "pc": [
+ 1084,
+ 1085,
+ 1086,
+ 1087,
+ 1088,
+ 1089
+ ]
+ },
+ {
+ "teal": 1177,
+ "source": 21,
+ "pc": [
+ 1090,
+ 1091,
+ 1092,
+ 1093,
+ 1094,
+ 1095
+ ]
+ },
+ {
+ "teal": 1178,
+ "source": 21,
+ "pc": [
+ 1096,
+ 1097,
+ 1098,
+ 1099,
+ 1100,
+ 1101
+ ]
+ },
+ {
+ "teal": 1179,
+ "source": 21,
+ "pc": [
+ 1102,
+ 1103,
+ 1104
+ ]
+ },
+ {
+ "teal": 1180,
+ "source": 21,
+ "pc": [
+ 1105,
+ 1106,
+ 1107,
+ 1108,
+ 1109,
+ 1110,
+ 1111,
+ 1112,
+ 1113,
+ 1114,
+ 1115,
+ 1116,
+ 1117,
+ 1118,
+ 1119,
+ 1120,
+ 1121,
+ 1122,
+ 1123,
+ 1124,
+ 1125,
+ 1126,
+ 1127,
+ 1128
+ ]
+ },
+ {
+ "teal": 1183,
+ "source": 21,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 1129
+ ]
+ }
+ ],
+ "clear": []
+ },
+ "source": {
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQoKTogdm9pZAovLwovLyBFbnN1cmUgdGhhdCBieSB0aGUgZW5kIG9mIHRoZSBncm91cCB0aGUgYWJzdHJhY3RlZCBhY2NvdW50IGhhcyBjb250cm9sIG9mIGl0cyBhZGRyZXNzCnZlcmlmeVJla2V5VG9BYnN0cmFjdGVkQWNjb3VudDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ1CgkvLyByZWtleWVkQmFjayA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIHJla2V5ZWRCYWNrOiBib29sCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo0NwoJLy8gZm9yIChsZXQgaSA9IHRoaXMudHhuLmdyb3VwSW5kZXg7IGkgPCB0aGlzLnR4bkdyb3VwLmxlbmd0aDsgaSArPSAxKQoJdHhuIEdyb3VwSW5kZXgKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDcKCS8vIGkgPCB0aGlzLnR4bkdyb3VwLmxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglnbG9iYWwgR3JvdXBTaXplCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo0OAoJLy8gdHhuID0gdGhpcy50eG5Hcm91cFtpXQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gdHhuOiB0eG4KCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo1MQoJLy8gdHhuLnNlbmRlciA9PT0gdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSAmJiB0eG4ucmVrZXlUbyA9PT0gdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZQoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIFNlbmRlcgoJYnl0ZSAweDYzIC8vICJjIgoJYXBwX2dsb2JhbF9nZXQKCT09CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBSZWtleVRvCglieXRlIDB4NjMgLy8gImMiCglhcHBfZ2xvYmFsX2dldAoJPT0KCSYmCgoqc2tpcF9hbmQwOgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTIKCS8vIHJla2V5ZWRCYWNrID0gdHJ1ZQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyByZWtleWVkQmFjazogYm9vbAoJYiAqZm9yXzBfZW5kCgoqaWYwX2VuZDoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjU4CgkvLyB0eG4udHlwZUVudW0gPT09IFRyYW5zYWN0aW9uVHlwZS5BcHBsaWNhdGlvbkNhbGwgJiYKCS8vICAgICAgICAgdHhuLmFwcGxpY2F0aW9uSUQgPT09IHRoaXMuYXBwICYmCgkvLyAgICAgICAgIHR4bi5udW1BcHBBcmdzID09PSAxICYmCgkvLyAgICAgICAgIHR4bi5hcHBsaWNhdGlvbkFyZ3NbMF0gPT09IG1ldGhvZCgnYXJjNThfdmVyaWZ5QXV0aEFkZHIoKXZvaWQnKQoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIFR5cGVFbnVtCglpbnQgYXBwbAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIEFwcGxpY2F0aW9uSUQKCXR4bmEgQXBwbGljYXRpb25zIDAKCT09CgkmJgoKKnNraXBfYW5kMToKCWR1cAoJYnogKnNraXBfYW5kMgoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIE51bUFwcEFyZ3MKCWludCAxCgk9PQoJJiYKCipza2lwX2FuZDI6CglkdXAKCWJ6ICpza2lwX2FuZDMKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJbWV0aG9kICJhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCIKCT09CgkmJgoKKnNraXBfYW5kMzoKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjYzCgkvLyByZWtleWVkQmFjayA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWIgKmZvcl8wX2VuZAoKKmlmMV9lbmQ6CgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo2OAoJLy8gYXNzZXJ0KHJla2V5ZWRCYWNrKQoJZnJhbWVfZGlnIDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWFzc2VydAoJcmV0c3ViCgovLyBnZXRBdXRoQWRkcigpOiBBZGRyZXNzCi8vCi8vIFdoYXQgdGhlIHZhbHVlIG9mIHRoaXMuYWRkcmVzcy52YWx1ZS5hdXRoQWRkciBzaG91bGQgYmUgd2hlbiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzCi8vIGlzIGFibGUgdG8gYmUgY29udHJvbGxlZCBieSB0aGlzIGFwcC4gSXQgd2lsbCBlaXRoZXIgYmUgdGhpcy5hcHAuYWRkcmVzcyBvciB6ZXJvQWRkcmVzcwpnZXRBdXRoQWRkcjoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NzYKCS8vIHJldHVybiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlID09PSB0aGlzLmFwcC5hZGRyZXNzID8gQWRkcmVzcy56ZXJvQWRkcmVzcyA6IHRoaXMuYXBwLmFkZHJlc3M7CglieXRlIDB4NjMgLy8gImMiCglhcHBfZ2xvYmFsX2dldAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CglieiAqdGVybmFyeTBfZmFsc2UKCWdsb2JhbCBaZXJvQWRkcmVzcwoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoKKnRlcm5hcnkwX2VuZDoKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24oYWRkcmVzcyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGFkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkbWluKSBmb3IgY3JlYXRlQXBwbGljYXRpb24gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGNvbnRyb2xsZWRBZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGNvbnRyb2xsZWRBZGRyZXNzKSBmb3IgY3JlYXRlQXBwbGljYXRpb24gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oYWRkcmVzcyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKGNvbnRyb2xsZWRBZGRyZXNzOiBBZGRyZXNzLCBhZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQ3JlYXRlIGFuIGFic3RyYWN0ZWQgYWNjb3VudCBhcHBsaWNhdGlvbi4KLy8gVGhpcyBpcyBub3QgcGFydCBvZiBBUkM1OCBhbmQgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMuCi8vCi8vIEBwYXJhbSBjb250cm9sbGVkQWRkcmVzcyBUaGUgYWRkcmVzcyBvZiB0aGUgYWJzdHJhY3RlZCBhY2NvdW50LiBJZiB6ZXJvQWRkcmVzcywgdGhlbiB0aGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgYWNjb3VudCB3aWxsIGJlIHVzZWQKLy8gQHBhcmFtIGFkbWluIFRoZSBhZG1pbiBmb3IgdGhpcyBhcHAKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjg3CgkvLyB2ZXJpZnlBcHBDYWxsVHhuKHRoaXMudHhuLCB7CgkvLyAgICAgICBzZW5kZXI6IHsgaW5jbHVkZWRJbjogW2NvbnRyb2xsZWRBZGRyZXNzLCBhZG1pbl0gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIGNvbnRyb2xsZWRBZGRyZXNzOiBBZGRyZXNzCgk9PQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIGFkbWluOiBBZGRyZXNzCgk9PQoJfHwKCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6eyJ0eG5UZXh0IjoidGhpcy50eG4ifSwiZmllbGQiOiJzZW5kZXIiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbY29udHJvbGxlZEFkZHJlc3MsIGFkbWluXSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjkxCgkvLyBhc3NlcnQoYWRtaW4gIT09IGNvbnRyb2xsZWRBZGRyZXNzKQoJZnJhbWVfZGlnIC0yIC8vIGFkbWluOiBBZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjkzCgkvLyB0aGlzLmFkbWluLnZhbHVlID0gYWRtaW4KCWJ5dGUgMHg2MSAvLyAiYSIKCWZyYW1lX2RpZyAtMiAvLyBhZG1pbjogQWRkcmVzcwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjk0CgkvLyB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlID0gY29udHJvbGxlZEFkZHJlc3MgPT09IEFkZHJlc3MuemVyb0FkZHJlc3MgPyB0aGlzLmFwcC5hZGRyZXNzIDogY29udHJvbGxlZEFkZHJlc3MKCWJ5dGUgMHg2MyAvLyAiYyIKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJYnogKnRlcm5hcnkxX2ZhbHNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCip0ZXJuYXJ5MV9lbmQ6CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9jaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfY2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNThfY2hhbmdlQWRtaW4oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X2NoYW5nZUFkbWluCglpbnQgMQoJcmV0dXJuCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIGZvciB0aGlzIGFwcC4gU29tZSBpbXBsZW1lbnRhdGlvbnMgTUFZIG5vdCBzdXBwb3J0IHRoaXMuCi8vCi8vIEBwYXJhbSBuZXdBZG1pbiBUaGUgbmV3IGFkbWluCmFyYzU4X2NoYW5nZUFkbWluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMDMKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5hZG1pbi52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjEwNAoJLy8gdGhpcy5hZG1pbi52YWx1ZSA9IG5ld0FkbWluCglieXRlIDB4NjEgLy8gImEiCglmcmFtZV9kaWcgLTEgLy8gbmV3QWRtaW46IEFkZHJlc3MKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3BsdWdpbkNoYW5nZUFkbWluOgoJLy8gbmV3QWRtaW46IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAobmV3QWRtaW4pIGZvciBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYWxsb3dlZENhbGxlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhbGxvd2VkQ2FsbGVyKSBmb3IgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHBsdWdpbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbih1aW50NjQsYWRkcmVzcyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4KCWludCAxCglyZXR1cm4KCi8vIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluKHBsdWdpbjogQXBwSUQsIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MsIG5ld0FkbWluOiBBZGRyZXNzKTogdm9pZAovLwovLyBBdHRlbXB0IHRvIGNoYW5nZSB0aGUgYWRtaW4gdmlhIHBsdWdpbi4KLy8KLy8gQHBhcmFtIHBsdWdpbiBUaGUgYXBwIGNhbGxpbmcgdGhlIHBsdWdpbgovLyBAcGFyYW0gYWxsb3dlZENhbGxlciBUaGUgYWRkcmVzcyB0aGF0IHRyaWdnZXJlZCB0aGUgcGx1Z2luCi8vIEBwYXJhbSBuZXdBZG1pbiBUaGUgbmV3IGFkbWluCmFyYzU4X3BsdWdpbkNoYW5nZUFkbWluOgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjExNgoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogcGx1Z2luLmFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJwbHVnaW4uYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjExNwoJLy8gYXNzZXJ0KHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUuYXV0aEFkZHIgPT09IHBsdWdpbi5hZGRyZXNzLCAnVGhpcyBwbHVnaW4gaXMgbm90IGluIGNvbnRyb2wgb2YgdGhlIGFjY291bnQnKQoJYnl0ZSAweDYzIC8vICJjIgoJYXBwX2dsb2JhbF9nZXQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCgkvLyBUaGlzIHBsdWdpbiBpcyBub3QgaW4gY29udHJvbCBvZiB0aGUgYWNjb3VudAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTkKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IHBsdWdpbiwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTIwCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS5leGlzdHMgJiYgdGhpcy5wbHVnaW5zKGtleSkudmFsdWUuYWRtaW5Qcml2aWxlZ2VzLAoJLy8gICAgICAgJ1RoaXMgcGx1Z2luIGRvZXMgbm90IGhhdmUgYWRtaW4gcHJpdmlsZWdlcycKCS8vICAgICApCglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglkdXAKCWJ6ICpza2lwX2FuZDQKCWJ5dGUgMHg3MCAvLyAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDE5MgoJZ2V0Yml0CgkmJgoKKnNraXBfYW5kNDoKCS8vIFRoaXMgcGx1Z2luIGRvZXMgbm90IGhhdmUgYWRtaW4gcHJpdmlsZWdlcwoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMjUKCS8vIHRoaXMuYWRtaW4udmFsdWUgPSBuZXdBZG1pbgoJYnl0ZSAweDYxIC8vICJhIgoJZnJhbWVfZGlnIC0zIC8vIG5ld0FkbWluOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9nZXRBZG1pbigpYWRkcmVzcwoqYWJpX3JvdXRlX2FyYzU4X2dldEFkbWluOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFyYzU4X2dldEFkbWluKClhZGRyZXNzCgljYWxsc3ViIGFyYzU4X2dldEFkbWluCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYXJjNThfZ2V0QWRtaW4oKTogQWRkcmVzcwovLwovLyBHZXQgdGhlIGFkbWluIG9mIHRoaXMgYXBwLiBUaGlzIG1ldGhvZCBTSE9VTEQgYWx3YXlzIGJlIHVzZWQgcmF0aGVyIHRoYW4gcmVhZGluZyBkaXJlY3RseSBmcm9tIHN0YXRlCi8vIGJlY2F1c2UgZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyBtYXkgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBkZXRlcm1pbmluZyB0aGUgYWRtaW4uCmFyYzU4X2dldEFkbWluOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMzMKCS8vIHJldHVybiB0aGlzLmFkbWluLnZhbHVlOwoJYnl0ZSAweDYxIC8vICJhIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gYXJjNThfdmVyaWZ5QXV0aEFkZHIoKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF92ZXJpZnlBdXRoQWRkcjoKCS8vIGV4ZWN1dGUgYXJjNThfdmVyaWZ5QXV0aEFkZHIoKXZvaWQKCWNhbGxzdWIgYXJjNThfdmVyaWZ5QXV0aEFkZHIKCWludCAxCglyZXR1cm4KCi8vIGFyYzU4X3ZlcmlmeUF1dGhBZGRyKCk6IHZvaWQKLy8KLy8gVmVyaWZ5IHRoZSBhYnN0cmFjdGVkIGFjY291bnQgaXMgcmVrZXllZCB0byB0aGlzIGFwcAphcmM1OF92ZXJpZnlBdXRoQWRkcjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTQwCgkvLyBhc3NlcnQodGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZS5hdXRoQWRkciA9PT0gdGhpcy5nZXRBdXRoQWRkcigpKQoJYnl0ZSAweDYzIC8vICJjIgoJYXBwX2dsb2JhbF9nZXQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJY2FsbHN1YiBnZXRBdXRoQWRkcgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBhcmM1OF9yZWtleVRvKGFkZHJlc3MsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVrZXlUbzoKCS8vIGZsYXNoOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoZmxhc2gpIGZvciBhcmM1OF9yZWtleVRvIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhZGRyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFkZHIpIGZvciBhcmM1OF9yZWtleVRvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFyYzU4X3Jla2V5VG8oYWRkcmVzcyxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfcmVrZXlUbwoJaW50IDEKCXJldHVybgoKLy8gYXJjNThfcmVrZXlUbyhhZGRyOiBBZGRyZXNzLCBmbGFzaDogYm9vbGVhbik6IHZvaWQKLy8KLy8gUmVrZXkgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCB0byBhbm90aGVyIGFkZHJlc3MuIFByaW1hcmlseSB1c2VmdWwgZm9yIHJla2V5aW5nIHRvIGFuIEVPQS4KLy8KLy8gQHBhcmFtIGFkZHIgVGhlIGFkZHJlc3MgdG8gcmVrZXkgdG8KLy8gQHBhcmFtIGZsYXNoIFdoZXRoZXIgb3Igbm90IHRoaXMgc2hvdWxkIGJlIGEgZmxhc2ggcmVrZXkuIElmIHRydWUsIHRoZSByZWtleSBiYWNrIHRvIHRoZSBhcHAgYWRkcmVzcyBtdXN0IGRvbmUgaW4gdGhlIHNhbWUgdHhuIGdyb3VwIGFzIHRoaXMgY2FsbAphcmM1OF9yZWtleVRvOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTAKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFkbWluLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlIDB4NjEgLy8gImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiBhZGRyLAoJLy8gICAgICAgcmVrZXlUbzogYWRkciwKCS8vICAgICAgIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTMKCS8vIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZQoJYnl0ZSAweDYzIC8vICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgU2VuZGVyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTQKCS8vIHJlY2VpdmVyOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTU1CgkvLyByZWtleVRvOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWtleVRvCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTYKCS8vIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnCglieXRlIDB4NzI2NTZiNjU3OTY5NmU2NzIwNjE2MjczNzQ3MjYxNjM3NDY1NjQyMDYxNjM2MzZmNzU2ZTc0IC8vICJyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTU5CgkvLyBmbGFzaAoJZnJhbWVfZGlnIC0yIC8vIGZsYXNoOiBib29sZWFuCglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTkKCS8vIHRoaXMudmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCkKCWNhbGxzdWIgdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50CgoqaWYyX2VuZDoKCXJldHN1YgoKLy8gcGx1Z2luQ2FsbEFsbG93ZWQoYXBwOiBBcHBJRCwgY2FsbGVyOiBBZGRyZXNzKTogYm9vbGVhbgpwbHVnaW5DYWxsQWxsb3dlZDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNjMKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogY2FsbGVyIH0KCWZyYW1lX2RpZyAtMSAvLyBhcHA6IEFwcElECglpdG9iCglmcmFtZV9kaWcgLTIgLy8gY2FsbGVyOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE2NQoJLy8gcmV0dXJuICgKCS8vICAgICAgIHRoaXMucGx1Z2lucyhrZXkpLmV4aXN0cyAmJgoJLy8gICAgICAgdGhpcy5wbHVnaW5zKGtleSkudmFsdWUubGFzdFZhbGlkUm91bmQgPj0gZ2xvYmFscy5yb3VuZCAmJgoJLy8gICAgICAgZ2xvYmFscy5yb3VuZCAtIHRoaXMucGx1Z2lucyhrZXkpLnZhbHVlLmxhc3RDYWxsZWQgPj0gdGhpcy5wbHVnaW5zKGtleSkudmFsdWUuY29vbGRvd24KCS8vICAgICApOwoJYnl0ZSAweDcwIC8vICJwIgoJZnJhbWVfZGlnIDAgLy8ga2V5OiBQbHVnaW5zS2V5Cgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJZHVwCglieiAqc2tpcF9hbmQ1CglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglnbG9iYWwgUm91bmQKCT49CgkmJgoKKnNraXBfYW5kNToKCWR1cAoJYnogKnNraXBfYW5kNgoJZ2xvYmFsIFJvdW5kCglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJLQoJYnl0ZSAweDcwIC8vICJwIgoJZnJhbWVfZGlnIDAgLy8ga2V5OiBQbHVnaW5zS2V5Cgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGx1Z2lucyhrZXkpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoJPj0KCSYmCgoqc2tpcF9hbmQ2OgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGFyYzU4X3Jla2V5VG9QbHVnaW4odWludDY0KXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZWtleVRvUGx1Z2luOgoJLy8gcGx1Z2luOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFyYzU4X3Jla2V5VG9QbHVnaW4odWludDY0KXZvaWQKCWNhbGxzdWIgYXJjNThfcmVrZXlUb1BsdWdpbgoJaW50IDEKCXJldHVybgoKLy8gYXJjNThfcmVrZXlUb1BsdWdpbihwbHVnaW46IEFwcElEKTogdm9pZAovLwovLyBUZW1wb3JhcmlseSByZWtleSB0byBhbiBhcHByb3ZlZCBwbHVnaW4gYXBwIGFkZHJlc3MKLy8KLy8gQHBhcmFtIHBsdWdpbiBUaGUgYXBwIHRvIHJla2V5IHRvCmFyYzU4X3Jla2V5VG9QbHVnaW46Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTc4CgkvLyBnbG9iYWxBbGxvd2VkID0gdGhpcy5wbHVnaW5DYWxsQWxsb3dlZChwbHVnaW4sIEFkZHJlc3MuemVyb0FkZHJlc3MpCglnbG9iYWwgWmVyb0FkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECgljYWxsc3ViIHBsdWdpbkNhbGxBbGxvd2VkCglmcmFtZV9idXJ5IDAgLy8gZ2xvYmFsQWxsb3dlZDogYm9vbAoKCS8vICppZjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4MAoJLy8gIWdsb2JhbEFsbG93ZWQKCWZyYW1lX2RpZyAwIC8vIGdsb2JhbEFsbG93ZWQ6IGJvb2wKCSEKCWJ6ICppZjNfZW5kCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4MQoJLy8gYXNzZXJ0KHRoaXMucGx1Z2luQ2FsbEFsbG93ZWQocGx1Z2luLCB0aGlzLnR4bi5zZW5kZXIpLCAnVGhpcyBzZW5kZXIgaXMgbm90IGFsbG93ZWQgdG8gdHJpZ2dlciB0aGlzIHBsdWdpbicpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJY2FsbHN1YiBwbHVnaW5DYWxsQWxsb3dlZAoKCS8vIFRoaXMgc2VuZGVyIGlzIG5vdCBhbGxvd2VkIHRvIHRyaWdnZXIgdGhpcyBwbHVnaW4KCWFzc2VydAoKKmlmM19lbmQ6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4MwoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLAoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUsCgkvLyAgICAgICByZWtleVRvOiBwbHVnaW4uYWRkcmVzcywKCS8vICAgICAgIG5vdGU6ICdyZWtleWluZyB0byBwbHVnaW4gYXBwJywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTg0CgkvLyBzZW5kZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGUgMHg2MyAvLyAiYyIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIFNlbmRlcgoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTg1CgkvLyByZWNlaXZlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZQoJYnl0ZSAweDYzIC8vICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NgoJLy8gcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVrZXlUbwoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTg3CgkvLyBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcKCWJ5dGUgMHg3MjY1NmI2NTc5Njk2ZTY3MjA3NDZmMjA3MDZjNzU2NzY5NmUyMDYxNzA3MCAvLyAicmVrZXlpbmcgdG8gcGx1Z2luIGFwcCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE5MAoJLy8gdGhpcy5wbHVnaW5zKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uOiBwbHVnaW4sCgkvLyAgICAgICBhbGxvd2VkQ2FsbGVyOiBnbG9iYWxBbGxvd2VkID8gQWRkcmVzcy56ZXJvQWRkcmVzcyA6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICB9KS52YWx1ZS5sYXN0Q2FsbGVkID0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDcwIC8vICJwIgoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAwIC8vIGdsb2JhbEFsbG93ZWQ6IGJvb2wKCWJ6ICp0ZXJuYXJ5M19mYWxzZQoJZ2xvYmFsIFplcm9BZGRyZXNzCgliICp0ZXJuYXJ5M19lbmQKCip0ZXJuYXJ5M19mYWxzZToKCXR4biBTZW5kZXIKCip0ZXJuYXJ5M19lbmQ6Cgljb25jYXQKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKHsgYXBwbGljYXRpb246IHBsdWdpbiwgYWxsb3dlZENhbGxlcjogZ2xvYmFsQWxsb3dlZCA/IEFkZHJlc3MuemVyb0FkZHJlc3MgOiB0aGlzLnR4bi5zZW5kZXIsIH0pLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMTYKCWdsb2JhbCBSb3VuZAoJaXRvYgoJYnl0ZSAweDcwIC8vICJwIgoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAwIC8vIGdsb2JhbEFsbG93ZWQ6IGJvb2wKCWJ6ICp0ZXJuYXJ5NV9mYWxzZQoJZ2xvYmFsIFplcm9BZGRyZXNzCgliICp0ZXJuYXJ5NV9lbmQKCip0ZXJuYXJ5NV9mYWxzZToKCXR4biBTZW5kZXIKCip0ZXJuYXJ5NV9lbmQ6Cgljb25jYXQKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE5NQoJLy8gdGhpcy52ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQoKQoJY2FsbHN1YiB2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQKCXJldHN1YgoKLy8gYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luKHN0cmluZyl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luOgoJLy8gbmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luKHN0cmluZyl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbgoJaW50IDEKCXJldHVybgoKLy8gYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luKG5hbWU6IHN0cmluZyk6IHZvaWQKLy8KLy8gVGVtcG9yYXJpbHkgcmVrZXkgdG8gYSBuYW1lZCBwbHVnaW4gYXBwIGFkZHJlc3MKLy8KLy8gQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIHBsdWdpbiB0byByZWtleSB0bwphcmM1OF9yZWtleVRvTmFtZWRQbHVnaW46Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjIwNAoJLy8gdGhpcy5hcmM1OF9yZWtleVRvUGx1Z2luKHRoaXMubmFtZWRQbHVnaW5zKG5hbWUpLnZhbHVlLmFwcGxpY2F0aW9uKQoJaW50IDAKCWludCA4CglieXRlIDB4NmUgLy8gIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgljYWxsc3ViIGFyYzU4X3Jla2V5VG9QbHVnaW4KCXJldHN1YgoKLy8gYXJjNThfYWRkUGx1Z2luKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNThfYWRkUGx1Z2luOgoJLy8gYWRtaW5Qcml2aWxlZ2VzOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRtaW5Qcml2aWxlZ2VzKSBmb3IgYXJjNThfYWRkUGx1Z2luIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBjb29sZG93bjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGFsbG93ZWRDYWxsZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoYWxsb3dlZENhbGxlcikgZm9yIGFyYzU4X2FkZFBsdWdpbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXBwOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFyYzU4X2FkZFBsdWdpbih1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoJY2FsbHN1YiBhcmM1OF9hZGRQbHVnaW4KCWludCAxCglyZXR1cm4KCi8vIGFyYzU4X2FkZFBsdWdpbihhcHA6IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzLCBsYXN0VmFsaWRSb3VuZDogdWludDY0LCBjb29sZG93bjogdWludDY0LCBhZG1pblByaXZpbGVnZXM6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIEFkZCBhbiBhcHAgdG8gdGhlIGxpc3Qgb2YgYXBwcm92ZWQgcGx1Z2lucwovLwovLyBAcGFyYW0gYXBwIFRoZSBhcHAgdG8gYWRkCi8vIEBwYXJhbSBhbGxvd2VkQ2FsbGVyIFRoZSBhZGRyZXNzIG9mIHRoYXQncyBhbGxvd2VkIHRvIGNhbGwgdGhlIGFwcAovLyBvciB0aGUgZ2xvYmFsIHplcm8gYWRkcmVzcyBmb3IgYWxsIGFkZHJlc3NlcwovLyBAcGFyYW0gbGFzdFZhbGlkUm91bmQgVGhlIHJvdW5kIHdoZW4gdGhlIHBlcm1pc3Npb24gZXhwaXJlcwovLyBAcGFyYW0gY29vbGRvd24gIFRoZSBudW1iZXIgb2Ygcm91bmRzIHRoYXQgbXVzdCBwYXNzIGJlZm9yZSB0aGUgcGx1Z2luIGNhbiBiZSBjYWxsZWQgYWdhaW4KLy8gQHBhcmFtIGFkbWluUHJpdmlsZWdlcyBXaGV0aGVyIHRoZSBwbHVnaW4gaGFzIHBlcm1pc3Npb25zIHRvIGNoYW5nZSB0aGUgYWRtaW4gYWNjb3VudAphcmM1OF9hZGRQbHVnaW46Cglwcm90byA1IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjI0CgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFkbWluLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlIDB4NjEgLy8gImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMjUKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjI2CgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyAtNCAvLyBjb29sZG93bjogdWludDY0CglpdG9iCgljb25jYXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAtNSAvLyBhZG1pblByaXZpbGVnZXM6IGJvb2xlYW4KCXNldGJpdAoJY29uY2F0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFyYzU4X3JlbW92ZVBsdWdpbih1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVtb3ZlUGx1Z2luOgoJLy8gYWxsb3dlZENhbGxlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhbGxvd2VkQ2FsbGVyKSBmb3IgYXJjNThfcmVtb3ZlUGx1Z2luIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBhcHA6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYXJjNThfcmVtb3ZlUGx1Z2luKHVpbnQ2NCxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXJjNThfcmVtb3ZlUGx1Z2luCglpbnQgMQoJcmV0dXJuCgovLyBhcmM1OF9yZW1vdmVQbHVnaW4oYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gUmVtb3ZlIGFuIGFwcCBmcm9tIHRoZSBsaXN0IG9mIGFwcHJvdmVkIHBsdWdpbnMKLy8KLy8gQHBhcmFtIGFwcCBUaGUgYXBwIHRvIHJlbW92ZQphcmM1OF9yZW1vdmVQbHVnaW46Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjQwCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFkbWluLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlIDB4NjEgLy8gImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNDIKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjQzCgkvLyB0aGlzLnBsdWdpbnMoa2V5KS5kZWxldGUoKQoJYnl0ZSAweDcwIC8vICJwIgoJZnJhbWVfZGlnIDAgLy8ga2V5OiBQbHVnaW5zS2V5Cgljb25jYXQKCWJveF9kZWwKCXJldHN1YgoKLy8gYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNThfYWRkTmFtZWRQbHVnaW46CgkvLyBhZG1pblByaXZpbGVnZXM6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhZG1pblByaXZpbGVnZXMpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXBwOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGROYW1lZFBsdWdpbihzdHJpbmcsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkTmFtZWRQbHVnaW4KCWludCAxCglyZXR1cm4KCi8vIGFyYzU4X2FkZE5hbWVkUGx1Z2luKG5hbWU6IHN0cmluZywgYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYSBuYW1lZCBwbHVnaW4KLy8KLy8gQHBhcmFtIGFwcCBUaGUgcGx1Z2luIGFwcAovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3Mgb2YgdGhhdCdzIGFsbG93ZWQgdG8gY2FsbCB0aGUgYXBwCi8vIG9yIHRoZSBnbG9iYWwgemVybyBhZGRyZXNzIGZvciBhbGwgYWRkcmVzc2VzCi8vIEBwYXJhbSBsYXN0VmFsaWRSb3VuZCBUaGUgcm91bmQgd2hlbiB0aGUgcGVybWlzc2lvbiBleHBpcmVzCi8vIEBwYXJhbSBjb29sZG93biAgVGhlIG51bWJlciBvZiByb3VuZHMgdGhhdCBtdXN0IHBhc3MgYmVmb3JlIHRoZSBwbHVnaW4gY2FuIGJlIGNhbGxlZCBhZ2FpbgovLyBAcGFyYW0gYWRtaW5Qcml2aWxlZ2VzIFdoZXRoZXIgdGhlIHBsdWdpbiBoYXMgcGVybWlzc2lvbnMgdG8gY2hhbmdlIHRoZSBhZG1pbiBhY2NvdW50CmFyYzU4X2FkZE5hbWVkUGx1Z2luOgoJcHJvdG8gNiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI2NQoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZSAweDYxIC8vICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjY2CgkvLyBhc3NlcnQoIXRoaXMubmFtZWRQbHVnaW5zKG5hbWUpLmV4aXN0cykKCWJ5dGUgMHg2ZSAvLyAibiIKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBzdHJpbmcKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI2OAoJLy8ga2V5OiBQbHVnaW5zS2V5ID0geyBhcHBsaWNhdGlvbjogYXBwLCBhbGxvd2VkQ2FsbGVyOiBhbGxvd2VkQ2FsbGVyIH0KCWZyYW1lX2RpZyAtMiAvLyBhcHA6IEFwcElECglpdG9iCglmcmFtZV9kaWcgLTMgLy8gYWxsb3dlZENhbGxlcjogQWRkcmVzcwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8ga2V5OiBQbHVnaW5zS2V5CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjkKCS8vIHRoaXMubmFtZWRQbHVnaW5zKG5hbWUpLnZhbHVlID0ga2V5CglieXRlIDB4NmUgLy8gIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJYm94X3B1dAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjcwCgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJZnJhbWVfZGlnIC00IC8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyAtNSAvLyBjb29sZG93bjogdWludDY0CglpdG9iCgljb25jYXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAtNiAvLyBhZG1pblByaXZpbGVnZXM6IGJvb2xlYW4KCXNldGJpdAoJY29uY2F0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luKHN0cmluZyl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW46CgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbgoJaW50IDEKCXJldHVybgoKLy8gYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4obmFtZTogc3RyaW5nKTogdm9pZAovLwovLyBSZW1vdmUgYSBuYW1lZCBwbHVnaW4KLy8KLy8gQHBhcmFtIG5hbWUgVGhlIHBsdWdpbiBuYW1lCmFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4NAoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZSAweDYxIC8vICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg2CgkvLyBhcHAgPSB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZQoJYnl0ZSAweDZlIC8vICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg3CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS5kZWxldGUoKQoJYnl0ZSAweDZlIC8vICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0Cglib3hfZGVsCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyODgKCS8vIHRoaXMucGx1Z2lucyhhcHApLmRlbGV0ZSgpCglieXRlIDB4NzAgLy8gInAiCglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vYXBwCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZQoJYXNzZXJ0Cgljb25jYXQKCWJveF9kZWwKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYXJjNThfY2hhbmdlQWRtaW4oYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbih1aW50NjQsYWRkcmVzcyxhZGRyZXNzKXZvaWQiCgltZXRob2QgImFyYzU4X2dldEFkbWluKClhZGRyZXNzIgoJbWV0aG9kICJhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCIKCW1ldGhvZCAiYXJjNThfcmVrZXlUbyhhZGRyZXNzLGJvb2wpdm9pZCIKCW1ldGhvZCAiYXJjNThfcmVrZXlUb1BsdWdpbih1aW50NjQpdm9pZCIKCW1ldGhvZCAiYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luKHN0cmluZyl2b2lkIgoJbWV0aG9kICJhcmM1OF9hZGRQbHVnaW4odWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCgltZXRob2QgImFyYzU4X3JlbW92ZVBsdWdpbih1aW50NjQsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJhcmM1OF9hZGROYW1lZFBsdWdpbihzdHJpbmcsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCgltZXRob2QgImFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luKHN0cmluZyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcmM1OF9jaGFuZ2VBZG1pbiAqYWJpX3JvdXRlX2FyYzU4X3BsdWdpbkNoYW5nZUFkbWluICphYmlfcm91dGVfYXJjNThfZ2V0QWRtaW4gKmFiaV9yb3V0ZV9hcmM1OF92ZXJpZnlBdXRoQWRkciAqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG8gKmFiaV9yb3V0ZV9hcmM1OF9yZWtleVRvUGx1Z2luICphYmlfcm91dGVfYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luICphYmlfcm91dGVfYXJjNThfYWRkUGx1Z2luICphYmlfcm91dGVfYXJjNThfcmVtb3ZlUGx1Z2luICphYmlfcm91dGVfYXJjNThfYWRkTmFtZWRQbHVnaW4gKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVOYW1lZFBsdWdpbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
+ },
+ "byteCode": {
+ "approval": "CiAEAQAgBiYIAXABYQFjAAFuBA+IVJMIAAAAAAAAAAABADEYFCULMRkIjQwDzAAAAAAAAAAAAAADvgAAAAAAAAAAAAAAigAAK0cCI4wAMRaMAYsBMgQMQQBdiwGMAosCOAAqZBJJQQAIiwI4ICpkEhBBAAYijABCAD2LAjgQJRJJQQAJiwI4GDYyABIQSUEAB4sCOBsiEhBJQQAJiwI5GgAnBRIQQQAGIowAQgAJiwEiCIwBQv+biwBEiYoAASpkMgoSQQAFMgNCAAIyCok2GgJJFSQSRDYaAUkVJBJEiAACIkOKAgAxAIv/EjEAi/4SEUSL/ov/E0Qpi/5nKov/MgMSQQAFMgpCAAKL/2eJNhoBSRUkEkSIAAIiQ4oBADEAKWQSRCmL/2eJNhoDSRUkEkQ2GgJJFSQSRDYaAReIAAIiQ4oDACsxAIv/cghIEkQqZHMCSIv/cghIEkSL/xaL/lCMACiLAFC9TEhJQQAPKIsAUL5ENf80/4HAAVMQRCmL/WeJgAQVH3x1iAAEULAiQ4oAASlkiYgAAiJDigAAKmRzAkiI/xUSRIk2GgJJFSISRCNTNhoBSRUkEkSIAAIiQ4oCADEAKWQSRLEishAqZLIAi/+yB4v/siCAG3Jla2V5aW5nIGFic3RyYWN0ZWQgYWNjb3VudLIFI7IBs4v+QQADiP5BiYoCASuL/xaL/lCMACiLAFC9TEhJQQASKIsAUL5ENf80/1cACBcyBg8QSUEAITIGKIsAUL5ENf80/1cQCBcJKIsAUL5ENf80/1cICBcPEIwAiTYaAReIAAIiQ4oBACsyA4v/iP+bjACLABRBAAgxAIv/iP+MRLEishAqZLIAKmSyB4v/cghIsiCAFnJla2V5aW5nIHRvIHBsdWdpbiBhcHCyBSOyAbMoi/8WiwBBAAUyA0IAAjEAUFC+RDX/NP+BEDIGFiiL/xaLAEEABTIDQgACMQBQUE4Cu4j9ZYk2GgFXAgCIAAIiQ4oBACOBCCcEi/9QTgK6F4j/YYk2GgVJFSISRCNTNhoEFzYaAxc2GgJJFSQSRDYaAReIAAIiQ4oFACsxAClkEkSL/xaL/lCMACiLAFCL/RaL/BZQJwZQJwcji/tUUL+JNhoCSRUkEkQ2GgEXiAACIkOKAgArMQApZBJEi/8Wi/5QjAAoiwBQvIk2GgZJFSISRCNTNhoFFzYaBBc2GgNJFSQSRDYaAhc2GgFXAgCIAAIiQ4oGACsxAClkEkQnBIv/UL1MSBREi/4Wi/1QjAAnBIv/UIsAvyiLAFCL/BaL+xZQJwZQJwcji/pUUL+JNhoBVwIAiAACIkOKAQArMQApZBJEJwSL/1CMACcEi/9QvCiLAL5EULyJgAS0x31xNhoAjgH8vwCABNJLdVaABF+kScaABBO8ROQnBYAEyVpdPYAEfHZt3IAEVvKLWIAE0S3LYYAETTcjVYAEinKnUIAE41C51DYaAI4L/KX8wP0a/S39QP3t/nj+lv7i/wv/bwA=",
+ "clear": "Cg=="
+ },
+ "compilerInfo": {
+ "compiler": "algod",
+ "compilerVersion": {
+ "major": 3,
+ "minor": 25,
+ "patch": 0,
+ "commitHash": "9855f57c"
+ }
+ }
+}
\ No newline at end of file
diff --git a/examples/arc58/artifacts/AbstractedAccount.clear.teal b/examples/arc58/artifacts/AbstractedAccount.clear.teal
new file mode 100644
index 000000000..e9f1d65b3
--- /dev/null
+++ b/examples/arc58/artifacts/AbstractedAccount.clear.teal
@@ -0,0 +1 @@
+#pragma version 10
\ No newline at end of file
diff --git a/examples/arc58/artifacts/AbstractedAccount.src_map.json b/examples/arc58/artifacts/AbstractedAccount.src_map.json
new file mode 100644
index 000000000..86c0c5694
--- /dev/null
+++ b/examples/arc58/artifacts/AbstractedAccount.src_map.json
@@ -0,0 +1,4764 @@
+[
+ {
+ "teal": 1,
+ "source": 21,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 21,
+ "pc": [
+ 34,
+ 35
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 21,
+ "pc": [
+ 36
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 21,
+ "pc": [
+ 37
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 21,
+ "pc": [
+ 38
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 21,
+ "pc": [
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 21,
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 21,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 21,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 44,
+ "pc": [
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 44,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 44,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 45,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 45,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 47,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 47,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 47,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 47,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 47,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 47,
+ "pc": [
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 48,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 48,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 51,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 51,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 51,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 51,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 51,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 51,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 51,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 51,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 51,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 51,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 51,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 51,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 51,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 51,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 52,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 52,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 53,
+ "pc": [
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 58,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 58,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 58,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 58,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 58,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 58,
+ "pc": [
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 59,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 59,
+ "pc": [
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 59,
+ "pc": [
+ 136,
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 59,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 58,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 59,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 59,
+ "pc": [
+ 142,
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 60,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 60,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 60,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 60,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 59,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 60,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 60,
+ "pc": [
+ 153,
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 61,
+ "pc": [
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 61,
+ "pc": [
+ 158,
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 61,
+ "pc": [
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 61,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 60,
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 57,
+ "pc": [
+ 165,
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 63,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 63,
+ "pc": [
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 64,
+ "pc": [
+ 171,
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 47,
+ "pc": [
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 47,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 47,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 47,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 47,
+ "pc": [
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 68,
+ "pc": [
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 68,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 44,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 75,
+ "pc": [
+ 187,
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 76,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 76,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 76,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 76,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 76,
+ "pc": [
+ 195,
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 76,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 76,
+ "pc": [
+ 200,
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 76,
+ "pc": [
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 75,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 86,
+ "pc": [
+ 206,
+ 207,
+ 208
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 86,
+ "pc": [
+ 209
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 86,
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 86,
+ "pc": [
+ 211
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 86,
+ "pc": [
+ 212
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 86,
+ "errorMessage": "argument 0 (admin) for createApplication must be a address",
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 86,
+ "pc": [
+ 214,
+ 215,
+ 216
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 86,
+ "pc": [
+ 217
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 86,
+ "pc": [
+ 218
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 86,
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 86,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 86,
+ "errorMessage": "argument 1 (controlledAddress) for createApplication must be a address",
+ "pc": [
+ 221
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 86,
+ "pc": [
+ 222,
+ 223,
+ 224
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 86,
+ "pc": [
+ 225
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 86,
+ "pc": [
+ 226
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 86,
+ "pc": [
+ 227,
+ 228,
+ 229
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 88,
+ "pc": [
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 88,
+ "pc": [
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 88,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 88,
+ "pc": [
+ 235,
+ 236
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 88,
+ "pc": [
+ 237,
+ 238
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 88,
+ "pc": [
+ 239
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 88,
+ "pc": [
+ 240
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 88,
+ "errorMessage": "transaction verification failed: {\"txn\":{\"txnText\":\"this.txn\"},\"field\":\"sender\",\"condition\":\"includedIn\",\"expected\":\"[controlledAddress, admin]\"}",
+ "pc": [
+ 241
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 91,
+ "pc": [
+ 242,
+ 243
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 91,
+ "pc": [
+ 244,
+ 245
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 91,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 91,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 93,
+ "pc": [
+ 248
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 93,
+ "pc": [
+ 249,
+ 250
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 93,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 94,
+ "pc": [
+ 252
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 94,
+ "pc": [
+ 253,
+ 254
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 94,
+ "pc": [
+ 255,
+ 256
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 94,
+ "pc": [
+ 257
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 94,
+ "pc": [
+ 258,
+ 259,
+ 260
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 94,
+ "pc": [
+ 261,
+ 262
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 94,
+ "pc": [
+ 263,
+ 264,
+ 265
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 94,
+ "pc": [
+ 266,
+ 267
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 94,
+ "pc": [
+ 268
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 86,
+ "pc": [
+ 269
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 102,
+ "pc": [
+ 270,
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 102,
+ "pc": [
+ 273
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 102,
+ "pc": [
+ 274
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 102,
+ "pc": [
+ 275
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 102,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 266,
+ "source": 102,
+ "errorMessage": "argument 0 (newAdmin) for arc58_changeAdmin must be a address",
+ "pc": [
+ 277
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 102,
+ "pc": [
+ 278,
+ 279,
+ 280
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 102,
+ "pc": [
+ 281
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 102,
+ "pc": [
+ 282
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 102,
+ "pc": [
+ 283,
+ 284,
+ 285
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 103,
+ "pc": [
+ 286,
+ 287
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 103,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 103,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 103,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 290,
+ "source": 103,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 291
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 104,
+ "pc": [
+ 292
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 104,
+ "pc": [
+ 293,
+ 294
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 104,
+ "pc": [
+ 295
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 102,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 302,
+ "source": 115,
+ "pc": [
+ 297,
+ 298,
+ 299
+ ]
+ },
+ {
+ "teal": 303,
+ "source": 115,
+ "pc": [
+ 300
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 115,
+ "pc": [
+ 301
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 115,
+ "pc": [
+ 302
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 115,
+ "pc": [
+ 303
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 115,
+ "errorMessage": "argument 0 (newAdmin) for arc58_pluginChangeAdmin must be a address",
+ "pc": [
+ 304
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 115,
+ "pc": [
+ 305,
+ 306,
+ 307
+ ]
+ },
+ {
+ "teal": 313,
+ "source": 115,
+ "pc": [
+ 308
+ ]
+ },
+ {
+ "teal": 314,
+ "source": 115,
+ "pc": [
+ 309
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 115,
+ "pc": [
+ 310
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 115,
+ "pc": [
+ 311
+ ]
+ },
+ {
+ "teal": 319,
+ "source": 115,
+ "errorMessage": "argument 1 (allowedCaller) for arc58_pluginChangeAdmin must be a address",
+ "pc": [
+ 312
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 115,
+ "pc": [
+ 313,
+ 314,
+ 315
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 115,
+ "pc": [
+ 316
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 115,
+ "pc": [
+ 317,
+ 318,
+ 319
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 115,
+ "pc": [
+ 320
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 115,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 115,
+ "pc": [
+ 322,
+ 323,
+ 324
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 115,
+ "pc": [
+ 325
+ ]
+ },
+ {
+ "teal": 346,
+ "source": 116,
+ "pc": [
+ 326,
+ 327
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 116,
+ "pc": [
+ 328,
+ 329
+ ]
+ },
+ {
+ "teal": 348,
+ "source": 116,
+ "pc": [
+ 330,
+ 331
+ ]
+ },
+ {
+ "teal": 349,
+ "source": 116,
+ "pc": [
+ 332
+ ]
+ },
+ {
+ "teal": 350,
+ "source": 116,
+ "pc": [
+ 333
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 116,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"plugin.address\"}",
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 117,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 358,
+ "source": 117,
+ "pc": [
+ 336
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 117,
+ "pc": [
+ 337,
+ 338
+ ]
+ },
+ {
+ "teal": 360,
+ "source": 117,
+ "pc": [
+ 339
+ ]
+ },
+ {
+ "teal": 361,
+ "source": 117,
+ "pc": [
+ 340,
+ 341
+ ]
+ },
+ {
+ "teal": 362,
+ "source": 117,
+ "pc": [
+ 342,
+ 343
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 117,
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 117,
+ "pc": [
+ 345
+ ]
+ },
+ {
+ "teal": 367,
+ "source": 117,
+ "errorMessage": "This plugin is not in control of the account",
+ "pc": [
+ 346
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 119,
+ "pc": [
+ 347,
+ 348
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 119,
+ "pc": [
+ 349
+ ]
+ },
+ {
+ "teal": 373,
+ "source": 119,
+ "pc": [
+ 350,
+ 351
+ ]
+ },
+ {
+ "teal": 374,
+ "source": 119,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 119,
+ "pc": [
+ 353,
+ 354
+ ]
+ },
+ {
+ "teal": 382,
+ "source": 121,
+ "pc": [
+ 355
+ ]
+ },
+ {
+ "teal": 383,
+ "source": 121,
+ "pc": [
+ 356,
+ 357
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 121,
+ "pc": [
+ 358
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 121,
+ "pc": [
+ 359
+ ]
+ },
+ {
+ "teal": 386,
+ "source": 121,
+ "pc": [
+ 360
+ ]
+ },
+ {
+ "teal": 387,
+ "source": 121,
+ "pc": [
+ 361
+ ]
+ },
+ {
+ "teal": 388,
+ "source": 121,
+ "pc": [
+ 362
+ ]
+ },
+ {
+ "teal": 389,
+ "source": 121,
+ "pc": [
+ 363,
+ 364,
+ 365
+ ]
+ },
+ {
+ "teal": 390,
+ "source": 121,
+ "pc": [
+ 366
+ ]
+ },
+ {
+ "teal": 391,
+ "source": 121,
+ "pc": [
+ 367,
+ 368
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 121,
+ "pc": [
+ 369
+ ]
+ },
+ {
+ "teal": 393,
+ "source": 121,
+ "pc": [
+ 370
+ ]
+ },
+ {
+ "teal": 396,
+ "source": 121,
+ "errorMessage": "box value does not exist: this.plugins(key).value",
+ "pc": [
+ 371
+ ]
+ },
+ {
+ "teal": 397,
+ "source": 121,
+ "pc": [
+ 372,
+ 373
+ ]
+ },
+ {
+ "teal": 398,
+ "source": 121,
+ "pc": [
+ 374,
+ 375
+ ]
+ },
+ {
+ "teal": 399,
+ "source": 121,
+ "pc": [
+ 376,
+ 377,
+ 378
+ ]
+ },
+ {
+ "teal": 400,
+ "source": 121,
+ "pc": [
+ 379
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 121,
+ "pc": [
+ 380
+ ]
+ },
+ {
+ "teal": 405,
+ "source": 120,
+ "errorMessage": "This plugin does not have admin privileges",
+ "pc": [
+ 381
+ ]
+ },
+ {
+ "teal": 409,
+ "source": 125,
+ "pc": [
+ 382
+ ]
+ },
+ {
+ "teal": 410,
+ "source": 125,
+ "pc": [
+ 383,
+ 384
+ ]
+ },
+ {
+ "teal": 411,
+ "source": 125,
+ "pc": [
+ 385
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 115,
+ "pc": [
+ 386
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 132,
+ "pc": [
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 132,
+ "pc": [
+ 393,
+ 394,
+ 395
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 132,
+ "pc": [
+ 396
+ ]
+ },
+ {
+ "teal": 422,
+ "source": 132,
+ "pc": [
+ 397
+ ]
+ },
+ {
+ "teal": 423,
+ "source": 132,
+ "pc": [
+ 398
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 132,
+ "pc": [
+ 399
+ ]
+ },
+ {
+ "teal": 431,
+ "source": 132,
+ "pc": [
+ 400,
+ 401,
+ 402
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 133,
+ "pc": [
+ 403
+ ]
+ },
+ {
+ "teal": 436,
+ "source": 133,
+ "pc": [
+ 404
+ ]
+ },
+ {
+ "teal": 437,
+ "source": 132,
+ "pc": [
+ 405
+ ]
+ },
+ {
+ "teal": 442,
+ "source": 139,
+ "pc": [
+ 406,
+ 407,
+ 408
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 139,
+ "pc": [
+ 409
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 139,
+ "pc": [
+ 410
+ ]
+ },
+ {
+ "teal": 450,
+ "source": 139,
+ "pc": [
+ 411,
+ 412,
+ 413
+ ]
+ },
+ {
+ "teal": 454,
+ "source": 140,
+ "pc": [
+ 414
+ ]
+ },
+ {
+ "teal": 455,
+ "source": 140,
+ "pc": [
+ 415
+ ]
+ },
+ {
+ "teal": 456,
+ "source": 140,
+ "pc": [
+ 416,
+ 417
+ ]
+ },
+ {
+ "teal": 457,
+ "source": 140,
+ "pc": [
+ 418
+ ]
+ },
+ {
+ "teal": 458,
+ "source": 140,
+ "pc": [
+ 419,
+ 420,
+ 421
+ ]
+ },
+ {
+ "teal": 459,
+ "source": 140,
+ "pc": [
+ 422
+ ]
+ },
+ {
+ "teal": 460,
+ "source": 140,
+ "pc": [
+ 423
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 139,
+ "pc": [
+ 424
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 149,
+ "pc": [
+ 425,
+ 426,
+ 427
+ ]
+ },
+ {
+ "teal": 467,
+ "source": 149,
+ "pc": [
+ 428
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 149,
+ "pc": [
+ 429
+ ]
+ },
+ {
+ "teal": 469,
+ "source": 149,
+ "pc": [
+ 430
+ ]
+ },
+ {
+ "teal": 470,
+ "source": 149,
+ "pc": [
+ 431
+ ]
+ },
+ {
+ "teal": 473,
+ "source": 149,
+ "errorMessage": "argument 0 (flash) for arc58_rekeyTo must be a bool",
+ "pc": [
+ 432
+ ]
+ },
+ {
+ "teal": 474,
+ "source": 149,
+ "pc": [
+ 433
+ ]
+ },
+ {
+ "teal": 475,
+ "source": 149,
+ "pc": [
+ 434
+ ]
+ },
+ {
+ "teal": 478,
+ "source": 149,
+ "pc": [
+ 435,
+ 436,
+ 437
+ ]
+ },
+ {
+ "teal": 479,
+ "source": 149,
+ "pc": [
+ 438
+ ]
+ },
+ {
+ "teal": 480,
+ "source": 149,
+ "pc": [
+ 439
+ ]
+ },
+ {
+ "teal": 481,
+ "source": 149,
+ "pc": [
+ 440
+ ]
+ },
+ {
+ "teal": 482,
+ "source": 149,
+ "pc": [
+ 441
+ ]
+ },
+ {
+ "teal": 485,
+ "source": 149,
+ "errorMessage": "argument 1 (addr) for arc58_rekeyTo must be a address",
+ "pc": [
+ 442
+ ]
+ },
+ {
+ "teal": 488,
+ "source": 149,
+ "pc": [
+ 443,
+ 444,
+ 445
+ ]
+ },
+ {
+ "teal": 489,
+ "source": 149,
+ "pc": [
+ 446
+ ]
+ },
+ {
+ "teal": 490,
+ "source": 149,
+ "pc": [
+ 447
+ ]
+ },
+ {
+ "teal": 499,
+ "source": 149,
+ "pc": [
+ 448,
+ 449,
+ 450
+ ]
+ },
+ {
+ "teal": 504,
+ "source": 150,
+ "pc": [
+ 451,
+ 452
+ ]
+ },
+ {
+ "teal": 505,
+ "source": 150,
+ "pc": [
+ 453
+ ]
+ },
+ {
+ "teal": 506,
+ "source": 150,
+ "pc": [
+ 454
+ ]
+ },
+ {
+ "teal": 507,
+ "source": 150,
+ "pc": [
+ 455
+ ]
+ },
+ {
+ "teal": 510,
+ "source": 150,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 456
+ ]
+ },
+ {
+ "teal": 519,
+ "source": 152,
+ "pc": [
+ 457
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 152,
+ "pc": [
+ 458
+ ]
+ },
+ {
+ "teal": 521,
+ "source": 152,
+ "pc": [
+ 459,
+ 460
+ ]
+ },
+ {
+ "teal": 525,
+ "source": 153,
+ "pc": [
+ 461
+ ]
+ },
+ {
+ "teal": 526,
+ "source": 153,
+ "pc": [
+ 462
+ ]
+ },
+ {
+ "teal": 527,
+ "source": 153,
+ "pc": [
+ 463,
+ 464
+ ]
+ },
+ {
+ "teal": 531,
+ "source": 154,
+ "pc": [
+ 465,
+ 466
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 154,
+ "pc": [
+ 467,
+ 468
+ ]
+ },
+ {
+ "teal": 536,
+ "source": 155,
+ "pc": [
+ 469,
+ 470
+ ]
+ },
+ {
+ "teal": 537,
+ "source": 155,
+ "pc": [
+ 471,
+ 472
+ ]
+ },
+ {
+ "teal": 541,
+ "source": 156,
+ "pc": [
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ 501
+ ]
+ },
+ {
+ "teal": 542,
+ "source": 156,
+ "pc": [
+ 502,
+ 503
+ ]
+ },
+ {
+ "teal": 545,
+ "source": 152,
+ "pc": [
+ 504
+ ]
+ },
+ {
+ "teal": 546,
+ "source": 152,
+ "pc": [
+ 505,
+ 506
+ ]
+ },
+ {
+ "teal": 549,
+ "source": 152,
+ "pc": [
+ 507
+ ]
+ },
+ {
+ "teal": 554,
+ "source": 159,
+ "pc": [
+ 508,
+ 509
+ ]
+ },
+ {
+ "teal": 555,
+ "source": 159,
+ "pc": [
+ 510,
+ 511,
+ 512
+ ]
+ },
+ {
+ "teal": 560,
+ "source": 159,
+ "pc": [
+ 513,
+ 514,
+ 515
+ ]
+ },
+ {
+ "teal": 563,
+ "source": 149,
+ "pc": [
+ 516
+ ]
+ },
+ {
+ "teal": 567,
+ "source": 162,
+ "pc": [
+ 517,
+ 518,
+ 519
+ ]
+ },
+ {
+ "teal": 570,
+ "source": 162,
+ "pc": [
+ 520
+ ]
+ },
+ {
+ "teal": 574,
+ "source": 163,
+ "pc": [
+ 521,
+ 522
+ ]
+ },
+ {
+ "teal": 575,
+ "source": 163,
+ "pc": [
+ 523
+ ]
+ },
+ {
+ "teal": 576,
+ "source": 163,
+ "pc": [
+ 524,
+ 525
+ ]
+ },
+ {
+ "teal": 577,
+ "source": 163,
+ "pc": [
+ 526
+ ]
+ },
+ {
+ "teal": 578,
+ "source": 163,
+ "pc": [
+ 527,
+ 528
+ ]
+ },
+ {
+ "teal": 586,
+ "source": 166,
+ "pc": [
+ 529
+ ]
+ },
+ {
+ "teal": 587,
+ "source": 166,
+ "pc": [
+ 530,
+ 531
+ ]
+ },
+ {
+ "teal": 588,
+ "source": 166,
+ "pc": [
+ 532
+ ]
+ },
+ {
+ "teal": 589,
+ "source": 166,
+ "pc": [
+ 533
+ ]
+ },
+ {
+ "teal": 590,
+ "source": 166,
+ "pc": [
+ 534
+ ]
+ },
+ {
+ "teal": 591,
+ "source": 166,
+ "pc": [
+ 535
+ ]
+ },
+ {
+ "teal": 592,
+ "source": 166,
+ "pc": [
+ 536
+ ]
+ },
+ {
+ "teal": 593,
+ "source": 166,
+ "pc": [
+ 537,
+ 538,
+ 539
+ ]
+ },
+ {
+ "teal": 594,
+ "source": 167,
+ "pc": [
+ 540
+ ]
+ },
+ {
+ "teal": 595,
+ "source": 167,
+ "pc": [
+ 541,
+ 542
+ ]
+ },
+ {
+ "teal": 596,
+ "source": 167,
+ "pc": [
+ 543
+ ]
+ },
+ {
+ "teal": 597,
+ "source": 167,
+ "pc": [
+ 544
+ ]
+ },
+ {
+ "teal": 600,
+ "source": 167,
+ "errorMessage": "box value does not exist: this.plugins(key).value",
+ "pc": [
+ 545
+ ]
+ },
+ {
+ "teal": 601,
+ "source": 167,
+ "pc": [
+ 546,
+ 547
+ ]
+ },
+ {
+ "teal": 602,
+ "source": 167,
+ "pc": [
+ 548,
+ 549
+ ]
+ },
+ {
+ "teal": 603,
+ "source": 167,
+ "pc": [
+ 550,
+ 551,
+ 552
+ ]
+ },
+ {
+ "teal": 604,
+ "source": 167,
+ "pc": [
+ 553
+ ]
+ },
+ {
+ "teal": 605,
+ "source": 167,
+ "pc": [
+ 554,
+ 555
+ ]
+ },
+ {
+ "teal": 606,
+ "source": 167,
+ "pc": [
+ 556
+ ]
+ },
+ {
+ "teal": 607,
+ "source": 166,
+ "pc": [
+ 557
+ ]
+ },
+ {
+ "teal": 610,
+ "source": 167,
+ "pc": [
+ 558
+ ]
+ },
+ {
+ "teal": 611,
+ "source": 167,
+ "pc": [
+ 559,
+ 560,
+ 561
+ ]
+ },
+ {
+ "teal": 612,
+ "source": 168,
+ "pc": [
+ 562,
+ 563
+ ]
+ },
+ {
+ "teal": 613,
+ "source": 168,
+ "pc": [
+ 564
+ ]
+ },
+ {
+ "teal": 614,
+ "source": 168,
+ "pc": [
+ 565,
+ 566
+ ]
+ },
+ {
+ "teal": 615,
+ "source": 168,
+ "pc": [
+ 567
+ ]
+ },
+ {
+ "teal": 616,
+ "source": 168,
+ "pc": [
+ 568
+ ]
+ },
+ {
+ "teal": 619,
+ "source": 168,
+ "errorMessage": "box value does not exist: this.plugins(key).value",
+ "pc": [
+ 569
+ ]
+ },
+ {
+ "teal": 620,
+ "source": 168,
+ "pc": [
+ 570,
+ 571
+ ]
+ },
+ {
+ "teal": 621,
+ "source": 168,
+ "pc": [
+ 572,
+ 573
+ ]
+ },
+ {
+ "teal": 622,
+ "source": 168,
+ "pc": [
+ 574,
+ 575,
+ 576
+ ]
+ },
+ {
+ "teal": 623,
+ "source": 168,
+ "pc": [
+ 577
+ ]
+ },
+ {
+ "teal": 624,
+ "source": 168,
+ "pc": [
+ 578
+ ]
+ },
+ {
+ "teal": 625,
+ "source": 168,
+ "pc": [
+ 579
+ ]
+ },
+ {
+ "teal": 626,
+ "source": 168,
+ "pc": [
+ 580,
+ 581
+ ]
+ },
+ {
+ "teal": 627,
+ "source": 168,
+ "pc": [
+ 582
+ ]
+ },
+ {
+ "teal": 628,
+ "source": 168,
+ "pc": [
+ 583
+ ]
+ },
+ {
+ "teal": 631,
+ "source": 168,
+ "errorMessage": "box value does not exist: this.plugins(key).value",
+ "pc": [
+ 584
+ ]
+ },
+ {
+ "teal": 632,
+ "source": 168,
+ "pc": [
+ 585,
+ 586
+ ]
+ },
+ {
+ "teal": 633,
+ "source": 168,
+ "pc": [
+ 587,
+ 588
+ ]
+ },
+ {
+ "teal": 634,
+ "source": 168,
+ "pc": [
+ 589,
+ 590,
+ 591
+ ]
+ },
+ {
+ "teal": 635,
+ "source": 168,
+ "pc": [
+ 592
+ ]
+ },
+ {
+ "teal": 636,
+ "source": 168,
+ "pc": [
+ 593
+ ]
+ },
+ {
+ "teal": 637,
+ "source": 167,
+ "pc": [
+ 594
+ ]
+ },
+ {
+ "teal": 641,
+ "source": 162,
+ "pc": [
+ 595,
+ 596
+ ]
+ },
+ {
+ "teal": 642,
+ "source": 162,
+ "pc": [
+ 597
+ ]
+ },
+ {
+ "teal": 647,
+ "source": 177,
+ "pc": [
+ 598,
+ 599,
+ 600
+ ]
+ },
+ {
+ "teal": 648,
+ "source": 177,
+ "pc": [
+ 601
+ ]
+ },
+ {
+ "teal": 651,
+ "source": 177,
+ "pc": [
+ 602,
+ 603,
+ 604
+ ]
+ },
+ {
+ "teal": 652,
+ "source": 177,
+ "pc": [
+ 605
+ ]
+ },
+ {
+ "teal": 653,
+ "source": 177,
+ "pc": [
+ 606
+ ]
+ },
+ {
+ "teal": 661,
+ "source": 177,
+ "pc": [
+ 607,
+ 608,
+ 609
+ ]
+ },
+ {
+ "teal": 664,
+ "source": 177,
+ "pc": [
+ 610
+ ]
+ },
+ {
+ "teal": 668,
+ "source": 178,
+ "pc": [
+ 611,
+ 612
+ ]
+ },
+ {
+ "teal": 669,
+ "source": 178,
+ "pc": [
+ 613,
+ 614
+ ]
+ },
+ {
+ "teal": 670,
+ "source": 178,
+ "pc": [
+ 615,
+ 616,
+ 617
+ ]
+ },
+ {
+ "teal": 671,
+ "source": 178,
+ "pc": [
+ 618,
+ 619
+ ]
+ },
+ {
+ "teal": 676,
+ "source": 180,
+ "pc": [
+ 620,
+ 621
+ ]
+ },
+ {
+ "teal": 677,
+ "source": 180,
+ "pc": [
+ 622
+ ]
+ },
+ {
+ "teal": 678,
+ "source": 180,
+ "pc": [
+ 623,
+ 624,
+ 625
+ ]
+ },
+ {
+ "teal": 683,
+ "source": 181,
+ "pc": [
+ 626,
+ 627
+ ]
+ },
+ {
+ "teal": 684,
+ "source": 181,
+ "pc": [
+ 628,
+ 629
+ ]
+ },
+ {
+ "teal": 685,
+ "source": 181,
+ "pc": [
+ 630,
+ 631,
+ 632
+ ]
+ },
+ {
+ "teal": 688,
+ "source": 181,
+ "errorMessage": "This sender is not allowed to trigger this plugin",
+ "pc": [
+ 633
+ ]
+ },
+ {
+ "teal": 698,
+ "source": 183,
+ "pc": [
+ 634
+ ]
+ },
+ {
+ "teal": 699,
+ "source": 183,
+ "pc": [
+ 635
+ ]
+ },
+ {
+ "teal": 700,
+ "source": 183,
+ "pc": [
+ 636,
+ 637
+ ]
+ },
+ {
+ "teal": 704,
+ "source": 184,
+ "pc": [
+ 638
+ ]
+ },
+ {
+ "teal": 705,
+ "source": 184,
+ "pc": [
+ 639
+ ]
+ },
+ {
+ "teal": 706,
+ "source": 184,
+ "pc": [
+ 640,
+ 641
+ ]
+ },
+ {
+ "teal": 710,
+ "source": 185,
+ "pc": [
+ 642
+ ]
+ },
+ {
+ "teal": 711,
+ "source": 185,
+ "pc": [
+ 643
+ ]
+ },
+ {
+ "teal": 712,
+ "source": 185,
+ "pc": [
+ 644,
+ 645
+ ]
+ },
+ {
+ "teal": 716,
+ "source": 186,
+ "pc": [
+ 646,
+ 647
+ ]
+ },
+ {
+ "teal": 717,
+ "source": 186,
+ "pc": [
+ 648,
+ 649
+ ]
+ },
+ {
+ "teal": 718,
+ "source": 186,
+ "pc": [
+ 650
+ ]
+ },
+ {
+ "teal": 719,
+ "source": 186,
+ "pc": [
+ 651,
+ 652
+ ]
+ },
+ {
+ "teal": 723,
+ "source": 187,
+ "pc": [
+ 653,
+ 654,
+ 655,
+ 656,
+ 657,
+ 658,
+ 659,
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672,
+ 673,
+ 674,
+ 675,
+ 676
+ ]
+ },
+ {
+ "teal": 724,
+ "source": 187,
+ "pc": [
+ 677,
+ 678
+ ]
+ },
+ {
+ "teal": 727,
+ "source": 183,
+ "pc": [
+ 679
+ ]
+ },
+ {
+ "teal": 728,
+ "source": 183,
+ "pc": [
+ 680,
+ 681
+ ]
+ },
+ {
+ "teal": 731,
+ "source": 183,
+ "pc": [
+ 682
+ ]
+ },
+ {
+ "teal": 738,
+ "source": 190,
+ "pc": [
+ 683
+ ]
+ },
+ {
+ "teal": 739,
+ "source": 191,
+ "pc": [
+ 684,
+ 685
+ ]
+ },
+ {
+ "teal": 740,
+ "source": 191,
+ "pc": [
+ 686
+ ]
+ },
+ {
+ "teal": 741,
+ "source": 192,
+ "pc": [
+ 687,
+ 688
+ ]
+ },
+ {
+ "teal": 742,
+ "source": 192,
+ "pc": [
+ 689,
+ 690,
+ 691
+ ]
+ },
+ {
+ "teal": 743,
+ "source": 192,
+ "pc": [
+ 692,
+ 693
+ ]
+ },
+ {
+ "teal": 744,
+ "source": 192,
+ "pc": [
+ 694,
+ 695,
+ 696
+ ]
+ },
+ {
+ "teal": 747,
+ "source": 192,
+ "pc": [
+ 697,
+ 698
+ ]
+ },
+ {
+ "teal": 750,
+ "source": 192,
+ "pc": [
+ 699
+ ]
+ },
+ {
+ "teal": 751,
+ "source": 190,
+ "pc": [
+ 700
+ ]
+ },
+ {
+ "teal": 752,
+ "source": 190,
+ "pc": [
+ 701
+ ]
+ },
+ {
+ "teal": 755,
+ "source": 190,
+ "errorMessage": "box value does not exist: this.plugins({ application: plugin, allowedCaller: globalAllowed ? Address.zeroAddress : this.txn.sender, }).value",
+ "pc": [
+ 702
+ ]
+ },
+ {
+ "teal": 756,
+ "source": 190,
+ "pc": [
+ 703,
+ 704
+ ]
+ },
+ {
+ "teal": 757,
+ "source": 190,
+ "pc": [
+ 705,
+ 706
+ ]
+ },
+ {
+ "teal": 758,
+ "source": 190,
+ "pc": [
+ 707,
+ 708
+ ]
+ },
+ {
+ "teal": 759,
+ "source": 193,
+ "pc": [
+ 709,
+ 710
+ ]
+ },
+ {
+ "teal": 760,
+ "source": 193,
+ "pc": [
+ 711
+ ]
+ },
+ {
+ "teal": 761,
+ "source": 190,
+ "pc": [
+ 712
+ ]
+ },
+ {
+ "teal": 762,
+ "source": 191,
+ "pc": [
+ 713,
+ 714
+ ]
+ },
+ {
+ "teal": 763,
+ "source": 191,
+ "pc": [
+ 715
+ ]
+ },
+ {
+ "teal": 764,
+ "source": 192,
+ "pc": [
+ 716,
+ 717
+ ]
+ },
+ {
+ "teal": 765,
+ "source": 192,
+ "pc": [
+ 718,
+ 719,
+ 720
+ ]
+ },
+ {
+ "teal": 766,
+ "source": 192,
+ "pc": [
+ 721,
+ 722
+ ]
+ },
+ {
+ "teal": 767,
+ "source": 192,
+ "pc": [
+ 723,
+ 724,
+ 725
+ ]
+ },
+ {
+ "teal": 770,
+ "source": 192,
+ "pc": [
+ 726,
+ 727
+ ]
+ },
+ {
+ "teal": 773,
+ "source": 192,
+ "pc": [
+ 728
+ ]
+ },
+ {
+ "teal": 774,
+ "source": 190,
+ "pc": [
+ 729
+ ]
+ },
+ {
+ "teal": 775,
+ "source": 190,
+ "pc": [
+ 730,
+ 731
+ ]
+ },
+ {
+ "teal": 776,
+ "source": 190,
+ "pc": [
+ 732
+ ]
+ },
+ {
+ "teal": 780,
+ "source": 195,
+ "pc": [
+ 733,
+ 734,
+ 735
+ ]
+ },
+ {
+ "teal": 781,
+ "source": 177,
+ "pc": [
+ 736
+ ]
+ },
+ {
+ "teal": 786,
+ "source": 203,
+ "pc": [
+ 737,
+ 738,
+ 739
+ ]
+ },
+ {
+ "teal": 787,
+ "source": 203,
+ "pc": [
+ 740,
+ 741,
+ 742
+ ]
+ },
+ {
+ "teal": 790,
+ "source": 203,
+ "pc": [
+ 743,
+ 744,
+ 745
+ ]
+ },
+ {
+ "teal": 791,
+ "source": 203,
+ "pc": [
+ 746
+ ]
+ },
+ {
+ "teal": 792,
+ "source": 203,
+ "pc": [
+ 747
+ ]
+ },
+ {
+ "teal": 800,
+ "source": 203,
+ "pc": [
+ 748,
+ 749,
+ 750
+ ]
+ },
+ {
+ "teal": 804,
+ "source": 204,
+ "pc": [
+ 751
+ ]
+ },
+ {
+ "teal": 805,
+ "source": 204,
+ "pc": [
+ 752,
+ 753
+ ]
+ },
+ {
+ "teal": 806,
+ "source": 204,
+ "pc": [
+ 754,
+ 755
+ ]
+ },
+ {
+ "teal": 807,
+ "source": 204,
+ "pc": [
+ 756,
+ 757
+ ]
+ },
+ {
+ "teal": 808,
+ "source": 204,
+ "pc": [
+ 758
+ ]
+ },
+ {
+ "teal": 809,
+ "source": 204,
+ "pc": [
+ 759,
+ 760
+ ]
+ },
+ {
+ "teal": 810,
+ "source": 204,
+ "pc": [
+ 761
+ ]
+ },
+ {
+ "teal": 811,
+ "source": 204,
+ "pc": [
+ 762
+ ]
+ },
+ {
+ "teal": 812,
+ "source": 204,
+ "pc": [
+ 763,
+ 764,
+ 765
+ ]
+ },
+ {
+ "teal": 813,
+ "source": 203,
+ "pc": [
+ 766
+ ]
+ },
+ {
+ "teal": 818,
+ "source": 222,
+ "pc": [
+ 767,
+ 768,
+ 769
+ ]
+ },
+ {
+ "teal": 819,
+ "source": 222,
+ "pc": [
+ 770
+ ]
+ },
+ {
+ "teal": 820,
+ "source": 222,
+ "pc": [
+ 771
+ ]
+ },
+ {
+ "teal": 821,
+ "source": 222,
+ "pc": [
+ 772
+ ]
+ },
+ {
+ "teal": 822,
+ "source": 222,
+ "pc": [
+ 773
+ ]
+ },
+ {
+ "teal": 825,
+ "source": 222,
+ "errorMessage": "argument 0 (adminPrivileges) for arc58_addPlugin must be a bool",
+ "pc": [
+ 774
+ ]
+ },
+ {
+ "teal": 826,
+ "source": 222,
+ "pc": [
+ 775
+ ]
+ },
+ {
+ "teal": 827,
+ "source": 222,
+ "pc": [
+ 776
+ ]
+ },
+ {
+ "teal": 830,
+ "source": 221,
+ "pc": [
+ 777,
+ 778,
+ 779
+ ]
+ },
+ {
+ "teal": 831,
+ "source": 221,
+ "pc": [
+ 780
+ ]
+ },
+ {
+ "teal": 834,
+ "source": 220,
+ "pc": [
+ 781,
+ 782,
+ 783
+ ]
+ },
+ {
+ "teal": 835,
+ "source": 220,
+ "pc": [
+ 784
+ ]
+ },
+ {
+ "teal": 838,
+ "source": 219,
+ "pc": [
+ 785,
+ 786,
+ 787
+ ]
+ },
+ {
+ "teal": 839,
+ "source": 219,
+ "pc": [
+ 788
+ ]
+ },
+ {
+ "teal": 840,
+ "source": 219,
+ "pc": [
+ 789
+ ]
+ },
+ {
+ "teal": 841,
+ "source": 219,
+ "pc": [
+ 790
+ ]
+ },
+ {
+ "teal": 842,
+ "source": 219,
+ "pc": [
+ 791
+ ]
+ },
+ {
+ "teal": 845,
+ "source": 219,
+ "errorMessage": "argument 3 (allowedCaller) for arc58_addPlugin must be a address",
+ "pc": [
+ 792
+ ]
+ },
+ {
+ "teal": 848,
+ "source": 218,
+ "pc": [
+ 793,
+ 794,
+ 795
+ ]
+ },
+ {
+ "teal": 849,
+ "source": 218,
+ "pc": [
+ 796
+ ]
+ },
+ {
+ "teal": 852,
+ "source": 217,
+ "pc": [
+ 797,
+ 798,
+ 799
+ ]
+ },
+ {
+ "teal": 853,
+ "source": 217,
+ "pc": [
+ 800
+ ]
+ },
+ {
+ "teal": 854,
+ "source": 217,
+ "pc": [
+ 801
+ ]
+ },
+ {
+ "teal": 867,
+ "source": 217,
+ "pc": [
+ 802,
+ 803,
+ 804
+ ]
+ },
+ {
+ "teal": 870,
+ "source": 217,
+ "pc": [
+ 805
+ ]
+ },
+ {
+ "teal": 875,
+ "source": 224,
+ "pc": [
+ 806,
+ 807
+ ]
+ },
+ {
+ "teal": 876,
+ "source": 224,
+ "pc": [
+ 808
+ ]
+ },
+ {
+ "teal": 877,
+ "source": 224,
+ "pc": [
+ 809
+ ]
+ },
+ {
+ "teal": 878,
+ "source": 224,
+ "pc": [
+ 810
+ ]
+ },
+ {
+ "teal": 881,
+ "source": 224,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 811
+ ]
+ },
+ {
+ "teal": 885,
+ "source": 225,
+ "pc": [
+ 812,
+ 813
+ ]
+ },
+ {
+ "teal": 886,
+ "source": 225,
+ "pc": [
+ 814
+ ]
+ },
+ {
+ "teal": 887,
+ "source": 225,
+ "pc": [
+ 815,
+ 816
+ ]
+ },
+ {
+ "teal": 888,
+ "source": 225,
+ "pc": [
+ 817
+ ]
+ },
+ {
+ "teal": 889,
+ "source": 225,
+ "pc": [
+ 818,
+ 819
+ ]
+ },
+ {
+ "teal": 898,
+ "source": 226,
+ "pc": [
+ 820
+ ]
+ },
+ {
+ "teal": 899,
+ "source": 226,
+ "pc": [
+ 821,
+ 822
+ ]
+ },
+ {
+ "teal": 900,
+ "source": 226,
+ "pc": [
+ 823
+ ]
+ },
+ {
+ "teal": 901,
+ "source": 227,
+ "pc": [
+ 824,
+ 825
+ ]
+ },
+ {
+ "teal": 902,
+ "source": 227,
+ "pc": [
+ 826
+ ]
+ },
+ {
+ "teal": 903,
+ "source": 228,
+ "pc": [
+ 827,
+ 828
+ ]
+ },
+ {
+ "teal": 904,
+ "source": 228,
+ "pc": [
+ 829
+ ]
+ },
+ {
+ "teal": 905,
+ "source": 228,
+ "pc": [
+ 830
+ ]
+ },
+ {
+ "teal": 906,
+ "source": 229,
+ "pc": [
+ 831,
+ 832
+ ]
+ },
+ {
+ "teal": 907,
+ "source": 229,
+ "pc": [
+ 833
+ ]
+ },
+ {
+ "teal": 908,
+ "source": 230,
+ "pc": [
+ 834,
+ 835
+ ]
+ },
+ {
+ "teal": 909,
+ "source": 230,
+ "pc": [
+ 836
+ ]
+ },
+ {
+ "teal": 910,
+ "source": 230,
+ "pc": [
+ 837,
+ 838
+ ]
+ },
+ {
+ "teal": 911,
+ "source": 230,
+ "pc": [
+ 839
+ ]
+ },
+ {
+ "teal": 912,
+ "source": 226,
+ "pc": [
+ 840
+ ]
+ },
+ {
+ "teal": 913,
+ "source": 226,
+ "pc": [
+ 841
+ ]
+ },
+ {
+ "teal": 914,
+ "source": 217,
+ "pc": [
+ 842
+ ]
+ },
+ {
+ "teal": 919,
+ "source": 239,
+ "pc": [
+ 843,
+ 844,
+ 845
+ ]
+ },
+ {
+ "teal": 920,
+ "source": 239,
+ "pc": [
+ 846
+ ]
+ },
+ {
+ "teal": 921,
+ "source": 239,
+ "pc": [
+ 847
+ ]
+ },
+ {
+ "teal": 922,
+ "source": 239,
+ "pc": [
+ 848
+ ]
+ },
+ {
+ "teal": 923,
+ "source": 239,
+ "pc": [
+ 849
+ ]
+ },
+ {
+ "teal": 926,
+ "source": 239,
+ "errorMessage": "argument 0 (allowedCaller) for arc58_removePlugin must be a address",
+ "pc": [
+ 850
+ ]
+ },
+ {
+ "teal": 929,
+ "source": 239,
+ "pc": [
+ 851,
+ 852,
+ 853
+ ]
+ },
+ {
+ "teal": 930,
+ "source": 239,
+ "pc": [
+ 854
+ ]
+ },
+ {
+ "teal": 933,
+ "source": 239,
+ "pc": [
+ 855,
+ 856,
+ 857
+ ]
+ },
+ {
+ "teal": 934,
+ "source": 239,
+ "pc": [
+ 858
+ ]
+ },
+ {
+ "teal": 935,
+ "source": 239,
+ "pc": [
+ 859
+ ]
+ },
+ {
+ "teal": 943,
+ "source": 239,
+ "pc": [
+ 860,
+ 861,
+ 862
+ ]
+ },
+ {
+ "teal": 946,
+ "source": 239,
+ "pc": [
+ 863
+ ]
+ },
+ {
+ "teal": 951,
+ "source": 240,
+ "pc": [
+ 864,
+ 865
+ ]
+ },
+ {
+ "teal": 952,
+ "source": 240,
+ "pc": [
+ 866
+ ]
+ },
+ {
+ "teal": 953,
+ "source": 240,
+ "pc": [
+ 867
+ ]
+ },
+ {
+ "teal": 954,
+ "source": 240,
+ "pc": [
+ 868
+ ]
+ },
+ {
+ "teal": 957,
+ "source": 240,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 869
+ ]
+ },
+ {
+ "teal": 961,
+ "source": 242,
+ "pc": [
+ 870,
+ 871
+ ]
+ },
+ {
+ "teal": 962,
+ "source": 242,
+ "pc": [
+ 872
+ ]
+ },
+ {
+ "teal": 963,
+ "source": 242,
+ "pc": [
+ 873,
+ 874
+ ]
+ },
+ {
+ "teal": 964,
+ "source": 242,
+ "pc": [
+ 875
+ ]
+ },
+ {
+ "teal": 965,
+ "source": 242,
+ "pc": [
+ 876,
+ 877
+ ]
+ },
+ {
+ "teal": 969,
+ "source": 243,
+ "pc": [
+ 878
+ ]
+ },
+ {
+ "teal": 970,
+ "source": 243,
+ "pc": [
+ 879,
+ 880
+ ]
+ },
+ {
+ "teal": 971,
+ "source": 243,
+ "pc": [
+ 881
+ ]
+ },
+ {
+ "teal": 972,
+ "source": 243,
+ "pc": [
+ 882
+ ]
+ },
+ {
+ "teal": 973,
+ "source": 239,
+ "pc": [
+ 883
+ ]
+ },
+ {
+ "teal": 978,
+ "source": 263,
+ "pc": [
+ 884,
+ 885,
+ 886
+ ]
+ },
+ {
+ "teal": 979,
+ "source": 263,
+ "pc": [
+ 887
+ ]
+ },
+ {
+ "teal": 980,
+ "source": 263,
+ "pc": [
+ 888
+ ]
+ },
+ {
+ "teal": 981,
+ "source": 263,
+ "pc": [
+ 889
+ ]
+ },
+ {
+ "teal": 982,
+ "source": 263,
+ "pc": [
+ 890
+ ]
+ },
+ {
+ "teal": 985,
+ "source": 263,
+ "errorMessage": "argument 0 (adminPrivileges) for arc58_addNamedPlugin must be a bool",
+ "pc": [
+ 891
+ ]
+ },
+ {
+ "teal": 986,
+ "source": 263,
+ "pc": [
+ 892
+ ]
+ },
+ {
+ "teal": 987,
+ "source": 263,
+ "pc": [
+ 893
+ ]
+ },
+ {
+ "teal": 990,
+ "source": 262,
+ "pc": [
+ 894,
+ 895,
+ 896
+ ]
+ },
+ {
+ "teal": 991,
+ "source": 262,
+ "pc": [
+ 897
+ ]
+ },
+ {
+ "teal": 994,
+ "source": 261,
+ "pc": [
+ 898,
+ 899,
+ 900
+ ]
+ },
+ {
+ "teal": 995,
+ "source": 261,
+ "pc": [
+ 901
+ ]
+ },
+ {
+ "teal": 998,
+ "source": 260,
+ "pc": [
+ 902,
+ 903,
+ 904
+ ]
+ },
+ {
+ "teal": 999,
+ "source": 260,
+ "pc": [
+ 905
+ ]
+ },
+ {
+ "teal": 1000,
+ "source": 260,
+ "pc": [
+ 906
+ ]
+ },
+ {
+ "teal": 1001,
+ "source": 260,
+ "pc": [
+ 907
+ ]
+ },
+ {
+ "teal": 1002,
+ "source": 260,
+ "pc": [
+ 908
+ ]
+ },
+ {
+ "teal": 1005,
+ "source": 260,
+ "errorMessage": "argument 3 (allowedCaller) for arc58_addNamedPlugin must be a address",
+ "pc": [
+ 909
+ ]
+ },
+ {
+ "teal": 1008,
+ "source": 259,
+ "pc": [
+ 910,
+ 911,
+ 912
+ ]
+ },
+ {
+ "teal": 1009,
+ "source": 259,
+ "pc": [
+ 913
+ ]
+ },
+ {
+ "teal": 1012,
+ "source": 258,
+ "pc": [
+ 914,
+ 915,
+ 916
+ ]
+ },
+ {
+ "teal": 1013,
+ "source": 258,
+ "pc": [
+ 917,
+ 918,
+ 919
+ ]
+ },
+ {
+ "teal": 1016,
+ "source": 257,
+ "pc": [
+ 920,
+ 921,
+ 922
+ ]
+ },
+ {
+ "teal": 1017,
+ "source": 257,
+ "pc": [
+ 923
+ ]
+ },
+ {
+ "teal": 1018,
+ "source": 257,
+ "pc": [
+ 924
+ ]
+ },
+ {
+ "teal": 1032,
+ "source": 257,
+ "pc": [
+ 925,
+ 926,
+ 927
+ ]
+ },
+ {
+ "teal": 1035,
+ "source": 257,
+ "pc": [
+ 928
+ ]
+ },
+ {
+ "teal": 1040,
+ "source": 265,
+ "pc": [
+ 929,
+ 930
+ ]
+ },
+ {
+ "teal": 1041,
+ "source": 265,
+ "pc": [
+ 931
+ ]
+ },
+ {
+ "teal": 1042,
+ "source": 265,
+ "pc": [
+ 932
+ ]
+ },
+ {
+ "teal": 1043,
+ "source": 265,
+ "pc": [
+ 933
+ ]
+ },
+ {
+ "teal": 1046,
+ "source": 265,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 934
+ ]
+ },
+ {
+ "teal": 1050,
+ "source": 266,
+ "pc": [
+ 935,
+ 936
+ ]
+ },
+ {
+ "teal": 1051,
+ "source": 266,
+ "pc": [
+ 937,
+ 938
+ ]
+ },
+ {
+ "teal": 1052,
+ "source": 266,
+ "pc": [
+ 939
+ ]
+ },
+ {
+ "teal": 1053,
+ "source": 266,
+ "pc": [
+ 940
+ ]
+ },
+ {
+ "teal": 1054,
+ "source": 266,
+ "pc": [
+ 941
+ ]
+ },
+ {
+ "teal": 1055,
+ "source": 266,
+ "pc": [
+ 942
+ ]
+ },
+ {
+ "teal": 1056,
+ "source": 266,
+ "pc": [
+ 943
+ ]
+ },
+ {
+ "teal": 1057,
+ "source": 266,
+ "pc": [
+ 944
+ ]
+ },
+ {
+ "teal": 1061,
+ "source": 268,
+ "pc": [
+ 945,
+ 946
+ ]
+ },
+ {
+ "teal": 1062,
+ "source": 268,
+ "pc": [
+ 947
+ ]
+ },
+ {
+ "teal": 1063,
+ "source": 268,
+ "pc": [
+ 948,
+ 949
+ ]
+ },
+ {
+ "teal": 1064,
+ "source": 268,
+ "pc": [
+ 950
+ ]
+ },
+ {
+ "teal": 1065,
+ "source": 268,
+ "pc": [
+ 951,
+ 952
+ ]
+ },
+ {
+ "teal": 1069,
+ "source": 269,
+ "pc": [
+ 953,
+ 954
+ ]
+ },
+ {
+ "teal": 1070,
+ "source": 269,
+ "pc": [
+ 955,
+ 956
+ ]
+ },
+ {
+ "teal": 1071,
+ "source": 269,
+ "pc": [
+ 957
+ ]
+ },
+ {
+ "teal": 1072,
+ "source": 269,
+ "pc": [
+ 958,
+ 959
+ ]
+ },
+ {
+ "teal": 1073,
+ "source": 269,
+ "pc": [
+ 960
+ ]
+ },
+ {
+ "teal": 1082,
+ "source": 270,
+ "pc": [
+ 961
+ ]
+ },
+ {
+ "teal": 1083,
+ "source": 270,
+ "pc": [
+ 962,
+ 963
+ ]
+ },
+ {
+ "teal": 1084,
+ "source": 270,
+ "pc": [
+ 964
+ ]
+ },
+ {
+ "teal": 1085,
+ "source": 271,
+ "pc": [
+ 965,
+ 966
+ ]
+ },
+ {
+ "teal": 1086,
+ "source": 271,
+ "pc": [
+ 967
+ ]
+ },
+ {
+ "teal": 1087,
+ "source": 272,
+ "pc": [
+ 968,
+ 969
+ ]
+ },
+ {
+ "teal": 1088,
+ "source": 272,
+ "pc": [
+ 970
+ ]
+ },
+ {
+ "teal": 1089,
+ "source": 272,
+ "pc": [
+ 971
+ ]
+ },
+ {
+ "teal": 1090,
+ "source": 273,
+ "pc": [
+ 972,
+ 973
+ ]
+ },
+ {
+ "teal": 1091,
+ "source": 273,
+ "pc": [
+ 974
+ ]
+ },
+ {
+ "teal": 1092,
+ "source": 274,
+ "pc": [
+ 975,
+ 976
+ ]
+ },
+ {
+ "teal": 1093,
+ "source": 274,
+ "pc": [
+ 977
+ ]
+ },
+ {
+ "teal": 1094,
+ "source": 274,
+ "pc": [
+ 978,
+ 979
+ ]
+ },
+ {
+ "teal": 1095,
+ "source": 274,
+ "pc": [
+ 980
+ ]
+ },
+ {
+ "teal": 1096,
+ "source": 270,
+ "pc": [
+ 981
+ ]
+ },
+ {
+ "teal": 1097,
+ "source": 270,
+ "pc": [
+ 982
+ ]
+ },
+ {
+ "teal": 1098,
+ "source": 257,
+ "pc": [
+ 983
+ ]
+ },
+ {
+ "teal": 1103,
+ "source": 283,
+ "pc": [
+ 984,
+ 985,
+ 986
+ ]
+ },
+ {
+ "teal": 1104,
+ "source": 283,
+ "pc": [
+ 987,
+ 988,
+ 989
+ ]
+ },
+ {
+ "teal": 1107,
+ "source": 283,
+ "pc": [
+ 990,
+ 991,
+ 992
+ ]
+ },
+ {
+ "teal": 1108,
+ "source": 283,
+ "pc": [
+ 993
+ ]
+ },
+ {
+ "teal": 1109,
+ "source": 283,
+ "pc": [
+ 994
+ ]
+ },
+ {
+ "teal": 1117,
+ "source": 283,
+ "pc": [
+ 995,
+ 996,
+ 997
+ ]
+ },
+ {
+ "teal": 1120,
+ "source": 283,
+ "pc": [
+ 998
+ ]
+ },
+ {
+ "teal": 1125,
+ "source": 284,
+ "pc": [
+ 999,
+ 1000
+ ]
+ },
+ {
+ "teal": 1126,
+ "source": 284,
+ "pc": [
+ 1001
+ ]
+ },
+ {
+ "teal": 1127,
+ "source": 284,
+ "pc": [
+ 1002
+ ]
+ },
+ {
+ "teal": 1128,
+ "source": 284,
+ "pc": [
+ 1003
+ ]
+ },
+ {
+ "teal": 1131,
+ "source": 284,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}",
+ "pc": [
+ 1004
+ ]
+ },
+ {
+ "teal": 1135,
+ "source": 286,
+ "pc": [
+ 1005,
+ 1006
+ ]
+ },
+ {
+ "teal": 1136,
+ "source": 286,
+ "pc": [
+ 1007,
+ 1008
+ ]
+ },
+ {
+ "teal": 1137,
+ "source": 286,
+ "pc": [
+ 1009
+ ]
+ },
+ {
+ "teal": 1138,
+ "source": 286,
+ "pc": [
+ 1010,
+ 1011
+ ]
+ },
+ {
+ "teal": 1142,
+ "source": 287,
+ "pc": [
+ 1012,
+ 1013
+ ]
+ },
+ {
+ "teal": 1143,
+ "source": 287,
+ "pc": [
+ 1014,
+ 1015
+ ]
+ },
+ {
+ "teal": 1144,
+ "source": 287,
+ "pc": [
+ 1016
+ ]
+ },
+ {
+ "teal": 1145,
+ "source": 287,
+ "pc": [
+ 1017
+ ]
+ },
+ {
+ "teal": 1149,
+ "source": 288,
+ "pc": [
+ 1018
+ ]
+ },
+ {
+ "teal": 1150,
+ "source": 286,
+ "pc": [
+ 1019,
+ 1020
+ ]
+ },
+ {
+ "teal": 1151,
+ "source": 286,
+ "pc": [
+ 1021
+ ]
+ },
+ {
+ "teal": 1154,
+ "source": 286,
+ "errorMessage": "box value does not exist: this.namedPlugins(name).value",
+ "pc": [
+ 1022
+ ]
+ },
+ {
+ "teal": 1155,
+ "source": 288,
+ "pc": [
+ 1023
+ ]
+ },
+ {
+ "teal": 1156,
+ "source": 288,
+ "pc": [
+ 1024
+ ]
+ },
+ {
+ "teal": 1157,
+ "source": 283,
+ "pc": [
+ 1025
+ ]
+ },
+ {
+ "teal": 1160,
+ "source": 21,
+ "pc": [
+ 1026,
+ 1027,
+ 1028,
+ 1029,
+ 1030,
+ 1031
+ ]
+ },
+ {
+ "teal": 1161,
+ "source": 21,
+ "pc": [
+ 1032,
+ 1033,
+ 1034
+ ]
+ },
+ {
+ "teal": 1162,
+ "source": 21,
+ "pc": [
+ 1035,
+ 1036,
+ 1037,
+ 1038
+ ]
+ },
+ {
+ "teal": 1165,
+ "source": 21,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 1039
+ ]
+ },
+ {
+ "teal": 1168,
+ "source": 21,
+ "pc": [
+ 1040,
+ 1041,
+ 1042,
+ 1043,
+ 1044,
+ 1045
+ ]
+ },
+ {
+ "teal": 1169,
+ "source": 21,
+ "pc": [
+ 1046,
+ 1047,
+ 1048,
+ 1049,
+ 1050,
+ 1051
+ ]
+ },
+ {
+ "teal": 1170,
+ "source": 21,
+ "pc": [
+ 1052,
+ 1053,
+ 1054,
+ 1055,
+ 1056,
+ 1057
+ ]
+ },
+ {
+ "teal": 1171,
+ "source": 21,
+ "pc": [
+ 1058,
+ 1059
+ ]
+ },
+ {
+ "teal": 1172,
+ "source": 21,
+ "pc": [
+ 1060,
+ 1061,
+ 1062,
+ 1063,
+ 1064,
+ 1065
+ ]
+ },
+ {
+ "teal": 1173,
+ "source": 21,
+ "pc": [
+ 1066,
+ 1067,
+ 1068,
+ 1069,
+ 1070,
+ 1071
+ ]
+ },
+ {
+ "teal": 1174,
+ "source": 21,
+ "pc": [
+ 1072,
+ 1073,
+ 1074,
+ 1075,
+ 1076,
+ 1077
+ ]
+ },
+ {
+ "teal": 1175,
+ "source": 21,
+ "pc": [
+ 1078,
+ 1079,
+ 1080,
+ 1081,
+ 1082,
+ 1083
+ ]
+ },
+ {
+ "teal": 1176,
+ "source": 21,
+ "pc": [
+ 1084,
+ 1085,
+ 1086,
+ 1087,
+ 1088,
+ 1089
+ ]
+ },
+ {
+ "teal": 1177,
+ "source": 21,
+ "pc": [
+ 1090,
+ 1091,
+ 1092,
+ 1093,
+ 1094,
+ 1095
+ ]
+ },
+ {
+ "teal": 1178,
+ "source": 21,
+ "pc": [
+ 1096,
+ 1097,
+ 1098,
+ 1099,
+ 1100,
+ 1101
+ ]
+ },
+ {
+ "teal": 1179,
+ "source": 21,
+ "pc": [
+ 1102,
+ 1103,
+ 1104
+ ]
+ },
+ {
+ "teal": 1180,
+ "source": 21,
+ "pc": [
+ 1105,
+ 1106,
+ 1107,
+ 1108,
+ 1109,
+ 1110,
+ 1111,
+ 1112,
+ 1113,
+ 1114,
+ 1115,
+ 1116,
+ 1117,
+ 1118,
+ 1119,
+ 1120,
+ 1121,
+ 1122,
+ 1123,
+ 1124,
+ 1125,
+ 1126,
+ 1127,
+ 1128
+ ]
+ },
+ {
+ "teal": 1183,
+ "source": 21,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 1129
+ ]
+ }
+]
\ No newline at end of file
diff --git a/examples/arc72/artifacts/ARC72.approval.teal b/examples/arc72/artifacts/ARC72.approval.teal
index 260a2f4b2..25f8cb8b2 100644
--- a/examples/arc72/artifacts/ARC72.approval.teal
+++ b/examples/arc72/artifacts/ARC72.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/arc72/artifacts/ARC72.arc32.json b/examples/arc72/artifacts/ARC72.arc32.json
index b2128eb53..1125ae2e9 100644
--- a/examples/arc72/artifacts/ARC72.arc32.json
+++ b/examples/arc72/artifacts/ARC72.arc32.json
@@ -79,7 +79,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcmM3Ml9vd25lck9mKHVpbnQyNTYpYWRkcmVzcwoqYWJpX3JvdXRlX2FyYzcyX293bmVyT2Y6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHRva2VuSWQ6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAodG9rZW5JZCkgZm9yIGFyYzcyX293bmVyT2YgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfb3duZXJPZih1aW50MjU2KWFkZHJlc3MKCWNhbGxzdWIgYXJjNzJfb3duZXJPZgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX293bmVyT2YodG9rZW5JZDogdWludDI1Nik6IEFkZHJlc3MKLy8KLy8KLy8gUmV0dXJucyB0aGUgYWRkcmVzcyBvZiB0aGUgY3VycmVudCBvd25lciBvZiB0aGUgTkZUIHdpdGggdGhlIGdpdmVuIHRva2VuSWQKLy8KLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKLy8gQHJldHVybnMgVGhlIGN1cnJlbnQgb3duZXIgb2YgdGhlIE5GVAphcmM3Ml9vd25lck9mOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoyNQoJLy8gcmV0dXJuIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXI7CglmcmFtZV9kaWcgLTEgLy8gdG9rZW5JZDogdWludDI1NgoJaW50IDAKCWludCAzMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gYXJjNzJfdG9rZW5VUkkodWludDI1NilieXRlWzI1Nl0KKmFiaV9yb3V0ZV9hcmM3Ml90b2tlblVSSToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdG9rZW5VUkkgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdG9rZW5VUkkodWludDI1NilieXRlWzI1Nl0KCWNhbGxzdWIgYXJjNzJfdG9rZW5VUkkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml90b2tlblVSSSh0b2tlbklkOiB1aW50MjU2KTogQnl0ZXMyNTYKLy8KLy8KLy8gUmV0dXJucyBhIFVSSSBwb2ludGluZyB0byB0aGUgTkZUIG1ldGFkYXRhCi8vCi8vIEBwYXJhbSB0b2tlbklkIFRoZSBJRCBvZiB0aGUgTkZUCi8vIEByZXR1cm5zIFVSSSB0byB0b2tlbiBtZXRhZGF0YQphcmM3Ml90b2tlblVSSToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6MzcKCS8vIHJldHVybiB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlLnVyaTsKCWZyYW1lX2RpZyAtMSAvLyB0b2tlbklkOiB1aW50MjU2CglpbnQgMzIgLy8gaGVhZE9mZnNldAoJaW50IDI1NgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gdHJhbnNmZXJUbyh0bzogQWRkcmVzcywgdG9rZW5JZDogdWludDI1Nik6IHZvaWQKdHJhbnNmZXJUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NDEKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXIgPSB0bwoJZnJhbWVfZGlnIC0yIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludCAwCglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3RyYW5zZmVyRnJvbShhZGRyZXNzLGFkZHJlc3MsdWludDI1Nil2b2lkCiphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tOgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdHJhbnNmZXJGcm9tIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh0bykgZm9yIGFyYzcyX3RyYW5zZmVyRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gX2Zyb206IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoX2Zyb20pIGZvciBhcmM3Ml90cmFuc2ZlckZyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQKCWNhbGxzdWIgYXJjNzJfdHJhbnNmZXJGcm9tCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml90cmFuc2ZlckZyb20oX2Zyb206IEFkZHJlc3MsIHRvOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLyBUcmFuc2ZlcnMgb3duZXJzaGlwIG9mIGFuIE5GVAphcmM3Ml90cmFuc2ZlckZyb206Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo0OAoJLy8gdG9rZW4gPSB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlCglmcmFtZV9kaWcgLTMgLy8gdG9rZW5JZDogdWludDI1NgoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly90b2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NTAKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogX2Zyb20gfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIF9mcm9tOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSBfZnJvbSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IHRva2VuLmNvbnRyb2xsZXIgfHwgdGhpcy5jb250cm9sQm94KGtleSkuZXhpc3RzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gX2Zyb206IEFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyB0b2tlbklkOiB1aW50MjU2CglpbnQgMjg4IC8vIGhlYWRPZmZzZXQKCWludCAzMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IwOgoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMSAvLyBrZXk6IENvbnRyb2wKCWJveF9sZW4KCXN3YXAKCXBvcAoJfHwKCipza2lwX29yMToKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MwoJLy8gdGhpcy50cmFuc2ZlclRvKHRvLCB0b2tlbklkKQoJZnJhbWVfZGlnIC0zIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBUcmFuc2ZlciBub3QgYXV0aG9yaXplZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmU6CgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml9hcHByb3ZlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhcHByb3ZlZDogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhcHByb3ZlZCkgZm9yIGFyYzcyX2FwcHJvdmUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBhcmM3Ml9hcHByb3ZlCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml9hcHByb3ZlKGFwcHJvdmVkOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLwovLyBBcHByb3ZlIGEgY29udHJvbGxlciBmb3IgYSBzaW5nbGUgTkZUCi8vCi8vIEBwYXJhbSBhcHByb3ZlZCBBcHByb3ZlZCBjb250cm9sbGVyIGFkZHJlc3MKLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKYXJjNzJfYXBwcm92ZToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NjUKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUuY29udHJvbGxlciA9IGFwcHJvdmVkCglmcmFtZV9kaWcgLTIgLy8gdG9rZW5JZDogdWludDI1NgoJaW50IDI4OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gYXBwcm92ZWQ6IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6CgkvLyBhcHByb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFwcHJvdmVkKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIG9wZXJhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKG9wZXJhdG9yKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQKCWNhbGxzdWIgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKG9wZXJhdG9yOiBBZGRyZXNzLCBhcHByb3ZlZDogYm9vbGVhbik6IHZvaWQKLy8KLy8KLy8gQXBwcm92ZSBhbiBvcGVyYXRvciBmb3IgYWxsIE5GVHMgZm9yIGEgdXNlcgovLwovLyBAcGFyYW0gb3BlcmF0b3IgQXBwcm92ZWQgb3BlcmF0b3IgYWRkcmVzcwovLyBAcGFyYW0gYXBwcm92ZWQgdHJ1ZSB0byBnaXZlIGFwcHJvdmFsLCBmYWxzZSB0byByZXZva2UKLy8gQHJldHVybnMKYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NzcKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogb3BlcmF0b3IgfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wZXJhdG9yOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gYXBwcm92ZWQKCWZyYW1lX2RpZyAtMiAvLyBhcHByb3ZlZDogYm9vbGVhbgoJYnogKmlmMV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gdGhpcy5jb250cm9sQm94KGtleSkudmFsdWUgPSAnJwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweCAvLyAiIgoJYm94X3B1dAoJYiAqaWYxX2VuZAoKKmlmMV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6ODAKCS8vIHRoaXMuY29udHJvbEJveChrZXkpLmV4aXN0cwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglib3hfbGVuCglzd2FwCglwb3AKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9lbHNlaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6ODAKCS8vIHRoaXMuY29udHJvbEJveChrZXkpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMCAvLyBrZXk6IENvbnRyb2wKCWJveF9kZWwKCippZjFfZW5kOgoJcmV0c3ViCgovLyBtaW50KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX21pbnQ6CgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0bykgZm9yIG1pbnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWludChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbWludAoJaW50IDEKCXJldHVybgoKLy8gbWludCh0bzogQWRkcmVzcyk6IHZvaWQKbWludDoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjg0CgkvLyBpbmRleCA9IHRoaXMuaW5kZXgudmFsdWUKCWJ5dGUgMHg2OTZlNjQ2NTc4IC8vICJpbmRleCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9idXJ5IDAgLy8gaW5kZXg6IHVpbnQyNTYKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjg2CgkvLyB0b2tlbjogVG9rZW4gPSB7CgkvLyAgICAgICBvd25lcjogdG8sCgkvLyAgICAgICB1cmk6ICdodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL0FSQ3MnIGFzIEJ5dGVzMjU2LAoJLy8gICAgICAgY29udHJvbGxlcjogQWRkcmVzcy56ZXJvQWRkcmVzcywKCS8vICAgICB9CglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJ5dGUgMHg2ODc0NzQ3MDczM2EyZjJmNjc2OTc0Njg3NTYyMmU2MzZmNmQyZjYxNmM2NzZmNzI2MTZlNjQ2NjZmNzU2ZTY0NjE3NDY5NmY2ZTJmNDE1MjQzNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzIgoJY29uY2F0CglnbG9iYWwgWmVyb0FkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHRva2VuOiBUb2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6OTIKCS8vIHRoaXMudG9rZW5Cb3goaW5kZXgpLnZhbHVlID0gdG9rZW4KCWZyYW1lX2RpZyAwIC8vIGluZGV4OiB1aW50MjU2CglmcmFtZV9kaWcgMSAvLyB0b2tlbjogVG9rZW4KCWJveF9wdXQKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjkzCgkvLyB0aGlzLnRyYW5zZmVyVG8odG8sIGluZGV4KQoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMSAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo5NAoJLy8gdGhpcy5pbmRleC52YWx1ZSA9IGluZGV4ICsgMQoJYnl0ZSAweDY5NmU2NDY1NzggLy8gImluZGV4IgoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCgliKwoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gaW5kZXggKyAxIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFyYzcyX3RvdGFsU3VwcGx5KCl1aW50MjU2CiphYmlfcm91dGVfYXJjNzJfdG90YWxTdXBwbHk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYKCWNhbGxzdWIgYXJjNzJfdG90YWxTdXBwbHkKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIGFyYzcyX3RvdGFsU3VwcGx5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYXJjNzJfdG90YWxTdXBwbHkoKTogdWludDI1NgovLwovLyBSZXR1cm5zIHRoZSBudW1iZXIgb2YgTkZUcyBjdXJyZW50bHkgZGVmaW5lZCBieSB0aGlzIGNvbnRyYWN0CmFyYzcyX3RvdGFsU3VwcGx5OgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoxMDIKCS8vIHJldHVybiB0aGlzLmluZGV4LnZhbHVlOwoJYnl0ZSAweDY5NmU2NDY1NzggLy8gImluZGV4IgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2FyYzcyX3Rva2VuQnlJbmRleDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gaW5kZXg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoaW5kZXgpIGZvciBhcmM3Ml90b2tlbkJ5SW5kZXggbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBhcmM3Ml90b2tlbkJ5SW5kZXgKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIGFyYzcyX3Rva2VuQnlJbmRleCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX3Rva2VuQnlJbmRleChpbmRleDogdWludDI1Nik6IHVpbnQyNTYKLy8KLy8gUmV0dXJucyB0aGUgdG9rZW4gSUQgb2YgdGhlIHRva2VuIHdpdGggdGhlIGdpdmVuIGluZGV4IGFtb25nIGFsbCBORlRzIGRlZmluZWQgYnkgdGhlIGNvbnRyYWN0CmFyYzcyX3Rva2VuQnlJbmRleDoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6MTEwCgkvLyByZXR1cm4gaW5kZXg7CglmcmFtZV9kaWcgLTEgLy8gaW5kZXg6IHVpbnQyNTYKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFyYzcyX293bmVyT2YodWludDI1NilhZGRyZXNzIgoJbWV0aG9kICJhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XSIKCW1ldGhvZCAiYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQiCgltZXRob2QgImFyYzcyX2FwcHJvdmUoYWRkcmVzcyx1aW50MjU2KXZvaWQiCgltZXRob2QgImFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkIgoJbWV0aG9kICJtaW50KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYiCgltZXRob2QgImFyYzcyX3Rva2VuQnlJbmRleCh1aW50MjU2KXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FyYzcyX293bmVyT2YgKmFiaV9yb3V0ZV9hcmM3Ml90b2tlblVSSSAqYWJpX3JvdXRlX2FyYzcyX3RyYW5zZmVyRnJvbSAqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmUgKmFiaV9yb3V0ZV9hcmM3Ml9zZXRBcHByb3ZhbEZvckFsbCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9hcmM3Ml90b3RhbFN1cHBseSAqYWJpX3JvdXRlX2FyYzcyX3Rva2VuQnlJbmRleAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcmM3Ml9vd25lck9mKHVpbnQyNTYpYWRkcmVzcwoqYWJpX3JvdXRlX2FyYzcyX293bmVyT2Y6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHRva2VuSWQ6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAodG9rZW5JZCkgZm9yIGFyYzcyX293bmVyT2YgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfb3duZXJPZih1aW50MjU2KWFkZHJlc3MKCWNhbGxzdWIgYXJjNzJfb3duZXJPZgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX293bmVyT2YodG9rZW5JZDogdWludDI1Nik6IEFkZHJlc3MKLy8KLy8KLy8gUmV0dXJucyB0aGUgYWRkcmVzcyBvZiB0aGUgY3VycmVudCBvd25lciBvZiB0aGUgTkZUIHdpdGggdGhlIGdpdmVuIHRva2VuSWQKLy8KLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKLy8gQHJldHVybnMgVGhlIGN1cnJlbnQgb3duZXIgb2YgdGhlIE5GVAphcmM3Ml9vd25lck9mOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoyNQoJLy8gcmV0dXJuIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXI7CglmcmFtZV9kaWcgLTEgLy8gdG9rZW5JZDogdWludDI1NgoJaW50IDAKCWludCAzMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gYXJjNzJfdG9rZW5VUkkodWludDI1NilieXRlWzI1Nl0KKmFiaV9yb3V0ZV9hcmM3Ml90b2tlblVSSToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdG9rZW5VUkkgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdG9rZW5VUkkodWludDI1NilieXRlWzI1Nl0KCWNhbGxzdWIgYXJjNzJfdG9rZW5VUkkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml90b2tlblVSSSh0b2tlbklkOiB1aW50MjU2KTogQnl0ZXMyNTYKLy8KLy8KLy8gUmV0dXJucyBhIFVSSSBwb2ludGluZyB0byB0aGUgTkZUIG1ldGFkYXRhCi8vCi8vIEBwYXJhbSB0b2tlbklkIFRoZSBJRCBvZiB0aGUgTkZUCi8vIEByZXR1cm5zIFVSSSB0byB0b2tlbiBtZXRhZGF0YQphcmM3Ml90b2tlblVSSToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6MzcKCS8vIHJldHVybiB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlLnVyaTsKCWZyYW1lX2RpZyAtMSAvLyB0b2tlbklkOiB1aW50MjU2CglpbnQgMzIgLy8gaGVhZE9mZnNldAoJaW50IDI1NgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gdHJhbnNmZXJUbyh0bzogQWRkcmVzcywgdG9rZW5JZDogdWludDI1Nik6IHZvaWQKdHJhbnNmZXJUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NDEKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXIgPSB0bwoJZnJhbWVfZGlnIC0yIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludCAwCglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3RyYW5zZmVyRnJvbShhZGRyZXNzLGFkZHJlc3MsdWludDI1Nil2b2lkCiphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tOgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdHJhbnNmZXJGcm9tIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh0bykgZm9yIGFyYzcyX3RyYW5zZmVyRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gX2Zyb206IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoX2Zyb20pIGZvciBhcmM3Ml90cmFuc2ZlckZyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQKCWNhbGxzdWIgYXJjNzJfdHJhbnNmZXJGcm9tCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml90cmFuc2ZlckZyb20oX2Zyb206IEFkZHJlc3MsIHRvOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLyBUcmFuc2ZlcnMgb3duZXJzaGlwIG9mIGFuIE5GVAphcmM3Ml90cmFuc2ZlckZyb206Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo0OAoJLy8gdG9rZW4gPSB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlCglmcmFtZV9kaWcgLTMgLy8gdG9rZW5JZDogdWludDI1NgoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly90b2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NTAKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogX2Zyb20gfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIF9mcm9tOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSBfZnJvbSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IHRva2VuLmNvbnRyb2xsZXIgfHwgdGhpcy5jb250cm9sQm94KGtleSkuZXhpc3RzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gX2Zyb206IEFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyB0b2tlbklkOiB1aW50MjU2CglpbnQgMjg4IC8vIGhlYWRPZmZzZXQKCWludCAzMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IwOgoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMSAvLyBrZXk6IENvbnRyb2wKCWJveF9sZW4KCXN3YXAKCXBvcAoJfHwKCipza2lwX29yMToKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MwoJLy8gdGhpcy50cmFuc2ZlclRvKHRvLCB0b2tlbklkKQoJZnJhbWVfZGlnIC0zIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBUcmFuc2ZlciBub3QgYXV0aG9yaXplZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmU6CgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml9hcHByb3ZlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhcHByb3ZlZDogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhcHByb3ZlZCkgZm9yIGFyYzcyX2FwcHJvdmUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBhcmM3Ml9hcHByb3ZlCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml9hcHByb3ZlKGFwcHJvdmVkOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLwovLyBBcHByb3ZlIGEgY29udHJvbGxlciBmb3IgYSBzaW5nbGUgTkZUCi8vCi8vIEBwYXJhbSBhcHByb3ZlZCBBcHByb3ZlZCBjb250cm9sbGVyIGFkZHJlc3MKLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKYXJjNzJfYXBwcm92ZToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NjUKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUuY29udHJvbGxlciA9IGFwcHJvdmVkCglmcmFtZV9kaWcgLTIgLy8gdG9rZW5JZDogdWludDI1NgoJaW50IDI4OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gYXBwcm92ZWQ6IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6CgkvLyBhcHByb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFwcHJvdmVkKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIG9wZXJhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKG9wZXJhdG9yKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQKCWNhbGxzdWIgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKG9wZXJhdG9yOiBBZGRyZXNzLCBhcHByb3ZlZDogYm9vbGVhbik6IHZvaWQKLy8KLy8KLy8gQXBwcm92ZSBhbiBvcGVyYXRvciBmb3IgYWxsIE5GVHMgZm9yIGEgdXNlcgovLwovLyBAcGFyYW0gb3BlcmF0b3IgQXBwcm92ZWQgb3BlcmF0b3IgYWRkcmVzcwovLyBAcGFyYW0gYXBwcm92ZWQgdHJ1ZSB0byBnaXZlIGFwcHJvdmFsLCBmYWxzZSB0byByZXZva2UKLy8gQHJldHVybnMKYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NzcKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogb3BlcmF0b3IgfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wZXJhdG9yOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gYXBwcm92ZWQKCWZyYW1lX2RpZyAtMiAvLyBhcHByb3ZlZDogYm9vbGVhbgoJYnogKmlmMV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gdGhpcy5jb250cm9sQm94KGtleSkudmFsdWUgPSAnJwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweCAvLyAiIgoJYm94X3B1dAoJYiAqaWYxX2VuZAoKKmlmMV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6ODAKCS8vIHRoaXMuY29udHJvbEJveChrZXkpLmV4aXN0cwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglib3hfbGVuCglzd2FwCglwb3AKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9lbHNlaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6ODAKCS8vIHRoaXMuY29udHJvbEJveChrZXkpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMCAvLyBrZXk6IENvbnRyb2wKCWJveF9kZWwKCippZjFfZW5kOgoJcmV0c3ViCgovLyBtaW50KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX21pbnQ6CgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0bykgZm9yIG1pbnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWludChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbWludAoJaW50IDEKCXJldHVybgoKLy8gbWludCh0bzogQWRkcmVzcyk6IHZvaWQKbWludDoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjg0CgkvLyBpbmRleCA9IHRoaXMuaW5kZXgudmFsdWUKCWJ5dGUgMHg2OTZlNjQ2NTc4IC8vICJpbmRleCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9idXJ5IDAgLy8gaW5kZXg6IHVpbnQyNTYKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjg2CgkvLyB0b2tlbjogVG9rZW4gPSB7CgkvLyAgICAgICBvd25lcjogdG8sCgkvLyAgICAgICB1cmk6ICdodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL0FSQ3MnIGFzIEJ5dGVzMjU2LAoJLy8gICAgICAgY29udHJvbGxlcjogQWRkcmVzcy56ZXJvQWRkcmVzcywKCS8vICAgICB9CglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJ5dGUgMHg2ODc0NzQ3MDczM2EyZjJmNjc2OTc0Njg3NTYyMmU2MzZmNmQyZjYxNmM2NzZmNzI2MTZlNjQ2NjZmNzU2ZTY0NjE3NDY5NmY2ZTJmNDE1MjQzNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzIgoJY29uY2F0CglnbG9iYWwgWmVyb0FkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHRva2VuOiBUb2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6OTIKCS8vIHRoaXMudG9rZW5Cb3goaW5kZXgpLnZhbHVlID0gdG9rZW4KCWZyYW1lX2RpZyAwIC8vIGluZGV4OiB1aW50MjU2CglmcmFtZV9kaWcgMSAvLyB0b2tlbjogVG9rZW4KCWJveF9wdXQKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjkzCgkvLyB0aGlzLnRyYW5zZmVyVG8odG8sIGluZGV4KQoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMSAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo5NAoJLy8gdGhpcy5pbmRleC52YWx1ZSA9IGluZGV4ICsgMQoJYnl0ZSAweDY5NmU2NDY1NzggLy8gImluZGV4IgoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCgliKwoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gaW5kZXggKyAxIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFyYzcyX3RvdGFsU3VwcGx5KCl1aW50MjU2CiphYmlfcm91dGVfYXJjNzJfdG90YWxTdXBwbHk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYKCWNhbGxzdWIgYXJjNzJfdG90YWxTdXBwbHkKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIGFyYzcyX3RvdGFsU3VwcGx5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYXJjNzJfdG90YWxTdXBwbHkoKTogdWludDI1NgovLwovLyBSZXR1cm5zIHRoZSBudW1iZXIgb2YgTkZUcyBjdXJyZW50bHkgZGVmaW5lZCBieSB0aGlzIGNvbnRyYWN0CmFyYzcyX3RvdGFsU3VwcGx5OgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoxMDIKCS8vIHJldHVybiB0aGlzLmluZGV4LnZhbHVlOwoJYnl0ZSAweDY5NmU2NDY1NzggLy8gImluZGV4IgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2FyYzcyX3Rva2VuQnlJbmRleDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gaW5kZXg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoaW5kZXgpIGZvciBhcmM3Ml90b2tlbkJ5SW5kZXggbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBhcmM3Ml90b2tlbkJ5SW5kZXgKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIGFyYzcyX3Rva2VuQnlJbmRleCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX3Rva2VuQnlJbmRleChpbmRleDogdWludDI1Nik6IHVpbnQyNTYKLy8KLy8gUmV0dXJucyB0aGUgdG9rZW4gSUQgb2YgdGhlIHRva2VuIHdpdGggdGhlIGdpdmVuIGluZGV4IGFtb25nIGFsbCBORlRzIGRlZmluZWQgYnkgdGhlIGNvbnRyYWN0CmFyYzcyX3Rva2VuQnlJbmRleDoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6MTEwCgkvLyByZXR1cm4gaW5kZXg7CglmcmFtZV9kaWcgLTEgLy8gaW5kZXg6IHVpbnQyNTYKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFyYzcyX293bmVyT2YodWludDI1NilhZGRyZXNzIgoJbWV0aG9kICJhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XSIKCW1ldGhvZCAiYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQiCgltZXRob2QgImFyYzcyX2FwcHJvdmUoYWRkcmVzcyx1aW50MjU2KXZvaWQiCgltZXRob2QgImFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkIgoJbWV0aG9kICJtaW50KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYiCgltZXRob2QgImFyYzcyX3Rva2VuQnlJbmRleCh1aW50MjU2KXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FyYzcyX293bmVyT2YgKmFiaV9yb3V0ZV9hcmM3Ml90b2tlblVSSSAqYWJpX3JvdXRlX2FyYzcyX3RyYW5zZmVyRnJvbSAqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmUgKmFiaV9yb3V0ZV9hcmM3Ml9zZXRBcHByb3ZhbEZvckFsbCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9hcmM3Ml90b3RhbFN1cHBseSAqYWJpX3JvdXRlX2FyYzcyX3Rva2VuQnlJbmRleAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/arc72/artifacts/ARC72.arc56_draft.json b/examples/arc72/artifacts/ARC72.arc56_draft.json
index 8eecdbcaf..d32f6d0bf 100644
--- a/examples/arc72/artifacts/ARC72.arc56_draft.json
+++ b/examples/arc72/artifacts/ARC72.arc56_draft.json
@@ -195,15 +195,30 @@
56
],
"structs": {
- "Token": {
- "owner": "address",
- "uri": "byte[256]",
- "controller": "address"
- },
- "Control": {
- "owner": "address",
- "controller": "address"
- }
+ "Token": [
+ {
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "name": "uri",
+ "type": "byte[256]"
+ },
+ {
+ "name": "controller",
+ "type": "address"
+ }
+ ],
+ "Control": [
+ {
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "name": "controller",
+ "type": "address"
+ }
+ ]
},
"state": {
"schema": {
@@ -246,2578 +261,2581 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 9,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 13,
- "source": 9,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 14,
- "source": 9,
- "pc": [
- 59
- ]
- },
- {
- "teal": 15,
- "source": 9,
- "pc": [
- 60,
- 61
- ]
- },
- {
- "teal": 16,
- "source": 9,
- "pc": [
- 62
- ]
- },
- {
- "teal": 17,
- "source": 9,
- "pc": [
- 63,
- 64
- ]
- },
- {
- "teal": 18,
- "source": 9,
- "pc": [
- 65
- ]
- },
- {
- "teal": 19,
- "source": 9,
- "pc": [
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 23,
- "source": 9,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 92
- ]
- },
- {
- "teal": 28,
- "source": 23,
- "pc": [
- 93
- ]
- },
- {
- "teal": 31,
- "source": 24,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 32,
- "source": 24,
- "pc": [
- 97
- ]
- },
- {
- "teal": 33,
- "source": 24,
- "pc": [
- 98
- ]
- },
- {
- "teal": 34,
- "source": 24,
- "pc": [
- 99
- ]
- },
- {
- "teal": 35,
- "source": 24,
- "pc": [
- 100
- ]
- },
- {
- "teal": 38,
- "source": 24,
- "errorMessage": "argument 0 (tokenId) for arc72_ownerOf must be a uint256",
- "pc": [
- 101
- ]
- },
- {
- "teal": 41,
- "source": 23,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 42,
- "source": 23,
- "pc": [
- 105
- ]
- },
- {
- "teal": 43,
- "source": 23,
- "pc": [
- 106
- ]
- },
- {
- "teal": 44,
- "source": 23,
- "pc": [
- 107
- ]
- },
- {
- "teal": 45,
- "source": 23,
- "pc": [
- 108
- ]
- },
- {
- "teal": 55,
- "source": 23,
- "pc": [
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 59,
- "source": 25,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 60,
- "source": 25,
- "pc": [
- 114
- ]
- },
- {
- "teal": 61,
- "source": 25,
- "pc": [
- 115
- ]
- },
- {
- "teal": 62,
- "source": 25,
- "pc": [
- 116
- ]
- },
- {
- "teal": 63,
- "source": 23,
- "pc": [
- 117
- ]
- },
- {
- "teal": 68,
- "source": 35,
- "pc": [
- 118
- ]
- },
- {
- "teal": 71,
- "source": 36,
- "pc": [
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 72,
- "source": 36,
- "pc": [
- 122
- ]
- },
- {
- "teal": 73,
- "source": 36,
- "pc": [
- 123
- ]
- },
- {
- "teal": 74,
- "source": 36,
- "pc": [
- 124
- ]
- },
- {
- "teal": 75,
- "source": 36,
- "pc": [
- 125
- ]
- },
- {
- "teal": 78,
- "source": 36,
- "errorMessage": "argument 0 (tokenId) for arc72_tokenURI must be a uint256",
- "pc": [
- 126
- ]
- },
- {
- "teal": 81,
- "source": 35,
- "pc": [
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 82,
- "source": 35,
- "pc": [
- 130
- ]
- },
- {
- "teal": 83,
- "source": 35,
- "pc": [
- 131
- ]
- },
- {
- "teal": 84,
- "source": 35,
- "pc": [
- 132
- ]
- },
- {
- "teal": 85,
- "source": 35,
- "pc": [
- 133
- ]
- },
- {
- "teal": 95,
- "source": 35,
- "pc": [
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 99,
- "source": 37,
- "pc": [
- 137,
- 138
- ]
- },
- {
- "teal": 100,
- "source": 37,
- "pc": [
- 139
- ]
- },
- {
- "teal": 101,
- "source": 37,
- "pc": [
- 140
- ]
- },
- {
- "teal": 102,
- "source": 37,
- "pc": [
- 141
- ]
- },
- {
- "teal": 103,
- "source": 35,
- "pc": [
- 142
- ]
- },
- {
- "teal": 107,
- "source": 40,
- "pc": [
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 111,
- "source": 41,
- "pc": [
- 146,
- 147
- ]
- },
- {
- "teal": 112,
- "source": 41,
- "pc": [
- 148
- ]
- },
- {
- "teal": 113,
- "source": 41,
- "pc": [
- 149,
- 150
- ]
- },
- {
- "teal": 114,
- "source": 41,
- "pc": [
- 151
- ]
- },
- {
- "teal": 115,
- "source": 40,
- "pc": [
- 152
- ]
- },
- {
- "teal": 120,
- "source": 47,
- "pc": [
- 153,
- 154,
- 155
- ]
- },
- {
- "teal": 121,
- "source": 47,
- "pc": [
- 156
- ]
- },
- {
- "teal": 122,
- "source": 47,
- "pc": [
- 157
- ]
- },
- {
- "teal": 123,
- "source": 47,
- "pc": [
- 158
- ]
- },
- {
- "teal": 124,
- "source": 47,
- "pc": [
- 159
- ]
- },
- {
- "teal": 127,
- "source": 47,
- "errorMessage": "argument 0 (tokenId) for arc72_transferFrom must be a uint256",
- "pc": [
- 160
- ]
- },
- {
- "teal": 130,
- "source": 47,
- "pc": [
- 161,
- 162,
- 163
- ]
- },
- {
- "teal": 131,
- "source": 47,
- "pc": [
- 164
- ]
- },
- {
- "teal": 132,
- "source": 47,
- "pc": [
- 165
- ]
- },
- {
- "teal": 133,
- "source": 47,
- "pc": [
- 166
- ]
- },
- {
- "teal": 134,
- "source": 47,
- "pc": [
- 167
- ]
- },
- {
- "teal": 137,
- "source": 47,
- "errorMessage": "argument 1 (to) for arc72_transferFrom must be a address",
- "pc": [
- 168
- ]
- },
- {
- "teal": 140,
- "source": 47,
- "pc": [
- 169,
- 170,
- 171
- ]
- },
- {
- "teal": 141,
- "source": 47,
- "pc": [
- 172
- ]
- },
- {
- "teal": 142,
- "source": 47,
- "pc": [
- 173
- ]
- },
- {
- "teal": 143,
- "source": 47,
- "pc": [
- 174
- ]
- },
- {
- "teal": 144,
- "source": 47,
- "pc": [
- 175
- ]
- },
- {
- "teal": 147,
- "source": 47,
- "errorMessage": "argument 2 (_from) for arc72_transferFrom must be a address",
- "pc": [
- 176
- ]
- },
- {
- "teal": 150,
- "source": 47,
- "pc": [
- 177,
- 178,
- 179
- ]
- },
- {
- "teal": 151,
- "source": 47,
- "pc": [
- 180
- ]
- },
- {
- "teal": 152,
- "source": 47,
- "pc": [
- 181
- ]
- },
- {
- "teal": 158,
- "source": 47,
- "pc": [
- 182,
- 183,
- 184
- ]
- },
- {
- "teal": 161,
- "source": 47,
- "pc": [
- 185
- ]
- },
- {
- "teal": 162,
- "source": 47,
- "pc": [
- 186
- ]
- },
- {
- "teal": 166,
- "source": 48,
- "pc": [
- 187,
- 188
- ]
- },
- {
- "teal": 167,
- "source": 48,
- "pc": [
- 189,
- 190
- ]
- },
- {
- "teal": 171,
- "source": 50,
- "pc": [
- 191,
- 192
- ]
- },
- {
- "teal": 172,
- "source": 50,
- "pc": [
- 193,
- 194
- ]
- },
- {
- "teal": 173,
- "source": 50,
- "pc": [
- 195
- ]
- },
- {
- "teal": 174,
- "source": 50,
- "pc": [
- 196,
- 197
- ]
- },
- {
- "teal": 179,
- "source": 52,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 180,
- "source": 52,
- "pc": [
- 200,
- 201
- ]
- },
- {
- "teal": 181,
- "source": 52,
- "pc": [
- 202
- ]
- },
- {
- "teal": 182,
- "source": 52,
- "pc": [
- 203
- ]
- },
- {
- "teal": 183,
- "source": 52,
- "pc": [
- 204,
- 205,
- 206
- ]
- },
- {
- "teal": 184,
- "source": 52,
- "pc": [
- 207,
- 208
- ]
- },
- {
- "teal": 185,
- "source": 48,
- "pc": [
- 209,
- 210
- ]
- },
- {
- "teal": 186,
- "source": 48,
- "pc": [
- 211,
- 212
- ]
- },
- {
- "teal": 187,
- "source": 48,
- "pc": [
- 213
- ]
- },
- {
- "teal": 188,
- "source": 48,
- "pc": [
- 214
- ]
- },
- {
- "teal": 189,
- "source": 52,
- "pc": [
- 215
- ]
- },
- {
- "teal": 190,
- "source": 52,
- "pc": [
- 216
- ]
- },
- {
- "teal": 193,
- "source": 52,
- "pc": [
- 217
- ]
- },
- {
- "teal": 194,
- "source": 52,
- "pc": [
- 218,
- 219,
- 220
- ]
- },
- {
- "teal": 195,
- "source": 52,
- "pc": [
- 221,
- 222
- ]
- },
- {
- "teal": 196,
- "source": 52,
- "pc": [
- 223
- ]
- },
- {
- "teal": 197,
- "source": 52,
- "pc": [
- 224
- ]
- },
- {
- "teal": 198,
- "source": 52,
- "pc": [
- 225
- ]
- },
- {
- "teal": 199,
- "source": 52,
- "pc": [
- 226
- ]
- },
- {
- "teal": 202,
- "source": 52,
- "pc": [
- 227,
- 228,
- 229
- ]
- },
- {
- "teal": 207,
- "source": 53,
- "pc": [
- 230,
- 231
- ]
- },
- {
- "teal": 208,
- "source": 53,
- "pc": [
- 232,
- 233
- ]
- },
- {
- "teal": 209,
- "source": 53,
- "pc": [
- 234,
- 235,
- 236
- ]
- },
- {
- "teal": 210,
- "source": 52,
- "pc": [
- 237,
- 238,
- 239
- ]
- },
- {
- "teal": 214,
- "source": 54,
- "errorMessage": "Transfer not authorized",
- "pc": [
- 240
- ]
- },
- {
- "teal": 217,
- "source": 47,
- "pc": [
- 241
- ]
- },
- {
- "teal": 222,
- "source": 64,
- "pc": [
- 242,
- 243,
- 244
- ]
- },
- {
- "teal": 223,
- "source": 64,
- "pc": [
- 245
- ]
- },
- {
- "teal": 224,
- "source": 64,
- "pc": [
- 246
- ]
- },
- {
- "teal": 225,
- "source": 64,
- "pc": [
- 247
- ]
- },
- {
- "teal": 226,
- "source": 64,
- "pc": [
- 248
- ]
- },
- {
- "teal": 229,
- "source": 64,
- "errorMessage": "argument 0 (tokenId) for arc72_approve must be a uint256",
- "pc": [
- 249
- ]
- },
- {
- "teal": 232,
- "source": 64,
- "pc": [
- 250,
- 251,
- 252
- ]
- },
- {
- "teal": 233,
- "source": 64,
- "pc": [
- 253
- ]
- },
- {
- "teal": 234,
- "source": 64,
- "pc": [
- 254
- ]
- },
- {
- "teal": 235,
- "source": 64,
- "pc": [
- 255
- ]
- },
- {
- "teal": 236,
- "source": 64,
- "pc": [
- 256
- ]
- },
- {
- "teal": 239,
- "source": 64,
- "errorMessage": "argument 1 (approved) for arc72_approve must be a address",
- "pc": [
- 257
- ]
- },
- {
- "teal": 242,
- "source": 64,
- "pc": [
- 258,
- 259,
- 260
- ]
- },
- {
- "teal": 243,
- "source": 64,
- "pc": [
- 261
- ]
- },
- {
- "teal": 244,
- "source": 64,
- "pc": [
- 262
- ]
- },
- {
- "teal": 254,
- "source": 64,
- "pc": [
- 263,
- 264,
- 265
- ]
- },
- {
- "teal": 258,
- "source": 65,
- "pc": [
- 266,
- 267
- ]
- },
- {
- "teal": 259,
- "source": 65,
- "pc": [
- 268,
- 269
- ]
- },
- {
- "teal": 260,
- "source": 65,
- "pc": [
- 270,
- 271
- ]
- },
- {
- "teal": 261,
- "source": 65,
- "pc": [
- 272
- ]
- },
- {
- "teal": 262,
- "source": 64,
- "pc": [
- 273
- ]
- },
- {
- "teal": 267,
- "source": 76,
- "pc": [
- 274,
- 275,
- 276
- ]
- },
- {
- "teal": 268,
- "source": 76,
- "pc": [
- 277
- ]
- },
- {
- "teal": 269,
- "source": 76,
- "pc": [
- 278
- ]
- },
- {
- "teal": 270,
- "source": 76,
- "pc": [
- 279
- ]
- },
- {
- "teal": 271,
- "source": 76,
- "pc": [
- 280
- ]
- },
- {
- "teal": 274,
- "source": 76,
- "errorMessage": "argument 0 (approved) for arc72_setApprovalForAll must be a bool",
- "pc": [
- 281
- ]
- },
- {
- "teal": 275,
- "source": 76,
- "pc": [
- 282
- ]
- },
- {
- "teal": 276,
- "source": 76,
- "pc": [
- 283
- ]
- },
- {
- "teal": 279,
- "source": 76,
- "pc": [
- 284,
- 285,
- 286
- ]
- },
- {
- "teal": 280,
- "source": 76,
- "pc": [
- 287
- ]
- },
- {
- "teal": 281,
- "source": 76,
- "pc": [
- 288
- ]
- },
- {
- "teal": 282,
- "source": 76,
- "pc": [
- 289
- ]
- },
- {
- "teal": 283,
- "source": 76,
- "pc": [
- 290
- ]
- },
- {
- "teal": 286,
- "source": 76,
- "errorMessage": "argument 1 (operator) for arc72_setApprovalForAll must be a address",
- "pc": [
- 291
- ]
- },
- {
- "teal": 289,
- "source": 76,
- "pc": [
- 292,
- 293,
- 294
- ]
- },
- {
- "teal": 290,
- "source": 76,
- "pc": [
- 295
- ]
- },
- {
- "teal": 291,
- "source": 76,
- "pc": [
- 296
- ]
- },
- {
- "teal": 302,
- "source": 76,
- "pc": [
- 297,
- 298,
- 299
- ]
- },
- {
- "teal": 305,
- "source": 76,
- "pc": [
- 300
- ]
- },
- {
- "teal": 309,
- "source": 77,
- "pc": [
- 301,
- 302
- ]
- },
- {
- "teal": 310,
- "source": 77,
- "pc": [
- 303,
- 304
- ]
- },
- {
- "teal": 311,
- "source": 77,
- "pc": [
- 305
- ]
- },
- {
- "teal": 312,
- "source": 77,
- "pc": [
- 306,
- 307
- ]
- },
- {
- "teal": 317,
- "source": 79,
- "pc": [
- 308,
- 309
- ]
- },
- {
- "teal": 318,
- "source": 79,
- "pc": [
- 310,
- 311,
- 312
- ]
- },
- {
- "teal": 323,
- "source": 79,
- "pc": [
- 313,
- 314
- ]
- },
- {
- "teal": 324,
- "source": 79,
- "pc": [
- 315
- ]
- },
- {
- "teal": 325,
- "source": 79,
- "pc": [
- 316
- ]
- },
- {
- "teal": 326,
- "source": 79,
- "pc": [
- 317
- ]
- },
- {
- "teal": 327,
- "source": 79,
- "pc": [
- 318
- ]
- },
- {
- "teal": 328,
- "source": 79,
- "pc": [
- 319
- ]
- },
- {
- "teal": 329,
- "source": 79,
- "pc": [
- 320,
- 321,
- 322
- ]
- },
- {
- "teal": 334,
- "source": 80,
- "pc": [
- 323,
- 324
- ]
- },
- {
- "teal": 335,
- "source": 80,
- "pc": [
- 325
- ]
- },
- {
- "teal": 336,
- "source": 80,
- "pc": [
- 326
- ]
- },
- {
- "teal": 337,
- "source": 80,
- "pc": [
- 327
- ]
- },
- {
- "teal": 338,
- "source": 80,
- "pc": [
- 328,
- 329,
- 330
- ]
- },
- {
- "teal": 343,
- "source": 80,
- "pc": [
- 331,
- 332
- ]
- },
- {
- "teal": 344,
- "source": 80,
- "pc": [
- 333
- ]
- },
- {
- "teal": 347,
- "source": 76,
- "pc": [
- 334
- ]
- },
- {
- "teal": 352,
- "source": 83,
- "pc": [
- 335,
- 336,
- 337
- ]
- },
- {
- "teal": 353,
- "source": 83,
- "pc": [
- 338
- ]
- },
- {
- "teal": 354,
- "source": 83,
- "pc": [
- 339
- ]
- },
- {
- "teal": 355,
- "source": 83,
- "pc": [
- 340
- ]
- },
- {
- "teal": 356,
- "source": 83,
- "pc": [
- 341
- ]
- },
- {
- "teal": 359,
- "source": 83,
- "errorMessage": "argument 0 (to) for mint must be a address",
- "pc": [
- 342
- ]
- },
- {
- "teal": 362,
- "source": 83,
- "pc": [
- 343,
- 344,
- 345
- ]
- },
- {
- "teal": 363,
- "source": 83,
- "pc": [
- 346
- ]
- },
- {
- "teal": 364,
- "source": 83,
- "pc": [
- 347
- ]
- },
- {
- "teal": 368,
- "source": 83,
- "pc": [
- 348,
- 349,
- 350
- ]
- },
- {
- "teal": 371,
- "source": 83,
- "pc": [
- 351
- ]
- },
- {
- "teal": 372,
- "source": 83,
- "pc": [
- 352
- ]
- },
- {
- "teal": 376,
- "source": 84,
- "pc": [
- 353
- ]
- },
- {
- "teal": 377,
- "source": 84,
- "pc": [
- 354
- ]
- },
- {
- "teal": 378,
- "source": 84,
- "pc": [
- 355,
- 356
- ]
- },
- {
- "teal": 386,
- "source": 87,
- "pc": [
- 357,
- 358
- ]
- },
- {
- "teal": 387,
- "source": 88,
- "pc": [
- 359,
- 360,
- 361,
- 362,
- 363,
- 364,
- 365,
- 366,
- 367,
- 368,
- 369,
- 370,
- 371,
- 372,
- 373,
- 374,
- 375,
- 376,
- 377,
- 378,
- 379,
- 380,
- 381,
- 382,
- 383,
- 384,
- 385,
- 386,
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 412,
- 413,
- 414,
- 415,
- 416,
- 417,
- 418,
- 419,
- 420,
- 421,
- 422,
- 423,
- 424,
- 425,
- 426,
- 427,
- 428,
- 429,
- 430,
- 431,
- 432,
- 433,
- 434,
- 435,
- 436,
- 437,
- 438,
- 439,
- 440,
- 441,
- 442,
- 443,
- 444,
- 445,
- 446,
- 447,
- 448,
- 449,
- 450,
- 451,
- 452,
- 453,
- 454,
- 455,
- 456,
- 457,
- 458,
- 459,
- 460,
- 461,
- 462,
- 463,
- 464,
- 465,
- 466,
- 467,
- 468,
- 469,
- 470,
- 471,
- 472,
- 473,
- 474,
- 475,
- 476,
- 477,
- 478,
- 479,
- 480,
- 481,
- 482,
- 483,
- 484,
- 485,
- 486,
- 487,
- 488,
- 489,
- 490,
- 491,
- 492,
- 493,
- 494,
- 495,
- 496,
- 497,
- 498,
- 499,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505,
- 506,
- 507,
- 508,
- 509,
- 510,
- 511,
- 512,
- 513,
- 514,
- 515,
- 516,
- 517,
- 518,
- 519,
- 520,
- 521,
- 522,
- 523,
- 524,
- 525,
- 526,
- 527,
- 528,
- 529,
- 530,
- 531,
- 532,
- 533,
- 534,
- 535,
- 536,
- 537,
- 538,
- 539,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548,
- 549,
- 550,
- 551,
- 552,
- 553,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 560,
- 561,
- 562,
- 563,
- 564,
- 565,
- 566,
- 567,
- 568,
- 569,
- 570,
- 571,
- 572,
- 573,
- 574,
- 575,
- 576,
- 577,
- 578,
- 579,
- 580,
- 581,
- 582,
- 583,
- 584,
- 585,
- 586,
- 587,
- 588,
- 589,
- 590,
- 591,
- 592,
- 593,
- 594,
- 595,
- 596,
- 597,
- 598,
- 599,
- 600,
- 601,
- 602,
- 603,
- 604,
- 605,
- 606,
- 607,
- 608,
- 609,
- 610,
- 611,
- 612,
- 613,
- 614,
- 615,
- 616,
- 617
- ]
- },
- {
- "teal": 388,
- "source": 88,
- "pc": [
- 618
- ]
- },
- {
- "teal": 389,
- "source": 89,
- "pc": [
- 619,
- 620
- ]
- },
- {
- "teal": 390,
- "source": 89,
- "pc": [
- 621
- ]
- },
- {
- "teal": 391,
- "source": 86,
- "pc": [
- 622,
- 623
- ]
- },
- {
- "teal": 395,
- "source": 92,
- "pc": [
- 624,
- 625
- ]
- },
- {
- "teal": 396,
- "source": 92,
- "pc": [
- 626,
- 627
- ]
- },
- {
- "teal": 397,
- "source": 92,
- "pc": [
- 628
- ]
- },
- {
- "teal": 401,
- "source": 93,
- "pc": [
- 629,
- 630
- ]
- },
- {
- "teal": 402,
- "source": 93,
- "pc": [
- 631,
- 632
- ]
- },
- {
- "teal": 403,
- "source": 93,
- "pc": [
- 633,
- 634,
- 635
- ]
- },
- {
- "teal": 407,
- "source": 94,
- "pc": [
- 636
- ]
- },
- {
- "teal": 408,
- "source": 94,
- "pc": [
- 637,
- 638
- ]
- },
- {
- "teal": 409,
- "source": 94,
- "pc": [
- 639,
- 640,
- 641,
- 642,
- 643,
- 644,
- 645,
- 646,
- 647,
- 648,
- 649,
- 650,
- 651,
- 652,
- 653,
- 654,
- 655,
- 656,
- 657,
- 658,
- 659,
- 660,
- 661,
- 662,
- 663,
- 664,
- 665,
- 666,
- 667,
- 668,
- 669,
- 670,
- 671,
- 672
- ]
- },
- {
- "teal": 410,
- "source": 94,
- "pc": [
- 673
- ]
- },
- {
- "teal": 411,
- "source": 94,
- "pc": [
- 674
- ]
- },
- {
- "teal": 412,
- "source": 94,
- "pc": [
- 675
- ]
- },
- {
- "teal": 413,
- "source": 94,
- "pc": [
- 676
- ]
- },
- {
- "teal": 414,
- "source": 94,
- "pc": [
- 677
- ]
- },
- {
- "teal": 417,
- "source": 94,
- "errorMessage": "index + 1 overflowed 256 bits",
- "pc": [
- 678
- ]
- },
- {
- "teal": 418,
- "source": 94,
- "pc": [
- 679
- ]
- },
- {
- "teal": 419,
- "source": 94,
- "pc": [
- 680
- ]
- },
- {
- "teal": 420,
- "source": 94,
- "pc": [
- 681
- ]
- },
- {
- "teal": 421,
- "source": 94,
- "pc": [
- 682
- ]
- },
- {
- "teal": 422,
- "source": 94,
- "pc": [
- 683
- ]
- },
- {
- "teal": 423,
- "source": 94,
- "pc": [
- 684
- ]
- },
- {
- "teal": 424,
- "source": 94,
- "pc": [
- 685
- ]
- },
- {
- "teal": 425,
- "source": 94,
- "pc": [
- 686
- ]
- },
- {
- "teal": 426,
- "source": 94,
- "pc": [
- 687
- ]
- },
- {
- "teal": 427,
- "source": 94,
- "pc": [
- 688
- ]
- },
- {
- "teal": 428,
- "source": 83,
- "pc": [
- 689
- ]
- },
- {
- "teal": 433,
- "source": 100,
- "pc": [
- 690
- ]
- },
- {
- "teal": 436,
- "source": 100,
- "pc": [
- 691,
- 692,
- 693
- ]
- },
- {
- "teal": 437,
- "source": 100,
- "pc": [
- 694
- ]
- },
- {
- "teal": 438,
- "source": 100,
- "pc": [
- 695
- ]
- },
- {
- "teal": 439,
- "source": 100,
- "pc": [
- 696
- ]
- },
- {
- "teal": 440,
- "source": 100,
- "pc": [
- 697
- ]
- },
- {
- "teal": 443,
- "source": 100,
- "errorMessage": "arc72_totalSupply return value overflowed 256 bits",
- "pc": [
- 698
- ]
- },
- {
- "teal": 444,
- "source": 100,
- "pc": [
- 699
- ]
- },
- {
- "teal": 445,
- "source": 100,
- "pc": [
- 700
- ]
- },
- {
- "teal": 446,
- "source": 100,
- "pc": [
- 701
- ]
- },
- {
- "teal": 447,
- "source": 100,
- "pc": [
- 702
- ]
- },
- {
- "teal": 448,
- "source": 100,
- "pc": [
- 703
- ]
- },
- {
- "teal": 449,
- "source": 100,
- "pc": [
- 704
- ]
- },
- {
- "teal": 450,
- "source": 100,
- "pc": [
- 705
- ]
- },
- {
- "teal": 451,
- "source": 100,
- "pc": [
- 706
- ]
- },
- {
- "teal": 452,
- "source": 100,
- "pc": [
- 707
- ]
- },
- {
- "teal": 453,
- "source": 100,
- "pc": [
- 708
- ]
- },
- {
- "teal": 454,
- "source": 100,
- "pc": [
- 709
- ]
- },
- {
- "teal": 455,
- "source": 100,
- "pc": [
- 710
- ]
- },
- {
- "teal": 456,
- "source": 100,
- "pc": [
- 711
- ]
- },
- {
- "teal": 462,
- "source": 100,
- "pc": [
- 712,
- 713,
- 714
- ]
- },
- {
- "teal": 466,
- "source": 102,
- "pc": [
- 715
- ]
- },
- {
- "teal": 467,
- "source": 102,
- "pc": [
- 716
- ]
- },
- {
- "teal": 468,
- "source": 100,
- "pc": [
- 717
- ]
- },
- {
- "teal": 473,
- "source": 108,
- "pc": [
- 718
- ]
- },
- {
- "teal": 476,
- "source": 109,
- "pc": [
- 719,
- 720,
- 721
- ]
- },
- {
- "teal": 477,
- "source": 109,
- "pc": [
- 722
- ]
- },
- {
- "teal": 478,
- "source": 109,
- "pc": [
- 723
- ]
- },
- {
- "teal": 479,
- "source": 109,
- "pc": [
- 724
- ]
- },
- {
- "teal": 480,
- "source": 109,
- "pc": [
- 725
- ]
- },
- {
- "teal": 483,
- "source": 109,
- "errorMessage": "argument 0 (index) for arc72_tokenByIndex must be a uint256",
- "pc": [
- 726
- ]
- },
- {
- "teal": 486,
- "source": 108,
- "pc": [
- 727,
- 728,
- 729
- ]
- },
- {
- "teal": 487,
- "source": 108,
- "pc": [
- 730
- ]
- },
- {
- "teal": 488,
- "source": 108,
- "pc": [
- 731
- ]
- },
- {
- "teal": 489,
- "source": 108,
- "pc": [
- 732
- ]
- },
- {
- "teal": 490,
- "source": 108,
- "pc": [
- 733
- ]
- },
- {
- "teal": 493,
- "source": 108,
- "errorMessage": "arc72_tokenByIndex return value overflowed 256 bits",
- "pc": [
- 734
- ]
- },
- {
- "teal": 494,
- "source": 108,
- "pc": [
- 735
- ]
- },
- {
- "teal": 495,
- "source": 108,
- "pc": [
- 736
- ]
- },
- {
- "teal": 496,
- "source": 108,
- "pc": [
- 737
- ]
- },
- {
- "teal": 497,
- "source": 108,
- "pc": [
- 738
- ]
- },
- {
- "teal": 498,
- "source": 108,
- "pc": [
- 739
- ]
- },
- {
- "teal": 499,
- "source": 108,
- "pc": [
- 740
- ]
- },
- {
- "teal": 500,
- "source": 108,
- "pc": [
- 741
- ]
- },
- {
- "teal": 501,
- "source": 108,
- "pc": [
- 742
- ]
- },
- {
- "teal": 502,
- "source": 108,
- "pc": [
- 743
- ]
- },
- {
- "teal": 503,
- "source": 108,
- "pc": [
- 744
- ]
- },
- {
- "teal": 504,
- "source": 108,
- "pc": [
- 745
- ]
- },
- {
- "teal": 505,
- "source": 108,
- "pc": [
- 746
- ]
- },
- {
- "teal": 506,
- "source": 108,
- "pc": [
- 747
- ]
- },
- {
- "teal": 512,
- "source": 108,
- "pc": [
- 748,
- 749,
- 750
- ]
- },
- {
- "teal": 516,
- "source": 110,
- "pc": [
- 751,
- 752
- ]
- },
- {
- "teal": 517,
- "source": 108,
- "pc": [
- 753
- ]
- },
- {
- "teal": 520,
- "source": 9,
- "pc": [
- 754
- ]
- },
- {
- "teal": 521,
- "source": 9,
- "pc": [
- 755
- ]
- },
- {
- "teal": 524,
- "source": 9,
- "pc": [
- 756,
- 757,
- 758,
- 759,
- 760,
- 761
- ]
- },
- {
- "teal": 525,
- "source": 9,
- "pc": [
- 762,
- 763,
- 764
- ]
- },
- {
- "teal": 526,
- "source": 9,
- "pc": [
- 765,
- 766,
- 767,
- 768
- ]
- },
- {
- "teal": 529,
- "source": 9,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 769
- ]
- },
- {
- "teal": 532,
- "source": 9,
- "pc": [
- 770,
- 771,
- 772,
- 773,
- 774,
- 775
- ]
- },
- {
- "teal": 533,
- "source": 9,
- "pc": [
- 776,
- 777,
- 778,
- 779,
- 780,
- 781
- ]
- },
- {
- "teal": 534,
- "source": 9,
- "pc": [
- 782,
- 783,
- 784,
- 785,
- 786,
- 787
- ]
- },
- {
- "teal": 535,
- "source": 9,
- "pc": [
- 788,
- 789,
- 790,
- 791,
- 792,
- 793
- ]
- },
- {
- "teal": 536,
- "source": 9,
- "pc": [
- 794,
- 795,
- 796,
- 797,
- 798,
- 799
- ]
- },
- {
- "teal": 537,
- "source": 9,
- "pc": [
- 800,
- 801,
- 802,
- 803,
- 804,
- 805
- ]
- },
- {
- "teal": 538,
- "source": 9,
- "pc": [
- 806,
- 807,
- 808,
- 809,
- 810,
- 811
- ]
- },
- {
- "teal": 539,
- "source": 9,
- "pc": [
- 812,
- 813,
- 814,
- 815,
- 816,
- 817
- ]
- },
- {
- "teal": 540,
- "source": 9,
- "pc": [
- 818,
- 819,
- 820
- ]
- },
- {
- "teal": 541,
- "source": 9,
- "pc": [
- 821,
- 822,
- 823,
- 824,
- 825,
- 826,
- 827,
- 828,
- 829,
- 830,
- 831,
- 832,
- 833,
- 834,
- 835,
- 836,
- 837,
- 838
- ]
- },
- {
- "teal": 544,
- "source": 9,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 839
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 9,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 9,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 9,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 9,
+ "pc": [
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 9,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 9,
+ "pc": [
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 9,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 9,
+ "pc": [
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 9,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 23,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 24,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 24,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 24,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 24,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 24,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 24,
+ "errorMessage": "argument 0 (tokenId) for arc72_ownerOf must be a uint256",
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 23,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 23,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 23,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 23,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 23,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 23,
+ "pc": [
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 25,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 25,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 25,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 25,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 23,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 35,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 36,
+ "pc": [
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 36,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 36,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 36,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 36,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 36,
+ "errorMessage": "argument 0 (tokenId) for arc72_tokenURI must be a uint256",
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 35,
+ "pc": [
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 35,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 35,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 35,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 35,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 35,
+ "pc": [
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 37,
+ "pc": [
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 37,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 37,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 37,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 35,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 40,
+ "pc": [
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 41,
+ "pc": [
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 41,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 41,
+ "pc": [
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 41,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 40,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 47,
+ "pc": [
+ 153,
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 47,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 47,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 47,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 47,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 47,
+ "errorMessage": "argument 0 (tokenId) for arc72_transferFrom must be a uint256",
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 47,
+ "pc": [
+ 161,
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 47,
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 47,
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 47,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 47,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 47,
+ "errorMessage": "argument 1 (to) for arc72_transferFrom must be a address",
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 47,
+ "pc": [
+ 169,
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 47,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 47,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 47,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 47,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 47,
+ "errorMessage": "argument 2 (_from) for arc72_transferFrom must be a address",
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 47,
+ "pc": [
+ 177,
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 47,
+ "pc": [
+ 180
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 47,
+ "pc": [
+ 181
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 47,
+ "pc": [
+ 182,
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 47,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 47,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 48,
+ "pc": [
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 48,
+ "pc": [
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 50,
+ "pc": [
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 50,
+ "pc": [
+ 193,
+ 194
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 50,
+ "pc": [
+ 195
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 50,
+ "pc": [
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 52,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 52,
+ "pc": [
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 52,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 52,
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 52,
+ "pc": [
+ 204,
+ 205,
+ 206
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 52,
+ "pc": [
+ 207,
+ 208
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 48,
+ "pc": [
+ 209,
+ 210
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 48,
+ "pc": [
+ 211,
+ 212
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 48,
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 48,
+ "pc": [
+ 214
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 52,
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 52,
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 52,
+ "pc": [
+ 217
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 52,
+ "pc": [
+ 218,
+ 219,
+ 220
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 52,
+ "pc": [
+ 221,
+ 222
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 52,
+ "pc": [
+ 223
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 52,
+ "pc": [
+ 224
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 52,
+ "pc": [
+ 225
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 52,
+ "pc": [
+ 226
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 52,
+ "pc": [
+ 227,
+ 228,
+ 229
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 53,
+ "pc": [
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 53,
+ "pc": [
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 53,
+ "pc": [
+ 234,
+ 235,
+ 236
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 52,
+ "pc": [
+ 237,
+ 238,
+ 239
+ ]
+ },
+ {
+ "teal": 214,
+ "source": 54,
+ "errorMessage": "Transfer not authorized",
+ "pc": [
+ 240
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 47,
+ "pc": [
+ 241
+ ]
+ },
+ {
+ "teal": 222,
+ "source": 64,
+ "pc": [
+ 242,
+ 243,
+ 244
+ ]
+ },
+ {
+ "teal": 223,
+ "source": 64,
+ "pc": [
+ 245
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 64,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 64,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 64,
+ "pc": [
+ 248
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 64,
+ "errorMessage": "argument 0 (tokenId) for arc72_approve must be a uint256",
+ "pc": [
+ 249
+ ]
+ },
+ {
+ "teal": 232,
+ "source": 64,
+ "pc": [
+ 250,
+ 251,
+ 252
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 64,
+ "pc": [
+ 253
+ ]
+ },
+ {
+ "teal": 234,
+ "source": 64,
+ "pc": [
+ 254
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 64,
+ "pc": [
+ 255
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 64,
+ "pc": [
+ 256
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 64,
+ "errorMessage": "argument 1 (approved) for arc72_approve must be a address",
+ "pc": [
+ 257
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 64,
+ "pc": [
+ 258,
+ 259,
+ 260
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 64,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 64,
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 64,
+ "pc": [
+ 263,
+ 264,
+ 265
+ ]
+ },
+ {
+ "teal": 258,
+ "source": 65,
+ "pc": [
+ 266,
+ 267
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 65,
+ "pc": [
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 65,
+ "pc": [
+ 270,
+ 271
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 65,
+ "pc": [
+ 272
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 64,
+ "pc": [
+ 273
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 76,
+ "pc": [
+ 274,
+ 275,
+ 276
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 76,
+ "pc": [
+ 277
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 76,
+ "pc": [
+ 278
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 76,
+ "pc": [
+ 279
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 76,
+ "pc": [
+ 280
+ ]
+ },
+ {
+ "teal": 274,
+ "source": 76,
+ "errorMessage": "argument 0 (approved) for arc72_setApprovalForAll must be a bool",
+ "pc": [
+ 281
+ ]
+ },
+ {
+ "teal": 275,
+ "source": 76,
+ "pc": [
+ 282
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 76,
+ "pc": [
+ 283
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 76,
+ "pc": [
+ 284,
+ 285,
+ 286
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 76,
+ "pc": [
+ 287
+ ]
+ },
+ {
+ "teal": 281,
+ "source": 76,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 282,
+ "source": 76,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 76,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 76,
+ "errorMessage": "argument 1 (operator) for arc72_setApprovalForAll must be a address",
+ "pc": [
+ 291
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 76,
+ "pc": [
+ 292,
+ 293,
+ 294
+ ]
+ },
+ {
+ "teal": 290,
+ "source": 76,
+ "pc": [
+ 295
+ ]
+ },
+ {
+ "teal": 291,
+ "source": 76,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 302,
+ "source": 76,
+ "pc": [
+ 297,
+ 298,
+ 299
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 76,
+ "pc": [
+ 300
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 77,
+ "pc": [
+ 301,
+ 302
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 77,
+ "pc": [
+ 303,
+ 304
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 77,
+ "pc": [
+ 305
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 77,
+ "pc": [
+ 306,
+ 307
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 79,
+ "pc": [
+ 308,
+ 309
+ ]
+ },
+ {
+ "teal": 318,
+ "source": 79,
+ "pc": [
+ 310,
+ 311,
+ 312
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 79,
+ "pc": [
+ 313,
+ 314
+ ]
+ },
+ {
+ "teal": 324,
+ "source": 79,
+ "pc": [
+ 315
+ ]
+ },
+ {
+ "teal": 325,
+ "source": 79,
+ "pc": [
+ 316
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 79,
+ "pc": [
+ 317
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 79,
+ "pc": [
+ 318
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 79,
+ "pc": [
+ 319
+ ]
+ },
+ {
+ "teal": 329,
+ "source": 79,
+ "pc": [
+ 320,
+ 321,
+ 322
+ ]
+ },
+ {
+ "teal": 334,
+ "source": 80,
+ "pc": [
+ 323,
+ 324
+ ]
+ },
+ {
+ "teal": 335,
+ "source": 80,
+ "pc": [
+ 325
+ ]
+ },
+ {
+ "teal": 336,
+ "source": 80,
+ "pc": [
+ 326
+ ]
+ },
+ {
+ "teal": 337,
+ "source": 80,
+ "pc": [
+ 327
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 80,
+ "pc": [
+ 328,
+ 329,
+ 330
+ ]
+ },
+ {
+ "teal": 343,
+ "source": 80,
+ "pc": [
+ 331,
+ 332
+ ]
+ },
+ {
+ "teal": 344,
+ "source": 80,
+ "pc": [
+ 333
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 76,
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 352,
+ "source": 83,
+ "pc": [
+ 335,
+ 336,
+ 337
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 83,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 354,
+ "source": 83,
+ "pc": [
+ 339
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 83,
+ "pc": [
+ 340
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 83,
+ "pc": [
+ 341
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 83,
+ "errorMessage": "argument 0 (to) for mint must be a address",
+ "pc": [
+ 342
+ ]
+ },
+ {
+ "teal": 362,
+ "source": 83,
+ "pc": [
+ 343,
+ 344,
+ 345
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 83,
+ "pc": [
+ 346
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 83,
+ "pc": [
+ 347
+ ]
+ },
+ {
+ "teal": 368,
+ "source": 83,
+ "pc": [
+ 348,
+ 349,
+ 350
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 83,
+ "pc": [
+ 351
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 83,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 84,
+ "pc": [
+ 353
+ ]
+ },
+ {
+ "teal": 377,
+ "source": 84,
+ "pc": [
+ 354
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 84,
+ "pc": [
+ 355,
+ 356
+ ]
+ },
+ {
+ "teal": 386,
+ "source": 87,
+ "pc": [
+ 357,
+ 358
+ ]
+ },
+ {
+ "teal": 387,
+ "source": 88,
+ "pc": [
+ 359,
+ 360,
+ 361,
+ 362,
+ 363,
+ 364,
+ 365,
+ 366,
+ 367,
+ 368,
+ 369,
+ 370,
+ 371,
+ 372,
+ 373,
+ 374,
+ 375,
+ 376,
+ 377,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382,
+ 383,
+ 384,
+ 385,
+ 386,
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 412,
+ 413,
+ 414,
+ 415,
+ 416,
+ 417,
+ 418,
+ 419,
+ 420,
+ 421,
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427,
+ 428,
+ 429,
+ 430,
+ 431,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436,
+ 437,
+ 438,
+ 439,
+ 440,
+ 441,
+ 442,
+ 443,
+ 444,
+ 445,
+ 446,
+ 447,
+ 448,
+ 449,
+ 450,
+ 451,
+ 452,
+ 453,
+ 454,
+ 455,
+ 456,
+ 457,
+ 458,
+ 459,
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ 564,
+ 565,
+ 566,
+ 567,
+ 568,
+ 569,
+ 570,
+ 571,
+ 572,
+ 573,
+ 574,
+ 575,
+ 576,
+ 577,
+ 578,
+ 579,
+ 580,
+ 581,
+ 582,
+ 583,
+ 584,
+ 585,
+ 586,
+ 587,
+ 588,
+ 589,
+ 590,
+ 591,
+ 592,
+ 593,
+ 594,
+ 595,
+ 596,
+ 597,
+ 598,
+ 599,
+ 600,
+ 601,
+ 602,
+ 603,
+ 604,
+ 605,
+ 606,
+ 607,
+ 608,
+ 609,
+ 610,
+ 611,
+ 612,
+ 613,
+ 614,
+ 615,
+ 616,
+ 617
+ ]
+ },
+ {
+ "teal": 388,
+ "source": 88,
+ "pc": [
+ 618
+ ]
+ },
+ {
+ "teal": 389,
+ "source": 89,
+ "pc": [
+ 619,
+ 620
+ ]
+ },
+ {
+ "teal": 390,
+ "source": 89,
+ "pc": [
+ 621
+ ]
+ },
+ {
+ "teal": 391,
+ "source": 86,
+ "pc": [
+ 622,
+ 623
+ ]
+ },
+ {
+ "teal": 395,
+ "source": 92,
+ "pc": [
+ 624,
+ 625
+ ]
+ },
+ {
+ "teal": 396,
+ "source": 92,
+ "pc": [
+ 626,
+ 627
+ ]
+ },
+ {
+ "teal": 397,
+ "source": 92,
+ "pc": [
+ 628
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 93,
+ "pc": [
+ 629,
+ 630
+ ]
+ },
+ {
+ "teal": 402,
+ "source": 93,
+ "pc": [
+ 631,
+ 632
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 93,
+ "pc": [
+ 633,
+ 634,
+ 635
+ ]
+ },
+ {
+ "teal": 407,
+ "source": 94,
+ "pc": [
+ 636
+ ]
+ },
+ {
+ "teal": 408,
+ "source": 94,
+ "pc": [
+ 637,
+ 638
+ ]
+ },
+ {
+ "teal": 409,
+ "source": 94,
+ "pc": [
+ 639,
+ 640,
+ 641,
+ 642,
+ 643,
+ 644,
+ 645,
+ 646,
+ 647,
+ 648,
+ 649,
+ 650,
+ 651,
+ 652,
+ 653,
+ 654,
+ 655,
+ 656,
+ 657,
+ 658,
+ 659,
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672
+ ]
+ },
+ {
+ "teal": 410,
+ "source": 94,
+ "pc": [
+ 673
+ ]
+ },
+ {
+ "teal": 411,
+ "source": 94,
+ "pc": [
+ 674
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 94,
+ "pc": [
+ 675
+ ]
+ },
+ {
+ "teal": 413,
+ "source": 94,
+ "pc": [
+ 676
+ ]
+ },
+ {
+ "teal": 414,
+ "source": 94,
+ "pc": [
+ 677
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 94,
+ "errorMessage": "index + 1 overflowed 256 bits",
+ "pc": [
+ 678
+ ]
+ },
+ {
+ "teal": 418,
+ "source": 94,
+ "pc": [
+ 679
+ ]
+ },
+ {
+ "teal": 419,
+ "source": 94,
+ "pc": [
+ 680
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 94,
+ "pc": [
+ 681
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 94,
+ "pc": [
+ 682
+ ]
+ },
+ {
+ "teal": 422,
+ "source": 94,
+ "pc": [
+ 683
+ ]
+ },
+ {
+ "teal": 423,
+ "source": 94,
+ "pc": [
+ 684
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 94,
+ "pc": [
+ 685
+ ]
+ },
+ {
+ "teal": 425,
+ "source": 94,
+ "pc": [
+ 686
+ ]
+ },
+ {
+ "teal": 426,
+ "source": 94,
+ "pc": [
+ 687
+ ]
+ },
+ {
+ "teal": 427,
+ "source": 94,
+ "pc": [
+ 688
+ ]
+ },
+ {
+ "teal": 428,
+ "source": 83,
+ "pc": [
+ 689
+ ]
+ },
+ {
+ "teal": 433,
+ "source": 100,
+ "pc": [
+ 690
+ ]
+ },
+ {
+ "teal": 436,
+ "source": 100,
+ "pc": [
+ 691,
+ 692,
+ 693
+ ]
+ },
+ {
+ "teal": 437,
+ "source": 100,
+ "pc": [
+ 694
+ ]
+ },
+ {
+ "teal": 438,
+ "source": 100,
+ "pc": [
+ 695
+ ]
+ },
+ {
+ "teal": 439,
+ "source": 100,
+ "pc": [
+ 696
+ ]
+ },
+ {
+ "teal": 440,
+ "source": 100,
+ "pc": [
+ 697
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 100,
+ "errorMessage": "arc72_totalSupply return value overflowed 256 bits",
+ "pc": [
+ 698
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 100,
+ "pc": [
+ 699
+ ]
+ },
+ {
+ "teal": 445,
+ "source": 100,
+ "pc": [
+ 700
+ ]
+ },
+ {
+ "teal": 446,
+ "source": 100,
+ "pc": [
+ 701
+ ]
+ },
+ {
+ "teal": 447,
+ "source": 100,
+ "pc": [
+ 702
+ ]
+ },
+ {
+ "teal": 448,
+ "source": 100,
+ "pc": [
+ 703
+ ]
+ },
+ {
+ "teal": 449,
+ "source": 100,
+ "pc": [
+ 704
+ ]
+ },
+ {
+ "teal": 450,
+ "source": 100,
+ "pc": [
+ 705
+ ]
+ },
+ {
+ "teal": 451,
+ "source": 100,
+ "pc": [
+ 706
+ ]
+ },
+ {
+ "teal": 452,
+ "source": 100,
+ "pc": [
+ 707
+ ]
+ },
+ {
+ "teal": 453,
+ "source": 100,
+ "pc": [
+ 708
+ ]
+ },
+ {
+ "teal": 454,
+ "source": 100,
+ "pc": [
+ 709
+ ]
+ },
+ {
+ "teal": 455,
+ "source": 100,
+ "pc": [
+ 710
+ ]
+ },
+ {
+ "teal": 456,
+ "source": 100,
+ "pc": [
+ 711
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 100,
+ "pc": [
+ 712,
+ 713,
+ 714
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 102,
+ "pc": [
+ 715
+ ]
+ },
+ {
+ "teal": 467,
+ "source": 102,
+ "pc": [
+ 716
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 100,
+ "pc": [
+ 717
+ ]
+ },
+ {
+ "teal": 473,
+ "source": 108,
+ "pc": [
+ 718
+ ]
+ },
+ {
+ "teal": 476,
+ "source": 109,
+ "pc": [
+ 719,
+ 720,
+ 721
+ ]
+ },
+ {
+ "teal": 477,
+ "source": 109,
+ "pc": [
+ 722
+ ]
+ },
+ {
+ "teal": 478,
+ "source": 109,
+ "pc": [
+ 723
+ ]
+ },
+ {
+ "teal": 479,
+ "source": 109,
+ "pc": [
+ 724
+ ]
+ },
+ {
+ "teal": 480,
+ "source": 109,
+ "pc": [
+ 725
+ ]
+ },
+ {
+ "teal": 483,
+ "source": 109,
+ "errorMessage": "argument 0 (index) for arc72_tokenByIndex must be a uint256",
+ "pc": [
+ 726
+ ]
+ },
+ {
+ "teal": 486,
+ "source": 108,
+ "pc": [
+ 727,
+ 728,
+ 729
+ ]
+ },
+ {
+ "teal": 487,
+ "source": 108,
+ "pc": [
+ 730
+ ]
+ },
+ {
+ "teal": 488,
+ "source": 108,
+ "pc": [
+ 731
+ ]
+ },
+ {
+ "teal": 489,
+ "source": 108,
+ "pc": [
+ 732
+ ]
+ },
+ {
+ "teal": 490,
+ "source": 108,
+ "pc": [
+ 733
+ ]
+ },
+ {
+ "teal": 493,
+ "source": 108,
+ "errorMessage": "arc72_tokenByIndex return value overflowed 256 bits",
+ "pc": [
+ 734
+ ]
+ },
+ {
+ "teal": 494,
+ "source": 108,
+ "pc": [
+ 735
+ ]
+ },
+ {
+ "teal": 495,
+ "source": 108,
+ "pc": [
+ 736
+ ]
+ },
+ {
+ "teal": 496,
+ "source": 108,
+ "pc": [
+ 737
+ ]
+ },
+ {
+ "teal": 497,
+ "source": 108,
+ "pc": [
+ 738
+ ]
+ },
+ {
+ "teal": 498,
+ "source": 108,
+ "pc": [
+ 739
+ ]
+ },
+ {
+ "teal": 499,
+ "source": 108,
+ "pc": [
+ 740
+ ]
+ },
+ {
+ "teal": 500,
+ "source": 108,
+ "pc": [
+ 741
+ ]
+ },
+ {
+ "teal": 501,
+ "source": 108,
+ "pc": [
+ 742
+ ]
+ },
+ {
+ "teal": 502,
+ "source": 108,
+ "pc": [
+ 743
+ ]
+ },
+ {
+ "teal": 503,
+ "source": 108,
+ "pc": [
+ 744
+ ]
+ },
+ {
+ "teal": 504,
+ "source": 108,
+ "pc": [
+ 745
+ ]
+ },
+ {
+ "teal": 505,
+ "source": 108,
+ "pc": [
+ 746
+ ]
+ },
+ {
+ "teal": 506,
+ "source": 108,
+ "pc": [
+ 747
+ ]
+ },
+ {
+ "teal": 512,
+ "source": 108,
+ "pc": [
+ 748,
+ 749,
+ 750
+ ]
+ },
+ {
+ "teal": 516,
+ "source": 110,
+ "pc": [
+ 751,
+ 752
+ ]
+ },
+ {
+ "teal": 517,
+ "source": 108,
+ "pc": [
+ 753
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 9,
+ "pc": [
+ 754
+ ]
+ },
+ {
+ "teal": 521,
+ "source": 9,
+ "pc": [
+ 755
+ ]
+ },
+ {
+ "teal": 524,
+ "source": 9,
+ "pc": [
+ 756,
+ 757,
+ 758,
+ 759,
+ 760,
+ 761
+ ]
+ },
+ {
+ "teal": 525,
+ "source": 9,
+ "pc": [
+ 762,
+ 763,
+ 764
+ ]
+ },
+ {
+ "teal": 526,
+ "source": 9,
+ "pc": [
+ 765,
+ 766,
+ 767,
+ 768
+ ]
+ },
+ {
+ "teal": 529,
+ "source": 9,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 769
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 9,
+ "pc": [
+ 770,
+ 771,
+ 772,
+ 773,
+ 774,
+ 775
+ ]
+ },
+ {
+ "teal": 533,
+ "source": 9,
+ "pc": [
+ 776,
+ 777,
+ 778,
+ 779,
+ 780,
+ 781
+ ]
+ },
+ {
+ "teal": 534,
+ "source": 9,
+ "pc": [
+ 782,
+ 783,
+ 784,
+ 785,
+ 786,
+ 787
+ ]
+ },
+ {
+ "teal": 535,
+ "source": 9,
+ "pc": [
+ 788,
+ 789,
+ 790,
+ 791,
+ 792,
+ 793
+ ]
+ },
+ {
+ "teal": 536,
+ "source": 9,
+ "pc": [
+ 794,
+ 795,
+ 796,
+ 797,
+ 798,
+ 799
+ ]
+ },
+ {
+ "teal": 537,
+ "source": 9,
+ "pc": [
+ 800,
+ 801,
+ 802,
+ 803,
+ 804,
+ 805
+ ]
+ },
+ {
+ "teal": 538,
+ "source": 9,
+ "pc": [
+ 806,
+ 807,
+ 808,
+ 809,
+ 810,
+ 811
+ ]
+ },
+ {
+ "teal": 539,
+ "source": 9,
+ "pc": [
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817
+ ]
+ },
+ {
+ "teal": 540,
+ "source": 9,
+ "pc": [
+ 818,
+ 819,
+ 820
+ ]
+ },
+ {
+ "teal": 541,
+ "source": 9,
+ "pc": [
+ 821,
+ 822,
+ 823,
+ 824,
+ 825,
+ 826,
+ 827,
+ 828,
+ 829,
+ 830,
+ 831,
+ 832,
+ 833,
+ 834,
+ 835,
+ 836,
+ 837,
+ 838
+ ]
+ },
+ {
+ "teal": 544,
+ "source": 9,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 839
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcmM3Ml9vd25lck9mKHVpbnQyNTYpYWRkcmVzcwoqYWJpX3JvdXRlX2FyYzcyX293bmVyT2Y6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHRva2VuSWQ6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAodG9rZW5JZCkgZm9yIGFyYzcyX293bmVyT2YgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfb3duZXJPZih1aW50MjU2KWFkZHJlc3MKCWNhbGxzdWIgYXJjNzJfb3duZXJPZgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX293bmVyT2YodG9rZW5JZDogdWludDI1Nik6IEFkZHJlc3MKLy8KLy8KLy8gUmV0dXJucyB0aGUgYWRkcmVzcyBvZiB0aGUgY3VycmVudCBvd25lciBvZiB0aGUgTkZUIHdpdGggdGhlIGdpdmVuIHRva2VuSWQKLy8KLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKLy8gQHJldHVybnMgVGhlIGN1cnJlbnQgb3duZXIgb2YgdGhlIE5GVAphcmM3Ml9vd25lck9mOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoyNQoJLy8gcmV0dXJuIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXI7CglmcmFtZV9kaWcgLTEgLy8gdG9rZW5JZDogdWludDI1NgoJaW50IDAKCWludCAzMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gYXJjNzJfdG9rZW5VUkkodWludDI1NilieXRlWzI1Nl0KKmFiaV9yb3V0ZV9hcmM3Ml90b2tlblVSSToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdG9rZW5VUkkgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdG9rZW5VUkkodWludDI1NilieXRlWzI1Nl0KCWNhbGxzdWIgYXJjNzJfdG9rZW5VUkkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml90b2tlblVSSSh0b2tlbklkOiB1aW50MjU2KTogQnl0ZXMyNTYKLy8KLy8KLy8gUmV0dXJucyBhIFVSSSBwb2ludGluZyB0byB0aGUgTkZUIG1ldGFkYXRhCi8vCi8vIEBwYXJhbSB0b2tlbklkIFRoZSBJRCBvZiB0aGUgTkZUCi8vIEByZXR1cm5zIFVSSSB0byB0b2tlbiBtZXRhZGF0YQphcmM3Ml90b2tlblVSSToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6MzcKCS8vIHJldHVybiB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlLnVyaTsKCWZyYW1lX2RpZyAtMSAvLyB0b2tlbklkOiB1aW50MjU2CglpbnQgMzIgLy8gaGVhZE9mZnNldAoJaW50IDI1NgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gdHJhbnNmZXJUbyh0bzogQWRkcmVzcywgdG9rZW5JZDogdWludDI1Nik6IHZvaWQKdHJhbnNmZXJUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NDEKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXIgPSB0bwoJZnJhbWVfZGlnIC0yIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludCAwCglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3RyYW5zZmVyRnJvbShhZGRyZXNzLGFkZHJlc3MsdWludDI1Nil2b2lkCiphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tOgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdHJhbnNmZXJGcm9tIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh0bykgZm9yIGFyYzcyX3RyYW5zZmVyRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gX2Zyb206IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoX2Zyb20pIGZvciBhcmM3Ml90cmFuc2ZlckZyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQKCWNhbGxzdWIgYXJjNzJfdHJhbnNmZXJGcm9tCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml90cmFuc2ZlckZyb20oX2Zyb206IEFkZHJlc3MsIHRvOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLyBUcmFuc2ZlcnMgb3duZXJzaGlwIG9mIGFuIE5GVAphcmM3Ml90cmFuc2ZlckZyb206Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo0OAoJLy8gdG9rZW4gPSB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlCglmcmFtZV9kaWcgLTMgLy8gdG9rZW5JZDogdWludDI1NgoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly90b2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NTAKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogX2Zyb20gfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIF9mcm9tOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSBfZnJvbSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IHRva2VuLmNvbnRyb2xsZXIgfHwgdGhpcy5jb250cm9sQm94KGtleSkuZXhpc3RzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gX2Zyb206IEFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyB0b2tlbklkOiB1aW50MjU2CglpbnQgMjg4IC8vIGhlYWRPZmZzZXQKCWludCAzMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IwOgoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMSAvLyBrZXk6IENvbnRyb2wKCWJveF9sZW4KCXN3YXAKCXBvcAoJfHwKCipza2lwX29yMToKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MwoJLy8gdGhpcy50cmFuc2ZlclRvKHRvLCB0b2tlbklkKQoJZnJhbWVfZGlnIC0zIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBUcmFuc2ZlciBub3QgYXV0aG9yaXplZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmU6CgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml9hcHByb3ZlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhcHByb3ZlZDogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhcHByb3ZlZCkgZm9yIGFyYzcyX2FwcHJvdmUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBhcmM3Ml9hcHByb3ZlCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml9hcHByb3ZlKGFwcHJvdmVkOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLwovLyBBcHByb3ZlIGEgY29udHJvbGxlciBmb3IgYSBzaW5nbGUgTkZUCi8vCi8vIEBwYXJhbSBhcHByb3ZlZCBBcHByb3ZlZCBjb250cm9sbGVyIGFkZHJlc3MKLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKYXJjNzJfYXBwcm92ZToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NjUKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUuY29udHJvbGxlciA9IGFwcHJvdmVkCglmcmFtZV9kaWcgLTIgLy8gdG9rZW5JZDogdWludDI1NgoJaW50IDI4OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gYXBwcm92ZWQ6IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6CgkvLyBhcHByb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFwcHJvdmVkKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIG9wZXJhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKG9wZXJhdG9yKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQKCWNhbGxzdWIgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKG9wZXJhdG9yOiBBZGRyZXNzLCBhcHByb3ZlZDogYm9vbGVhbik6IHZvaWQKLy8KLy8KLy8gQXBwcm92ZSBhbiBvcGVyYXRvciBmb3IgYWxsIE5GVHMgZm9yIGEgdXNlcgovLwovLyBAcGFyYW0gb3BlcmF0b3IgQXBwcm92ZWQgb3BlcmF0b3IgYWRkcmVzcwovLyBAcGFyYW0gYXBwcm92ZWQgdHJ1ZSB0byBnaXZlIGFwcHJvdmFsLCBmYWxzZSB0byByZXZva2UKLy8gQHJldHVybnMKYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NzcKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogb3BlcmF0b3IgfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wZXJhdG9yOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gYXBwcm92ZWQKCWZyYW1lX2RpZyAtMiAvLyBhcHByb3ZlZDogYm9vbGVhbgoJYnogKmlmMV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gdGhpcy5jb250cm9sQm94KGtleSkudmFsdWUgPSAnJwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweCAvLyAiIgoJYm94X3B1dAoJYiAqaWYxX2VuZAoKKmlmMV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6ODAKCS8vIHRoaXMuY29udHJvbEJveChrZXkpLmV4aXN0cwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglib3hfbGVuCglzd2FwCglwb3AKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9lbHNlaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6ODAKCS8vIHRoaXMuY29udHJvbEJveChrZXkpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMCAvLyBrZXk6IENvbnRyb2wKCWJveF9kZWwKCippZjFfZW5kOgoJcmV0c3ViCgovLyBtaW50KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX21pbnQ6CgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0bykgZm9yIG1pbnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWludChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbWludAoJaW50IDEKCXJldHVybgoKLy8gbWludCh0bzogQWRkcmVzcyk6IHZvaWQKbWludDoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjg0CgkvLyBpbmRleCA9IHRoaXMuaW5kZXgudmFsdWUKCWJ5dGUgMHg2OTZlNjQ2NTc4IC8vICJpbmRleCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9idXJ5IDAgLy8gaW5kZXg6IHVpbnQyNTYKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjg2CgkvLyB0b2tlbjogVG9rZW4gPSB7CgkvLyAgICAgICBvd25lcjogdG8sCgkvLyAgICAgICB1cmk6ICdodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL0FSQ3MnIGFzIEJ5dGVzMjU2LAoJLy8gICAgICAgY29udHJvbGxlcjogQWRkcmVzcy56ZXJvQWRkcmVzcywKCS8vICAgICB9CglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJ5dGUgMHg2ODc0NzQ3MDczM2EyZjJmNjc2OTc0Njg3NTYyMmU2MzZmNmQyZjYxNmM2NzZmNzI2MTZlNjQ2NjZmNzU2ZTY0NjE3NDY5NmY2ZTJmNDE1MjQzNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzIgoJY29uY2F0CglnbG9iYWwgWmVyb0FkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHRva2VuOiBUb2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6OTIKCS8vIHRoaXMudG9rZW5Cb3goaW5kZXgpLnZhbHVlID0gdG9rZW4KCWZyYW1lX2RpZyAwIC8vIGluZGV4OiB1aW50MjU2CglmcmFtZV9kaWcgMSAvLyB0b2tlbjogVG9rZW4KCWJveF9wdXQKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjkzCgkvLyB0aGlzLnRyYW5zZmVyVG8odG8sIGluZGV4KQoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMSAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo5NAoJLy8gdGhpcy5pbmRleC52YWx1ZSA9IGluZGV4ICsgMQoJYnl0ZSAweDY5NmU2NDY1NzggLy8gImluZGV4IgoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCgliKwoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gaW5kZXggKyAxIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFyYzcyX3RvdGFsU3VwcGx5KCl1aW50MjU2CiphYmlfcm91dGVfYXJjNzJfdG90YWxTdXBwbHk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYKCWNhbGxzdWIgYXJjNzJfdG90YWxTdXBwbHkKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIGFyYzcyX3RvdGFsU3VwcGx5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYXJjNzJfdG90YWxTdXBwbHkoKTogdWludDI1NgovLwovLyBSZXR1cm5zIHRoZSBudW1iZXIgb2YgTkZUcyBjdXJyZW50bHkgZGVmaW5lZCBieSB0aGlzIGNvbnRyYWN0CmFyYzcyX3RvdGFsU3VwcGx5OgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoxMDIKCS8vIHJldHVybiB0aGlzLmluZGV4LnZhbHVlOwoJYnl0ZSAweDY5NmU2NDY1NzggLy8gImluZGV4IgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2FyYzcyX3Rva2VuQnlJbmRleDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gaW5kZXg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoaW5kZXgpIGZvciBhcmM3Ml90b2tlbkJ5SW5kZXggbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBhcmM3Ml90b2tlbkJ5SW5kZXgKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIGFyYzcyX3Rva2VuQnlJbmRleCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX3Rva2VuQnlJbmRleChpbmRleDogdWludDI1Nik6IHVpbnQyNTYKLy8KLy8gUmV0dXJucyB0aGUgdG9rZW4gSUQgb2YgdGhlIHRva2VuIHdpdGggdGhlIGdpdmVuIGluZGV4IGFtb25nIGFsbCBORlRzIGRlZmluZWQgYnkgdGhlIGNvbnRyYWN0CmFyYzcyX3Rva2VuQnlJbmRleDoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6MTEwCgkvLyByZXR1cm4gaW5kZXg7CglmcmFtZV9kaWcgLTEgLy8gaW5kZXg6IHVpbnQyNTYKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFyYzcyX293bmVyT2YodWludDI1NilhZGRyZXNzIgoJbWV0aG9kICJhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XSIKCW1ldGhvZCAiYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQiCgltZXRob2QgImFyYzcyX2FwcHJvdmUoYWRkcmVzcyx1aW50MjU2KXZvaWQiCgltZXRob2QgImFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkIgoJbWV0aG9kICJtaW50KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYiCgltZXRob2QgImFyYzcyX3Rva2VuQnlJbmRleCh1aW50MjU2KXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FyYzcyX293bmVyT2YgKmFiaV9yb3V0ZV9hcmM3Ml90b2tlblVSSSAqYWJpX3JvdXRlX2FyYzcyX3RyYW5zZmVyRnJvbSAqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmUgKmFiaV9yb3V0ZV9hcmM3Ml9zZXRBcHByb3ZhbEZvckFsbCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9hcmM3Ml90b3RhbFN1cHBseSAqYWJpX3JvdXRlX2FyYzcyX3Rva2VuQnlJbmRleAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcmM3Ml9vd25lck9mKHVpbnQyNTYpYWRkcmVzcwoqYWJpX3JvdXRlX2FyYzcyX293bmVyT2Y6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHRva2VuSWQ6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAodG9rZW5JZCkgZm9yIGFyYzcyX293bmVyT2YgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfb3duZXJPZih1aW50MjU2KWFkZHJlc3MKCWNhbGxzdWIgYXJjNzJfb3duZXJPZgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX293bmVyT2YodG9rZW5JZDogdWludDI1Nik6IEFkZHJlc3MKLy8KLy8KLy8gUmV0dXJucyB0aGUgYWRkcmVzcyBvZiB0aGUgY3VycmVudCBvd25lciBvZiB0aGUgTkZUIHdpdGggdGhlIGdpdmVuIHRva2VuSWQKLy8KLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKLy8gQHJldHVybnMgVGhlIGN1cnJlbnQgb3duZXIgb2YgdGhlIE5GVAphcmM3Ml9vd25lck9mOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoyNQoJLy8gcmV0dXJuIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXI7CglmcmFtZV9kaWcgLTEgLy8gdG9rZW5JZDogdWludDI1NgoJaW50IDAKCWludCAzMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gYXJjNzJfdG9rZW5VUkkodWludDI1NilieXRlWzI1Nl0KKmFiaV9yb3V0ZV9hcmM3Ml90b2tlblVSSToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdG9rZW5VUkkgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdG9rZW5VUkkodWludDI1NilieXRlWzI1Nl0KCWNhbGxzdWIgYXJjNzJfdG9rZW5VUkkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml90b2tlblVSSSh0b2tlbklkOiB1aW50MjU2KTogQnl0ZXMyNTYKLy8KLy8KLy8gUmV0dXJucyBhIFVSSSBwb2ludGluZyB0byB0aGUgTkZUIG1ldGFkYXRhCi8vCi8vIEBwYXJhbSB0b2tlbklkIFRoZSBJRCBvZiB0aGUgTkZUCi8vIEByZXR1cm5zIFVSSSB0byB0b2tlbiBtZXRhZGF0YQphcmM3Ml90b2tlblVSSToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6MzcKCS8vIHJldHVybiB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlLnVyaTsKCWZyYW1lX2RpZyAtMSAvLyB0b2tlbklkOiB1aW50MjU2CglpbnQgMzIgLy8gaGVhZE9mZnNldAoJaW50IDI1NgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gdHJhbnNmZXJUbyh0bzogQWRkcmVzcywgdG9rZW5JZDogdWludDI1Nik6IHZvaWQKdHJhbnNmZXJUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NDEKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXIgPSB0bwoJZnJhbWVfZGlnIC0yIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludCAwCglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3RyYW5zZmVyRnJvbShhZGRyZXNzLGFkZHJlc3MsdWludDI1Nil2b2lkCiphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tOgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdHJhbnNmZXJGcm9tIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh0bykgZm9yIGFyYzcyX3RyYW5zZmVyRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gX2Zyb206IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoX2Zyb20pIGZvciBhcmM3Ml90cmFuc2ZlckZyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQKCWNhbGxzdWIgYXJjNzJfdHJhbnNmZXJGcm9tCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml90cmFuc2ZlckZyb20oX2Zyb206IEFkZHJlc3MsIHRvOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLyBUcmFuc2ZlcnMgb3duZXJzaGlwIG9mIGFuIE5GVAphcmM3Ml90cmFuc2ZlckZyb206Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo0OAoJLy8gdG9rZW4gPSB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlCglmcmFtZV9kaWcgLTMgLy8gdG9rZW5JZDogdWludDI1NgoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly90b2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NTAKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogX2Zyb20gfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIF9mcm9tOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSBfZnJvbSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IHRva2VuLmNvbnRyb2xsZXIgfHwgdGhpcy5jb250cm9sQm94KGtleSkuZXhpc3RzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gX2Zyb206IEFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyB0b2tlbklkOiB1aW50MjU2CglpbnQgMjg4IC8vIGhlYWRPZmZzZXQKCWludCAzMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IwOgoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMSAvLyBrZXk6IENvbnRyb2wKCWJveF9sZW4KCXN3YXAKCXBvcAoJfHwKCipza2lwX29yMToKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MwoJLy8gdGhpcy50cmFuc2ZlclRvKHRvLCB0b2tlbklkKQoJZnJhbWVfZGlnIC0zIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBUcmFuc2ZlciBub3QgYXV0aG9yaXplZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmU6CgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml9hcHByb3ZlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhcHByb3ZlZDogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhcHByb3ZlZCkgZm9yIGFyYzcyX2FwcHJvdmUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBhcmM3Ml9hcHByb3ZlCglpbnQgMQoJcmV0dXJuCgovLyBhcmM3Ml9hcHByb3ZlKGFwcHJvdmVkOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLwovLyBBcHByb3ZlIGEgY29udHJvbGxlciBmb3IgYSBzaW5nbGUgTkZUCi8vCi8vIEBwYXJhbSBhcHByb3ZlZCBBcHByb3ZlZCBjb250cm9sbGVyIGFkZHJlc3MKLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKYXJjNzJfYXBwcm92ZToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NjUKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUuY29udHJvbGxlciA9IGFwcHJvdmVkCglmcmFtZV9kaWcgLTIgLy8gdG9rZW5JZDogdWludDI1NgoJaW50IDI4OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gYXBwcm92ZWQ6IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6CgkvLyBhcHByb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFwcHJvdmVkKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIG9wZXJhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKG9wZXJhdG9yKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQKCWNhbGxzdWIgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKG9wZXJhdG9yOiBBZGRyZXNzLCBhcHByb3ZlZDogYm9vbGVhbik6IHZvaWQKLy8KLy8KLy8gQXBwcm92ZSBhbiBvcGVyYXRvciBmb3IgYWxsIE5GVHMgZm9yIGEgdXNlcgovLwovLyBAcGFyYW0gb3BlcmF0b3IgQXBwcm92ZWQgb3BlcmF0b3IgYWRkcmVzcwovLyBAcGFyYW0gYXBwcm92ZWQgdHJ1ZSB0byBnaXZlIGFwcHJvdmFsLCBmYWxzZSB0byByZXZva2UKLy8gQHJldHVybnMKYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NzcKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogb3BlcmF0b3IgfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wZXJhdG9yOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gYXBwcm92ZWQKCWZyYW1lX2RpZyAtMiAvLyBhcHByb3ZlZDogYm9vbGVhbgoJYnogKmlmMV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gdGhpcy5jb250cm9sQm94KGtleSkudmFsdWUgPSAnJwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweCAvLyAiIgoJYm94X3B1dAoJYiAqaWYxX2VuZAoKKmlmMV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6ODAKCS8vIHRoaXMuY29udHJvbEJveChrZXkpLmV4aXN0cwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglib3hfbGVuCglzd2FwCglwb3AKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9lbHNlaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6ODAKCS8vIHRoaXMuY29udHJvbEJveChrZXkpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMCAvLyBrZXk6IENvbnRyb2wKCWJveF9kZWwKCippZjFfZW5kOgoJcmV0c3ViCgovLyBtaW50KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX21pbnQ6CgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0bykgZm9yIG1pbnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWludChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbWludAoJaW50IDEKCXJldHVybgoKLy8gbWludCh0bzogQWRkcmVzcyk6IHZvaWQKbWludDoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjg0CgkvLyBpbmRleCA9IHRoaXMuaW5kZXgudmFsdWUKCWJ5dGUgMHg2OTZlNjQ2NTc4IC8vICJpbmRleCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9idXJ5IDAgLy8gaW5kZXg6IHVpbnQyNTYKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjg2CgkvLyB0b2tlbjogVG9rZW4gPSB7CgkvLyAgICAgICBvd25lcjogdG8sCgkvLyAgICAgICB1cmk6ICdodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL0FSQ3MnIGFzIEJ5dGVzMjU2LAoJLy8gICAgICAgY29udHJvbGxlcjogQWRkcmVzcy56ZXJvQWRkcmVzcywKCS8vICAgICB9CglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJ5dGUgMHg2ODc0NzQ3MDczM2EyZjJmNjc2OTc0Njg3NTYyMmU2MzZmNmQyZjYxNmM2NzZmNzI2MTZlNjQ2NjZmNzU2ZTY0NjE3NDY5NmY2ZTJmNDE1MjQzNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzIgoJY29uY2F0CglnbG9iYWwgWmVyb0FkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHRva2VuOiBUb2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6OTIKCS8vIHRoaXMudG9rZW5Cb3goaW5kZXgpLnZhbHVlID0gdG9rZW4KCWZyYW1lX2RpZyAwIC8vIGluZGV4OiB1aW50MjU2CglmcmFtZV9kaWcgMSAvLyB0b2tlbjogVG9rZW4KCWJveF9wdXQKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjkzCgkvLyB0aGlzLnRyYW5zZmVyVG8odG8sIGluZGV4KQoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMSAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo5NAoJLy8gdGhpcy5pbmRleC52YWx1ZSA9IGluZGV4ICsgMQoJYnl0ZSAweDY5NmU2NDY1NzggLy8gImluZGV4IgoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCgliKwoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gaW5kZXggKyAxIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFyYzcyX3RvdGFsU3VwcGx5KCl1aW50MjU2CiphYmlfcm91dGVfYXJjNzJfdG90YWxTdXBwbHk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYKCWNhbGxzdWIgYXJjNzJfdG90YWxTdXBwbHkKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIGFyYzcyX3RvdGFsU3VwcGx5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYXJjNzJfdG90YWxTdXBwbHkoKTogdWludDI1NgovLwovLyBSZXR1cm5zIHRoZSBudW1iZXIgb2YgTkZUcyBjdXJyZW50bHkgZGVmaW5lZCBieSB0aGlzIGNvbnRyYWN0CmFyYzcyX3RvdGFsU3VwcGx5OgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoxMDIKCS8vIHJldHVybiB0aGlzLmluZGV4LnZhbHVlOwoJYnl0ZSAweDY5NmU2NDY1NzggLy8gImluZGV4IgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2FyYzcyX3Rva2VuQnlJbmRleDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gaW5kZXg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoaW5kZXgpIGZvciBhcmM3Ml90b2tlbkJ5SW5kZXggbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBhcmM3Ml90b2tlbkJ5SW5kZXgKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIGFyYzcyX3Rva2VuQnlJbmRleCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFyYzcyX3Rva2VuQnlJbmRleChpbmRleDogdWludDI1Nik6IHVpbnQyNTYKLy8KLy8gUmV0dXJucyB0aGUgdG9rZW4gSUQgb2YgdGhlIHRva2VuIHdpdGggdGhlIGdpdmVuIGluZGV4IGFtb25nIGFsbCBORlRzIGRlZmluZWQgYnkgdGhlIGNvbnRyYWN0CmFyYzcyX3Rva2VuQnlJbmRleDoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6MTEwCgkvLyByZXR1cm4gaW5kZXg7CglmcmFtZV9kaWcgLTEgLy8gaW5kZXg6IHVpbnQyNTYKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFyYzcyX293bmVyT2YodWludDI1NilhZGRyZXNzIgoJbWV0aG9kICJhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XSIKCW1ldGhvZCAiYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQiCgltZXRob2QgImFyYzcyX2FwcHJvdmUoYWRkcmVzcyx1aW50MjU2KXZvaWQiCgltZXRob2QgImFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkIgoJbWV0aG9kICJtaW50KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYiCgltZXRob2QgImFyYzcyX3Rva2VuQnlJbmRleCh1aW50MjU2KXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FyYzcyX293bmVyT2YgKmFiaV9yb3V0ZV9hcmM3Ml90b2tlblVSSSAqYWJpX3JvdXRlX2FyYzcyX3RyYW5zZmVyRnJvbSAqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmUgKmFiaV9yb3V0ZV9hcmM3Ml9zZXRBcHByb3ZhbEZvckFsbCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9hcmM3Ml90b3RhbFN1cHBseSAqYWJpX3JvdXRlX2FyYzcyX3Rva2VuQnlJbmRleAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/examples/arc75/artifacts/ARC75.approval.teal b/examples/arc75/artifacts/ARC75.approval.teal
index 39334cf4f..76e3c040c 100644
--- a/examples/arc75/artifacts/ARC75.approval.teal
+++ b/examples/arc75/artifacts/ARC75.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/arc75/artifacts/ARC75.arc32.json b/examples/arc75/artifacts/ARC75.arc32.json
index 66f8490b4..12084bd97 100644
--- a/examples/arc75/artifacts/ARC75.arc32.json
+++ b/examples/arc75/artifacts/ARC75.arc32.json
@@ -54,7 +54,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB2ZXJpZnlNQlJQYXltZW50KHBheW1lbnQ6IFBheVR4biwgcHJlTUJSOiB1aW50NjQpOiB2b2lkCnZlcmlmeU1CUlBheW1lbnQ6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjEwCgkvLyB2ZXJpZnlQYXlUeG4ocGF5bWVudCwgewoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhbW91bnQ6IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZSAtIHByZU1CUiwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0yIC8vIHByZU1CUjogdWludDY0CgktCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UgLSBwcmVNQlIifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHNlbmRNQlJQYXltZW50KHByZU1CUjogdWludDY0KTogdm9pZApzZW5kTUJSUGF5bWVudDoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTcKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhbW91bnQ6IHByZU1CUiAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTgKCS8vIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjE5CgkvLyBhbW91bnQ6IHByZU1CUiAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZnJhbWVfZGlnIC0xIC8vIHByZU1CUjogdWludDY0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhZGRBcHBUb1doaXRlTGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCxwYXkpdm9pZAoqYWJpX3JvdXRlX2FkZEFwcFRvV2hpdGVMaXN0OgoJLy8gcGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGFkZEFwcFRvV2hpdGVMaXN0IG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFwcElEOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDIKCT09CgoJLy8gYXJndW1lbnQgMiAoYm94SW5kZXgpIGZvciBhZGRBcHBUb1doaXRlTGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCgljYWxsc3ViIGFkZEFwcFRvV2hpdGVMaXN0CglpbnQgMQoJcmV0dXJuCgovLyBhZGRBcHBUb1doaXRlTGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgcGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBBZGQgYXBwIHRvIHdoaXRlbGlzdCBib3gKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gYWRkIHRoZSBhcHAgdG8KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBhZGQgdG8gdGhlIHdoaXRlbGlzdAovLyBAcGFyYW0gcGF5bWVudCAtIFRoZSBwYXltZW50IHRyYW5zYWN0aW9uIHRvIGNvdmVyIHRoZSBNQlIgY2hhbmdlCmFkZEFwcFRvV2hpdGVMaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzMKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM0CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czozNgoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS5leGlzdHMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfbGVuCglzd2FwCglwb3AKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czozNwoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5wdXNoKGFwcElEKQoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWZyYW1lX2RpZyAtMyAvLyBhcHBJRDogdWludDY0CglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM5CgkvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdID0gW2FwcElEXQoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMiAvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo0MAoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZSA9IG5ld1doaXRlbGlzdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMiAvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdCglkdXAKCWxlbgoJaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo0MwoJLy8gdGhpcy52ZXJpZnlNQlJQYXltZW50KHBheW1lbnQsIHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gcGF5bWVudDogUGF5VHhuCgljYWxsc3ViIHZlcmlmeU1CUlBheW1lbnQKCXJldHN1YgoKLy8gc2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZAoqYWJpX3JvdXRlX3NldEFwcFdoaXRlbGlzdDoKCS8vIGFwcElEczogdWludDY0W10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWV4dHJhY3QgMiAwCgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGJveEluZGV4KSBmb3Igc2V0QXBwV2hpdGVsaXN0IG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGFyYzogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZAoJY2FsbHN1YiBzZXRBcHBXaGl0ZWxpc3QKCWludCAxCglyZXR1cm4KCi8vIHNldEFwcFdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSURzOiB1aW50NjRbXSk6IHZvaWQKLy8KLy8gU2V0cyBhIGFwcCB3aGl0ZWxpc3QgZm9yIHRoZSBzZW5kZXIuIFNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBhZGRpbmcvcmVtb3ZpbmcKLy8gbW9yZSB0aGFuIG9uZSBhcHAKLy8KLy8gQHBhcmFtIGJveEluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSB3aGl0ZWxpc3QgYm94IHRvIHB1dCB0aGUgYXBwIElEcyBpbgovLyBAcGFyYW0gYXBwSURzIC0gQXJyYXkgb2YgYXBwIElEcyB0aGF0IHNpZ25pZnkgdGhlIHdoaXRlbGlzdGVkIGFwcHMKc2V0QXBwV2hpdGVsaXN0OgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NTUKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjU2CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjU4CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2RlbAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjAKCS8vIHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUgPSBhcHBJRHMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJZnJhbWVfZGlnIC0zIC8vIGFwcElEczogdWludDY0W10KCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjYyCgkvLyBwcmVNQlIgPiB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCT4KCWJ6ICppZjFfZWxzZQoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2MwoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJYiAqaWYxX2VuZAoKKmlmMV9lbHNlOgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2NQoJLy8gdGhpcy52ZXJpZnlNQlJQYXltZW50KHRoaXMudHhuR3JvdXBbdGhpcy50eG4uZ3JvdXBJbmRleCAtIDFdIGFzIFBheVR4biwgcHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBmYWlsZWQgdG8gY2FzdCB0aGlzLnR4bkdyb3VwW3RoaXMudHhuLmdyb3VwSW5kZXggLSAxXSB0byBwYXkKCWFzc2VydAoJY2FsbHN1YiB2ZXJpZnlNQlJQYXltZW50CgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZVdoaXRlbGlzdDoKCS8vIGJveEluZGV4OiB1aW50MTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMgoJPT0KCgkvLyBhcmd1bWVudCAwIChib3hJbmRleCkgZm9yIGRlbGV0ZVdoaXRlbGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGRlbGV0ZVdoaXRlbGlzdChzdHJpbmcsdWludDE2KXZvaWQKCWNhbGxzdWIgZGVsZXRlV2hpdGVsaXN0CglpbnQgMQoJcmV0dXJuCgovLyBkZWxldGVXaGl0ZWxpc3QoYXJjOiBzdHJpbmcsIGJveEluZGV4OiB1aW50MTYpOiB2b2lkCi8vCi8vIERlbGV0ZXMgYSBhcHAgd2hpdGVsaXN0IGZvciB0aGUgc2VuZGVyCi8vCi8vIEBwYXJhbSBhcmMgLSBUaGUgQVJDIHRoZSB3aGl0ZWxpc3QgY29ycmVzcG9uZHMgdG8KLy8gQHBhcmFtIGJveEluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSB3aGl0ZWxpc3QgYm94IHRvIGRlbGV0ZQpkZWxldGVXaGl0ZWxpc3Q6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo3NwoJLy8gcHJlTUJSID0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2J1cnkgMCAvLyBwcmVNQlI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NzgKCS8vIHdoaXRlbGlzdDogV2hpdGVsaXN0ID0geyBhY2NvdW50OiB0aGlzLnR4bi5zZW5kZXIsIGJveEluZGV4OiBib3hJbmRleCwgYXJjOiBhcmMgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAyNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQxNgoJaXRvYgoJZXh0cmFjdCA2IDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMSAvLyBhcmM6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6ODAKCS8vIHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkuZGVsZXRlKCkKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZGVsCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo4MgoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJcmV0c3ViCgovLyBkZWxldGVBcHBGcm9tV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZGVsZXRlQXBwRnJvbVdoaXRlbGlzdDoKCS8vIGluZGV4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhcHBJRDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDIgKGJveEluZGV4KSBmb3IgZGVsZXRlQXBwRnJvbVdoaXRlbGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwRnJvbVdoaXRlbGlzdAoJaW50IDEKCXJldHVybgoKLy8gZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgaW5kZXg6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gRGVsZXRlcyBhIGFwcCBmcm9tIGEgd2hpdGVsaXN0IGZvciB0aGUgc2VuZGVyCi8vCi8vIEBwYXJhbSBib3hJbmRleCAtIFRoZSBpbmRleCBvZiB0aGUgd2hpdGVsaXN0IGJveCB0byBkZWxldGUgZnJvbQovLyBAcGFyYW0gYXBwSUQgLSBUaGUgYXBwIElEIHRvIGRlbGV0ZSBmcm9tIHRoZSB3aGl0ZWxpc3QKLy8gQHBhcmFtIGluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSBhcHAgaW4gdGhlIHdoaXRlbGlzdApkZWxldGVBcHBGcm9tV2hpdGVsaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6OTQKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk1CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk3CgkvLyBzcGxpY2VkID0gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50IDEKCWZyYW1lX2RpZyAtNCAvLyBpbmRleDogdWludDY0CglpbnQgOAoJKgoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50IDE2CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgOAoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CglmcmFtZV9idXJ5IDIgLy8gc3BsaWNlZDogdWludDY0W10KCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk5CgkvLyBhc3NlcnQoc3BsaWNlZFswXSA9PT0gYXBwSUQpCglmcmFtZV9kaWcgMiAvLyBzcGxpY2VkOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9kaWcgLTMgLy8gYXBwSUQ6IHVpbnQ2NAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTAxCgkvLyB0aGlzLnNlbmRNQlJQYXltZW50KHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CgljYWxsc3ViIHNlbmRNQlJQYXltZW50CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhZGRBcHBUb1doaXRlTGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCxwYXkpdm9pZCIKCW1ldGhvZCAic2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZCIKCW1ldGhvZCAiZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZCIKCW1ldGhvZCAiZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWRkQXBwVG9XaGl0ZUxpc3QgKmFiaV9yb3V0ZV9zZXRBcHBXaGl0ZWxpc3QgKmFiaV9yb3V0ZV9kZWxldGVXaGl0ZWxpc3QgKmFiaV9yb3V0ZV9kZWxldGVBcHBGcm9tV2hpdGVsaXN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB2ZXJpZnlNQlJQYXltZW50KHBheW1lbnQ6IFBheVR4biwgcHJlTUJSOiB1aW50NjQpOiB2b2lkCnZlcmlmeU1CUlBheW1lbnQ6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjEwCgkvLyB2ZXJpZnlQYXlUeG4ocGF5bWVudCwgewoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhbW91bnQ6IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZSAtIHByZU1CUiwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0yIC8vIHByZU1CUjogdWludDY0CgktCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UgLSBwcmVNQlIifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHNlbmRNQlJQYXltZW50KHByZU1CUjogdWludDY0KTogdm9pZApzZW5kTUJSUGF5bWVudDoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTcKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhbW91bnQ6IHByZU1CUiAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTgKCS8vIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjE5CgkvLyBhbW91bnQ6IHByZU1CUiAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZnJhbWVfZGlnIC0xIC8vIHByZU1CUjogdWludDY0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhZGRBcHBUb1doaXRlTGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCxwYXkpdm9pZAoqYWJpX3JvdXRlX2FkZEFwcFRvV2hpdGVMaXN0OgoJLy8gcGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGFkZEFwcFRvV2hpdGVMaXN0IG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFwcElEOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDIKCT09CgoJLy8gYXJndW1lbnQgMiAoYm94SW5kZXgpIGZvciBhZGRBcHBUb1doaXRlTGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCgljYWxsc3ViIGFkZEFwcFRvV2hpdGVMaXN0CglpbnQgMQoJcmV0dXJuCgovLyBhZGRBcHBUb1doaXRlTGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgcGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBBZGQgYXBwIHRvIHdoaXRlbGlzdCBib3gKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gYWRkIHRoZSBhcHAgdG8KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBhZGQgdG8gdGhlIHdoaXRlbGlzdAovLyBAcGFyYW0gcGF5bWVudCAtIFRoZSBwYXltZW50IHRyYW5zYWN0aW9uIHRvIGNvdmVyIHRoZSBNQlIgY2hhbmdlCmFkZEFwcFRvV2hpdGVMaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzMKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM0CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czozNgoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS5leGlzdHMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfbGVuCglzd2FwCglwb3AKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czozNwoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5wdXNoKGFwcElEKQoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWZyYW1lX2RpZyAtMyAvLyBhcHBJRDogdWludDY0CglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM5CgkvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdID0gW2FwcElEXQoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMiAvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo0MAoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZSA9IG5ld1doaXRlbGlzdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMiAvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdCglkdXAKCWxlbgoJaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo0MwoJLy8gdGhpcy52ZXJpZnlNQlJQYXltZW50KHBheW1lbnQsIHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gcGF5bWVudDogUGF5VHhuCgljYWxsc3ViIHZlcmlmeU1CUlBheW1lbnQKCXJldHN1YgoKLy8gc2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZAoqYWJpX3JvdXRlX3NldEFwcFdoaXRlbGlzdDoKCS8vIGFwcElEczogdWludDY0W10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWV4dHJhY3QgMiAwCgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGJveEluZGV4KSBmb3Igc2V0QXBwV2hpdGVsaXN0IG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGFyYzogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZAoJY2FsbHN1YiBzZXRBcHBXaGl0ZWxpc3QKCWludCAxCglyZXR1cm4KCi8vIHNldEFwcFdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSURzOiB1aW50NjRbXSk6IHZvaWQKLy8KLy8gU2V0cyBhIGFwcCB3aGl0ZWxpc3QgZm9yIHRoZSBzZW5kZXIuIFNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBhZGRpbmcvcmVtb3ZpbmcKLy8gbW9yZSB0aGFuIG9uZSBhcHAKLy8KLy8gQHBhcmFtIGJveEluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSB3aGl0ZWxpc3QgYm94IHRvIHB1dCB0aGUgYXBwIElEcyBpbgovLyBAcGFyYW0gYXBwSURzIC0gQXJyYXkgb2YgYXBwIElEcyB0aGF0IHNpZ25pZnkgdGhlIHdoaXRlbGlzdGVkIGFwcHMKc2V0QXBwV2hpdGVsaXN0OgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NTUKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjU2CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjU4CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2RlbAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjAKCS8vIHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUgPSBhcHBJRHMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJZnJhbWVfZGlnIC0zIC8vIGFwcElEczogdWludDY0W10KCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjYyCgkvLyBwcmVNQlIgPiB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCT4KCWJ6ICppZjFfZWxzZQoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2MwoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJYiAqaWYxX2VuZAoKKmlmMV9lbHNlOgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2NQoJLy8gdGhpcy52ZXJpZnlNQlJQYXltZW50KHRoaXMudHhuR3JvdXBbdGhpcy50eG4uZ3JvdXBJbmRleCAtIDFdIGFzIFBheVR4biwgcHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBmYWlsZWQgdG8gY2FzdCB0aGlzLnR4bkdyb3VwW3RoaXMudHhuLmdyb3VwSW5kZXggLSAxXSB0byBwYXkKCWFzc2VydAoJY2FsbHN1YiB2ZXJpZnlNQlJQYXltZW50CgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZVdoaXRlbGlzdDoKCS8vIGJveEluZGV4OiB1aW50MTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMgoJPT0KCgkvLyBhcmd1bWVudCAwIChib3hJbmRleCkgZm9yIGRlbGV0ZVdoaXRlbGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGRlbGV0ZVdoaXRlbGlzdChzdHJpbmcsdWludDE2KXZvaWQKCWNhbGxzdWIgZGVsZXRlV2hpdGVsaXN0CglpbnQgMQoJcmV0dXJuCgovLyBkZWxldGVXaGl0ZWxpc3QoYXJjOiBzdHJpbmcsIGJveEluZGV4OiB1aW50MTYpOiB2b2lkCi8vCi8vIERlbGV0ZXMgYSBhcHAgd2hpdGVsaXN0IGZvciB0aGUgc2VuZGVyCi8vCi8vIEBwYXJhbSBhcmMgLSBUaGUgQVJDIHRoZSB3aGl0ZWxpc3QgY29ycmVzcG9uZHMgdG8KLy8gQHBhcmFtIGJveEluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSB3aGl0ZWxpc3QgYm94IHRvIGRlbGV0ZQpkZWxldGVXaGl0ZWxpc3Q6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo3NwoJLy8gcHJlTUJSID0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2J1cnkgMCAvLyBwcmVNQlI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NzgKCS8vIHdoaXRlbGlzdDogV2hpdGVsaXN0ID0geyBhY2NvdW50OiB0aGlzLnR4bi5zZW5kZXIsIGJveEluZGV4OiBib3hJbmRleCwgYXJjOiBhcmMgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAyNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQxNgoJaXRvYgoJZXh0cmFjdCA2IDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMSAvLyBhcmM6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6ODAKCS8vIHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkuZGVsZXRlKCkKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZGVsCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo4MgoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJcmV0c3ViCgovLyBkZWxldGVBcHBGcm9tV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZGVsZXRlQXBwRnJvbVdoaXRlbGlzdDoKCS8vIGluZGV4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhcHBJRDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDIgKGJveEluZGV4KSBmb3IgZGVsZXRlQXBwRnJvbVdoaXRlbGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwRnJvbVdoaXRlbGlzdAoJaW50IDEKCXJldHVybgoKLy8gZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgaW5kZXg6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gRGVsZXRlcyBhIGFwcCBmcm9tIGEgd2hpdGVsaXN0IGZvciB0aGUgc2VuZGVyCi8vCi8vIEBwYXJhbSBib3hJbmRleCAtIFRoZSBpbmRleCBvZiB0aGUgd2hpdGVsaXN0IGJveCB0byBkZWxldGUgZnJvbQovLyBAcGFyYW0gYXBwSUQgLSBUaGUgYXBwIElEIHRvIGRlbGV0ZSBmcm9tIHRoZSB3aGl0ZWxpc3QKLy8gQHBhcmFtIGluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSBhcHAgaW4gdGhlIHdoaXRlbGlzdApkZWxldGVBcHBGcm9tV2hpdGVsaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6OTQKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk1CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk3CgkvLyBzcGxpY2VkID0gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50IDEKCWZyYW1lX2RpZyAtNCAvLyBpbmRleDogdWludDY0CglpbnQgOAoJKgoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50IDE2CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgOAoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CglmcmFtZV9idXJ5IDIgLy8gc3BsaWNlZDogdWludDY0W10KCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk5CgkvLyBhc3NlcnQoc3BsaWNlZFswXSA9PT0gYXBwSUQpCglmcmFtZV9kaWcgMiAvLyBzcGxpY2VkOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9kaWcgLTMgLy8gYXBwSUQ6IHVpbnQ2NAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTAxCgkvLyB0aGlzLnNlbmRNQlJQYXltZW50KHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CgljYWxsc3ViIHNlbmRNQlJQYXltZW50CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhZGRBcHBUb1doaXRlTGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCxwYXkpdm9pZCIKCW1ldGhvZCAic2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZCIKCW1ldGhvZCAiZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZCIKCW1ldGhvZCAiZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWRkQXBwVG9XaGl0ZUxpc3QgKmFiaV9yb3V0ZV9zZXRBcHBXaGl0ZWxpc3QgKmFiaV9yb3V0ZV9kZWxldGVXaGl0ZWxpc3QgKmFiaV9yb3V0ZV9kZWxldGVBcHBGcm9tV2hpdGVsaXN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/arc75/artifacts/ARC75.arc56_draft.json b/examples/arc75/artifacts/ARC75.arc56_draft.json
index c17b02f4c..8a0040cc1 100644
--- a/examples/arc75/artifacts/ARC75.arc56_draft.json
+++ b/examples/arc75/artifacts/ARC75.arc56_draft.json
@@ -144,11 +144,20 @@
56
],
"structs": {
- "Whitelist": {
- "account": "address",
- "boxIndex": "uint16",
- "arc": "string"
- }
+ "Whitelist": [
+ {
+ "name": "account",
+ "type": "address"
+ },
+ {
+ "name": "boxIndex",
+ "type": "uint16"
+ },
+ {
+ "name": "arc",
+ "type": "string"
+ }
+ ]
},
"state": {
"schema": {
@@ -181,3234 +190,3237 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 6,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12
- ]
- },
- {
- "teal": 13,
- "source": 6,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 14,
- "source": 6,
- "pc": [
- 15
- ]
- },
- {
- "teal": 15,
- "source": 6,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 16,
- "source": 6,
- "pc": [
- 18
- ]
- },
- {
- "teal": 17,
- "source": 6,
- "pc": [
- 19,
- 20
- ]
- },
- {
- "teal": 18,
- "source": 6,
- "pc": [
- 21
- ]
- },
- {
- "teal": 19,
- "source": 6,
- "pc": [
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 23,
- "source": 6,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 48
- ]
- },
- {
- "teal": 27,
- "source": 9,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 35,
- "source": 10,
- "pc": [
- 52,
- 53
- ]
- },
- {
- "teal": 36,
- "source": 11,
- "pc": [
- 54,
- 55
- ]
- },
- {
- "teal": 37,
- "source": 11,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 38,
- "source": 11,
- "pc": [
- 58
- ]
- },
- {
- "teal": 41,
- "source": 11,
- "errorMessage": "transaction verification failed: {\"txn\":\"payment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 10,
- "pc": [
- 60,
- 61
- ]
- },
- {
- "teal": 45,
- "source": 12,
- "pc": [
- 62,
- 63
- ]
- },
- {
- "teal": 46,
- "source": 12,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 47,
- "source": 12,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 48,
- "source": 12,
- "pc": [
- 68
- ]
- },
- {
- "teal": 49,
- "source": 12,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 50,
- "source": 12,
- "pc": [
- 71
- ]
- },
- {
- "teal": 51,
- "source": 12,
- "pc": [
- 72
- ]
- },
- {
- "teal": 54,
- "source": 12,
- "errorMessage": "transaction verification failed: {\"txn\":\"payment\",\"field\":\"amount\",\"expected\":\"this.app.address.minBalance - preMBR\"}",
- "pc": [
- 73
- ]
- },
- {
- "teal": 55,
- "source": 9,
- "pc": [
- 74
- ]
- },
- {
- "teal": 59,
- "source": 16,
- "pc": [
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 66,
- "source": 17,
- "pc": [
- 78
- ]
- },
- {
- "teal": 67,
- "source": 17,
- "pc": [
- 79
- ]
- },
- {
- "teal": 68,
- "source": 17,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 72,
- "source": 18,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 73,
- "source": 18,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 77,
- "source": 19,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 78,
- "source": 19,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 79,
- "source": 19,
- "pc": [
- 90,
- 91
- ]
- },
- {
- "teal": 80,
- "source": 19,
- "pc": [
- 92
- ]
- },
- {
- "teal": 81,
- "source": 19,
- "pc": [
- 93
- ]
- },
- {
- "teal": 82,
- "source": 19,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 85,
- "source": 17,
- "pc": [
- 96
- ]
- },
- {
- "teal": 86,
- "source": 17,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 89,
- "source": 17,
- "pc": [
- 99
- ]
- },
- {
- "teal": 90,
- "source": 16,
- "pc": [
- 100
- ]
- },
- {
- "teal": 95,
- "source": 32,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 96,
- "source": 32,
- "pc": [
- 103
- ]
- },
- {
- "teal": 97,
- "source": 32,
- "pc": [
- 104
- ]
- },
- {
- "teal": 98,
- "source": 32,
- "pc": [
- 105
- ]
- },
- {
- "teal": 99,
- "source": 32,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 100,
- "source": 32,
- "pc": [
- 108
- ]
- },
- {
- "teal": 101,
- "source": 32,
- "pc": [
- 109
- ]
- },
- {
- "teal": 104,
- "source": 32,
- "errorMessage": "argument 0 (payment) for addAppToWhiteList must be a pay transaction",
- "pc": [
- 110
- ]
- },
- {
- "teal": 107,
- "source": 32,
- "pc": [
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 108,
- "source": 32,
- "pc": [
- 114
- ]
- },
- {
- "teal": 111,
- "source": 32,
- "pc": [
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 112,
- "source": 32,
- "pc": [
- 118
- ]
- },
- {
- "teal": 113,
- "source": 32,
- "pc": [
- 119
- ]
- },
- {
- "teal": 114,
- "source": 32,
- "pc": [
- 120
- ]
- },
- {
- "teal": 115,
- "source": 32,
- "pc": [
- 121
- ]
- },
- {
- "teal": 118,
- "source": 32,
- "errorMessage": "argument 2 (boxIndex) for addAppToWhiteList must be a uint16",
- "pc": [
- 122
- ]
- },
- {
- "teal": 119,
- "source": 32,
- "pc": [
- 123
- ]
- },
- {
- "teal": 122,
- "source": 32,
- "pc": [
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 123,
- "source": 32,
- "pc": [
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 126,
- "source": 32,
- "pc": [
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 127,
- "source": 32,
- "pc": [
- 133
- ]
- },
- {
- "teal": 128,
- "source": 32,
- "pc": [
- 134
- ]
- },
- {
- "teal": 139,
- "source": 32,
- "pc": [
- 135,
- 136,
- 137
- ]
- },
- {
- "teal": 142,
- "source": 32,
- "pc": [
- 138
- ]
- },
- {
- "teal": 143,
- "source": 32,
- "pc": [
- 139,
- 140
- ]
- },
- {
- "teal": 147,
- "source": 33,
- "pc": [
- 141,
- 142
- ]
- },
- {
- "teal": 148,
- "source": 33,
- "pc": [
- 143,
- 144
- ]
- },
- {
- "teal": 149,
- "source": 33,
- "pc": [
- 145
- ]
- },
- {
- "teal": 150,
- "source": 33,
- "pc": [
- 146,
- 147
- ]
- },
- {
- "teal": 154,
- "source": 34,
- "pc": [
- 148
- ]
- },
- {
- "teal": 155,
- "source": 34,
- "pc": [
- 149
- ]
- },
- {
- "teal": 156,
- "source": 34,
- "pc": [
- 150
- ]
- },
- {
- "teal": 157,
- "source": 34,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 158,
- "source": 34,
- "pc": [
- 153,
- 154,
- 155
- ]
- },
- {
- "teal": 159,
- "source": 34,
- "pc": [
- 156,
- 157
- ]
- },
- {
- "teal": 160,
- "source": 34,
- "pc": [
- 158
- ]
- },
- {
- "teal": 161,
- "source": 34,
- "pc": [
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 162,
- "source": 34,
- "pc": [
- 162,
- 163,
- 164
- ]
- },
- {
- "teal": 163,
- "source": 34,
- "pc": [
- 165,
- 166
- ]
- },
- {
- "teal": 164,
- "source": 34,
- "pc": [
- 167
- ]
- },
- {
- "teal": 165,
- "source": 34,
- "pc": [
- 168
- ]
- },
- {
- "teal": 166,
- "source": 34,
- "pc": [
- 169
- ]
- },
- {
- "teal": 167,
- "source": 34,
- "pc": [
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 168,
- "source": 34,
- "pc": [
- 173
- ]
- },
- {
- "teal": 169,
- "source": 34,
- "pc": [
- 174
- ]
- },
- {
- "teal": 170,
- "source": 34,
- "pc": [
- 175,
- 176,
- 177
- ]
- },
- {
- "teal": 171,
- "source": 34,
- "pc": [
- 178
- ]
- },
- {
- "teal": 172,
- "source": 34,
- "pc": [
- 179
- ]
- },
- {
- "teal": 173,
- "source": 34,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 178,
- "source": 36,
- "pc": [
- 182,
- 183
- ]
- },
- {
- "teal": 179,
- "source": 36,
- "pc": [
- 184
- ]
- },
- {
- "teal": 180,
- "source": 36,
- "pc": [
- 185
- ]
- },
- {
- "teal": 181,
- "source": 36,
- "pc": [
- 186
- ]
- },
- {
- "teal": 182,
- "source": 36,
- "pc": [
- 187,
- 188,
- 189
- ]
- },
- {
- "teal": 187,
- "source": 37,
- "pc": [
- 190,
- 191
- ]
- },
- {
- "teal": 188,
- "source": 37,
- "pc": [
- 192
- ]
- },
- {
- "teal": 191,
- "source": 37,
- "errorMessage": "box value does not exist: this.whitelist(whitelist).value",
- "pc": [
- 193
- ]
- },
- {
- "teal": 192,
- "source": 37,
- "pc": [
- 194,
- 195,
- 196
- ]
- },
- {
- "teal": 193,
- "source": 37,
- "pc": [
- 197,
- 198
- ]
- },
- {
- "teal": 194,
- "source": 37,
- "pc": [
- 199
- ]
- },
- {
- "teal": 195,
- "source": 37,
- "pc": [
- 200
- ]
- },
- {
- "teal": 196,
- "source": 37,
- "pc": [
- 201,
- 202
- ]
- },
- {
- "teal": 197,
- "source": 37,
- "pc": [
- 203
- ]
- },
- {
- "teal": 198,
- "source": 37,
- "pc": [
- 204
- ]
- },
- {
- "teal": 199,
- "source": 37,
- "pc": [
- 205
- ]
- },
- {
- "teal": 200,
- "source": 37,
- "pc": [
- 206
- ]
- },
- {
- "teal": 201,
- "source": 37,
- "pc": [
- 207
- ]
- },
- {
- "teal": 202,
- "source": 37,
- "pc": [
- 208
- ]
- },
- {
- "teal": 203,
- "source": 37,
- "pc": [
- 209
- ]
- },
- {
- "teal": 204,
- "source": 37,
- "pc": [
- 210
- ]
- },
- {
- "teal": 205,
- "source": 37,
- "pc": [
- 211
- ]
- },
- {
- "teal": 206,
- "source": 37,
- "pc": [
- 212,
- 213,
- 214
- ]
- },
- {
- "teal": 207,
- "source": 37,
- "pc": [
- 215
- ]
- },
- {
- "teal": 208,
- "source": 37,
- "pc": [
- 216
- ]
- },
- {
- "teal": 209,
- "source": 37,
- "pc": [
- 217
- ]
- },
- {
- "teal": 210,
- "source": 36,
- "pc": [
- 218,
- 219,
- 220
- ]
- },
- {
- "teal": 215,
- "source": 39,
- "pc": [
- 221,
- 222
- ]
- },
- {
- "teal": 216,
- "source": 39,
- "pc": [
- 223
- ]
- },
- {
- "teal": 217,
- "source": 39,
- "pc": [
- 224,
- 225
- ]
- },
- {
- "teal": 221,
- "source": 40,
- "pc": [
- 226,
- 227
- ]
- },
- {
- "teal": 222,
- "source": 40,
- "pc": [
- 228
- ]
- },
- {
- "teal": 223,
- "source": 40,
- "pc": [
- 229
- ]
- },
- {
- "teal": 224,
- "source": 40,
- "pc": [
- 230
- ]
- },
- {
- "teal": 225,
- "source": 40,
- "pc": [
- 231,
- 232
- ]
- },
- {
- "teal": 226,
- "source": 40,
- "pc": [
- 233
- ]
- },
- {
- "teal": 227,
- "source": 40,
- "pc": [
- 234
- ]
- },
- {
- "teal": 228,
- "source": 40,
- "pc": [
- 235
- ]
- },
- {
- "teal": 229,
- "source": 40,
- "pc": [
- 236
- ]
- },
- {
- "teal": 230,
- "source": 40,
- "pc": [
- 237
- ]
- },
- {
- "teal": 231,
- "source": 40,
- "pc": [
- 238,
- 239,
- 240
- ]
- },
- {
- "teal": 232,
- "source": 40,
- "pc": [
- 241
- ]
- },
- {
- "teal": 233,
- "source": 40,
- "pc": [
- 242
- ]
- },
- {
- "teal": 234,
- "source": 40,
- "pc": [
- 243
- ]
- },
- {
- "teal": 239,
- "source": 43,
- "pc": [
- 244,
- 245
- ]
- },
- {
- "teal": 240,
- "source": 43,
- "pc": [
- 246,
- 247
- ]
- },
- {
- "teal": 241,
- "source": 43,
- "pc": [
- 248,
- 249,
- 250
- ]
- },
- {
- "teal": 242,
- "source": 32,
- "pc": [
- 251
- ]
- },
- {
- "teal": 247,
- "source": 54,
- "pc": [
- 252,
- 253,
- 254
- ]
- },
- {
- "teal": 248,
- "source": 54,
- "pc": [
- 255,
- 256,
- 257
- ]
- },
- {
- "teal": 251,
- "source": 54,
- "pc": [
- 258,
- 259,
- 260
- ]
- },
- {
- "teal": 252,
- "source": 54,
- "pc": [
- 261
- ]
- },
- {
- "teal": 253,
- "source": 54,
- "pc": [
- 262
- ]
- },
- {
- "teal": 254,
- "source": 54,
- "pc": [
- 263
- ]
- },
- {
- "teal": 255,
- "source": 54,
- "pc": [
- 264
- ]
- },
- {
- "teal": 258,
- "source": 54,
- "errorMessage": "argument 1 (boxIndex) for setAppWhitelist must be a uint16",
- "pc": [
- 265
- ]
- },
- {
- "teal": 259,
- "source": 54,
- "pc": [
- 266
- ]
- },
- {
- "teal": 262,
- "source": 54,
- "pc": [
- 267,
- 268,
- 269
- ]
- },
- {
- "teal": 263,
- "source": 54,
- "pc": [
- 270,
- 271,
- 272
- ]
- },
- {
- "teal": 266,
- "source": 54,
- "pc": [
- 273,
- 274,
- 275
- ]
- },
- {
- "teal": 267,
- "source": 54,
- "pc": [
- 276
- ]
- },
- {
- "teal": 268,
- "source": 54,
- "pc": [
- 277
- ]
- },
- {
- "teal": 278,
- "source": 54,
- "pc": [
- 278,
- 279,
- 280
- ]
- },
- {
- "teal": 281,
- "source": 54,
- "pc": [
- 281
- ]
- },
- {
- "teal": 282,
- "source": 54,
- "pc": [
- 282
- ]
- },
- {
- "teal": 286,
- "source": 55,
- "pc": [
- 283,
- 284
- ]
- },
- {
- "teal": 287,
- "source": 55,
- "pc": [
- 285,
- 286
- ]
- },
- {
- "teal": 288,
- "source": 55,
- "pc": [
- 287
- ]
- },
- {
- "teal": 289,
- "source": 55,
- "pc": [
- 288,
- 289
- ]
- },
- {
- "teal": 293,
- "source": 56,
- "pc": [
- 290
- ]
- },
- {
- "teal": 294,
- "source": 56,
- "pc": [
- 291
- ]
- },
- {
- "teal": 295,
- "source": 56,
- "pc": [
- 292
- ]
- },
- {
- "teal": 296,
- "source": 56,
- "pc": [
- 293,
- 294
- ]
- },
- {
- "teal": 297,
- "source": 56,
- "pc": [
- 295,
- 296,
- 297
- ]
- },
- {
- "teal": 298,
- "source": 56,
- "pc": [
- 298,
- 299
- ]
- },
- {
- "teal": 299,
- "source": 56,
- "pc": [
- 300
- ]
- },
- {
- "teal": 300,
- "source": 56,
- "pc": [
- 301,
- 302,
- 303
- ]
- },
- {
- "teal": 301,
- "source": 56,
- "pc": [
- 304,
- 305,
- 306
- ]
- },
- {
- "teal": 302,
- "source": 56,
- "pc": [
- 307,
- 308
- ]
- },
- {
- "teal": 303,
- "source": 56,
- "pc": [
- 309
- ]
- },
- {
- "teal": 304,
- "source": 56,
- "pc": [
- 310
- ]
- },
- {
- "teal": 305,
- "source": 56,
- "pc": [
- 311
- ]
- },
- {
- "teal": 306,
- "source": 56,
- "pc": [
- 312,
- 313,
- 314
- ]
- },
- {
- "teal": 307,
- "source": 56,
- "pc": [
- 315
- ]
- },
- {
- "teal": 308,
- "source": 56,
- "pc": [
- 316
- ]
- },
- {
- "teal": 309,
- "source": 56,
- "pc": [
- 317,
- 318,
- 319
- ]
- },
- {
- "teal": 310,
- "source": 56,
- "pc": [
- 320
- ]
- },
- {
- "teal": 311,
- "source": 56,
- "pc": [
- 321
- ]
- },
- {
- "teal": 312,
- "source": 56,
- "pc": [
- 322,
- 323
- ]
- },
- {
- "teal": 316,
- "source": 58,
- "pc": [
- 324,
- 325
- ]
- },
- {
- "teal": 317,
- "source": 58,
- "pc": [
- 326
- ]
- },
- {
- "teal": 321,
- "source": 60,
- "pc": [
- 327,
- 328
- ]
- },
- {
- "teal": 322,
- "source": 60,
- "pc": [
- 329
- ]
- },
- {
- "teal": 323,
- "source": 60,
- "pc": [
- 330
- ]
- },
- {
- "teal": 324,
- "source": 60,
- "pc": [
- 331
- ]
- },
- {
- "teal": 325,
- "source": 60,
- "pc": [
- 332,
- 333
- ]
- },
- {
- "teal": 326,
- "source": 60,
- "pc": [
- 334
- ]
- },
- {
- "teal": 327,
- "source": 60,
- "pc": [
- 335
- ]
- },
- {
- "teal": 328,
- "source": 60,
- "pc": [
- 336
- ]
- },
- {
- "teal": 329,
- "source": 60,
- "pc": [
- 337
- ]
- },
- {
- "teal": 330,
- "source": 60,
- "pc": [
- 338
- ]
- },
- {
- "teal": 331,
- "source": 60,
- "pc": [
- 339,
- 340,
- 341
- ]
- },
- {
- "teal": 332,
- "source": 60,
- "pc": [
- 342
- ]
- },
- {
- "teal": 333,
- "source": 60,
- "pc": [
- 343
- ]
- },
- {
- "teal": 334,
- "source": 60,
- "pc": [
- 344
- ]
- },
- {
- "teal": 339,
- "source": 62,
- "pc": [
- 345,
- 346
- ]
- },
- {
- "teal": 340,
- "source": 62,
- "pc": [
- 347,
- 348
- ]
- },
- {
- "teal": 341,
- "source": 62,
- "pc": [
- 349,
- 350
- ]
- },
- {
- "teal": 342,
- "source": 62,
- "pc": [
- 351
- ]
- },
- {
- "teal": 343,
- "source": 62,
- "pc": [
- 352
- ]
- },
- {
- "teal": 344,
- "source": 62,
- "pc": [
- 353,
- 354,
- 355
- ]
- },
- {
- "teal": 349,
- "source": 63,
- "pc": [
- 356,
- 357
- ]
- },
- {
- "teal": 350,
- "source": 63,
- "pc": [
- 358,
- 359,
- 360
- ]
- },
- {
- "teal": 351,
- "source": 62,
- "pc": [
- 361,
- 362,
- 363
- ]
- },
- {
- "teal": 356,
- "source": 65,
- "pc": [
- 364,
- 365
- ]
- },
- {
- "teal": 357,
- "source": 65,
- "pc": [
- 366,
- 367
- ]
- },
- {
- "teal": 358,
- "source": 65,
- "pc": [
- 368
- ]
- },
- {
- "teal": 359,
- "source": 65,
- "pc": [
- 369
- ]
- },
- {
- "teal": 360,
- "source": 65,
- "pc": [
- 370
- ]
- },
- {
- "teal": 361,
- "source": 65,
- "pc": [
- 371,
- 372
- ]
- },
- {
- "teal": 362,
- "source": 65,
- "pc": [
- 373
- ]
- },
- {
- "teal": 363,
- "source": 65,
- "pc": [
- 374
- ]
- },
- {
- "teal": 366,
- "source": 65,
- "errorMessage": "failed to cast this.txnGroup[this.txn.groupIndex - 1] to pay",
- "pc": [
- 375
- ]
- },
- {
- "teal": 367,
- "source": 65,
- "pc": [
- 376,
- 377,
- 378
- ]
- },
- {
- "teal": 370,
- "source": 54,
- "pc": [
- 379
- ]
- },
- {
- "teal": 375,
- "source": 76,
- "pc": [
- 380,
- 381,
- 382
- ]
- },
- {
- "teal": 376,
- "source": 76,
- "pc": [
- 383
- ]
- },
- {
- "teal": 377,
- "source": 76,
- "pc": [
- 384
- ]
- },
- {
- "teal": 378,
- "source": 76,
- "pc": [
- 385
- ]
- },
- {
- "teal": 379,
- "source": 76,
- "pc": [
- 386
- ]
- },
- {
- "teal": 382,
- "source": 76,
- "errorMessage": "argument 0 (boxIndex) for deleteWhitelist must be a uint16",
- "pc": [
- 387
- ]
- },
- {
- "teal": 383,
- "source": 76,
- "pc": [
- 388
- ]
- },
- {
- "teal": 386,
- "source": 76,
- "pc": [
- 389,
- 390,
- 391
- ]
- },
- {
- "teal": 387,
- "source": 76,
- "pc": [
- 392,
- 393,
- 394
- ]
- },
- {
- "teal": 390,
- "source": 76,
- "pc": [
- 395,
- 396,
- 397
- ]
- },
- {
- "teal": 391,
- "source": 76,
- "pc": [
- 398
- ]
- },
- {
- "teal": 392,
- "source": 76,
- "pc": [
- 399
- ]
- },
- {
- "teal": 401,
- "source": 76,
- "pc": [
- 400,
- 401,
- 402
- ]
- },
- {
- "teal": 404,
- "source": 76,
- "pc": [
- 403
- ]
- },
- {
- "teal": 405,
- "source": 76,
- "pc": [
- 404
- ]
- },
- {
- "teal": 409,
- "source": 77,
- "pc": [
- 405,
- 406
- ]
- },
- {
- "teal": 410,
- "source": 77,
- "pc": [
- 407,
- 408
- ]
- },
- {
- "teal": 411,
- "source": 77,
- "pc": [
- 409
- ]
- },
- {
- "teal": 412,
- "source": 77,
- "pc": [
- 410,
- 411
- ]
- },
- {
- "teal": 416,
- "source": 78,
- "pc": [
- 412
- ]
- },
- {
- "teal": 417,
- "source": 78,
- "pc": [
- 413
- ]
- },
- {
- "teal": 418,
- "source": 78,
- "pc": [
- 414
- ]
- },
- {
- "teal": 419,
- "source": 78,
- "pc": [
- 415,
- 416
- ]
- },
- {
- "teal": 420,
- "source": 78,
- "pc": [
- 417,
- 418,
- 419
- ]
- },
- {
- "teal": 421,
- "source": 78,
- "pc": [
- 420,
- 421
- ]
- },
- {
- "teal": 422,
- "source": 78,
- "pc": [
- 422
- ]
- },
- {
- "teal": 423,
- "source": 78,
- "pc": [
- 423,
- 424,
- 425
- ]
- },
- {
- "teal": 424,
- "source": 78,
- "pc": [
- 426,
- 427,
- 428
- ]
- },
- {
- "teal": 425,
- "source": 78,
- "pc": [
- 429,
- 430
- ]
- },
- {
- "teal": 426,
- "source": 78,
- "pc": [
- 431
- ]
- },
- {
- "teal": 427,
- "source": 78,
- "pc": [
- 432
- ]
- },
- {
- "teal": 428,
- "source": 78,
- "pc": [
- 433
- ]
- },
- {
- "teal": 429,
- "source": 78,
- "pc": [
- 434,
- 435,
- 436
- ]
- },
- {
- "teal": 430,
- "source": 78,
- "pc": [
- 437
- ]
- },
- {
- "teal": 431,
- "source": 78,
- "pc": [
- 438
- ]
- },
- {
- "teal": 432,
- "source": 78,
- "pc": [
- 439,
- 440,
- 441
- ]
- },
- {
- "teal": 433,
- "source": 78,
- "pc": [
- 442
- ]
- },
- {
- "teal": 434,
- "source": 78,
- "pc": [
- 443
- ]
- },
- {
- "teal": 435,
- "source": 78,
- "pc": [
- 444,
- 445
- ]
- },
- {
- "teal": 439,
- "source": 80,
- "pc": [
- 446,
- 447
- ]
- },
- {
- "teal": 440,
- "source": 80,
- "pc": [
- 448
- ]
- },
- {
- "teal": 444,
- "source": 82,
- "pc": [
- 449,
- 450
- ]
- },
- {
- "teal": 445,
- "source": 82,
- "pc": [
- 451,
- 452,
- 453
- ]
- },
- {
- "teal": 446,
- "source": 76,
- "pc": [
- 454
- ]
- },
- {
- "teal": 451,
- "source": 93,
- "pc": [
- 455,
- 456,
- 457
- ]
- },
- {
- "teal": 452,
- "source": 93,
- "pc": [
- 458
- ]
- },
- {
- "teal": 455,
- "source": 93,
- "pc": [
- 459,
- 460,
- 461
- ]
- },
- {
- "teal": 456,
- "source": 93,
- "pc": [
- 462
- ]
- },
- {
- "teal": 459,
- "source": 93,
- "pc": [
- 463,
- 464,
- 465
- ]
- },
- {
- "teal": 460,
- "source": 93,
- "pc": [
- 466
- ]
- },
- {
- "teal": 461,
- "source": 93,
- "pc": [
- 467
- ]
- },
- {
- "teal": 462,
- "source": 93,
- "pc": [
- 468
- ]
- },
- {
- "teal": 463,
- "source": 93,
- "pc": [
- 469
- ]
- },
- {
- "teal": 466,
- "source": 93,
- "errorMessage": "argument 2 (boxIndex) for deleteAppFromWhitelist must be a uint16",
- "pc": [
- 470
- ]
- },
- {
- "teal": 467,
- "source": 93,
- "pc": [
- 471
- ]
- },
- {
- "teal": 470,
- "source": 93,
- "pc": [
- 472,
- 473,
- 474
- ]
- },
- {
- "teal": 471,
- "source": 93,
- "pc": [
- 475,
- 476,
- 477
- ]
- },
- {
- "teal": 474,
- "source": 93,
- "pc": [
- 478,
- 479,
- 480
- ]
- },
- {
- "teal": 475,
- "source": 93,
- "pc": [
- 481
- ]
- },
- {
- "teal": 476,
- "source": 93,
- "pc": [
- 482
- ]
- },
- {
- "teal": 486,
- "source": 93,
- "pc": [
- 483,
- 484,
- 485
- ]
- },
- {
- "teal": 489,
- "source": 93,
- "pc": [
- 486
- ]
- },
- {
- "teal": 490,
- "source": 93,
- "pc": [
- 487,
- 488
- ]
- },
- {
- "teal": 494,
- "source": 94,
- "pc": [
- 489,
- 490
- ]
- },
- {
- "teal": 495,
- "source": 94,
- "pc": [
- 491,
- 492
- ]
- },
- {
- "teal": 496,
- "source": 94,
- "pc": [
- 493
- ]
- },
- {
- "teal": 497,
- "source": 94,
- "pc": [
- 494,
- 495
- ]
- },
- {
- "teal": 501,
- "source": 95,
- "pc": [
- 496
- ]
- },
- {
- "teal": 502,
- "source": 95,
- "pc": [
- 497
- ]
- },
- {
- "teal": 503,
- "source": 95,
- "pc": [
- 498
- ]
- },
- {
- "teal": 504,
- "source": 95,
- "pc": [
- 499,
- 500
- ]
- },
- {
- "teal": 505,
- "source": 95,
- "pc": [
- 501,
- 502,
- 503
- ]
- },
- {
- "teal": 506,
- "source": 95,
- "pc": [
- 504,
- 505
- ]
- },
- {
- "teal": 507,
- "source": 95,
- "pc": [
- 506
- ]
- },
- {
- "teal": 508,
- "source": 95,
- "pc": [
- 507,
- 508,
- 509
- ]
- },
- {
- "teal": 509,
- "source": 95,
- "pc": [
- 510,
- 511,
- 512
- ]
- },
- {
- "teal": 510,
- "source": 95,
- "pc": [
- 513,
- 514
- ]
- },
- {
- "teal": 511,
- "source": 95,
- "pc": [
- 515
- ]
- },
- {
- "teal": 512,
- "source": 95,
- "pc": [
- 516
- ]
- },
- {
- "teal": 513,
- "source": 95,
- "pc": [
- 517
- ]
- },
- {
- "teal": 514,
- "source": 95,
- "pc": [
- 518,
- 519,
- 520
- ]
- },
- {
- "teal": 515,
- "source": 95,
- "pc": [
- 521
- ]
- },
- {
- "teal": 516,
- "source": 95,
- "pc": [
- 522
- ]
- },
- {
- "teal": 517,
- "source": 95,
- "pc": [
- 523,
- 524,
- 525
- ]
- },
- {
- "teal": 518,
- "source": 95,
- "pc": [
- 526
- ]
- },
- {
- "teal": 519,
- "source": 95,
- "pc": [
- 527
- ]
- },
- {
- "teal": 520,
- "source": 95,
- "pc": [
- 528,
- 529
- ]
- },
- {
- "teal": 524,
- "source": 97,
- "pc": [
- 530,
- 531
- ]
- },
- {
- "teal": 525,
- "source": 97,
- "pc": [
- 532
- ]
- },
- {
- "teal": 528,
- "source": 97,
- "errorMessage": "box value does not exist: this.whitelist(whitelist).value",
- "pc": [
- 533
- ]
- },
- {
- "teal": 529,
- "source": 97,
- "pc": [
- 534,
- 535,
- 536
- ]
- },
- {
- "teal": 530,
- "source": 97,
- "pc": [
- 537
- ]
- },
- {
- "teal": 531,
- "source": 97,
- "pc": [
- 538,
- 539
- ]
- },
- {
- "teal": 532,
- "source": 97,
- "pc": [
- 540
- ]
- },
- {
- "teal": 533,
- "source": 97,
- "pc": [
- 541
- ]
- },
- {
- "teal": 534,
- "source": 97,
- "pc": [
- 542,
- 543
- ]
- },
- {
- "teal": 535,
- "source": 97,
- "pc": [
- 544,
- 545
- ]
- },
- {
- "teal": 536,
- "source": 97,
- "pc": [
- 546,
- 547
- ]
- },
- {
- "teal": 537,
- "source": 97,
- "pc": [
- 548,
- 549
- ]
- },
- {
- "teal": 538,
- "source": 97,
- "pc": [
- 550
- ]
- },
- {
- "teal": 541,
- "source": 97,
- "errorMessage": "box value does not exist: this.whitelist(whitelist).value",
- "pc": [
- 551
- ]
- },
- {
- "teal": 542,
- "source": 97,
- "pc": [
- 552,
- 553,
- 554
- ]
- },
- {
- "teal": 543,
- "source": 97,
- "pc": [
- 555
- ]
- },
- {
- "teal": 544,
- "source": 97,
- "pc": [
- 556,
- 557
- ]
- },
- {
- "teal": 545,
- "source": 97,
- "pc": [
- 558
- ]
- },
- {
- "teal": 546,
- "source": 97,
- "pc": [
- 559,
- 560
- ]
- },
- {
- "teal": 547,
- "source": 97,
- "pc": [
- 561
- ]
- },
- {
- "teal": 550,
- "source": 97,
- "errorMessage": "box value does not exist: this.whitelist(whitelist).value",
- "pc": [
- 562
- ]
- },
- {
- "teal": 551,
- "source": 97,
- "pc": [
- 563,
- 564,
- 565
- ]
- },
- {
- "teal": 552,
- "source": 97,
- "pc": [
- 566
- ]
- },
- {
- "teal": 553,
- "source": 97,
- "pc": [
- 567
- ]
- },
- {
- "teal": 554,
- "source": 97,
- "pc": [
- 568,
- 569
- ]
- },
- {
- "teal": 555,
- "source": 97,
- "pc": [
- 570,
- 571
- ]
- },
- {
- "teal": 556,
- "source": 97,
- "pc": [
- 572
- ]
- },
- {
- "teal": 557,
- "source": 97,
- "pc": [
- 573
- ]
- },
- {
- "teal": 558,
- "source": 97,
- "pc": [
- 574
- ]
- },
- {
- "teal": 559,
- "source": 97,
- "pc": [
- 575
- ]
- },
- {
- "teal": 560,
- "source": 97,
- "pc": [
- 576
- ]
- },
- {
- "teal": 561,
- "source": 97,
- "pc": [
- 577
- ]
- },
- {
- "teal": 562,
- "source": 97,
- "pc": [
- 578,
- 579
- ]
- },
- {
- "teal": 563,
- "source": 97,
- "pc": [
- 580
- ]
- },
- {
- "teal": 566,
- "source": 97,
- "errorMessage": "box value does not exist: this.whitelist(whitelist).value",
- "pc": [
- 581
- ]
- },
- {
- "teal": 567,
- "source": 97,
- "pc": [
- 582,
- 583,
- 584
- ]
- },
- {
- "teal": 568,
- "source": 97,
- "pc": [
- 585,
- 586
- ]
- },
- {
- "teal": 569,
- "source": 97,
- "pc": [
- 587,
- 588
- ]
- },
- {
- "teal": 570,
- "source": 97,
- "pc": [
- 589
- ]
- },
- {
- "teal": 571,
- "source": 97,
- "pc": [
- 590
- ]
- },
- {
- "teal": 572,
- "source": 97,
- "pc": [
- 591
- ]
- },
- {
- "teal": 573,
- "source": 97,
- "pc": [
- 592
- ]
- },
- {
- "teal": 574,
- "source": 97,
- "pc": [
- 593,
- 594
- ]
- },
- {
- "teal": 575,
- "source": 97,
- "pc": [
- 595
- ]
- },
- {
- "teal": 576,
- "source": 97,
- "pc": [
- 596
- ]
- },
- {
- "teal": 577,
- "source": 97,
- "pc": [
- 597
- ]
- },
- {
- "teal": 578,
- "source": 97,
- "pc": [
- 598
- ]
- },
- {
- "teal": 579,
- "source": 97,
- "pc": [
- 599
- ]
- },
- {
- "teal": 580,
- "source": 97,
- "pc": [
- 600
- ]
- },
- {
- "teal": 581,
- "source": 97,
- "pc": [
- 601
- ]
- },
- {
- "teal": 582,
- "source": 97,
- "pc": [
- 602
- ]
- },
- {
- "teal": 583,
- "source": 97,
- "pc": [
- 603
- ]
- },
- {
- "teal": 584,
- "source": 97,
- "pc": [
- 604,
- 605,
- 606
- ]
- },
- {
- "teal": 585,
- "source": 97,
- "pc": [
- 607
- ]
- },
- {
- "teal": 586,
- "source": 97,
- "pc": [
- 608
- ]
- },
- {
- "teal": 587,
- "source": 97,
- "pc": [
- 609
- ]
- },
- {
- "teal": 588,
- "source": 97,
- "pc": [
- 610,
- 611
- ]
- },
- {
- "teal": 592,
- "source": 99,
- "pc": [
- 612,
- 613
- ]
- },
- {
- "teal": 593,
- "source": 99,
- "pc": [
- 614,
- 615
- ]
- },
- {
- "teal": 594,
- "source": 99,
- "pc": [
- 616,
- 617
- ]
- },
- {
- "teal": 595,
- "source": 99,
- "pc": [
- 618,
- 619,
- 620
- ]
- },
- {
- "teal": 596,
- "source": 99,
- "pc": [
- 621
- ]
- },
- {
- "teal": 597,
- "source": 99,
- "pc": [
- 622,
- 623
- ]
- },
- {
- "teal": 598,
- "source": 99,
- "pc": [
- 624
- ]
- },
- {
- "teal": 599,
- "source": 99,
- "pc": [
- 625
- ]
- },
- {
- "teal": 603,
- "source": 101,
- "pc": [
- 626,
- 627
- ]
- },
- {
- "teal": 604,
- "source": 101,
- "pc": [
- 628,
- 629,
- 630
- ]
- },
- {
- "teal": 605,
- "source": 93,
- "pc": [
- 631
- ]
- },
- {
- "teal": 608,
- "source": 6,
- "pc": [
- 632
- ]
- },
- {
- "teal": 609,
- "source": 6,
- "pc": [
- 633
- ]
- },
- {
- "teal": 612,
- "source": 6,
- "pc": [
- 634,
- 635,
- 636,
- 637,
- 638,
- 639
- ]
- },
- {
- "teal": 613,
- "source": 6,
- "pc": [
- 640,
- 641,
- 642
- ]
- },
- {
- "teal": 614,
- "source": 6,
- "pc": [
- 643,
- 644,
- 645,
- 646
- ]
- },
- {
- "teal": 617,
- "source": 6,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 647
- ]
- },
- {
- "teal": 620,
- "source": 6,
- "pc": [
- 648,
- 649,
- 650,
- 651,
- 652,
- 653
- ]
- },
- {
- "teal": 621,
- "source": 6,
- "pc": [
- 654,
- 655,
- 656,
- 657,
- 658,
- 659
- ]
- },
- {
- "teal": 622,
- "source": 6,
- "pc": [
- 660,
- 661,
- 662,
- 663,
- 664,
- 665
- ]
- },
- {
- "teal": 623,
- "source": 6,
- "pc": [
- 666,
- 667,
- 668,
- 669,
- 670,
- 671
- ]
- },
- {
- "teal": 624,
- "source": 6,
- "pc": [
- 672,
- 673,
- 674
- ]
- },
- {
- "teal": 625,
- "source": 6,
- "pc": [
- 675,
- 676,
- 677,
- 678,
- 679,
- 680,
- 681,
- 682,
- 683,
- 684
- ]
- },
- {
- "teal": 628,
- "source": 6,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 685
- ]
- },
- {
- "teal": 631,
- "source": 6,
- "pc": [
- 686,
- 687,
- 688
- ]
- },
- {
- "teal": 632,
- "source": 6,
- "pc": [
- 689,
- 690
- ]
- },
- {
- "teal": 633,
- "source": 6,
- "pc": [
- 691,
- 692
- ]
- },
- {
- "teal": 634,
- "source": 6,
- "pc": [
- 693
- ]
- },
- {
- "teal": 635,
- "source": 6,
- "pc": [
- 694,
- 695
- ]
- },
- {
- "teal": 636,
- "source": 6,
- "pc": [
- 696,
- 697
- ]
- },
- {
- "teal": 637,
- "source": 6,
- "pc": [
- 698
- ]
- },
- {
- "teal": 640,
- "source": 6,
- "pc": [
- 699,
- 700,
- 701
- ]
- },
- {
- "teal": 641,
- "source": 6,
- "pc": [
- 702,
- 703
- ]
- },
- {
- "teal": 642,
- "source": 6,
- "pc": [
- 704,
- 705
- ]
- },
- {
- "teal": 643,
- "source": 6,
- "pc": [
- 706
- ]
- },
- {
- "teal": 644,
- "source": 6,
- "pc": [
- 707,
- 708
- ]
- },
- {
- "teal": 645,
- "source": 6,
- "pc": [
- 709,
- 710
- ]
- },
- {
- "teal": 646,
- "source": 6,
- "pc": [
- 711
- ]
- },
- {
- "teal": 647,
- "source": 6,
- "pc": [
- 712
- ]
- },
- {
- "teal": 648,
- "source": 6,
- "pc": [
- 713,
- 714
- ]
- },
- {
- "teal": 649,
- "source": 6,
- "pc": [
- 715
- ]
- },
- {
- "teal": 650,
- "source": 6,
- "pc": [
- 716
- ]
- },
- {
- "teal": 651,
- "source": 6,
- "pc": [
- 717
- ]
- },
- {
- "teal": 652,
- "source": 6,
- "pc": [
- 718,
- 719,
- 720
- ]
- },
- {
- "teal": 653,
- "source": 6,
- "pc": [
- 721,
- 722
- ]
- },
- {
- "teal": 654,
- "source": 6,
- "pc": [
- 723,
- 724
- ]
- },
- {
- "teal": 655,
- "source": 6,
- "pc": [
- 725
- ]
- },
- {
- "teal": 656,
- "source": 6,
- "pc": [
- 726
- ]
- },
- {
- "teal": 657,
- "source": 6,
- "pc": [
- 727,
- 728
- ]
- },
- {
- "teal": 658,
- "source": 6,
- "pc": [
- 729,
- 730
- ]
- },
- {
- "teal": 659,
- "source": 6,
- "pc": [
- 731,
- 732
- ]
- },
- {
- "teal": 660,
- "source": 6,
- "pc": [
- 733,
- 734
- ]
- },
- {
- "teal": 661,
- "source": 6,
- "pc": [
- 735
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 6,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 6,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 6,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 6,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 6,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 6,
+ "pc": [
+ 19,
+ 20
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 6,
+ "pc": [
+ 21
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 6,
+ "pc": [
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 6,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 27,
+ "source": 9,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 10,
+ "pc": [
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 11,
+ "pc": [
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 11,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 11,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 11,
+ "errorMessage": "transaction verification failed: {\"txn\":\"payment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 10,
+ "pc": [
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 12,
+ "pc": [
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 12,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 12,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 12,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 12,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 12,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 12,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 12,
+ "errorMessage": "transaction verification failed: {\"txn\":\"payment\",\"field\":\"amount\",\"expected\":\"this.app.address.minBalance - preMBR\"}",
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 9,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 16,
+ "pc": [
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 17,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 17,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 17,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 18,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 18,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 19,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 19,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 19,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 19,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 19,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 19,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 17,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 17,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 17,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 16,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 32,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 32,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 32,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 32,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 32,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 32,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 32,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 32,
+ "errorMessage": "argument 0 (payment) for addAppToWhiteList must be a pay transaction",
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 32,
+ "pc": [
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 32,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 32,
+ "pc": [
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 32,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 32,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 32,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 32,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 32,
+ "errorMessage": "argument 2 (boxIndex) for addAppToWhiteList must be a uint16",
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 32,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 32,
+ "pc": [
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 32,
+ "pc": [
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 32,
+ "pc": [
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 32,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 32,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 32,
+ "pc": [
+ 135,
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 32,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 32,
+ "pc": [
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 33,
+ "pc": [
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 33,
+ "pc": [
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 33,
+ "pc": [
+ 145
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 33,
+ "pc": [
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 34,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 34,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 34,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 34,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 34,
+ "pc": [
+ 153,
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 34,
+ "pc": [
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 34,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 34,
+ "pc": [
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 34,
+ "pc": [
+ 162,
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 34,
+ "pc": [
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 34,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 34,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 34,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 34,
+ "pc": [
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 34,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 34,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 34,
+ "pc": [
+ 175,
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 34,
+ "pc": [
+ 178
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 34,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 34,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 36,
+ "pc": [
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 36,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 36,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 36,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 36,
+ "pc": [
+ 187,
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 37,
+ "pc": [
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 37,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 37,
+ "errorMessage": "box value does not exist: this.whitelist(whitelist).value",
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 37,
+ "pc": [
+ 194,
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 37,
+ "pc": [
+ 197,
+ 198
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 37,
+ "pc": [
+ 199
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 37,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 37,
+ "pc": [
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 37,
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 37,
+ "pc": [
+ 204
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 37,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 37,
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 37,
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 37,
+ "pc": [
+ 208
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 37,
+ "pc": [
+ 209
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 37,
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 37,
+ "pc": [
+ 211
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 37,
+ "pc": [
+ 212,
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 37,
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 37,
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 37,
+ "pc": [
+ 217
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 36,
+ "pc": [
+ 218,
+ 219,
+ 220
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 39,
+ "pc": [
+ 221,
+ 222
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 39,
+ "pc": [
+ 223
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 39,
+ "pc": [
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 40,
+ "pc": [
+ 226,
+ 227
+ ]
+ },
+ {
+ "teal": 222,
+ "source": 40,
+ "pc": [
+ 228
+ ]
+ },
+ {
+ "teal": 223,
+ "source": 40,
+ "pc": [
+ 229
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 40,
+ "pc": [
+ 230
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 40,
+ "pc": [
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 40,
+ "pc": [
+ 233
+ ]
+ },
+ {
+ "teal": 227,
+ "source": 40,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 40,
+ "pc": [
+ 235
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 40,
+ "pc": [
+ 236
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 40,
+ "pc": [
+ 237
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 40,
+ "pc": [
+ 238,
+ 239,
+ 240
+ ]
+ },
+ {
+ "teal": 232,
+ "source": 40,
+ "pc": [
+ 241
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 40,
+ "pc": [
+ 242
+ ]
+ },
+ {
+ "teal": 234,
+ "source": 40,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 43,
+ "pc": [
+ 244,
+ 245
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 43,
+ "pc": [
+ 246,
+ 247
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 43,
+ "pc": [
+ 248,
+ 249,
+ 250
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 32,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 54,
+ "pc": [
+ 252,
+ 253,
+ 254
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 54,
+ "pc": [
+ 255,
+ 256,
+ 257
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 54,
+ "pc": [
+ 258,
+ 259,
+ 260
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 54,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 54,
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 54,
+ "pc": [
+ 263
+ ]
+ },
+ {
+ "teal": 255,
+ "source": 54,
+ "pc": [
+ 264
+ ]
+ },
+ {
+ "teal": 258,
+ "source": 54,
+ "errorMessage": "argument 1 (boxIndex) for setAppWhitelist must be a uint16",
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 54,
+ "pc": [
+ 266
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 54,
+ "pc": [
+ 267,
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 54,
+ "pc": [
+ 270,
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 266,
+ "source": 54,
+ "pc": [
+ 273,
+ 274,
+ 275
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 54,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 54,
+ "pc": [
+ 277
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 54,
+ "pc": [
+ 278,
+ 279,
+ 280
+ ]
+ },
+ {
+ "teal": 281,
+ "source": 54,
+ "pc": [
+ 281
+ ]
+ },
+ {
+ "teal": 282,
+ "source": 54,
+ "pc": [
+ 282
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 55,
+ "pc": [
+ 283,
+ 284
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 55,
+ "pc": [
+ 285,
+ 286
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 55,
+ "pc": [
+ 287
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 55,
+ "pc": [
+ 288,
+ 289
+ ]
+ },
+ {
+ "teal": 293,
+ "source": 56,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 56,
+ "pc": [
+ 291
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 56,
+ "pc": [
+ 292
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 56,
+ "pc": [
+ 293,
+ 294
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 56,
+ "pc": [
+ 295,
+ 296,
+ 297
+ ]
+ },
+ {
+ "teal": 298,
+ "source": 56,
+ "pc": [
+ 298,
+ 299
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 56,
+ "pc": [
+ 300
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 56,
+ "pc": [
+ 301,
+ 302,
+ 303
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 56,
+ "pc": [
+ 304,
+ 305,
+ 306
+ ]
+ },
+ {
+ "teal": 302,
+ "source": 56,
+ "pc": [
+ 307,
+ 308
+ ]
+ },
+ {
+ "teal": 303,
+ "source": 56,
+ "pc": [
+ 309
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 56,
+ "pc": [
+ 310
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 56,
+ "pc": [
+ 311
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 56,
+ "pc": [
+ 312,
+ 313,
+ 314
+ ]
+ },
+ {
+ "teal": 307,
+ "source": 56,
+ "pc": [
+ 315
+ ]
+ },
+ {
+ "teal": 308,
+ "source": 56,
+ "pc": [
+ 316
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 56,
+ "pc": [
+ 317,
+ 318,
+ 319
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 56,
+ "pc": [
+ 320
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 56,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 56,
+ "pc": [
+ 322,
+ 323
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 58,
+ "pc": [
+ 324,
+ 325
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 58,
+ "pc": [
+ 326
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 60,
+ "pc": [
+ 327,
+ 328
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 60,
+ "pc": [
+ 329
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 60,
+ "pc": [
+ 330
+ ]
+ },
+ {
+ "teal": 324,
+ "source": 60,
+ "pc": [
+ 331
+ ]
+ },
+ {
+ "teal": 325,
+ "source": 60,
+ "pc": [
+ 332,
+ 333
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 60,
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 60,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 60,
+ "pc": [
+ 336
+ ]
+ },
+ {
+ "teal": 329,
+ "source": 60,
+ "pc": [
+ 337
+ ]
+ },
+ {
+ "teal": 330,
+ "source": 60,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 331,
+ "source": 60,
+ "pc": [
+ 339,
+ 340,
+ 341
+ ]
+ },
+ {
+ "teal": 332,
+ "source": 60,
+ "pc": [
+ 342
+ ]
+ },
+ {
+ "teal": 333,
+ "source": 60,
+ "pc": [
+ 343
+ ]
+ },
+ {
+ "teal": 334,
+ "source": 60,
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 62,
+ "pc": [
+ 345,
+ 346
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 62,
+ "pc": [
+ 347,
+ 348
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 62,
+ "pc": [
+ 349,
+ 350
+ ]
+ },
+ {
+ "teal": 342,
+ "source": 62,
+ "pc": [
+ 351
+ ]
+ },
+ {
+ "teal": 343,
+ "source": 62,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 344,
+ "source": 62,
+ "pc": [
+ 353,
+ 354,
+ 355
+ ]
+ },
+ {
+ "teal": 349,
+ "source": 63,
+ "pc": [
+ 356,
+ 357
+ ]
+ },
+ {
+ "teal": 350,
+ "source": 63,
+ "pc": [
+ 358,
+ 359,
+ 360
+ ]
+ },
+ {
+ "teal": 351,
+ "source": 62,
+ "pc": [
+ 361,
+ 362,
+ 363
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 65,
+ "pc": [
+ 364,
+ 365
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 65,
+ "pc": [
+ 366,
+ 367
+ ]
+ },
+ {
+ "teal": 358,
+ "source": 65,
+ "pc": [
+ 368
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 65,
+ "pc": [
+ 369
+ ]
+ },
+ {
+ "teal": 360,
+ "source": 65,
+ "pc": [
+ 370
+ ]
+ },
+ {
+ "teal": 361,
+ "source": 65,
+ "pc": [
+ 371,
+ 372
+ ]
+ },
+ {
+ "teal": 362,
+ "source": 65,
+ "pc": [
+ 373
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 65,
+ "pc": [
+ 374
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 65,
+ "errorMessage": "failed to cast this.txnGroup[this.txn.groupIndex - 1] to pay",
+ "pc": [
+ 375
+ ]
+ },
+ {
+ "teal": 367,
+ "source": 65,
+ "pc": [
+ 376,
+ 377,
+ 378
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 54,
+ "pc": [
+ 379
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 76,
+ "pc": [
+ 380,
+ 381,
+ 382
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 76,
+ "pc": [
+ 383
+ ]
+ },
+ {
+ "teal": 377,
+ "source": 76,
+ "pc": [
+ 384
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 76,
+ "pc": [
+ 385
+ ]
+ },
+ {
+ "teal": 379,
+ "source": 76,
+ "pc": [
+ 386
+ ]
+ },
+ {
+ "teal": 382,
+ "source": 76,
+ "errorMessage": "argument 0 (boxIndex) for deleteWhitelist must be a uint16",
+ "pc": [
+ 387
+ ]
+ },
+ {
+ "teal": 383,
+ "source": 76,
+ "pc": [
+ 388
+ ]
+ },
+ {
+ "teal": 386,
+ "source": 76,
+ "pc": [
+ 389,
+ 390,
+ 391
+ ]
+ },
+ {
+ "teal": 387,
+ "source": 76,
+ "pc": [
+ 392,
+ 393,
+ 394
+ ]
+ },
+ {
+ "teal": 390,
+ "source": 76,
+ "pc": [
+ 395,
+ 396,
+ 397
+ ]
+ },
+ {
+ "teal": 391,
+ "source": 76,
+ "pc": [
+ 398
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 76,
+ "pc": [
+ 399
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 76,
+ "pc": [
+ 400,
+ 401,
+ 402
+ ]
+ },
+ {
+ "teal": 404,
+ "source": 76,
+ "pc": [
+ 403
+ ]
+ },
+ {
+ "teal": 405,
+ "source": 76,
+ "pc": [
+ 404
+ ]
+ },
+ {
+ "teal": 409,
+ "source": 77,
+ "pc": [
+ 405,
+ 406
+ ]
+ },
+ {
+ "teal": 410,
+ "source": 77,
+ "pc": [
+ 407,
+ 408
+ ]
+ },
+ {
+ "teal": 411,
+ "source": 77,
+ "pc": [
+ 409
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 77,
+ "pc": [
+ 410,
+ 411
+ ]
+ },
+ {
+ "teal": 416,
+ "source": 78,
+ "pc": [
+ 412
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 78,
+ "pc": [
+ 413
+ ]
+ },
+ {
+ "teal": 418,
+ "source": 78,
+ "pc": [
+ 414
+ ]
+ },
+ {
+ "teal": 419,
+ "source": 78,
+ "pc": [
+ 415,
+ 416
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 78,
+ "pc": [
+ 417,
+ 418,
+ 419
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 78,
+ "pc": [
+ 420,
+ 421
+ ]
+ },
+ {
+ "teal": 422,
+ "source": 78,
+ "pc": [
+ 422
+ ]
+ },
+ {
+ "teal": 423,
+ "source": 78,
+ "pc": [
+ 423,
+ 424,
+ 425
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 78,
+ "pc": [
+ 426,
+ 427,
+ 428
+ ]
+ },
+ {
+ "teal": 425,
+ "source": 78,
+ "pc": [
+ 429,
+ 430
+ ]
+ },
+ {
+ "teal": 426,
+ "source": 78,
+ "pc": [
+ 431
+ ]
+ },
+ {
+ "teal": 427,
+ "source": 78,
+ "pc": [
+ 432
+ ]
+ },
+ {
+ "teal": 428,
+ "source": 78,
+ "pc": [
+ 433
+ ]
+ },
+ {
+ "teal": 429,
+ "source": 78,
+ "pc": [
+ 434,
+ 435,
+ 436
+ ]
+ },
+ {
+ "teal": 430,
+ "source": 78,
+ "pc": [
+ 437
+ ]
+ },
+ {
+ "teal": 431,
+ "source": 78,
+ "pc": [
+ 438
+ ]
+ },
+ {
+ "teal": 432,
+ "source": 78,
+ "pc": [
+ 439,
+ 440,
+ 441
+ ]
+ },
+ {
+ "teal": 433,
+ "source": 78,
+ "pc": [
+ 442
+ ]
+ },
+ {
+ "teal": 434,
+ "source": 78,
+ "pc": [
+ 443
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 78,
+ "pc": [
+ 444,
+ 445
+ ]
+ },
+ {
+ "teal": 439,
+ "source": 80,
+ "pc": [
+ 446,
+ 447
+ ]
+ },
+ {
+ "teal": 440,
+ "source": 80,
+ "pc": [
+ 448
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 82,
+ "pc": [
+ 449,
+ 450
+ ]
+ },
+ {
+ "teal": 445,
+ "source": 82,
+ "pc": [
+ 451,
+ 452,
+ 453
+ ]
+ },
+ {
+ "teal": 446,
+ "source": 76,
+ "pc": [
+ 454
+ ]
+ },
+ {
+ "teal": 451,
+ "source": 93,
+ "pc": [
+ 455,
+ 456,
+ 457
+ ]
+ },
+ {
+ "teal": 452,
+ "source": 93,
+ "pc": [
+ 458
+ ]
+ },
+ {
+ "teal": 455,
+ "source": 93,
+ "pc": [
+ 459,
+ 460,
+ 461
+ ]
+ },
+ {
+ "teal": 456,
+ "source": 93,
+ "pc": [
+ 462
+ ]
+ },
+ {
+ "teal": 459,
+ "source": 93,
+ "pc": [
+ 463,
+ 464,
+ 465
+ ]
+ },
+ {
+ "teal": 460,
+ "source": 93,
+ "pc": [
+ 466
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 93,
+ "pc": [
+ 467
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 93,
+ "pc": [
+ 468
+ ]
+ },
+ {
+ "teal": 463,
+ "source": 93,
+ "pc": [
+ 469
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 93,
+ "errorMessage": "argument 2 (boxIndex) for deleteAppFromWhitelist must be a uint16",
+ "pc": [
+ 470
+ ]
+ },
+ {
+ "teal": 467,
+ "source": 93,
+ "pc": [
+ 471
+ ]
+ },
+ {
+ "teal": 470,
+ "source": 93,
+ "pc": [
+ 472,
+ 473,
+ 474
+ ]
+ },
+ {
+ "teal": 471,
+ "source": 93,
+ "pc": [
+ 475,
+ 476,
+ 477
+ ]
+ },
+ {
+ "teal": 474,
+ "source": 93,
+ "pc": [
+ 478,
+ 479,
+ 480
+ ]
+ },
+ {
+ "teal": 475,
+ "source": 93,
+ "pc": [
+ 481
+ ]
+ },
+ {
+ "teal": 476,
+ "source": 93,
+ "pc": [
+ 482
+ ]
+ },
+ {
+ "teal": 486,
+ "source": 93,
+ "pc": [
+ 483,
+ 484,
+ 485
+ ]
+ },
+ {
+ "teal": 489,
+ "source": 93,
+ "pc": [
+ 486
+ ]
+ },
+ {
+ "teal": 490,
+ "source": 93,
+ "pc": [
+ 487,
+ 488
+ ]
+ },
+ {
+ "teal": 494,
+ "source": 94,
+ "pc": [
+ 489,
+ 490
+ ]
+ },
+ {
+ "teal": 495,
+ "source": 94,
+ "pc": [
+ 491,
+ 492
+ ]
+ },
+ {
+ "teal": 496,
+ "source": 94,
+ "pc": [
+ 493
+ ]
+ },
+ {
+ "teal": 497,
+ "source": 94,
+ "pc": [
+ 494,
+ 495
+ ]
+ },
+ {
+ "teal": 501,
+ "source": 95,
+ "pc": [
+ 496
+ ]
+ },
+ {
+ "teal": 502,
+ "source": 95,
+ "pc": [
+ 497
+ ]
+ },
+ {
+ "teal": 503,
+ "source": 95,
+ "pc": [
+ 498
+ ]
+ },
+ {
+ "teal": 504,
+ "source": 95,
+ "pc": [
+ 499,
+ 500
+ ]
+ },
+ {
+ "teal": 505,
+ "source": 95,
+ "pc": [
+ 501,
+ 502,
+ 503
+ ]
+ },
+ {
+ "teal": 506,
+ "source": 95,
+ "pc": [
+ 504,
+ 505
+ ]
+ },
+ {
+ "teal": 507,
+ "source": 95,
+ "pc": [
+ 506
+ ]
+ },
+ {
+ "teal": 508,
+ "source": 95,
+ "pc": [
+ 507,
+ 508,
+ 509
+ ]
+ },
+ {
+ "teal": 509,
+ "source": 95,
+ "pc": [
+ 510,
+ 511,
+ 512
+ ]
+ },
+ {
+ "teal": 510,
+ "source": 95,
+ "pc": [
+ 513,
+ 514
+ ]
+ },
+ {
+ "teal": 511,
+ "source": 95,
+ "pc": [
+ 515
+ ]
+ },
+ {
+ "teal": 512,
+ "source": 95,
+ "pc": [
+ 516
+ ]
+ },
+ {
+ "teal": 513,
+ "source": 95,
+ "pc": [
+ 517
+ ]
+ },
+ {
+ "teal": 514,
+ "source": 95,
+ "pc": [
+ 518,
+ 519,
+ 520
+ ]
+ },
+ {
+ "teal": 515,
+ "source": 95,
+ "pc": [
+ 521
+ ]
+ },
+ {
+ "teal": 516,
+ "source": 95,
+ "pc": [
+ 522
+ ]
+ },
+ {
+ "teal": 517,
+ "source": 95,
+ "pc": [
+ 523,
+ 524,
+ 525
+ ]
+ },
+ {
+ "teal": 518,
+ "source": 95,
+ "pc": [
+ 526
+ ]
+ },
+ {
+ "teal": 519,
+ "source": 95,
+ "pc": [
+ 527
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 95,
+ "pc": [
+ 528,
+ 529
+ ]
+ },
+ {
+ "teal": 524,
+ "source": 97,
+ "pc": [
+ 530,
+ 531
+ ]
+ },
+ {
+ "teal": 525,
+ "source": 97,
+ "pc": [
+ 532
+ ]
+ },
+ {
+ "teal": 528,
+ "source": 97,
+ "errorMessage": "box value does not exist: this.whitelist(whitelist).value",
+ "pc": [
+ 533
+ ]
+ },
+ {
+ "teal": 529,
+ "source": 97,
+ "pc": [
+ 534,
+ 535,
+ 536
+ ]
+ },
+ {
+ "teal": 530,
+ "source": 97,
+ "pc": [
+ 537
+ ]
+ },
+ {
+ "teal": 531,
+ "source": 97,
+ "pc": [
+ 538,
+ 539
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 97,
+ "pc": [
+ 540
+ ]
+ },
+ {
+ "teal": 533,
+ "source": 97,
+ "pc": [
+ 541
+ ]
+ },
+ {
+ "teal": 534,
+ "source": 97,
+ "pc": [
+ 542,
+ 543
+ ]
+ },
+ {
+ "teal": 535,
+ "source": 97,
+ "pc": [
+ 544,
+ 545
+ ]
+ },
+ {
+ "teal": 536,
+ "source": 97,
+ "pc": [
+ 546,
+ 547
+ ]
+ },
+ {
+ "teal": 537,
+ "source": 97,
+ "pc": [
+ 548,
+ 549
+ ]
+ },
+ {
+ "teal": 538,
+ "source": 97,
+ "pc": [
+ 550
+ ]
+ },
+ {
+ "teal": 541,
+ "source": 97,
+ "errorMessage": "box value does not exist: this.whitelist(whitelist).value",
+ "pc": [
+ 551
+ ]
+ },
+ {
+ "teal": 542,
+ "source": 97,
+ "pc": [
+ 552,
+ 553,
+ 554
+ ]
+ },
+ {
+ "teal": 543,
+ "source": 97,
+ "pc": [
+ 555
+ ]
+ },
+ {
+ "teal": 544,
+ "source": 97,
+ "pc": [
+ 556,
+ 557
+ ]
+ },
+ {
+ "teal": 545,
+ "source": 97,
+ "pc": [
+ 558
+ ]
+ },
+ {
+ "teal": 546,
+ "source": 97,
+ "pc": [
+ 559,
+ 560
+ ]
+ },
+ {
+ "teal": 547,
+ "source": 97,
+ "pc": [
+ 561
+ ]
+ },
+ {
+ "teal": 550,
+ "source": 97,
+ "errorMessage": "box value does not exist: this.whitelist(whitelist).value",
+ "pc": [
+ 562
+ ]
+ },
+ {
+ "teal": 551,
+ "source": 97,
+ "pc": [
+ 563,
+ 564,
+ 565
+ ]
+ },
+ {
+ "teal": 552,
+ "source": 97,
+ "pc": [
+ 566
+ ]
+ },
+ {
+ "teal": 553,
+ "source": 97,
+ "pc": [
+ 567
+ ]
+ },
+ {
+ "teal": 554,
+ "source": 97,
+ "pc": [
+ 568,
+ 569
+ ]
+ },
+ {
+ "teal": 555,
+ "source": 97,
+ "pc": [
+ 570,
+ 571
+ ]
+ },
+ {
+ "teal": 556,
+ "source": 97,
+ "pc": [
+ 572
+ ]
+ },
+ {
+ "teal": 557,
+ "source": 97,
+ "pc": [
+ 573
+ ]
+ },
+ {
+ "teal": 558,
+ "source": 97,
+ "pc": [
+ 574
+ ]
+ },
+ {
+ "teal": 559,
+ "source": 97,
+ "pc": [
+ 575
+ ]
+ },
+ {
+ "teal": 560,
+ "source": 97,
+ "pc": [
+ 576
+ ]
+ },
+ {
+ "teal": 561,
+ "source": 97,
+ "pc": [
+ 577
+ ]
+ },
+ {
+ "teal": 562,
+ "source": 97,
+ "pc": [
+ 578,
+ 579
+ ]
+ },
+ {
+ "teal": 563,
+ "source": 97,
+ "pc": [
+ 580
+ ]
+ },
+ {
+ "teal": 566,
+ "source": 97,
+ "errorMessage": "box value does not exist: this.whitelist(whitelist).value",
+ "pc": [
+ 581
+ ]
+ },
+ {
+ "teal": 567,
+ "source": 97,
+ "pc": [
+ 582,
+ 583,
+ 584
+ ]
+ },
+ {
+ "teal": 568,
+ "source": 97,
+ "pc": [
+ 585,
+ 586
+ ]
+ },
+ {
+ "teal": 569,
+ "source": 97,
+ "pc": [
+ 587,
+ 588
+ ]
+ },
+ {
+ "teal": 570,
+ "source": 97,
+ "pc": [
+ 589
+ ]
+ },
+ {
+ "teal": 571,
+ "source": 97,
+ "pc": [
+ 590
+ ]
+ },
+ {
+ "teal": 572,
+ "source": 97,
+ "pc": [
+ 591
+ ]
+ },
+ {
+ "teal": 573,
+ "source": 97,
+ "pc": [
+ 592
+ ]
+ },
+ {
+ "teal": 574,
+ "source": 97,
+ "pc": [
+ 593,
+ 594
+ ]
+ },
+ {
+ "teal": 575,
+ "source": 97,
+ "pc": [
+ 595
+ ]
+ },
+ {
+ "teal": 576,
+ "source": 97,
+ "pc": [
+ 596
+ ]
+ },
+ {
+ "teal": 577,
+ "source": 97,
+ "pc": [
+ 597
+ ]
+ },
+ {
+ "teal": 578,
+ "source": 97,
+ "pc": [
+ 598
+ ]
+ },
+ {
+ "teal": 579,
+ "source": 97,
+ "pc": [
+ 599
+ ]
+ },
+ {
+ "teal": 580,
+ "source": 97,
+ "pc": [
+ 600
+ ]
+ },
+ {
+ "teal": 581,
+ "source": 97,
+ "pc": [
+ 601
+ ]
+ },
+ {
+ "teal": 582,
+ "source": 97,
+ "pc": [
+ 602
+ ]
+ },
+ {
+ "teal": 583,
+ "source": 97,
+ "pc": [
+ 603
+ ]
+ },
+ {
+ "teal": 584,
+ "source": 97,
+ "pc": [
+ 604,
+ 605,
+ 606
+ ]
+ },
+ {
+ "teal": 585,
+ "source": 97,
+ "pc": [
+ 607
+ ]
+ },
+ {
+ "teal": 586,
+ "source": 97,
+ "pc": [
+ 608
+ ]
+ },
+ {
+ "teal": 587,
+ "source": 97,
+ "pc": [
+ 609
+ ]
+ },
+ {
+ "teal": 588,
+ "source": 97,
+ "pc": [
+ 610,
+ 611
+ ]
+ },
+ {
+ "teal": 592,
+ "source": 99,
+ "pc": [
+ 612,
+ 613
+ ]
+ },
+ {
+ "teal": 593,
+ "source": 99,
+ "pc": [
+ 614,
+ 615
+ ]
+ },
+ {
+ "teal": 594,
+ "source": 99,
+ "pc": [
+ 616,
+ 617
+ ]
+ },
+ {
+ "teal": 595,
+ "source": 99,
+ "pc": [
+ 618,
+ 619,
+ 620
+ ]
+ },
+ {
+ "teal": 596,
+ "source": 99,
+ "pc": [
+ 621
+ ]
+ },
+ {
+ "teal": 597,
+ "source": 99,
+ "pc": [
+ 622,
+ 623
+ ]
+ },
+ {
+ "teal": 598,
+ "source": 99,
+ "pc": [
+ 624
+ ]
+ },
+ {
+ "teal": 599,
+ "source": 99,
+ "pc": [
+ 625
+ ]
+ },
+ {
+ "teal": 603,
+ "source": 101,
+ "pc": [
+ 626,
+ 627
+ ]
+ },
+ {
+ "teal": 604,
+ "source": 101,
+ "pc": [
+ 628,
+ 629,
+ 630
+ ]
+ },
+ {
+ "teal": 605,
+ "source": 93,
+ "pc": [
+ 631
+ ]
+ },
+ {
+ "teal": 608,
+ "source": 6,
+ "pc": [
+ 632
+ ]
+ },
+ {
+ "teal": 609,
+ "source": 6,
+ "pc": [
+ 633
+ ]
+ },
+ {
+ "teal": 612,
+ "source": 6,
+ "pc": [
+ 634,
+ 635,
+ 636,
+ 637,
+ 638,
+ 639
+ ]
+ },
+ {
+ "teal": 613,
+ "source": 6,
+ "pc": [
+ 640,
+ 641,
+ 642
+ ]
+ },
+ {
+ "teal": 614,
+ "source": 6,
+ "pc": [
+ 643,
+ 644,
+ 645,
+ 646
+ ]
+ },
+ {
+ "teal": 617,
+ "source": 6,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 647
+ ]
+ },
+ {
+ "teal": 620,
+ "source": 6,
+ "pc": [
+ 648,
+ 649,
+ 650,
+ 651,
+ 652,
+ 653
+ ]
+ },
+ {
+ "teal": 621,
+ "source": 6,
+ "pc": [
+ 654,
+ 655,
+ 656,
+ 657,
+ 658,
+ 659
+ ]
+ },
+ {
+ "teal": 622,
+ "source": 6,
+ "pc": [
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665
+ ]
+ },
+ {
+ "teal": 623,
+ "source": 6,
+ "pc": [
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671
+ ]
+ },
+ {
+ "teal": 624,
+ "source": 6,
+ "pc": [
+ 672,
+ 673,
+ 674
+ ]
+ },
+ {
+ "teal": 625,
+ "source": 6,
+ "pc": [
+ 675,
+ 676,
+ 677,
+ 678,
+ 679,
+ 680,
+ 681,
+ 682,
+ 683,
+ 684
+ ]
+ },
+ {
+ "teal": 628,
+ "source": 6,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 685
+ ]
+ },
+ {
+ "teal": 631,
+ "source": 6,
+ "pc": [
+ 686,
+ 687,
+ 688
+ ]
+ },
+ {
+ "teal": 632,
+ "source": 6,
+ "pc": [
+ 689,
+ 690
+ ]
+ },
+ {
+ "teal": 633,
+ "source": 6,
+ "pc": [
+ 691,
+ 692
+ ]
+ },
+ {
+ "teal": 634,
+ "source": 6,
+ "pc": [
+ 693
+ ]
+ },
+ {
+ "teal": 635,
+ "source": 6,
+ "pc": [
+ 694,
+ 695
+ ]
+ },
+ {
+ "teal": 636,
+ "source": 6,
+ "pc": [
+ 696,
+ 697
+ ]
+ },
+ {
+ "teal": 637,
+ "source": 6,
+ "pc": [
+ 698
+ ]
+ },
+ {
+ "teal": 640,
+ "source": 6,
+ "pc": [
+ 699,
+ 700,
+ 701
+ ]
+ },
+ {
+ "teal": 641,
+ "source": 6,
+ "pc": [
+ 702,
+ 703
+ ]
+ },
+ {
+ "teal": 642,
+ "source": 6,
+ "pc": [
+ 704,
+ 705
+ ]
+ },
+ {
+ "teal": 643,
+ "source": 6,
+ "pc": [
+ 706
+ ]
+ },
+ {
+ "teal": 644,
+ "source": 6,
+ "pc": [
+ 707,
+ 708
+ ]
+ },
+ {
+ "teal": 645,
+ "source": 6,
+ "pc": [
+ 709,
+ 710
+ ]
+ },
+ {
+ "teal": 646,
+ "source": 6,
+ "pc": [
+ 711
+ ]
+ },
+ {
+ "teal": 647,
+ "source": 6,
+ "pc": [
+ 712
+ ]
+ },
+ {
+ "teal": 648,
+ "source": 6,
+ "pc": [
+ 713,
+ 714
+ ]
+ },
+ {
+ "teal": 649,
+ "source": 6,
+ "pc": [
+ 715
+ ]
+ },
+ {
+ "teal": 650,
+ "source": 6,
+ "pc": [
+ 716
+ ]
+ },
+ {
+ "teal": 651,
+ "source": 6,
+ "pc": [
+ 717
+ ]
+ },
+ {
+ "teal": 652,
+ "source": 6,
+ "pc": [
+ 718,
+ 719,
+ 720
+ ]
+ },
+ {
+ "teal": 653,
+ "source": 6,
+ "pc": [
+ 721,
+ 722
+ ]
+ },
+ {
+ "teal": 654,
+ "source": 6,
+ "pc": [
+ 723,
+ 724
+ ]
+ },
+ {
+ "teal": 655,
+ "source": 6,
+ "pc": [
+ 725
+ ]
+ },
+ {
+ "teal": 656,
+ "source": 6,
+ "pc": [
+ 726
+ ]
+ },
+ {
+ "teal": 657,
+ "source": 6,
+ "pc": [
+ 727,
+ 728
+ ]
+ },
+ {
+ "teal": 658,
+ "source": 6,
+ "pc": [
+ 729,
+ 730
+ ]
+ },
+ {
+ "teal": 659,
+ "source": 6,
+ "pc": [
+ 731,
+ 732
+ ]
+ },
+ {
+ "teal": 660,
+ "source": 6,
+ "pc": [
+ 733,
+ 734
+ ]
+ },
+ {
+ "teal": 661,
+ "source": 6,
+ "pc": [
+ 735
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB2ZXJpZnlNQlJQYXltZW50KHBheW1lbnQ6IFBheVR4biwgcHJlTUJSOiB1aW50NjQpOiB2b2lkCnZlcmlmeU1CUlBheW1lbnQ6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjEwCgkvLyB2ZXJpZnlQYXlUeG4ocGF5bWVudCwgewoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhbW91bnQ6IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZSAtIHByZU1CUiwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0yIC8vIHByZU1CUjogdWludDY0CgktCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UgLSBwcmVNQlIifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHNlbmRNQlJQYXltZW50KHByZU1CUjogdWludDY0KTogdm9pZApzZW5kTUJSUGF5bWVudDoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTcKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhbW91bnQ6IHByZU1CUiAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTgKCS8vIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjE5CgkvLyBhbW91bnQ6IHByZU1CUiAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZnJhbWVfZGlnIC0xIC8vIHByZU1CUjogdWludDY0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhZGRBcHBUb1doaXRlTGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCxwYXkpdm9pZAoqYWJpX3JvdXRlX2FkZEFwcFRvV2hpdGVMaXN0OgoJLy8gcGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGFkZEFwcFRvV2hpdGVMaXN0IG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFwcElEOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDIKCT09CgoJLy8gYXJndW1lbnQgMiAoYm94SW5kZXgpIGZvciBhZGRBcHBUb1doaXRlTGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCgljYWxsc3ViIGFkZEFwcFRvV2hpdGVMaXN0CglpbnQgMQoJcmV0dXJuCgovLyBhZGRBcHBUb1doaXRlTGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgcGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBBZGQgYXBwIHRvIHdoaXRlbGlzdCBib3gKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gYWRkIHRoZSBhcHAgdG8KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBhZGQgdG8gdGhlIHdoaXRlbGlzdAovLyBAcGFyYW0gcGF5bWVudCAtIFRoZSBwYXltZW50IHRyYW5zYWN0aW9uIHRvIGNvdmVyIHRoZSBNQlIgY2hhbmdlCmFkZEFwcFRvV2hpdGVMaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzMKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM0CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czozNgoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS5leGlzdHMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfbGVuCglzd2FwCglwb3AKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czozNwoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5wdXNoKGFwcElEKQoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWZyYW1lX2RpZyAtMyAvLyBhcHBJRDogdWludDY0CglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM5CgkvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdID0gW2FwcElEXQoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMiAvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo0MAoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZSA9IG5ld1doaXRlbGlzdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMiAvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdCglkdXAKCWxlbgoJaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo0MwoJLy8gdGhpcy52ZXJpZnlNQlJQYXltZW50KHBheW1lbnQsIHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gcGF5bWVudDogUGF5VHhuCgljYWxsc3ViIHZlcmlmeU1CUlBheW1lbnQKCXJldHN1YgoKLy8gc2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZAoqYWJpX3JvdXRlX3NldEFwcFdoaXRlbGlzdDoKCS8vIGFwcElEczogdWludDY0W10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWV4dHJhY3QgMiAwCgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGJveEluZGV4KSBmb3Igc2V0QXBwV2hpdGVsaXN0IG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGFyYzogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZAoJY2FsbHN1YiBzZXRBcHBXaGl0ZWxpc3QKCWludCAxCglyZXR1cm4KCi8vIHNldEFwcFdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSURzOiB1aW50NjRbXSk6IHZvaWQKLy8KLy8gU2V0cyBhIGFwcCB3aGl0ZWxpc3QgZm9yIHRoZSBzZW5kZXIuIFNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBhZGRpbmcvcmVtb3ZpbmcKLy8gbW9yZSB0aGFuIG9uZSBhcHAKLy8KLy8gQHBhcmFtIGJveEluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSB3aGl0ZWxpc3QgYm94IHRvIHB1dCB0aGUgYXBwIElEcyBpbgovLyBAcGFyYW0gYXBwSURzIC0gQXJyYXkgb2YgYXBwIElEcyB0aGF0IHNpZ25pZnkgdGhlIHdoaXRlbGlzdGVkIGFwcHMKc2V0QXBwV2hpdGVsaXN0OgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NTUKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjU2CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjU4CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2RlbAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjAKCS8vIHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUgPSBhcHBJRHMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJZnJhbWVfZGlnIC0zIC8vIGFwcElEczogdWludDY0W10KCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjYyCgkvLyBwcmVNQlIgPiB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCT4KCWJ6ICppZjFfZWxzZQoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2MwoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJYiAqaWYxX2VuZAoKKmlmMV9lbHNlOgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2NQoJLy8gdGhpcy52ZXJpZnlNQlJQYXltZW50KHRoaXMudHhuR3JvdXBbdGhpcy50eG4uZ3JvdXBJbmRleCAtIDFdIGFzIFBheVR4biwgcHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBmYWlsZWQgdG8gY2FzdCB0aGlzLnR4bkdyb3VwW3RoaXMudHhuLmdyb3VwSW5kZXggLSAxXSB0byBwYXkKCWFzc2VydAoJY2FsbHN1YiB2ZXJpZnlNQlJQYXltZW50CgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZVdoaXRlbGlzdDoKCS8vIGJveEluZGV4OiB1aW50MTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMgoJPT0KCgkvLyBhcmd1bWVudCAwIChib3hJbmRleCkgZm9yIGRlbGV0ZVdoaXRlbGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGRlbGV0ZVdoaXRlbGlzdChzdHJpbmcsdWludDE2KXZvaWQKCWNhbGxzdWIgZGVsZXRlV2hpdGVsaXN0CglpbnQgMQoJcmV0dXJuCgovLyBkZWxldGVXaGl0ZWxpc3QoYXJjOiBzdHJpbmcsIGJveEluZGV4OiB1aW50MTYpOiB2b2lkCi8vCi8vIERlbGV0ZXMgYSBhcHAgd2hpdGVsaXN0IGZvciB0aGUgc2VuZGVyCi8vCi8vIEBwYXJhbSBhcmMgLSBUaGUgQVJDIHRoZSB3aGl0ZWxpc3QgY29ycmVzcG9uZHMgdG8KLy8gQHBhcmFtIGJveEluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSB3aGl0ZWxpc3QgYm94IHRvIGRlbGV0ZQpkZWxldGVXaGl0ZWxpc3Q6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo3NwoJLy8gcHJlTUJSID0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2J1cnkgMCAvLyBwcmVNQlI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NzgKCS8vIHdoaXRlbGlzdDogV2hpdGVsaXN0ID0geyBhY2NvdW50OiB0aGlzLnR4bi5zZW5kZXIsIGJveEluZGV4OiBib3hJbmRleCwgYXJjOiBhcmMgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAyNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQxNgoJaXRvYgoJZXh0cmFjdCA2IDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMSAvLyBhcmM6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6ODAKCS8vIHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkuZGVsZXRlKCkKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZGVsCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo4MgoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJcmV0c3ViCgovLyBkZWxldGVBcHBGcm9tV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZGVsZXRlQXBwRnJvbVdoaXRlbGlzdDoKCS8vIGluZGV4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhcHBJRDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDIgKGJveEluZGV4KSBmb3IgZGVsZXRlQXBwRnJvbVdoaXRlbGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwRnJvbVdoaXRlbGlzdAoJaW50IDEKCXJldHVybgoKLy8gZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgaW5kZXg6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gRGVsZXRlcyBhIGFwcCBmcm9tIGEgd2hpdGVsaXN0IGZvciB0aGUgc2VuZGVyCi8vCi8vIEBwYXJhbSBib3hJbmRleCAtIFRoZSBpbmRleCBvZiB0aGUgd2hpdGVsaXN0IGJveCB0byBkZWxldGUgZnJvbQovLyBAcGFyYW0gYXBwSUQgLSBUaGUgYXBwIElEIHRvIGRlbGV0ZSBmcm9tIHRoZSB3aGl0ZWxpc3QKLy8gQHBhcmFtIGluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSBhcHAgaW4gdGhlIHdoaXRlbGlzdApkZWxldGVBcHBGcm9tV2hpdGVsaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6OTQKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk1CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk3CgkvLyBzcGxpY2VkID0gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50IDEKCWZyYW1lX2RpZyAtNCAvLyBpbmRleDogdWludDY0CglpbnQgOAoJKgoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50IDE2CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgOAoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CglmcmFtZV9idXJ5IDIgLy8gc3BsaWNlZDogdWludDY0W10KCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk5CgkvLyBhc3NlcnQoc3BsaWNlZFswXSA9PT0gYXBwSUQpCglmcmFtZV9kaWcgMiAvLyBzcGxpY2VkOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9kaWcgLTMgLy8gYXBwSUQ6IHVpbnQ2NAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTAxCgkvLyB0aGlzLnNlbmRNQlJQYXltZW50KHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CgljYWxsc3ViIHNlbmRNQlJQYXltZW50CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhZGRBcHBUb1doaXRlTGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCxwYXkpdm9pZCIKCW1ldGhvZCAic2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZCIKCW1ldGhvZCAiZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZCIKCW1ldGhvZCAiZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWRkQXBwVG9XaGl0ZUxpc3QgKmFiaV9yb3V0ZV9zZXRBcHBXaGl0ZWxpc3QgKmFiaV9yb3V0ZV9kZWxldGVXaGl0ZWxpc3QgKmFiaV9yb3V0ZV9kZWxldGVBcHBGcm9tV2hpdGVsaXN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB2ZXJpZnlNQlJQYXltZW50KHBheW1lbnQ6IFBheVR4biwgcHJlTUJSOiB1aW50NjQpOiB2b2lkCnZlcmlmeU1CUlBheW1lbnQ6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjEwCgkvLyB2ZXJpZnlQYXlUeG4ocGF5bWVudCwgewoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhbW91bnQ6IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZSAtIHByZU1CUiwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0yIC8vIHByZU1CUjogdWludDY0CgktCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UgLSBwcmVNQlIifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHNlbmRNQlJQYXltZW50KHByZU1CUjogdWludDY0KTogdm9pZApzZW5kTUJSUGF5bWVudDoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTcKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhbW91bnQ6IHByZU1CUiAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTgKCS8vIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjE5CgkvLyBhbW91bnQ6IHByZU1CUiAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZnJhbWVfZGlnIC0xIC8vIHByZU1CUjogdWludDY0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhZGRBcHBUb1doaXRlTGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCxwYXkpdm9pZAoqYWJpX3JvdXRlX2FkZEFwcFRvV2hpdGVMaXN0OgoJLy8gcGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGFkZEFwcFRvV2hpdGVMaXN0IG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFwcElEOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDIKCT09CgoJLy8gYXJndW1lbnQgMiAoYm94SW5kZXgpIGZvciBhZGRBcHBUb1doaXRlTGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCgljYWxsc3ViIGFkZEFwcFRvV2hpdGVMaXN0CglpbnQgMQoJcmV0dXJuCgovLyBhZGRBcHBUb1doaXRlTGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgcGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBBZGQgYXBwIHRvIHdoaXRlbGlzdCBib3gKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gYWRkIHRoZSBhcHAgdG8KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBhZGQgdG8gdGhlIHdoaXRlbGlzdAovLyBAcGFyYW0gcGF5bWVudCAtIFRoZSBwYXltZW50IHRyYW5zYWN0aW9uIHRvIGNvdmVyIHRoZSBNQlIgY2hhbmdlCmFkZEFwcFRvV2hpdGVMaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzMKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM0CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czozNgoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS5leGlzdHMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfbGVuCglzd2FwCglwb3AKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czozNwoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5wdXNoKGFwcElEKQoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWZyYW1lX2RpZyAtMyAvLyBhcHBJRDogdWludDY0CglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM5CgkvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdID0gW2FwcElEXQoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMiAvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo0MAoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZSA9IG5ld1doaXRlbGlzdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMiAvLyBuZXdXaGl0ZWxpc3Q6IHVpbnQ2NFtdCglkdXAKCWxlbgoJaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo0MwoJLy8gdGhpcy52ZXJpZnlNQlJQYXltZW50KHBheW1lbnQsIHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gcGF5bWVudDogUGF5VHhuCgljYWxsc3ViIHZlcmlmeU1CUlBheW1lbnQKCXJldHN1YgoKLy8gc2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZAoqYWJpX3JvdXRlX3NldEFwcFdoaXRlbGlzdDoKCS8vIGFwcElEczogdWludDY0W10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWV4dHJhY3QgMiAwCgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGJveEluZGV4KSBmb3Igc2V0QXBwV2hpdGVsaXN0IG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGFyYzogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZAoJY2FsbHN1YiBzZXRBcHBXaGl0ZWxpc3QKCWludCAxCglyZXR1cm4KCi8vIHNldEFwcFdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSURzOiB1aW50NjRbXSk6IHZvaWQKLy8KLy8gU2V0cyBhIGFwcCB3aGl0ZWxpc3QgZm9yIHRoZSBzZW5kZXIuIFNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBhZGRpbmcvcmVtb3ZpbmcKLy8gbW9yZSB0aGFuIG9uZSBhcHAKLy8KLy8gQHBhcmFtIGJveEluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSB3aGl0ZWxpc3QgYm94IHRvIHB1dCB0aGUgYXBwIElEcyBpbgovLyBAcGFyYW0gYXBwSURzIC0gQXJyYXkgb2YgYXBwIElEcyB0aGF0IHNpZ25pZnkgdGhlIHdoaXRlbGlzdGVkIGFwcHMKc2V0QXBwV2hpdGVsaXN0OgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NTUKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjU2CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjU4CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2RlbAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjAKCS8vIHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUgPSBhcHBJRHMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJZnJhbWVfZGlnIC0zIC8vIGFwcElEczogdWludDY0W10KCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjYyCgkvLyBwcmVNQlIgPiB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCT4KCWJ6ICppZjFfZWxzZQoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2MwoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJYiAqaWYxX2VuZAoKKmlmMV9lbHNlOgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2NQoJLy8gdGhpcy52ZXJpZnlNQlJQYXltZW50KHRoaXMudHhuR3JvdXBbdGhpcy50eG4uZ3JvdXBJbmRleCAtIDFdIGFzIFBheVR4biwgcHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBmYWlsZWQgdG8gY2FzdCB0aGlzLnR4bkdyb3VwW3RoaXMudHhuLmdyb3VwSW5kZXggLSAxXSB0byBwYXkKCWFzc2VydAoJY2FsbHN1YiB2ZXJpZnlNQlJQYXltZW50CgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZVdoaXRlbGlzdDoKCS8vIGJveEluZGV4OiB1aW50MTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMgoJPT0KCgkvLyBhcmd1bWVudCAwIChib3hJbmRleCkgZm9yIGRlbGV0ZVdoaXRlbGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGRlbGV0ZVdoaXRlbGlzdChzdHJpbmcsdWludDE2KXZvaWQKCWNhbGxzdWIgZGVsZXRlV2hpdGVsaXN0CglpbnQgMQoJcmV0dXJuCgovLyBkZWxldGVXaGl0ZWxpc3QoYXJjOiBzdHJpbmcsIGJveEluZGV4OiB1aW50MTYpOiB2b2lkCi8vCi8vIERlbGV0ZXMgYSBhcHAgd2hpdGVsaXN0IGZvciB0aGUgc2VuZGVyCi8vCi8vIEBwYXJhbSBhcmMgLSBUaGUgQVJDIHRoZSB3aGl0ZWxpc3QgY29ycmVzcG9uZHMgdG8KLy8gQHBhcmFtIGJveEluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSB3aGl0ZWxpc3QgYm94IHRvIGRlbGV0ZQpkZWxldGVXaGl0ZWxpc3Q6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo3NwoJLy8gcHJlTUJSID0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2J1cnkgMCAvLyBwcmVNQlI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NzgKCS8vIHdoaXRlbGlzdDogV2hpdGVsaXN0ID0geyBhY2NvdW50OiB0aGlzLnR4bi5zZW5kZXIsIGJveEluZGV4OiBib3hJbmRleCwgYXJjOiBhcmMgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAyNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQxNgoJaXRvYgoJZXh0cmFjdCA2IDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMSAvLyBhcmM6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6ODAKCS8vIHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkuZGVsZXRlKCkKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZGVsCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo4MgoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJcmV0c3ViCgovLyBkZWxldGVBcHBGcm9tV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZGVsZXRlQXBwRnJvbVdoaXRlbGlzdDoKCS8vIGluZGV4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhcHBJRDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDIgKGJveEluZGV4KSBmb3IgZGVsZXRlQXBwRnJvbVdoaXRlbGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwRnJvbVdoaXRlbGlzdAoJaW50IDEKCXJldHVybgoKLy8gZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgaW5kZXg6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gRGVsZXRlcyBhIGFwcCBmcm9tIGEgd2hpdGVsaXN0IGZvciB0aGUgc2VuZGVyCi8vCi8vIEBwYXJhbSBib3hJbmRleCAtIFRoZSBpbmRleCBvZiB0aGUgd2hpdGVsaXN0IGJveCB0byBkZWxldGUgZnJvbQovLyBAcGFyYW0gYXBwSUQgLSBUaGUgYXBwIElEIHRvIGRlbGV0ZSBmcm9tIHRoZSB3aGl0ZWxpc3QKLy8gQHBhcmFtIGluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSBhcHAgaW4gdGhlIHdoaXRlbGlzdApkZWxldGVBcHBGcm9tV2hpdGVsaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6OTQKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk1CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMjQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk3CgkvLyBzcGxpY2VkID0gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50IDEKCWZyYW1lX2RpZyAtNCAvLyBpbmRleDogdWludDY0CglpbnQgOAoJKgoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50IDE2CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgOAoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CglmcmFtZV9idXJ5IDIgLy8gc3BsaWNlZDogdWludDY0W10KCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk5CgkvLyBhc3NlcnQoc3BsaWNlZFswXSA9PT0gYXBwSUQpCglmcmFtZV9kaWcgMiAvLyBzcGxpY2VkOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9kaWcgLTMgLy8gYXBwSUQ6IHVpbnQ2NAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTAxCgkvLyB0aGlzLnNlbmRNQlJQYXltZW50KHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0CgljYWxsc3ViIHNlbmRNQlJQYXltZW50CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhZGRBcHBUb1doaXRlTGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCxwYXkpdm9pZCIKCW1ldGhvZCAic2V0QXBwV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0W10pdm9pZCIKCW1ldGhvZCAiZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZCIKCW1ldGhvZCAiZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWRkQXBwVG9XaGl0ZUxpc3QgKmFiaV9yb3V0ZV9zZXRBcHBXaGl0ZWxpc3QgKmFiaV9yb3V0ZV9kZWxldGVXaGl0ZWxpc3QgKmFiaV9yb3V0ZV9kZWxldGVBcHBGcm9tV2hpdGVsaXN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/examples/auction/tealscript_artifacts/Auction.approval.teal b/examples/auction/tealscript_artifacts/Auction.approval.teal
index b178840f9..5477a3200 100644
--- a/examples/auction/tealscript_artifacts/Auction.approval.teal
+++ b/examples/auction/tealscript_artifacts/Auction.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/auction/tealscript_artifacts/Auction.arc32.json b/examples/auction/tealscript_artifacts/Auction.arc32.json
index fb30c81c7..1411d9ece 100644
--- a/examples/auction/tealscript_artifacts/Auction.arc32.json
+++ b/examples/auction/tealscript_artifacts/Auction.arc32.json
@@ -95,7 +95,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9EZWxldGVBcHBsaWNhdGlvbiAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIGNyZWF0ZUFwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTgKCS8vIHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9IDAKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjE5CgkvLyB0aGlzLnByZXZpb3VzQmlkLnZhbHVlID0gMAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MjAKCS8vIHRoaXMuYXNhQW10LnZhbHVlID0gMAoJYnl0ZSAweDYxNzM2MTQxNmQ3NCAvLyAiYXNhQW10IgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MjEKCS8vIHRoaXMuYXNhLnZhbHVlID0gQXNzZXRJRC56ZXJvSW5kZXgKCWJ5dGUgMHg2MTczNjEgLy8gImFzYSIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjI0CgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQ2NDY1NzIgLy8gInByZXZpb3VzQmlkZGVyIgoJZ2xvYmFsIFplcm9BZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vcHRJbnRvQXNzZXQ6CgkvLyBhc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgb3B0SW50b0Fzc2V0CglpbnQgMQoJcmV0dXJuCgovLyBvcHRJbnRvQXNzZXQoYXNzZXQ6IEFzc2V0SUQpOiB2b2lkCm9wdEludG9Bc3NldDoKCXByb3RvIDEgMAoKCS8vIE9ubHkgYWxsb3cgYXBwIGNyZWF0b3IgdG8gb3B0IHRoZSBhcHAgYWNjb3VudCBpbnRvIGEgQVNBCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyOQoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gVmVyaWZ5IGEgQVNBIGhhc24ndCBhbHJlYWR5IGJlZW4gb3B0ZWQgaW50bwoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmFzYS52YWx1ZSA9PT0gQXNzZXRJRC56ZXJvSW5kZXgpCglieXRlIDB4NjE3MzYxIC8vICJhc2EiCglhcHBfZ2xvYmFsX2dldAoJaW50IDAKCT09Cglhc3NlcnQKCgkvLyBTYXZlIEFTQSBJRCBpbiBnbG9iYWwgc3RhdGUKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjM1CgkvLyB0aGlzLmFzYS52YWx1ZSA9IGFzc2V0CglieXRlIDB4NjE3MzYxIC8vICJhc2EiCglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gU3VibWl0IG9wdC1pbiB0cmFuc2FjdGlvbjogMCBhc3NldCB0cmFuc2ZlciB0byBzZWxmCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czozOAoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogYXNzZXQsCgkvLyAgICAgICBhc3NldEFtb3VudDogMCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzkKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0MAoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQxCgkvLyBhc3NldEFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKKmFiaV9yb3V0ZV9zdGFydEF1Y3Rpb246CgkvLyBheGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGF4ZmVyKSBmb3Igc3RhcnRBdWN0aW9uIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gbGVuZ3RoOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKCWNhbGxzdWIgc3RhcnRBdWN0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBzdGFydEF1Y3Rpb24oc3RhcnRpbmdQcmljZTogdWludDY0LCBsZW5ndGg6IHVpbnQ2NCwgYXhmZXI6IEFzc2V0VHJhbnNmZXJUeG4pOiB2b2lkCnN0YXJ0QXVjdGlvbjoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQ2CgkvLyB2ZXJpZnlBcHBDYWxsVHhuKHRoaXMudHhuLCB7IHNlbmRlcjogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcyB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoiZ2xvYmFscy5jcmVhdG9yQWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBFbnN1cmUgdGhlIGF1Y3Rpb24gaGFzbid0IGFscmVhZHkgYmVlbiBzdGFydGVkCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0OQoJLy8gYXNzZXJ0KHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9PT0gMCkKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIFZlcmlmeSBheGZlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTIKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYXhmZXIsIHsgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcyB9KQoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJheGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBTZXQgZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NQoJLy8gdGhpcy5hc2FBbXQudmFsdWUgPSBheGZlci5hc3NldEFtb3VudAoJYnl0ZSAweDYxNzM2MTQxNmQ3NCAvLyAiYXNhQW10IgoJZnJhbWVfZGlnIC0zIC8vIGF4ZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NgoJLy8gdGhpcy5hdWN0aW9uRW5kLnZhbHVlID0gZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAgKyBsZW5ndGgKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGg6IHVpbnQ2NAoJKwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NwoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IHN0YXJ0aW5nUHJpY2UKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0IC8vICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHBheShyZWNlaXZlcjogQWRkcmVzcywgYW1vdW50OiB1aW50NjQpOiB2b2lkCnBheToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogcmVjZWl2ZXIsCgkvLyAgICAgICBhbW91bnQ6IGFtb3VudCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYyCgkvLyByZWNlaXZlcjogcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyByZWNlaXZlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYzCgkvLyBhbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCXJldHN1YgoKLy8gYmlkKHBheSl2b2lkCiphYmlfcm91dGVfYmlkOgoJLy8gcGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGJpZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGJpZChwYXkpdm9pZAoJY2FsbHN1YiBiaWQKCWludCAxCglyZXR1cm4KCi8vIGJpZChwYXltZW50OiBQYXlUeG4pOiB2b2lkCmJpZDoKCXByb3RvIDEgMAoKCS8vIEVuc3VyZSBhdWN0aW9uIGhhc24ndCBlbmRlZAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NzIKCS8vIGFzc2VydChnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCA8IHRoaXMuYXVjdGlvbkVuZC52YWx1ZSkKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0Cgk8Cglhc3NlcnQKCgkvLyBWZXJpZnkgcGF5bWVudCB0cmFuc2FjdGlvbgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NzUKCS8vIHZlcmlmeVBheVR4bihwYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFtb3VudDogeyBncmVhdGVyVGhhbjogdGhpcy5wcmV2aW91c0JpZC52YWx1ZSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0IC8vICJwcmV2aW91c0JpZCIKCWFwcF9nbG9iYWxfZ2V0Cgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPnRoaXMucHJldmlvdXNCaWQudmFsdWUifQoJYXNzZXJ0CgoJLy8gU2V0IGdsb2JhbCBzdGF0ZQoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODEKCS8vIHRoaXMucHJldmlvdXNCaWQudmFsdWUgPSBwYXltZW50LmFtb3VudAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjgyCgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gcGF5bWVudC5zZW5kZXIKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWZyYW1lX2RpZyAtMSAvLyBwYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJYXBwX2dsb2JhbF9wdXQKCgkvLyBVcGRhdGUgY2xhaW1hYmxlIGFtb3VudAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODUKCS8vIHRoaXMuY2xhaW1hYmxlQW1vdW50KHRoaXMudHhuLnNlbmRlcikudmFsdWUgPSBwYXltZW50LmFtb3VudAoJdHhuIFNlbmRlcgoJYnl0ZSAweDYzNmM2MTY5NmQ2MTYyNmM2NTQxNmQ2Zjc1NmU3NCAvLyAiY2xhaW1hYmxlQW1vdW50IgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGNsYWltQmlkcygpdm9pZAoqYWJpX3JvdXRlX2NsYWltQmlkczoKCS8vIGV4ZWN1dGUgY2xhaW1CaWRzKCl2b2lkCgljYWxsc3ViIGNsYWltQmlkcwoJaW50IDEKCXJldHVybgoKLy8gY2xhaW1CaWRzKCk6IHZvaWQKY2xhaW1CaWRzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjg5CgkvLyBvcmlnaW5hbEFtb3VudCA9IHRoaXMuY2xhaW1hYmxlQW1vdW50KHRoaXMudHhuLnNlbmRlcikudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzZjNjE2OTZkNjE2MjZjNjU0MTZkNmY3NTZlNzQgLy8gImNsYWltYWJsZUFtb3VudCIKCWFwcF9sb2NhbF9nZXQKCWZyYW1lX2J1cnkgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6OTAKCS8vIGFtb3VudCA9IG9yaWdpbmFsQW1vdW50CglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYW1vdW50OiB1aW50NjQKCgkvLyBzdWJ0cmFjdCBwcmV2aW91cyBiaWQgaWYgc2VuZGVyIGlzIHByZXZpb3VzIGJpZGRlcgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyBhbW91bnQgPSBhbW91bnQgLSB0aGlzLnByZXZpb3VzQmlkLnZhbHVlCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWZyYW1lX2J1cnkgMSAvLyBhbW91bnQ6IHVpbnQ2NAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NQoJLy8gdGhpcy5wYXkodGhpcy50eG4uc2VuZGVyLCBhbW91bnQpCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwYXkKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NgoJLy8gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IG9yaWdpbmFsQW1vdW50IC0gYW1vdW50Cgl0eG4gU2VuZGVyCglieXRlIDB4NjM2YzYxNjk2ZDYxNjI2YzY1NDE2ZDZmNzU2ZTc0IC8vICJjbGFpbWFibGVBbW91bnQiCglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJLQoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBjbGFpbV9hc3NldCh1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NsYWltX2Fzc2V0OgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2xhaW1fYXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgY2xhaW1fYXNzZXQKCWludCAxCglyZXR1cm4KCi8vIGNsYWltX2Fzc2V0KGFzc2V0OiBBc3NldElEKTogdm9pZApjbGFpbV9hc3NldDoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wID4gdGhpcy5hdWN0aW9uRW5kLnZhbHVlKQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJYnl0ZSAweDYxNzU2Mzc0Njk2ZjZlNDU2ZTY0IC8vICJhdWN0aW9uRW5kIgoJYXBwX2dsb2JhbF9nZXQKCT4KCWFzc2VydAoKCS8vIFNlbmQgQVNBIHRvIHByZXZpb3VzIGJpZGRlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTAzCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB0aGlzLmFzYUFtdC52YWx1ZSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA0CgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlCglieXRlIDB4NzA3MjY1NzY2OTZmNzU3MzQyNjk2NDY0NjU3MiAvLyAicHJldmlvdXNCaWRkZXIiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA1CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA2CgkvLyBhc3NldEFtb3VudDogdGhpcy5hc2FBbXQudmFsdWUKCWJ5dGUgMHg2MTczNjE0MTZkNzQgLy8gImFzYUFtdCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA3CgkvLyBhc3NldENsb3NlVG86IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFzc2V0Q2xvc2VUbwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHJlY2VpdmVyOiBnbG9iYWxzLmNyZWF0b3JBZGRyZXNzLAoJLy8gICAgICAgY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcywKCS8vICAgICAgIGFtb3VudDogMCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMwoJLy8gcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExNAoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcwoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTUKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvcHRJbnRvQXNzZXQodWludDY0KXZvaWQiCgltZXRob2QgInN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQiCgltZXRob2QgImJpZChwYXkpdm9pZCIKCW1ldGhvZCAiY2xhaW1CaWRzKCl2b2lkIgoJbWV0aG9kICJjbGFpbV9hc3NldCh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW50b0Fzc2V0ICphYmlfcm91dGVfc3RhcnRBdWN0aW9uICphYmlfcm91dGVfYmlkICphYmlfcm91dGVfY2xhaW1CaWRzICphYmlfcm91dGVfY2xhaW1fYXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJvcHRJblRvQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnIKCipjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uOgoJbWV0aG9kICJkZWxldGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGVsZXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBEZWxldGVBcHBsaWNhdGlvbgoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9EZWxldGVBcHBsaWNhdGlvbiAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIGNyZWF0ZUFwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTgKCS8vIHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9IDAKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjE5CgkvLyB0aGlzLnByZXZpb3VzQmlkLnZhbHVlID0gMAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MjAKCS8vIHRoaXMuYXNhQW10LnZhbHVlID0gMAoJYnl0ZSAweDYxNzM2MTQxNmQ3NCAvLyAiYXNhQW10IgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MjEKCS8vIHRoaXMuYXNhLnZhbHVlID0gQXNzZXRJRC56ZXJvSW5kZXgKCWJ5dGUgMHg2MTczNjEgLy8gImFzYSIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjI0CgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQ2NDY1NzIgLy8gInByZXZpb3VzQmlkZGVyIgoJZ2xvYmFsIFplcm9BZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vcHRJbnRvQXNzZXQ6CgkvLyBhc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgb3B0SW50b0Fzc2V0CglpbnQgMQoJcmV0dXJuCgovLyBvcHRJbnRvQXNzZXQoYXNzZXQ6IEFzc2V0SUQpOiB2b2lkCm9wdEludG9Bc3NldDoKCXByb3RvIDEgMAoKCS8vIE9ubHkgYWxsb3cgYXBwIGNyZWF0b3IgdG8gb3B0IHRoZSBhcHAgYWNjb3VudCBpbnRvIGEgQVNBCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyOQoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gVmVyaWZ5IGEgQVNBIGhhc24ndCBhbHJlYWR5IGJlZW4gb3B0ZWQgaW50bwoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmFzYS52YWx1ZSA9PT0gQXNzZXRJRC56ZXJvSW5kZXgpCglieXRlIDB4NjE3MzYxIC8vICJhc2EiCglhcHBfZ2xvYmFsX2dldAoJaW50IDAKCT09Cglhc3NlcnQKCgkvLyBTYXZlIEFTQSBJRCBpbiBnbG9iYWwgc3RhdGUKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjM1CgkvLyB0aGlzLmFzYS52YWx1ZSA9IGFzc2V0CglieXRlIDB4NjE3MzYxIC8vICJhc2EiCglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gU3VibWl0IG9wdC1pbiB0cmFuc2FjdGlvbjogMCBhc3NldCB0cmFuc2ZlciB0byBzZWxmCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czozOAoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogYXNzZXQsCgkvLyAgICAgICBhc3NldEFtb3VudDogMCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzkKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0MAoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQxCgkvLyBhc3NldEFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKKmFiaV9yb3V0ZV9zdGFydEF1Y3Rpb246CgkvLyBheGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGF4ZmVyKSBmb3Igc3RhcnRBdWN0aW9uIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gbGVuZ3RoOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKCWNhbGxzdWIgc3RhcnRBdWN0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBzdGFydEF1Y3Rpb24oc3RhcnRpbmdQcmljZTogdWludDY0LCBsZW5ndGg6IHVpbnQ2NCwgYXhmZXI6IEFzc2V0VHJhbnNmZXJUeG4pOiB2b2lkCnN0YXJ0QXVjdGlvbjoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQ2CgkvLyB2ZXJpZnlBcHBDYWxsVHhuKHRoaXMudHhuLCB7IHNlbmRlcjogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcyB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoiZ2xvYmFscy5jcmVhdG9yQWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBFbnN1cmUgdGhlIGF1Y3Rpb24gaGFzbid0IGFscmVhZHkgYmVlbiBzdGFydGVkCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0OQoJLy8gYXNzZXJ0KHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9PT0gMCkKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIFZlcmlmeSBheGZlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTIKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYXhmZXIsIHsgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcyB9KQoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJheGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBTZXQgZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NQoJLy8gdGhpcy5hc2FBbXQudmFsdWUgPSBheGZlci5hc3NldEFtb3VudAoJYnl0ZSAweDYxNzM2MTQxNmQ3NCAvLyAiYXNhQW10IgoJZnJhbWVfZGlnIC0zIC8vIGF4ZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NgoJLy8gdGhpcy5hdWN0aW9uRW5kLnZhbHVlID0gZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAgKyBsZW5ndGgKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGg6IHVpbnQ2NAoJKwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NwoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IHN0YXJ0aW5nUHJpY2UKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0IC8vICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHBheShyZWNlaXZlcjogQWRkcmVzcywgYW1vdW50OiB1aW50NjQpOiB2b2lkCnBheToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogcmVjZWl2ZXIsCgkvLyAgICAgICBhbW91bnQ6IGFtb3VudCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYyCgkvLyByZWNlaXZlcjogcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyByZWNlaXZlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYzCgkvLyBhbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCXJldHN1YgoKLy8gYmlkKHBheSl2b2lkCiphYmlfcm91dGVfYmlkOgoJLy8gcGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGJpZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGJpZChwYXkpdm9pZAoJY2FsbHN1YiBiaWQKCWludCAxCglyZXR1cm4KCi8vIGJpZChwYXltZW50OiBQYXlUeG4pOiB2b2lkCmJpZDoKCXByb3RvIDEgMAoKCS8vIEVuc3VyZSBhdWN0aW9uIGhhc24ndCBlbmRlZAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NzIKCS8vIGFzc2VydChnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCA8IHRoaXMuYXVjdGlvbkVuZC52YWx1ZSkKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0Cgk8Cglhc3NlcnQKCgkvLyBWZXJpZnkgcGF5bWVudCB0cmFuc2FjdGlvbgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NzUKCS8vIHZlcmlmeVBheVR4bihwYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFtb3VudDogeyBncmVhdGVyVGhhbjogdGhpcy5wcmV2aW91c0JpZC52YWx1ZSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0IC8vICJwcmV2aW91c0JpZCIKCWFwcF9nbG9iYWxfZ2V0Cgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPnRoaXMucHJldmlvdXNCaWQudmFsdWUifQoJYXNzZXJ0CgoJLy8gU2V0IGdsb2JhbCBzdGF0ZQoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODEKCS8vIHRoaXMucHJldmlvdXNCaWQudmFsdWUgPSBwYXltZW50LmFtb3VudAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjgyCgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gcGF5bWVudC5zZW5kZXIKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWZyYW1lX2RpZyAtMSAvLyBwYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJYXBwX2dsb2JhbF9wdXQKCgkvLyBVcGRhdGUgY2xhaW1hYmxlIGFtb3VudAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODUKCS8vIHRoaXMuY2xhaW1hYmxlQW1vdW50KHRoaXMudHhuLnNlbmRlcikudmFsdWUgPSBwYXltZW50LmFtb3VudAoJdHhuIFNlbmRlcgoJYnl0ZSAweDYzNmM2MTY5NmQ2MTYyNmM2NTQxNmQ2Zjc1NmU3NCAvLyAiY2xhaW1hYmxlQW1vdW50IgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGNsYWltQmlkcygpdm9pZAoqYWJpX3JvdXRlX2NsYWltQmlkczoKCS8vIGV4ZWN1dGUgY2xhaW1CaWRzKCl2b2lkCgljYWxsc3ViIGNsYWltQmlkcwoJaW50IDEKCXJldHVybgoKLy8gY2xhaW1CaWRzKCk6IHZvaWQKY2xhaW1CaWRzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjg5CgkvLyBvcmlnaW5hbEFtb3VudCA9IHRoaXMuY2xhaW1hYmxlQW1vdW50KHRoaXMudHhuLnNlbmRlcikudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzZjNjE2OTZkNjE2MjZjNjU0MTZkNmY3NTZlNzQgLy8gImNsYWltYWJsZUFtb3VudCIKCWFwcF9sb2NhbF9nZXQKCWZyYW1lX2J1cnkgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6OTAKCS8vIGFtb3VudCA9IG9yaWdpbmFsQW1vdW50CglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYW1vdW50OiB1aW50NjQKCgkvLyBzdWJ0cmFjdCBwcmV2aW91cyBiaWQgaWYgc2VuZGVyIGlzIHByZXZpb3VzIGJpZGRlcgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyBhbW91bnQgPSBhbW91bnQgLSB0aGlzLnByZXZpb3VzQmlkLnZhbHVlCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWZyYW1lX2J1cnkgMSAvLyBhbW91bnQ6IHVpbnQ2NAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NQoJLy8gdGhpcy5wYXkodGhpcy50eG4uc2VuZGVyLCBhbW91bnQpCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwYXkKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NgoJLy8gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IG9yaWdpbmFsQW1vdW50IC0gYW1vdW50Cgl0eG4gU2VuZGVyCglieXRlIDB4NjM2YzYxNjk2ZDYxNjI2YzY1NDE2ZDZmNzU2ZTc0IC8vICJjbGFpbWFibGVBbW91bnQiCglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJLQoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBjbGFpbV9hc3NldCh1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NsYWltX2Fzc2V0OgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2xhaW1fYXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgY2xhaW1fYXNzZXQKCWludCAxCglyZXR1cm4KCi8vIGNsYWltX2Fzc2V0KGFzc2V0OiBBc3NldElEKTogdm9pZApjbGFpbV9hc3NldDoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wID4gdGhpcy5hdWN0aW9uRW5kLnZhbHVlKQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJYnl0ZSAweDYxNzU2Mzc0Njk2ZjZlNDU2ZTY0IC8vICJhdWN0aW9uRW5kIgoJYXBwX2dsb2JhbF9nZXQKCT4KCWFzc2VydAoKCS8vIFNlbmQgQVNBIHRvIHByZXZpb3VzIGJpZGRlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTAzCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB0aGlzLmFzYUFtdC52YWx1ZSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA0CgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlCglieXRlIDB4NzA3MjY1NzY2OTZmNzU3MzQyNjk2NDY0NjU3MiAvLyAicHJldmlvdXNCaWRkZXIiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA1CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA2CgkvLyBhc3NldEFtb3VudDogdGhpcy5hc2FBbXQudmFsdWUKCWJ5dGUgMHg2MTczNjE0MTZkNzQgLy8gImFzYUFtdCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA3CgkvLyBhc3NldENsb3NlVG86IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFzc2V0Q2xvc2VUbwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHJlY2VpdmVyOiBnbG9iYWxzLmNyZWF0b3JBZGRyZXNzLAoJLy8gICAgICAgY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcywKCS8vICAgICAgIGFtb3VudDogMCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMwoJLy8gcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExNAoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcwoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTUKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvcHRJbnRvQXNzZXQodWludDY0KXZvaWQiCgltZXRob2QgInN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQiCgltZXRob2QgImJpZChwYXkpdm9pZCIKCW1ldGhvZCAiY2xhaW1CaWRzKCl2b2lkIgoJbWV0aG9kICJjbGFpbV9hc3NldCh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW50b0Fzc2V0ICphYmlfcm91dGVfc3RhcnRBdWN0aW9uICphYmlfcm91dGVfYmlkICphYmlfcm91dGVfY2xhaW1CaWRzICphYmlfcm91dGVfY2xhaW1fYXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJvcHRJblRvQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnIKCipjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uOgoJbWV0aG9kICJkZWxldGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGVsZXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBEZWxldGVBcHBsaWNhdGlvbgoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/auction/tealscript_artifacts/Auction.arc56_draft.json b/examples/auction/tealscript_artifacts/Auction.arc56_draft.json
index a4d7cfd77..f3ff64c80 100644
--- a/examples/auction/tealscript_artifacts/Auction.arc56_draft.json
+++ b/examples/auction/tealscript_artifacts/Auction.arc56_draft.json
@@ -198,2134 +198,2137 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 4,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72
- ]
- },
- {
- "teal": 13,
- "source": 4,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 14,
- "source": 4,
- "pc": [
- 75
- ]
- },
- {
- "teal": 15,
- "source": 4,
- "pc": [
- 76,
- 77
- ]
- },
- {
- "teal": 16,
- "source": 4,
- "pc": [
- 78
- ]
- },
- {
- "teal": 17,
- "source": 4,
- "pc": [
- 79,
- 80
- ]
- },
- {
- "teal": 18,
- "source": 4,
- "pc": [
- 81
- ]
- },
- {
- "teal": 19,
- "source": 4,
- "pc": [
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 23,
- "source": 4,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 108
- ]
- },
- {
- "teal": 28,
- "source": 17,
- "pc": [
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 29,
- "source": 17,
- "pc": [
- 112
- ]
- },
- {
- "teal": 30,
- "source": 17,
- "pc": [
- 113
- ]
- },
- {
- "teal": 34,
- "source": 17,
- "pc": [
- 114,
- 115,
- 116
- ]
- },
- {
- "teal": 38,
- "source": 18,
- "pc": [
- 117
- ]
- },
- {
- "teal": 39,
- "source": 18,
- "pc": [
- 118
- ]
- },
- {
- "teal": 40,
- "source": 18,
- "pc": [
- 119
- ]
- },
- {
- "teal": 44,
- "source": 19,
- "pc": [
- 120
- ]
- },
- {
- "teal": 45,
- "source": 19,
- "pc": [
- 121
- ]
- },
- {
- "teal": 46,
- "source": 19,
- "pc": [
- 122
- ]
- },
- {
- "teal": 50,
- "source": 20,
- "pc": [
- 123
- ]
- },
- {
- "teal": 51,
- "source": 20,
- "pc": [
- 124
- ]
- },
- {
- "teal": 52,
- "source": 20,
- "pc": [
- 125
- ]
- },
- {
- "teal": 56,
- "source": 21,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 57,
- "source": 21,
- "pc": [
- 128
- ]
- },
- {
- "teal": 58,
- "source": 21,
- "pc": [
- 129
- ]
- },
- {
- "teal": 62,
- "source": 24,
- "pc": [
- 130
- ]
- },
- {
- "teal": 63,
- "source": 24,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 64,
- "source": 24,
- "pc": [
- 133
- ]
- },
- {
- "teal": 65,
- "source": 17,
- "pc": [
- 134
- ]
- },
- {
- "teal": 70,
- "source": 27,
- "pc": [
- 135,
- 136,
- 137
- ]
- },
- {
- "teal": 71,
- "source": 27,
- "pc": [
- 138
- ]
- },
- {
- "teal": 74,
- "source": 27,
- "pc": [
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 75,
- "source": 27,
- "pc": [
- 142
- ]
- },
- {
- "teal": 76,
- "source": 27,
- "pc": [
- 143
- ]
- },
- {
- "teal": 80,
- "source": 27,
- "pc": [
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 86,
- "source": 29,
- "pc": [
- 147,
- 148
- ]
- },
- {
- "teal": 87,
- "source": 29,
- "pc": [
- 149,
- 150
- ]
- },
- {
- "teal": 88,
- "source": 29,
- "pc": [
- 151
- ]
- },
- {
- "teal": 91,
- "source": 29,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"globals.creatorAddress\"}",
- "pc": [
- 152
- ]
- },
- {
- "teal": 96,
- "source": 32,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 97,
- "source": 32,
- "pc": [
- 155
- ]
- },
- {
- "teal": 98,
- "source": 32,
- "pc": [
- 156
- ]
- },
- {
- "teal": 99,
- "source": 32,
- "pc": [
- 157
- ]
- },
- {
- "teal": 100,
- "source": 32,
- "pc": [
- 158
- ]
- },
- {
- "teal": 105,
- "source": 35,
- "pc": [
- 159,
- 160
- ]
- },
- {
- "teal": 106,
- "source": 35,
- "pc": [
- 161,
- 162
- ]
- },
- {
- "teal": 107,
- "source": 35,
- "pc": [
- 163
- ]
- },
- {
- "teal": 116,
- "source": 38,
- "pc": [
- 164
- ]
- },
- {
- "teal": 117,
- "source": 38,
- "pc": [
- 165
- ]
- },
- {
- "teal": 118,
- "source": 38,
- "pc": [
- 166,
- 167
- ]
- },
- {
- "teal": 122,
- "source": 39,
- "pc": [
- 168,
- 169
- ]
- },
- {
- "teal": 123,
- "source": 39,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 127,
- "source": 40,
- "pc": [
- 172,
- 173
- ]
- },
- {
- "teal": 128,
- "source": 40,
- "pc": [
- 174,
- 175
- ]
- },
- {
- "teal": 132,
- "source": 41,
- "pc": [
- 176
- ]
- },
- {
- "teal": 133,
- "source": 41,
- "pc": [
- 177,
- 178
- ]
- },
- {
- "teal": 136,
- "source": 38,
- "pc": [
- 179
- ]
- },
- {
- "teal": 137,
- "source": 38,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 140,
- "source": 38,
- "pc": [
- 182
- ]
- },
- {
- "teal": 141,
- "source": 27,
- "pc": [
- 183
- ]
- },
- {
- "teal": 146,
- "source": 45,
- "pc": [
- 184,
- 185
- ]
- },
- {
- "teal": 147,
- "source": 45,
- "pc": [
- 186
- ]
- },
- {
- "teal": 148,
- "source": 45,
- "pc": [
- 187
- ]
- },
- {
- "teal": 149,
- "source": 45,
- "pc": [
- 188
- ]
- },
- {
- "teal": 150,
- "source": 45,
- "pc": [
- 189,
- 190
- ]
- },
- {
- "teal": 151,
- "source": 45,
- "pc": [
- 191
- ]
- },
- {
- "teal": 152,
- "source": 45,
- "pc": [
- 192
- ]
- },
- {
- "teal": 155,
- "source": 45,
- "errorMessage": "argument 0 (axfer) for startAuction must be a axfer transaction",
- "pc": [
- 193
- ]
- },
- {
- "teal": 158,
- "source": 45,
- "pc": [
- 194,
- 195,
- 196
- ]
- },
- {
- "teal": 159,
- "source": 45,
- "pc": [
- 197
- ]
- },
- {
- "teal": 162,
- "source": 45,
- "pc": [
- 198,
- 199,
- 200
- ]
- },
- {
- "teal": 163,
- "source": 45,
- "pc": [
- 201
- ]
- },
- {
- "teal": 166,
- "source": 45,
- "pc": [
- 202,
- 203,
- 204
- ]
- },
- {
- "teal": 167,
- "source": 45,
- "pc": [
- 205
- ]
- },
- {
- "teal": 168,
- "source": 45,
- "pc": [
- 206
- ]
- },
- {
- "teal": 172,
- "source": 45,
- "pc": [
- 207,
- 208,
- 209
- ]
- },
- {
- "teal": 177,
- "source": 46,
- "pc": [
- 210,
- 211
- ]
- },
- {
- "teal": 178,
- "source": 46,
- "pc": [
- 212,
- 213
- ]
- },
- {
- "teal": 179,
- "source": 46,
- "pc": [
- 214
- ]
- },
- {
- "teal": 182,
- "source": 46,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"globals.creatorAddress\"}",
- "pc": [
- 215
- ]
- },
- {
- "teal": 187,
- "source": 49,
- "pc": [
- 216
- ]
- },
- {
- "teal": 188,
- "source": 49,
- "pc": [
- 217
- ]
- },
- {
- "teal": 189,
- "source": 49,
- "pc": [
- 218
- ]
- },
- {
- "teal": 190,
- "source": 49,
- "pc": [
- 219
- ]
- },
- {
- "teal": 191,
- "source": 49,
- "pc": [
- 220
- ]
- },
- {
- "teal": 197,
- "source": 52,
- "pc": [
- 221,
- 222
- ]
- },
- {
- "teal": 198,
- "source": 52,
- "pc": [
- 223,
- 224
- ]
- },
- {
- "teal": 199,
- "source": 52,
- "pc": [
- 225,
- 226
- ]
- },
- {
- "teal": 200,
- "source": 52,
- "pc": [
- 227
- ]
- },
- {
- "teal": 203,
- "source": 52,
- "errorMessage": "transaction verification failed: {\"txn\":\"axfer\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 228
- ]
- },
- {
- "teal": 208,
- "source": 55,
- "pc": [
- 229
- ]
- },
- {
- "teal": 209,
- "source": 55,
- "pc": [
- 230,
- 231
- ]
- },
- {
- "teal": 210,
- "source": 55,
- "pc": [
- 232,
- 233
- ]
- },
- {
- "teal": 211,
- "source": 55,
- "pc": [
- 234
- ]
- },
- {
- "teal": 215,
- "source": 56,
- "pc": [
- 235
- ]
- },
- {
- "teal": 216,
- "source": 56,
- "pc": [
- 236,
- 237
- ]
- },
- {
- "teal": 217,
- "source": 56,
- "pc": [
- 238,
- 239
- ]
- },
- {
- "teal": 218,
- "source": 56,
- "pc": [
- 240
- ]
- },
- {
- "teal": 219,
- "source": 56,
- "pc": [
- 241
- ]
- },
- {
- "teal": 223,
- "source": 57,
- "pc": [
- 242
- ]
- },
- {
- "teal": 224,
- "source": 57,
- "pc": [
- 243,
- 244
- ]
- },
- {
- "teal": 225,
- "source": 57,
- "pc": [
- 245
- ]
- },
- {
- "teal": 226,
- "source": 45,
- "pc": [
- 246
- ]
- },
- {
- "teal": 230,
- "source": 60,
- "pc": [
- 247,
- 248,
- 249
- ]
- },
- {
- "teal": 237,
- "source": 61,
- "pc": [
- 250
- ]
- },
- {
- "teal": 238,
- "source": 61,
- "pc": [
- 251
- ]
- },
- {
- "teal": 239,
- "source": 61,
- "pc": [
- 252,
- 253
- ]
- },
- {
- "teal": 243,
- "source": 62,
- "pc": [
- 254,
- 255
- ]
- },
- {
- "teal": 244,
- "source": 62,
- "pc": [
- 256,
- 257
- ]
- },
- {
- "teal": 248,
- "source": 63,
- "pc": [
- 258,
- 259
- ]
- },
- {
- "teal": 249,
- "source": 63,
- "pc": [
- 260,
- 261
- ]
- },
- {
- "teal": 252,
- "source": 61,
- "pc": [
- 262
- ]
- },
- {
- "teal": 253,
- "source": 61,
- "pc": [
- 263,
- 264
- ]
- },
- {
- "teal": 256,
- "source": 61,
- "pc": [
- 265
- ]
- },
- {
- "teal": 257,
- "source": 60,
- "pc": [
- 266
- ]
- },
- {
- "teal": 262,
- "source": 67,
- "pc": [
- 267,
- 268,
- 269
- ]
- },
- {
- "teal": 263,
- "source": 67,
- "pc": [
- 270
- ]
- },
- {
- "teal": 264,
- "source": 67,
- "pc": [
- 271
- ]
- },
- {
- "teal": 268,
- "source": 67,
- "pc": [
- 272,
- 273,
- 274
- ]
- },
- {
- "teal": 269,
- "source": 67,
- "pc": [
- 275
- ]
- },
- {
- "teal": 274,
- "source": 70,
- "pc": [
- 276,
- 277
- ]
- },
- {
- "teal": 275,
- "source": 70,
- "pc": [
- 278
- ]
- },
- {
- "teal": 276,
- "source": 70,
- "pc": [
- 279
- ]
- },
- {
- "teal": 277,
- "source": 70,
- "pc": [
- 280
- ]
- },
- {
- "teal": 278,
- "source": 70,
- "pc": [
- 281,
- 282
- ]
- },
- {
- "teal": 279,
- "source": 70,
- "pc": [
- 283
- ]
- },
- {
- "teal": 280,
- "source": 70,
- "pc": [
- 284
- ]
- },
- {
- "teal": 283,
- "source": 70,
- "errorMessage": "argument 0 (payment) for bid must be a pay transaction",
- "pc": [
- 285
- ]
- },
- {
- "teal": 286,
- "source": 70,
- "pc": [
- 286,
- 287,
- 288
- ]
- },
- {
- "teal": 287,
- "source": 70,
- "pc": [
- 289
- ]
- },
- {
- "teal": 288,
- "source": 70,
- "pc": [
- 290
- ]
- },
- {
- "teal": 292,
- "source": 70,
- "pc": [
- 291,
- 292,
- 293
- ]
- },
- {
- "teal": 297,
- "source": 72,
- "pc": [
- 294,
- 295
- ]
- },
- {
- "teal": 298,
- "source": 72,
- "pc": [
- 296
- ]
- },
- {
- "teal": 299,
- "source": 72,
- "pc": [
- 297
- ]
- },
- {
- "teal": 300,
- "source": 72,
- "pc": [
- 298
- ]
- },
- {
- "teal": 301,
- "source": 72,
- "pc": [
- 299
- ]
- },
- {
- "teal": 310,
- "source": 75,
- "pc": [
- 300,
- 301
- ]
- },
- {
- "teal": 311,
- "source": 76,
- "pc": [
- 302,
- 303
- ]
- },
- {
- "teal": 312,
- "source": 76,
- "pc": [
- 304,
- 305
- ]
- },
- {
- "teal": 313,
- "source": 76,
- "pc": [
- 306
- ]
- },
- {
- "teal": 316,
- "source": 76,
- "errorMessage": "transaction verification failed: {\"txn\":\"payment\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
- "pc": [
- 307
- ]
- },
- {
- "teal": 319,
- "source": 75,
- "pc": [
- 308,
- 309
- ]
- },
- {
- "teal": 320,
- "source": 77,
- "pc": [
- 310,
- 311
- ]
- },
- {
- "teal": 321,
- "source": 77,
- "pc": [
- 312
- ]
- },
- {
- "teal": 322,
- "source": 77,
- "pc": [
- 313
- ]
- },
- {
- "teal": 323,
- "source": 77,
- "pc": [
- 314
- ]
- },
- {
- "teal": 326,
- "source": 77,
- "errorMessage": "transaction verification failed: {\"txn\":\"payment\",\"field\":\"amount\",\"condition\":\"greaterThan\",\"expected\":\">this.previousBid.value\"}",
- "pc": [
- 315
- ]
- },
- {
- "teal": 331,
- "source": 81,
- "pc": [
- 316
- ]
- },
- {
- "teal": 332,
- "source": 81,
- "pc": [
- 317,
- 318
- ]
- },
- {
- "teal": 333,
- "source": 81,
- "pc": [
- 319,
- 320
- ]
- },
- {
- "teal": 334,
- "source": 81,
- "pc": [
- 321
- ]
- },
- {
- "teal": 338,
- "source": 82,
- "pc": [
- 322
- ]
- },
- {
- "teal": 339,
- "source": 82,
- "pc": [
- 323,
- 324
- ]
- },
- {
- "teal": 340,
- "source": 82,
- "pc": [
- 325,
- 326
- ]
- },
- {
- "teal": 341,
- "source": 82,
- "pc": [
- 327
- ]
- },
- {
- "teal": 346,
- "source": 85,
- "pc": [
- 328,
- 329
- ]
- },
- {
- "teal": 347,
- "source": 85,
- "pc": [
- 330,
- 331
- ]
- },
- {
- "teal": 348,
- "source": 85,
- "pc": [
- 332,
- 333
- ]
- },
- {
- "teal": 349,
- "source": 85,
- "pc": [
- 334,
- 335
- ]
- },
- {
- "teal": 350,
- "source": 85,
- "pc": [
- 336
- ]
- },
- {
- "teal": 351,
- "source": 70,
- "pc": [
- 337
- ]
- },
- {
- "teal": 356,
- "source": 88,
- "pc": [
- 338,
- 339,
- 340
- ]
- },
- {
- "teal": 357,
- "source": 88,
- "pc": [
- 341
- ]
- },
- {
- "teal": 358,
- "source": 88,
- "pc": [
- 342
- ]
- },
- {
- "teal": 362,
- "source": 88,
- "pc": [
- 343,
- 344,
- 345
- ]
- },
- {
- "teal": 365,
- "source": 88,
- "pc": [
- 346,
- 347
- ]
- },
- {
- "teal": 366,
- "source": 88,
- "pc": [
- 348
- ]
- },
- {
- "teal": 370,
- "source": 89,
- "pc": [
- 349,
- 350
- ]
- },
- {
- "teal": 371,
- "source": 89,
- "pc": [
- 351,
- 352
- ]
- },
- {
- "teal": 372,
- "source": 89,
- "pc": [
- 353
- ]
- },
- {
- "teal": 373,
- "source": 89,
- "pc": [
- 354,
- 355
- ]
- },
- {
- "teal": 377,
- "source": 90,
- "pc": [
- 356,
- 357
- ]
- },
- {
- "teal": 378,
- "source": 90,
- "pc": [
- 358,
- 359
- ]
- },
- {
- "teal": 384,
- "source": 93,
- "pc": [
- 360,
- 361
- ]
- },
- {
- "teal": 385,
- "source": 93,
- "pc": [
- 362
- ]
- },
- {
- "teal": 386,
- "source": 93,
- "pc": [
- 363
- ]
- },
- {
- "teal": 387,
- "source": 93,
- "pc": [
- 364
- ]
- },
- {
- "teal": 388,
- "source": 93,
- "pc": [
- 365,
- 366,
- 367
- ]
- },
- {
- "teal": 393,
- "source": 93,
- "pc": [
- 368,
- 369
- ]
- },
- {
- "teal": 394,
- "source": 93,
- "pc": [
- 370
- ]
- },
- {
- "teal": 395,
- "source": 93,
- "pc": [
- 371
- ]
- },
- {
- "teal": 396,
- "source": 93,
- "pc": [
- 372
- ]
- },
- {
- "teal": 397,
- "source": 93,
- "pc": [
- 373,
- 374
- ]
- },
- {
- "teal": 402,
- "source": 95,
- "pc": [
- 375,
- 376
- ]
- },
- {
- "teal": 403,
- "source": 95,
- "pc": [
- 377,
- 378
- ]
- },
- {
- "teal": 404,
- "source": 95,
- "pc": [
- 379,
- 380,
- 381
- ]
- },
- {
- "teal": 408,
- "source": 96,
- "pc": [
- 382,
- 383
- ]
- },
- {
- "teal": 409,
- "source": 96,
- "pc": [
- 384,
- 385
- ]
- },
- {
- "teal": 410,
- "source": 96,
- "pc": [
- 386,
- 387
- ]
- },
- {
- "teal": 411,
- "source": 96,
- "pc": [
- 388,
- 389
- ]
- },
- {
- "teal": 412,
- "source": 96,
- "pc": [
- 390
- ]
- },
- {
- "teal": 413,
- "source": 96,
- "pc": [
- 391
- ]
- },
- {
- "teal": 414,
- "source": 88,
- "pc": [
- 392
- ]
- },
- {
- "teal": 419,
- "source": 99,
- "pc": [
- 393,
- 394,
- 395
- ]
- },
- {
- "teal": 420,
- "source": 99,
- "pc": [
- 396
- ]
- },
- {
- "teal": 423,
- "source": 99,
- "pc": [
- 397,
- 398,
- 399
- ]
- },
- {
- "teal": 424,
- "source": 99,
- "pc": [
- 400
- ]
- },
- {
- "teal": 425,
- "source": 99,
- "pc": [
- 401
- ]
- },
- {
- "teal": 429,
- "source": 99,
- "pc": [
- 402,
- 403,
- 404
- ]
- },
- {
- "teal": 433,
- "source": 100,
- "pc": [
- 405,
- 406
- ]
- },
- {
- "teal": 434,
- "source": 100,
- "pc": [
- 407
- ]
- },
- {
- "teal": 435,
- "source": 100,
- "pc": [
- 408
- ]
- },
- {
- "teal": 436,
- "source": 100,
- "pc": [
- 409
- ]
- },
- {
- "teal": 437,
- "source": 100,
- "pc": [
- 410
- ]
- },
- {
- "teal": 447,
- "source": 103,
- "pc": [
- 411
- ]
- },
- {
- "teal": 448,
- "source": 103,
- "pc": [
- 412
- ]
- },
- {
- "teal": 449,
- "source": 103,
- "pc": [
- 413,
- 414
- ]
- },
- {
- "teal": 453,
- "source": 104,
- "pc": [
- 415
- ]
- },
- {
- "teal": 454,
- "source": 104,
- "pc": [
- 416
- ]
- },
- {
- "teal": 455,
- "source": 104,
- "pc": [
- 417,
- 418
- ]
- },
- {
- "teal": 459,
- "source": 105,
- "pc": [
- 419,
- 420
- ]
- },
- {
- "teal": 460,
- "source": 105,
- "pc": [
- 421,
- 422
- ]
- },
- {
- "teal": 464,
- "source": 106,
- "pc": [
- 423
- ]
- },
- {
- "teal": 465,
- "source": 106,
- "pc": [
- 424
- ]
- },
- {
- "teal": 466,
- "source": 106,
- "pc": [
- 425,
- 426
- ]
- },
- {
- "teal": 470,
- "source": 107,
- "pc": [
- 427
- ]
- },
- {
- "teal": 471,
- "source": 107,
- "pc": [
- 428
- ]
- },
- {
- "teal": 472,
- "source": 107,
- "pc": [
- 429,
- 430
- ]
- },
- {
- "teal": 475,
- "source": 103,
- "pc": [
- 431
- ]
- },
- {
- "teal": 476,
- "source": 103,
- "pc": [
- 432,
- 433
- ]
- },
- {
- "teal": 479,
- "source": 103,
- "pc": [
- 434
- ]
- },
- {
- "teal": 480,
- "source": 99,
- "pc": [
- 435
- ]
- },
- {
- "teal": 485,
- "source": 111,
- "pc": [
- 436,
- 437,
- 438
- ]
- },
- {
- "teal": 486,
- "source": 111,
- "pc": [
- 439
- ]
- },
- {
- "teal": 487,
- "source": 111,
- "pc": [
- 440
- ]
- },
- {
- "teal": 491,
- "source": 111,
- "pc": [
- 441,
- 442,
- 443
- ]
- },
- {
- "teal": 499,
- "source": 112,
- "pc": [
- 444
- ]
- },
- {
- "teal": 500,
- "source": 112,
- "pc": [
- 445
- ]
- },
- {
- "teal": 501,
- "source": 112,
- "pc": [
- 446,
- 447
- ]
- },
- {
- "teal": 505,
- "source": 113,
- "pc": [
- 448,
- 449
- ]
- },
- {
- "teal": 506,
- "source": 113,
- "pc": [
- 450,
- 451
- ]
- },
- {
- "teal": 510,
- "source": 114,
- "pc": [
- 452,
- 453
- ]
- },
- {
- "teal": 511,
- "source": 114,
- "pc": [
- 454,
- 455
- ]
- },
- {
- "teal": 515,
- "source": 115,
- "pc": [
- 456
- ]
- },
- {
- "teal": 516,
- "source": 115,
- "pc": [
- 457,
- 458
- ]
- },
- {
- "teal": 519,
- "source": 112,
- "pc": [
- 459
- ]
- },
- {
- "teal": 520,
- "source": 112,
- "pc": [
- 460,
- 461
- ]
- },
- {
- "teal": 523,
- "source": 112,
- "pc": [
- 462
- ]
- },
- {
- "teal": 524,
- "source": 111,
- "pc": [
- 463
- ]
- },
- {
- "teal": 527,
- "source": 4,
- "pc": [
- 464,
- 465,
- 466,
- 467,
- 468,
- 469
- ]
- },
- {
- "teal": 528,
- "source": 4,
- "pc": [
- 470,
- 471,
- 472
- ]
- },
- {
- "teal": 529,
- "source": 4,
- "pc": [
- 473,
- 474,
- 475,
- 476
- ]
- },
- {
- "teal": 532,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 477
- ]
- },
- {
- "teal": 535,
- "source": 4,
- "pc": [
- 478,
- 479,
- 480,
- 481,
- 482,
- 483
- ]
- },
- {
- "teal": 536,
- "source": 4,
- "pc": [
- 484,
- 485,
- 486,
- 487,
- 488,
- 489
- ]
- },
- {
- "teal": 537,
- "source": 4,
- "pc": [
- 490,
- 491,
- 492,
- 493,
- 494,
- 495
- ]
- },
- {
- "teal": 538,
- "source": 4,
- "pc": [
- 496,
- 497,
- 498,
- 499,
- 500,
- 501
- ]
- },
- {
- "teal": 539,
- "source": 4,
- "pc": [
- 502,
- 503,
- 504,
- 505,
- 506,
- 507
- ]
- },
- {
- "teal": 540,
- "source": 4,
- "pc": [
- 508,
- 509,
- 510
- ]
- },
- {
- "teal": 541,
- "source": 4,
- "pc": [
- 511,
- 512,
- 513,
- 514,
- 515,
- 516,
- 517,
- 518,
- 519,
- 520,
- 521,
- 522
- ]
- },
- {
- "teal": 544,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 523
- ]
- },
- {
- "teal": 547,
- "source": 4,
- "pc": [
- 524,
- 525,
- 526,
- 527,
- 528,
- 529
- ]
- },
- {
- "teal": 548,
- "source": 4,
- "pc": [
- 530,
- 531,
- 532
- ]
- },
- {
- "teal": 549,
- "source": 4,
- "pc": [
- 533,
- 534,
- 535,
- 536
- ]
- },
- {
- "teal": 552,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for call OptIn",
- "pc": [
- 537
- ]
- },
- {
- "teal": 555,
- "source": 4,
- "pc": [
- 538,
- 539,
- 540,
- 541,
- 542,
- 543
- ]
- },
- {
- "teal": 556,
- "source": 4,
- "pc": [
- 544,
- 545,
- 546
- ]
- },
- {
- "teal": 557,
- "source": 4,
- "pc": [
- 547,
- 548,
- 549,
- 550
- ]
- },
- {
- "teal": 560,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for call DeleteApplication",
- "pc": [
- 551
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 4,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 4,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 4,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 4,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 4,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 4,
+ "pc": [
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 4,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 4,
+ "pc": [
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 4,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 17,
+ "pc": [
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 17,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 17,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 17,
+ "pc": [
+ 114,
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 18,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 18,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 18,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 19,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 19,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 19,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 20,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 20,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 20,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 21,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 21,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 21,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 24,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 24,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 24,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 17,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 27,
+ "pc": [
+ 135,
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 27,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 27,
+ "pc": [
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 27,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 27,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 27,
+ "pc": [
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 29,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 29,
+ "pc": [
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 29,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 29,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"globals.creatorAddress\"}",
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 32,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 32,
+ "pc": [
+ 155
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 32,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 32,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 32,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 35,
+ "pc": [
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 35,
+ "pc": [
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 35,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 38,
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 38,
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 38,
+ "pc": [
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 39,
+ "pc": [
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 39,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 40,
+ "pc": [
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 40,
+ "pc": [
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 41,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 41,
+ "pc": [
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 38,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 38,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 38,
+ "pc": [
+ 182
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 27,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 45,
+ "pc": [
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 45,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 45,
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 45,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 45,
+ "pc": [
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 45,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 45,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 45,
+ "errorMessage": "argument 0 (axfer) for startAuction must be a axfer transaction",
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 45,
+ "pc": [
+ 194,
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 45,
+ "pc": [
+ 197
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 45,
+ "pc": [
+ 198,
+ 199,
+ 200
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 45,
+ "pc": [
+ 201
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 45,
+ "pc": [
+ 202,
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 45,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 45,
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 45,
+ "pc": [
+ 207,
+ 208,
+ 209
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 46,
+ "pc": [
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 46,
+ "pc": [
+ 212,
+ 213
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 46,
+ "pc": [
+ 214
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 46,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"globals.creatorAddress\"}",
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 49,
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 49,
+ "pc": [
+ 217
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 49,
+ "pc": [
+ 218
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 49,
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 49,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 52,
+ "pc": [
+ 221,
+ 222
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 52,
+ "pc": [
+ 223,
+ 224
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 52,
+ "pc": [
+ 225,
+ 226
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 52,
+ "pc": [
+ 227
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 52,
+ "errorMessage": "transaction verification failed: {\"txn\":\"axfer\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 228
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 55,
+ "pc": [
+ 229
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 55,
+ "pc": [
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 55,
+ "pc": [
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 211,
+ "source": 55,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 56,
+ "pc": [
+ 235
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 56,
+ "pc": [
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 56,
+ "pc": [
+ 238,
+ 239
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 56,
+ "pc": [
+ 240
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 56,
+ "pc": [
+ 241
+ ]
+ },
+ {
+ "teal": 223,
+ "source": 57,
+ "pc": [
+ 242
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 57,
+ "pc": [
+ 243,
+ 244
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 57,
+ "pc": [
+ 245
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 45,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 60,
+ "pc": [
+ 247,
+ 248,
+ 249
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 61,
+ "pc": [
+ 250
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 61,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 61,
+ "pc": [
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 62,
+ "pc": [
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 62,
+ "pc": [
+ 256,
+ 257
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 63,
+ "pc": [
+ 258,
+ 259
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 63,
+ "pc": [
+ 260,
+ 261
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 61,
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 61,
+ "pc": [
+ 263,
+ 264
+ ]
+ },
+ {
+ "teal": 256,
+ "source": 61,
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 257,
+ "source": 60,
+ "pc": [
+ 266
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 67,
+ "pc": [
+ 267,
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 67,
+ "pc": [
+ 270
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 67,
+ "pc": [
+ 271
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 67,
+ "pc": [
+ 272,
+ 273,
+ 274
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 67,
+ "pc": [
+ 275
+ ]
+ },
+ {
+ "teal": 274,
+ "source": 70,
+ "pc": [
+ 276,
+ 277
+ ]
+ },
+ {
+ "teal": 275,
+ "source": 70,
+ "pc": [
+ 278
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 70,
+ "pc": [
+ 279
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 70,
+ "pc": [
+ 280
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 70,
+ "pc": [
+ 281,
+ 282
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 70,
+ "pc": [
+ 283
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 70,
+ "pc": [
+ 284
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 70,
+ "errorMessage": "argument 0 (payment) for bid must be a pay transaction",
+ "pc": [
+ 285
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 70,
+ "pc": [
+ 286,
+ 287,
+ 288
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 70,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 70,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 292,
+ "source": 70,
+ "pc": [
+ 291,
+ 292,
+ 293
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 72,
+ "pc": [
+ 294,
+ 295
+ ]
+ },
+ {
+ "teal": 298,
+ "source": 72,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 72,
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 72,
+ "pc": [
+ 298
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 72,
+ "pc": [
+ 299
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 75,
+ "pc": [
+ 300,
+ 301
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 76,
+ "pc": [
+ 302,
+ 303
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 76,
+ "pc": [
+ 304,
+ 305
+ ]
+ },
+ {
+ "teal": 313,
+ "source": 76,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 76,
+ "errorMessage": "transaction verification failed: {\"txn\":\"payment\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
+ "pc": [
+ 307
+ ]
+ },
+ {
+ "teal": 319,
+ "source": 75,
+ "pc": [
+ 308,
+ 309
+ ]
+ },
+ {
+ "teal": 320,
+ "source": 77,
+ "pc": [
+ 310,
+ 311
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 77,
+ "pc": [
+ 312
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 77,
+ "pc": [
+ 313
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 77,
+ "pc": [
+ 314
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 77,
+ "errorMessage": "transaction verification failed: {\"txn\":\"payment\",\"field\":\"amount\",\"condition\":\"greaterThan\",\"expected\":\">this.previousBid.value\"}",
+ "pc": [
+ 315
+ ]
+ },
+ {
+ "teal": 331,
+ "source": 81,
+ "pc": [
+ 316
+ ]
+ },
+ {
+ "teal": 332,
+ "source": 81,
+ "pc": [
+ 317,
+ 318
+ ]
+ },
+ {
+ "teal": 333,
+ "source": 81,
+ "pc": [
+ 319,
+ 320
+ ]
+ },
+ {
+ "teal": 334,
+ "source": 81,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 82,
+ "pc": [
+ 322
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 82,
+ "pc": [
+ 323,
+ 324
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 82,
+ "pc": [
+ 325,
+ 326
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 82,
+ "pc": [
+ 327
+ ]
+ },
+ {
+ "teal": 346,
+ "source": 85,
+ "pc": [
+ 328,
+ 329
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 85,
+ "pc": [
+ 330,
+ 331
+ ]
+ },
+ {
+ "teal": 348,
+ "source": 85,
+ "pc": [
+ 332,
+ 333
+ ]
+ },
+ {
+ "teal": 349,
+ "source": 85,
+ "pc": [
+ 334,
+ 335
+ ]
+ },
+ {
+ "teal": 350,
+ "source": 85,
+ "pc": [
+ 336
+ ]
+ },
+ {
+ "teal": 351,
+ "source": 70,
+ "pc": [
+ 337
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 88,
+ "pc": [
+ 338,
+ 339,
+ 340
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 88,
+ "pc": [
+ 341
+ ]
+ },
+ {
+ "teal": 358,
+ "source": 88,
+ "pc": [
+ 342
+ ]
+ },
+ {
+ "teal": 362,
+ "source": 88,
+ "pc": [
+ 343,
+ 344,
+ 345
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 88,
+ "pc": [
+ 346,
+ 347
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 88,
+ "pc": [
+ 348
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 89,
+ "pc": [
+ 349,
+ 350
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 89,
+ "pc": [
+ 351,
+ 352
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 89,
+ "pc": [
+ 353
+ ]
+ },
+ {
+ "teal": 373,
+ "source": 89,
+ "pc": [
+ 354,
+ 355
+ ]
+ },
+ {
+ "teal": 377,
+ "source": 90,
+ "pc": [
+ 356,
+ 357
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 90,
+ "pc": [
+ 358,
+ 359
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 93,
+ "pc": [
+ 360,
+ 361
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 93,
+ "pc": [
+ 362
+ ]
+ },
+ {
+ "teal": 386,
+ "source": 93,
+ "pc": [
+ 363
+ ]
+ },
+ {
+ "teal": 387,
+ "source": 93,
+ "pc": [
+ 364
+ ]
+ },
+ {
+ "teal": 388,
+ "source": 93,
+ "pc": [
+ 365,
+ 366,
+ 367
+ ]
+ },
+ {
+ "teal": 393,
+ "source": 93,
+ "pc": [
+ 368,
+ 369
+ ]
+ },
+ {
+ "teal": 394,
+ "source": 93,
+ "pc": [
+ 370
+ ]
+ },
+ {
+ "teal": 395,
+ "source": 93,
+ "pc": [
+ 371
+ ]
+ },
+ {
+ "teal": 396,
+ "source": 93,
+ "pc": [
+ 372
+ ]
+ },
+ {
+ "teal": 397,
+ "source": 93,
+ "pc": [
+ 373,
+ 374
+ ]
+ },
+ {
+ "teal": 402,
+ "source": 95,
+ "pc": [
+ 375,
+ 376
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 95,
+ "pc": [
+ 377,
+ 378
+ ]
+ },
+ {
+ "teal": 404,
+ "source": 95,
+ "pc": [
+ 379,
+ 380,
+ 381
+ ]
+ },
+ {
+ "teal": 408,
+ "source": 96,
+ "pc": [
+ 382,
+ 383
+ ]
+ },
+ {
+ "teal": 409,
+ "source": 96,
+ "pc": [
+ 384,
+ 385
+ ]
+ },
+ {
+ "teal": 410,
+ "source": 96,
+ "pc": [
+ 386,
+ 387
+ ]
+ },
+ {
+ "teal": 411,
+ "source": 96,
+ "pc": [
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 96,
+ "pc": [
+ 390
+ ]
+ },
+ {
+ "teal": 413,
+ "source": 96,
+ "pc": [
+ 391
+ ]
+ },
+ {
+ "teal": 414,
+ "source": 88,
+ "pc": [
+ 392
+ ]
+ },
+ {
+ "teal": 419,
+ "source": 99,
+ "pc": [
+ 393,
+ 394,
+ 395
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 99,
+ "pc": [
+ 396
+ ]
+ },
+ {
+ "teal": 423,
+ "source": 99,
+ "pc": [
+ 397,
+ 398,
+ 399
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 99,
+ "pc": [
+ 400
+ ]
+ },
+ {
+ "teal": 425,
+ "source": 99,
+ "pc": [
+ 401
+ ]
+ },
+ {
+ "teal": 429,
+ "source": 99,
+ "pc": [
+ 402,
+ 403,
+ 404
+ ]
+ },
+ {
+ "teal": 433,
+ "source": 100,
+ "pc": [
+ 405,
+ 406
+ ]
+ },
+ {
+ "teal": 434,
+ "source": 100,
+ "pc": [
+ 407
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 100,
+ "pc": [
+ 408
+ ]
+ },
+ {
+ "teal": 436,
+ "source": 100,
+ "pc": [
+ 409
+ ]
+ },
+ {
+ "teal": 437,
+ "source": 100,
+ "pc": [
+ 410
+ ]
+ },
+ {
+ "teal": 447,
+ "source": 103,
+ "pc": [
+ 411
+ ]
+ },
+ {
+ "teal": 448,
+ "source": 103,
+ "pc": [
+ 412
+ ]
+ },
+ {
+ "teal": 449,
+ "source": 103,
+ "pc": [
+ 413,
+ 414
+ ]
+ },
+ {
+ "teal": 453,
+ "source": 104,
+ "pc": [
+ 415
+ ]
+ },
+ {
+ "teal": 454,
+ "source": 104,
+ "pc": [
+ 416
+ ]
+ },
+ {
+ "teal": 455,
+ "source": 104,
+ "pc": [
+ 417,
+ 418
+ ]
+ },
+ {
+ "teal": 459,
+ "source": 105,
+ "pc": [
+ 419,
+ 420
+ ]
+ },
+ {
+ "teal": 460,
+ "source": 105,
+ "pc": [
+ 421,
+ 422
+ ]
+ },
+ {
+ "teal": 464,
+ "source": 106,
+ "pc": [
+ 423
+ ]
+ },
+ {
+ "teal": 465,
+ "source": 106,
+ "pc": [
+ 424
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 106,
+ "pc": [
+ 425,
+ 426
+ ]
+ },
+ {
+ "teal": 470,
+ "source": 107,
+ "pc": [
+ 427
+ ]
+ },
+ {
+ "teal": 471,
+ "source": 107,
+ "pc": [
+ 428
+ ]
+ },
+ {
+ "teal": 472,
+ "source": 107,
+ "pc": [
+ 429,
+ 430
+ ]
+ },
+ {
+ "teal": 475,
+ "source": 103,
+ "pc": [
+ 431
+ ]
+ },
+ {
+ "teal": 476,
+ "source": 103,
+ "pc": [
+ 432,
+ 433
+ ]
+ },
+ {
+ "teal": 479,
+ "source": 103,
+ "pc": [
+ 434
+ ]
+ },
+ {
+ "teal": 480,
+ "source": 99,
+ "pc": [
+ 435
+ ]
+ },
+ {
+ "teal": 485,
+ "source": 111,
+ "pc": [
+ 436,
+ 437,
+ 438
+ ]
+ },
+ {
+ "teal": 486,
+ "source": 111,
+ "pc": [
+ 439
+ ]
+ },
+ {
+ "teal": 487,
+ "source": 111,
+ "pc": [
+ 440
+ ]
+ },
+ {
+ "teal": 491,
+ "source": 111,
+ "pc": [
+ 441,
+ 442,
+ 443
+ ]
+ },
+ {
+ "teal": 499,
+ "source": 112,
+ "pc": [
+ 444
+ ]
+ },
+ {
+ "teal": 500,
+ "source": 112,
+ "pc": [
+ 445
+ ]
+ },
+ {
+ "teal": 501,
+ "source": 112,
+ "pc": [
+ 446,
+ 447
+ ]
+ },
+ {
+ "teal": 505,
+ "source": 113,
+ "pc": [
+ 448,
+ 449
+ ]
+ },
+ {
+ "teal": 506,
+ "source": 113,
+ "pc": [
+ 450,
+ 451
+ ]
+ },
+ {
+ "teal": 510,
+ "source": 114,
+ "pc": [
+ 452,
+ 453
+ ]
+ },
+ {
+ "teal": 511,
+ "source": 114,
+ "pc": [
+ 454,
+ 455
+ ]
+ },
+ {
+ "teal": 515,
+ "source": 115,
+ "pc": [
+ 456
+ ]
+ },
+ {
+ "teal": 516,
+ "source": 115,
+ "pc": [
+ 457,
+ 458
+ ]
+ },
+ {
+ "teal": 519,
+ "source": 112,
+ "pc": [
+ 459
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 112,
+ "pc": [
+ 460,
+ 461
+ ]
+ },
+ {
+ "teal": 523,
+ "source": 112,
+ "pc": [
+ 462
+ ]
+ },
+ {
+ "teal": 524,
+ "source": 111,
+ "pc": [
+ 463
+ ]
+ },
+ {
+ "teal": 527,
+ "source": 4,
+ "pc": [
+ 464,
+ 465,
+ 466,
+ 467,
+ 468,
+ 469
+ ]
+ },
+ {
+ "teal": 528,
+ "source": 4,
+ "pc": [
+ 470,
+ 471,
+ 472
+ ]
+ },
+ {
+ "teal": 529,
+ "source": 4,
+ "pc": [
+ 473,
+ 474,
+ 475,
+ 476
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 477
+ ]
+ },
+ {
+ "teal": 535,
+ "source": 4,
+ "pc": [
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483
+ ]
+ },
+ {
+ "teal": 536,
+ "source": 4,
+ "pc": [
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489
+ ]
+ },
+ {
+ "teal": 537,
+ "source": 4,
+ "pc": [
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495
+ ]
+ },
+ {
+ "teal": 538,
+ "source": 4,
+ "pc": [
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ 501
+ ]
+ },
+ {
+ "teal": 539,
+ "source": 4,
+ "pc": [
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507
+ ]
+ },
+ {
+ "teal": 540,
+ "source": 4,
+ "pc": [
+ 508,
+ 509,
+ 510
+ ]
+ },
+ {
+ "teal": 541,
+ "source": 4,
+ "pc": [
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522
+ ]
+ },
+ {
+ "teal": 544,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 523
+ ]
+ },
+ {
+ "teal": 547,
+ "source": 4,
+ "pc": [
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529
+ ]
+ },
+ {
+ "teal": 548,
+ "source": 4,
+ "pc": [
+ 530,
+ 531,
+ 532
+ ]
+ },
+ {
+ "teal": 549,
+ "source": 4,
+ "pc": [
+ 533,
+ 534,
+ 535,
+ 536
+ ]
+ },
+ {
+ "teal": 552,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for call OptIn",
+ "pc": [
+ 537
+ ]
+ },
+ {
+ "teal": 555,
+ "source": 4,
+ "pc": [
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543
+ ]
+ },
+ {
+ "teal": 556,
+ "source": 4,
+ "pc": [
+ 544,
+ 545,
+ 546
+ ]
+ },
+ {
+ "teal": 557,
+ "source": 4,
+ "pc": [
+ 547,
+ 548,
+ 549,
+ 550
+ ]
+ },
+ {
+ "teal": 560,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for call DeleteApplication",
+ "pc": [
+ 551
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9EZWxldGVBcHBsaWNhdGlvbiAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIGNyZWF0ZUFwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTgKCS8vIHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9IDAKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjE5CgkvLyB0aGlzLnByZXZpb3VzQmlkLnZhbHVlID0gMAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MjAKCS8vIHRoaXMuYXNhQW10LnZhbHVlID0gMAoJYnl0ZSAweDYxNzM2MTQxNmQ3NCAvLyAiYXNhQW10IgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MjEKCS8vIHRoaXMuYXNhLnZhbHVlID0gQXNzZXRJRC56ZXJvSW5kZXgKCWJ5dGUgMHg2MTczNjEgLy8gImFzYSIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjI0CgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQ2NDY1NzIgLy8gInByZXZpb3VzQmlkZGVyIgoJZ2xvYmFsIFplcm9BZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vcHRJbnRvQXNzZXQ6CgkvLyBhc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgb3B0SW50b0Fzc2V0CglpbnQgMQoJcmV0dXJuCgovLyBvcHRJbnRvQXNzZXQoYXNzZXQ6IEFzc2V0SUQpOiB2b2lkCm9wdEludG9Bc3NldDoKCXByb3RvIDEgMAoKCS8vIE9ubHkgYWxsb3cgYXBwIGNyZWF0b3IgdG8gb3B0IHRoZSBhcHAgYWNjb3VudCBpbnRvIGEgQVNBCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyOQoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gVmVyaWZ5IGEgQVNBIGhhc24ndCBhbHJlYWR5IGJlZW4gb3B0ZWQgaW50bwoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmFzYS52YWx1ZSA9PT0gQXNzZXRJRC56ZXJvSW5kZXgpCglieXRlIDB4NjE3MzYxIC8vICJhc2EiCglhcHBfZ2xvYmFsX2dldAoJaW50IDAKCT09Cglhc3NlcnQKCgkvLyBTYXZlIEFTQSBJRCBpbiBnbG9iYWwgc3RhdGUKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjM1CgkvLyB0aGlzLmFzYS52YWx1ZSA9IGFzc2V0CglieXRlIDB4NjE3MzYxIC8vICJhc2EiCglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gU3VibWl0IG9wdC1pbiB0cmFuc2FjdGlvbjogMCBhc3NldCB0cmFuc2ZlciB0byBzZWxmCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czozOAoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogYXNzZXQsCgkvLyAgICAgICBhc3NldEFtb3VudDogMCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzkKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0MAoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQxCgkvLyBhc3NldEFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKKmFiaV9yb3V0ZV9zdGFydEF1Y3Rpb246CgkvLyBheGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGF4ZmVyKSBmb3Igc3RhcnRBdWN0aW9uIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gbGVuZ3RoOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKCWNhbGxzdWIgc3RhcnRBdWN0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBzdGFydEF1Y3Rpb24oc3RhcnRpbmdQcmljZTogdWludDY0LCBsZW5ndGg6IHVpbnQ2NCwgYXhmZXI6IEFzc2V0VHJhbnNmZXJUeG4pOiB2b2lkCnN0YXJ0QXVjdGlvbjoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQ2CgkvLyB2ZXJpZnlBcHBDYWxsVHhuKHRoaXMudHhuLCB7IHNlbmRlcjogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcyB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoiZ2xvYmFscy5jcmVhdG9yQWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBFbnN1cmUgdGhlIGF1Y3Rpb24gaGFzbid0IGFscmVhZHkgYmVlbiBzdGFydGVkCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0OQoJLy8gYXNzZXJ0KHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9PT0gMCkKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIFZlcmlmeSBheGZlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTIKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYXhmZXIsIHsgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcyB9KQoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJheGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBTZXQgZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NQoJLy8gdGhpcy5hc2FBbXQudmFsdWUgPSBheGZlci5hc3NldEFtb3VudAoJYnl0ZSAweDYxNzM2MTQxNmQ3NCAvLyAiYXNhQW10IgoJZnJhbWVfZGlnIC0zIC8vIGF4ZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NgoJLy8gdGhpcy5hdWN0aW9uRW5kLnZhbHVlID0gZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAgKyBsZW5ndGgKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGg6IHVpbnQ2NAoJKwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NwoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IHN0YXJ0aW5nUHJpY2UKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0IC8vICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHBheShyZWNlaXZlcjogQWRkcmVzcywgYW1vdW50OiB1aW50NjQpOiB2b2lkCnBheToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogcmVjZWl2ZXIsCgkvLyAgICAgICBhbW91bnQ6IGFtb3VudCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYyCgkvLyByZWNlaXZlcjogcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyByZWNlaXZlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYzCgkvLyBhbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCXJldHN1YgoKLy8gYmlkKHBheSl2b2lkCiphYmlfcm91dGVfYmlkOgoJLy8gcGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGJpZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGJpZChwYXkpdm9pZAoJY2FsbHN1YiBiaWQKCWludCAxCglyZXR1cm4KCi8vIGJpZChwYXltZW50OiBQYXlUeG4pOiB2b2lkCmJpZDoKCXByb3RvIDEgMAoKCS8vIEVuc3VyZSBhdWN0aW9uIGhhc24ndCBlbmRlZAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NzIKCS8vIGFzc2VydChnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCA8IHRoaXMuYXVjdGlvbkVuZC52YWx1ZSkKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0Cgk8Cglhc3NlcnQKCgkvLyBWZXJpZnkgcGF5bWVudCB0cmFuc2FjdGlvbgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NzUKCS8vIHZlcmlmeVBheVR4bihwYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFtb3VudDogeyBncmVhdGVyVGhhbjogdGhpcy5wcmV2aW91c0JpZC52YWx1ZSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0IC8vICJwcmV2aW91c0JpZCIKCWFwcF9nbG9iYWxfZ2V0Cgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPnRoaXMucHJldmlvdXNCaWQudmFsdWUifQoJYXNzZXJ0CgoJLy8gU2V0IGdsb2JhbCBzdGF0ZQoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODEKCS8vIHRoaXMucHJldmlvdXNCaWQudmFsdWUgPSBwYXltZW50LmFtb3VudAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjgyCgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gcGF5bWVudC5zZW5kZXIKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWZyYW1lX2RpZyAtMSAvLyBwYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJYXBwX2dsb2JhbF9wdXQKCgkvLyBVcGRhdGUgY2xhaW1hYmxlIGFtb3VudAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODUKCS8vIHRoaXMuY2xhaW1hYmxlQW1vdW50KHRoaXMudHhuLnNlbmRlcikudmFsdWUgPSBwYXltZW50LmFtb3VudAoJdHhuIFNlbmRlcgoJYnl0ZSAweDYzNmM2MTY5NmQ2MTYyNmM2NTQxNmQ2Zjc1NmU3NCAvLyAiY2xhaW1hYmxlQW1vdW50IgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGNsYWltQmlkcygpdm9pZAoqYWJpX3JvdXRlX2NsYWltQmlkczoKCS8vIGV4ZWN1dGUgY2xhaW1CaWRzKCl2b2lkCgljYWxsc3ViIGNsYWltQmlkcwoJaW50IDEKCXJldHVybgoKLy8gY2xhaW1CaWRzKCk6IHZvaWQKY2xhaW1CaWRzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjg5CgkvLyBvcmlnaW5hbEFtb3VudCA9IHRoaXMuY2xhaW1hYmxlQW1vdW50KHRoaXMudHhuLnNlbmRlcikudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzZjNjE2OTZkNjE2MjZjNjU0MTZkNmY3NTZlNzQgLy8gImNsYWltYWJsZUFtb3VudCIKCWFwcF9sb2NhbF9nZXQKCWZyYW1lX2J1cnkgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6OTAKCS8vIGFtb3VudCA9IG9yaWdpbmFsQW1vdW50CglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYW1vdW50OiB1aW50NjQKCgkvLyBzdWJ0cmFjdCBwcmV2aW91cyBiaWQgaWYgc2VuZGVyIGlzIHByZXZpb3VzIGJpZGRlcgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyBhbW91bnQgPSBhbW91bnQgLSB0aGlzLnByZXZpb3VzQmlkLnZhbHVlCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWZyYW1lX2J1cnkgMSAvLyBhbW91bnQ6IHVpbnQ2NAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NQoJLy8gdGhpcy5wYXkodGhpcy50eG4uc2VuZGVyLCBhbW91bnQpCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwYXkKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NgoJLy8gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IG9yaWdpbmFsQW1vdW50IC0gYW1vdW50Cgl0eG4gU2VuZGVyCglieXRlIDB4NjM2YzYxNjk2ZDYxNjI2YzY1NDE2ZDZmNzU2ZTc0IC8vICJjbGFpbWFibGVBbW91bnQiCglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJLQoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBjbGFpbV9hc3NldCh1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NsYWltX2Fzc2V0OgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2xhaW1fYXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgY2xhaW1fYXNzZXQKCWludCAxCglyZXR1cm4KCi8vIGNsYWltX2Fzc2V0KGFzc2V0OiBBc3NldElEKTogdm9pZApjbGFpbV9hc3NldDoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wID4gdGhpcy5hdWN0aW9uRW5kLnZhbHVlKQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJYnl0ZSAweDYxNzU2Mzc0Njk2ZjZlNDU2ZTY0IC8vICJhdWN0aW9uRW5kIgoJYXBwX2dsb2JhbF9nZXQKCT4KCWFzc2VydAoKCS8vIFNlbmQgQVNBIHRvIHByZXZpb3VzIGJpZGRlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTAzCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB0aGlzLmFzYUFtdC52YWx1ZSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA0CgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlCglieXRlIDB4NzA3MjY1NzY2OTZmNzU3MzQyNjk2NDY0NjU3MiAvLyAicHJldmlvdXNCaWRkZXIiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA1CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA2CgkvLyBhc3NldEFtb3VudDogdGhpcy5hc2FBbXQudmFsdWUKCWJ5dGUgMHg2MTczNjE0MTZkNzQgLy8gImFzYUFtdCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA3CgkvLyBhc3NldENsb3NlVG86IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFzc2V0Q2xvc2VUbwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHJlY2VpdmVyOiBnbG9iYWxzLmNyZWF0b3JBZGRyZXNzLAoJLy8gICAgICAgY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcywKCS8vICAgICAgIGFtb3VudDogMCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMwoJLy8gcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExNAoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcwoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTUKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvcHRJbnRvQXNzZXQodWludDY0KXZvaWQiCgltZXRob2QgInN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQiCgltZXRob2QgImJpZChwYXkpdm9pZCIKCW1ldGhvZCAiY2xhaW1CaWRzKCl2b2lkIgoJbWV0aG9kICJjbGFpbV9hc3NldCh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW50b0Fzc2V0ICphYmlfcm91dGVfc3RhcnRBdWN0aW9uICphYmlfcm91dGVfYmlkICphYmlfcm91dGVfY2xhaW1CaWRzICphYmlfcm91dGVfY2xhaW1fYXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJvcHRJblRvQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnIKCipjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uOgoJbWV0aG9kICJkZWxldGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGVsZXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBEZWxldGVBcHBsaWNhdGlvbgoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9EZWxldGVBcHBsaWNhdGlvbiAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIGNyZWF0ZUFwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTgKCS8vIHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9IDAKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjE5CgkvLyB0aGlzLnByZXZpb3VzQmlkLnZhbHVlID0gMAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MjAKCS8vIHRoaXMuYXNhQW10LnZhbHVlID0gMAoJYnl0ZSAweDYxNzM2MTQxNmQ3NCAvLyAiYXNhQW10IgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MjEKCS8vIHRoaXMuYXNhLnZhbHVlID0gQXNzZXRJRC56ZXJvSW5kZXgKCWJ5dGUgMHg2MTczNjEgLy8gImFzYSIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjI0CgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQ2NDY1NzIgLy8gInByZXZpb3VzQmlkZGVyIgoJZ2xvYmFsIFplcm9BZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vcHRJbnRvQXNzZXQ6CgkvLyBhc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgb3B0SW50b0Fzc2V0CglpbnQgMQoJcmV0dXJuCgovLyBvcHRJbnRvQXNzZXQoYXNzZXQ6IEFzc2V0SUQpOiB2b2lkCm9wdEludG9Bc3NldDoKCXByb3RvIDEgMAoKCS8vIE9ubHkgYWxsb3cgYXBwIGNyZWF0b3IgdG8gb3B0IHRoZSBhcHAgYWNjb3VudCBpbnRvIGEgQVNBCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyOQoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gVmVyaWZ5IGEgQVNBIGhhc24ndCBhbHJlYWR5IGJlZW4gb3B0ZWQgaW50bwoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmFzYS52YWx1ZSA9PT0gQXNzZXRJRC56ZXJvSW5kZXgpCglieXRlIDB4NjE3MzYxIC8vICJhc2EiCglhcHBfZ2xvYmFsX2dldAoJaW50IDAKCT09Cglhc3NlcnQKCgkvLyBTYXZlIEFTQSBJRCBpbiBnbG9iYWwgc3RhdGUKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjM1CgkvLyB0aGlzLmFzYS52YWx1ZSA9IGFzc2V0CglieXRlIDB4NjE3MzYxIC8vICJhc2EiCglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gU3VibWl0IG9wdC1pbiB0cmFuc2FjdGlvbjogMCBhc3NldCB0cmFuc2ZlciB0byBzZWxmCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czozOAoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogYXNzZXQsCgkvLyAgICAgICBhc3NldEFtb3VudDogMCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzkKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0MAoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQxCgkvLyBhc3NldEFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKKmFiaV9yb3V0ZV9zdGFydEF1Y3Rpb246CgkvLyBheGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGF4ZmVyKSBmb3Igc3RhcnRBdWN0aW9uIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gbGVuZ3RoOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKCWNhbGxzdWIgc3RhcnRBdWN0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBzdGFydEF1Y3Rpb24oc3RhcnRpbmdQcmljZTogdWludDY0LCBsZW5ndGg6IHVpbnQ2NCwgYXhmZXI6IEFzc2V0VHJhbnNmZXJUeG4pOiB2b2lkCnN0YXJ0QXVjdGlvbjoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQ2CgkvLyB2ZXJpZnlBcHBDYWxsVHhuKHRoaXMudHhuLCB7IHNlbmRlcjogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcyB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoiZ2xvYmFscy5jcmVhdG9yQWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBFbnN1cmUgdGhlIGF1Y3Rpb24gaGFzbid0IGFscmVhZHkgYmVlbiBzdGFydGVkCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0OQoJLy8gYXNzZXJ0KHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9PT0gMCkKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIFZlcmlmeSBheGZlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTIKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYXhmZXIsIHsgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcyB9KQoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJheGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBTZXQgZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NQoJLy8gdGhpcy5hc2FBbXQudmFsdWUgPSBheGZlci5hc3NldEFtb3VudAoJYnl0ZSAweDYxNzM2MTQxNmQ3NCAvLyAiYXNhQW10IgoJZnJhbWVfZGlnIC0zIC8vIGF4ZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NgoJLy8gdGhpcy5hdWN0aW9uRW5kLnZhbHVlID0gZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAgKyBsZW5ndGgKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGg6IHVpbnQ2NAoJKwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NwoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IHN0YXJ0aW5nUHJpY2UKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0IC8vICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHBheShyZWNlaXZlcjogQWRkcmVzcywgYW1vdW50OiB1aW50NjQpOiB2b2lkCnBheToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogcmVjZWl2ZXIsCgkvLyAgICAgICBhbW91bnQ6IGFtb3VudCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYyCgkvLyByZWNlaXZlcjogcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyByZWNlaXZlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYzCgkvLyBhbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCXJldHN1YgoKLy8gYmlkKHBheSl2b2lkCiphYmlfcm91dGVfYmlkOgoJLy8gcGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGJpZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGJpZChwYXkpdm9pZAoJY2FsbHN1YiBiaWQKCWludCAxCglyZXR1cm4KCi8vIGJpZChwYXltZW50OiBQYXlUeG4pOiB2b2lkCmJpZDoKCXByb3RvIDEgMAoKCS8vIEVuc3VyZSBhdWN0aW9uIGhhc24ndCBlbmRlZAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NzIKCS8vIGFzc2VydChnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCA8IHRoaXMuYXVjdGlvbkVuZC52YWx1ZSkKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWJ5dGUgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAvLyAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0Cgk8Cglhc3NlcnQKCgkvLyBWZXJpZnkgcGF5bWVudCB0cmFuc2FjdGlvbgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NzUKCS8vIHZlcmlmeVBheVR4bihwYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFtb3VudDogeyBncmVhdGVyVGhhbjogdGhpcy5wcmV2aW91c0JpZC52YWx1ZSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0IC8vICJwcmV2aW91c0JpZCIKCWFwcF9nbG9iYWxfZ2V0Cgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPnRoaXMucHJldmlvdXNCaWQudmFsdWUifQoJYXNzZXJ0CgoJLy8gU2V0IGdsb2JhbCBzdGF0ZQoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODEKCS8vIHRoaXMucHJldmlvdXNCaWQudmFsdWUgPSBwYXltZW50LmFtb3VudAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjgyCgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gcGF5bWVudC5zZW5kZXIKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWZyYW1lX2RpZyAtMSAvLyBwYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJYXBwX2dsb2JhbF9wdXQKCgkvLyBVcGRhdGUgY2xhaW1hYmxlIGFtb3VudAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODUKCS8vIHRoaXMuY2xhaW1hYmxlQW1vdW50KHRoaXMudHhuLnNlbmRlcikudmFsdWUgPSBwYXltZW50LmFtb3VudAoJdHhuIFNlbmRlcgoJYnl0ZSAweDYzNmM2MTY5NmQ2MTYyNmM2NTQxNmQ2Zjc1NmU3NCAvLyAiY2xhaW1hYmxlQW1vdW50IgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGNsYWltQmlkcygpdm9pZAoqYWJpX3JvdXRlX2NsYWltQmlkczoKCS8vIGV4ZWN1dGUgY2xhaW1CaWRzKCl2b2lkCgljYWxsc3ViIGNsYWltQmlkcwoJaW50IDEKCXJldHVybgoKLy8gY2xhaW1CaWRzKCk6IHZvaWQKY2xhaW1CaWRzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjg5CgkvLyBvcmlnaW5hbEFtb3VudCA9IHRoaXMuY2xhaW1hYmxlQW1vdW50KHRoaXMudHhuLnNlbmRlcikudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzZjNjE2OTZkNjE2MjZjNjU0MTZkNmY3NTZlNzQgLy8gImNsYWltYWJsZUFtb3VudCIKCWFwcF9sb2NhbF9nZXQKCWZyYW1lX2J1cnkgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6OTAKCS8vIGFtb3VudCA9IG9yaWdpbmFsQW1vdW50CglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYW1vdW50OiB1aW50NjQKCgkvLyBzdWJ0cmFjdCBwcmV2aW91cyBiaWQgaWYgc2VuZGVyIGlzIHByZXZpb3VzIGJpZGRlcgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyBhbW91bnQgPSBhbW91bnQgLSB0aGlzLnByZXZpb3VzQmlkLnZhbHVlCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJYnl0ZSAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgLy8gInByZXZpb3VzQmlkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWZyYW1lX2J1cnkgMSAvLyBhbW91bnQ6IHVpbnQ2NAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NQoJLy8gdGhpcy5wYXkodGhpcy50eG4uc2VuZGVyLCBhbW91bnQpCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwYXkKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NgoJLy8gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IG9yaWdpbmFsQW1vdW50IC0gYW1vdW50Cgl0eG4gU2VuZGVyCglieXRlIDB4NjM2YzYxNjk2ZDYxNjI2YzY1NDE2ZDZmNzU2ZTc0IC8vICJjbGFpbWFibGVBbW91bnQiCglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJLQoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBjbGFpbV9hc3NldCh1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NsYWltX2Fzc2V0OgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2xhaW1fYXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgY2xhaW1fYXNzZXQKCWludCAxCglyZXR1cm4KCi8vIGNsYWltX2Fzc2V0KGFzc2V0OiBBc3NldElEKTogdm9pZApjbGFpbV9hc3NldDoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wID4gdGhpcy5hdWN0aW9uRW5kLnZhbHVlKQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJYnl0ZSAweDYxNzU2Mzc0Njk2ZjZlNDU2ZTY0IC8vICJhdWN0aW9uRW5kIgoJYXBwX2dsb2JhbF9nZXQKCT4KCWFzc2VydAoKCS8vIFNlbmQgQVNBIHRvIHByZXZpb3VzIGJpZGRlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTAzCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB0aGlzLmFzYUFtdC52YWx1ZSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA0CgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlCglieXRlIDB4NzA3MjY1NzY2OTZmNzU3MzQyNjk2NDY0NjU3MiAvLyAicHJldmlvdXNCaWRkZXIiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA1CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA2CgkvLyBhc3NldEFtb3VudDogdGhpcy5hc2FBbXQudmFsdWUKCWJ5dGUgMHg2MTczNjE0MTZkNzQgLy8gImFzYUFtdCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTA3CgkvLyBhc3NldENsb3NlVG86IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCWJ5dGUgMHg3MDcyNjU3NjY5NmY3NTczNDI2OTY0NjQ2NTcyIC8vICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFzc2V0Q2xvc2VUbwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHJlY2VpdmVyOiBnbG9iYWxzLmNyZWF0b3JBZGRyZXNzLAoJLy8gICAgICAgY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcywKCS8vICAgICAgIGFtb3VudDogMCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMwoJLy8gcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExNAoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcwoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTUKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvcHRJbnRvQXNzZXQodWludDY0KXZvaWQiCgltZXRob2QgInN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQiCgltZXRob2QgImJpZChwYXkpdm9pZCIKCW1ldGhvZCAiY2xhaW1CaWRzKCl2b2lkIgoJbWV0aG9kICJjbGFpbV9hc3NldCh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW50b0Fzc2V0ICphYmlfcm91dGVfc3RhcnRBdWN0aW9uICphYmlfcm91dGVfYmlkICphYmlfcm91dGVfY2xhaW1CaWRzICphYmlfcm91dGVfY2xhaW1fYXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJvcHRJblRvQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnIKCipjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uOgoJbWV0aG9kICJkZWxldGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGVsZXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBEZWxldGVBcHBsaWNhdGlvbgoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/examples/big_box/artifacts/BigBox.approval.teal b/examples/big_box/artifacts/BigBox.approval.teal
index 7b850403a..d02a74df8 100644
--- a/examples/big_box/artifacts/BigBox.approval.teal
+++ b/examples/big_box/artifacts/BigBox.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/big_box/artifacts/BigBox.arc32.json b/examples/big_box/artifacts/BigBox.arc32.json
index 9db4970ea..e60bbbca5 100644
--- a/examples/big_box/artifacts/BigBox.arc32.json
+++ b/examples/big_box/artifacts/BigBox.arc32.json
@@ -54,7 +54,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZAoqYWJpX3JvdXRlX3N0YXJ0VXBsb2FkOgoJLy8gbWJyUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAobWJyUGF5bWVudCkgZm9yIHN0YXJ0VXBsb2FkIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGVuZEJveFNpemU6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIG51bUJveGVzOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQKCWNhbGxzdWIgc3RhcnRVcGxvYWQKCWludCAxCglyZXR1cm4KCi8vIHN0YXJ0VXBsb2FkKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIG51bUJveGVzOiB1aW50NjQsIGVuZEJveFNpemU6IHVpbnQ2NCwgbWJyUGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLwovLyBBbGxvY2F0ZSBib3hlcyB0byBiZWdpbiBkYXRhIHVwbG9hZCBwcm9jZXNzCi8vCi8vIEBwYXJhbSBkYXRhSWRlbnRpZmllciBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBkYXRhCi8vIEBwYXJhbSBudW1Cb3hlcyBUaGUgbnVtYmVyIG9mIGJveGVzIHRoYXQgdGhlIGRhdGEgd2lsbCB0YWtlIHVwCi8vIEBwYXJhbSBlbmRCb3hTaXplIFRoZSBzaXplIG9mIHRoZSBsYXN0IGJveAovLyBAcGFyYW0gbWJyUGF5bWVudCBQYXltZW50IGZyb20gdGhlIHVwbG9hZGVyIHRvIGNvdmVyIHRoZSBib3ggTUJSCnN0YXJ0VXBsb2FkOgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjQxCgkvLyBzdGFydEJveCA9IHRoaXMuY3VycmVudEluZGV4LnZhbHVlCglieXRlIDB4NjM3NTcyNzI2NTZlNzQ0OTZlNjQ2NTc4IC8vICJjdXJyZW50SW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo0MgoJLy8gZW5kQm94ID0gc3RhcnRCb3ggKyBudW1Cb3hlcyAtIDEKCWZyYW1lX2RpZyAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CgkrCglpbnQgMQoJLQoJZnJhbWVfYnVyeSAxIC8vIGVuZEJveDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDQKCS8vIG1ldGFkYXRhOiBNZXRhZGF0YSA9IHsKCS8vICAgICAgIHN0YXJ0OiBzdGFydEJveCwKCS8vICAgICAgIGVuZDogZW5kQm94LAoJLy8gICAgICAgc3RhdHVzOiBJTl9QUk9HUkVTUywKCS8vICAgICAgIGVuZFNpemU6IGVuZEJveFNpemUsCgkvLyAgICAgfQoJZnJhbWVfZGlnIDAgLy8gc3RhcnRCb3g6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwCgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyBlbmRCb3hTaXplOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfYnVyeSAyIC8vIG1ldGFkYXRhOiBNZXRhZGF0YQoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjUxCgkvLyBhc3NlcnQoIXRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLmV4aXN0cykKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglib3hfbGVuCglzd2FwCglwb3AKCSEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjUzCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZSA9IG1ldGFkYXRhCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJZnJhbWVfZGlnIDIgLy8gbWV0YWRhdGE6IE1ldGFkYXRhCglib3hfcHV0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTUKCS8vIHRoaXMuY3VycmVudEluZGV4LnZhbHVlID0gZW5kQm94ICsgMQoJYnl0ZSAweDYzNzU3MjcyNjU2ZTc0NDk2ZTY0NjU3OCAvLyAiY3VycmVudEluZGV4IgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWludCAxCgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjU3CgkvLyB0b3RhbENvc3QgPQoJLy8gICAgICAgbnVtQm94ZXMgKiBDT1NUX1BFUl9CT1ggKyAvLyBjb3N0IG9mIGJveGVzCgkvLyAgICAgICAobnVtQm94ZXMgLSAxKSAqIE1BWF9CT1hfU0laRSAqIENPU1RfUEVSX0JZVEUgKyAvLyBjb3N0IG9mIGRhdGEKCS8vICAgICAgIG51bUJveGVzICogNjQgKiBDT1NUX1BFUl9CWVRFICsgLy8gY29zdCBvZiBrZXlzCgkvLyAgICAgICBlbmRCb3hTaXplICogQ09TVF9QRVJfQllURQoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludCAyNTAwCgkqCglmcmFtZV9kaWcgLTIgLy8gbnVtQm94ZXM6IHVpbnQ2NAoJaW50IDEKCS0KCWludCAzMjc2OAoJKgoJaW50IDQwMAoJKgoJKwoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludCA2NAoJKgoJaW50IDQwMAoJKgoJKwoJZnJhbWVfZGlnIC0zIC8vIGVuZEJveFNpemU6IHVpbnQ2NAoJaW50IDQwMAoJKgoJKwoJZnJhbWVfYnVyeSAzIC8vIHRvdGFsQ29zdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NjMKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IHRvdGFsQ29zdCB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTQgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTQgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAzIC8vIHRvdGFsQ29zdDogdWludDY0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJ0b3RhbENvc3QifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxieXRlW10pdm9pZAoqYWJpX3JvdXRlX3VwbG9hZDoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJZXh0cmFjdCAyIDAKCgkvLyBvZmZzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGJveEluZGV4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgdXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkCgljYWxsc3ViIHVwbG9hZAoJaW50IDEKCXJldHVybgoKLy8gdXBsb2FkKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIGJveEluZGV4OiB1aW50NjQsIG9mZnNldDogdWludDY0LCBkYXRhOiBieXRlcyk6IHZvaWQKLy8KLy8KLy8gVXBsb2FkIGRhdGEgdG8gYSBzcGVjaWZpYyBvZmZzZXQgaW4gYSBib3gKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIGJveEluZGV4IFRoZSBpbmRleCBvZiB0aGUgYm94IHRvIHVwbG9hZCB0aGUgZ2l2ZW4gY2h1bmsgb2YgZGF0YSB0bwovLyBAcGFyYW0gb2Zmc2V0IFRoZSBvZmZzZXQgd2l0aGluIHRoZSBib3ggdG8gc3RhcnQgd3JpdGluZyB0aGUgZGF0YQovLyBAcGFyYW0gZGF0YSBUaGUgZGF0YSB0byB3cml0ZQp1cGxvYWQ6Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc2CgkvLyBtZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly9tZXRhZGF0YQoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc3CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTYgLy8gaGVhZE9mZnNldAoJaW50IDEKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc4CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhcnQgPD0gYm94SW5kZXggJiYgYm94SW5kZXggPD0gbWV0YWRhdGEuZW5kKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludCAwCglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0Cgk8PQoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludCA4IC8vIGhlYWRPZmZzZXQKCWludCA4Cglib3hfZXh0cmFjdAoJYnRvaQoJPD0KCSYmCgoqc2tpcF9hbmQwOgoJYXNzZXJ0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjgwCgkvLyBvZmZzZXQgPT09IDAKCWZyYW1lX2RpZyAtMyAvLyBvZmZzZXQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6ODEKCS8vIHRoaXMuZGF0YUJveGVzKGJveEluZGV4KS5jcmVhdGUoYm94SW5kZXggPT09IG1ldGFkYXRhLmVuZCA/IG1ldGFkYXRhLmVuZFNpemUgOiBNQVhfQk9YX1NJWkUpCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgOCAvLyBoZWFkT2Zmc2V0CglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCT09CglieiAqdGVybmFyeTBfZmFsc2UKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTcgLy8gaGVhZE9mZnNldAoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWludCAzMjc2OAoKKnRlcm5hcnkwX2VuZDoKCWJveF9jcmVhdGUKCXBvcAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo4NAoJLy8gdGhpcy5kYXRhQm94ZXMoYm94SW5kZXgpLnJlcGxhY2Uob2Zmc2V0LCBkYXRhKQoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyAtMyAvLyBvZmZzZXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC00IC8vIGRhdGE6IGJ5dGVzCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBzZXRTdGF0dXMoc3RyaW5nLHVpbnQ4KXZvaWQKKmFiaV9yb3V0ZV9zZXRTdGF0dXM6CgkvLyBzdGF0dXM6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoc3RhdHVzKSBmb3Igc2V0U3RhdHVzIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHNldFN0YXR1cyhzdHJpbmcsdWludDgpdm9pZAoJY2FsbHN1YiBzZXRTdGF0dXMKCWludCAxCglyZXR1cm4KCi8vIHNldFN0YXR1cyhkYXRhSWRlbnRpZmllcjogc3RyaW5nLCBzdGF0dXM6IHVpbnQ8OD4pOiB2b2lkCi8vCi8vCi8vIFNldCB0aGUgc3RhdHVzIG9mIHRoZSBkYXRhCi8vCi8vIEBwYXJhbSBkYXRhSWRlbnRpZmllciBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBkYXRhCi8vIEBwYXJhbSBzdGF0dXMgVGhlIG5ldyBzdGF0dXMgZm9yIHRoZSBkYXRhCnNldFN0YXR1czoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6OTUKCS8vIGN1cnJlbnRTdGF0dXMgPSB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTYgLy8gaGVhZE9mZnNldAoJaW50IDEKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NwoJLy8gYXNzZXJ0KHN0YXR1cyA9PT0gUkVBRFkgfHwgc3RhdHVzID09PSBJTU1VVEFCTEUgfHwgc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludCAxCgk9PQoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpbnQgMgoJPT0KCXx8Cgoqc2tpcF9vcjA6CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludCAwCgk9PQoJfHwKCipza2lwX29yMToKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoY3VycmVudFN0YXR1cyAhPT0gSU1NVVRBQkxFKQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCWludCAyCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6MTAwCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMgPSBzdGF0dXMKCWludCAxNiAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpdG9iCglleHRyYWN0IDcgMQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZCIKCW1ldGhvZCAidXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkIgoJbWV0aG9kICJzZXRTdGF0dXMoc3RyaW5nLHVpbnQ4KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXJ0VXBsb2FkICphYmlfcm91dGVfdXBsb2FkICphYmlfcm91dGVfc2V0U3RhdHVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZAoqYWJpX3JvdXRlX3N0YXJ0VXBsb2FkOgoJLy8gbWJyUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAobWJyUGF5bWVudCkgZm9yIHN0YXJ0VXBsb2FkIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGVuZEJveFNpemU6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIG51bUJveGVzOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQKCWNhbGxzdWIgc3RhcnRVcGxvYWQKCWludCAxCglyZXR1cm4KCi8vIHN0YXJ0VXBsb2FkKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIG51bUJveGVzOiB1aW50NjQsIGVuZEJveFNpemU6IHVpbnQ2NCwgbWJyUGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLwovLyBBbGxvY2F0ZSBib3hlcyB0byBiZWdpbiBkYXRhIHVwbG9hZCBwcm9jZXNzCi8vCi8vIEBwYXJhbSBkYXRhSWRlbnRpZmllciBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBkYXRhCi8vIEBwYXJhbSBudW1Cb3hlcyBUaGUgbnVtYmVyIG9mIGJveGVzIHRoYXQgdGhlIGRhdGEgd2lsbCB0YWtlIHVwCi8vIEBwYXJhbSBlbmRCb3hTaXplIFRoZSBzaXplIG9mIHRoZSBsYXN0IGJveAovLyBAcGFyYW0gbWJyUGF5bWVudCBQYXltZW50IGZyb20gdGhlIHVwbG9hZGVyIHRvIGNvdmVyIHRoZSBib3ggTUJSCnN0YXJ0VXBsb2FkOgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjQxCgkvLyBzdGFydEJveCA9IHRoaXMuY3VycmVudEluZGV4LnZhbHVlCglieXRlIDB4NjM3NTcyNzI2NTZlNzQ0OTZlNjQ2NTc4IC8vICJjdXJyZW50SW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo0MgoJLy8gZW5kQm94ID0gc3RhcnRCb3ggKyBudW1Cb3hlcyAtIDEKCWZyYW1lX2RpZyAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CgkrCglpbnQgMQoJLQoJZnJhbWVfYnVyeSAxIC8vIGVuZEJveDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDQKCS8vIG1ldGFkYXRhOiBNZXRhZGF0YSA9IHsKCS8vICAgICAgIHN0YXJ0OiBzdGFydEJveCwKCS8vICAgICAgIGVuZDogZW5kQm94LAoJLy8gICAgICAgc3RhdHVzOiBJTl9QUk9HUkVTUywKCS8vICAgICAgIGVuZFNpemU6IGVuZEJveFNpemUsCgkvLyAgICAgfQoJZnJhbWVfZGlnIDAgLy8gc3RhcnRCb3g6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwCgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyBlbmRCb3hTaXplOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfYnVyeSAyIC8vIG1ldGFkYXRhOiBNZXRhZGF0YQoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjUxCgkvLyBhc3NlcnQoIXRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLmV4aXN0cykKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglib3hfbGVuCglzd2FwCglwb3AKCSEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjUzCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZSA9IG1ldGFkYXRhCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJZnJhbWVfZGlnIDIgLy8gbWV0YWRhdGE6IE1ldGFkYXRhCglib3hfcHV0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTUKCS8vIHRoaXMuY3VycmVudEluZGV4LnZhbHVlID0gZW5kQm94ICsgMQoJYnl0ZSAweDYzNzU3MjcyNjU2ZTc0NDk2ZTY0NjU3OCAvLyAiY3VycmVudEluZGV4IgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWludCAxCgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjU3CgkvLyB0b3RhbENvc3QgPQoJLy8gICAgICAgbnVtQm94ZXMgKiBDT1NUX1BFUl9CT1ggKyAvLyBjb3N0IG9mIGJveGVzCgkvLyAgICAgICAobnVtQm94ZXMgLSAxKSAqIE1BWF9CT1hfU0laRSAqIENPU1RfUEVSX0JZVEUgKyAvLyBjb3N0IG9mIGRhdGEKCS8vICAgICAgIG51bUJveGVzICogNjQgKiBDT1NUX1BFUl9CWVRFICsgLy8gY29zdCBvZiBrZXlzCgkvLyAgICAgICBlbmRCb3hTaXplICogQ09TVF9QRVJfQllURQoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludCAyNTAwCgkqCglmcmFtZV9kaWcgLTIgLy8gbnVtQm94ZXM6IHVpbnQ2NAoJaW50IDEKCS0KCWludCAzMjc2OAoJKgoJaW50IDQwMAoJKgoJKwoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludCA2NAoJKgoJaW50IDQwMAoJKgoJKwoJZnJhbWVfZGlnIC0zIC8vIGVuZEJveFNpemU6IHVpbnQ2NAoJaW50IDQwMAoJKgoJKwoJZnJhbWVfYnVyeSAzIC8vIHRvdGFsQ29zdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NjMKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IHRvdGFsQ29zdCB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTQgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTQgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAzIC8vIHRvdGFsQ29zdDogdWludDY0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJ0b3RhbENvc3QifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxieXRlW10pdm9pZAoqYWJpX3JvdXRlX3VwbG9hZDoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJZXh0cmFjdCAyIDAKCgkvLyBvZmZzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGJveEluZGV4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgdXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkCgljYWxsc3ViIHVwbG9hZAoJaW50IDEKCXJldHVybgoKLy8gdXBsb2FkKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIGJveEluZGV4OiB1aW50NjQsIG9mZnNldDogdWludDY0LCBkYXRhOiBieXRlcyk6IHZvaWQKLy8KLy8KLy8gVXBsb2FkIGRhdGEgdG8gYSBzcGVjaWZpYyBvZmZzZXQgaW4gYSBib3gKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIGJveEluZGV4IFRoZSBpbmRleCBvZiB0aGUgYm94IHRvIHVwbG9hZCB0aGUgZ2l2ZW4gY2h1bmsgb2YgZGF0YSB0bwovLyBAcGFyYW0gb2Zmc2V0IFRoZSBvZmZzZXQgd2l0aGluIHRoZSBib3ggdG8gc3RhcnQgd3JpdGluZyB0aGUgZGF0YQovLyBAcGFyYW0gZGF0YSBUaGUgZGF0YSB0byB3cml0ZQp1cGxvYWQ6Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc2CgkvLyBtZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly9tZXRhZGF0YQoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc3CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTYgLy8gaGVhZE9mZnNldAoJaW50IDEKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc4CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhcnQgPD0gYm94SW5kZXggJiYgYm94SW5kZXggPD0gbWV0YWRhdGEuZW5kKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludCAwCglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0Cgk8PQoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludCA4IC8vIGhlYWRPZmZzZXQKCWludCA4Cglib3hfZXh0cmFjdAoJYnRvaQoJPD0KCSYmCgoqc2tpcF9hbmQwOgoJYXNzZXJ0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjgwCgkvLyBvZmZzZXQgPT09IDAKCWZyYW1lX2RpZyAtMyAvLyBvZmZzZXQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6ODEKCS8vIHRoaXMuZGF0YUJveGVzKGJveEluZGV4KS5jcmVhdGUoYm94SW5kZXggPT09IG1ldGFkYXRhLmVuZCA/IG1ldGFkYXRhLmVuZFNpemUgOiBNQVhfQk9YX1NJWkUpCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgOCAvLyBoZWFkT2Zmc2V0CglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCT09CglieiAqdGVybmFyeTBfZmFsc2UKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTcgLy8gaGVhZE9mZnNldAoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWludCAzMjc2OAoKKnRlcm5hcnkwX2VuZDoKCWJveF9jcmVhdGUKCXBvcAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo4NAoJLy8gdGhpcy5kYXRhQm94ZXMoYm94SW5kZXgpLnJlcGxhY2Uob2Zmc2V0LCBkYXRhKQoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyAtMyAvLyBvZmZzZXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC00IC8vIGRhdGE6IGJ5dGVzCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBzZXRTdGF0dXMoc3RyaW5nLHVpbnQ4KXZvaWQKKmFiaV9yb3V0ZV9zZXRTdGF0dXM6CgkvLyBzdGF0dXM6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoc3RhdHVzKSBmb3Igc2V0U3RhdHVzIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHNldFN0YXR1cyhzdHJpbmcsdWludDgpdm9pZAoJY2FsbHN1YiBzZXRTdGF0dXMKCWludCAxCglyZXR1cm4KCi8vIHNldFN0YXR1cyhkYXRhSWRlbnRpZmllcjogc3RyaW5nLCBzdGF0dXM6IHVpbnQ8OD4pOiB2b2lkCi8vCi8vCi8vIFNldCB0aGUgc3RhdHVzIG9mIHRoZSBkYXRhCi8vCi8vIEBwYXJhbSBkYXRhSWRlbnRpZmllciBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBkYXRhCi8vIEBwYXJhbSBzdGF0dXMgVGhlIG5ldyBzdGF0dXMgZm9yIHRoZSBkYXRhCnNldFN0YXR1czoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6OTUKCS8vIGN1cnJlbnRTdGF0dXMgPSB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTYgLy8gaGVhZE9mZnNldAoJaW50IDEKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NwoJLy8gYXNzZXJ0KHN0YXR1cyA9PT0gUkVBRFkgfHwgc3RhdHVzID09PSBJTU1VVEFCTEUgfHwgc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludCAxCgk9PQoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpbnQgMgoJPT0KCXx8Cgoqc2tpcF9vcjA6CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludCAwCgk9PQoJfHwKCipza2lwX29yMToKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoY3VycmVudFN0YXR1cyAhPT0gSU1NVVRBQkxFKQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCWludCAyCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6MTAwCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMgPSBzdGF0dXMKCWludCAxNiAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpdG9iCglleHRyYWN0IDcgMQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZCIKCW1ldGhvZCAidXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkIgoJbWV0aG9kICJzZXRTdGF0dXMoc3RyaW5nLHVpbnQ4KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXJ0VXBsb2FkICphYmlfcm91dGVfdXBsb2FkICphYmlfcm91dGVfc2V0U3RhdHVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/big_box/artifacts/BigBox.arc56_draft.json b/examples/big_box/artifacts/BigBox.arc56_draft.json
index 6a5d5adf7..08ffb0dda 100644
--- a/examples/big_box/artifacts/BigBox.arc56_draft.json
+++ b/examples/big_box/artifacts/BigBox.arc56_draft.json
@@ -116,12 +116,24 @@
56
],
"structs": {
- "Metadata": {
- "start": "uint64",
- "end": "uint64",
- "status": "uint8",
- "endSize": "uint64"
- }
+ "Metadata": [
+ {
+ "name": "start",
+ "type": "uint64"
+ },
+ {
+ "name": "end",
+ "type": "uint64"
+ },
+ {
+ "name": "status",
+ "type": "uint8"
+ },
+ {
+ "name": "endSize",
+ "type": "uint64"
+ }
+ ]
},
"state": {
"schema": {
@@ -164,1804 +176,1807 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 20,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28
- ]
- },
- {
- "teal": 13,
- "source": 20,
- "pc": [
- 29,
- 30
- ]
- },
- {
- "teal": 14,
- "source": 20,
- "pc": [
- 31
- ]
- },
- {
- "teal": 15,
- "source": 20,
- "pc": [
- 32,
- 33
- ]
- },
- {
- "teal": 16,
- "source": 20,
- "pc": [
- 34
- ]
- },
- {
- "teal": 17,
- "source": 20,
- "pc": [
- 35,
- 36
- ]
- },
- {
- "teal": 18,
- "source": 20,
- "pc": [
- 37
- ]
- },
- {
- "teal": 19,
- "source": 20,
- "pc": [
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 23,
- "source": 20,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 64
- ]
- },
- {
- "teal": 28,
- "source": 40,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 29,
- "source": 40,
- "pc": [
- 67
- ]
- },
- {
- "teal": 30,
- "source": 40,
- "pc": [
- 68
- ]
- },
- {
- "teal": 31,
- "source": 40,
- "pc": [
- 69
- ]
- },
- {
- "teal": 32,
- "source": 40,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 33,
- "source": 40,
- "pc": [
- 72
- ]
- },
- {
- "teal": 34,
- "source": 40,
- "pc": [
- 73
- ]
- },
- {
- "teal": 37,
- "source": 40,
- "errorMessage": "argument 0 (mbrPayment) for startUpload must be a pay transaction",
- "pc": [
- 74
- ]
- },
- {
- "teal": 40,
- "source": 40,
- "pc": [
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 41,
- "source": 40,
- "pc": [
- 78
- ]
- },
- {
- "teal": 44,
- "source": 40,
- "pc": [
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 45,
- "source": 40,
- "pc": [
- 82
- ]
- },
- {
- "teal": 48,
- "source": 40,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 49,
- "source": 40,
- "pc": [
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 52,
- "source": 40,
- "pc": [
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 53,
- "source": 40,
- "pc": [
- 92
- ]
- },
- {
- "teal": 54,
- "source": 40,
- "pc": [
- 93
- ]
- },
- {
- "teal": 66,
- "source": 40,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 69,
- "source": 40,
- "pc": [
- 97
- ]
- },
- {
- "teal": 70,
- "source": 40,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 74,
- "source": 41,
- "pc": [
- 100
- ]
- },
- {
- "teal": 75,
- "source": 41,
- "pc": [
- 101
- ]
- },
- {
- "teal": 76,
- "source": 41,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 80,
- "source": 42,
- "pc": [
- 104,
- 105
- ]
- },
- {
- "teal": 81,
- "source": 42,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 82,
- "source": 42,
- "pc": [
- 108
- ]
- },
- {
- "teal": 83,
- "source": 42,
- "pc": [
- 109
- ]
- },
- {
- "teal": 84,
- "source": 42,
- "pc": [
- 110
- ]
- },
- {
- "teal": 85,
- "source": 42,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 94,
- "source": 45,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 95,
- "source": 45,
- "pc": [
- 115
- ]
- },
- {
- "teal": 96,
- "source": 46,
- "pc": [
- 116,
- 117
- ]
- },
- {
- "teal": 97,
- "source": 46,
- "pc": [
- 118
- ]
- },
- {
- "teal": 98,
- "source": 46,
- "pc": [
- 119
- ]
- },
- {
- "teal": 99,
- "source": 47,
- "pc": [
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 100,
- "source": 47,
- "pc": [
- 123
- ]
- },
- {
- "teal": 101,
- "source": 48,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 102,
- "source": 48,
- "pc": [
- 126
- ]
- },
- {
- "teal": 103,
- "source": 48,
- "pc": [
- 127
- ]
- },
- {
- "teal": 104,
- "source": 44,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 108,
- "source": 51,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 109,
- "source": 51,
- "pc": [
- 132
- ]
- },
- {
- "teal": 110,
- "source": 51,
- "pc": [
- 133
- ]
- },
- {
- "teal": 111,
- "source": 51,
- "pc": [
- 134
- ]
- },
- {
- "teal": 112,
- "source": 51,
- "pc": [
- 135
- ]
- },
- {
- "teal": 113,
- "source": 51,
- "pc": [
- 136
- ]
- },
- {
- "teal": 117,
- "source": 53,
- "pc": [
- 137,
- 138
- ]
- },
- {
- "teal": 118,
- "source": 53,
- "pc": [
- 139,
- 140
- ]
- },
- {
- "teal": 119,
- "source": 53,
- "pc": [
- 141
- ]
- },
- {
- "teal": 123,
- "source": 55,
- "pc": [
- 142
- ]
- },
- {
- "teal": 124,
- "source": 55,
- "pc": [
- 143,
- 144
- ]
- },
- {
- "teal": 125,
- "source": 55,
- "pc": [
- 145
- ]
- },
- {
- "teal": 126,
- "source": 55,
- "pc": [
- 146
- ]
- },
- {
- "teal": 127,
- "source": 55,
- "pc": [
- 147
- ]
- },
- {
- "teal": 135,
- "source": 58,
- "pc": [
- 148,
- 149
- ]
- },
- {
- "teal": 136,
- "source": 58,
- "pc": [
- 150,
- 151,
- 152
- ]
- },
- {
- "teal": 137,
- "source": 58,
- "pc": [
- 153
- ]
- },
- {
- "teal": 138,
- "source": 59,
- "pc": [
- 154,
- 155
- ]
- },
- {
- "teal": 139,
- "source": 59,
- "pc": [
- 156
- ]
- },
- {
- "teal": 140,
- "source": 59,
- "pc": [
- 157
- ]
- },
- {
- "teal": 141,
- "source": 59,
- "pc": [
- 158,
- 159
- ]
- },
- {
- "teal": 142,
- "source": 59,
- "pc": [
- 160
- ]
- },
- {
- "teal": 143,
- "source": 59,
- "pc": [
- 161
- ]
- },
- {
- "teal": 144,
- "source": 59,
- "pc": [
- 162
- ]
- },
- {
- "teal": 145,
- "source": 58,
- "pc": [
- 163
- ]
- },
- {
- "teal": 146,
- "source": 60,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 147,
- "source": 60,
- "pc": [
- 166,
- 167
- ]
- },
- {
- "teal": 148,
- "source": 60,
- "pc": [
- 168
- ]
- },
- {
- "teal": 149,
- "source": 60,
- "pc": [
- 169
- ]
- },
- {
- "teal": 150,
- "source": 60,
- "pc": [
- 170
- ]
- },
- {
- "teal": 151,
- "source": 59,
- "pc": [
- 171
- ]
- },
- {
- "teal": 152,
- "source": 61,
- "pc": [
- 172,
- 173
- ]
- },
- {
- "teal": 153,
- "source": 61,
- "pc": [
- 174
- ]
- },
- {
- "teal": 154,
- "source": 61,
- "pc": [
- 175
- ]
- },
- {
- "teal": 155,
- "source": 60,
- "pc": [
- 176
- ]
- },
- {
- "teal": 156,
- "source": 57,
- "pc": [
- 177,
- 178
- ]
- },
- {
- "teal": 161,
- "source": 63,
- "pc": [
- 179,
- 180
- ]
- },
- {
- "teal": 162,
- "source": 63,
- "pc": [
- 181,
- 182
- ]
- },
- {
- "teal": 163,
- "source": 63,
- "pc": [
- 183,
- 184
- ]
- },
- {
- "teal": 164,
- "source": 63,
- "pc": [
- 185
- ]
- },
- {
- "teal": 167,
- "source": 63,
- "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 186
- ]
- },
- {
- "teal": 170,
- "source": 63,
- "pc": [
- 187,
- 188
- ]
- },
- {
- "teal": 171,
- "source": 63,
- "pc": [
- 189,
- 190
- ]
- },
- {
- "teal": 172,
- "source": 63,
- "pc": [
- 191,
- 192
- ]
- },
- {
- "teal": 173,
- "source": 63,
- "pc": [
- 193
- ]
- },
- {
- "teal": 176,
- "source": 63,
- "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"totalCost\"}",
- "pc": [
- 194
- ]
- },
- {
- "teal": 177,
- "source": 40,
- "pc": [
- 195
- ]
- },
- {
- "teal": 182,
- "source": 75,
- "pc": [
- 196,
- 197,
- 198
- ]
- },
- {
- "teal": 183,
- "source": 75,
- "pc": [
- 199,
- 200,
- 201
- ]
- },
- {
- "teal": 186,
- "source": 75,
- "pc": [
- 202,
- 203,
- 204
- ]
- },
- {
- "teal": 187,
- "source": 75,
- "pc": [
- 205
- ]
- },
- {
- "teal": 190,
- "source": 75,
- "pc": [
- 206,
- 207,
- 208
- ]
- },
- {
- "teal": 191,
- "source": 75,
- "pc": [
- 209
- ]
- },
- {
- "teal": 194,
- "source": 75,
- "pc": [
- 210,
- 211,
- 212
- ]
- },
- {
- "teal": 195,
- "source": 75,
- "pc": [
- 213,
- 214,
- 215
- ]
- },
- {
- "teal": 198,
- "source": 75,
- "pc": [
- 216,
- 217,
- 218
- ]
- },
- {
- "teal": 199,
- "source": 75,
- "pc": [
- 219
- ]
- },
- {
- "teal": 200,
- "source": 75,
- "pc": [
- 220
- ]
- },
- {
- "teal": 212,
- "source": 75,
- "pc": [
- 221,
- 222,
- 223
- ]
- },
- {
- "teal": 215,
- "source": 75,
- "pc": [
- 224
- ]
- },
- {
- "teal": 219,
- "source": 76,
- "pc": [
- 225,
- 226
- ]
- },
- {
- "teal": 220,
- "source": 76,
- "pc": [
- 227,
- 228
- ]
- },
- {
- "teal": 224,
- "source": 76,
- "pc": [
- 229,
- 230
- ]
- },
- {
- "teal": 225,
- "source": 76,
- "pc": [
- 231,
- 232
- ]
- },
- {
- "teal": 226,
- "source": 76,
- "pc": [
- 233
- ]
- },
- {
- "teal": 227,
- "source": 76,
- "pc": [
- 234
- ]
- },
- {
- "teal": 228,
- "source": 77,
- "pc": [
- 235
- ]
- },
- {
- "teal": 229,
- "source": 77,
- "pc": [
- 236
- ]
- },
- {
- "teal": 230,
- "source": 77,
- "pc": [
- 237
- ]
- },
- {
- "teal": 231,
- "source": 77,
- "pc": [
- 238
- ]
- },
- {
- "teal": 235,
- "source": 76,
- "pc": [
- 239,
- 240
- ]
- },
- {
- "teal": 236,
- "source": 76,
- "pc": [
- 241
- ]
- },
- {
- "teal": 237,
- "source": 76,
- "pc": [
- 242
- ]
- },
- {
- "teal": 238,
- "source": 76,
- "pc": [
- 243
- ]
- },
- {
- "teal": 239,
- "source": 78,
- "pc": [
- 244
- ]
- },
- {
- "teal": 240,
- "source": 78,
- "pc": [
- 245,
- 246
- ]
- },
- {
- "teal": 241,
- "source": 78,
- "pc": [
- 247
- ]
- },
- {
- "teal": 242,
- "source": 78,
- "pc": [
- 248
- ]
- },
- {
- "teal": 243,
- "source": 78,
- "pc": [
- 249,
- 250,
- 251
- ]
- },
- {
- "teal": 244,
- "source": 78,
- "pc": [
- 252,
- 253
- ]
- },
- {
- "teal": 245,
- "source": 76,
- "pc": [
- 254,
- 255
- ]
- },
- {
- "teal": 246,
- "source": 76,
- "pc": [
- 256
- ]
- },
- {
- "teal": 247,
- "source": 76,
- "pc": [
- 257
- ]
- },
- {
- "teal": 248,
- "source": 76,
- "pc": [
- 258
- ]
- },
- {
- "teal": 249,
- "source": 78,
- "pc": [
- 259
- ]
- },
- {
- "teal": 250,
- "source": 78,
- "pc": [
- 260
- ]
- },
- {
- "teal": 251,
- "source": 78,
- "pc": [
- 261
- ]
- },
- {
- "teal": 254,
- "source": 78,
- "pc": [
- 262
- ]
- },
- {
- "teal": 259,
- "source": 80,
- "pc": [
- 263,
- 264
- ]
- },
- {
- "teal": 260,
- "source": 80,
- "pc": [
- 265
- ]
- },
- {
- "teal": 261,
- "source": 80,
- "pc": [
- 266
- ]
- },
- {
- "teal": 262,
- "source": 80,
- "pc": [
- 267,
- 268,
- 269
- ]
- },
- {
- "teal": 267,
- "source": 81,
- "pc": [
- 270,
- 271
- ]
- },
- {
- "teal": 268,
- "source": 81,
- "pc": [
- 272
- ]
- },
- {
- "teal": 269,
- "source": 81,
- "pc": [
- 273,
- 274
- ]
- },
- {
- "teal": 270,
- "source": 76,
- "pc": [
- 275,
- 276
- ]
- },
- {
- "teal": 271,
- "source": 76,
- "pc": [
- 277
- ]
- },
- {
- "teal": 272,
- "source": 76,
- "pc": [
- 278
- ]
- },
- {
- "teal": 273,
- "source": 76,
- "pc": [
- 279
- ]
- },
- {
- "teal": 274,
- "source": 81,
- "pc": [
- 280
- ]
- },
- {
- "teal": 275,
- "source": 81,
- "pc": [
- 281
- ]
- },
- {
- "teal": 276,
- "source": 81,
- "pc": [
- 282,
- 283,
- 284
- ]
- },
- {
- "teal": 277,
- "source": 76,
- "pc": [
- 285,
- 286
- ]
- },
- {
- "teal": 278,
- "source": 76,
- "pc": [
- 287,
- 288
- ]
- },
- {
- "teal": 279,
- "source": 76,
- "pc": [
- 289
- ]
- },
- {
- "teal": 280,
- "source": 76,
- "pc": [
- 290
- ]
- },
- {
- "teal": 281,
- "source": 81,
- "pc": [
- 291
- ]
- },
- {
- "teal": 282,
- "source": 81,
- "pc": [
- 292,
- 293,
- 294
- ]
- },
- {
- "teal": 285,
- "source": 81,
- "pc": [
- 295,
- 296
- ]
- },
- {
- "teal": 288,
- "source": 81,
- "pc": [
- 297
- ]
- },
- {
- "teal": 289,
- "source": 81,
- "pc": [
- 298
- ]
- },
- {
- "teal": 294,
- "source": 84,
- "pc": [
- 299,
- 300
- ]
- },
- {
- "teal": 295,
- "source": 84,
- "pc": [
- 301
- ]
- },
- {
- "teal": 296,
- "source": 84,
- "pc": [
- 302,
- 303
- ]
- },
- {
- "teal": 297,
- "source": 84,
- "pc": [
- 304,
- 305
- ]
- },
- {
- "teal": 298,
- "source": 84,
- "pc": [
- 306
- ]
- },
- {
- "teal": 299,
- "source": 75,
- "pc": [
- 307
- ]
- },
- {
- "teal": 304,
- "source": 94,
- "pc": [
- 308,
- 309,
- 310
- ]
- },
- {
- "teal": 305,
- "source": 94,
- "pc": [
- 311
- ]
- },
- {
- "teal": 306,
- "source": 94,
- "pc": [
- 312
- ]
- },
- {
- "teal": 307,
- "source": 94,
- "pc": [
- 313
- ]
- },
- {
- "teal": 308,
- "source": 94,
- "pc": [
- 314
- ]
- },
- {
- "teal": 311,
- "source": 94,
- "errorMessage": "argument 0 (status) for setStatus must be a uint8",
- "pc": [
- 315
- ]
- },
- {
- "teal": 312,
- "source": 94,
- "pc": [
- 316
- ]
- },
- {
- "teal": 315,
- "source": 94,
- "pc": [
- 317,
- 318,
- 319
- ]
- },
- {
- "teal": 316,
- "source": 94,
- "pc": [
- 320,
- 321,
- 322
- ]
- },
- {
- "teal": 319,
- "source": 94,
- "pc": [
- 323,
- 324,
- 325
- ]
- },
- {
- "teal": 320,
- "source": 94,
- "pc": [
- 326
- ]
- },
- {
- "teal": 321,
- "source": 94,
- "pc": [
- 327
- ]
- },
- {
- "teal": 331,
- "source": 94,
- "pc": [
- 328,
- 329,
- 330
- ]
- },
- {
- "teal": 334,
- "source": 94,
- "pc": [
- 331
- ]
- },
- {
- "teal": 338,
- "source": 95,
- "pc": [
- 332,
- 333
- ]
- },
- {
- "teal": 339,
- "source": 95,
- "pc": [
- 334,
- 335
- ]
- },
- {
- "teal": 340,
- "source": 95,
- "pc": [
- 336
- ]
- },
- {
- "teal": 341,
- "source": 95,
- "pc": [
- 337
- ]
- },
- {
- "teal": 342,
- "source": 95,
- "pc": [
- 338
- ]
- },
- {
- "teal": 343,
- "source": 95,
- "pc": [
- 339,
- 340
- ]
- },
- {
- "teal": 347,
- "source": 97,
- "pc": [
- 341,
- 342
- ]
- },
- {
- "teal": 348,
- "source": 97,
- "pc": [
- 343
- ]
- },
- {
- "teal": 349,
- "source": 97,
- "pc": [
- 344
- ]
- },
- {
- "teal": 350,
- "source": 97,
- "pc": [
- 345
- ]
- },
- {
- "teal": 351,
- "source": 97,
- "pc": [
- 346,
- 347,
- 348
- ]
- },
- {
- "teal": 352,
- "source": 97,
- "pc": [
- 349,
- 350
- ]
- },
- {
- "teal": 353,
- "source": 97,
- "pc": [
- 351,
- 352
- ]
- },
- {
- "teal": 354,
- "source": 97,
- "pc": [
- 353
- ]
- },
- {
- "teal": 355,
- "source": 97,
- "pc": [
- 354
- ]
- },
- {
- "teal": 358,
- "source": 97,
- "pc": [
- 355
- ]
- },
- {
- "teal": 359,
- "source": 97,
- "pc": [
- 356,
- 357,
- 358
- ]
- },
- {
- "teal": 360,
- "source": 97,
- "pc": [
- 359,
- 360
- ]
- },
- {
- "teal": 361,
- "source": 97,
- "pc": [
- 361
- ]
- },
- {
- "teal": 362,
- "source": 97,
- "pc": [
- 362
- ]
- },
- {
- "teal": 363,
- "source": 97,
- "pc": [
- 363
- ]
- },
- {
- "teal": 366,
- "source": 97,
- "pc": [
- 364
- ]
- },
- {
- "teal": 370,
- "source": 98,
- "pc": [
- 365,
- 366
- ]
- },
- {
- "teal": 371,
- "source": 98,
- "pc": [
- 367,
- 368
- ]
- },
- {
- "teal": 372,
- "source": 98,
- "pc": [
- 369
- ]
- },
- {
- "teal": 373,
- "source": 98,
- "pc": [
- 370
- ]
- },
- {
- "teal": 377,
- "source": 100,
- "pc": [
- 371,
- 372
- ]
- },
- {
- "teal": 378,
- "source": 100,
- "pc": [
- 373,
- 374
- ]
- },
- {
- "teal": 379,
- "source": 100,
- "pc": [
- 375
- ]
- },
- {
- "teal": 380,
- "source": 100,
- "pc": [
- 376,
- 377,
- 378
- ]
- },
- {
- "teal": 381,
- "source": 100,
- "pc": [
- 379,
- 380
- ]
- },
- {
- "teal": 382,
- "source": 100,
- "pc": [
- 381,
- 382
- ]
- },
- {
- "teal": 383,
- "source": 100,
- "pc": [
- 383
- ]
- },
- {
- "teal": 384,
- "source": 94,
- "pc": [
- 384
- ]
- },
- {
- "teal": 387,
- "source": 20,
- "pc": [
- 385
- ]
- },
- {
- "teal": 388,
- "source": 20,
- "pc": [
- 386
- ]
- },
- {
- "teal": 391,
- "source": 20,
- "pc": [
- 387,
- 388,
- 389,
- 390,
- 391,
- 392
- ]
- },
- {
- "teal": 392,
- "source": 20,
- "pc": [
- 393,
- 394,
- 395
- ]
- },
- {
- "teal": 393,
- "source": 20,
- "pc": [
- 396,
- 397,
- 398,
- 399
- ]
- },
- {
- "teal": 396,
- "source": 20,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 400
- ]
- },
- {
- "teal": 399,
- "source": 20,
- "pc": [
- 401,
- 402,
- 403,
- 404,
- 405,
- 406
- ]
- },
- {
- "teal": 400,
- "source": 20,
- "pc": [
- 407,
- 408,
- 409,
- 410,
- 411,
- 412
- ]
- },
- {
- "teal": 401,
- "source": 20,
- "pc": [
- 413,
- 414,
- 415,
- 416,
- 417,
- 418
- ]
- },
- {
- "teal": 402,
- "source": 20,
- "pc": [
- 419,
- 420,
- 421
- ]
- },
- {
- "teal": 403,
- "source": 20,
- "pc": [
- 422,
- 423,
- 424,
- 425,
- 426,
- 427,
- 428,
- 429
- ]
- },
- {
- "teal": 406,
- "source": 20,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 430
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 20,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 20,
+ "pc": [
+ 29,
+ 30
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 20,
+ "pc": [
+ 31
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 20,
+ "pc": [
+ 32,
+ 33
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 20,
+ "pc": [
+ 34
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 20,
+ "pc": [
+ 35,
+ 36
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 20,
+ "pc": [
+ 37
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 20,
+ "pc": [
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 20,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 40,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 40,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 40,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 40,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 40,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 40,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 40,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 40,
+ "errorMessage": "argument 0 (mbrPayment) for startUpload must be a pay transaction",
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 40,
+ "pc": [
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 40,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 40,
+ "pc": [
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 40,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 40,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 40,
+ "pc": [
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 40,
+ "pc": [
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 40,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 40,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 40,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 40,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 40,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 41,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 41,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 41,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 42,
+ "pc": [
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 42,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 42,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 42,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 42,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 42,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 45,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 45,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 46,
+ "pc": [
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 46,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 46,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 47,
+ "pc": [
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 47,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 48,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 48,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 48,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 44,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 51,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 51,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 51,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 51,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 51,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 51,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 53,
+ "pc": [
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 53,
+ "pc": [
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 53,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 55,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 55,
+ "pc": [
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 55,
+ "pc": [
+ 145
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 55,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 55,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 58,
+ "pc": [
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 58,
+ "pc": [
+ 150,
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 58,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 59,
+ "pc": [
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 59,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 59,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 59,
+ "pc": [
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 59,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 59,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 59,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 58,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 60,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 60,
+ "pc": [
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 60,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 60,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 60,
+ "pc": [
+ 170
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 59,
+ "pc": [
+ 171
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 61,
+ "pc": [
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 61,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 61,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 60,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 57,
+ "pc": [
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 63,
+ "pc": [
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 63,
+ "pc": [
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 63,
+ "pc": [
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 63,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 63,
+ "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 63,
+ "pc": [
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 63,
+ "pc": [
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 63,
+ "pc": [
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 63,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 63,
+ "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"totalCost\"}",
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 40,
+ "pc": [
+ 195
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 75,
+ "pc": [
+ 196,
+ 197,
+ 198
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 75,
+ "pc": [
+ 199,
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 75,
+ "pc": [
+ 202,
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 75,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 75,
+ "pc": [
+ 206,
+ 207,
+ 208
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 75,
+ "pc": [
+ 209
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 75,
+ "pc": [
+ 210,
+ 211,
+ 212
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 75,
+ "pc": [
+ 213,
+ 214,
+ 215
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 75,
+ "pc": [
+ 216,
+ 217,
+ 218
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 75,
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 75,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 75,
+ "pc": [
+ 221,
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 75,
+ "pc": [
+ 224
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 76,
+ "pc": [
+ 225,
+ 226
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 76,
+ "pc": [
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 76,
+ "pc": [
+ 229,
+ 230
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 76,
+ "pc": [
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 76,
+ "pc": [
+ 233
+ ]
+ },
+ {
+ "teal": 227,
+ "source": 76,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 77,
+ "pc": [
+ 235
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 77,
+ "pc": [
+ 236
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 77,
+ "pc": [
+ 237
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 77,
+ "pc": [
+ 238
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 76,
+ "pc": [
+ 239,
+ 240
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 76,
+ "pc": [
+ 241
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 76,
+ "pc": [
+ 242
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 76,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 78,
+ "pc": [
+ 244
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 78,
+ "pc": [
+ 245,
+ 246
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 78,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 78,
+ "pc": [
+ 248
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 78,
+ "pc": [
+ 249,
+ 250,
+ 251
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 78,
+ "pc": [
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 76,
+ "pc": [
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 76,
+ "pc": [
+ 256
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 76,
+ "pc": [
+ 257
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 76,
+ "pc": [
+ 258
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 78,
+ "pc": [
+ 259
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 78,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 78,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 78,
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 80,
+ "pc": [
+ 263,
+ 264
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 80,
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 80,
+ "pc": [
+ 266
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 80,
+ "pc": [
+ 267,
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 81,
+ "pc": [
+ 270,
+ 271
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 81,
+ "pc": [
+ 272
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 81,
+ "pc": [
+ 273,
+ 274
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 76,
+ "pc": [
+ 275,
+ 276
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 76,
+ "pc": [
+ 277
+ ]
+ },
+ {
+ "teal": 272,
+ "source": 76,
+ "pc": [
+ 278
+ ]
+ },
+ {
+ "teal": 273,
+ "source": 76,
+ "pc": [
+ 279
+ ]
+ },
+ {
+ "teal": 274,
+ "source": 81,
+ "pc": [
+ 280
+ ]
+ },
+ {
+ "teal": 275,
+ "source": 81,
+ "pc": [
+ 281
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 81,
+ "pc": [
+ 282,
+ 283,
+ 284
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 76,
+ "pc": [
+ 285,
+ 286
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 76,
+ "pc": [
+ 287,
+ 288
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 76,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 76,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 281,
+ "source": 81,
+ "pc": [
+ 291
+ ]
+ },
+ {
+ "teal": 282,
+ "source": 81,
+ "pc": [
+ 292,
+ 293,
+ 294
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 81,
+ "pc": [
+ 295,
+ 296
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 81,
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 81,
+ "pc": [
+ 298
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 84,
+ "pc": [
+ 299,
+ 300
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 84,
+ "pc": [
+ 301
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 84,
+ "pc": [
+ 302,
+ 303
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 84,
+ "pc": [
+ 304,
+ 305
+ ]
+ },
+ {
+ "teal": 298,
+ "source": 84,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 75,
+ "pc": [
+ 307
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 94,
+ "pc": [
+ 308,
+ 309,
+ 310
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 94,
+ "pc": [
+ 311
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 94,
+ "pc": [
+ 312
+ ]
+ },
+ {
+ "teal": 307,
+ "source": 94,
+ "pc": [
+ 313
+ ]
+ },
+ {
+ "teal": 308,
+ "source": 94,
+ "pc": [
+ 314
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 94,
+ "errorMessage": "argument 0 (status) for setStatus must be a uint8",
+ "pc": [
+ 315
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 94,
+ "pc": [
+ 316
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 94,
+ "pc": [
+ 317,
+ 318,
+ 319
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 94,
+ "pc": [
+ 320,
+ 321,
+ 322
+ ]
+ },
+ {
+ "teal": 319,
+ "source": 94,
+ "pc": [
+ 323,
+ 324,
+ 325
+ ]
+ },
+ {
+ "teal": 320,
+ "source": 94,
+ "pc": [
+ 326
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 94,
+ "pc": [
+ 327
+ ]
+ },
+ {
+ "teal": 331,
+ "source": 94,
+ "pc": [
+ 328,
+ 329,
+ 330
+ ]
+ },
+ {
+ "teal": 334,
+ "source": 94,
+ "pc": [
+ 331
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 95,
+ "pc": [
+ 332,
+ 333
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 95,
+ "pc": [
+ 334,
+ 335
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 95,
+ "pc": [
+ 336
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 95,
+ "pc": [
+ 337
+ ]
+ },
+ {
+ "teal": 342,
+ "source": 95,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 343,
+ "source": 95,
+ "pc": [
+ 339,
+ 340
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 97,
+ "pc": [
+ 341,
+ 342
+ ]
+ },
+ {
+ "teal": 348,
+ "source": 97,
+ "pc": [
+ 343
+ ]
+ },
+ {
+ "teal": 349,
+ "source": 97,
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 350,
+ "source": 97,
+ "pc": [
+ 345
+ ]
+ },
+ {
+ "teal": 351,
+ "source": 97,
+ "pc": [
+ 346,
+ 347,
+ 348
+ ]
+ },
+ {
+ "teal": 352,
+ "source": 97,
+ "pc": [
+ 349,
+ 350
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 97,
+ "pc": [
+ 351,
+ 352
+ ]
+ },
+ {
+ "teal": 354,
+ "source": 97,
+ "pc": [
+ 353
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 97,
+ "pc": [
+ 354
+ ]
+ },
+ {
+ "teal": 358,
+ "source": 97,
+ "pc": [
+ 355
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 97,
+ "pc": [
+ 356,
+ 357,
+ 358
+ ]
+ },
+ {
+ "teal": 360,
+ "source": 97,
+ "pc": [
+ 359,
+ 360
+ ]
+ },
+ {
+ "teal": 361,
+ "source": 97,
+ "pc": [
+ 361
+ ]
+ },
+ {
+ "teal": 362,
+ "source": 97,
+ "pc": [
+ 362
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 97,
+ "pc": [
+ 363
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 97,
+ "pc": [
+ 364
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 98,
+ "pc": [
+ 365,
+ 366
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 98,
+ "pc": [
+ 367,
+ 368
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 98,
+ "pc": [
+ 369
+ ]
+ },
+ {
+ "teal": 373,
+ "source": 98,
+ "pc": [
+ 370
+ ]
+ },
+ {
+ "teal": 377,
+ "source": 100,
+ "pc": [
+ 371,
+ 372
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 100,
+ "pc": [
+ 373,
+ 374
+ ]
+ },
+ {
+ "teal": 379,
+ "source": 100,
+ "pc": [
+ 375
+ ]
+ },
+ {
+ "teal": 380,
+ "source": 100,
+ "pc": [
+ 376,
+ 377,
+ 378
+ ]
+ },
+ {
+ "teal": 381,
+ "source": 100,
+ "pc": [
+ 379,
+ 380
+ ]
+ },
+ {
+ "teal": 382,
+ "source": 100,
+ "pc": [
+ 381,
+ 382
+ ]
+ },
+ {
+ "teal": 383,
+ "source": 100,
+ "pc": [
+ 383
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 94,
+ "pc": [
+ 384
+ ]
+ },
+ {
+ "teal": 387,
+ "source": 20,
+ "pc": [
+ 385
+ ]
+ },
+ {
+ "teal": 388,
+ "source": 20,
+ "pc": [
+ 386
+ ]
+ },
+ {
+ "teal": 391,
+ "source": 20,
+ "pc": [
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 20,
+ "pc": [
+ 393,
+ 394,
+ 395
+ ]
+ },
+ {
+ "teal": 393,
+ "source": 20,
+ "pc": [
+ 396,
+ 397,
+ 398,
+ 399
+ ]
+ },
+ {
+ "teal": 396,
+ "source": 20,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 400
+ ]
+ },
+ {
+ "teal": 399,
+ "source": 20,
+ "pc": [
+ 401,
+ 402,
+ 403,
+ 404,
+ 405,
+ 406
+ ]
+ },
+ {
+ "teal": 400,
+ "source": 20,
+ "pc": [
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 412
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 20,
+ "pc": [
+ 413,
+ 414,
+ 415,
+ 416,
+ 417,
+ 418
+ ]
+ },
+ {
+ "teal": 402,
+ "source": 20,
+ "pc": [
+ 419,
+ 420,
+ 421
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 20,
+ "pc": [
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427,
+ 428,
+ 429
+ ]
+ },
+ {
+ "teal": 406,
+ "source": 20,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 430
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZAoqYWJpX3JvdXRlX3N0YXJ0VXBsb2FkOgoJLy8gbWJyUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAobWJyUGF5bWVudCkgZm9yIHN0YXJ0VXBsb2FkIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGVuZEJveFNpemU6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIG51bUJveGVzOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQKCWNhbGxzdWIgc3RhcnRVcGxvYWQKCWludCAxCglyZXR1cm4KCi8vIHN0YXJ0VXBsb2FkKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIG51bUJveGVzOiB1aW50NjQsIGVuZEJveFNpemU6IHVpbnQ2NCwgbWJyUGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLwovLyBBbGxvY2F0ZSBib3hlcyB0byBiZWdpbiBkYXRhIHVwbG9hZCBwcm9jZXNzCi8vCi8vIEBwYXJhbSBkYXRhSWRlbnRpZmllciBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBkYXRhCi8vIEBwYXJhbSBudW1Cb3hlcyBUaGUgbnVtYmVyIG9mIGJveGVzIHRoYXQgdGhlIGRhdGEgd2lsbCB0YWtlIHVwCi8vIEBwYXJhbSBlbmRCb3hTaXplIFRoZSBzaXplIG9mIHRoZSBsYXN0IGJveAovLyBAcGFyYW0gbWJyUGF5bWVudCBQYXltZW50IGZyb20gdGhlIHVwbG9hZGVyIHRvIGNvdmVyIHRoZSBib3ggTUJSCnN0YXJ0VXBsb2FkOgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjQxCgkvLyBzdGFydEJveCA9IHRoaXMuY3VycmVudEluZGV4LnZhbHVlCglieXRlIDB4NjM3NTcyNzI2NTZlNzQ0OTZlNjQ2NTc4IC8vICJjdXJyZW50SW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo0MgoJLy8gZW5kQm94ID0gc3RhcnRCb3ggKyBudW1Cb3hlcyAtIDEKCWZyYW1lX2RpZyAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CgkrCglpbnQgMQoJLQoJZnJhbWVfYnVyeSAxIC8vIGVuZEJveDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDQKCS8vIG1ldGFkYXRhOiBNZXRhZGF0YSA9IHsKCS8vICAgICAgIHN0YXJ0OiBzdGFydEJveCwKCS8vICAgICAgIGVuZDogZW5kQm94LAoJLy8gICAgICAgc3RhdHVzOiBJTl9QUk9HUkVTUywKCS8vICAgICAgIGVuZFNpemU6IGVuZEJveFNpemUsCgkvLyAgICAgfQoJZnJhbWVfZGlnIDAgLy8gc3RhcnRCb3g6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwCgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyBlbmRCb3hTaXplOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfYnVyeSAyIC8vIG1ldGFkYXRhOiBNZXRhZGF0YQoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjUxCgkvLyBhc3NlcnQoIXRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLmV4aXN0cykKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglib3hfbGVuCglzd2FwCglwb3AKCSEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjUzCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZSA9IG1ldGFkYXRhCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJZnJhbWVfZGlnIDIgLy8gbWV0YWRhdGE6IE1ldGFkYXRhCglib3hfcHV0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTUKCS8vIHRoaXMuY3VycmVudEluZGV4LnZhbHVlID0gZW5kQm94ICsgMQoJYnl0ZSAweDYzNzU3MjcyNjU2ZTc0NDk2ZTY0NjU3OCAvLyAiY3VycmVudEluZGV4IgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWludCAxCgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjU3CgkvLyB0b3RhbENvc3QgPQoJLy8gICAgICAgbnVtQm94ZXMgKiBDT1NUX1BFUl9CT1ggKyAvLyBjb3N0IG9mIGJveGVzCgkvLyAgICAgICAobnVtQm94ZXMgLSAxKSAqIE1BWF9CT1hfU0laRSAqIENPU1RfUEVSX0JZVEUgKyAvLyBjb3N0IG9mIGRhdGEKCS8vICAgICAgIG51bUJveGVzICogNjQgKiBDT1NUX1BFUl9CWVRFICsgLy8gY29zdCBvZiBrZXlzCgkvLyAgICAgICBlbmRCb3hTaXplICogQ09TVF9QRVJfQllURQoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludCAyNTAwCgkqCglmcmFtZV9kaWcgLTIgLy8gbnVtQm94ZXM6IHVpbnQ2NAoJaW50IDEKCS0KCWludCAzMjc2OAoJKgoJaW50IDQwMAoJKgoJKwoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludCA2NAoJKgoJaW50IDQwMAoJKgoJKwoJZnJhbWVfZGlnIC0zIC8vIGVuZEJveFNpemU6IHVpbnQ2NAoJaW50IDQwMAoJKgoJKwoJZnJhbWVfYnVyeSAzIC8vIHRvdGFsQ29zdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NjMKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IHRvdGFsQ29zdCB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTQgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTQgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAzIC8vIHRvdGFsQ29zdDogdWludDY0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJ0b3RhbENvc3QifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxieXRlW10pdm9pZAoqYWJpX3JvdXRlX3VwbG9hZDoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJZXh0cmFjdCAyIDAKCgkvLyBvZmZzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGJveEluZGV4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgdXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkCgljYWxsc3ViIHVwbG9hZAoJaW50IDEKCXJldHVybgoKLy8gdXBsb2FkKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIGJveEluZGV4OiB1aW50NjQsIG9mZnNldDogdWludDY0LCBkYXRhOiBieXRlcyk6IHZvaWQKLy8KLy8KLy8gVXBsb2FkIGRhdGEgdG8gYSBzcGVjaWZpYyBvZmZzZXQgaW4gYSBib3gKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIGJveEluZGV4IFRoZSBpbmRleCBvZiB0aGUgYm94IHRvIHVwbG9hZCB0aGUgZ2l2ZW4gY2h1bmsgb2YgZGF0YSB0bwovLyBAcGFyYW0gb2Zmc2V0IFRoZSBvZmZzZXQgd2l0aGluIHRoZSBib3ggdG8gc3RhcnQgd3JpdGluZyB0aGUgZGF0YQovLyBAcGFyYW0gZGF0YSBUaGUgZGF0YSB0byB3cml0ZQp1cGxvYWQ6Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc2CgkvLyBtZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly9tZXRhZGF0YQoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc3CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTYgLy8gaGVhZE9mZnNldAoJaW50IDEKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc4CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhcnQgPD0gYm94SW5kZXggJiYgYm94SW5kZXggPD0gbWV0YWRhdGEuZW5kKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludCAwCglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0Cgk8PQoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludCA4IC8vIGhlYWRPZmZzZXQKCWludCA4Cglib3hfZXh0cmFjdAoJYnRvaQoJPD0KCSYmCgoqc2tpcF9hbmQwOgoJYXNzZXJ0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjgwCgkvLyBvZmZzZXQgPT09IDAKCWZyYW1lX2RpZyAtMyAvLyBvZmZzZXQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6ODEKCS8vIHRoaXMuZGF0YUJveGVzKGJveEluZGV4KS5jcmVhdGUoYm94SW5kZXggPT09IG1ldGFkYXRhLmVuZCA/IG1ldGFkYXRhLmVuZFNpemUgOiBNQVhfQk9YX1NJWkUpCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgOCAvLyBoZWFkT2Zmc2V0CglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCT09CglieiAqdGVybmFyeTBfZmFsc2UKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTcgLy8gaGVhZE9mZnNldAoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWludCAzMjc2OAoKKnRlcm5hcnkwX2VuZDoKCWJveF9jcmVhdGUKCXBvcAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo4NAoJLy8gdGhpcy5kYXRhQm94ZXMoYm94SW5kZXgpLnJlcGxhY2Uob2Zmc2V0LCBkYXRhKQoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyAtMyAvLyBvZmZzZXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC00IC8vIGRhdGE6IGJ5dGVzCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBzZXRTdGF0dXMoc3RyaW5nLHVpbnQ4KXZvaWQKKmFiaV9yb3V0ZV9zZXRTdGF0dXM6CgkvLyBzdGF0dXM6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoc3RhdHVzKSBmb3Igc2V0U3RhdHVzIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHNldFN0YXR1cyhzdHJpbmcsdWludDgpdm9pZAoJY2FsbHN1YiBzZXRTdGF0dXMKCWludCAxCglyZXR1cm4KCi8vIHNldFN0YXR1cyhkYXRhSWRlbnRpZmllcjogc3RyaW5nLCBzdGF0dXM6IHVpbnQ8OD4pOiB2b2lkCi8vCi8vCi8vIFNldCB0aGUgc3RhdHVzIG9mIHRoZSBkYXRhCi8vCi8vIEBwYXJhbSBkYXRhSWRlbnRpZmllciBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBkYXRhCi8vIEBwYXJhbSBzdGF0dXMgVGhlIG5ldyBzdGF0dXMgZm9yIHRoZSBkYXRhCnNldFN0YXR1czoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6OTUKCS8vIGN1cnJlbnRTdGF0dXMgPSB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTYgLy8gaGVhZE9mZnNldAoJaW50IDEKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NwoJLy8gYXNzZXJ0KHN0YXR1cyA9PT0gUkVBRFkgfHwgc3RhdHVzID09PSBJTU1VVEFCTEUgfHwgc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludCAxCgk9PQoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpbnQgMgoJPT0KCXx8Cgoqc2tpcF9vcjA6CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludCAwCgk9PQoJfHwKCipza2lwX29yMToKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoY3VycmVudFN0YXR1cyAhPT0gSU1NVVRBQkxFKQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCWludCAyCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6MTAwCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMgPSBzdGF0dXMKCWludCAxNiAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpdG9iCglleHRyYWN0IDcgMQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZCIKCW1ldGhvZCAidXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkIgoJbWV0aG9kICJzZXRTdGF0dXMoc3RyaW5nLHVpbnQ4KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXJ0VXBsb2FkICphYmlfcm91dGVfdXBsb2FkICphYmlfcm91dGVfc2V0U3RhdHVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZAoqYWJpX3JvdXRlX3N0YXJ0VXBsb2FkOgoJLy8gbWJyUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAobWJyUGF5bWVudCkgZm9yIHN0YXJ0VXBsb2FkIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGVuZEJveFNpemU6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIG51bUJveGVzOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQKCWNhbGxzdWIgc3RhcnRVcGxvYWQKCWludCAxCglyZXR1cm4KCi8vIHN0YXJ0VXBsb2FkKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIG51bUJveGVzOiB1aW50NjQsIGVuZEJveFNpemU6IHVpbnQ2NCwgbWJyUGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLwovLyBBbGxvY2F0ZSBib3hlcyB0byBiZWdpbiBkYXRhIHVwbG9hZCBwcm9jZXNzCi8vCi8vIEBwYXJhbSBkYXRhSWRlbnRpZmllciBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBkYXRhCi8vIEBwYXJhbSBudW1Cb3hlcyBUaGUgbnVtYmVyIG9mIGJveGVzIHRoYXQgdGhlIGRhdGEgd2lsbCB0YWtlIHVwCi8vIEBwYXJhbSBlbmRCb3hTaXplIFRoZSBzaXplIG9mIHRoZSBsYXN0IGJveAovLyBAcGFyYW0gbWJyUGF5bWVudCBQYXltZW50IGZyb20gdGhlIHVwbG9hZGVyIHRvIGNvdmVyIHRoZSBib3ggTUJSCnN0YXJ0VXBsb2FkOgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjQxCgkvLyBzdGFydEJveCA9IHRoaXMuY3VycmVudEluZGV4LnZhbHVlCglieXRlIDB4NjM3NTcyNzI2NTZlNzQ0OTZlNjQ2NTc4IC8vICJjdXJyZW50SW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo0MgoJLy8gZW5kQm94ID0gc3RhcnRCb3ggKyBudW1Cb3hlcyAtIDEKCWZyYW1lX2RpZyAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CgkrCglpbnQgMQoJLQoJZnJhbWVfYnVyeSAxIC8vIGVuZEJveDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDQKCS8vIG1ldGFkYXRhOiBNZXRhZGF0YSA9IHsKCS8vICAgICAgIHN0YXJ0OiBzdGFydEJveCwKCS8vICAgICAgIGVuZDogZW5kQm94LAoJLy8gICAgICAgc3RhdHVzOiBJTl9QUk9HUkVTUywKCS8vICAgICAgIGVuZFNpemU6IGVuZEJveFNpemUsCgkvLyAgICAgfQoJZnJhbWVfZGlnIDAgLy8gc3RhcnRCb3g6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwCgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyBlbmRCb3hTaXplOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfYnVyeSAyIC8vIG1ldGFkYXRhOiBNZXRhZGF0YQoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjUxCgkvLyBhc3NlcnQoIXRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLmV4aXN0cykKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglib3hfbGVuCglzd2FwCglwb3AKCSEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjUzCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZSA9IG1ldGFkYXRhCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJZnJhbWVfZGlnIDIgLy8gbWV0YWRhdGE6IE1ldGFkYXRhCglib3hfcHV0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTUKCS8vIHRoaXMuY3VycmVudEluZGV4LnZhbHVlID0gZW5kQm94ICsgMQoJYnl0ZSAweDYzNzU3MjcyNjU2ZTc0NDk2ZTY0NjU3OCAvLyAiY3VycmVudEluZGV4IgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWludCAxCgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjU3CgkvLyB0b3RhbENvc3QgPQoJLy8gICAgICAgbnVtQm94ZXMgKiBDT1NUX1BFUl9CT1ggKyAvLyBjb3N0IG9mIGJveGVzCgkvLyAgICAgICAobnVtQm94ZXMgLSAxKSAqIE1BWF9CT1hfU0laRSAqIENPU1RfUEVSX0JZVEUgKyAvLyBjb3N0IG9mIGRhdGEKCS8vICAgICAgIG51bUJveGVzICogNjQgKiBDT1NUX1BFUl9CWVRFICsgLy8gY29zdCBvZiBrZXlzCgkvLyAgICAgICBlbmRCb3hTaXplICogQ09TVF9QRVJfQllURQoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludCAyNTAwCgkqCglmcmFtZV9kaWcgLTIgLy8gbnVtQm94ZXM6IHVpbnQ2NAoJaW50IDEKCS0KCWludCAzMjc2OAoJKgoJaW50IDQwMAoJKgoJKwoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludCA2NAoJKgoJaW50IDQwMAoJKgoJKwoJZnJhbWVfZGlnIC0zIC8vIGVuZEJveFNpemU6IHVpbnQ2NAoJaW50IDQwMAoJKgoJKwoJZnJhbWVfYnVyeSAzIC8vIHRvdGFsQ29zdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NjMKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IHRvdGFsQ29zdCB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTQgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTQgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAzIC8vIHRvdGFsQ29zdDogdWludDY0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJ0b3RhbENvc3QifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxieXRlW10pdm9pZAoqYWJpX3JvdXRlX3VwbG9hZDoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJZXh0cmFjdCAyIDAKCgkvLyBvZmZzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGJveEluZGV4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgdXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkCgljYWxsc3ViIHVwbG9hZAoJaW50IDEKCXJldHVybgoKLy8gdXBsb2FkKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIGJveEluZGV4OiB1aW50NjQsIG9mZnNldDogdWludDY0LCBkYXRhOiBieXRlcyk6IHZvaWQKLy8KLy8KLy8gVXBsb2FkIGRhdGEgdG8gYSBzcGVjaWZpYyBvZmZzZXQgaW4gYSBib3gKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIGJveEluZGV4IFRoZSBpbmRleCBvZiB0aGUgYm94IHRvIHVwbG9hZCB0aGUgZ2l2ZW4gY2h1bmsgb2YgZGF0YSB0bwovLyBAcGFyYW0gb2Zmc2V0IFRoZSBvZmZzZXQgd2l0aGluIHRoZSBib3ggdG8gc3RhcnQgd3JpdGluZyB0aGUgZGF0YQovLyBAcGFyYW0gZGF0YSBUaGUgZGF0YSB0byB3cml0ZQp1cGxvYWQ6Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc2CgkvLyBtZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly9tZXRhZGF0YQoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc3CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTYgLy8gaGVhZE9mZnNldAoJaW50IDEKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc4CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhcnQgPD0gYm94SW5kZXggJiYgYm94SW5kZXggPD0gbWV0YWRhdGEuZW5kKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludCAwCglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0Cgk8PQoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludCA4IC8vIGhlYWRPZmZzZXQKCWludCA4Cglib3hfZXh0cmFjdAoJYnRvaQoJPD0KCSYmCgoqc2tpcF9hbmQwOgoJYXNzZXJ0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjgwCgkvLyBvZmZzZXQgPT09IDAKCWZyYW1lX2RpZyAtMyAvLyBvZmZzZXQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6ODEKCS8vIHRoaXMuZGF0YUJveGVzKGJveEluZGV4KS5jcmVhdGUoYm94SW5kZXggPT09IG1ldGFkYXRhLmVuZCA/IG1ldGFkYXRhLmVuZFNpemUgOiBNQVhfQk9YX1NJWkUpCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgOCAvLyBoZWFkT2Zmc2V0CglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCT09CglieiAqdGVybmFyeTBfZmFsc2UKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTcgLy8gaGVhZE9mZnNldAoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWludCAzMjc2OAoKKnRlcm5hcnkwX2VuZDoKCWJveF9jcmVhdGUKCXBvcAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo4NAoJLy8gdGhpcy5kYXRhQm94ZXMoYm94SW5kZXgpLnJlcGxhY2Uob2Zmc2V0LCBkYXRhKQoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyAtMyAvLyBvZmZzZXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC00IC8vIGRhdGE6IGJ5dGVzCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBzZXRTdGF0dXMoc3RyaW5nLHVpbnQ4KXZvaWQKKmFiaV9yb3V0ZV9zZXRTdGF0dXM6CgkvLyBzdGF0dXM6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoc3RhdHVzKSBmb3Igc2V0U3RhdHVzIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHNldFN0YXR1cyhzdHJpbmcsdWludDgpdm9pZAoJY2FsbHN1YiBzZXRTdGF0dXMKCWludCAxCglyZXR1cm4KCi8vIHNldFN0YXR1cyhkYXRhSWRlbnRpZmllcjogc3RyaW5nLCBzdGF0dXM6IHVpbnQ8OD4pOiB2b2lkCi8vCi8vCi8vIFNldCB0aGUgc3RhdHVzIG9mIHRoZSBkYXRhCi8vCi8vIEBwYXJhbSBkYXRhSWRlbnRpZmllciBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBkYXRhCi8vIEBwYXJhbSBzdGF0dXMgVGhlIG5ldyBzdGF0dXMgZm9yIHRoZSBkYXRhCnNldFN0YXR1czoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6OTUKCS8vIGN1cnJlbnRTdGF0dXMgPSB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglpbnQgMTYgLy8gaGVhZE9mZnNldAoJaW50IDEKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NwoJLy8gYXNzZXJ0KHN0YXR1cyA9PT0gUkVBRFkgfHwgc3RhdHVzID09PSBJTU1VVEFCTEUgfHwgc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludCAxCgk9PQoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpbnQgMgoJPT0KCXx8Cgoqc2tpcF9vcjA6CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludCAwCgk9PQoJfHwKCipza2lwX29yMToKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoY3VycmVudFN0YXR1cyAhPT0gSU1NVVRBQkxFKQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCWludCAyCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6MTAwCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMgPSBzdGF0dXMKCWludCAxNiAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpdG9iCglleHRyYWN0IDcgMQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZCIKCW1ldGhvZCAidXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkIgoJbWV0aG9kICJzZXRTdGF0dXMoc3RyaW5nLHVpbnQ4KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXJ0VXBsb2FkICphYmlfcm91dGVfdXBsb2FkICphYmlfcm91dGVfc2V0U3RhdHVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/examples/calculator/artifacts/Calculator.approval.teal b/examples/calculator/artifacts/Calculator.approval.teal
index 297f8e6a8..b2cf25e76 100644
--- a/examples/calculator/artifacts/Calculator.approval.teal
+++ b/examples/calculator/artifacts/Calculator.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/calculator/artifacts/Calculator.arc32.json b/examples/calculator/artifacts/Calculator.arc32.json
index 34d530811..d61e3e3b3 100644
--- a/examples/calculator/artifacts/Calculator.arc32.json
+++ b/examples/calculator/artifacts/Calculator.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBnZXRTdW0oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKLy8KLy8gQ2FsY3VsYXRlcyB0aGUgc3VtIG9mIHR3byBudW1iZXJzCi8vCi8vIEBwYXJhbSBhCi8vIEBwYXJhbSBiCi8vIEByZXR1cm5zIFRoZSBzdW0gb2YgYSBhbmQgYgpnZXRTdW06Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czoxMwoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBnZXREaWZmZXJlbmNlKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0d28gbnVtYmVycwovLwovLyBAcGFyYW0gYQovLyBAcGFyYW0gYgovLyBAcmV0dXJucyBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgYW5kIGIuCmdldERpZmZlcmVuY2U6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czoyNAoJLy8gcmV0dXJuIGEgPj0gYiA/IGEgLSBiIDogYiAtIGE7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgk+PQoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgktCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCS0KCip0ZXJuYXJ5MF9lbmQ6CglyZXRzdWIKCi8vIGRvTWF0aCh1aW50NjQsdWludDY0LHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9kb01hdGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIG9wZXJhdGlvbjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBkb01hdGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkb01hdGgoYTogdWludDY0LCBiOiB1aW50NjQsIG9wZXJhdGlvbjogc3RyaW5nKTogdWludDY0Ci8vCi8vIEEgbWV0aG9kIHRoYXQgdGFrZXMgdHdvIG51bWJlcnMgYW5kIGRvZXMgZWl0aGVyIGFkZGl0aW9uIG9yIHN1YnRyYWN0aW9uCi8vCi8vIEBwYXJhbSBhIFRoZSBmaXJzdCBudW1iZXIKLy8gQHBhcmFtIGIgVGhlIHNlY29uZCBudW1iZXIKLy8gQHBhcmFtIG9wZXJhdGlvbiBUaGUgb3BlcmF0aW9uIHRvIHBlcmZvcm0uIENhbiBiZSBlaXRoZXIgJ3N1bScgb3IgJ2RpZmZlcmVuY2UnCi8vCi8vIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbgpkb01hdGg6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czozOQoJLy8gb3BlcmF0aW9uID09PSAnc3VtJwoJZnJhbWVfZGlnIC0zIC8vIG9wZXJhdGlvbjogc3RyaW5nCglieXRlIDB4NzM3NTZkIC8vICJzdW0iCgk9PQoJYnogKmlmMF9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDAKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0U3VtKGEsIGIpCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIGdldFN1bQoJZnJhbWVfYnVyeSAwIC8vIHJlc3VsdDogdWludDY0CgliICppZjBfZW5kCgoqaWYwX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDEKCS8vIG9wZXJhdGlvbiA9PT0gJ2RpZmZlcmVuY2UnCglmcmFtZV9kaWcgLTMgLy8gb3BlcmF0aW9uOiBzdHJpbmcKCWJ5dGUgMHg2NDY5NjY2NjY1NzI2NTZlNjM2NSAvLyAiZGlmZmVyZW5jZSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDIKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0RGlmZmVyZW5jZShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXREaWZmZXJlbmNlCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiB1aW50NjQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgb3BlcmF0aW9uCgllcnIKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDUKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZG9NYXRoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBnZXRTdW0oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKLy8KLy8gQ2FsY3VsYXRlcyB0aGUgc3VtIG9mIHR3byBudW1iZXJzCi8vCi8vIEBwYXJhbSBhCi8vIEBwYXJhbSBiCi8vIEByZXR1cm5zIFRoZSBzdW0gb2YgYSBhbmQgYgpnZXRTdW06Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czoxMwoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBnZXREaWZmZXJlbmNlKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0d28gbnVtYmVycwovLwovLyBAcGFyYW0gYQovLyBAcGFyYW0gYgovLyBAcmV0dXJucyBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgYW5kIGIuCmdldERpZmZlcmVuY2U6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czoyNAoJLy8gcmV0dXJuIGEgPj0gYiA/IGEgLSBiIDogYiAtIGE7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgk+PQoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgktCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCS0KCip0ZXJuYXJ5MF9lbmQ6CglyZXRzdWIKCi8vIGRvTWF0aCh1aW50NjQsdWludDY0LHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9kb01hdGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIG9wZXJhdGlvbjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBkb01hdGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkb01hdGgoYTogdWludDY0LCBiOiB1aW50NjQsIG9wZXJhdGlvbjogc3RyaW5nKTogdWludDY0Ci8vCi8vIEEgbWV0aG9kIHRoYXQgdGFrZXMgdHdvIG51bWJlcnMgYW5kIGRvZXMgZWl0aGVyIGFkZGl0aW9uIG9yIHN1YnRyYWN0aW9uCi8vCi8vIEBwYXJhbSBhIFRoZSBmaXJzdCBudW1iZXIKLy8gQHBhcmFtIGIgVGhlIHNlY29uZCBudW1iZXIKLy8gQHBhcmFtIG9wZXJhdGlvbiBUaGUgb3BlcmF0aW9uIHRvIHBlcmZvcm0uIENhbiBiZSBlaXRoZXIgJ3N1bScgb3IgJ2RpZmZlcmVuY2UnCi8vCi8vIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbgpkb01hdGg6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czozOQoJLy8gb3BlcmF0aW9uID09PSAnc3VtJwoJZnJhbWVfZGlnIC0zIC8vIG9wZXJhdGlvbjogc3RyaW5nCglieXRlIDB4NzM3NTZkIC8vICJzdW0iCgk9PQoJYnogKmlmMF9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDAKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0U3VtKGEsIGIpCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIGdldFN1bQoJZnJhbWVfYnVyeSAwIC8vIHJlc3VsdDogdWludDY0CgliICppZjBfZW5kCgoqaWYwX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDEKCS8vIG9wZXJhdGlvbiA9PT0gJ2RpZmZlcmVuY2UnCglmcmFtZV9kaWcgLTMgLy8gb3BlcmF0aW9uOiBzdHJpbmcKCWJ5dGUgMHg2NDY5NjY2NjY1NzI2NTZlNjM2NSAvLyAiZGlmZmVyZW5jZSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDIKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0RGlmZmVyZW5jZShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXREaWZmZXJlbmNlCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiB1aW50NjQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgb3BlcmF0aW9uCgllcnIKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDUKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZG9NYXRoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/calculator/artifacts/Calculator.arc56_draft.json b/examples/calculator/artifacts/Calculator.arc56_draft.json
index 1414278b7..1351867a4 100644
--- a/examples/calculator/artifacts/Calculator.arc56_draft.json
+++ b/examples/calculator/artifacts/Calculator.arc56_draft.json
@@ -78,654 +78,657 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 4,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 4,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 4,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 4,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 4,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 4,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 4,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 4,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 4,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 33,
- "source": 12,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 37,
- "source": 13,
- "pc": [
- 43,
- 44
- ]
- },
- {
- "teal": 38,
- "source": 13,
- "pc": [
- 45,
- 46
- ]
- },
- {
- "teal": 39,
- "source": 13,
- "pc": [
- 47
- ]
- },
- {
- "teal": 40,
- "source": 12,
- "pc": [
- 48
- ]
- },
- {
- "teal": 50,
- "source": 23,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 54,
- "source": 24,
- "pc": [
- 52,
- 53
- ]
- },
- {
- "teal": 55,
- "source": 24,
- "pc": [
- 54,
- 55
- ]
- },
- {
- "teal": 56,
- "source": 24,
- "pc": [
- 56
- ]
- },
- {
- "teal": 57,
- "source": 24,
- "pc": [
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 58,
- "source": 24,
- "pc": [
- 60,
- 61
- ]
- },
- {
- "teal": 59,
- "source": 24,
- "pc": [
- 62,
- 63
- ]
- },
- {
- "teal": 60,
- "source": 24,
- "pc": [
- 64
- ]
- },
- {
- "teal": 61,
- "source": 24,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 64,
- "source": 24,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 65,
- "source": 24,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 66,
- "source": 24,
- "pc": [
- 72
- ]
- },
- {
- "teal": 69,
- "source": 23,
- "pc": [
- 73
- ]
- },
- {
- "teal": 74,
- "source": 36,
- "pc": [
- 74,
- 75,
- 76,
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 77,
- "source": 36,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 78,
- "source": 36,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 81,
- "source": 36,
- "pc": [
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 82,
- "source": 36,
- "pc": [
- 89
- ]
- },
- {
- "teal": 85,
- "source": 36,
- "pc": [
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 86,
- "source": 36,
- "pc": [
- 93
- ]
- },
- {
- "teal": 89,
- "source": 36,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 90,
- "source": 36,
- "pc": [
- 97
- ]
- },
- {
- "teal": 91,
- "source": 36,
- "pc": [
- 98
- ]
- },
- {
- "teal": 92,
- "source": 36,
- "pc": [
- 99
- ]
- },
- {
- "teal": 93,
- "source": 36,
- "pc": [
- 100
- ]
- },
- {
- "teal": 94,
- "source": 36,
- "pc": [
- 101
- ]
- },
- {
- "teal": 106,
- "source": 36,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 109,
- "source": 36,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 114,
- "source": 39,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 115,
- "source": 39,
- "pc": [
- 109,
- 110,
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 116,
- "source": 39,
- "pc": [
- 114
- ]
- },
- {
- "teal": 117,
- "source": 39,
- "pc": [
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 122,
- "source": 40,
- "pc": [
- 118,
- 119
- ]
- },
- {
- "teal": 123,
- "source": 40,
- "pc": [
- 120,
- 121
- ]
- },
- {
- "teal": 124,
- "source": 40,
- "pc": [
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 125,
- "source": 40,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 126,
- "source": 39,
- "pc": [
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 131,
- "source": 41,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 132,
- "source": 41,
- "pc": [
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143
- ]
- },
- {
- "teal": 133,
- "source": 41,
- "pc": [
- 144
- ]
- },
- {
- "teal": 134,
- "source": 41,
- "pc": [
- 145,
- 146,
- 147
- ]
- },
- {
- "teal": 139,
- "source": 42,
- "pc": [
- 148,
- 149
- ]
- },
- {
- "teal": 140,
- "source": 42,
- "pc": [
- 150,
- 151
- ]
- },
- {
- "teal": 141,
- "source": 42,
- "pc": [
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 142,
- "source": 42,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 143,
- "source": 41,
- "pc": [
- 157,
- 158,
- 159
- ]
- },
- {
- "teal": 147,
- "source": 43,
- "errorMessage": "Invalid operation",
- "pc": [
- 160
- ]
- },
- {
- "teal": 152,
- "source": 45,
- "pc": [
- 161,
- 162
- ]
- },
- {
- "teal": 155,
- "source": 36,
- "pc": [
- 163,
- 164
- ]
- },
- {
- "teal": 156,
- "source": 36,
- "pc": [
- 165
- ]
- },
- {
- "teal": 159,
- "source": 4,
- "pc": [
- 166
- ]
- },
- {
- "teal": 160,
- "source": 4,
- "pc": [
- 167
- ]
- },
- {
- "teal": 163,
- "source": 4,
- "pc": [
- 168,
- 169,
- 170,
- 171,
- 172,
- 173
- ]
- },
- {
- "teal": 164,
- "source": 4,
- "pc": [
- 174,
- 175,
- 176
- ]
- },
- {
- "teal": 165,
- "source": 4,
- "pc": [
- 177,
- 178,
- 179,
- 180
- ]
- },
- {
- "teal": 168,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 181
- ]
- },
- {
- "teal": 171,
- "source": 4,
- "pc": [
- 182,
- 183,
- 184,
- 185,
- 186,
- 187
- ]
- },
- {
- "teal": 172,
- "source": 4,
- "pc": [
- 188,
- 189,
- 190
- ]
- },
- {
- "teal": 173,
- "source": 4,
- "pc": [
- 191,
- 192,
- 193,
- 194
- ]
- },
- {
- "teal": 176,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 195
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 4,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 4,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 4,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 4,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 4,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 4,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 4,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 4,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 4,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 12,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 13,
+ "pc": [
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 13,
+ "pc": [
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 13,
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 12,
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 23,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 24,
+ "pc": [
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 24,
+ "pc": [
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 24,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 24,
+ "pc": [
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 24,
+ "pc": [
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 24,
+ "pc": [
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 24,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 24,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 24,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 24,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 24,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 23,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 36,
+ "pc": [
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 36,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 36,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 36,
+ "pc": [
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 36,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 36,
+ "pc": [
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 36,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 36,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 36,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 36,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 36,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 36,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 36,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 36,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 36,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 39,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 39,
+ "pc": [
+ 109,
+ 110,
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 39,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 39,
+ "pc": [
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 40,
+ "pc": [
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 40,
+ "pc": [
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 40,
+ "pc": [
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 40,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 39,
+ "pc": [
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 41,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 41,
+ "pc": [
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 41,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 41,
+ "pc": [
+ 145,
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 42,
+ "pc": [
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 42,
+ "pc": [
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 42,
+ "pc": [
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 42,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 41,
+ "pc": [
+ 157,
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 43,
+ "errorMessage": "Invalid operation",
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 45,
+ "pc": [
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 36,
+ "pc": [
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 36,
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 4,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 4,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 4,
+ "pc": [
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 4,
+ "pc": [
+ 174,
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 4,
+ "pc": [
+ 177,
+ 178,
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 181
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 4,
+ "pc": [
+ 182,
+ 183,
+ 184,
+ 185,
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 4,
+ "pc": [
+ 188,
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 4,
+ "pc": [
+ 191,
+ 192,
+ 193,
+ 194
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 195
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBnZXRTdW0oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKLy8KLy8gQ2FsY3VsYXRlcyB0aGUgc3VtIG9mIHR3byBudW1iZXJzCi8vCi8vIEBwYXJhbSBhCi8vIEBwYXJhbSBiCi8vIEByZXR1cm5zIFRoZSBzdW0gb2YgYSBhbmQgYgpnZXRTdW06Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czoxMwoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBnZXREaWZmZXJlbmNlKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0d28gbnVtYmVycwovLwovLyBAcGFyYW0gYQovLyBAcGFyYW0gYgovLyBAcmV0dXJucyBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgYW5kIGIuCmdldERpZmZlcmVuY2U6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czoyNAoJLy8gcmV0dXJuIGEgPj0gYiA/IGEgLSBiIDogYiAtIGE7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgk+PQoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgktCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCS0KCip0ZXJuYXJ5MF9lbmQ6CglyZXRzdWIKCi8vIGRvTWF0aCh1aW50NjQsdWludDY0LHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9kb01hdGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIG9wZXJhdGlvbjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBkb01hdGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkb01hdGgoYTogdWludDY0LCBiOiB1aW50NjQsIG9wZXJhdGlvbjogc3RyaW5nKTogdWludDY0Ci8vCi8vIEEgbWV0aG9kIHRoYXQgdGFrZXMgdHdvIG51bWJlcnMgYW5kIGRvZXMgZWl0aGVyIGFkZGl0aW9uIG9yIHN1YnRyYWN0aW9uCi8vCi8vIEBwYXJhbSBhIFRoZSBmaXJzdCBudW1iZXIKLy8gQHBhcmFtIGIgVGhlIHNlY29uZCBudW1iZXIKLy8gQHBhcmFtIG9wZXJhdGlvbiBUaGUgb3BlcmF0aW9uIHRvIHBlcmZvcm0uIENhbiBiZSBlaXRoZXIgJ3N1bScgb3IgJ2RpZmZlcmVuY2UnCi8vCi8vIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbgpkb01hdGg6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czozOQoJLy8gb3BlcmF0aW9uID09PSAnc3VtJwoJZnJhbWVfZGlnIC0zIC8vIG9wZXJhdGlvbjogc3RyaW5nCglieXRlIDB4NzM3NTZkIC8vICJzdW0iCgk9PQoJYnogKmlmMF9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDAKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0U3VtKGEsIGIpCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIGdldFN1bQoJZnJhbWVfYnVyeSAwIC8vIHJlc3VsdDogdWludDY0CgliICppZjBfZW5kCgoqaWYwX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDEKCS8vIG9wZXJhdGlvbiA9PT0gJ2RpZmZlcmVuY2UnCglmcmFtZV9kaWcgLTMgLy8gb3BlcmF0aW9uOiBzdHJpbmcKCWJ5dGUgMHg2NDY5NjY2NjY1NzI2NTZlNjM2NSAvLyAiZGlmZmVyZW5jZSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDIKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0RGlmZmVyZW5jZShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXREaWZmZXJlbmNlCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiB1aW50NjQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgb3BlcmF0aW9uCgllcnIKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDUKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZG9NYXRoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBnZXRTdW0oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKLy8KLy8gQ2FsY3VsYXRlcyB0aGUgc3VtIG9mIHR3byBudW1iZXJzCi8vCi8vIEBwYXJhbSBhCi8vIEBwYXJhbSBiCi8vIEByZXR1cm5zIFRoZSBzdW0gb2YgYSBhbmQgYgpnZXRTdW06Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czoxMwoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBnZXREaWZmZXJlbmNlKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0d28gbnVtYmVycwovLwovLyBAcGFyYW0gYQovLyBAcGFyYW0gYgovLyBAcmV0dXJucyBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgYW5kIGIuCmdldERpZmZlcmVuY2U6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czoyNAoJLy8gcmV0dXJuIGEgPj0gYiA/IGEgLSBiIDogYiAtIGE7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgk+PQoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgktCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCS0KCip0ZXJuYXJ5MF9lbmQ6CglyZXRzdWIKCi8vIGRvTWF0aCh1aW50NjQsdWludDY0LHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9kb01hdGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIG9wZXJhdGlvbjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBkb01hdGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkb01hdGgoYTogdWludDY0LCBiOiB1aW50NjQsIG9wZXJhdGlvbjogc3RyaW5nKTogdWludDY0Ci8vCi8vIEEgbWV0aG9kIHRoYXQgdGFrZXMgdHdvIG51bWJlcnMgYW5kIGRvZXMgZWl0aGVyIGFkZGl0aW9uIG9yIHN1YnRyYWN0aW9uCi8vCi8vIEBwYXJhbSBhIFRoZSBmaXJzdCBudW1iZXIKLy8gQHBhcmFtIGIgVGhlIHNlY29uZCBudW1iZXIKLy8gQHBhcmFtIG9wZXJhdGlvbiBUaGUgb3BlcmF0aW9uIHRvIHBlcmZvcm0uIENhbiBiZSBlaXRoZXIgJ3N1bScgb3IgJ2RpZmZlcmVuY2UnCi8vCi8vIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbgpkb01hdGg6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9jYWxjdWxhdG9yL2NhbGN1bGF0b3IuYWxnby50czozOQoJLy8gb3BlcmF0aW9uID09PSAnc3VtJwoJZnJhbWVfZGlnIC0zIC8vIG9wZXJhdGlvbjogc3RyaW5nCglieXRlIDB4NzM3NTZkIC8vICJzdW0iCgk9PQoJYnogKmlmMF9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDAKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0U3VtKGEsIGIpCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIGdldFN1bQoJZnJhbWVfYnVyeSAwIC8vIHJlc3VsdDogdWludDY0CgliICppZjBfZW5kCgoqaWYwX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDEKCS8vIG9wZXJhdGlvbiA9PT0gJ2RpZmZlcmVuY2UnCglmcmFtZV9kaWcgLTMgLy8gb3BlcmF0aW9uOiBzdHJpbmcKCWJ5dGUgMHg2NDY5NjY2NjY1NzI2NTZlNjM2NSAvLyAiZGlmZmVyZW5jZSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDIKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0RGlmZmVyZW5jZShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXREaWZmZXJlbmNlCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiB1aW50NjQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgb3BlcmF0aW9uCgllcnIKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDUKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZG9NYXRoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/examples/itxns/artifacts/FactoryCaller.approval.teal b/examples/itxns/artifacts/FactoryCaller.approval.teal
index ce4f0bf2a..87d42cde9 100644
--- a/examples/itxns/artifacts/FactoryCaller.approval.teal
+++ b/examples/itxns/artifacts/FactoryCaller.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/itxns/artifacts/FactoryCaller.arc32.json b/examples/itxns/artifacts/FactoryCaller.arc32.json
index 78c677604..abc2d2dd0 100644
--- a/examples/itxns/artifacts/FactoryCaller.arc32.json
+++ b/examples/itxns/artifacts/FactoryCaller.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NAoqYWJpX3JvdXRlX21pbnRBbmRHZXRBc3NldDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NAoJY2FsbHN1YiBtaW50QW5kR2V0QXNzZXQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtaW50QW5kR2V0QXNzZXQoKTogQXNzZXRJRAptaW50QW5kR2V0QXNzZXQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNQoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GVEZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZUFwcGxpY2F0aW9uPih7CgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogTkZURmFjdG9yeS5jbGVhclByb2dyYW0oKSwKCS8vICAgICAgIGFwcHJvdmFsUHJvZ3JhbTogTkZURmFjdG9yeS5hcHByb3ZhbFByb2dyYW0oKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MjYKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiBORlRGYWN0b3J5LmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNwoJLy8gYXBwcm92YWxQcm9ncmFtOiBORlRGYWN0b3J5LmFwcHJvdmFsUHJvZ3JhbSgpCglieXRlIGI2NCBDaUFDQVFBeEdCU0JCZ3N4R1FpTkRBQnZBQUFBQUFBQUFBQUFBQUJoQUFBQUFBQUFBQUFBQUFDQUJCVWZmSFUyR2dKWEFnQTJHZ0ZYQWdDSUFBVVdVTEFpUTRvQ0FiR0JBN0lRaS8reUpvditzaVVpc2lJanNnR3p0RHlKTmhvQ1NSV0JJQkpFTmhvQkY0Z0FBaUpEaWdJQXNZRUVzaENML3JJVUlySVNpLyt5RVNPeUFiT0pJa09BQkxoRWV6WTJHZ0NPQWYveEFJQUUwZ0pNYzRBRXgrSmdyellhQUk0Qy8zMy9zUUE9CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMwCgkvLyBmYWN0b3J5QXBwID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklECglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDAgLy8gZmFjdG9yeUFwcDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgYW1vdW50OiAyMDBfMDAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzMKCS8vIGFtb3VudDogMjAwXzAwMAoJaW50IDIwMF8wMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozNAoJLy8gcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gZmFjdG9yeUFwcDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozNwoJLy8gY3JlYXRlZEFzc2V0ID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GVEZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZU5GVD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogZmFjdG9yeUFwcCwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzkKCS8vIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXQoJYnl0ZSAweDAwMDY0ZDc5MjA0ZTQ2NTQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4MDAwNDRkNGU0NjU0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJZnJhbWVfYnVyeSAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0MgoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0QW1vdW50OiAwLAoJLy8gICAgICAgeGZlckFzc2V0OiBjcmVhdGVkQXNzZXQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDMKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ0CgkvLyBhc3NldEFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ1CgkvLyB4ZmVyQXNzZXQ6IGNyZWF0ZWRBc3NldAoJZnJhbWVfZGlnIDEgLy8gY3JlYXRlZEFzc2V0OiB1aW50NjQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDgKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBORlRGYWN0b3J5LnByb3RvdHlwZS50cmFuc2Zlck5GVD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogZmFjdG9yeUFwcCwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtjcmVhdGVkQXNzZXQsIHRoaXMuYXBwLmFkZHJlc3NdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ5CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NTAKCS8vIG1ldGhvZEFyZ3M6IFtjcmVhdGVkQXNzZXQsIHRoaXMuYXBwLmFkZHJlc3NdCglmcmFtZV9kaWcgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjUzCgkvLyByZXR1cm4gY3JlYXRlZEFzc2V0OwoJZnJhbWVfZGlnIDEgLy8gY3JlYXRlZEFzc2V0OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbWludEFuZEdldEFzc2V0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NAoqYWJpX3JvdXRlX21pbnRBbmRHZXRBc3NldDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NAoJY2FsbHN1YiBtaW50QW5kR2V0QXNzZXQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtaW50QW5kR2V0QXNzZXQoKTogQXNzZXRJRAptaW50QW5kR2V0QXNzZXQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNQoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GVEZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZUFwcGxpY2F0aW9uPih7CgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogTkZURmFjdG9yeS5jbGVhclByb2dyYW0oKSwKCS8vICAgICAgIGFwcHJvdmFsUHJvZ3JhbTogTkZURmFjdG9yeS5hcHByb3ZhbFByb2dyYW0oKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MjYKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiBORlRGYWN0b3J5LmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNwoJLy8gYXBwcm92YWxQcm9ncmFtOiBORlRGYWN0b3J5LmFwcHJvdmFsUHJvZ3JhbSgpCglieXRlIGI2NCBDaUFDQVFBeEdCU0JCZ3N4R1FpTkRBQnZBQUFBQUFBQUFBQUFBQUJoQUFBQUFBQUFBQUFBQUFDQUJCVWZmSFUyR2dKWEFnQTJHZ0ZYQWdDSUFBVVdVTEFpUTRvQ0FiR0JBN0lRaS8reUpvditzaVVpc2lJanNnR3p0RHlKTmhvQ1NSV0JJQkpFTmhvQkY0Z0FBaUpEaWdJQXNZRUVzaENML3JJVUlySVNpLyt5RVNPeUFiT0pJa09BQkxoRWV6WTJHZ0NPQWYveEFJQUUwZ0pNYzRBRXgrSmdyellhQUk0Qy8zMy9zUUE9CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMwCgkvLyBmYWN0b3J5QXBwID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklECglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDAgLy8gZmFjdG9yeUFwcDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgYW1vdW50OiAyMDBfMDAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzMKCS8vIGFtb3VudDogMjAwXzAwMAoJaW50IDIwMF8wMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozNAoJLy8gcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gZmFjdG9yeUFwcDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozNwoJLy8gY3JlYXRlZEFzc2V0ID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GVEZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZU5GVD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogZmFjdG9yeUFwcCwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzkKCS8vIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXQoJYnl0ZSAweDAwMDY0ZDc5MjA0ZTQ2NTQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4MDAwNDRkNGU0NjU0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJZnJhbWVfYnVyeSAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0MgoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0QW1vdW50OiAwLAoJLy8gICAgICAgeGZlckFzc2V0OiBjcmVhdGVkQXNzZXQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDMKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ0CgkvLyBhc3NldEFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ1CgkvLyB4ZmVyQXNzZXQ6IGNyZWF0ZWRBc3NldAoJZnJhbWVfZGlnIDEgLy8gY3JlYXRlZEFzc2V0OiB1aW50NjQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDgKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBORlRGYWN0b3J5LnByb3RvdHlwZS50cmFuc2Zlck5GVD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogZmFjdG9yeUFwcCwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtjcmVhdGVkQXNzZXQsIHRoaXMuYXBwLmFkZHJlc3NdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ5CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NTAKCS8vIG1ldGhvZEFyZ3M6IFtjcmVhdGVkQXNzZXQsIHRoaXMuYXBwLmFkZHJlc3NdCglmcmFtZV9kaWcgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjUzCgkvLyByZXR1cm4gY3JlYXRlZEFzc2V0OwoJZnJhbWVfZGlnIDEgLy8gY3JlYXRlZEFzc2V0OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbWludEFuZEdldEFzc2V0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/itxns/artifacts/FactoryCaller.arc56_draft.json b/examples/itxns/artifacts/FactoryCaller.arc56_draft.json
index c1623030e..62c8270bd 100644
--- a/examples/itxns/artifacts/FactoryCaller.arc56_draft.json
+++ b/examples/itxns/artifacts/FactoryCaller.arc56_draft.json
@@ -60,1077 +60,1080 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 23,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12
- ]
- },
- {
- "teal": 13,
- "source": 23,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 14,
- "source": 23,
- "pc": [
- 15
- ]
- },
- {
- "teal": 15,
- "source": 23,
- "pc": [
- 16
- ]
- },
- {
- "teal": 16,
- "source": 23,
- "pc": [
- 17
- ]
- },
- {
- "teal": 17,
- "source": 23,
- "pc": [
- 18,
- 19
- ]
- },
- {
- "teal": 18,
- "source": 23,
- "pc": [
- 20
- ]
- },
- {
- "teal": 19,
- "source": 23,
- "pc": [
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 23,
- "source": 23,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 47
- ]
- },
- {
- "teal": 28,
- "source": 24,
- "pc": [
- 48,
- 49,
- 50,
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 31,
- "source": 24,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 32,
- "source": 24,
- "pc": [
- 57
- ]
- },
- {
- "teal": 33,
- "source": 24,
- "pc": [
- 58
- ]
- },
- {
- "teal": 34,
- "source": 24,
- "pc": [
- 59
- ]
- },
- {
- "teal": 35,
- "source": 24,
- "pc": [
- 60
- ]
- },
- {
- "teal": 36,
- "source": 24,
- "pc": [
- 61
- ]
- },
- {
- "teal": 40,
- "source": 24,
- "pc": [
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 43,
- "source": 24,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 44,
- "source": 24,
- "pc": [
- 67
- ]
- },
- {
- "teal": 51,
- "source": 25,
- "pc": [
- 68
- ]
- },
- {
- "teal": 52,
- "source": 25,
- "pc": [
- 69
- ]
- },
- {
- "teal": 53,
- "source": 25,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 54,
- "source": 25,
- "pc": [
- 72
- ]
- },
- {
- "teal": 55,
- "source": 25,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 59,
- "source": 26,
- "pc": [
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 60,
- "source": 26,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 64,
- "source": 27,
- "pc": [
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191,
- 192,
- 193,
- 194,
- 195,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 210,
- 211,
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 223,
- 224,
- 225,
- 226,
- 227,
- 228,
- 229,
- 230,
- 231,
- 232,
- 233,
- 234,
- 235,
- 236,
- 237,
- 238,
- 239,
- 240,
- 241,
- 242,
- 243,
- 244,
- 245,
- 246,
- 247,
- 248,
- 249,
- 250,
- 251,
- 252,
- 253,
- 254,
- 255
- ]
- },
- {
- "teal": 65,
- "source": 27,
- "pc": [
- 256,
- 257
- ]
- },
- {
- "teal": 68,
- "source": 25,
- "pc": [
- 258
- ]
- },
- {
- "teal": 69,
- "source": 25,
- "pc": [
- 259,
- 260
- ]
- },
- {
- "teal": 72,
- "source": 25,
- "pc": [
- 261
- ]
- },
- {
- "teal": 76,
- "source": 30,
- "pc": [
- 262,
- 263
- ]
- },
- {
- "teal": 77,
- "source": 30,
- "pc": [
- 264,
- 265
- ]
- },
- {
- "teal": 84,
- "source": 32,
- "pc": [
- 266
- ]
- },
- {
- "teal": 85,
- "source": 32,
- "pc": [
- 267
- ]
- },
- {
- "teal": 86,
- "source": 32,
- "pc": [
- 268,
- 269
- ]
- },
- {
- "teal": 90,
- "source": 33,
- "pc": [
- 270,
- 271,
- 272,
- 273
- ]
- },
- {
- "teal": 91,
- "source": 33,
- "pc": [
- 274,
- 275
- ]
- },
- {
- "teal": 95,
- "source": 34,
- "pc": [
- 276,
- 277
- ]
- },
- {
- "teal": 96,
- "source": 34,
- "pc": [
- 278,
- 279
- ]
- },
- {
- "teal": 97,
- "source": 34,
- "pc": [
- 280
- ]
- },
- {
- "teal": 98,
- "source": 34,
- "pc": [
- 281,
- 282
- ]
- },
- {
- "teal": 101,
- "source": 32,
- "pc": [
- 283
- ]
- },
- {
- "teal": 102,
- "source": 32,
- "pc": [
- 284,
- 285
- ]
- },
- {
- "teal": 105,
- "source": 32,
- "pc": [
- 286
- ]
- },
- {
- "teal": 112,
- "source": 37,
- "pc": [
- 287
- ]
- },
- {
- "teal": 113,
- "source": 37,
- "pc": [
- 288
- ]
- },
- {
- "teal": 114,
- "source": 37,
- "pc": [
- 289,
- 290
- ]
- },
- {
- "teal": 115,
- "source": 37,
- "pc": [
- 291,
- 292,
- 293,
- 294,
- 295,
- 296
- ]
- },
- {
- "teal": 116,
- "source": 37,
- "pc": [
- 297,
- 298
- ]
- },
- {
- "teal": 120,
- "source": 38,
- "pc": [
- 299,
- 300
- ]
- },
- {
- "teal": 121,
- "source": 38,
- "pc": [
- 301,
- 302
- ]
- },
- {
- "teal": 125,
- "source": 39,
- "pc": [
- 303,
- 304,
- 305,
- 306,
- 307,
- 308,
- 309,
- 310,
- 311,
- 312
- ]
- },
- {
- "teal": 126,
- "source": 39,
- "pc": [
- 313,
- 314
- ]
- },
- {
- "teal": 127,
- "source": 39,
- "pc": [
- 315,
- 316,
- 317,
- 318,
- 319,
- 320,
- 321,
- 322
- ]
- },
- {
- "teal": 128,
- "source": 39,
- "pc": [
- 323,
- 324
- ]
- },
- {
- "teal": 131,
- "source": 37,
- "pc": [
- 325
- ]
- },
- {
- "teal": 132,
- "source": 37,
- "pc": [
- 326,
- 327
- ]
- },
- {
- "teal": 135,
- "source": 37,
- "pc": [
- 328
- ]
- },
- {
- "teal": 136,
- "source": 37,
- "pc": [
- 329,
- 330
- ]
- },
- {
- "teal": 137,
- "source": 37,
- "pc": [
- 331
- ]
- },
- {
- "teal": 138,
- "source": 37,
- "pc": [
- 332
- ]
- },
- {
- "teal": 139,
- "source": 37,
- "pc": [
- 333,
- 334
- ]
- },
- {
- "teal": 140,
- "source": 37,
- "pc": [
- 335,
- 336,
- 337
- ]
- },
- {
- "teal": 141,
- "source": 37,
- "pc": [
- 338
- ]
- },
- {
- "teal": 142,
- "source": 37,
- "pc": [
- 339,
- 340
- ]
- },
- {
- "teal": 150,
- "source": 42,
- "pc": [
- 341
- ]
- },
- {
- "teal": 151,
- "source": 42,
- "pc": [
- 342,
- 343
- ]
- },
- {
- "teal": 152,
- "source": 42,
- "pc": [
- 344,
- 345
- ]
- },
- {
- "teal": 156,
- "source": 43,
- "pc": [
- 346,
- 347
- ]
- },
- {
- "teal": 157,
- "source": 43,
- "pc": [
- 348,
- 349
- ]
- },
- {
- "teal": 161,
- "source": 44,
- "pc": [
- 350
- ]
- },
- {
- "teal": 162,
- "source": 44,
- "pc": [
- 351,
- 352
- ]
- },
- {
- "teal": 166,
- "source": 45,
- "pc": [
- 353,
- 354
- ]
- },
- {
- "teal": 167,
- "source": 45,
- "pc": [
- 355,
- 356
- ]
- },
- {
- "teal": 170,
- "source": 42,
- "pc": [
- 357
- ]
- },
- {
- "teal": 171,
- "source": 42,
- "pc": [
- 358,
- 359
- ]
- },
- {
- "teal": 174,
- "source": 42,
- "pc": [
- 360
- ]
- },
- {
- "teal": 181,
- "source": 48,
- "pc": [
- 361
- ]
- },
- {
- "teal": 182,
- "source": 48,
- "pc": [
- 362
- ]
- },
- {
- "teal": 183,
- "source": 48,
- "pc": [
- 363,
- 364
- ]
- },
- {
- "teal": 184,
- "source": 48,
- "pc": [
- 365,
- 366,
- 367,
- 368,
- 369,
- 370
- ]
- },
- {
- "teal": 185,
- "source": 48,
- "pc": [
- 371,
- 372
- ]
- },
- {
- "teal": 189,
- "source": 49,
- "pc": [
- 373,
- 374
- ]
- },
- {
- "teal": 190,
- "source": 49,
- "pc": [
- 375,
- 376
- ]
- },
- {
- "teal": 194,
- "source": 50,
- "pc": [
- 377,
- 378
- ]
- },
- {
- "teal": 195,
- "source": 50,
- "pc": [
- 379
- ]
- },
- {
- "teal": 196,
- "source": 50,
- "pc": [
- 380,
- 381
- ]
- },
- {
- "teal": 197,
- "source": 50,
- "pc": [
- 382,
- 383
- ]
- },
- {
- "teal": 198,
- "source": 50,
- "pc": [
- 384,
- 385
- ]
- },
- {
- "teal": 201,
- "source": 48,
- "pc": [
- 386
- ]
- },
- {
- "teal": 202,
- "source": 48,
- "pc": [
- 387,
- 388
- ]
- },
- {
- "teal": 205,
- "source": 48,
- "pc": [
- 389
- ]
- },
- {
- "teal": 209,
- "source": 53,
- "pc": [
- 390,
- 391
- ]
- },
- {
- "teal": 212,
- "source": 24,
- "pc": [
- 392,
- 393
- ]
- },
- {
- "teal": 215,
- "source": 24,
- "pc": [
- 394,
- 395
- ]
- },
- {
- "teal": 216,
- "source": 24,
- "pc": [
- 396
- ]
- },
- {
- "teal": 219,
- "source": 23,
- "pc": [
- 397
- ]
- },
- {
- "teal": 220,
- "source": 23,
- "pc": [
- 398
- ]
- },
- {
- "teal": 223,
- "source": 23,
- "pc": [
- 399
- ]
- },
- {
- "teal": 224,
- "source": 23,
- "pc": [
- 400,
- 401,
- 402
- ]
- },
- {
- "teal": 225,
- "source": 23,
- "pc": [
- 403,
- 404,
- 405,
- 406
- ]
- },
- {
- "teal": 228,
- "source": 23,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 407
- ]
- },
- {
- "teal": 231,
- "source": 23,
- "pc": [
- 408,
- 409,
- 410,
- 411,
- 412,
- 413
- ]
- },
- {
- "teal": 232,
- "source": 23,
- "pc": [
- 414,
- 415,
- 416
- ]
- },
- {
- "teal": 233,
- "source": 23,
- "pc": [
- 417,
- 418,
- 419,
- 420
- ]
- },
- {
- "teal": 236,
- "source": 23,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 421
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 23,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 23,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 23,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 23,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 23,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 23,
+ "pc": [
+ 18,
+ 19
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 23,
+ "pc": [
+ 20
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 23,
+ "pc": [
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 23,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 24,
+ "pc": [
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 24,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 24,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 24,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 24,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 24,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 24,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 24,
+ "pc": [
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 24,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 24,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 25,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 25,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 25,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 25,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 25,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 26,
+ "pc": [
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 26,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 27,
+ "pc": [
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184,
+ 185,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190,
+ 191,
+ 192,
+ 193,
+ 194,
+ 195,
+ 196,
+ 197,
+ 198,
+ 199,
+ 200,
+ 201,
+ 202,
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211,
+ 212,
+ 213,
+ 214,
+ 215,
+ 216,
+ 217,
+ 218,
+ 219,
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225,
+ 226,
+ 227,
+ 228,
+ 229,
+ 230,
+ 231,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 237,
+ 238,
+ 239,
+ 240,
+ 241,
+ 242,
+ 243,
+ 244,
+ 245,
+ 246,
+ 247,
+ 248,
+ 249,
+ 250,
+ 251,
+ 252,
+ 253,
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 27,
+ "pc": [
+ 256,
+ 257
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 25,
+ "pc": [
+ 258
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 25,
+ "pc": [
+ 259,
+ 260
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 25,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 30,
+ "pc": [
+ 262,
+ 263
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 30,
+ "pc": [
+ 264,
+ 265
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 32,
+ "pc": [
+ 266
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 32,
+ "pc": [
+ 267
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 32,
+ "pc": [
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 33,
+ "pc": [
+ 270,
+ 271,
+ 272,
+ 273
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 33,
+ "pc": [
+ 274,
+ 275
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 34,
+ "pc": [
+ 276,
+ 277
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 34,
+ "pc": [
+ 278,
+ 279
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 34,
+ "pc": [
+ 280
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 34,
+ "pc": [
+ 281,
+ 282
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 32,
+ "pc": [
+ 283
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 32,
+ "pc": [
+ 284,
+ 285
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 32,
+ "pc": [
+ 286
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 37,
+ "pc": [
+ 287
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 37,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 37,
+ "pc": [
+ 289,
+ 290
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 37,
+ "pc": [
+ 291,
+ 292,
+ 293,
+ 294,
+ 295,
+ 296
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 37,
+ "pc": [
+ 297,
+ 298
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 38,
+ "pc": [
+ 299,
+ 300
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 38,
+ "pc": [
+ 301,
+ 302
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 39,
+ "pc": [
+ 303,
+ 304,
+ 305,
+ 306,
+ 307,
+ 308,
+ 309,
+ 310,
+ 311,
+ 312
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 39,
+ "pc": [
+ 313,
+ 314
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 39,
+ "pc": [
+ 315,
+ 316,
+ 317,
+ 318,
+ 319,
+ 320,
+ 321,
+ 322
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 39,
+ "pc": [
+ 323,
+ 324
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 37,
+ "pc": [
+ 325
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 37,
+ "pc": [
+ 326,
+ 327
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 37,
+ "pc": [
+ 328
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 37,
+ "pc": [
+ 329,
+ 330
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 37,
+ "pc": [
+ 331
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 37,
+ "pc": [
+ 332
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 37,
+ "pc": [
+ 333,
+ 334
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 37,
+ "pc": [
+ 335,
+ 336,
+ 337
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 37,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 37,
+ "pc": [
+ 339,
+ 340
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 42,
+ "pc": [
+ 341
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 42,
+ "pc": [
+ 342,
+ 343
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 42,
+ "pc": [
+ 344,
+ 345
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 43,
+ "pc": [
+ 346,
+ 347
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 43,
+ "pc": [
+ 348,
+ 349
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 44,
+ "pc": [
+ 350
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 44,
+ "pc": [
+ 351,
+ 352
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 45,
+ "pc": [
+ 353,
+ 354
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 45,
+ "pc": [
+ 355,
+ 356
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 42,
+ "pc": [
+ 357
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 42,
+ "pc": [
+ 358,
+ 359
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 42,
+ "pc": [
+ 360
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 48,
+ "pc": [
+ 361
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 48,
+ "pc": [
+ 362
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 48,
+ "pc": [
+ 363,
+ 364
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 48,
+ "pc": [
+ 365,
+ 366,
+ 367,
+ 368,
+ 369,
+ 370
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 48,
+ "pc": [
+ 371,
+ 372
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 49,
+ "pc": [
+ 373,
+ 374
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 49,
+ "pc": [
+ 375,
+ 376
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 50,
+ "pc": [
+ 377,
+ 378
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 50,
+ "pc": [
+ 379
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 50,
+ "pc": [
+ 380,
+ 381
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 50,
+ "pc": [
+ 382,
+ 383
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 50,
+ "pc": [
+ 384,
+ 385
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 48,
+ "pc": [
+ 386
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 48,
+ "pc": [
+ 387,
+ 388
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 48,
+ "pc": [
+ 389
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 53,
+ "pc": [
+ 390,
+ 391
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 24,
+ "pc": [
+ 392,
+ 393
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 24,
+ "pc": [
+ 394,
+ 395
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 24,
+ "pc": [
+ 396
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 23,
+ "pc": [
+ 397
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 23,
+ "pc": [
+ 398
+ ]
+ },
+ {
+ "teal": 223,
+ "source": 23,
+ "pc": [
+ 399
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 23,
+ "pc": [
+ 400,
+ 401,
+ 402
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 23,
+ "pc": [
+ 403,
+ 404,
+ 405,
+ 406
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 23,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 407
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 23,
+ "pc": [
+ 408,
+ 409,
+ 410,
+ 411,
+ 412,
+ 413
+ ]
+ },
+ {
+ "teal": 232,
+ "source": 23,
+ "pc": [
+ 414,
+ 415,
+ 416
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 23,
+ "pc": [
+ 417,
+ 418,
+ 419,
+ 420
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 23,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 421
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NAoqYWJpX3JvdXRlX21pbnRBbmRHZXRBc3NldDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NAoJY2FsbHN1YiBtaW50QW5kR2V0QXNzZXQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtaW50QW5kR2V0QXNzZXQoKTogQXNzZXRJRAptaW50QW5kR2V0QXNzZXQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNQoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GVEZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZUFwcGxpY2F0aW9uPih7CgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogTkZURmFjdG9yeS5jbGVhclByb2dyYW0oKSwKCS8vICAgICAgIGFwcHJvdmFsUHJvZ3JhbTogTkZURmFjdG9yeS5hcHByb3ZhbFByb2dyYW0oKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MjYKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiBORlRGYWN0b3J5LmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNwoJLy8gYXBwcm92YWxQcm9ncmFtOiBORlRGYWN0b3J5LmFwcHJvdmFsUHJvZ3JhbSgpCglieXRlIGI2NCBDaUFDQVFBeEdCU0JCZ3N4R1FpTkRBQnZBQUFBQUFBQUFBQUFBQUJoQUFBQUFBQUFBQUFBQUFDQUJCVWZmSFUyR2dKWEFnQTJHZ0ZYQWdDSUFBVVdVTEFpUTRvQ0FiR0JBN0lRaS8reUpvditzaVVpc2lJanNnR3p0RHlKTmhvQ1NSV0JJQkpFTmhvQkY0Z0FBaUpEaWdJQXNZRUVzaENML3JJVUlySVNpLyt5RVNPeUFiT0pJa09BQkxoRWV6WTJHZ0NPQWYveEFJQUUwZ0pNYzRBRXgrSmdyellhQUk0Qy8zMy9zUUE9CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMwCgkvLyBmYWN0b3J5QXBwID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklECglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDAgLy8gZmFjdG9yeUFwcDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgYW1vdW50OiAyMDBfMDAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzMKCS8vIGFtb3VudDogMjAwXzAwMAoJaW50IDIwMF8wMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozNAoJLy8gcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gZmFjdG9yeUFwcDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozNwoJLy8gY3JlYXRlZEFzc2V0ID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GVEZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZU5GVD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogZmFjdG9yeUFwcCwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzkKCS8vIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXQoJYnl0ZSAweDAwMDY0ZDc5MjA0ZTQ2NTQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4MDAwNDRkNGU0NjU0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJZnJhbWVfYnVyeSAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0MgoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0QW1vdW50OiAwLAoJLy8gICAgICAgeGZlckFzc2V0OiBjcmVhdGVkQXNzZXQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDMKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ0CgkvLyBhc3NldEFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ1CgkvLyB4ZmVyQXNzZXQ6IGNyZWF0ZWRBc3NldAoJZnJhbWVfZGlnIDEgLy8gY3JlYXRlZEFzc2V0OiB1aW50NjQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDgKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBORlRGYWN0b3J5LnByb3RvdHlwZS50cmFuc2Zlck5GVD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogZmFjdG9yeUFwcCwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtjcmVhdGVkQXNzZXQsIHRoaXMuYXBwLmFkZHJlc3NdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ5CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NTAKCS8vIG1ldGhvZEFyZ3M6IFtjcmVhdGVkQXNzZXQsIHRoaXMuYXBwLmFkZHJlc3NdCglmcmFtZV9kaWcgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjUzCgkvLyByZXR1cm4gY3JlYXRlZEFzc2V0OwoJZnJhbWVfZGlnIDEgLy8gY3JlYXRlZEFzc2V0OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbWludEFuZEdldEFzc2V0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NAoqYWJpX3JvdXRlX21pbnRBbmRHZXRBc3NldDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NAoJY2FsbHN1YiBtaW50QW5kR2V0QXNzZXQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtaW50QW5kR2V0QXNzZXQoKTogQXNzZXRJRAptaW50QW5kR2V0QXNzZXQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNQoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GVEZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZUFwcGxpY2F0aW9uPih7CgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogTkZURmFjdG9yeS5jbGVhclByb2dyYW0oKSwKCS8vICAgICAgIGFwcHJvdmFsUHJvZ3JhbTogTkZURmFjdG9yeS5hcHByb3ZhbFByb2dyYW0oKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MjYKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiBORlRGYWN0b3J5LmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNwoJLy8gYXBwcm92YWxQcm9ncmFtOiBORlRGYWN0b3J5LmFwcHJvdmFsUHJvZ3JhbSgpCglieXRlIGI2NCBDaUFDQVFBeEdCU0JCZ3N4R1FpTkRBQnZBQUFBQUFBQUFBQUFBQUJoQUFBQUFBQUFBQUFBQUFDQUJCVWZmSFUyR2dKWEFnQTJHZ0ZYQWdDSUFBVVdVTEFpUTRvQ0FiR0JBN0lRaS8reUpvditzaVVpc2lJanNnR3p0RHlKTmhvQ1NSV0JJQkpFTmhvQkY0Z0FBaUpEaWdJQXNZRUVzaENML3JJVUlySVNpLyt5RVNPeUFiT0pJa09BQkxoRWV6WTJHZ0NPQWYveEFJQUUwZ0pNYzRBRXgrSmdyellhQUk0Qy8zMy9zUUE9CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMwCgkvLyBmYWN0b3J5QXBwID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklECglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDAgLy8gZmFjdG9yeUFwcDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgYW1vdW50OiAyMDBfMDAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzMKCS8vIGFtb3VudDogMjAwXzAwMAoJaW50IDIwMF8wMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozNAoJLy8gcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gZmFjdG9yeUFwcDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozNwoJLy8gY3JlYXRlZEFzc2V0ID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GVEZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZU5GVD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogZmFjdG9yeUFwcCwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzkKCS8vIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXQoJYnl0ZSAweDAwMDY0ZDc5MjA0ZTQ2NTQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4MDAwNDRkNGU0NjU0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJZnJhbWVfYnVyeSAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0MgoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0QW1vdW50OiAwLAoJLy8gICAgICAgeGZlckFzc2V0OiBjcmVhdGVkQXNzZXQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDMKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ0CgkvLyBhc3NldEFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ1CgkvLyB4ZmVyQXNzZXQ6IGNyZWF0ZWRBc3NldAoJZnJhbWVfZGlnIDEgLy8gY3JlYXRlZEFzc2V0OiB1aW50NjQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDgKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBORlRGYWN0b3J5LnByb3RvdHlwZS50cmFuc2Zlck5GVD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogZmFjdG9yeUFwcCwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtjcmVhdGVkQXNzZXQsIHRoaXMuYXBwLmFkZHJlc3NdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ5CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NTAKCS8vIG1ldGhvZEFyZ3M6IFtjcmVhdGVkQXNzZXQsIHRoaXMuYXBwLmFkZHJlc3NdCglmcmFtZV9kaWcgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjUzCgkvLyByZXR1cm4gY3JlYXRlZEFzc2V0OwoJZnJhbWVfZGlnIDEgLy8gY3JlYXRlZEFzc2V0OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJtaW50QW5kR2V0QXNzZXQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbWludEFuZEdldEFzc2V0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/examples/itxns/artifacts/NFTFactory.approval.teal b/examples/itxns/artifacts/NFTFactory.approval.teal
index 3b2267669..97bb7ccc5 100644
--- a/examples/itxns/artifacts/NFTFactory.approval.teal
+++ b/examples/itxns/artifacts/NFTFactory.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/itxns/artifacts/NFTFactory.arc32.json b/examples/itxns/artifacts/NFTFactory.arc32.json
index 57ac89c61..ed29e493a 100644
--- a/examples/itxns/artifacts/NFTFactory.arc32.json
+++ b/examples/itxns/artifacts/NFTFactory.arc32.json
@@ -44,7 +44,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9jcmVhdGVORlQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHVuaXROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gbmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0CgljYWxsc3ViIGNyZWF0ZU5GVAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGNyZWF0ZU5GVChuYW1lOiBzdHJpbmcsIHVuaXROYW1lOiBzdHJpbmcpOiBBc3NldElECmNyZWF0ZU5GVDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NgoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogbmFtZSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6IHVuaXROYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRUb3RhbDogMSwKCS8vICAgICB9KTsKCWl0eG5fYmVnaW4KCWludCBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo3CgkvLyBjb25maWdBc3NldE5hbWU6IG5hbWUKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo4CgkvLyBjb25maWdBc3NldFVuaXROYW1lOiB1bml0TmFtZQoJZnJhbWVfZGlnIC0yIC8vIHVuaXROYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6OQoJLy8gY29uZmlnQXNzZXRUb3RhbDogMQoJaW50IDEKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RyYW5zZmVyTkZUOgoJLy8gcmVjZWl2ZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciB0cmFuc2Zlck5GVCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0cmFuc2Zlck5GVAoJaW50IDEKCXJldHVybgoKLy8gdHJhbnNmZXJORlQoYXNzZXQ6IEFzc2V0SUQsIHJlY2VpdmVyOiBBZGRyZXNzKTogdm9pZAp0cmFuc2Zlck5GVDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MTQKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IDEsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE1CgkvLyBhc3NldFJlY2VpdmVyOiByZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIHJlY2VpdmVyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE2CgkvLyBhc3NldEFtb3VudDogMQoJaW50IDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE3CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVORlQgKmFiaV9yb3V0ZV90cmFuc2Zlck5GVAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9jcmVhdGVORlQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHVuaXROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gbmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0CgljYWxsc3ViIGNyZWF0ZU5GVAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGNyZWF0ZU5GVChuYW1lOiBzdHJpbmcsIHVuaXROYW1lOiBzdHJpbmcpOiBBc3NldElECmNyZWF0ZU5GVDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NgoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogbmFtZSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6IHVuaXROYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRUb3RhbDogMSwKCS8vICAgICB9KTsKCWl0eG5fYmVnaW4KCWludCBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo3CgkvLyBjb25maWdBc3NldE5hbWU6IG5hbWUKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo4CgkvLyBjb25maWdBc3NldFVuaXROYW1lOiB1bml0TmFtZQoJZnJhbWVfZGlnIC0yIC8vIHVuaXROYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6OQoJLy8gY29uZmlnQXNzZXRUb3RhbDogMQoJaW50IDEKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RyYW5zZmVyTkZUOgoJLy8gcmVjZWl2ZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciB0cmFuc2Zlck5GVCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0cmFuc2Zlck5GVAoJaW50IDEKCXJldHVybgoKLy8gdHJhbnNmZXJORlQoYXNzZXQ6IEFzc2V0SUQsIHJlY2VpdmVyOiBBZGRyZXNzKTogdm9pZAp0cmFuc2Zlck5GVDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MTQKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IDEsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE1CgkvLyBhc3NldFJlY2VpdmVyOiByZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIHJlY2VpdmVyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE2CgkvLyBhc3NldEFtb3VudDogMQoJaW50IDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE3CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVORlQgKmFiaV9yb3V0ZV90cmFuc2Zlck5GVAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/itxns/artifacts/NFTFactory.arc56_draft.json b/examples/itxns/artifacts/NFTFactory.arc56_draft.json
index ed3803adc..0be6087bc 100644
--- a/examples/itxns/artifacts/NFTFactory.arc56_draft.json
+++ b/examples/itxns/artifacts/NFTFactory.arc56_draft.json
@@ -91,613 +91,616 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 4,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4
- ]
- },
- {
- "teal": 13,
- "source": 4,
- "pc": [
- 5,
- 6
- ]
- },
- {
- "teal": 14,
- "source": 4,
- "pc": [
- 7
- ]
- },
- {
- "teal": 15,
- "source": 4,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 16,
- "source": 4,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 4,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 4,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 4,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 4,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 5,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 5,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 32,
- "source": 5,
- "pc": [
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 5,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 36,
- "source": 5,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 39,
- "source": 5,
- "pc": [
- 59,
- 60,
- 61
- ]
- },
- {
- "teal": 40,
- "source": 5,
- "pc": [
- 62
- ]
- },
- {
- "teal": 41,
- "source": 5,
- "pc": [
- 63
- ]
- },
- {
- "teal": 42,
- "source": 5,
- "pc": [
- 64
- ]
- },
- {
- "teal": 43,
- "source": 5,
- "pc": [
- 65
- ]
- },
- {
- "teal": 44,
- "source": 5,
- "pc": [
- 66
- ]
- },
- {
- "teal": 48,
- "source": 5,
- "pc": [
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 56,
- "source": 6,
- "pc": [
- 70
- ]
- },
- {
- "teal": 57,
- "source": 6,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 58,
- "source": 6,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 62,
- "source": 7,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 63,
- "source": 7,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 67,
- "source": 8,
- "pc": [
- 79,
- 80
- ]
- },
- {
- "teal": 68,
- "source": 8,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 72,
- "source": 9,
- "pc": [
- 83
- ]
- },
- {
- "teal": 73,
- "source": 9,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 76,
- "source": 6,
- "pc": [
- 86
- ]
- },
- {
- "teal": 77,
- "source": 6,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 80,
- "source": 6,
- "pc": [
- 89
- ]
- },
- {
- "teal": 81,
- "source": 6,
- "pc": [
- 90,
- 91
- ]
- },
- {
- "teal": 82,
- "source": 5,
- "pc": [
- 92
- ]
- },
- {
- "teal": 87,
- "source": 13,
- "pc": [
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 88,
- "source": 13,
- "pc": [
- 96
- ]
- },
- {
- "teal": 89,
- "source": 13,
- "pc": [
- 97
- ]
- },
- {
- "teal": 90,
- "source": 13,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 91,
- "source": 13,
- "pc": [
- 100
- ]
- },
- {
- "teal": 94,
- "source": 13,
- "errorMessage": "argument 0 (receiver) for transferNFT must be a address",
- "pc": [
- 101
- ]
- },
- {
- "teal": 97,
- "source": 13,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 98,
- "source": 13,
- "pc": [
- 105
- ]
- },
- {
- "teal": 101,
- "source": 13,
- "pc": [
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 102,
- "source": 13,
- "pc": [
- 109
- ]
- },
- {
- "teal": 103,
- "source": 13,
- "pc": [
- 110
- ]
- },
- {
- "teal": 107,
- "source": 13,
- "pc": [
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 115,
- "source": 14,
- "pc": [
- 114
- ]
- },
- {
- "teal": 116,
- "source": 14,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 117,
- "source": 14,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 121,
- "source": 15,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 122,
- "source": 15,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 126,
- "source": 16,
- "pc": [
- 123
- ]
- },
- {
- "teal": 127,
- "source": 16,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 131,
- "source": 17,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 132,
- "source": 17,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 135,
- "source": 14,
- "pc": [
- 130
- ]
- },
- {
- "teal": 136,
- "source": 14,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 139,
- "source": 14,
- "pc": [
- 133
- ]
- },
- {
- "teal": 140,
- "source": 13,
- "pc": [
- 134
- ]
- },
- {
- "teal": 143,
- "source": 4,
- "pc": [
- 135
- ]
- },
- {
- "teal": 144,
- "source": 4,
- "pc": [
- 136
- ]
- },
- {
- "teal": 147,
- "source": 4,
- "pc": [
- 137,
- 138,
- 139,
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 148,
- "source": 4,
- "pc": [
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 149,
- "source": 4,
- "pc": [
- 146,
- 147,
- 148,
- 149
- ]
- },
- {
- "teal": 152,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 150
- ]
- },
- {
- "teal": 155,
- "source": 4,
- "pc": [
- 151,
- 152,
- 153,
- 154,
- 155,
- 156
- ]
- },
- {
- "teal": 156,
- "source": 4,
- "pc": [
- 157,
- 158,
- 159,
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 157,
- "source": 4,
- "pc": [
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 158,
- "source": 4,
- "pc": [
- 166,
- 167,
- 168,
- 169,
- 170,
- 171
- ]
- },
- {
- "teal": 161,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 172
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 4,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 4,
+ "pc": [
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 4,
+ "pc": [
+ 7
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 4,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 4,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 4,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 4,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 4,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 4,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 5,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 5,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 5,
+ "pc": [
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 5,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 5,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 5,
+ "pc": [
+ 59,
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 5,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 5,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 5,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 5,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 5,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 5,
+ "pc": [
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 6,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 6,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 6,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 7,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 7,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 8,
+ "pc": [
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 8,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 9,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 9,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 6,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 6,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 6,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 6,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 5,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 13,
+ "pc": [
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 13,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 13,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 13,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 13,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 13,
+ "errorMessage": "argument 0 (receiver) for transferNFT must be a address",
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 13,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 13,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 13,
+ "pc": [
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 13,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 13,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 13,
+ "pc": [
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 14,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 14,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 14,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 15,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 15,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 16,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 16,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 17,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 17,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 14,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 14,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 14,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 13,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 4,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 4,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 4,
+ "pc": [
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 4,
+ "pc": [
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 4,
+ "pc": [
+ 146,
+ 147,
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 4,
+ "pc": [
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 4,
+ "pc": [
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 4,
+ "pc": [
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 4,
+ "pc": [
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 172
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9jcmVhdGVORlQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHVuaXROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gbmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0CgljYWxsc3ViIGNyZWF0ZU5GVAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGNyZWF0ZU5GVChuYW1lOiBzdHJpbmcsIHVuaXROYW1lOiBzdHJpbmcpOiBBc3NldElECmNyZWF0ZU5GVDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NgoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogbmFtZSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6IHVuaXROYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRUb3RhbDogMSwKCS8vICAgICB9KTsKCWl0eG5fYmVnaW4KCWludCBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo3CgkvLyBjb25maWdBc3NldE5hbWU6IG5hbWUKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo4CgkvLyBjb25maWdBc3NldFVuaXROYW1lOiB1bml0TmFtZQoJZnJhbWVfZGlnIC0yIC8vIHVuaXROYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6OQoJLy8gY29uZmlnQXNzZXRUb3RhbDogMQoJaW50IDEKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RyYW5zZmVyTkZUOgoJLy8gcmVjZWl2ZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciB0cmFuc2Zlck5GVCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0cmFuc2Zlck5GVAoJaW50IDEKCXJldHVybgoKLy8gdHJhbnNmZXJORlQoYXNzZXQ6IEFzc2V0SUQsIHJlY2VpdmVyOiBBZGRyZXNzKTogdm9pZAp0cmFuc2Zlck5GVDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MTQKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IDEsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE1CgkvLyBhc3NldFJlY2VpdmVyOiByZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIHJlY2VpdmVyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE2CgkvLyBhc3NldEFtb3VudDogMQoJaW50IDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE3CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVORlQgKmFiaV9yb3V0ZV90cmFuc2Zlck5GVAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9jcmVhdGVORlQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHVuaXROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gbmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0CgljYWxsc3ViIGNyZWF0ZU5GVAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGNyZWF0ZU5GVChuYW1lOiBzdHJpbmcsIHVuaXROYW1lOiBzdHJpbmcpOiBBc3NldElECmNyZWF0ZU5GVDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NgoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogbmFtZSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6IHVuaXROYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRUb3RhbDogMSwKCS8vICAgICB9KTsKCWl0eG5fYmVnaW4KCWludCBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo3CgkvLyBjb25maWdBc3NldE5hbWU6IG5hbWUKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo4CgkvLyBjb25maWdBc3NldFVuaXROYW1lOiB1bml0TmFtZQoJZnJhbWVfZGlnIC0yIC8vIHVuaXROYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6OQoJLy8gY29uZmlnQXNzZXRUb3RhbDogMQoJaW50IDEKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RyYW5zZmVyTkZUOgoJLy8gcmVjZWl2ZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciB0cmFuc2Zlck5GVCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0cmFuc2Zlck5GVAoJaW50IDEKCXJldHVybgoKLy8gdHJhbnNmZXJORlQoYXNzZXQ6IEFzc2V0SUQsIHJlY2VpdmVyOiBBZGRyZXNzKTogdm9pZAp0cmFuc2Zlck5GVDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MTQKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IDEsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE1CgkvLyBhc3NldFJlY2VpdmVyOiByZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIHJlY2VpdmVyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE2CgkvLyBhc3NldEFtb3VudDogMQoJaW50IDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE3CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVORlQgKmFiaV9yb3V0ZV90cmFuc2Zlck5GVAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/examples/lsig_with_app/artifacts/CreatorVerifier.approval.teal b/examples/lsig_with_app/artifacts/CreatorVerifier.approval.teal
index 546cda1a0..da7183b68 100644
--- a/examples/lsig_with_app/artifacts/CreatorVerifier.approval.teal
+++ b/examples/lsig_with_app/artifacts/CreatorVerifier.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/lsig_with_app/artifacts/CreatorVerifier.arc32.json b/examples/lsig_with_app/artifacts/CreatorVerifier.arc32.json
index 1d2a50160..9b18710df 100644
--- a/examples/lsig_with_app/artifacts/CreatorVerifier.arc32.json
+++ b/examples/lsig_with_app/artifacts/CreatorVerifier.arc32.json
@@ -49,7 +49,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbGxvd09wdEluc0Zyb20oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYWxsb3dPcHRJbnNGcm9tOgoJLy8gY3JlYXRvcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjcmVhdG9yKSBmb3IgYWxsb3dPcHRJbnNGcm9tIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFsbG93T3B0SW5zRnJvbShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWxsb3dPcHRJbnNGcm9tCglpbnQgMQoJcmV0dXJuCgovLyBhbGxvd09wdEluc0Zyb20oY3JlYXRvcjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQWxsb3cgYW55b25lIHRvIHVzZSB0aGUgbHNpZyB0byBvcHQgaW4gdGhlIHR4biBzZW5kZXIgaW50byBhbiBhc3NldCBjcmVhdGVkIGJ5IHRoZSBjcmVhdG9yCmFsbG93T3B0SW5zRnJvbToKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjQxCgkvLyB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbdGhpcy50eG4uc2VuZGVyLCBjcmVhdG9yXSkudmFsdWUgPSB0cnVlCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY3JlYXRvcjogQWRkcmVzcwoJY29uY2F0CglpbnQgMQoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWJveF9wdXQKCXJldHN1YgoKLy8gZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfZGlzYWJsZU9wdEluc0Zyb206CgkvLyBjcmVhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGNyZWF0b3IpIGZvciBkaXNhYmxlT3B0SW5zRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBkaXNhYmxlT3B0SW5zRnJvbShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgZGlzYWJsZU9wdEluc0Zyb20KCWludCAxCglyZXR1cm4KCi8vIGRpc2FibGVPcHRJbnNGcm9tKGNyZWF0b3I6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIERpc2FibGUgb3B0LWlucyBmb3IgQVNBcyBmcm9tIHRoZSBnaXZlbiBjcmVhdG9yCmRpc2FibGVPcHRJbnNGcm9tOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvbHNpZ193aXRoX2FwcC9sc2lnX3dpdGhfYXBwLmFsZ28udHM6NDYKCS8vIHRoaXMuYWxsb3dlZENyZWF0b3JzKFt0aGlzLnR4bi5zZW5kZXIsIGNyZWF0b3JdKS52YWx1ZSA9IGZhbHNlCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY3JlYXRvcjogQWRkcmVzcwoJY29uY2F0CglpbnQgMAoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWJveF9wdXQKCXJldHN1YgoKLy8gdmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkCiphYmlfcm91dGVfdmVyaWZ5Q3JlYXRvcjoKCS8vIG9wdEluOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMCAob3B0SW4pIGZvciB2ZXJpZnlDcmVhdG9yIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB2ZXJpZnlDcmVhdG9yKGF4ZmVyKXZvaWQKCWNhbGxzdWIgdmVyaWZ5Q3JlYXRvcgoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5Q3JlYXRvcihvcHRJbjogQXNzZXRUcmFuc2ZlclR4bik6IHZvaWQKdmVyaWZ5Q3JlYXRvcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjUyCgkvLyBhc3NlcnQodGhpcy5hbGxvd2VkQ3JlYXRvcnMoW29wdEluLnNlbmRlciwgb3B0SW4ueGZlckFzc2V0LmNyZWF0b3JdKS52YWx1ZSkKCWZyYW1lX2RpZyAtMSAvLyBvcHRJbjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gb3B0SW46IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKCXBvcAoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbb3B0SW4uc2VuZGVyLCBvcHRJbi54ZmVyQXNzZXQuY3JlYXRvcl0pLnZhbHVlCglhc3NlcnQKCWludCAwCglnZXRiaXQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWxsb3dPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlDcmVhdG9yKGF4ZmVyKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FsbG93T3B0SW5zRnJvbSAqYWJpX3JvdXRlX2Rpc2FibGVPcHRJbnNGcm9tICphYmlfcm91dGVfdmVyaWZ5Q3JlYXRvcgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbGxvd09wdEluc0Zyb20oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYWxsb3dPcHRJbnNGcm9tOgoJLy8gY3JlYXRvcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjcmVhdG9yKSBmb3IgYWxsb3dPcHRJbnNGcm9tIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFsbG93T3B0SW5zRnJvbShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWxsb3dPcHRJbnNGcm9tCglpbnQgMQoJcmV0dXJuCgovLyBhbGxvd09wdEluc0Zyb20oY3JlYXRvcjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQWxsb3cgYW55b25lIHRvIHVzZSB0aGUgbHNpZyB0byBvcHQgaW4gdGhlIHR4biBzZW5kZXIgaW50byBhbiBhc3NldCBjcmVhdGVkIGJ5IHRoZSBjcmVhdG9yCmFsbG93T3B0SW5zRnJvbToKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjQxCgkvLyB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbdGhpcy50eG4uc2VuZGVyLCBjcmVhdG9yXSkudmFsdWUgPSB0cnVlCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY3JlYXRvcjogQWRkcmVzcwoJY29uY2F0CglpbnQgMQoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWJveF9wdXQKCXJldHN1YgoKLy8gZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfZGlzYWJsZU9wdEluc0Zyb206CgkvLyBjcmVhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGNyZWF0b3IpIGZvciBkaXNhYmxlT3B0SW5zRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBkaXNhYmxlT3B0SW5zRnJvbShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgZGlzYWJsZU9wdEluc0Zyb20KCWludCAxCglyZXR1cm4KCi8vIGRpc2FibGVPcHRJbnNGcm9tKGNyZWF0b3I6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIERpc2FibGUgb3B0LWlucyBmb3IgQVNBcyBmcm9tIHRoZSBnaXZlbiBjcmVhdG9yCmRpc2FibGVPcHRJbnNGcm9tOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvbHNpZ193aXRoX2FwcC9sc2lnX3dpdGhfYXBwLmFsZ28udHM6NDYKCS8vIHRoaXMuYWxsb3dlZENyZWF0b3JzKFt0aGlzLnR4bi5zZW5kZXIsIGNyZWF0b3JdKS52YWx1ZSA9IGZhbHNlCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY3JlYXRvcjogQWRkcmVzcwoJY29uY2F0CglpbnQgMAoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWJveF9wdXQKCXJldHN1YgoKLy8gdmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkCiphYmlfcm91dGVfdmVyaWZ5Q3JlYXRvcjoKCS8vIG9wdEluOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMCAob3B0SW4pIGZvciB2ZXJpZnlDcmVhdG9yIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB2ZXJpZnlDcmVhdG9yKGF4ZmVyKXZvaWQKCWNhbGxzdWIgdmVyaWZ5Q3JlYXRvcgoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5Q3JlYXRvcihvcHRJbjogQXNzZXRUcmFuc2ZlclR4bik6IHZvaWQKdmVyaWZ5Q3JlYXRvcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjUyCgkvLyBhc3NlcnQodGhpcy5hbGxvd2VkQ3JlYXRvcnMoW29wdEluLnNlbmRlciwgb3B0SW4ueGZlckFzc2V0LmNyZWF0b3JdKS52YWx1ZSkKCWZyYW1lX2RpZyAtMSAvLyBvcHRJbjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gb3B0SW46IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKCXBvcAoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbb3B0SW4uc2VuZGVyLCBvcHRJbi54ZmVyQXNzZXQuY3JlYXRvcl0pLnZhbHVlCglhc3NlcnQKCWludCAwCglnZXRiaXQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWxsb3dPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlDcmVhdG9yKGF4ZmVyKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FsbG93T3B0SW5zRnJvbSAqYWJpX3JvdXRlX2Rpc2FibGVPcHRJbnNGcm9tICphYmlfcm91dGVfdmVyaWZ5Q3JlYXRvcgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/lsig_with_app/artifacts/CreatorVerifier.arc56_draft.json b/examples/lsig_with_app/artifacts/CreatorVerifier.arc56_draft.json
index 835fcf57d..e576e1652 100644
--- a/examples/lsig_with_app/artifacts/CreatorVerifier.arc56_draft.json
+++ b/examples/lsig_with_app/artifacts/CreatorVerifier.arc56_draft.json
@@ -108,720 +108,723 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 35,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9
- ]
- },
- {
- "teal": 13,
- "source": 35,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 14,
- "source": 35,
- "pc": [
- 12
- ]
- },
- {
- "teal": 15,
- "source": 35,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 16,
- "source": 35,
- "pc": [
- 15
- ]
- },
- {
- "teal": 17,
- "source": 35,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 18,
- "source": 35,
- "pc": [
- 18
- ]
- },
- {
- "teal": 19,
- "source": 35,
- "pc": [
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44
- ]
- },
- {
- "teal": 23,
- "source": 35,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 45
- ]
- },
- {
- "teal": 28,
- "source": 40,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 29,
- "source": 40,
- "pc": [
- 49
- ]
- },
- {
- "teal": 30,
- "source": 40,
- "pc": [
- 50
- ]
- },
- {
- "teal": 31,
- "source": 40,
- "pc": [
- 51
- ]
- },
- {
- "teal": 32,
- "source": 40,
- "pc": [
- 52
- ]
- },
- {
- "teal": 35,
- "source": 40,
- "errorMessage": "argument 0 (creator) for allowOptInsFrom must be a address",
- "pc": [
- 53
- ]
- },
- {
- "teal": 38,
- "source": 40,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 39,
- "source": 40,
- "pc": [
- 57
- ]
- },
- {
- "teal": 40,
- "source": 40,
- "pc": [
- 58
- ]
- },
- {
- "teal": 46,
- "source": 40,
- "pc": [
- 59,
- 60,
- 61
- ]
- },
- {
- "teal": 50,
- "source": 41,
- "pc": [
- 62,
- 63
- ]
- },
- {
- "teal": 51,
- "source": 41,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 52,
- "source": 41,
- "pc": [
- 66
- ]
- },
- {
- "teal": 53,
- "source": 41,
- "pc": [
- 67
- ]
- },
- {
- "teal": 54,
- "source": 41,
- "pc": [
- 68
- ]
- },
- {
- "teal": 55,
- "source": 41,
- "pc": [
- 69
- ]
- },
- {
- "teal": 56,
- "source": 41,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 57,
- "source": 41,
- "pc": [
- 72
- ]
- },
- {
- "teal": 58,
- "source": 41,
- "pc": [
- 73
- ]
- },
- {
- "teal": 59,
- "source": 40,
- "pc": [
- 74
- ]
- },
- {
- "teal": 64,
- "source": 45,
- "pc": [
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 65,
- "source": 45,
- "pc": [
- 78
- ]
- },
- {
- "teal": 66,
- "source": 45,
- "pc": [
- 79
- ]
- },
- {
- "teal": 67,
- "source": 45,
- "pc": [
- 80
- ]
- },
- {
- "teal": 68,
- "source": 45,
- "pc": [
- 81
- ]
- },
- {
- "teal": 71,
- "source": 45,
- "errorMessage": "argument 0 (creator) for disableOptInsFrom must be a address",
- "pc": [
- 82
- ]
- },
- {
- "teal": 74,
- "source": 45,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 75,
- "source": 45,
- "pc": [
- 86
- ]
- },
- {
- "teal": 76,
- "source": 45,
- "pc": [
- 87
- ]
- },
- {
- "teal": 82,
- "source": 45,
- "pc": [
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 86,
- "source": 46,
- "pc": [
- 91,
- 92
- ]
- },
- {
- "teal": 87,
- "source": 46,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 88,
- "source": 46,
- "pc": [
- 95
- ]
- },
- {
- "teal": 89,
- "source": 46,
- "pc": [
- 96
- ]
- },
- {
- "teal": 90,
- "source": 46,
- "pc": [
- 97
- ]
- },
- {
- "teal": 91,
- "source": 46,
- "pc": [
- 98
- ]
- },
- {
- "teal": 92,
- "source": 46,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 93,
- "source": 46,
- "pc": [
- 101
- ]
- },
- {
- "teal": 94,
- "source": 46,
- "pc": [
- 102
- ]
- },
- {
- "teal": 95,
- "source": 45,
- "pc": [
- 103
- ]
- },
- {
- "teal": 100,
- "source": 50,
- "pc": [
- 104,
- 105
- ]
- },
- {
- "teal": 101,
- "source": 50,
- "pc": [
- 106
- ]
- },
- {
- "teal": 102,
- "source": 50,
- "pc": [
- 107
- ]
- },
- {
- "teal": 103,
- "source": 50,
- "pc": [
- 108
- ]
- },
- {
- "teal": 104,
- "source": 50,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 105,
- "source": 50,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 106,
- "source": 50,
- "pc": [
- 113
- ]
- },
- {
- "teal": 109,
- "source": 50,
- "errorMessage": "argument 0 (optIn) for verifyCreator must be a axfer transaction",
- "pc": [
- 114
- ]
- },
- {
- "teal": 112,
- "source": 50,
- "pc": [
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 113,
- "source": 50,
- "pc": [
- 118
- ]
- },
- {
- "teal": 114,
- "source": 50,
- "pc": [
- 119
- ]
- },
- {
- "teal": 118,
- "source": 50,
- "pc": [
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 122,
- "source": 52,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 123,
- "source": 52,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 124,
- "source": 52,
- "pc": [
- 127,
- 128
- ]
- },
- {
- "teal": 125,
- "source": 52,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 126,
- "source": 52,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 127,
- "source": 52,
- "pc": [
- 133
- ]
- },
- {
- "teal": 128,
- "source": 52,
- "pc": [
- 134
- ]
- },
- {
- "teal": 129,
- "source": 52,
- "pc": [
- 135
- ]
- },
- {
- "teal": 132,
- "source": 52,
- "errorMessage": "box value does not exist: this.allowedCreators([optIn.sender, optIn.xferAsset.creator]).value",
- "pc": [
- 136
- ]
- },
- {
- "teal": 133,
- "source": 52,
- "pc": [
- 137
- ]
- },
- {
- "teal": 134,
- "source": 52,
- "pc": [
- 138
- ]
- },
- {
- "teal": 135,
- "source": 52,
- "pc": [
- 139
- ]
- },
- {
- "teal": 136,
- "source": 50,
- "pc": [
- 140
- ]
- },
- {
- "teal": 139,
- "source": 35,
- "pc": [
- 141
- ]
- },
- {
- "teal": 140,
- "source": 35,
- "pc": [
- 142
- ]
- },
- {
- "teal": 143,
- "source": 35,
- "pc": [
- 143,
- 144,
- 145,
- 146,
- 147,
- 148
- ]
- },
- {
- "teal": 144,
- "source": 35,
- "pc": [
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 145,
- "source": 35,
- "pc": [
- 152,
- 153,
- 154,
- 155
- ]
- },
- {
- "teal": 148,
- "source": 35,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 156
- ]
- },
- {
- "teal": 151,
- "source": 35,
- "pc": [
- 157,
- 158,
- 159,
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 152,
- "source": 35,
- "pc": [
- 163,
- 164,
- 165,
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 153,
- "source": 35,
- "pc": [
- 169,
- 170,
- 171,
- 172,
- 173,
- 174
- ]
- },
- {
- "teal": 154,
- "source": 35,
- "pc": [
- 175,
- 176,
- 177
- ]
- },
- {
- "teal": 155,
- "source": 35,
- "pc": [
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185
- ]
- },
- {
- "teal": 158,
- "source": 35,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 186
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 35,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 35,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 35,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 35,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 35,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 35,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 35,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 35,
+ "pc": [
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 35,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 45
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 40,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 40,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 40,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 40,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 40,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 40,
+ "errorMessage": "argument 0 (creator) for allowOptInsFrom must be a address",
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 40,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 40,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 40,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 40,
+ "pc": [
+ 59,
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 41,
+ "pc": [
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 41,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 41,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 41,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 41,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 41,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 41,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 41,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 41,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 40,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 45,
+ "pc": [
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 45,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 45,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 45,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 45,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 45,
+ "errorMessage": "argument 0 (creator) for disableOptInsFrom must be a address",
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 45,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 45,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 45,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 45,
+ "pc": [
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 46,
+ "pc": [
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 46,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 46,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 46,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 46,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 46,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 46,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 46,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 46,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 45,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 50,
+ "pc": [
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 50,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 50,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 50,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 50,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 50,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 50,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 50,
+ "errorMessage": "argument 0 (optIn) for verifyCreator must be a axfer transaction",
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 50,
+ "pc": [
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 50,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 50,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 50,
+ "pc": [
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 52,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 52,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 52,
+ "pc": [
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 52,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 52,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 52,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 52,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 52,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 52,
+ "errorMessage": "box value does not exist: this.allowedCreators([optIn.sender, optIn.xferAsset.creator]).value",
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 52,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 52,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 52,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 50,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 35,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 35,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 35,
+ "pc": [
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 35,
+ "pc": [
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 35,
+ "pc": [
+ 152,
+ 153,
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 35,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 35,
+ "pc": [
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 35,
+ "pc": [
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 35,
+ "pc": [
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 35,
+ "pc": [
+ 175,
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 35,
+ "pc": [
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 35,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 186
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbGxvd09wdEluc0Zyb20oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYWxsb3dPcHRJbnNGcm9tOgoJLy8gY3JlYXRvcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjcmVhdG9yKSBmb3IgYWxsb3dPcHRJbnNGcm9tIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFsbG93T3B0SW5zRnJvbShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWxsb3dPcHRJbnNGcm9tCglpbnQgMQoJcmV0dXJuCgovLyBhbGxvd09wdEluc0Zyb20oY3JlYXRvcjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQWxsb3cgYW55b25lIHRvIHVzZSB0aGUgbHNpZyB0byBvcHQgaW4gdGhlIHR4biBzZW5kZXIgaW50byBhbiBhc3NldCBjcmVhdGVkIGJ5IHRoZSBjcmVhdG9yCmFsbG93T3B0SW5zRnJvbToKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjQxCgkvLyB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbdGhpcy50eG4uc2VuZGVyLCBjcmVhdG9yXSkudmFsdWUgPSB0cnVlCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY3JlYXRvcjogQWRkcmVzcwoJY29uY2F0CglpbnQgMQoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWJveF9wdXQKCXJldHN1YgoKLy8gZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfZGlzYWJsZU9wdEluc0Zyb206CgkvLyBjcmVhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGNyZWF0b3IpIGZvciBkaXNhYmxlT3B0SW5zRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBkaXNhYmxlT3B0SW5zRnJvbShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgZGlzYWJsZU9wdEluc0Zyb20KCWludCAxCglyZXR1cm4KCi8vIGRpc2FibGVPcHRJbnNGcm9tKGNyZWF0b3I6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIERpc2FibGUgb3B0LWlucyBmb3IgQVNBcyBmcm9tIHRoZSBnaXZlbiBjcmVhdG9yCmRpc2FibGVPcHRJbnNGcm9tOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvbHNpZ193aXRoX2FwcC9sc2lnX3dpdGhfYXBwLmFsZ28udHM6NDYKCS8vIHRoaXMuYWxsb3dlZENyZWF0b3JzKFt0aGlzLnR4bi5zZW5kZXIsIGNyZWF0b3JdKS52YWx1ZSA9IGZhbHNlCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY3JlYXRvcjogQWRkcmVzcwoJY29uY2F0CglpbnQgMAoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWJveF9wdXQKCXJldHN1YgoKLy8gdmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkCiphYmlfcm91dGVfdmVyaWZ5Q3JlYXRvcjoKCS8vIG9wdEluOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMCAob3B0SW4pIGZvciB2ZXJpZnlDcmVhdG9yIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB2ZXJpZnlDcmVhdG9yKGF4ZmVyKXZvaWQKCWNhbGxzdWIgdmVyaWZ5Q3JlYXRvcgoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5Q3JlYXRvcihvcHRJbjogQXNzZXRUcmFuc2ZlclR4bik6IHZvaWQKdmVyaWZ5Q3JlYXRvcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjUyCgkvLyBhc3NlcnQodGhpcy5hbGxvd2VkQ3JlYXRvcnMoW29wdEluLnNlbmRlciwgb3B0SW4ueGZlckFzc2V0LmNyZWF0b3JdKS52YWx1ZSkKCWZyYW1lX2RpZyAtMSAvLyBvcHRJbjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gb3B0SW46IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKCXBvcAoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbb3B0SW4uc2VuZGVyLCBvcHRJbi54ZmVyQXNzZXQuY3JlYXRvcl0pLnZhbHVlCglhc3NlcnQKCWludCAwCglnZXRiaXQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWxsb3dPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlDcmVhdG9yKGF4ZmVyKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FsbG93T3B0SW5zRnJvbSAqYWJpX3JvdXRlX2Rpc2FibGVPcHRJbnNGcm9tICphYmlfcm91dGVfdmVyaWZ5Q3JlYXRvcgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbGxvd09wdEluc0Zyb20oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYWxsb3dPcHRJbnNGcm9tOgoJLy8gY3JlYXRvcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjcmVhdG9yKSBmb3IgYWxsb3dPcHRJbnNGcm9tIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFsbG93T3B0SW5zRnJvbShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWxsb3dPcHRJbnNGcm9tCglpbnQgMQoJcmV0dXJuCgovLyBhbGxvd09wdEluc0Zyb20oY3JlYXRvcjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQWxsb3cgYW55b25lIHRvIHVzZSB0aGUgbHNpZyB0byBvcHQgaW4gdGhlIHR4biBzZW5kZXIgaW50byBhbiBhc3NldCBjcmVhdGVkIGJ5IHRoZSBjcmVhdG9yCmFsbG93T3B0SW5zRnJvbToKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjQxCgkvLyB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbdGhpcy50eG4uc2VuZGVyLCBjcmVhdG9yXSkudmFsdWUgPSB0cnVlCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY3JlYXRvcjogQWRkcmVzcwoJY29uY2F0CglpbnQgMQoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWJveF9wdXQKCXJldHN1YgoKLy8gZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfZGlzYWJsZU9wdEluc0Zyb206CgkvLyBjcmVhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGNyZWF0b3IpIGZvciBkaXNhYmxlT3B0SW5zRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBkaXNhYmxlT3B0SW5zRnJvbShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgZGlzYWJsZU9wdEluc0Zyb20KCWludCAxCglyZXR1cm4KCi8vIGRpc2FibGVPcHRJbnNGcm9tKGNyZWF0b3I6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIERpc2FibGUgb3B0LWlucyBmb3IgQVNBcyBmcm9tIHRoZSBnaXZlbiBjcmVhdG9yCmRpc2FibGVPcHRJbnNGcm9tOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvbHNpZ193aXRoX2FwcC9sc2lnX3dpdGhfYXBwLmFsZ28udHM6NDYKCS8vIHRoaXMuYWxsb3dlZENyZWF0b3JzKFt0aGlzLnR4bi5zZW5kZXIsIGNyZWF0b3JdKS52YWx1ZSA9IGZhbHNlCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY3JlYXRvcjogQWRkcmVzcwoJY29uY2F0CglpbnQgMAoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWJveF9wdXQKCXJldHN1YgoKLy8gdmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkCiphYmlfcm91dGVfdmVyaWZ5Q3JlYXRvcjoKCS8vIG9wdEluOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMCAob3B0SW4pIGZvciB2ZXJpZnlDcmVhdG9yIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB2ZXJpZnlDcmVhdG9yKGF4ZmVyKXZvaWQKCWNhbGxzdWIgdmVyaWZ5Q3JlYXRvcgoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5Q3JlYXRvcihvcHRJbjogQXNzZXRUcmFuc2ZlclR4bik6IHZvaWQKdmVyaWZ5Q3JlYXRvcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjUyCgkvLyBhc3NlcnQodGhpcy5hbGxvd2VkQ3JlYXRvcnMoW29wdEluLnNlbmRlciwgb3B0SW4ueGZlckFzc2V0LmNyZWF0b3JdKS52YWx1ZSkKCWZyYW1lX2RpZyAtMSAvLyBvcHRJbjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gb3B0SW46IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKCXBvcAoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbb3B0SW4uc2VuZGVyLCBvcHRJbi54ZmVyQXNzZXQuY3JlYXRvcl0pLnZhbHVlCglhc3NlcnQKCWludCAwCglnZXRiaXQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWxsb3dPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlDcmVhdG9yKGF4ZmVyKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FsbG93T3B0SW5zRnJvbSAqYWJpX3JvdXRlX2Rpc2FibGVPcHRJbnNGcm9tICphYmlfcm91dGVfdmVyaWZ5Q3JlYXRvcgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/examples/lsig_with_app/artifacts/OptInLsig.lsig.teal b/examples/lsig_with_app/artifacts/OptInLsig.lsig.teal
index 86ab57578..6fb7669c8 100644
--- a/examples/lsig_with_app/artifacts/OptInLsig.lsig.teal
+++ b/examples/lsig_with_app/artifacts/OptInLsig.lsig.teal
@@ -1,7 +1,7 @@
#pragma version 10
//#pragma mode logicsig
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
diff --git a/examples/merkle/artifacts/MerkleTree.approval.teal b/examples/merkle/artifacts/MerkleTree.approval.teal
index 38d6c2bf9..bac435d10 100644
--- a/examples/merkle/artifacts/MerkleTree.approval.teal
+++ b/examples/merkle/artifacts/MerkleTree.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/merkle/artifacts/MerkleTree.arc32.json b/examples/merkle/artifacts/MerkleTree.arc32.json
index a6b23f1ce..fb34a07f7 100644
--- a/examples/merkle/artifacts/MerkleTree.arc32.json
+++ b/examples/merkle/artifacts/MerkleTree.arc32.json
@@ -63,7 +63,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2FsY0luaXRSb290KCk6IGJ5dGVzMzIKY2FsY0luaXRSb290OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoxNwoJLy8gcmVzdWx0ID0gaGV4KEVNUFRZX0hBU0gpIGFzIGJ5dGVzMzIKCWJ5dGUgMHhlM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweAoJZHVwCgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoxOQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnQgMwoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoyMAoJLy8gcmVzdWx0ID0gc2hhMjU2KHJlc3VsdCArIHJlc3VsdCkKCWZyYW1lX2RpZyAwIC8vIHJlc3VsdDogYnl0ZVszMl0KCWZyYW1lX2RpZyAwIC8vIHJlc3VsdDogYnl0ZVszMl0KCWNvbmNhdAoJc2hhMjU2CglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjIzCgkvLyByZXR1cm4gcmVzdWx0OwoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gaGFzaENvbmNhdChsZWZ0OiBieXRlczMyLCByaWdodDogYnl0ZXMzMik6IGJ5dGVzMzIKaGFzaENvbmNhdDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoyNwoJLy8gcmV0dXJuIHNoYTI1NihsZWZ0ICsgcmlnaHQpOwoJZnJhbWVfZGlnIC0xIC8vIGxlZnQ6IGJ5dGVzMzIKCWZyYW1lX2RpZyAtMiAvLyByaWdodDogYnl0ZXMzMgoJY29uY2F0CglzaGEyNTYKCXJldHN1YgoKLy8gaXNSaWdodFNpYmxpbmcoZWxlbTogQnJhbmNoKTogYm9vbGVhbgppc1JpZ2h0U2libGluZzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozMQoJLy8gcmV0dXJuIGdldGJ5dGUoZWxlbSwgMCkgPT09IFJJR0hUX1NJQkxJTkdfUFJFRklYOwoJZnJhbWVfZGlnIC0xIC8vIGVsZW06IEJyYW5jaAoJaW50IDAKCWdldGJ5dGUKCWludCAxNzAKCT09CglyZXRzdWIKCi8vIGNhbGNSb290KGxlYWY6IGJ5dGVzMzIsIHBhdGg6IFBhdGgpOiBieXRlczMyCmNhbGNSb290OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozNwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjM3CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMwoJPAoJYnogKmZvcl8xX2VuZAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo0MAoJLy8gdGhpcy5pc1JpZ2h0U2libGluZyhlbGVtKQoJZnJhbWVfZGlnIC0yIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAxIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vZWxlbQoJaW50IDMzCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAzMwoJZXh0cmFjdDMKCWNhbGxzdWIgaXNSaWdodFNpYmxpbmcKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQxCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQocmVzdWx0LCBleHRyYWN0MyhlbGVtLCAxLCAzMikgYXMgYnl0ZXMzMikKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgMSAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2VsZW0KCWludCAzMwoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMzMKCWV4dHJhY3QzCglleHRyYWN0IDEgMzIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAzMiAwCglieXRlIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQzCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQoZXh0cmFjdDMoZWxlbSwgMSwgMzIpIGFzIGJ5dGVzMzIsIHJlc3VsdCkKCWZyYW1lX2RpZyAtMSAvLyBsZWFmOiBieXRlczMyCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIDEgLy8gc2F2ZWQgYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCglpbnQgMzMKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDMzCglleHRyYWN0MwoJZXh0cmFjdCAxIDMyCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMzIgMAoJYnl0ZSAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoKKmlmMF9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MzcKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NDcKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NTEKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFwcC5jcmVhdG9yIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5jcmVhdG9yIn0KCWFzc2VydAoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjSW5pdFJvb3QoKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJY2FsbHN1YiBjYWxjSW5pdFJvb3QKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeToKCS8vIHBhdGg6IGJ5dGVbMzNdWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDk5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBhdGgpIGZvciB2ZXJpZnkgbXVzdCBiZSBhIGJ5dGVbMzNdWzNdCglhc3NlcnQKCgkvLyBkYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB2ZXJpZnkoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgdmVyaWZ5CglpbnQgMQoJcmV0dXJuCgovLyB2ZXJpZnkoZGF0YTogYnl0ZXMsIHBhdGg6IFBhdGgpOiB2b2lkCnZlcmlmeToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1OQoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYoZGF0YSksIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgLTEgLy8gZGF0YTogYnl0ZXMKCXNoYTI1NgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBhcHBlbmRMZWFmKGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkCiphYmlfcm91dGVfYXBwZW5kTGVhZjoKCS8vIHBhdGg6IGJ5dGVbMzNdWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDk5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBhdGgpIGZvciBhcHBlbmRMZWFmIG11c3QgYmUgYSBieXRlWzMzXVszXQoJYXNzZXJ0CgoJLy8gZGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiBhcHBlbmRMZWFmCglpbnQgMQoJcmV0dXJuCgovLyBhcHBlbmRMZWFmKGRhdGE6IGJ5dGVzLCBwYXRoOiBQYXRoKTogdm9pZAphcHBlbmRMZWFmOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjYzCgkvLyBhc3NlcnQoZGF0YSAhPT0gJycpCglmcmFtZV9kaWcgLTEgLy8gZGF0YTogYnl0ZXMKCWJ5dGUgMHggLy8gIiIKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NjQKCS8vIGFzc2VydCh0aGlzLnJvb3QudmFsdWUgPT09IHRoaXMuY2FsY1Jvb3QoaGV4KEVNUFRZX0hBU0gpIGFzIGJ5dGVzMzIsIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglieXRlIDB4ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgKCWR1cAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2NgoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjUm9vdChzaGEyNTYoZGF0YSksIHBhdGgpCglieXRlIDB4NzI2ZjZmNzQgLy8gInJvb3QiCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjY4CgkvLyB0aGlzLnNpemUudmFsdWUgPSB0aGlzLnNpemUudmFsdWUgKyAxCglieXRlIDB4NzM2OTdhNjUgLy8gInNpemUiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gdXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVMZWFmOgoJLy8gcGF0aDogYnl0ZVszM11bM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgOTkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF0aCkgZm9yIHVwZGF0ZUxlYWYgbXVzdCBiZSBhIGJ5dGVbMzNdWzNdCglhc3NlcnQKCgkvLyBuZXdEYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gb2xkRGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgdXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgdXBkYXRlTGVhZgoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlTGVhZihvbGREYXRhOiBieXRlcywgbmV3RGF0YTogYnl0ZXMsIHBhdGg6IFBhdGgpOiB2b2lkCnVwZGF0ZUxlYWY6Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NzIKCS8vIGFzc2VydChuZXdEYXRhICE9PSAnJykKCWZyYW1lX2RpZyAtMiAvLyBuZXdEYXRhOiBieXRlcwoJYnl0ZSAweCAvLyAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MwoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYob2xkRGF0YSksIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMyAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgLTEgLy8gb2xkRGF0YTogYnl0ZXMKCXNoYTI1NgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjUm9vdChzaGEyNTYobmV3RGF0YSksIHBhdGgpCglieXRlIDB4NzI2ZjZmNzQgLy8gInJvb3QiCglmcmFtZV9kaWcgLTMgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0yIC8vIG5ld0RhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZCIKCW1ldGhvZCAiYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZCIKCW1ldGhvZCAidXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3ZlcmlmeSAqYWJpX3JvdXRlX2FwcGVuZExlYWYgKmFiaV9yb3V0ZV91cGRhdGVMZWFmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9EZWxldGVBcHBsaWNhdGlvbjoKCW1ldGhvZCAiZGVsZXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2RlbGV0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgRGVsZXRlQXBwbGljYXRpb24KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2FsY0luaXRSb290KCk6IGJ5dGVzMzIKY2FsY0luaXRSb290OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoxNwoJLy8gcmVzdWx0ID0gaGV4KEVNUFRZX0hBU0gpIGFzIGJ5dGVzMzIKCWJ5dGUgMHhlM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweAoJZHVwCgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoxOQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnQgMwoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoyMAoJLy8gcmVzdWx0ID0gc2hhMjU2KHJlc3VsdCArIHJlc3VsdCkKCWZyYW1lX2RpZyAwIC8vIHJlc3VsdDogYnl0ZVszMl0KCWZyYW1lX2RpZyAwIC8vIHJlc3VsdDogYnl0ZVszMl0KCWNvbmNhdAoJc2hhMjU2CglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjIzCgkvLyByZXR1cm4gcmVzdWx0OwoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gaGFzaENvbmNhdChsZWZ0OiBieXRlczMyLCByaWdodDogYnl0ZXMzMik6IGJ5dGVzMzIKaGFzaENvbmNhdDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoyNwoJLy8gcmV0dXJuIHNoYTI1NihsZWZ0ICsgcmlnaHQpOwoJZnJhbWVfZGlnIC0xIC8vIGxlZnQ6IGJ5dGVzMzIKCWZyYW1lX2RpZyAtMiAvLyByaWdodDogYnl0ZXMzMgoJY29uY2F0CglzaGEyNTYKCXJldHN1YgoKLy8gaXNSaWdodFNpYmxpbmcoZWxlbTogQnJhbmNoKTogYm9vbGVhbgppc1JpZ2h0U2libGluZzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozMQoJLy8gcmV0dXJuIGdldGJ5dGUoZWxlbSwgMCkgPT09IFJJR0hUX1NJQkxJTkdfUFJFRklYOwoJZnJhbWVfZGlnIC0xIC8vIGVsZW06IEJyYW5jaAoJaW50IDAKCWdldGJ5dGUKCWludCAxNzAKCT09CglyZXRzdWIKCi8vIGNhbGNSb290KGxlYWY6IGJ5dGVzMzIsIHBhdGg6IFBhdGgpOiBieXRlczMyCmNhbGNSb290OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozNwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjM3CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMwoJPAoJYnogKmZvcl8xX2VuZAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo0MAoJLy8gdGhpcy5pc1JpZ2h0U2libGluZyhlbGVtKQoJZnJhbWVfZGlnIC0yIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAxIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vZWxlbQoJaW50IDMzCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAzMwoJZXh0cmFjdDMKCWNhbGxzdWIgaXNSaWdodFNpYmxpbmcKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQxCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQocmVzdWx0LCBleHRyYWN0MyhlbGVtLCAxLCAzMikgYXMgYnl0ZXMzMikKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgMSAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2VsZW0KCWludCAzMwoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMzMKCWV4dHJhY3QzCglleHRyYWN0IDEgMzIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAzMiAwCglieXRlIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQzCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQoZXh0cmFjdDMoZWxlbSwgMSwgMzIpIGFzIGJ5dGVzMzIsIHJlc3VsdCkKCWZyYW1lX2RpZyAtMSAvLyBsZWFmOiBieXRlczMyCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIDEgLy8gc2F2ZWQgYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCglpbnQgMzMKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDMzCglleHRyYWN0MwoJZXh0cmFjdCAxIDMyCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMzIgMAoJYnl0ZSAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoKKmlmMF9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MzcKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NDcKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NTEKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFwcC5jcmVhdG9yIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5jcmVhdG9yIn0KCWFzc2VydAoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjSW5pdFJvb3QoKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJY2FsbHN1YiBjYWxjSW5pdFJvb3QKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeToKCS8vIHBhdGg6IGJ5dGVbMzNdWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDk5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBhdGgpIGZvciB2ZXJpZnkgbXVzdCBiZSBhIGJ5dGVbMzNdWzNdCglhc3NlcnQKCgkvLyBkYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB2ZXJpZnkoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgdmVyaWZ5CglpbnQgMQoJcmV0dXJuCgovLyB2ZXJpZnkoZGF0YTogYnl0ZXMsIHBhdGg6IFBhdGgpOiB2b2lkCnZlcmlmeToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1OQoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYoZGF0YSksIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgLTEgLy8gZGF0YTogYnl0ZXMKCXNoYTI1NgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBhcHBlbmRMZWFmKGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkCiphYmlfcm91dGVfYXBwZW5kTGVhZjoKCS8vIHBhdGg6IGJ5dGVbMzNdWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDk5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBhdGgpIGZvciBhcHBlbmRMZWFmIG11c3QgYmUgYSBieXRlWzMzXVszXQoJYXNzZXJ0CgoJLy8gZGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiBhcHBlbmRMZWFmCglpbnQgMQoJcmV0dXJuCgovLyBhcHBlbmRMZWFmKGRhdGE6IGJ5dGVzLCBwYXRoOiBQYXRoKTogdm9pZAphcHBlbmRMZWFmOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjYzCgkvLyBhc3NlcnQoZGF0YSAhPT0gJycpCglmcmFtZV9kaWcgLTEgLy8gZGF0YTogYnl0ZXMKCWJ5dGUgMHggLy8gIiIKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NjQKCS8vIGFzc2VydCh0aGlzLnJvb3QudmFsdWUgPT09IHRoaXMuY2FsY1Jvb3QoaGV4KEVNUFRZX0hBU0gpIGFzIGJ5dGVzMzIsIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglieXRlIDB4ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgKCWR1cAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2NgoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjUm9vdChzaGEyNTYoZGF0YSksIHBhdGgpCglieXRlIDB4NzI2ZjZmNzQgLy8gInJvb3QiCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjY4CgkvLyB0aGlzLnNpemUudmFsdWUgPSB0aGlzLnNpemUudmFsdWUgKyAxCglieXRlIDB4NzM2OTdhNjUgLy8gInNpemUiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gdXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVMZWFmOgoJLy8gcGF0aDogYnl0ZVszM11bM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgOTkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF0aCkgZm9yIHVwZGF0ZUxlYWYgbXVzdCBiZSBhIGJ5dGVbMzNdWzNdCglhc3NlcnQKCgkvLyBuZXdEYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gb2xkRGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgdXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgdXBkYXRlTGVhZgoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlTGVhZihvbGREYXRhOiBieXRlcywgbmV3RGF0YTogYnl0ZXMsIHBhdGg6IFBhdGgpOiB2b2lkCnVwZGF0ZUxlYWY6Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NzIKCS8vIGFzc2VydChuZXdEYXRhICE9PSAnJykKCWZyYW1lX2RpZyAtMiAvLyBuZXdEYXRhOiBieXRlcwoJYnl0ZSAweCAvLyAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MwoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYob2xkRGF0YSksIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMyAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgLTEgLy8gb2xkRGF0YTogYnl0ZXMKCXNoYTI1NgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjUm9vdChzaGEyNTYobmV3RGF0YSksIHBhdGgpCglieXRlIDB4NzI2ZjZmNzQgLy8gInJvb3QiCglmcmFtZV9kaWcgLTMgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0yIC8vIG5ld0RhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZCIKCW1ldGhvZCAiYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZCIKCW1ldGhvZCAidXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3ZlcmlmeSAqYWJpX3JvdXRlX2FwcGVuZExlYWYgKmFiaV9yb3V0ZV91cGRhdGVMZWFmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9EZWxldGVBcHBsaWNhdGlvbjoKCW1ldGhvZCAiZGVsZXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2RlbGV0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgRGVsZXRlQXBwbGljYXRpb24KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/merkle/artifacts/MerkleTree.arc56_draft.json b/examples/merkle/artifacts/MerkleTree.arc56_draft.json
index 4d2d5dc4a..b60a38507 100644
--- a/examples/merkle/artifacts/MerkleTree.arc56_draft.json
+++ b/examples/merkle/artifacts/MerkleTree.arc56_draft.json
@@ -141,2071 +141,2074 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 11,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 13,
- "source": 11,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 14,
- "source": 11,
- "pc": [
- 116
- ]
- },
- {
- "teal": 15,
- "source": 11,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 16,
- "source": 11,
- "pc": [
- 119
- ]
- },
- {
- "teal": 17,
- "source": 11,
- "pc": [
- 120,
- 121
- ]
- },
- {
- "teal": 18,
- "source": 11,
- "pc": [
- 122
- ]
- },
- {
- "teal": 19,
- "source": 11,
- "pc": [
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148
- ]
- },
- {
- "teal": 23,
- "source": 11,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 149
- ]
- },
- {
- "teal": 27,
- "source": 16,
- "pc": [
- 150,
- 151,
- 152
- ]
- },
- {
- "teal": 30,
- "source": 16,
- "pc": [
- 153
- ]
- },
- {
- "teal": 31,
- "source": 16,
- "pc": [
- 154
- ]
- },
- {
- "teal": 35,
- "source": 17,
- "pc": [
- 155
- ]
- },
- {
- "teal": 36,
- "source": 17,
- "pc": [
- 156
- ]
- },
- {
- "teal": 37,
- "source": 17,
- "pc": [
- 157
- ]
- },
- {
- "teal": 38,
- "source": 17,
- "pc": [
- 158
- ]
- },
- {
- "teal": 39,
- "source": 17,
- "pc": [
- 159
- ]
- },
- {
- "teal": 40,
- "source": 17,
- "pc": [
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 41,
- "source": 17,
- "pc": [
- 163,
- 164
- ]
- },
- {
- "teal": 45,
- "source": 19,
- "pc": [
- 165
- ]
- },
- {
- "teal": 46,
- "source": 19,
- "pc": [
- 166,
- 167
- ]
- },
- {
- "teal": 51,
- "source": 19,
- "pc": [
- 168,
- 169
- ]
- },
- {
- "teal": 52,
- "source": 19,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 53,
- "source": 19,
- "pc": [
- 172
- ]
- },
- {
- "teal": 54,
- "source": 19,
- "pc": [
- 173,
- 174,
- 175
- ]
- },
- {
- "teal": 58,
- "source": 20,
- "pc": [
- 176,
- 177
- ]
- },
- {
- "teal": 59,
- "source": 20,
- "pc": [
- 178,
- 179
- ]
- },
- {
- "teal": 60,
- "source": 20,
- "pc": [
- 180
- ]
- },
- {
- "teal": 61,
- "source": 20,
- "pc": [
- 181
- ]
- },
- {
- "teal": 62,
- "source": 20,
- "pc": [
- 182,
- 183
- ]
- },
- {
- "teal": 67,
- "source": 19,
- "pc": [
- 184,
- 185
- ]
- },
- {
- "teal": 68,
- "source": 19,
- "pc": [
- 186
- ]
- },
- {
- "teal": 69,
- "source": 19,
- "pc": [
- 187
- ]
- },
- {
- "teal": 70,
- "source": 19,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 71,
- "source": 19,
- "pc": [
- 190,
- 191,
- 192
- ]
- },
- {
- "teal": 76,
- "source": 23,
- "pc": [
- 193,
- 194
- ]
- },
- {
- "teal": 79,
- "source": 16,
- "pc": [
- 195,
- 196
- ]
- },
- {
- "teal": 82,
- "source": 16,
- "pc": [
- 197,
- 198
- ]
- },
- {
- "teal": 83,
- "source": 16,
- "pc": [
- 199
- ]
- },
- {
- "teal": 87,
- "source": 26,
- "pc": [
- 200,
- 201,
- 202
- ]
- },
- {
- "teal": 91,
- "source": 27,
- "pc": [
- 203,
- 204
- ]
- },
- {
- "teal": 92,
- "source": 27,
- "pc": [
- 205,
- 206
- ]
- },
- {
- "teal": 93,
- "source": 27,
- "pc": [
- 207
- ]
- },
- {
- "teal": 94,
- "source": 27,
- "pc": [
- 208
- ]
- },
- {
- "teal": 95,
- "source": 26,
- "pc": [
- 209
- ]
- },
- {
- "teal": 99,
- "source": 30,
- "pc": [
- 210,
- 211,
- 212
- ]
- },
- {
- "teal": 103,
- "source": 31,
- "pc": [
- 213,
- 214
- ]
- },
- {
- "teal": 104,
- "source": 31,
- "pc": [
- 215
- ]
- },
- {
- "teal": 105,
- "source": 31,
- "pc": [
- 216
- ]
- },
- {
- "teal": 106,
- "source": 31,
- "pc": [
- 217,
- 218,
- 219
- ]
- },
- {
- "teal": 107,
- "source": 31,
- "pc": [
- 220
- ]
- },
- {
- "teal": 108,
- "source": 30,
- "pc": [
- 221
- ]
- },
- {
- "teal": 112,
- "source": 34,
- "pc": [
- 222,
- 223,
- 224
- ]
- },
- {
- "teal": 115,
- "source": 34,
- "pc": [
- 225
- ]
- },
- {
- "teal": 116,
- "source": 34,
- "pc": [
- 226
- ]
- },
- {
- "teal": 120,
- "source": 37,
- "pc": [
- 227
- ]
- },
- {
- "teal": 121,
- "source": 37,
- "pc": [
- 228,
- 229
- ]
- },
- {
- "teal": 126,
- "source": 37,
- "pc": [
- 230,
- 231
- ]
- },
- {
- "teal": 127,
- "source": 37,
- "pc": [
- 232,
- 233
- ]
- },
- {
- "teal": 128,
- "source": 37,
- "pc": [
- 234
- ]
- },
- {
- "teal": 129,
- "source": 37,
- "pc": [
- 235,
- 236,
- 237
- ]
- },
- {
- "teal": 130,
- "source": 38,
- "pc": [
- 238,
- 239
- ]
- },
- {
- "teal": 131,
- "source": 38,
- "pc": [
- 240,
- 241
- ]
- },
- {
- "teal": 136,
- "source": 40,
- "pc": [
- 242,
- 243
- ]
- },
- {
- "teal": 137,
- "source": 40,
- "pc": [
- 244,
- 245
- ]
- },
- {
- "teal": 138,
- "source": 40,
- "pc": [
- 246
- ]
- },
- {
- "teal": 139,
- "source": 40,
- "pc": [
- 247
- ]
- },
- {
- "teal": 140,
- "source": 40,
- "pc": [
- 248
- ]
- },
- {
- "teal": 141,
- "source": 40,
- "pc": [
- 249
- ]
- },
- {
- "teal": 142,
- "source": 40,
- "pc": [
- 250,
- 251,
- 252
- ]
- },
- {
- "teal": 143,
- "source": 40,
- "pc": [
- 253,
- 254,
- 255
- ]
- },
- {
- "teal": 148,
- "source": 41,
- "pc": [
- 256,
- 257
- ]
- },
- {
- "teal": 149,
- "source": 41,
- "pc": [
- 258,
- 259
- ]
- },
- {
- "teal": 150,
- "source": 41,
- "pc": [
- 260
- ]
- },
- {
- "teal": 151,
- "source": 41,
- "pc": [
- 261
- ]
- },
- {
- "teal": 152,
- "source": 41,
- "pc": [
- 262
- ]
- },
- {
- "teal": 153,
- "source": 41,
- "pc": [
- 263
- ]
- },
- {
- "teal": 154,
- "source": 41,
- "pc": [
- 264,
- 265,
- 266
- ]
- },
- {
- "teal": 155,
- "source": 41,
- "pc": [
- 267
- ]
- },
- {
- "teal": 156,
- "source": 41,
- "pc": [
- 268
- ]
- },
- {
- "teal": 157,
- "source": 41,
- "pc": [
- 269
- ]
- },
- {
- "teal": 158,
- "source": 41,
- "pc": [
- 270,
- 271,
- 272
- ]
- },
- {
- "teal": 159,
- "source": 41,
- "pc": [
- 273
- ]
- },
- {
- "teal": 160,
- "source": 41,
- "pc": [
- 274
- ]
- },
- {
- "teal": 161,
- "source": 41,
- "pc": [
- 275
- ]
- },
- {
- "teal": 162,
- "source": 41,
- "pc": [
- 276,
- 277,
- 278
- ]
- },
- {
- "teal": 163,
- "source": 41,
- "pc": [
- 279,
- 280
- ]
- },
- {
- "teal": 164,
- "source": 41,
- "pc": [
- 281,
- 282,
- 283
- ]
- },
- {
- "teal": 165,
- "source": 41,
- "pc": [
- 284,
- 285
- ]
- },
- {
- "teal": 166,
- "source": 40,
- "pc": [
- 286,
- 287,
- 288
- ]
- },
- {
- "teal": 171,
- "source": 43,
- "pc": [
- 289,
- 290
- ]
- },
- {
- "teal": 172,
- "source": 43,
- "pc": [
- 291,
- 292
- ]
- },
- {
- "teal": 173,
- "source": 43,
- "pc": [
- 293,
- 294
- ]
- },
- {
- "teal": 174,
- "source": 43,
- "pc": [
- 295
- ]
- },
- {
- "teal": 175,
- "source": 43,
- "pc": [
- 296
- ]
- },
- {
- "teal": 176,
- "source": 43,
- "pc": [
- 297
- ]
- },
- {
- "teal": 177,
- "source": 43,
- "pc": [
- 298
- ]
- },
- {
- "teal": 178,
- "source": 43,
- "pc": [
- 299,
- 300,
- 301
- ]
- },
- {
- "teal": 179,
- "source": 43,
- "pc": [
- 302
- ]
- },
- {
- "teal": 180,
- "source": 43,
- "pc": [
- 303
- ]
- },
- {
- "teal": 181,
- "source": 43,
- "pc": [
- 304
- ]
- },
- {
- "teal": 182,
- "source": 43,
- "pc": [
- 305,
- 306,
- 307
- ]
- },
- {
- "teal": 183,
- "source": 43,
- "pc": [
- 308
- ]
- },
- {
- "teal": 184,
- "source": 43,
- "pc": [
- 309
- ]
- },
- {
- "teal": 185,
- "source": 43,
- "pc": [
- 310
- ]
- },
- {
- "teal": 186,
- "source": 43,
- "pc": [
- 311,
- 312,
- 313
- ]
- },
- {
- "teal": 187,
- "source": 43,
- "pc": [
- 314,
- 315,
- 316
- ]
- },
- {
- "teal": 188,
- "source": 43,
- "pc": [
- 317,
- 318
- ]
- },
- {
- "teal": 195,
- "source": 37,
- "pc": [
- 319,
- 320
- ]
- },
- {
- "teal": 196,
- "source": 37,
- "pc": [
- 321
- ]
- },
- {
- "teal": 197,
- "source": 37,
- "pc": [
- 322
- ]
- },
- {
- "teal": 198,
- "source": 37,
- "pc": [
- 323,
- 324
- ]
- },
- {
- "teal": 199,
- "source": 37,
- "pc": [
- 325,
- 326,
- 327
- ]
- },
- {
- "teal": 204,
- "source": 47,
- "pc": [
- 328,
- 329
- ]
- },
- {
- "teal": 207,
- "source": 34,
- "pc": [
- 330,
- 331
- ]
- },
- {
- "teal": 210,
- "source": 34,
- "pc": [
- 332,
- 333
- ]
- },
- {
- "teal": 211,
- "source": 34,
- "pc": [
- 334
- ]
- },
- {
- "teal": 216,
- "source": 50,
- "pc": [
- 335,
- 336,
- 337
- ]
- },
- {
- "teal": 217,
- "source": 50,
- "pc": [
- 338
- ]
- },
- {
- "teal": 218,
- "source": 50,
- "pc": [
- 339
- ]
- },
- {
- "teal": 222,
- "source": 50,
- "pc": [
- 340,
- 341,
- 342
- ]
- },
- {
- "teal": 227,
- "source": 51,
- "pc": [
- 343,
- 344
- ]
- },
- {
- "teal": 228,
- "source": 51,
- "pc": [
- 345,
- 346,
- 347
- ]
- },
- {
- "teal": 229,
- "source": 51,
- "pc": [
- 348,
- 349
- ]
- },
- {
- "teal": 230,
- "source": 51,
- "pc": [
- 350
- ]
- },
- {
- "teal": 231,
- "source": 51,
- "pc": [
- 351
- ]
- },
- {
- "teal": 234,
- "source": 51,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.app.creator\"}",
- "pc": [
- 352
- ]
- },
- {
- "teal": 235,
- "source": 50,
- "pc": [
- 353
- ]
- },
- {
- "teal": 240,
- "source": 54,
- "pc": [
- 354,
- 355,
- 356
- ]
- },
- {
- "teal": 241,
- "source": 54,
- "pc": [
- 357
- ]
- },
- {
- "teal": 242,
- "source": 54,
- "pc": [
- 358
- ]
- },
- {
- "teal": 246,
- "source": 54,
- "pc": [
- 359,
- 360,
- 361
- ]
- },
- {
- "teal": 250,
- "source": 55,
- "pc": [
- 362
- ]
- },
- {
- "teal": 251,
- "source": 55,
- "pc": [
- 363,
- 364,
- 365
- ]
- },
- {
- "teal": 252,
- "source": 55,
- "pc": [
- 366
- ]
- },
- {
- "teal": 253,
- "source": 54,
- "pc": [
- 367
- ]
- },
- {
- "teal": 258,
- "source": 58,
- "pc": [
- 368,
- 369,
- 370
- ]
- },
- {
- "teal": 259,
- "source": 58,
- "pc": [
- 371
- ]
- },
- {
- "teal": 260,
- "source": 58,
- "pc": [
- 372
- ]
- },
- {
- "teal": 261,
- "source": 58,
- "pc": [
- 373
- ]
- },
- {
- "teal": 262,
- "source": 58,
- "pc": [
- 374
- ]
- },
- {
- "teal": 265,
- "source": 58,
- "errorMessage": "argument 0 (path) for verify must be a byte[33][3]",
- "pc": [
- 375
- ]
- },
- {
- "teal": 268,
- "source": 58,
- "pc": [
- 376,
- 377,
- 378
- ]
- },
- {
- "teal": 269,
- "source": 58,
- "pc": [
- 379,
- 380,
- 381
- ]
- },
- {
- "teal": 272,
- "source": 58,
- "pc": [
- 382,
- 383,
- 384
- ]
- },
- {
- "teal": 273,
- "source": 58,
- "pc": [
- 385
- ]
- },
- {
- "teal": 274,
- "source": 58,
- "pc": [
- 386
- ]
- },
- {
- "teal": 278,
- "source": 58,
- "pc": [
- 387,
- 388,
- 389
- ]
- },
- {
- "teal": 282,
- "source": 59,
- "pc": [
- 390
- ]
- },
- {
- "teal": 283,
- "source": 59,
- "pc": [
- 391
- ]
- },
- {
- "teal": 284,
- "source": 59,
- "pc": [
- 392,
- 393
- ]
- },
- {
- "teal": 285,
- "source": 59,
- "pc": [
- 394,
- 395
- ]
- },
- {
- "teal": 286,
- "source": 59,
- "pc": [
- 396
- ]
- },
- {
- "teal": 287,
- "source": 59,
- "pc": [
- 397,
- 398,
- 399
- ]
- },
- {
- "teal": 288,
- "source": 59,
- "pc": [
- 400
- ]
- },
- {
- "teal": 289,
- "source": 59,
- "pc": [
- 401
- ]
- },
- {
- "teal": 290,
- "source": 58,
- "pc": [
- 402
- ]
- },
- {
- "teal": 295,
- "source": 62,
- "pc": [
- 403,
- 404,
- 405
- ]
- },
- {
- "teal": 296,
- "source": 62,
- "pc": [
- 406
- ]
- },
- {
- "teal": 297,
- "source": 62,
- "pc": [
- 407
- ]
- },
- {
- "teal": 298,
- "source": 62,
- "pc": [
- 408
- ]
- },
- {
- "teal": 299,
- "source": 62,
- "pc": [
- 409
- ]
- },
- {
- "teal": 302,
- "source": 62,
- "errorMessage": "argument 0 (path) for appendLeaf must be a byte[33][3]",
- "pc": [
- 410
- ]
- },
- {
- "teal": 305,
- "source": 62,
- "pc": [
- 411,
- 412,
- 413
- ]
- },
- {
- "teal": 306,
- "source": 62,
- "pc": [
- 414,
- 415,
- 416
- ]
- },
- {
- "teal": 309,
- "source": 62,
- "pc": [
- 417,
- 418,
- 419
- ]
- },
- {
- "teal": 310,
- "source": 62,
- "pc": [
- 420
- ]
- },
- {
- "teal": 311,
- "source": 62,
- "pc": [
- 421
- ]
- },
- {
- "teal": 315,
- "source": 62,
- "pc": [
- 422,
- 423,
- 424
- ]
- },
- {
- "teal": 319,
- "source": 63,
- "pc": [
- 425,
- 426
- ]
- },
- {
- "teal": 320,
- "source": 63,
- "pc": [
- 427
- ]
- },
- {
- "teal": 321,
- "source": 63,
- "pc": [
- 428
- ]
- },
- {
- "teal": 322,
- "source": 63,
- "pc": [
- 429
- ]
- },
- {
- "teal": 326,
- "source": 64,
- "pc": [
- 430
- ]
- },
- {
- "teal": 327,
- "source": 64,
- "pc": [
- 431
- ]
- },
- {
- "teal": 328,
- "source": 64,
- "pc": [
- 432,
- 433
- ]
- },
- {
- "teal": 329,
- "source": 64,
- "pc": [
- 434
- ]
- },
- {
- "teal": 330,
- "source": 64,
- "pc": [
- 435
- ]
- },
- {
- "teal": 331,
- "source": 64,
- "pc": [
- 436
- ]
- },
- {
- "teal": 332,
- "source": 64,
- "pc": [
- 437
- ]
- },
- {
- "teal": 333,
- "source": 64,
- "pc": [
- 438
- ]
- },
- {
- "teal": 334,
- "source": 64,
- "pc": [
- 439,
- 440,
- 441
- ]
- },
- {
- "teal": 335,
- "source": 64,
- "pc": [
- 442,
- 443,
- 444
- ]
- },
- {
- "teal": 336,
- "source": 64,
- "pc": [
- 445
- ]
- },
- {
- "teal": 337,
- "source": 64,
- "pc": [
- 446
- ]
- },
- {
- "teal": 341,
- "source": 66,
- "pc": [
- 447
- ]
- },
- {
- "teal": 342,
- "source": 66,
- "pc": [
- 448,
- 449
- ]
- },
- {
- "teal": 343,
- "source": 66,
- "pc": [
- 450,
- 451
- ]
- },
- {
- "teal": 344,
- "source": 66,
- "pc": [
- 452
- ]
- },
- {
- "teal": 345,
- "source": 66,
- "pc": [
- 453,
- 454,
- 455
- ]
- },
- {
- "teal": 346,
- "source": 66,
- "pc": [
- 456
- ]
- },
- {
- "teal": 350,
- "source": 68,
- "pc": [
- 457,
- 458,
- 459,
- 460,
- 461,
- 462
- ]
- },
- {
- "teal": 351,
- "source": 68,
- "pc": [
- 463
- ]
- },
- {
- "teal": 352,
- "source": 68,
- "pc": [
- 464
- ]
- },
- {
- "teal": 353,
- "source": 68,
- "pc": [
- 465
- ]
- },
- {
- "teal": 354,
- "source": 68,
- "pc": [
- 466
- ]
- },
- {
- "teal": 355,
- "source": 68,
- "pc": [
- 467
- ]
- },
- {
- "teal": 356,
- "source": 62,
- "pc": [
- 468
- ]
- },
- {
- "teal": 361,
- "source": 71,
- "pc": [
- 469,
- 470,
- 471
- ]
- },
- {
- "teal": 362,
- "source": 71,
- "pc": [
- 472
- ]
- },
- {
- "teal": 363,
- "source": 71,
- "pc": [
- 473
- ]
- },
- {
- "teal": 364,
- "source": 71,
- "pc": [
- 474
- ]
- },
- {
- "teal": 365,
- "source": 71,
- "pc": [
- 475
- ]
- },
- {
- "teal": 368,
- "source": 71,
- "errorMessage": "argument 0 (path) for updateLeaf must be a byte[33][3]",
- "pc": [
- 476
- ]
- },
- {
- "teal": 371,
- "source": 71,
- "pc": [
- 477,
- 478,
- 479
- ]
- },
- {
- "teal": 372,
- "source": 71,
- "pc": [
- 480,
- 481,
- 482
- ]
- },
- {
- "teal": 375,
- "source": 71,
- "pc": [
- 483,
- 484,
- 485
- ]
- },
- {
- "teal": 376,
- "source": 71,
- "pc": [
- 486,
- 487,
- 488
- ]
- },
- {
- "teal": 379,
- "source": 71,
- "pc": [
- 489,
- 490,
- 491
- ]
- },
- {
- "teal": 380,
- "source": 71,
- "pc": [
- 492
- ]
- },
- {
- "teal": 381,
- "source": 71,
- "pc": [
- 493
- ]
- },
- {
- "teal": 385,
- "source": 71,
- "pc": [
- 494,
- 495,
- 496
- ]
- },
- {
- "teal": 389,
- "source": 72,
- "pc": [
- 497,
- 498
- ]
- },
- {
- "teal": 390,
- "source": 72,
- "pc": [
- 499
- ]
- },
- {
- "teal": 391,
- "source": 72,
- "pc": [
- 500
- ]
- },
- {
- "teal": 392,
- "source": 72,
- "pc": [
- 501
- ]
- },
- {
- "teal": 396,
- "source": 73,
- "pc": [
- 502
- ]
- },
- {
- "teal": 397,
- "source": 73,
- "pc": [
- 503
- ]
- },
- {
- "teal": 398,
- "source": 73,
- "pc": [
- 504,
- 505
- ]
- },
- {
- "teal": 399,
- "source": 73,
- "pc": [
- 506,
- 507
- ]
- },
- {
- "teal": 400,
- "source": 73,
- "pc": [
- 508
- ]
- },
- {
- "teal": 401,
- "source": 73,
- "pc": [
- 509,
- 510,
- 511
- ]
- },
- {
- "teal": 402,
- "source": 73,
- "pc": [
- 512
- ]
- },
- {
- "teal": 403,
- "source": 73,
- "pc": [
- 513
- ]
- },
- {
- "teal": 407,
- "source": 75,
- "pc": [
- 514
- ]
- },
- {
- "teal": 408,
- "source": 75,
- "pc": [
- 515,
- 516
- ]
- },
- {
- "teal": 409,
- "source": 75,
- "pc": [
- 517,
- 518
- ]
- },
- {
- "teal": 410,
- "source": 75,
- "pc": [
- 519
- ]
- },
- {
- "teal": 411,
- "source": 75,
- "pc": [
- 520,
- 521,
- 522
- ]
- },
- {
- "teal": 412,
- "source": 75,
- "pc": [
- 523
- ]
- },
- {
- "teal": 413,
- "source": 71,
- "pc": [
- 524
- ]
- },
- {
- "teal": 416,
- "source": 11,
- "pc": [
- 525,
- 526,
- 527,
- 528,
- 529,
- 530
- ]
- },
- {
- "teal": 417,
- "source": 11,
- "pc": [
- 531,
- 532,
- 533
- ]
- },
- {
- "teal": 418,
- "source": 11,
- "pc": [
- 534,
- 535,
- 536,
- 537
- ]
- },
- {
- "teal": 421,
- "source": 11,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 538
- ]
- },
- {
- "teal": 424,
- "source": 11,
- "pc": [
- 539,
- 540,
- 541,
- 542,
- 543,
- 544
- ]
- },
- {
- "teal": 425,
- "source": 11,
- "pc": [
- 545,
- 546,
- 547,
- 548,
- 549,
- 550
- ]
- },
- {
- "teal": 426,
- "source": 11,
- "pc": [
- 551,
- 552,
- 553,
- 554,
- 555,
- 556
- ]
- },
- {
- "teal": 427,
- "source": 11,
- "pc": [
- 557,
- 558,
- 559
- ]
- },
- {
- "teal": 428,
- "source": 11,
- "pc": [
- 560,
- 561,
- 562,
- 563,
- 564,
- 565,
- 566,
- 567
- ]
- },
- {
- "teal": 431,
- "source": 11,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 568
- ]
- },
- {
- "teal": 434,
- "source": 11,
- "pc": [
- 569,
- 570,
- 571,
- 572,
- 573,
- 574
- ]
- },
- {
- "teal": 435,
- "source": 11,
- "pc": [
- 575,
- 576,
- 577
- ]
- },
- {
- "teal": 436,
- "source": 11,
- "pc": [
- 578,
- 579,
- 580,
- 581
- ]
- },
- {
- "teal": 439,
- "source": 11,
- "errorMessage": "this contract does not implement the given ABI method for call DeleteApplication",
- "pc": [
- 582
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 11,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 11,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 11,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 11,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 11,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 11,
+ "pc": [
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 11,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 11,
+ "pc": [
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 11,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 27,
+ "source": 16,
+ "pc": [
+ 150,
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 16,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 16,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 17,
+ "pc": [
+ 155
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 17,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 17,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 17,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 17,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 17,
+ "pc": [
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 17,
+ "pc": [
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 19,
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 19,
+ "pc": [
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 19,
+ "pc": [
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 19,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 19,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 19,
+ "pc": [
+ 173,
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 20,
+ "pc": [
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 20,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 20,
+ "pc": [
+ 180
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 20,
+ "pc": [
+ 181
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 20,
+ "pc": [
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 19,
+ "pc": [
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 19,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 19,
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 19,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 19,
+ "pc": [
+ 190,
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 23,
+ "pc": [
+ 193,
+ 194
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 16,
+ "pc": [
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 16,
+ "pc": [
+ 197,
+ 198
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 16,
+ "pc": [
+ 199
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 26,
+ "pc": [
+ 200,
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 27,
+ "pc": [
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 27,
+ "pc": [
+ 205,
+ 206
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 27,
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 27,
+ "pc": [
+ 208
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 26,
+ "pc": [
+ 209
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 30,
+ "pc": [
+ 210,
+ 211,
+ 212
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 31,
+ "pc": [
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 31,
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 31,
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 31,
+ "pc": [
+ 217,
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 31,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 30,
+ "pc": [
+ 221
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 34,
+ "pc": [
+ 222,
+ 223,
+ 224
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 34,
+ "pc": [
+ 225
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 34,
+ "pc": [
+ 226
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 37,
+ "pc": [
+ 227
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 37,
+ "pc": [
+ 228,
+ 229
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 37,
+ "pc": [
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 37,
+ "pc": [
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 37,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 37,
+ "pc": [
+ 235,
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 38,
+ "pc": [
+ 238,
+ 239
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 38,
+ "pc": [
+ 240,
+ 241
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 40,
+ "pc": [
+ 242,
+ 243
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 40,
+ "pc": [
+ 244,
+ 245
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 40,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 40,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 40,
+ "pc": [
+ 248
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 40,
+ "pc": [
+ 249
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 40,
+ "pc": [
+ 250,
+ 251,
+ 252
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 40,
+ "pc": [
+ 253,
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 41,
+ "pc": [
+ 256,
+ 257
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 41,
+ "pc": [
+ 258,
+ 259
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 41,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 41,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 41,
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 41,
+ "pc": [
+ 263
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 41,
+ "pc": [
+ 264,
+ 265,
+ 266
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 41,
+ "pc": [
+ 267
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 41,
+ "pc": [
+ 268
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 41,
+ "pc": [
+ 269
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 41,
+ "pc": [
+ 270,
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 41,
+ "pc": [
+ 273
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 41,
+ "pc": [
+ 274
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 41,
+ "pc": [
+ 275
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 41,
+ "pc": [
+ 276,
+ 277,
+ 278
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 41,
+ "pc": [
+ 279,
+ 280
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 41,
+ "pc": [
+ 281,
+ 282,
+ 283
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 41,
+ "pc": [
+ 284,
+ 285
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 40,
+ "pc": [
+ 286,
+ 287,
+ 288
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 43,
+ "pc": [
+ 289,
+ 290
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 43,
+ "pc": [
+ 291,
+ 292
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 43,
+ "pc": [
+ 293,
+ 294
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 43,
+ "pc": [
+ 295
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 43,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 43,
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 43,
+ "pc": [
+ 298
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 43,
+ "pc": [
+ 299,
+ 300,
+ 301
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 43,
+ "pc": [
+ 302
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 43,
+ "pc": [
+ 303
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 43,
+ "pc": [
+ 304
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 43,
+ "pc": [
+ 305,
+ 306,
+ 307
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 43,
+ "pc": [
+ 308
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 43,
+ "pc": [
+ 309
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 43,
+ "pc": [
+ 310
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 43,
+ "pc": [
+ 311,
+ 312,
+ 313
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 43,
+ "pc": [
+ 314,
+ 315,
+ 316
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 43,
+ "pc": [
+ 317,
+ 318
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 37,
+ "pc": [
+ 319,
+ 320
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 37,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 37,
+ "pc": [
+ 322
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 37,
+ "pc": [
+ 323,
+ 324
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 37,
+ "pc": [
+ 325,
+ 326,
+ 327
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 47,
+ "pc": [
+ 328,
+ 329
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 34,
+ "pc": [
+ 330,
+ 331
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 34,
+ "pc": [
+ 332,
+ 333
+ ]
+ },
+ {
+ "teal": 211,
+ "source": 34,
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 50,
+ "pc": [
+ 335,
+ 336,
+ 337
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 50,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 50,
+ "pc": [
+ 339
+ ]
+ },
+ {
+ "teal": 222,
+ "source": 50,
+ "pc": [
+ 340,
+ 341,
+ 342
+ ]
+ },
+ {
+ "teal": 227,
+ "source": 51,
+ "pc": [
+ 343,
+ 344
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 51,
+ "pc": [
+ 345,
+ 346,
+ 347
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 51,
+ "pc": [
+ 348,
+ 349
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 51,
+ "pc": [
+ 350
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 51,
+ "pc": [
+ 351
+ ]
+ },
+ {
+ "teal": 234,
+ "source": 51,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.app.creator\"}",
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 50,
+ "pc": [
+ 353
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 54,
+ "pc": [
+ 354,
+ 355,
+ 356
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 54,
+ "pc": [
+ 357
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 54,
+ "pc": [
+ 358
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 54,
+ "pc": [
+ 359,
+ 360,
+ 361
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 55,
+ "pc": [
+ 362
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 55,
+ "pc": [
+ 363,
+ 364,
+ 365
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 55,
+ "pc": [
+ 366
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 54,
+ "pc": [
+ 367
+ ]
+ },
+ {
+ "teal": 258,
+ "source": 58,
+ "pc": [
+ 368,
+ 369,
+ 370
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 58,
+ "pc": [
+ 371
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 58,
+ "pc": [
+ 372
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 58,
+ "pc": [
+ 373
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 58,
+ "pc": [
+ 374
+ ]
+ },
+ {
+ "teal": 265,
+ "source": 58,
+ "errorMessage": "argument 0 (path) for verify must be a byte[33][3]",
+ "pc": [
+ 375
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 58,
+ "pc": [
+ 376,
+ 377,
+ 378
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 58,
+ "pc": [
+ 379,
+ 380,
+ 381
+ ]
+ },
+ {
+ "teal": 272,
+ "source": 58,
+ "pc": [
+ 382,
+ 383,
+ 384
+ ]
+ },
+ {
+ "teal": 273,
+ "source": 58,
+ "pc": [
+ 385
+ ]
+ },
+ {
+ "teal": 274,
+ "source": 58,
+ "pc": [
+ 386
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 58,
+ "pc": [
+ 387,
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 282,
+ "source": 59,
+ "pc": [
+ 390
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 59,
+ "pc": [
+ 391
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 59,
+ "pc": [
+ 392,
+ 393
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 59,
+ "pc": [
+ 394,
+ 395
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 59,
+ "pc": [
+ 396
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 59,
+ "pc": [
+ 397,
+ 398,
+ 399
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 59,
+ "pc": [
+ 400
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 59,
+ "pc": [
+ 401
+ ]
+ },
+ {
+ "teal": 290,
+ "source": 58,
+ "pc": [
+ 402
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 62,
+ "pc": [
+ 403,
+ 404,
+ 405
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 62,
+ "pc": [
+ 406
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 62,
+ "pc": [
+ 407
+ ]
+ },
+ {
+ "teal": 298,
+ "source": 62,
+ "pc": [
+ 408
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 62,
+ "pc": [
+ 409
+ ]
+ },
+ {
+ "teal": 302,
+ "source": 62,
+ "errorMessage": "argument 0 (path) for appendLeaf must be a byte[33][3]",
+ "pc": [
+ 410
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 62,
+ "pc": [
+ 411,
+ 412,
+ 413
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 62,
+ "pc": [
+ 414,
+ 415,
+ 416
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 62,
+ "pc": [
+ 417,
+ 418,
+ 419
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 62,
+ "pc": [
+ 420
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 62,
+ "pc": [
+ 421
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 62,
+ "pc": [
+ 422,
+ 423,
+ 424
+ ]
+ },
+ {
+ "teal": 319,
+ "source": 63,
+ "pc": [
+ 425,
+ 426
+ ]
+ },
+ {
+ "teal": 320,
+ "source": 63,
+ "pc": [
+ 427
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 63,
+ "pc": [
+ 428
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 63,
+ "pc": [
+ 429
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 64,
+ "pc": [
+ 430
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 64,
+ "pc": [
+ 431
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 64,
+ "pc": [
+ 432,
+ 433
+ ]
+ },
+ {
+ "teal": 329,
+ "source": 64,
+ "pc": [
+ 434
+ ]
+ },
+ {
+ "teal": 330,
+ "source": 64,
+ "pc": [
+ 435
+ ]
+ },
+ {
+ "teal": 331,
+ "source": 64,
+ "pc": [
+ 436
+ ]
+ },
+ {
+ "teal": 332,
+ "source": 64,
+ "pc": [
+ 437
+ ]
+ },
+ {
+ "teal": 333,
+ "source": 64,
+ "pc": [
+ 438
+ ]
+ },
+ {
+ "teal": 334,
+ "source": 64,
+ "pc": [
+ 439,
+ 440,
+ 441
+ ]
+ },
+ {
+ "teal": 335,
+ "source": 64,
+ "pc": [
+ 442,
+ 443,
+ 444
+ ]
+ },
+ {
+ "teal": 336,
+ "source": 64,
+ "pc": [
+ 445
+ ]
+ },
+ {
+ "teal": 337,
+ "source": 64,
+ "pc": [
+ 446
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 66,
+ "pc": [
+ 447
+ ]
+ },
+ {
+ "teal": 342,
+ "source": 66,
+ "pc": [
+ 448,
+ 449
+ ]
+ },
+ {
+ "teal": 343,
+ "source": 66,
+ "pc": [
+ 450,
+ 451
+ ]
+ },
+ {
+ "teal": 344,
+ "source": 66,
+ "pc": [
+ 452
+ ]
+ },
+ {
+ "teal": 345,
+ "source": 66,
+ "pc": [
+ 453,
+ 454,
+ 455
+ ]
+ },
+ {
+ "teal": 346,
+ "source": 66,
+ "pc": [
+ 456
+ ]
+ },
+ {
+ "teal": 350,
+ "source": 68,
+ "pc": [
+ 457,
+ 458,
+ 459,
+ 460,
+ 461,
+ 462
+ ]
+ },
+ {
+ "teal": 351,
+ "source": 68,
+ "pc": [
+ 463
+ ]
+ },
+ {
+ "teal": 352,
+ "source": 68,
+ "pc": [
+ 464
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 68,
+ "pc": [
+ 465
+ ]
+ },
+ {
+ "teal": 354,
+ "source": 68,
+ "pc": [
+ 466
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 68,
+ "pc": [
+ 467
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 62,
+ "pc": [
+ 468
+ ]
+ },
+ {
+ "teal": 361,
+ "source": 71,
+ "pc": [
+ 469,
+ 470,
+ 471
+ ]
+ },
+ {
+ "teal": 362,
+ "source": 71,
+ "pc": [
+ 472
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 71,
+ "pc": [
+ 473
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 71,
+ "pc": [
+ 474
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 71,
+ "pc": [
+ 475
+ ]
+ },
+ {
+ "teal": 368,
+ "source": 71,
+ "errorMessage": "argument 0 (path) for updateLeaf must be a byte[33][3]",
+ "pc": [
+ 476
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 71,
+ "pc": [
+ 477,
+ 478,
+ 479
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 71,
+ "pc": [
+ 480,
+ 481,
+ 482
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 71,
+ "pc": [
+ 483,
+ 484,
+ 485
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 71,
+ "pc": [
+ 486,
+ 487,
+ 488
+ ]
+ },
+ {
+ "teal": 379,
+ "source": 71,
+ "pc": [
+ 489,
+ 490,
+ 491
+ ]
+ },
+ {
+ "teal": 380,
+ "source": 71,
+ "pc": [
+ 492
+ ]
+ },
+ {
+ "teal": 381,
+ "source": 71,
+ "pc": [
+ 493
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 71,
+ "pc": [
+ 494,
+ 495,
+ 496
+ ]
+ },
+ {
+ "teal": 389,
+ "source": 72,
+ "pc": [
+ 497,
+ 498
+ ]
+ },
+ {
+ "teal": 390,
+ "source": 72,
+ "pc": [
+ 499
+ ]
+ },
+ {
+ "teal": 391,
+ "source": 72,
+ "pc": [
+ 500
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 72,
+ "pc": [
+ 501
+ ]
+ },
+ {
+ "teal": 396,
+ "source": 73,
+ "pc": [
+ 502
+ ]
+ },
+ {
+ "teal": 397,
+ "source": 73,
+ "pc": [
+ 503
+ ]
+ },
+ {
+ "teal": 398,
+ "source": 73,
+ "pc": [
+ 504,
+ 505
+ ]
+ },
+ {
+ "teal": 399,
+ "source": 73,
+ "pc": [
+ 506,
+ 507
+ ]
+ },
+ {
+ "teal": 400,
+ "source": 73,
+ "pc": [
+ 508
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 73,
+ "pc": [
+ 509,
+ 510,
+ 511
+ ]
+ },
+ {
+ "teal": 402,
+ "source": 73,
+ "pc": [
+ 512
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 73,
+ "pc": [
+ 513
+ ]
+ },
+ {
+ "teal": 407,
+ "source": 75,
+ "pc": [
+ 514
+ ]
+ },
+ {
+ "teal": 408,
+ "source": 75,
+ "pc": [
+ 515,
+ 516
+ ]
+ },
+ {
+ "teal": 409,
+ "source": 75,
+ "pc": [
+ 517,
+ 518
+ ]
+ },
+ {
+ "teal": 410,
+ "source": 75,
+ "pc": [
+ 519
+ ]
+ },
+ {
+ "teal": 411,
+ "source": 75,
+ "pc": [
+ 520,
+ 521,
+ 522
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 75,
+ "pc": [
+ 523
+ ]
+ },
+ {
+ "teal": 413,
+ "source": 71,
+ "pc": [
+ 524
+ ]
+ },
+ {
+ "teal": 416,
+ "source": 11,
+ "pc": [
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 11,
+ "pc": [
+ 531,
+ 532,
+ 533
+ ]
+ },
+ {
+ "teal": 418,
+ "source": 11,
+ "pc": [
+ 534,
+ 535,
+ 536,
+ 537
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 11,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 538
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 11,
+ "pc": [
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544
+ ]
+ },
+ {
+ "teal": 425,
+ "source": 11,
+ "pc": [
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550
+ ]
+ },
+ {
+ "teal": 426,
+ "source": 11,
+ "pc": [
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556
+ ]
+ },
+ {
+ "teal": 427,
+ "source": 11,
+ "pc": [
+ 557,
+ 558,
+ 559
+ ]
+ },
+ {
+ "teal": 428,
+ "source": 11,
+ "pc": [
+ 560,
+ 561,
+ 562,
+ 563,
+ 564,
+ 565,
+ 566,
+ 567
+ ]
+ },
+ {
+ "teal": 431,
+ "source": 11,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 568
+ ]
+ },
+ {
+ "teal": 434,
+ "source": 11,
+ "pc": [
+ 569,
+ 570,
+ 571,
+ 572,
+ 573,
+ 574
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 11,
+ "pc": [
+ 575,
+ 576,
+ 577
+ ]
+ },
+ {
+ "teal": 436,
+ "source": 11,
+ "pc": [
+ 578,
+ 579,
+ 580,
+ 581
+ ]
+ },
+ {
+ "teal": 439,
+ "source": 11,
+ "errorMessage": "this contract does not implement the given ABI method for call DeleteApplication",
+ "pc": [
+ 582
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2FsY0luaXRSb290KCk6IGJ5dGVzMzIKY2FsY0luaXRSb290OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoxNwoJLy8gcmVzdWx0ID0gaGV4KEVNUFRZX0hBU0gpIGFzIGJ5dGVzMzIKCWJ5dGUgMHhlM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweAoJZHVwCgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoxOQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnQgMwoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoyMAoJLy8gcmVzdWx0ID0gc2hhMjU2KHJlc3VsdCArIHJlc3VsdCkKCWZyYW1lX2RpZyAwIC8vIHJlc3VsdDogYnl0ZVszMl0KCWZyYW1lX2RpZyAwIC8vIHJlc3VsdDogYnl0ZVszMl0KCWNvbmNhdAoJc2hhMjU2CglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjIzCgkvLyByZXR1cm4gcmVzdWx0OwoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gaGFzaENvbmNhdChsZWZ0OiBieXRlczMyLCByaWdodDogYnl0ZXMzMik6IGJ5dGVzMzIKaGFzaENvbmNhdDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoyNwoJLy8gcmV0dXJuIHNoYTI1NihsZWZ0ICsgcmlnaHQpOwoJZnJhbWVfZGlnIC0xIC8vIGxlZnQ6IGJ5dGVzMzIKCWZyYW1lX2RpZyAtMiAvLyByaWdodDogYnl0ZXMzMgoJY29uY2F0CglzaGEyNTYKCXJldHN1YgoKLy8gaXNSaWdodFNpYmxpbmcoZWxlbTogQnJhbmNoKTogYm9vbGVhbgppc1JpZ2h0U2libGluZzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozMQoJLy8gcmV0dXJuIGdldGJ5dGUoZWxlbSwgMCkgPT09IFJJR0hUX1NJQkxJTkdfUFJFRklYOwoJZnJhbWVfZGlnIC0xIC8vIGVsZW06IEJyYW5jaAoJaW50IDAKCWdldGJ5dGUKCWludCAxNzAKCT09CglyZXRzdWIKCi8vIGNhbGNSb290KGxlYWY6IGJ5dGVzMzIsIHBhdGg6IFBhdGgpOiBieXRlczMyCmNhbGNSb290OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozNwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjM3CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMwoJPAoJYnogKmZvcl8xX2VuZAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo0MAoJLy8gdGhpcy5pc1JpZ2h0U2libGluZyhlbGVtKQoJZnJhbWVfZGlnIC0yIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAxIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vZWxlbQoJaW50IDMzCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAzMwoJZXh0cmFjdDMKCWNhbGxzdWIgaXNSaWdodFNpYmxpbmcKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQxCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQocmVzdWx0LCBleHRyYWN0MyhlbGVtLCAxLCAzMikgYXMgYnl0ZXMzMikKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgMSAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2VsZW0KCWludCAzMwoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMzMKCWV4dHJhY3QzCglleHRyYWN0IDEgMzIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAzMiAwCglieXRlIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQzCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQoZXh0cmFjdDMoZWxlbSwgMSwgMzIpIGFzIGJ5dGVzMzIsIHJlc3VsdCkKCWZyYW1lX2RpZyAtMSAvLyBsZWFmOiBieXRlczMyCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIDEgLy8gc2F2ZWQgYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCglpbnQgMzMKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDMzCglleHRyYWN0MwoJZXh0cmFjdCAxIDMyCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMzIgMAoJYnl0ZSAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoKKmlmMF9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MzcKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NDcKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NTEKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFwcC5jcmVhdG9yIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5jcmVhdG9yIn0KCWFzc2VydAoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjSW5pdFJvb3QoKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJY2FsbHN1YiBjYWxjSW5pdFJvb3QKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeToKCS8vIHBhdGg6IGJ5dGVbMzNdWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDk5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBhdGgpIGZvciB2ZXJpZnkgbXVzdCBiZSBhIGJ5dGVbMzNdWzNdCglhc3NlcnQKCgkvLyBkYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB2ZXJpZnkoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgdmVyaWZ5CglpbnQgMQoJcmV0dXJuCgovLyB2ZXJpZnkoZGF0YTogYnl0ZXMsIHBhdGg6IFBhdGgpOiB2b2lkCnZlcmlmeToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1OQoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYoZGF0YSksIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgLTEgLy8gZGF0YTogYnl0ZXMKCXNoYTI1NgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBhcHBlbmRMZWFmKGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkCiphYmlfcm91dGVfYXBwZW5kTGVhZjoKCS8vIHBhdGg6IGJ5dGVbMzNdWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDk5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBhdGgpIGZvciBhcHBlbmRMZWFmIG11c3QgYmUgYSBieXRlWzMzXVszXQoJYXNzZXJ0CgoJLy8gZGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiBhcHBlbmRMZWFmCglpbnQgMQoJcmV0dXJuCgovLyBhcHBlbmRMZWFmKGRhdGE6IGJ5dGVzLCBwYXRoOiBQYXRoKTogdm9pZAphcHBlbmRMZWFmOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjYzCgkvLyBhc3NlcnQoZGF0YSAhPT0gJycpCglmcmFtZV9kaWcgLTEgLy8gZGF0YTogYnl0ZXMKCWJ5dGUgMHggLy8gIiIKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NjQKCS8vIGFzc2VydCh0aGlzLnJvb3QudmFsdWUgPT09IHRoaXMuY2FsY1Jvb3QoaGV4KEVNUFRZX0hBU0gpIGFzIGJ5dGVzMzIsIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglieXRlIDB4ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgKCWR1cAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2NgoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjUm9vdChzaGEyNTYoZGF0YSksIHBhdGgpCglieXRlIDB4NzI2ZjZmNzQgLy8gInJvb3QiCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjY4CgkvLyB0aGlzLnNpemUudmFsdWUgPSB0aGlzLnNpemUudmFsdWUgKyAxCglieXRlIDB4NzM2OTdhNjUgLy8gInNpemUiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gdXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVMZWFmOgoJLy8gcGF0aDogYnl0ZVszM11bM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgOTkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF0aCkgZm9yIHVwZGF0ZUxlYWYgbXVzdCBiZSBhIGJ5dGVbMzNdWzNdCglhc3NlcnQKCgkvLyBuZXdEYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gb2xkRGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgdXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgdXBkYXRlTGVhZgoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlTGVhZihvbGREYXRhOiBieXRlcywgbmV3RGF0YTogYnl0ZXMsIHBhdGg6IFBhdGgpOiB2b2lkCnVwZGF0ZUxlYWY6Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NzIKCS8vIGFzc2VydChuZXdEYXRhICE9PSAnJykKCWZyYW1lX2RpZyAtMiAvLyBuZXdEYXRhOiBieXRlcwoJYnl0ZSAweCAvLyAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MwoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYob2xkRGF0YSksIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMyAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgLTEgLy8gb2xkRGF0YTogYnl0ZXMKCXNoYTI1NgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjUm9vdChzaGEyNTYobmV3RGF0YSksIHBhdGgpCglieXRlIDB4NzI2ZjZmNzQgLy8gInJvb3QiCglmcmFtZV9kaWcgLTMgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0yIC8vIG5ld0RhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZCIKCW1ldGhvZCAiYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZCIKCW1ldGhvZCAidXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3ZlcmlmeSAqYWJpX3JvdXRlX2FwcGVuZExlYWYgKmFiaV9yb3V0ZV91cGRhdGVMZWFmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9EZWxldGVBcHBsaWNhdGlvbjoKCW1ldGhvZCAiZGVsZXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2RlbGV0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgRGVsZXRlQXBwbGljYXRpb24KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2FsY0luaXRSb290KCk6IGJ5dGVzMzIKY2FsY0luaXRSb290OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoxNwoJLy8gcmVzdWx0ID0gaGV4KEVNUFRZX0hBU0gpIGFzIGJ5dGVzMzIKCWJ5dGUgMHhlM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweAoJZHVwCgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoxOQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnQgMwoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoyMAoJLy8gcmVzdWx0ID0gc2hhMjU2KHJlc3VsdCArIHJlc3VsdCkKCWZyYW1lX2RpZyAwIC8vIHJlc3VsdDogYnl0ZVszMl0KCWZyYW1lX2RpZyAwIC8vIHJlc3VsdDogYnl0ZVszMl0KCWNvbmNhdAoJc2hhMjU2CglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjIzCgkvLyByZXR1cm4gcmVzdWx0OwoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gaGFzaENvbmNhdChsZWZ0OiBieXRlczMyLCByaWdodDogYnl0ZXMzMik6IGJ5dGVzMzIKaGFzaENvbmNhdDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czoyNwoJLy8gcmV0dXJuIHNoYTI1NihsZWZ0ICsgcmlnaHQpOwoJZnJhbWVfZGlnIC0xIC8vIGxlZnQ6IGJ5dGVzMzIKCWZyYW1lX2RpZyAtMiAvLyByaWdodDogYnl0ZXMzMgoJY29uY2F0CglzaGEyNTYKCXJldHN1YgoKLy8gaXNSaWdodFNpYmxpbmcoZWxlbTogQnJhbmNoKTogYm9vbGVhbgppc1JpZ2h0U2libGluZzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozMQoJLy8gcmV0dXJuIGdldGJ5dGUoZWxlbSwgMCkgPT09IFJJR0hUX1NJQkxJTkdfUFJFRklYOwoJZnJhbWVfZGlnIC0xIC8vIGVsZW06IEJyYW5jaAoJaW50IDAKCWdldGJ5dGUKCWludCAxNzAKCT09CglyZXRzdWIKCi8vIGNhbGNSb290KGxlYWY6IGJ5dGVzMzIsIHBhdGg6IFBhdGgpOiBieXRlczMyCmNhbGNSb290OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozNwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjM3CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMwoJPAoJYnogKmZvcl8xX2VuZAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo0MAoJLy8gdGhpcy5pc1JpZ2h0U2libGluZyhlbGVtKQoJZnJhbWVfZGlnIC0yIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAxIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vZWxlbQoJaW50IDMzCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAzMwoJZXh0cmFjdDMKCWNhbGxzdWIgaXNSaWdodFNpYmxpbmcKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQxCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQocmVzdWx0LCBleHRyYWN0MyhlbGVtLCAxLCAzMikgYXMgYnl0ZXMzMikKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgMSAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2VsZW0KCWludCAzMwoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMzMKCWV4dHJhY3QzCglleHRyYWN0IDEgMzIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAzMiAwCglieXRlIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQzCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQoZXh0cmFjdDMoZWxlbSwgMSwgMzIpIGFzIGJ5dGVzMzIsIHJlc3VsdCkKCWZyYW1lX2RpZyAtMSAvLyBsZWFmOiBieXRlczMyCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIDEgLy8gc2F2ZWQgYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCglpbnQgMzMKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDMzCglleHRyYWN0MwoJZXh0cmFjdCAxIDMyCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMzIgMAoJYnl0ZSAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoKKmlmMF9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MzcKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NDcKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NTEKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFwcC5jcmVhdG9yIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5jcmVhdG9yIn0KCWFzc2VydAoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjSW5pdFJvb3QoKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJY2FsbHN1YiBjYWxjSW5pdFJvb3QKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeToKCS8vIHBhdGg6IGJ5dGVbMzNdWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDk5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBhdGgpIGZvciB2ZXJpZnkgbXVzdCBiZSBhIGJ5dGVbMzNdWzNdCglhc3NlcnQKCgkvLyBkYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB2ZXJpZnkoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgdmVyaWZ5CglpbnQgMQoJcmV0dXJuCgovLyB2ZXJpZnkoZGF0YTogYnl0ZXMsIHBhdGg6IFBhdGgpOiB2b2lkCnZlcmlmeToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1OQoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYoZGF0YSksIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgLTEgLy8gZGF0YTogYnl0ZXMKCXNoYTI1NgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBhcHBlbmRMZWFmKGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkCiphYmlfcm91dGVfYXBwZW5kTGVhZjoKCS8vIHBhdGg6IGJ5dGVbMzNdWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDk5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBhdGgpIGZvciBhcHBlbmRMZWFmIG11c3QgYmUgYSBieXRlWzMzXVszXQoJYXNzZXJ0CgoJLy8gZGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiBhcHBlbmRMZWFmCglpbnQgMQoJcmV0dXJuCgovLyBhcHBlbmRMZWFmKGRhdGE6IGJ5dGVzLCBwYXRoOiBQYXRoKTogdm9pZAphcHBlbmRMZWFmOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjYzCgkvLyBhc3NlcnQoZGF0YSAhPT0gJycpCglmcmFtZV9kaWcgLTEgLy8gZGF0YTogYnl0ZXMKCWJ5dGUgMHggLy8gIiIKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NjQKCS8vIGFzc2VydCh0aGlzLnJvb3QudmFsdWUgPT09IHRoaXMuY2FsY1Jvb3QoaGV4KEVNUFRZX0hBU0gpIGFzIGJ5dGVzMzIsIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglieXRlIDB4ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgKCWR1cAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2NgoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjUm9vdChzaGEyNTYoZGF0YSksIHBhdGgpCglieXRlIDB4NzI2ZjZmNzQgLy8gInJvb3QiCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjY4CgkvLyB0aGlzLnNpemUudmFsdWUgPSB0aGlzLnNpemUudmFsdWUgKyAxCglieXRlIDB4NzM2OTdhNjUgLy8gInNpemUiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gdXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVMZWFmOgoJLy8gcGF0aDogYnl0ZVszM11bM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgOTkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF0aCkgZm9yIHVwZGF0ZUxlYWYgbXVzdCBiZSBhIGJ5dGVbMzNdWzNdCglhc3NlcnQKCgkvLyBuZXdEYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gb2xkRGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgdXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgdXBkYXRlTGVhZgoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlTGVhZihvbGREYXRhOiBieXRlcywgbmV3RGF0YTogYnl0ZXMsIHBhdGg6IFBhdGgpOiB2b2lkCnVwZGF0ZUxlYWY6Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NzIKCS8vIGFzc2VydChuZXdEYXRhICE9PSAnJykKCWZyYW1lX2RpZyAtMiAvLyBuZXdEYXRhOiBieXRlcwoJYnl0ZSAweCAvLyAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MwoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYob2xkRGF0YSksIHBhdGgpKQoJYnl0ZSAweDcyNmY2Zjc0IC8vICJyb290IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMyAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgLTEgLy8gb2xkRGF0YTogYnl0ZXMKCXNoYTI1NgoJY2FsbHN1YiBjYWxjUm9vdAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjUm9vdChzaGEyNTYobmV3RGF0YSksIHBhdGgpCglieXRlIDB4NzI2ZjZmNzQgLy8gInJvb3QiCglmcmFtZV9kaWcgLTMgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0yIC8vIG5ld0RhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZCIKCW1ldGhvZCAiYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZCIKCW1ldGhvZCAidXBkYXRlTGVhZihieXRlW10sYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3ZlcmlmeSAqYWJpX3JvdXRlX2FwcGVuZExlYWYgKmFiaV9yb3V0ZV91cGRhdGVMZWFmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9EZWxldGVBcHBsaWNhdGlvbjoKCW1ldGhvZCAiZGVsZXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2RlbGV0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgRGVsZXRlQXBwbGljYXRpb24KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/examples/non_abi/artifacts/NonABIExample.approval.teal b/examples/non_abi/artifacts/NonABIExample.approval.teal
index 10ae4529c..9151bdbd8 100644
--- a/examples/non_abi/artifacts/NonABIExample.approval.teal
+++ b/examples/non_abi/artifacts/NonABIExample.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// !!!! WARNING: This contract is *NOT* ARC4 compliant. It may contain ABI methods, but it also allows app calls where the first argument does NOT match an ABI selector
diff --git a/examples/non_abi/artifacts/NonABIExample.arc32.json b/examples/non_abi/artifacts/NonABIExample.arc32.json
index 72c31f965..8a2cae9d7 100644
--- a/examples/non_abi/artifacts/NonABIExample.arc32.json
+++ b/examples/non_abi/artifacts/NonABIExample.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gISEhISBXQVJOSU5HOiBUaGlzIGNvbnRyYWN0IGlzICpOT1QqIEFSQzQgY29tcGxpYW50LiBJdCBtYXkgY29udGFpbiBBQkkgbWV0aG9kcywgYnV0IGl0IGFsc28gYWxsb3dzIGFwcCBjYWxscyB3aGVyZSB0aGUgZmlyc3QgYXJndW1lbnQgZG9lcyBOT1QgbWF0Y2ggYW4gQUJJIHNlbGVjdG9yCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWRkKHg6IHVpbnQ2NCwgeTogdWludDY0KTogdWludDY0CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWJpQWRkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhYmlBZGQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhYmlBZGQoeDogdWludDY0LCB5OiB1aW50NjQpOiB1aW50NjQKYWJpQWRkOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTAKCS8vIHJldHVybiB0aGlzLmFkZCh4LCB5KTsKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWNhbGxzdWIgYWRkCglyZXRzdWIKCi8vIG5vbkFiaUFkZCgpOiB2b2lkCm5vbkFiaUFkZDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNQoJLy8geCA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVswXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjE2CgkvLyB5ID0gYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzFdKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCglmcmFtZV9idXJ5IDEgLy8geTogdWludDY0CgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTcKCS8vIGxvZyhpdG9iKHRoaXMuYWRkKHgsIHkpKSkKCWZyYW1lX2RpZyAxIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CgljYWxsc3ViIGFkZAoJaXRvYgoJbG9nCglyZXRzdWIKCi8vIG5vbkFiaVVwZGF0ZSgpOiB2b2lkCm5vbkFiaVVwZGF0ZToKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjIyCgkvLyBsb2coJ1VwZGF0ZWQhJykKCWJ5dGUgMHg1NTcwNjQ2MTc0NjU2NDIxIC8vICJVcGRhdGVkISIKCWxvZwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hYmlBZGQKCgkvLyAhISEhIFdBUk5JTkc6IG5vbi1BQkkgcm91dGluZwoJY2FsbHN1YiBub25BYmlBZGQKCWludCAxCglyZXR1cm4KCipjYWxsX1VwZGF0ZUFwcGxpY2F0aW9uOgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpVXBkYXRlCglpbnQgMQoJcmV0dXJu",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gISEhISBXQVJOSU5HOiBUaGlzIGNvbnRyYWN0IGlzICpOT1QqIEFSQzQgY29tcGxpYW50LiBJdCBtYXkgY29udGFpbiBBQkkgbWV0aG9kcywgYnV0IGl0IGFsc28gYWxsb3dzIGFwcCBjYWxscyB3aGVyZSB0aGUgZmlyc3QgYXJndW1lbnQgZG9lcyBOT1QgbWF0Y2ggYW4gQUJJIHNlbGVjdG9yCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWRkKHg6IHVpbnQ2NCwgeTogdWludDY0KTogdWludDY0CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWJpQWRkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhYmlBZGQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhYmlBZGQoeDogdWludDY0LCB5OiB1aW50NjQpOiB1aW50NjQKYWJpQWRkOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTAKCS8vIHJldHVybiB0aGlzLmFkZCh4LCB5KTsKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWNhbGxzdWIgYWRkCglyZXRzdWIKCi8vIG5vbkFiaUFkZCgpOiB2b2lkCm5vbkFiaUFkZDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNQoJLy8geCA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVswXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjE2CgkvLyB5ID0gYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzFdKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCglmcmFtZV9idXJ5IDEgLy8geTogdWludDY0CgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTcKCS8vIGxvZyhpdG9iKHRoaXMuYWRkKHgsIHkpKSkKCWZyYW1lX2RpZyAxIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CgljYWxsc3ViIGFkZAoJaXRvYgoJbG9nCglyZXRzdWIKCi8vIG5vbkFiaVVwZGF0ZSgpOiB2b2lkCm5vbkFiaVVwZGF0ZToKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjIyCgkvLyBsb2coJ1VwZGF0ZWQhJykKCWJ5dGUgMHg1NTcwNjQ2MTc0NjU2NDIxIC8vICJVcGRhdGVkISIKCWxvZwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hYmlBZGQKCgkvLyAhISEhIFdBUk5JTkc6IG5vbi1BQkkgcm91dGluZwoJY2FsbHN1YiBub25BYmlBZGQKCWludCAxCglyZXR1cm4KCipjYWxsX1VwZGF0ZUFwcGxpY2F0aW9uOgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpVXBkYXRlCglpbnQgMQoJcmV0dXJu",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/non_abi/artifacts/NonABIExample.arc56_draft.json b/examples/non_abi/artifacts/NonABIExample.arc56_draft.json
index 0a66759db..13eb883e0 100644
--- a/examples/non_abi/artifacts/NonABIExample.arc56_draft.json
+++ b/examples/non_abi/artifacts/NonABIExample.arc56_draft.json
@@ -69,560 +69,563 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 4,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 4,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 4,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 4,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 4,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 4,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 4,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 4,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 4,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 27,
- "source": 5,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 31,
- "source": 6,
- "pc": [
- 43,
- 44
- ]
- },
- {
- "teal": 32,
- "source": 6,
- "pc": [
- 45,
- 46
- ]
- },
- {
- "teal": 33,
- "source": 6,
- "pc": [
- 47
- ]
- },
- {
- "teal": 34,
- "source": 5,
- "pc": [
- 48
- ]
- },
- {
- "teal": 39,
- "source": 9,
- "pc": [
- 49,
- 50,
- 51,
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 42,
- "source": 9,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 43,
- "source": 9,
- "pc": [
- 58
- ]
- },
- {
- "teal": 46,
- "source": 9,
- "pc": [
- 59,
- 60,
- 61
- ]
- },
- {
- "teal": 47,
- "source": 9,
- "pc": [
- 62
- ]
- },
- {
- "teal": 50,
- "source": 9,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 51,
- "source": 9,
- "pc": [
- 66
- ]
- },
- {
- "teal": 52,
- "source": 9,
- "pc": [
- 67
- ]
- },
- {
- "teal": 53,
- "source": 9,
- "pc": [
- 68
- ]
- },
- {
- "teal": 54,
- "source": 9,
- "pc": [
- 69
- ]
- },
- {
- "teal": 55,
- "source": 9,
- "pc": [
- 70
- ]
- },
- {
- "teal": 59,
- "source": 9,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 63,
- "source": 10,
- "pc": [
- 74,
- 75
- ]
- },
- {
- "teal": 64,
- "source": 10,
- "pc": [
- 76,
- 77
- ]
- },
- {
- "teal": 65,
- "source": 10,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 66,
- "source": 9,
- "pc": [
- 81
- ]
- },
- {
- "teal": 70,
- "source": 13,
- "pc": [
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 73,
- "source": 13,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 74,
- "source": 13,
- "pc": [
- 87
- ]
- },
- {
- "teal": 78,
- "source": 15,
- "pc": [
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 79,
- "source": 15,
- "pc": [
- 91
- ]
- },
- {
- "teal": 80,
- "source": 15,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 84,
- "source": 16,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 85,
- "source": 16,
- "pc": [
- 97
- ]
- },
- {
- "teal": 86,
- "source": 16,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 90,
- "source": 17,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 91,
- "source": 17,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 92,
- "source": 17,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 93,
- "source": 17,
- "pc": [
- 107
- ]
- },
- {
- "teal": 94,
- "source": 17,
- "pc": [
- 108
- ]
- },
- {
- "teal": 95,
- "source": 13,
- "pc": [
- 109
- ]
- },
- {
- "teal": 99,
- "source": 20,
- "pc": [
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 103,
- "source": 22,
- "pc": [
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 104,
- "source": 22,
- "pc": [
- 123
- ]
- },
- {
- "teal": 105,
- "source": 20,
- "pc": [
- 124
- ]
- },
- {
- "teal": 108,
- "source": 4,
- "pc": [
- 125
- ]
- },
- {
- "teal": 109,
- "source": 4,
- "pc": [
- 126
- ]
- },
- {
- "teal": 112,
- "source": 4,
- "pc": [
- 127,
- 128,
- 129,
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 113,
- "source": 4,
- "pc": [
- 133,
- 134,
- 135
- ]
- },
- {
- "teal": 114,
- "source": 4,
- "pc": [
- 136,
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 117,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 140
- ]
- },
- {
- "teal": 120,
- "source": 4,
- "pc": [
- 141,
- 142,
- 143,
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 121,
- "source": 4,
- "pc": [
- 147,
- 148,
- 149
- ]
- },
- {
- "teal": 122,
- "source": 4,
- "pc": [
- 150,
- 151,
- 152,
- 153
- ]
- },
- {
- "teal": 125,
- "source": 4,
- "pc": [
- 154,
- 155,
- 156
- ]
- },
- {
- "teal": 126,
- "source": 4,
- "pc": [
- 157
- ]
- },
- {
- "teal": 127,
- "source": 4,
- "pc": [
- 158
- ]
- },
- {
- "teal": 131,
- "source": 4,
- "pc": [
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 132,
- "source": 4,
- "pc": [
- 162
- ]
- },
- {
- "teal": 133,
- "source": 4,
- "pc": [
- 163
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 4,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 4,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 4,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 4,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 4,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 4,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 4,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 4,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 4,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 27,
+ "source": 5,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 6,
+ "pc": [
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 6,
+ "pc": [
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 6,
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 5,
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 9,
+ "pc": [
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 9,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 9,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 9,
+ "pc": [
+ 59,
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 9,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 9,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 9,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 9,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 9,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 9,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 9,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 9,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 10,
+ "pc": [
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 10,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 10,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 9,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 13,
+ "pc": [
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 13,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 13,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 15,
+ "pc": [
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 15,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 15,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 16,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 16,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 16,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 17,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 17,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 17,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 17,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 17,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 13,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 20,
+ "pc": [
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 22,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 22,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 20,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 4,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 4,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 4,
+ "pc": [
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 4,
+ "pc": [
+ 133,
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 4,
+ "pc": [
+ 136,
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 4,
+ "pc": [
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 4,
+ "pc": [
+ 147,
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 4,
+ "pc": [
+ 150,
+ 151,
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 4,
+ "pc": [
+ 154,
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 4,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 4,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 4,
+ "pc": [
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 4,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 4,
+ "pc": [
+ 163
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gISEhISBXQVJOSU5HOiBUaGlzIGNvbnRyYWN0IGlzICpOT1QqIEFSQzQgY29tcGxpYW50LiBJdCBtYXkgY29udGFpbiBBQkkgbWV0aG9kcywgYnV0IGl0IGFsc28gYWxsb3dzIGFwcCBjYWxscyB3aGVyZSB0aGUgZmlyc3QgYXJndW1lbnQgZG9lcyBOT1QgbWF0Y2ggYW4gQUJJIHNlbGVjdG9yCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWRkKHg6IHVpbnQ2NCwgeTogdWludDY0KTogdWludDY0CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWJpQWRkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhYmlBZGQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhYmlBZGQoeDogdWludDY0LCB5OiB1aW50NjQpOiB1aW50NjQKYWJpQWRkOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTAKCS8vIHJldHVybiB0aGlzLmFkZCh4LCB5KTsKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWNhbGxzdWIgYWRkCglyZXRzdWIKCi8vIG5vbkFiaUFkZCgpOiB2b2lkCm5vbkFiaUFkZDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNQoJLy8geCA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVswXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjE2CgkvLyB5ID0gYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzFdKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCglmcmFtZV9idXJ5IDEgLy8geTogdWludDY0CgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTcKCS8vIGxvZyhpdG9iKHRoaXMuYWRkKHgsIHkpKSkKCWZyYW1lX2RpZyAxIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CgljYWxsc3ViIGFkZAoJaXRvYgoJbG9nCglyZXRzdWIKCi8vIG5vbkFiaVVwZGF0ZSgpOiB2b2lkCm5vbkFiaVVwZGF0ZToKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjIyCgkvLyBsb2coJ1VwZGF0ZWQhJykKCWJ5dGUgMHg1NTcwNjQ2MTc0NjU2NDIxIC8vICJVcGRhdGVkISIKCWxvZwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hYmlBZGQKCgkvLyAhISEhIFdBUk5JTkc6IG5vbi1BQkkgcm91dGluZwoJY2FsbHN1YiBub25BYmlBZGQKCWludCAxCglyZXR1cm4KCipjYWxsX1VwZGF0ZUFwcGxpY2F0aW9uOgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpVXBkYXRlCglpbnQgMQoJcmV0dXJu",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gISEhISBXQVJOSU5HOiBUaGlzIGNvbnRyYWN0IGlzICpOT1QqIEFSQzQgY29tcGxpYW50LiBJdCBtYXkgY29udGFpbiBBQkkgbWV0aG9kcywgYnV0IGl0IGFsc28gYWxsb3dzIGFwcCBjYWxscyB3aGVyZSB0aGUgZmlyc3QgYXJndW1lbnQgZG9lcyBOT1QgbWF0Y2ggYW4gQUJJIHNlbGVjdG9yCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWRkKHg6IHVpbnQ2NCwgeTogdWludDY0KTogdWludDY0CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWJpQWRkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhYmlBZGQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhYmlBZGQoeDogdWludDY0LCB5OiB1aW50NjQpOiB1aW50NjQKYWJpQWRkOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTAKCS8vIHJldHVybiB0aGlzLmFkZCh4LCB5KTsKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWNhbGxzdWIgYWRkCglyZXRzdWIKCi8vIG5vbkFiaUFkZCgpOiB2b2lkCm5vbkFiaUFkZDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNQoJLy8geCA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVswXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjE2CgkvLyB5ID0gYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzFdKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCglmcmFtZV9idXJ5IDEgLy8geTogdWludDY0CgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTcKCS8vIGxvZyhpdG9iKHRoaXMuYWRkKHgsIHkpKSkKCWZyYW1lX2RpZyAxIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CgljYWxsc3ViIGFkZAoJaXRvYgoJbG9nCglyZXRzdWIKCi8vIG5vbkFiaVVwZGF0ZSgpOiB2b2lkCm5vbkFiaVVwZGF0ZToKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjIyCgkvLyBsb2coJ1VwZGF0ZWQhJykKCWJ5dGUgMHg1NTcwNjQ2MTc0NjU2NDIxIC8vICJVcGRhdGVkISIKCWxvZwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hYmlBZGQKCgkvLyAhISEhIFdBUk5JTkc6IG5vbi1BQkkgcm91dGluZwoJY2FsbHN1YiBub25BYmlBZGQKCWludCAxCglyZXR1cm4KCipjYWxsX1VwZGF0ZUFwcGxpY2F0aW9uOgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpVXBkYXRlCglpbnQgMQoJcmV0dXJu",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/examples/optin-lsig/artifacts/LsigExample.lsig.teal b/examples/optin-lsig/artifacts/LsigExample.lsig.teal
index 36e09b843..df11939f7 100644
--- a/examples/optin-lsig/artifacts/LsigExample.lsig.teal
+++ b/examples/optin-lsig/artifacts/LsigExample.lsig.teal
@@ -1,7 +1,7 @@
#pragma version 10
//#pragma mode logicsig
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// The address of this logic signature is R3AXSKEZHFTAMBE7AVWQDHXIPPOUJ3WJBOSR7CQIZCIN6FQLYLKGYNKLDA
diff --git a/examples/reti/artifacts/StakingPool.approval.teal b/examples/reti/artifacts/StakingPool.approval.teal
index 28f4ff396..c72684319 100644
--- a/examples/reti/artifacts/StakingPool.approval.teal
+++ b/examples/reti/artifacts/StakingPool.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/reti/artifacts/StakingPool.arc32.json b/examples/reti/artifacts/StakingPool.arc32.json
index 4446c3942..7e9e37656 100644
--- a/examples/reti/artifacts/StakingPool.arc32.json
+++ b/examples/reti/artifacts/StakingPool.arc32.json
@@ -161,7 +161,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9mZWVTaW5rQWRkcgpzdG9yZSAyMDEKcHVzaGJ5dGVzIFRNUExfbmZkUmVnaXN0cnlBcHBJZApidG9pCnN0b3JlIDIwMAoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfVXBkYXRlQXBwbGljYXRpb24gKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfdXBkYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIHVwZGF0ZUFwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVBcHBsaWNhdGlvbigpOiB2b2lkCnVwZGF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IEFkZHJlc3MuZnJvbUFkZHJlc3MoJ0xaNFYySVJWTENYRkpLNFJFSlY0VEFHRUtFWVRBMkdNUjZUQzIzNDRPQjNMM0FGM01XWFo2WkFGSVEnKSwKCS8vICAgICAgICdUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50JwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWFkZHIgTFo0VjJJUlZMQ1hGSks0UkVKVjRUQUdFS0VZVEEyR01SNlRDMjM0NE9CM0wzQUYzTVdYWjZaQUZJUQoJPT0KCgkvLyBUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50Cglhc3NlcnQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGNyZWF0aW5nQ29udHJhY3RJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY3JlYXRpbmdDb250cmFjdElkOiB1aW50NjQsIHZhbGlkYXRvcklkOiB1aW50NjQsIHBvb2xJZDogdWludDY0LCBtaW5FbnRyeVN0YWtlOiB1aW50NjQpOiB2b2lkCi8vCi8vIEluaXRpYWxpemUgdGhlIHN0YWtpbmcgcG9vbCB3LyBvd25lciBhbmQgbWFuYWdlciwgYnV0IGNhbiBvbmx5IGJlIGNyZWF0ZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdC4KLy8gQHBhcmFtIHt1aW50NjR9IGNyZWF0aW5nQ29udHJhY3RJZCAtIGlkIG9mIGNvbnRyYWN0IHRoYXQgY29uc3RydWN0ZWQgdXMgLSB0aGUgdmFsaWRhdG9yIGFwcGxpY2F0aW9uIChzaW5nbGUgZ2xvYmFsIGluc3RhbmNlKQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgLSBpZCBvZiB2YWxpZGF0b3Igd2UncmUgYSBzdGFraW5nIHBvb2wgb2YKLy8gQHBhcmFtIHt1aW50NjR9IHBvb2xJZCAtIHdoaWNoIHBvb2wgaWQgYXJlIHdlCi8vIEBwYXJhbSB7dWludDY0fSBtaW5FbnRyeVN0YWtlIC0gbWluaW11bSBhbW91bnQgdG8gYmUgaW4gcG9vbCwgYnV0IGFsc28gbWluaW11bSBhbW91bnQgYmFsYW5jZSBjYW4ndCBnbyBiZWxvdyAod2l0aG91dCByZW1vdmluZyBhbGwhKQpjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDQgMAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTA4CgkvLyBjcmVhdGluZ0NvbnRyYWN0SWQgPT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTAKCS8vIGFzc2VydCh2YWxpZGF0b3JJZCA9PT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTEKCS8vIGFzc2VydChwb29sSWQgPT09IDApCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWludCAwCgk9PQoJYXNzZXJ0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTEzCgkvLyBhc3NlcnQodmFsaWRhdG9ySWQgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE0CgkvLyBhc3NlcnQocG9vbElkICE9PSAwKQoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglpbnQgMAoJIT0KCWFzc2VydAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE2CgkvLyBhc3NlcnQobWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC00IC8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJaW50IDEwMDAwMDAKCT49CgoJLy8gc3Rha2luZyBwb29sIG11c3QgaGF2ZSBtaW5pbXVtIGVudHJ5IG9mIDEgYWxnbwoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjExNwoJLy8gdGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUgPSBjcmVhdGluZ0NvbnRyYWN0SWQKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE4CgkvLyB0aGlzLnZhbGlkYXRvcklkLnZhbHVlID0gdmFsaWRhdG9ySWQKCWJ5dGUgMHg3NjYxNmM2OTY0NjE3NDZmNzI0OTY0IC8vICJ2YWxpZGF0b3JJZCIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTkKCS8vIHRoaXMucG9vbElkLnZhbHVlID0gcG9vbElkCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMAoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlID0gMAoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMQoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgPSAwCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglpbnQgMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTIyCgkvLyB0aGlzLm1pbkVudHJ5U3Rha2UudmFsdWUgPSBtaW5FbnRyeVN0YWtlCglieXRlIDB4NmQ2OTZlNDU2ZTc0NzI3OTUzNzQ2MTZiNjUgLy8gIm1pbkVudHJ5U3Rha2UiCglmcmFtZV9kaWcgLTQgLy8gbWluRW50cnlTdGFrZTogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjMKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGdsb2JhbHMucm91bmQKCWJ5dGUgMHg2YzYxNzM3NDUwNjE3OTZmNzU3NCAvLyAibGFzdFBheW91dCIKCWdsb2JhbCBSb3VuZAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI0CgkvLyB0aGlzLmVwb2NoTnVtYmVyLnZhbHVlID0gMAoJYnl0ZSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgLy8gImVwb2NoTnVtYmVyIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyNgoJLy8gdGhpcy5zZXRSb3VuZHNQZXJEYXkoKQoJY2FsbHN1YiBzZXRSb3VuZHNQZXJEYXkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI3CgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJJQoJLQoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI4CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI5CgkvLyB0aGlzLnJld2FyZEFjY3VtdWxhdG9yLnZhbHVlID0gMAoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEzMAoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGUgMHg2NTc3NmQ2MSAvLyAiZXdtYSIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZ2FzKCl2b2lkCiphYmlfcm91dGVfZ2FzOgoJLy8gZXhlY3V0ZSBnYXMoKXZvaWQKCWNhbGxzdWIgZ2FzCglpbnQgMQoJcmV0dXJuCgovLyBnYXMoKTogdm9pZAovLwovLyBnYXMgaXMgYSBkdW1teSBuby1vcCBjYWxsIHRoYXQgY2FuIGJlIHVzZWQgdG8gcG9vbC11cCByZXNvdXJjZSByZWZlcmVuY2VzIGFuZCBvcGNvZGUgY29zdApnYXM6Cglwcm90byAwIDAKCXJldHN1YgoKLy8gY29zdEZvckJveFN0b3JhZ2UodG90YWxOdW1CeXRlczogdWludDY0KTogdWludDY0CmNvc3RGb3JCb3hTdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE0MgoJLy8gcmV0dXJuIFNDQk9YX1BFUkJPWCArIHRvdGFsTnVtQnl0ZXMgKiBTQ0JPWF9QRVJCWVRFOwoJaW50IDI1MDAKCWZyYW1lX2RpZyAtMSAvLyB0b3RhbE51bUJ5dGVzOiB1aW50NjQKCWludCA0MDAKCSoKCSsKCXJldHN1YgoKLy8gaW5pdFN0b3JhZ2UocGF5KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3RvcmFnZToKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKG1iclBheW1lbnQpIGZvciBpbml0U3RvcmFnZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGluaXRTdG9yYWdlKHBheSl2b2lkCgljYWxsc3ViIGluaXRTdG9yYWdlCglpbnQgMQoJcmV0dXJuCgovLyBpbml0U3RvcmFnZShtYnJQYXltZW50OiBQYXlUeG4pOiB2b2lkCi8vCi8vIENhbGxlZCBhZnRlciB3ZSdyZSBjcmVhdGVkIGFuZCB0aGVuIGZ1bmRlZCwgc28gd2UgY2FuIGNyZWF0ZSBvdXIgbGFyZ2Ugc3Rha2VycyBsZWRnZXIgc3RvcmFnZQovLyBDYWxsZXIgaGFzIHRvIGdldCBNQlIgYW1vdW50cyBmcm9tIFZhbGlkYXRvclJlZ2lzdHJ5IHRvIGtub3cgaG93IG11Y2ggdG8gZnVuZCB1cyB0byBjb3ZlciB0aGUgYm94IHN0b3JhZ2UgY29zdAovLyBJZiB0aGlzIGlzIHBvb2wgMSBBTkQgdGhlIHZhbGlkYXRvciBoYXMgc3BlY2lmaWVkIGEgcmV3YXJkIHRva2VuLCBvcHQtaW4gdG8gdGhhdCB0b2tlbgovLyBzbyB0aGF0IHRoZSB2YWxpZGF0b3IgY2FuIHNlZWQgdGhlIHBvb2wgd2l0aCBmdXR1cmUgcmV3YXJkcyBvZiB0aGF0IHRva2VuLgovLyBAcGFyYW0gbWJyUGF5bWVudCBwYXltZW50IGZyb20gY2FsbGVyIHdoaWNoIGNvdmVycyBtYnIgaW5jcmVhc2Ugb2YgbmV3IHN0YWtpbmcgcG9vbHMnIHN0b3JhZ2UKaW5pdFN0b3JhZ2U6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1MwoJLy8gYXNzZXJ0KCF0aGlzLnN0YWtlcnMuZXhpc3RzLCAnc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQnKQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCgoJLy8gc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTYKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1OAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjAKCS8vIGlzVG9rZW5FbGlnaWJsZSA9IHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaW50IDAKCSE9CglmcmFtZV9idXJ5IDEgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MQoJLy8gZXh0cmFNQlIgPSBpc1Rva2VuRWxpZ2libGUgJiYgdGhpcy5wb29sSWQudmFsdWUgPT09IDEgPyBBU1NFVF9IT0xESU5HX0ZFRSA6IDAKCWZyYW1lX2RpZyAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJZHVwCglieiAqc2tpcF9hbmQwCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgkmJgoKKnNraXBfYW5kMDoKCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJaW50IDEwMDAwMAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnQgMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyBleHRyYU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MgoJLy8gUG9vbEluaXRNYnIgPQoJLy8gICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICBleHRyYU1CUiArCgkvLyAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKQoJaW50IDEwMDAwMAoJZnJhbWVfZGlnIDIgLy8gZXh0cmFNQlI6IHVpbnQ2NAoJKwoJaW50IDEyODA3CgljYWxsc3ViIGNvc3RGb3JCb3hTdG9yYWdlCgkrCglmcmFtZV9idXJ5IDMgLy8gUG9vbEluaXRNYnI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjgKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IFBvb2xJbml0TWJyIH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDMgLy8gUG9vbEluaXRNYnI6IHVpbnQ2NAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoiUG9vbEluaXRNYnIifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2OQoJLy8gdGhpcy5zdGFrZXJzLmNyZWF0ZSgpCglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCglpbnQgMTI4MDAKCWJveF9jcmVhdGUKCXBvcAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTcxCgkvLyBpc1Rva2VuRWxpZ2libGUgJiYgdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWZyYW1lX2RpZyAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJZHVwCglieiAqc2tpcF9hbmQxCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTczCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgICAgYXNzZXRBbW91bnQ6IDAsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE3NAoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc1CgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE3NgoJLy8gYXNzZXRBbW91bnQ6IDAKCWludCAwCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMV9lbmQ6CglyZXRzdWIKCi8vIGFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NAoqYWJpX3JvdXRlX2FkZFN0YWtlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoc3Rha2VyKSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDEgKHN0YWtlZEFtb3VudFBheW1lbnQpIGZvciBhZGRTdGFrZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NAoJY2FsbHN1YiBhZGRTdGFrZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgc3Rha2VyOiBBZGRyZXNzKTogdWludDY0Ci8vCi8vIEFkZHMgc3Rha2UgdG8gdGhlIGdpdmVuIGFjY291bnQuCi8vIENhbiBPTkxZIGJlIGNhbGxlZCBieSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0IHRoYXQgY3JlYXRlZCB1cwovLyBNdXN0IHJlY2VpdmUgcGF5bWVudCBmcm9tIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIGFtb3VudCBiZWluZyBzdGFrZWQuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IHByaW9yIHBheW1lbnQgY29taW5nIGZyb20gdmFsaWRhdG9yIGNvbnRyYWN0IHRvIHVzIG9uIGJlaGFsZiBvZiBzdGFrZXIuCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFjY291bnQgYWRkaW5nIG5ldyBzdGFrZQovLyBAdGhyb3dzIHtFcnJvcn0gLSBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIHN0YWtpbmcgcG9vbCBpcyBmdWxsLgovLyBAcmV0dXJucyB7dWludDY0fSBuZXcgJ2VudHJ5IHJvdW5kJyByb3VuZCBudW1iZXIgb2Ygc3Rha2UgYWRkCmFkZFN0YWtlOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTIKCS8vIGFzc2VydCh0aGlzLnN0YWtlcnMuZXhpc3RzLCAnc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QnKQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICdzdGFrZSBjYW4gb25seSBiZSBhZGRlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoKCS8vIHN0YWtlIGNhbiBvbmx5IGJlIGFkZGVkIHZpYSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTk5CgkvLyBhc3NlcnQoc3Rha2VyICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIwMgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMDYKCS8vIHZlcmlmeVBheVR4bihzdGFrZWRBbW91bnRQYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MsCgkvLyAgICAgICByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFtb3VudDogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjE1CgkvLyBlbnRyeVJvdW5kID0gZ2xvYmFscy5yb3VuZCArIEFMR09SQU5EX1NUQUtJTkdfQkxPQ0tfREVMQVkKCWdsb2JhbCBSb3VuZAoJaW50IDMyMAoJKwoJZnJhbWVfYnVyeSAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMTYKCS8vIGZpcnN0RW1wdHkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMTgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50CglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjAKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlIDB4NzM3NDYxNmI2NTQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWl0b2IKCWZyYW1lX2RpZyAyIC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAzIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8wX2VuZAoKCS8vICppZjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI2CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyOQoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMwCgkvLyBjbXBTdGFrZXIuYWNjb3VudCA9PT0gc3Rha2VyCglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjNfZW5kCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMyCgkvLyBjbXBTdGFrZXIuYmFsYW5jZSArPSBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnQgMzIgLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMzCgkvLyBjbXBTdGFrZXIuZW50cnlSb3VuZCA9IGVudHJ5Um91bmQKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDU2IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM2CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbaV0gPSBjbXBTdGFrZXIKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM4CgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJYiAqYWRkU3Rha2UqcmV0dXJuCgoqaWYzX2VuZDoKCS8vICppZjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQwCgkvLyBmaXJzdEVtcHR5ID09PSAwICYmIGNtcFN0YWtlci5hY2NvdW50ID09PSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJZHVwCglieiAqc2tpcF9hbmQyCglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJJiYKCipza2lwX2FuZDI6CglieiAqaWY0X2VuZAoKCS8vICppZjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI0MQoJLy8gZmlyc3RFbXB0eSA9IGkgKyAxCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoqaWY0X2VuZDoKCipmb3JfMF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjUKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAzIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyAqaWY1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI0NQoJLy8gZmlyc3RFbXB0eSA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnQgMAoJPT0KCWJ6ICppZjVfZW5kCgoJLy8gKmlmNV9jb25zZXF1ZW50CgkvLyBTdGFraW5nIHBvb2wgZnVsbAoJZXJyCgoqaWY1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTIKCS8vIGFzc2VydChzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCA+PSB0aGlzLm1pbkVudHJ5U3Rha2UudmFsdWUsICdtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wnKQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglieXRlIDB4NmQ2OTZlNDU2ZTc0NzI3OTUzNzQ2MTZiNjUgLy8gIm1pbkVudHJ5U3Rha2UiCglhcHBfZ2xvYmFsX2dldAoJPj0KCgkvLyBtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTQKCS8vIGFzc2VydCh0aGlzLnN0YWtlcnMudmFsdWVbZmlyc3RFbXB0eSAtIDFdLmFjY291bnQgPT09IGdsb2JhbHMuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAxCgktCglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCAzMgoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTUKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtmaXJzdEVtcHR5IC0gMV0gPSB7CgkvLyAgICAgICBhY2NvdW50OiBzdGFrZXIsCgkvLyAgICAgICBiYWxhbmNlOiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCwKCS8vICAgICAgIHRvdGFsUmV3YXJkZWQ6IDAsCgkvLyAgICAgICByZXdhcmRUb2tlbkJhbGFuY2U6IDAsCgkvLyAgICAgICBlbnRyeVJvdW5kOiBlbnRyeVJvdW5kLAoJLy8gICAgIH0KCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50IDEKCS0KCWludCA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gZW50cnlSb3VuZDogdWludDY0CglpdG9iCgljb25jYXQKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI2MgoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlICs9IDEKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjYzCgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKKmFkZFN0YWtlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3JlbW92ZVN0YWtlOgoJLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc3Rha2VyKSBmb3IgcmVtb3ZlU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoJY2FsbHN1YiByZW1vdmVTdGFrZQoJaW50IDEKCXJldHVybgoKLy8gcmVtb3ZlU3Rha2Uoc3Rha2VyOiBBZGRyZXNzLCBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gUmVtb3ZlcyBzdGFrZSBvbiBiZWhhbGYgb2YgY2FsbGVyIChyZW1vdmluZyBvd24gc3Rha2UpLiAgSWYgYW55IHRva2VuIHJld2FyZHMgZXhpc3QsIHRob3NlIGFyZSBhbHdheXMgc2VudCBpbgovLyBmdWxsLiBBbHNvIG5vdGlmaWVzIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIHRoaXMgcG9vbHMgdmFsaWRhdG9yIG9mIHRoZSBzdGFrZXIgLyBiYWxhbmNlIGNoYW5nZXMuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gYWNjb3VudCB0byByZW1vdmUuICBub3JtYWxseSBzYW1lIGFzIHNlbmRlciwgYnV0IHRoZSB2YWxpZGF0b3Igb3duZXIgb3IgbWFuYWdlciBjYW4gYWxzbyBjYWxsCi8vIHRoaXMgdG8gcmVtb3ZlIHRoZSBzcGVjaWZpZWQgc3Rha2VyIGV4cGxpY2l0bHkuIFRoZSByZW1vdmVkIHN0YWtlIE1VU1Qgb25seSBnbyB0byB0aGUgc3Rha2VyIG9mIGNvdXJzZS4gIFRoaXMgaXMKLy8gc28gYSB2YWxpZGF0b3IgY2FuIHNodXQgZG93biBhIHBvb29sIGFuZCByZWZ1bmQgdGhlIHN0YWtlcnMuICBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIGtpY2sgb3V0IHN0YWtlcnMgd2hvIG5vIGxvbmdlcgovLyBtZWV0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIChkZXRlcm1pbmVkIGJ5IHRoZSBub2RlIGRhZW1vbikuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1Vuc3Rha2UgLSBUaGUgYW1vdW50IG9mIHN0YWtlIHRvIGJlIHJlbW92ZWQuICBTcGVjaWZ5IDAgdG8gcmVtb3ZlIGFsbCBzdGFrZS4KLy8gQHRocm93cyB7RXJyb3J9IElmIHRoZSBhY2NvdW50IGhhcyBpbnN1ZmZpY2llbnQgYmFsYW5jZSBvciBpZiB0aGUgYWNjb3VudCBpcyBub3QgZm91bmQuCnJlbW92ZVN0YWtlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNgoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgwCgkvLyBzdGFrZXIgIT09IHRoaXMudHhuLnNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJIT0KCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLAoJLy8gICAgICAgICAnSWYgc3Rha2VyIGlzIG5vdCBzZW5kZXIgaW4gcmVtb3ZlU3Rha2UgY2FsbCwgdGhlbiBzZW5kZXIgTVVTVCBiZSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICAgICkKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIElmIHN0YWtlciBpcyBub3Qgc2VuZGVyIGluIHJlbW92ZVN0YWtlIGNhbGwsIHRoZW4gc2VuZGVyIE1VU1QgYmUgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKKmlmNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjg3CgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjkwCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTEKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5MwoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjk0CgkvLyBjbXBTdGFrZXIuYWNjb3VudCA9PT0gc3Rha2VyCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjhfZW5kCgoJLy8gKmlmOF9jb25zZXF1ZW50CgkvLyAqaWY5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5NQoJLy8gYW1vdW50VG9VbnN0YWtlID09PSAwCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmOV9lbmQKCgkvLyAqaWY5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTcKCS8vIGFtb3VudFRvVW5zdGFrZSA9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfYnVyeSAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoKKmlmOV9lbmQ6CgkvLyAqaWYxMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTkKCS8vIGNtcFN0YWtlci5iYWxhbmNlIDwgYW1vdW50VG9VbnN0YWtlCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0Cgk8CglieiAqaWYxMF9lbmQKCgkvLyAqaWYxMF9jb25zZXF1ZW50CgkvLyBJbnN1ZmZpY2llbnQgYmFsYW5jZQoJZXJyCgoqaWYxMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzAyCgkvLyBjbXBTdGFrZXIuYmFsYW5jZSAtPSBhbW91bnRUb1Vuc3Rha2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCS0KCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwMwoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50VG9VbnN0YWtlCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CgktCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDUKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDYKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPiAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDggOAoJYnRvaQoJaW50IDAKCT4KCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vICppZjEyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwOAoJLy8gdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJPT0KCWJ6ICppZjEyX2Vsc2UKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA5CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzEwCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTEKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDMgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgICAgICAgICBhc3NldEFtb3VudDogY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSwKCS8vICAgICAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE4CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTkKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyMAoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjIKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzIzCgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTJfZW5kCgoqaWYxMl9lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyOAoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTJfZW5kOgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgIGNtcFN0YWtlci5iYWxhbmNlID09PSAwIHx8IGNtcFN0YWtlci5iYWxhbmNlID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwKCS8vICAgICAgICAgICAnY2Fubm90IHJlZHVjZSBiYWxhbmNlIGJlbG93IG1pbmltdW0gYWxsb3dlZCBzdGFrZSB1bmxlc3MgYWxsIGlzIHJlbW92ZWQnCgkvLyAgICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnQgMAoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWJ5dGUgMHg2ZDY5NmU0NTZlNzQ3Mjc5NTM3NDYxNmI2NSAvLyAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoJfHwKCipza2lwX29yMDoKCS8vIGNhbm5vdCByZWR1Y2UgYmFsYW5jZSBiZWxvdyBtaW5pbXVtIGFsbG93ZWQgc3Rha2UgdW5sZXNzIGFsbCBpcyByZW1vdmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQyCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgYW1vdW50OiBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgcmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICBub3RlOiAndW5zdGFrZWQnLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDMKCS8vIGFtb3VudDogYW1vdW50VG9VbnN0YWtlCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0NAoJLy8gcmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDUKCS8vIG5vdGU6ICd1bnN0YWtlZCcKCWJ5dGUgMHg3NTZlNzM3NDYxNmI2NTY0IC8vICJ1bnN0YWtlZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ3CgkvLyBzdGFrZXJSZW1vdmVkID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0OAoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSAtPSAxCglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCS0KCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MQoJLy8gY21wU3Rha2VyLmFjY291bnQgPSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCAwCglnbG9iYWwgWmVyb0FkZHJlc3MKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0MAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTQKCS8vIHN0YWtlclJlbW92ZWQgPSB0cnVlCglpbnQgMQoJZnJhbWVfYnVyeSA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTkKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgNSAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjAKCS8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4ID0gKGFtb3VudFRvVW5zdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDUgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCWl0b2IKCWIqCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyAoYW1vdW50VG9VbnN0YWtlIGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2MQoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlID0gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgliLQoJZHVwCgliaXRsZW4KCWludCAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2NgoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzY3CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjgKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgICAgIHN0YWtlciwKCS8vICAgICAgICAgICAgIGFtb3VudFRvVW5zdGFrZSwKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIHN0YWtlclJlbW92ZWQsCgkvLyAgICAgICAgICAgXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mzc2CgkvLyByZXR1cm47CglyZXRzdWIKCippZjhfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGFjY291bnQgbm90IGZvdW5kCgllcnIKCXJldHN1YgoKLy8gY2xhaW1Ub2tlbnMoKXZvaWQKKmFiaV9yb3V0ZV9jbGFpbVRva2VuczoKCS8vIGV4ZWN1dGUgY2xhaW1Ub2tlbnMoKXZvaWQKCWNhbGxzdWIgY2xhaW1Ub2tlbnMKCWludCAxCglyZXR1cm4KCi8vIGNsYWltVG9rZW5zKCk6IHZvaWQKLy8KLy8gQ2xhaW1zIGFsbCB0aGUgYXZhaWxhYmxlIHJld2FyZCB0b2tlbnMgYSBzdGFrZXIgaGFzIGF2YWlsYWJsZSwgc2VuZGluZyB0aGVpciBlbnRpcmUgYmFsYW5jZSB0byB0aGUgc3Rha2VyIGZyb20KLy8gcG9vbCAxIChlaXRoZXIgZGlyZWN0bHksIG9yIHZpYSB2YWxpZGF0b3ItPnBvb2wxIHRvIHBheSBpdCBvdXQpCi8vIEFsc28gbm90aWZpZXMgdGhlIHZhbGlkYXRvciBjb250cmFjdCBmb3IgdGhpcyBwb29scyB2YWxpZGF0b3Igb2YgdGhlIHN0YWtlciAvIGJhbGFuY2UgY2hhbmdlcy4KY2xhaW1Ub2tlbnM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTcKCS8vIGNtcFN0YWtlciA9IGNsb25lKHRoaXMuc3Rha2Vycy52YWx1ZVtpXSkKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCA2NAoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYxNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTgKCS8vIGNtcFN0YWtlci5hY2NvdW50ID09PSBzdGFrZXIKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCT09CglieiAqaWYxNV9lbmQKCgkvLyAqaWYxNV9jb25zZXF1ZW50CgkvLyAqaWYxNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjE2X2VuZAoKCS8vICppZjE2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDAKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmMTZfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwMgoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vICppZjE3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwNAoJLy8gdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJPT0KCWJ6ICppZjE3X2Vsc2UKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA1CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA2CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDcKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDQgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDEyCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCksCgkvLyAgICAgICAgICAgICBhc3NldFJlY2VpdmVyOiBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhc3NldEFtb3VudDogY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSwKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMwoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgNCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE0CgkvLyBhc3NldFJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxNQoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MTcKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE4CgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTdfZW5kCgoqaWYxN19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyMwoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MjQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyOAoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludCA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQzMwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAic3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQzNAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDM1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWludCAwCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ0MwoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYxNV9lbmQ6CgoqZm9yXzJfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzkzCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8yCgoqZm9yXzJfZW5kOgoJLy8gYWNjb3VudCBub3QgZm91bmQKCWVycgoJcmV0c3ViCgovLyBnZXRTdGFrZXJJbmZvKGFkZHJlc3MpKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFN0YWtlckluZm86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZXJJbmZvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFN0YWtlckluZm8KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRTdGFrZXJJbmZvKHN0YWtlcjogQWRkcmVzcyk6IFN0YWtlZEluZm8KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gc3Rha2VyLgovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEByZXR1cm5zIHtTdGFrZWRJbmZvfSAtIFRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIHRoZSBnaXZlbiBzdGFrZXIuCi8vIEB0aHJvd3Mge0Vycm9yfSAtIElmIHRoZSBzdGFrZXIncyBhY2NvdW50IGlzIG5vdCBmb3VuZC4KZ2V0U3Rha2VySW5mbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8zOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OQoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAyMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAyMDAKCTwKCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE4X2VuZDoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ2MgoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCAzMgoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCT09CglieiAqaWYxOV9lbmQKCgkvLyAqaWYxOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDYzCgkvLyByZXR1cm4gdGhpcy5zdGFrZXJzLnZhbHVlW2ldOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqZ2V0U3Rha2VySW5mbypyZXR1cm4KCippZjE5X2VuZDoKCipmb3JfM19jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NTgKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzMKCipmb3JfM19lbmQ6CgkvLyBhY2NvdW50IG5vdCBmb3VuZAoJZXJyCgoqZ2V0U3Rha2VySW5mbypyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZDoKCS8vIGFtb3VudFRvU2VuZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gcmV3YXJkVG9rZW46IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAyIChzdGFrZXIpIGZvciBwYXlUb2tlblJld2FyZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBwYXlUb2tlblJld2FyZAoJaW50IDEKCXJldHVybgoKLy8gcGF5VG9rZW5SZXdhcmQoc3Rha2VyOiBBZGRyZXNzLCByZXdhcmRUb2tlbjogdWludDY0LCBhbW91bnRUb1NlbmQ6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gW0ludGVybmFsIHByb3RvY29sIG1ldGhvZF0gUmVtb3ZlIGEgc3BlY2lmaWVkIGFtb3VudCBvZiAnY29tbXVuaXR5IHRva2VuJyByZXdhcmRzIGZvciBhIHN0YWtlci4KLy8gVGhpcyBjYW4gT05MWSBiZSBjYWxsZWQgYnkgb3VyIHZhbGlkYXRvciBhbmQgb25seSBpZiB3ZSdyZSBwb29sIDEgLSB3aXRoIHRoZSB0b2tlbi4KLy8gTm90ZTogdGhpcyBjYW4gYWxzbyBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIGFzIHBhcnQgb2YgT1dORVIgd2FudGluZyB0byBzZW5kIHRoZSByZXdhcmQgdG9rZW5zCi8vIHNvbWV3aGVyZSBlbHNlIChpZSBpZiB0aGV5J3JlIHN1bnNldHRpbmcgdGhlaXIgdmFsaWRhdG9yIGFuZCBuZWVkIHRoZSByZXdhcmQgdG9rZW5zIGJhY2spLgovLyBJdCdzIHVwIHRvIHRoZSB2YWxpZGF0b3IgdG8gZW5zdXJlIHRoYXQgdGhlIGJhbGFuY2UgaW4gcmV3YXJkVG9rZW5IZWxkQmFjayBpcyBob25vcmVkLgovLyBAcGFyYW0gc3Rha2VyIC0gdGhlIHN0YWtlciBhY2NvdW50IHRvIHNlbmQgcmV3YXJkcyB0bwovLyBAcGFyYW0gcmV3YXJkVG9rZW4gLSBpZCBvZiByZXdhcmQgdG9rZW4gKHRvIGF2b2lkIHJlLWVudHJhbmN5IGluIGNhbGxpbmcgdmFsaWRhdG9yIGJhY2sgdG8gZ2V0IGlkKQovLyBAcGFyYW0gYW1vdW50VG9TZW5kIC0gYW1vdW50IHRvIHNlbmQgdGhlIHN0YWtlciAodGhlcmUgaXMgc2lnbmlmaWNhbnQgdHJ1c3QgaGVyZSghKSAtIGFsc28gd2h5IG9ubHkgdmFsaWRhdG9yIGNhbiBjYWxsIHVzCnBheVRva2VuUmV3YXJkOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ4MQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKS5hZGRyZXNzLAoJLy8gICAgICAgJ3RoaXMgY2FuIG9ubHkgYmUgY2FsbGVkIHZpYSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0JwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdGhpcyBjYW4gb25seSBiZSBjYWxsZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODUKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ211c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMnKQoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgk9PQoKCS8vIG11c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODYKCS8vIGFzc2VydChyZXdhcmRUb2tlbiAhPT0gMCwgJ2NhbiBvbmx5IGNsYWltIHRva2VuIHJld2FyZHMgZnJvbSB2YWxpZGF0b3IgdGhhdCBoYXMgdGhlbScpCglmcmFtZV9kaWcgLTIgLy8gcmV3YXJkVG9rZW46IHVpbnQ2NAoJaW50IDAKCSE9CgoJLy8gY2FuIG9ubHkgY2xhaW0gdG9rZW4gcmV3YXJkcyBmcm9tIHZhbGlkYXRvciB0aGF0IGhhcyB0aGVtCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDg5CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbiksCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiBzdGFrZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogYW1vdW50VG9TZW5kLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDkwCgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbikKCWZyYW1lX2RpZyAtMiAvLyByZXdhcmRUb2tlbjogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0OTEKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ5MgoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU2VuZDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyB1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyOgoJLy8gYWxnb2RWZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUFsZ29kVmVyKHN0cmluZyl2b2lkCgljYWxsc3ViIHVwZGF0ZUFsZ29kVmVyCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVBbGdvZFZlcihhbGdvZFZlcjogc3RyaW5nKTogdm9pZAovLwovLyBVcGRhdGUgdGhlIChob25vciBzeXN0ZW0pIGFsZ29kIHZlcnNpb24gZm9yIHRoZSBub2RlIGFzc29jaWF0ZWQgdG8gdGhpcyBwb29sLiAgVGhlIG5vZGUgbWFuYWdlbWVudCBkYWVtb24KLy8gc2hvdWxkIGNvbXBhcmUgaXRzIGN1cnJlbnQgbm9kZXMgdmVyc2lvbiB0byB0aGUgdmVyc2lvbiBzdG9yZWQgaW4gZ2xvYmFsIHN0YXRlLCB1cGRhdGluZyB3aGVuIGRpZmZlcmVudC4KLy8gVGhlIHJldGkgbm9kZSBkYWVtb24gY29tcG9zZXMgaXRzIG93biB2ZXJzaW9uIHN0cmluZyB1c2luZyBmb3JtYXQ6Ci8vIHttYWpvcn0ue21pbm9yfS57YnVpbGR9IHticmFuY2h9IFt7Y29tbWl0IGhhc2h9XSwKLy8gaWU6IDMuMjIuMCByZWwvc3RhYmxlIFs2YjUwODk3NV0KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQovLyBAcGFyYW0ge3N0cmluZ30gYWxnb2RWZXIgLSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBhbGdvcmFuZCBub2RlIGRhZW1vbiB2ZXJzaW9uIChyZXRpIG5vZGUgZGFlbW9uIGNvbXBvc2VzIGl0cyBvd24gbWV0YSB2ZXJzaW9uKQp1cGRhdGVBbGdvZFZlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDYKCS8vIGFzc2VydCh0aGlzLmlzT3duZXJPck1hbmFnZXJDYWxsZXIoKSwgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicpCgljYWxsc3ViIGlzT3duZXJPck1hbmFnZXJDYWxsZXIKCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDcKCS8vIHRoaXMuYWxnb2RWZXIudmFsdWUgPSBhbGdvZFZlcgoJYnl0ZSAweDYxNmM2NzZmNjQ1NjY1NzIgLy8gImFsZ29kVmVyIgoJZnJhbWVfZGlnIC0xIC8vIGFsZ29kVmVyOiBzdHJpbmcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGVwb2NoQmFsYW5jZVVwZGF0ZSgpdm9pZAoqYWJpX3JvdXRlX2Vwb2NoQmFsYW5jZVVwZGF0ZToKCS8vIGV4ZWN1dGUgZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkCgljYWxsc3ViIGVwb2NoQmFsYW5jZVVwZGF0ZQoJaW50IDEKCXJldHVybgoKLy8gZXBvY2hCYWxhbmNlVXBkYXRlKCk6IHZvaWQKLy8KLy8gVXBkYXRlcyB0aGUgYmFsYW5jZSBvZiBzdGFrZXJzIGluIHRoZSBwb29sIGJhc2VkIG9uIHRoZSByZWNlaXZlZCAncmV3YXJkcycgKGN1cnJlbnQgYmFsYW5jZSB2cyBrbm93biBzdGFrZWQgYmFsYW5jZSkKLy8gc3Rha2VycyBvdXRzdGFuZGluZyBiYWxhbmNlIGlzIGFkanVzdGVkIGJhc2VkIG9uIHRoZWlyICUgb2Ygc3Rha2UgYW5kIHRpbWUgaW4gdGhlIGN1cnJlbnQgZXBvY2ggLSBzbyB0aGF0IGJhbGFuY2UKLy8gY29tcG91bmRzIG92ZXIgdGltZSBhbmQgc3Rha2VyIGNhbiByZW1vdmUgdGhhdCBhbW91bnQgYXQgd2lsbC4KLy8gVGhlIHZhbGlkYXRvciBpcyBwYWlkIHRoZWlyIHBlcmNlbnRhZ2UgZWFjaCBlcG9jaCBwYXlvdXQuCi8vCi8vIE5vdGU6IEFOWU9ORSBjYW4gY2FsbCB0aGlzLgplcG9jaEJhbGFuY2VVcGRhdGU6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAzNgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjAKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjEKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMgoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjkKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB2YWxpZGF0b3JDb25maWcuZXBvY2hSb3VuZExlbmd0aCBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2OSA0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMiAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMQoJLy8gdGhpc0Vwb2NoQmVnaW4gPSBjdXJSb3VuZCAtIChjdXJSb3VuZCAlIGVwb2NoUm91bmRMZW5ndGgpCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCSUKCS0KCWZyYW1lX2J1cnkgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CgoJLy8gKmlmMjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM0CgkvLyB0aGlzLmxhc3RQYXlvdXQuZXhpc3RzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglieiAqaWYyMF9lbmQKCgkvLyAqaWYyMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM1CgkvLyBsYXN0UGF5b3V0RXBvY2ggPSB0aGlzLmxhc3RQYXlvdXQudmFsdWUgLSAodGhpcy5sYXN0UGF5b3V0LnZhbHVlICUgZXBvY2hSb3VuZExlbmd0aCkKCWJ5dGUgMHg2YzYxNzM3NDUwNjE3OTZmNzU3NCAvLyAibGFzdFBheW91dCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gbGFzdFBheW91dEVwb2NoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM5CgkvLyBhc3NlcnQobGFzdFBheW91dEVwb2NoICE9PSB0aGlzRXBvY2hCZWdpbiwgImNhbid0IGNhbGwgZXBvY2hCYWxhbmNlVXBkYXRlIGluIHNhbWUgZXBvY2ggYXMgcHJpb3IgY2FsbCIpCglmcmFtZV9kaWcgNCAvLyBsYXN0UGF5b3V0RXBvY2g6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJIT0KCgkvLyBjYW4ndCBjYWxsIGVwb2NoQmFsYW5jZVVwZGF0ZSBpbiBzYW1lIGVwb2NoIGFzIHByaW9yIGNhbGwKCWFzc2VydAoKKmlmMjBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU0MgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDUKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGN1clJvdW5kCglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDYKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgKz0gMQoJYnl0ZSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgLy8gImVwb2NoTnVtYmVyIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgkrCglieXRlIDB4NjU3MDZmNjM2ODRlNzU2ZDYyNjU3MiAvLyAiZXBvY2hOdW1iZXIiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NTEKCS8vIGlzVG9rZW5FbGlnaWJsZSA9IHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaW50IDAKCSE9CglmcmFtZV9idXJ5IDUgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MgoJLy8gcG9vbE9uZUFwcElEID0gdGhpcy5hcHAuaWQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NTMKCS8vIHBvb2xPbmVBZGRyZXNzID0gdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKCS8vICppZjIxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1OAoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjIxX2VuZAoKCS8vICppZjIxX2NvbnNlcXVlbnQKCS8vICppZjIyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1OQoJLy8gdGhpcy5wb29sSWQudmFsdWUgIT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJIT0KCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjEKCS8vIHBvb2xPbmVBcHBJRCA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0UG9vbEFwcElkPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWUsIDFdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTYyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCAxXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjUKCS8vIHBvb2xPbmVBZGRyZXNzID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sT25lQXBwSUQpLmFkZHJlc3MKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKKmlmMjJfZW5kOgoJLy8gKmlmMjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcwCgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgk9PQoJYnogKmlmMjNfZWxzZQoKCS8vICppZjIzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzEKCS8vIHRva2VuUGF5b3V0UmF0aW8gPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLnNldFRva2VuUGF5b3V0UmF0aW8+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWIgKmlmMjNfZW5kCgoqaWYyM19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU3NwoJLy8gdG9rZW5QYXlvdXRSYXRpbyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xPbmVBcHBJRCksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3sgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfV0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbygodWludDY0LHVpbnQ2NCx1aW50NjQpKSh1aW50NjRbMjRdLHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzgKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbE9uZUFwcElEKQoJZnJhbWVfZGlnIDYgLy8gcG9vbE9uZUFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzkKCS8vIG1ldGhvZEFyZ3M6IFt7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH1dCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA4IC8vIHRva2VuUGF5b3V0UmF0aW86IFBvb2xUb2tlblBheW91dFJhdGlvCgoqaWYyM19lbmQ6CgoqaWYyMV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTg2CgkvLyB2YWxpZGF0b3JTdGF0ZSA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yU3RhdGU+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU4OAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTkwCgkvLyByZXdhcmRUb2tlbkhlbGRCYWNrID0gdmFsaWRhdG9yU3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDkgLy8gdmFsaWRhdG9yU3RhdGU6ICh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMTAgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU5NgoJLy8gYWxnb1Jld2FyZEF2YWlsID0gdGhpcy5hcHAuYWRkcmVzcy5iYWxhbmNlIC0gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXBvcAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTcKCS8vIGlzUG9vbFNhdHVyYXRlZCA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSAxMiAvLyBpc1Bvb2xTYXR1cmF0ZWQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk4CgkvLyBhbGdvU2F0dXJhdGlvbkFtdCA9IHRoaXMuYWxnb1NhdHVyYXRpb25MZXZlbCgpCgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWZyYW1lX2J1cnkgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoKCS8vICppZjI0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNgoJLy8gdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkID4gYWxnb1NhdHVyYXRpb25BbXQKCWZyYW1lX2RpZyA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMCA4CglidG9pCglmcmFtZV9kaWcgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoJPgoJYnogKmlmMjRfZW5kCgoJLy8gKmlmMjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNwoJLy8gaXNQb29sU2F0dXJhdGVkID0gdHJ1ZQoJaW50IDEKCWZyYW1lX2J1cnkgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCgoqaWYyNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjEzCgkvLyB0b2tlblJld2FyZEF2YWlsID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE2CgkvLyBleGNlc3NUb0ZlZVNpbmsgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNwoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2MTgKCS8vIHRva2VuUmV3YXJkQmFsID0KCS8vICAgICAgICAgcG9vbE9uZUFkZHJlc3MuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDcgLy8gcG9vbE9uZUFkZHJlc3M6IGFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEwIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxOCAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gKmlmMjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjIzCgkvLyB0b2tlblJld2FyZEJhbCA+PSB2YWxpZGF0b3JDb25maWcucmV3YXJkUGVyUGF5b3V0CglmcmFtZV9kaWcgMTggLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTYxIDgKCWJ0b2kKCT49CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjI5CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbdGhpcy5wb29sSWQudmFsdWUgLSAxXQoJZnJhbWVfZGlnIDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWludCAwCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCS0KCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfYnVyeSAxOSAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzMgoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9IHdpZGVSYXRpbyhbdmFsaWRhdG9yQ29uZmlnLnJld2FyZFBlclBheW91dCwgb3VyUG9vbFBjdE9mV2hvbGVdLCBbMV8wMDBfMDAwXSkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2MSA4CglidG9pCglmcmFtZV9kaWcgMTkgLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJbXVsdwoJaW50IDAKCWludCAxXzAwMF8wMDAKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoKKmlmMjZfZW5kOgoKKmlmMjVfZW5kOgoJLy8gKmlmMjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjM1CgkvLyB0b2tlblJld2FyZEF2YWlsID09PSAwCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPT0KCWJ6ICppZjI3X2VuZAoKCS8vICppZjI3X2NvbnNlcXVlbnQKCS8vICppZjI4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MAoJLy8gYWxnb1Jld2FyZEF2YWlsIDwgMV8wMDBfMDAwCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWludCAxXzAwMF8wMDAKCTwKCWJ6ICppZjI4X2VuZAoKCS8vICppZjI4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDEKCS8vIGxvZygnIXRva2VuJiYhbm9hbGdvIHRvIHBheScpCglieXRlIDB4MjE3NDZmNmI2NTZlMjYyNjIxNmU2ZjYxNmM2NzZmMjA3NDZmMjA3MDYxNzkgLy8gIiF0b2tlbiYmIW5vYWxnbyB0byBwYXkiCglsb2cKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjQyCgkvLyByZXR1cm47CglyZXRzdWIKCippZjI4X2VuZDoKCippZjI3X2VuZDoKCS8vICppZjI5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0NgoJLy8gaXNQb29sU2F0dXJhdGVkCglmcmFtZV9kaWcgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCglieiAqaWYyOV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjI5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDkKCS8vIGRpbWluaXNoZWRSZXdhcmQgPSB3aWRlUmF0aW8oW2FsZ29SZXdhcmRBdmFpbCwgYWxnb1NhdHVyYXRpb25BbXRdLCBbdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkXSkKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDEzIC8vIGFsZ29TYXR1cmF0aW9uQW10OiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTAgOAoJYnRvaQoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MQoJLy8gZXhjZXNzVG9GZWVTaW5rID0gYWxnb1Jld2FyZEF2YWlsIC0gZGltaW5pc2hlZFJld2FyZAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CgktCglmcmFtZV9idXJ5IDE3IC8vIGV4Y2Vzc1RvRmVlU2luazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgICBhbW91bnQ6IGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgICAgcmVjZWl2ZXI6IHRoaXMuZ2V0RmVlU2luaygpLAoJLy8gICAgICAgICBub3RlOiAncG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luaycsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTMKCS8vIGFtb3VudDogZXhjZXNzVG9GZWVTaW5rCglmcmFtZV9kaWcgMTcgLy8gZXhjZXNzVG9GZWVTaW5rOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1NAoJLy8gcmVjZWl2ZXI6IHRoaXMuZ2V0RmVlU2luaygpCgljYWxsc3ViIGdldEZlZVNpbmsKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU1CgkvLyBub3RlOiAncG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luaycKCWJ5dGUgMHg3MDZmNmY2YzIwNzM2MTc0NzU3MjYxNzQ2NTY0MmMyMDY1Nzg2MzY1NzM3MzIwNzQ2ZjIwNjY2NTY1MjA3MzY5NmU2YiAvLyAicG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luayIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU4CgkvLyBhbGdvUmV3YXJkQXZhaWwgPSBkaW1pbmlzaGVkUmV3YXJkCglmcmFtZV9kaWcgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CglmcmFtZV9idXJ5IDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgliICppZjI5X2VuZAoKKmlmMjlfZWxzZWlmMV9jb25kaXRpb246CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU5CgkvLyB2YWxpZGF0b3JDb25maWcucGVyY2VudFRvVmFsaWRhdG9yICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJaW50IDAKCSE9CglieiAqaWYyOV9lbmQKCgkvLyAqaWYyOV9lbHNlaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NjIKCS8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0ID0gd2lkZVJhdGlvKAoJLy8gICAgICAgICBbYWxnb1Jld2FyZEF2YWlsLCB2YWxpZGF0b3JDb25maWcucGVyY2VudFRvVmFsaWRhdG9yIGFzIHVpbnQ2NF0sCgkvLyAgICAgICAgIFsxXzAwMF8wMDBdCgkvLyAgICAgICApCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE3MyA0CglidG9pCgltdWx3CglpbnQgMAoJaW50IDFfMDAwXzAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NjgKCS8vIGFsZ29SZXdhcmRBdmFpbCAtPSB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vICppZjMwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY3NQoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgPiAwCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJaW50IDAKCT4KCWJ6ICppZjMwX2VuZAoKCS8vICppZjMwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NzgKCS8vIG1hbmFnZXJUb3BPZmYgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCgkvLyAqaWYzMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODAKCS8vIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyICE9PSB2YWxpZGF0b3JDb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgJiYKCS8vICAgICAgICAgICB2YWxpZGF0b3JDb25maWcubWFuYWdlci5iYWxhbmNlIC0gdmFsaWRhdG9yQ29uZmlnLm1hbmFnZXIubWluQmFsYW5jZSA8IDJfMTAwXzAwMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgMzIKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE3NyAzMgoJIT0KCWR1cAoJYnogKnNraXBfYW5kMwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgMzIKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCS0KCWludCAyXzEwMF8wMDAKCTwKCSYmCgoqc2tpcF9hbmQzOgoJYnogKmlmMzFfZW5kCgoJLy8gKmlmMzFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MwoJLy8gbWFuYWdlclRvcE9mZiA9IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IDwgMl8xMDBfMDAwID8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgOiAyXzEwMF8wMDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnQgMl8xMDBfMDAwCgk8CglieiAqdGVybmFyeTFfZmFsc2UKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgliICp0ZXJuYXJ5MV9lbmQKCip0ZXJuYXJ5MV9mYWxzZToKCWludCAyXzEwMF8wMDAKCip0ZXJuYXJ5MV9lbmQ6CglmcmFtZV9idXJ5IDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODQKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgICAgIGFtb3VudDogbWFuYWdlclRvcE9mZiwKCS8vICAgICAgICAgICAgIHJlY2VpdmVyOiB2YWxpZGF0b3JDb25maWcubWFuYWdlciwKCS8vICAgICAgICAgICAgIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njg1CgkvLyBhbW91bnQ6IG1hbmFnZXJUb3BPZmYKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NgoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODcKCS8vIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycKCWJ5dGUgMHg3NjYxNmM2OTY0NjE3NDZmNzIyMDcyNjU3NzYxNzI2NDIwNzQ2ZjIwNmQ2MTZlNjE2NzY1NzIyMDY2NmY3MjIwNjY3NTZlNjQ2OTZlNjcyMDY1NzA2ZjYzNjgyMDc1NzA2NDYxNzQ2NTczIC8vICJ2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcyIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjMxX2VuZDoKCS8vICppZjMyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MAoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgLSBtYW5hZ2VyVG9wT2ZmID4gMAoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWludCAwCgk+CglieiAqaWYzMl9lbmQKCgkvLyAqaWYzMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgICBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZiwKCS8vICAgICAgICAgICAgIHJlY2VpdmVyOiB2YWxpZGF0b3JDb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MsCgkvLyAgICAgICAgICAgICBub3RlOiAndmFsaWRhdG9yIHJld2FyZCcsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkyCgkvLyBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZgoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MwoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5NAoJLy8gbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQnCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyMjA3MjY1Nzc2MTcyNjQgLy8gInZhbGlkYXRvciByZXdhcmQiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYzMl9lbmQ6CgoqaWYzMF9lbmQ6CgoqaWYyOV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzA2CgkvLyBpbmNyZWFzZWRTdGFrZSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCgkvLyAqaWYzM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzAKCS8vIGFsZ29SZXdhcmRBdmFpbCAhPT0gMCB8fCB0b2tlblJld2FyZEF2YWlsICE9PSAwCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWludCAwCgkhPQoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJIT0KCXx8Cgoqc2tpcF9vcjE6CglieiAqaWYzM19lbmQKCgkvLyAqaWYzM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMxCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMgoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyNCAvLyBpOiB1aW50NjQKCipmb3JfNDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzIKCS8vIGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgMjQgLy8gaTogdWludDY0CglpbnQgMjAwCgk8CglieiAqZm9yXzRfZW5kCgoJLy8gKmlmMzRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMzCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDQwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDQwMAoJPAoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNgoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCA2NAoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmMzVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzM3CgkvLyBjbXBTdGFrZXIuYWNjb3VudCAhPT0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglieiAqaWYzNV9lbmQKCgkvLyAqaWYzNV9jb25zZXF1ZW50CgkvLyAqaWYzNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzgKCS8vIGNtcFN0YWtlci5lbnRyeVJvdW5kID49IHRoaXNFcG9jaEJlZ2luCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCT49CglieiAqaWYzNl9lbHNlCgoJLy8gKmlmMzZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc0MQoJLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlICs9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJKwoJZnJhbWVfYnVyeSAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJYiAqaWYzNl9lbmQKCippZjM2X2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQ1CgkvLyB0aW1lSW5Qb29sID0gdGhpc0Vwb2NoQmVnaW4gLSBjbXBTdGFrZXIuZW50cnlSb3VuZAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA1NiA4CglidG9pCgktCglmcmFtZV9idXJ5IDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoKCS8vICppZjM3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc0OQoJLy8gdGltZUluUG9vbCA8IGVwb2NoUm91bmRMZW5ndGgKCWZyYW1lX2RpZyAyNiAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJPAoJYnogKmlmMzdfZW5kCgoJLy8gKmlmMzdfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MAoJLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlICs9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJKwoJZnJhbWVfYnVyeSAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NTEKCS8vIHRpbWVQZXJjZW50YWdlID0gKHRpbWVJblBvb2wgKiAxMDAwKSAvIGVwb2NoUm91bmRMZW5ndGgKCWZyYW1lX2RpZyAyNiAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCWludCAxMDAwCgkqCglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMjcgLy8gdGltZVBlcmNlbnRhZ2U6IHVpbnQ2NAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MwoJLy8gdG9rZW5SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludCAwCgk+CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzU1CgkvLyBzdGFrZXJUb2tlblJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbCwgdGltZVBlcmNlbnRhZ2VdLAoJLy8gICAgICAgICAgICAgICAgICAgW3RoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlLCAxMDAwXQoJLy8gICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjggLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjIKCS8vIHRva2VuUmV3YXJkQXZhaWwgLT0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgktCglmcmFtZV9idXJ5IDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzY0CgkvLyB0b2tlblJld2FyZFBhaWRPdXQgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNSAvLyB0b2tlblJld2FyZFBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDI4IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCippZjM4X2VuZDoKCS8vICppZjM5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2NgoJLy8gYWxnb1Jld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPgoJYnogKmlmMzlfZW5kCgoJLy8gKmlmMzlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2OAoJLy8gc3Rha2VyUmV3YXJkID0gd2lkZVJhdGlvKAoJLy8gICAgICAgICAgICAgICAgICAgW2NtcFN0YWtlci5iYWxhbmNlLCBhbGdvUmV3YXJkQXZhaWwsIHRpbWVQZXJjZW50YWdlXSwKCS8vICAgICAgICAgICAgICAgICAgIFt0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSwgMTAwMF0KCS8vICAgICAgICAgICAgICAgICApCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjkgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc1CgkvLyBhbGdvUmV3YXJkQXZhaWwgLT0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NzgKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc5CgkvLyBjbXBTdGFrZXIudG90YWxSZXdhcmRlZCArPSBzdGFrZXJSZXdhcmQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0MCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc4MAoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjM5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3ODMKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYzN19lbmQ6CgoqaWYzNl9lbmQ6CgoqaWYzNV9lbmQ6CgoqZm9yXzRfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMyCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyNCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDI0IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzQKCipmb3JfNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzkxCgkvLyBuZXdQb29sVG90YWxTdGFrZSA9IHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIC0gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgktCglmcmFtZV9idXJ5IDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTUKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID4gMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWludCAwCgk+CglieiAqaWY0MF9lbmQKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDMxIC8vIGk6IHVpbnQ2NAoKKmZvcl81OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc5NwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzMSAvLyBpOiB1aW50NjQKCWludCAyMDAKCTwKCWJ6ICpmb3JfNV9lbmQKCgkvLyAqaWY0MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTgKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMjAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnQgMjAwCgk8CglieiAqaWY0MV9lbmQKCgkvLyAqaWY0MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAxCgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWY0Ml9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MDIKCS8vIGNtcFN0YWtlci5hY2NvdW50ICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzICYmIGNtcFN0YWtlci5lbnRyeVJvdW5kIDwgdGhpc0Vwb2NoQmVnaW4KCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQ0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCTwKCSYmCgoqc2tpcF9hbmQ0OgoJYnogKmlmNDJfZW5kCgoJLy8gKmlmNDJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwMwoJLy8gdGltZUluUG9vbCA9IHRoaXNFcG9jaEJlZ2luIC0gY21wU3Rha2VyLmVudHJ5Um91bmQKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJLQoJZnJhbWVfYnVyeSAzMyAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCgkvLyAqaWY0M19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MDUKCS8vIHRpbWVJblBvb2wgPj0gZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDMzIC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0Cgk+PQoJYnogKmlmNDNfZW5kCgoJLy8gKmlmNDNfY29uc2VxdWVudAoJLy8gKmlmNDRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODEwCgkvLyB0b2tlblJld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50IDAKCT4KCWJ6ICppZjQ0X2VuZAoKCS8vICppZjQ0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTEKCS8vIHN0YWtlclRva2VuUmV3YXJkID0gd2lkZVJhdGlvKFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbF0sIFtuZXdQb29sVG90YWxTdGFrZV0pCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgMzAgLy8gbmV3UG9vbFRvdGFsU3Rha2U6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMzQgLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2RpZyAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODE1CgkvLyB0b2tlblJld2FyZFBhaWRPdXQgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNSAvLyB0b2tlblJld2FyZFBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDM0IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCippZjQ0X2VuZDoKCS8vICppZjQ1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNwoJLy8gYWxnb1Jld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPgoJYnogKmlmNDVfZW5kCgoJLy8gKmlmNDVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxOAoJLy8gc3Rha2VyUmV3YXJkID0gd2lkZVJhdGlvKFtjbXBTdGFrZXIuYmFsYW5jZSwgYWxnb1Jld2FyZEF2YWlsXSwgW25ld1Bvb2xUb3RhbFN0YWtlXSkKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMQoJLy8gY21wU3Rha2VyLmJhbGFuY2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnQgMzIgLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgMzUgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCSsKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjIKCS8vIGNtcFN0YWtlci50b3RhbFJld2FyZGVkICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDQwIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgOAoJYnRvaQoJZnJhbWVfZGlnIDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODIzCgkvLyBpbmNyZWFzZWRTdGFrZSArPSBzdGFrZXJSZXdhcmQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CglmcmFtZV9kaWcgMzUgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoKKmlmNDVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyNwoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjQzX2VuZDoKCippZjQyX2VuZDoKCipmb3JfNV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMzEgLy8gaTogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCippZjQwX2VuZDoKCippZjMzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzcKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMzYgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODM4CgkvLyB0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSArPSBpbmNyZWFzZWRTdGFrZQoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzkKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoaW5jcmVhc2VkU3Rha2UgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlIDB4NzM3NDYxNmI2NTQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDM2IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChpbmNyZWFzZWRTdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0MQoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgKyBpbmNyZWFzZWRTdGFrZQoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJZHVwCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0NwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9LAoJLy8gICAgICAgICBpbmNyZWFzZWRTdGFrZSwKCS8vICAgICAgICAgdG9rZW5SZXdhcmRQYWlkT3V0LAoJLy8gICAgICAgICB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCwKCS8vICAgICAgICAgZXhjZXNzVG9GZWVTaW5rLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAic3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODQ4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDkKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9LAoJLy8gICAgICAgICBpbmNyZWFzZWRTdGFrZSwKCS8vICAgICAgICAgdG9rZW5SZXdhcmRQYWlkT3V0LAoJLy8gICAgICAgICB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCwKCS8vICAgICAgICAgZXhjZXNzVG9GZWVTaW5rLAoJLy8gICAgICAgXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTcgLy8gZXhjZXNzVG9GZWVTaW5rOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBnb09ubGluZShwYXksYnl0ZVtdLGJ5dGVbXSxieXRlW10sdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2dvT25saW5lOgoJLy8gdm90ZUtleURpbHV0aW9uOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWJ0b2kKCgkvLyB2b3RlTGFzdDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gdm90ZUZpcnN0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBzdGF0ZVByb29mUEs6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBzZWxlY3Rpb25QSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIHZvdGVQSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGZlZVBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDYgKGZlZVBheW1lbnQpIGZvciBnb09ubGluZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGdvT25saW5lCglpbnQgMQoJcmV0dXJuCgovLyBnb09ubGluZShmZWVQYXltZW50OiBQYXlUeG4sIHZvdGVQSzogYnl0ZXMsIHNlbGVjdGlvblBLOiBieXRlcywgc3RhdGVQcm9vZlBLOiBieXRlcywgdm90ZUZpcnN0OiB1aW50NjQsIHZvdGVMYXN0OiB1aW50NjQsIHZvdGVLZXlEaWx1dGlvbjogdWludDY0KTogdm9pZAovLwovLyBSZWdpc3RlcnMgYSBzdGFraW5nIHBvb2wga2V5IG9ubGluZSBhZ2FpbnN0IGEgcGFydGljaXBhdGlvbiBrZXkuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KLy8KLy8gQHBhcmFtIHtQYXlUeG59IGZlZVBheW1lbnQgLSBwYXltZW50IHRvIGNvdmVyIGV4dHJhIGZlZSBvZiBnb2luZyBvbmxpbmUgaWYgb2ZmbGluZSAtIG9yIDAgaWYgbm90IHJlbmV3YWwKLy8gQHBhcmFtIHtieXRlc30gdm90ZVBLIC0gVGhlIHZvdGUgcHVibGljIGtleS4KLy8gQHBhcmFtIHtieXRlc30gc2VsZWN0aW9uUEsgLSBUaGUgc2VsZWN0aW9uIHB1YmxpYyBrZXkuCi8vIEBwYXJhbSB7Ynl0ZXN9IHN0YXRlUHJvb2ZQSyAtIFRoZSBzdGF0ZSBwcm9vZiBwdWJsaWMga2V5LgovLyBAcGFyYW0ge3VpbnQ2NH0gdm90ZUZpcnN0IC0gVGhlIGZpcnN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlTGFzdCAtIFRoZSBsYXN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlS2V5RGlsdXRpb24gLSBUaGUgdm90ZSBrZXkgZGlsdXRpb24gdmFsdWUuCi8vIEB0aHJvd3Mge0Vycm9yfSBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjYWxsZXIgaXMgbm90IHRoZSBvd25lciBvciBhIG1hbmFnZXIuCmdvT25saW5lOgoJcHJvdG8gNyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgxCgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgyCgkvLyBleHRyYUZlZSA9IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJZnJhbWVfYnVyeSAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgzCgkvLyB2ZXJpZnlQYXlUeG4oZmVlUGF5bWVudCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiBleHRyYUZlZSB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6ImV4dHJhRmVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODQKCS8vIHNlbmRPbmxpbmVLZXlSZWdpc3RyYXRpb24oewoJLy8gICAgICAgdm90ZVBLOiB2b3RlUEssCgkvLyAgICAgICBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEssCgkvLyAgICAgICBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSywKCS8vICAgICAgIHZvdGVGaXJzdDogdm90ZUZpcnN0LAoJLy8gICAgICAgdm90ZUxhc3Q6IHZvdGVMYXN0LAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24sCgkvLyAgICAgICBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODUKCS8vIHZvdGVQSzogdm90ZVBLCglmcmFtZV9kaWcgLTIgLy8gdm90ZVBLOiBieXRlcwoJaXR4bl9maWVsZCBWb3RlUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg2CgkvLyBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEsKCWZyYW1lX2RpZyAtMyAvLyBzZWxlY3Rpb25QSzogYnl0ZXMKCWl0eG5fZmllbGQgU2VsZWN0aW9uUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg3CgkvLyBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSwoJZnJhbWVfZGlnIC00IC8vIHN0YXRlUHJvb2ZQSzogYnl0ZXMKCWl0eG5fZmllbGQgU3RhdGVQcm9vZlBLCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg4OAoJLy8gdm90ZUZpcnN0OiB2b3RlRmlyc3QKCWZyYW1lX2RpZyAtNSAvLyB2b3RlRmlyc3Q6IHVpbnQ2NAoJaXR4bl9maWVsZCBWb3RlRmlyc3QKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg5CgkvLyB2b3RlTGFzdDogdm90ZUxhc3QKCWZyYW1lX2RpZyAtNiAvLyB2b3RlTGFzdDogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVMYXN0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg5MAoJLy8gdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24KCWZyYW1lX2RpZyAtNyAvLyB2b3RlS2V5RGlsdXRpb246IHVpbnQ2NAoJaXR4bl9maWVsZCBWb3RlS2V5RGlsdXRpb24KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODkxCgkvLyBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGdvT2ZmbGluZSgpdm9pZAoqYWJpX3JvdXRlX2dvT2ZmbGluZToKCS8vIGV4ZWN1dGUgZ29PZmZsaW5lKCl2b2lkCgljYWxsc3ViIGdvT2ZmbGluZQoJaW50IDEKCXJldHVybgoKLy8gZ29PZmZsaW5lKCk6IHZvaWQKLy8KLy8gTWFya3MgYSBzdGFraW5nIHBvb2wga2V5IE9GRkxJTkUuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KZ29PZmZsaW5lOgoJcHJvdG8gMCAwCgoJLy8gKmlmNDZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTAzCgkvLyB0aGlzLnR4bi5zZW5kZXIgIT09IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCSE9CglieiAqaWY0Nl9lbmQKCgkvLyAqaWY0Nl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTA0CgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCippZjQ2X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MDcKCS8vIHNlbmRPZmZsaW5lS2V5UmVnaXN0cmF0aW9uKHt9KQoJaXR4bl9iZWdpbgoJaW50IGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2xpbmtUb05GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkCgljYWxsc3ViIGxpbmtUb05GRAoJaW50IDEKCXJldHVybgoKLy8gbGlua1RvTkZEKG5mZEFwcElkOiB1aW50NjQsIG5mZE5hbWU6IHN0cmluZyk6IHZvaWQKbGlua1RvTkZEOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3ZlcmlmeV9uZmRfYWRkcicsIG5mZE5hbWUsIGl0b2IobmZkQXBwSWQpLCByYXdCeXRlcyh0aGlzLmFwcC5hZGRyZXNzKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNwoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTgKCS8vIGFwcGxpY2F0aW9uQXJnczogWyd2ZXJpZnlfbmZkX2FkZHInLCBuZmROYW1lLCBpdG9iKG5mZEFwcElkKSwgcmF3Qnl0ZXModGhpcy5hcHAuYWRkcmVzcyldCglieXRlIDB4NzY2NTcyNjk2Njc5NWY2ZTY2NjQ1ZjYxNjQ2NDcyIC8vICJ2ZXJpZnlfbmZkX2FkZHIiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxOQoJLy8gYXBwbGljYXRpb25zOiBbQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCldCglmcmFtZV9kaWcgLTEgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbnMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NFsyNF0sdWludDY0KQoqYWJpX3JvdXRlX3Byb3hpZWRTZXRUb2tlblBheW91dFJhdGlvOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBvb2xLZXkpIGZvciBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbyBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbygodWludDY0LHVpbnQ2NCx1aW50NjQpKSh1aW50NjRbMjRdLHVpbnQ2NCkKCWNhbGxzdWIgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbyhwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5KTogUG9vbFRva2VuUGF5b3V0UmF0aW8KLy8KLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8gaXMgbWVhbnQgdG8gYmUgY2FsbGVkIGJ5IHBvb2xzICE9IDEgLSBjYWxsaW5nIFVTLCBwb29sICMxCi8vIFdlIG5lZWQgdG8gdmVyaWZ5IHRoYXQgd2UgYXJlIGluIGZhY3QgYmVpbmcgY2FsbGVkIGJ5IGFub3RoZXIgb2YgT1VSIHBvb2xzIChub3QgdXMpCi8vIGFuZCB0aGVuIHdlJ2xsIGNhbGwgdGhlIHZhbGlkYXRvciBvbiB0aGVpciBiZWhhbGYgdG8gdXBkYXRlIHRoZSB0b2tlbiBwYXlvdXRzCi8vIEBwYXJhbSBwb29sS2V5IC0gVmFsaWRhdG9yUG9vbEtleSB0dXBsZQpwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzMAoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9ySWQudmFsdWUgPT09IHBvb2xLZXkuaWQsICdjYWxsZXIgbXVzdCBiZSBwYXJ0IG9mIHNhbWUgdmFsaWRhdG9yIHNldCEnKQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCgkvLyBjYWxsZXIgbXVzdCBiZSBwYXJ0IG9mIHNhbWUgdmFsaWRhdG9yIHNldCEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzEKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ2NhbGxlZSBtdXN0IGJlIHBvb2wgMScpCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgoJLy8gY2FsbGVlIG11c3QgYmUgcG9vbCAxCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTMyCgkvLyBhc3NlcnQocG9vbEtleS5wb29sSWQgIT09IDEsICdjYWxsZXIgbXVzdCBOT1QgYmUgcG9vbCAxJykKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCSE9CgoJLy8gY2FsbGVyIG11c3QgTk9UIGJlIHBvb2wgMQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzNAoJLy8gY2FsbGVyUG9vbEFwcElEID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRQb29sQXBwSWQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3Bvb2xLZXkuaWQsIHBvb2xLZXkucG9vbElkXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM1CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzYKCS8vIG1ldGhvZEFyZ3M6IFtwb29sS2V5LmlkLCBwb29sS2V5LnBvb2xJZF0KCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBjYWxsZXJQb29sQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzgKCS8vIGFzc2VydChjYWxsZXJQb29sQXBwSUQgPT09IHBvb2xLZXkucG9vbEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gY2FsbGVyUG9vbEFwcElEOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM5CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0MQoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGlzT3duZXJPck1hbmFnZXJDYWxsZXIoKTogYm9vbGVhbgppc093bmVyT3JNYW5hZ2VyQ2FsbGVyOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQ4CgkvLyBPd25lckFuZE1hbmFnZXIgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcj4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk1MAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyBPd25lckFuZE1hbmFnZXI6IChhZGRyZXNzLGFkZHJlc3MpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk1MgoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlciA9PT0gT3duZXJBbmRNYW5hZ2VyWzBdIHx8IHRoaXMudHhuLnNlbmRlciA9PT0gT3duZXJBbmRNYW5hZ2VyWzFdOwoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoJZXh0cmFjdCAwIDMyCgk9PQoJZHVwCglibnogKnNraXBfb3IyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBPd25lckFuZE1hbmFnZXI6IChhZGRyZXNzLGFkZHJlc3MpCglleHRyYWN0IDMyIDMyCgk9PQoJfHwKCipza2lwX29yMjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBnZXRGZWVTaW5rKCk6IEFkZHJlc3MKZ2V0RmVlU2luazoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTYKCS8vIHJldHVybiB0aGlzLmZlZVNpbmtBZGRyOwoJbG9hZCAyMDEgLy8gVE1QTF9mZWVTaW5rQWRkcgoJcmV0c3ViCgovLyBhbGdvU2F0dXJhdGlvbkxldmVsKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBtYXhpbXVtIGFsbG93ZWQgc3Rha2UgcGVyIHZhbGlkYXRvciBiYXNlZCBvbiBhIHBlcmNlbnRhZ2Ugb2YgYWxsIGN1cnJlbnQgb25saW5lIHN0YWtlIGJlZm9yZQovLyB0aGUgdmFsaWRhdG9yIGlzIGNvbnNpZGVyZWQgc2F0dXJhdGVkIC0gd2hlcmUgcmV3YXJkcyBhcmUgZGltaW5pc2hlZC4KYWxnb1NhdHVyYXRpb25MZXZlbDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk2NgoJLy8gb25saW5lID0gdGhpcy5nZXRDdXJyZW50T25saW5lU3Rha2UoKQoJY2FsbHN1YiBnZXRDdXJyZW50T25saW5lU3Rha2UKCWZyYW1lX2J1cnkgMCAvLyBvbmxpbmU6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NjgKCS8vIHJldHVybiB3aWRlUmF0aW8oW29ubGluZSwgTUFYX1ZBTElEQVRPUl9TT0ZUX1BDVF9PRl9PTkxJTkVfMURFQ0lNQUxdLCBbMTAwMF0pOwoJZnJhbWVfZGlnIDAgLy8gb25saW5lOiB1aW50NjQKCWludCAxMDAKCW11bHcKCWludCAwCglpbnQgMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0R29PbmxpbmVGZWUoKTogdWludDY0CmdldEdvT25saW5lRmVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc1CgkvLyBpc09ubGluZSA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGlzT25saW5lOiBib29sCgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc2CgkvLyAhaXNPbmxpbmUKCWZyYW1lX2RpZyAwIC8vIGlzT25saW5lOiBib29sCgkhCglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc4CgkvLyByZXR1cm4gMl8wMDBfMDAwOwoJaW50IDJfMDAwXzAwMAoJYiAqZ2V0R29PbmxpbmVGZWUqcmV0dXJuCgoqaWY0N19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTgwCgkvLyByZXR1cm4gMDsKCWludCAwCgoqZ2V0R29PbmxpbmVGZWUqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGdldEN1cnJlbnRPbmxpbmVTdGFrZSgpOiB1aW50NjQKZ2V0Q3VycmVudE9ubGluZVN0YWtlOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk4NQoJLy8gcmV0dXJuIDJfMDAwXzAwMF8wMDBfMDAwXzAwMDsKCWludCAyXzAwMF8wMDBfMDAwXzAwMF8wMDAKCXJldHN1YgoKLy8gY2hlY2tJZkJpbkNsb3NlZCgpOiB2b2lkCi8vCi8vIENoZWNrcyBpZiB0aGUgY3VycmVudCByb3VuZCBpcyBpbiBhICduZXcgY2FsY3VsYXRpb24gYmluJyAoYXBwcm94aW1hdGVseSBkYWlseSkKY2hlY2tJZkJpbkNsb3NlZDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTkyCgkvLyBjdXJyZW50QmluU2l6ZSA9IHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIGFzIHVpbnQxMjgKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgoJLy8gKmlmNDhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTkzCgkvLyBnbG9iYWxzLnJvdW5kID49IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIChjdXJyZW50QmluU2l6ZSBhcyB1aW50NjQpCglnbG9iYWwgUm91bmQKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMCAvLyBjdXJyZW50QmluU2l6ZTogdW5zYWZlIHVpbnQxMjgKCWR1cAoJYml0bGVuCglpbnQgNjQKCTw9CgoJLy8gY3VycmVudEJpblNpemUgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCglidG9pCgkrCgk+PQoJYnogKmlmNDhfZW5kCgoJLy8gKmlmNDhfY29uc2VxdWVudAoJLy8gKmlmNDlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTk0CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmNDlfZW5kCgoJLy8gKmlmNDlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NQoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmNDlfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NwoJLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOCA9IGN1cnJlbnRCaW5TaXplICogKDM2NSBhcyB1aW50MTI4KQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNmQKCWIqCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMSAvLyBhcHByb3hSb3VuZHNQZXJZZWFyOiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgLyBjdXJyZW50QmluU2l6ZQoJYnl0ZSAweDczNzQ2MTZiNjU0MTYzNjM3NTZkNzU2YzYxNzQ2ZjcyIC8vICJzdGFrZUFjY3VtdWxhdG9yIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoJYi8KCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSAvIGN1cnJlbnRCaW5TaXplIG92ZXJmbG93ZWQgMTI4IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDE2CgktCglzd2FwCglzdWJzdHJpbmczCglmcmFtZV9idXJ5IDIgLy8gYXZnU3Rha2U6IHVpbnQxMjgKCgkvLyAqaWY1MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTkKCS8vIGF2Z1N0YWtlICE9PSAwCglmcmFtZV9kaWcgMiAvLyBhdmdTdGFrZTogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliIT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDAzCgkvLyBhcHI6IHVpbnQxMjggPQoJLy8gICAgICAgICAgICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICoKCS8vICAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKQoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcxMAoJYioKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgliLwoJZnJhbWVfZGlnIDEgLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJYioKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICpcbiAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAzIC8vIGFwcjogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDA3CgkvLyBhbHBoYTogdWludDEyOCA9IDEwIGFzIHVpbnQxMjgKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYQoJZnJhbWVfYnVyeSA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoKCS8vICppZjUxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMDkKCS8vIGF2Z1N0YWtlID4gMzAwMDAwMDAwMDAwCglmcmFtZV9kaWcgMiAvLyBhdmdTdGFrZTogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NWQ5NjRiODAwCgliPgoJYnogKmlmNTFfZW5kCgoJLy8gKmlmNTFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMTAKCS8vIGFscGhhID0gOTAgYXMgdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoqaWY1MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAxMgoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPQoJLy8gICAgICAgICAgICh0aGlzLndlaWdodGVkTW92aW5nQXZlcmFnZS52YWx1ZSAqICgoMTAwIGFzIHVpbnQxMjgpIC0gYWxwaGEpKSAvICgxMDAgYXMgdWludDEyOCkgKwoJLy8gICAgICAgICAgIChhcHIgKiBhbHBoYSkgLyAoMTAwIGFzIHVpbnQxMjgpCglieXRlIDB4NjU3NzZkNjEgLy8gImV3bWEiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKCWZyYW1lX2RpZyA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoJYi0KCWIqCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKCWIvCglmcmFtZV9kaWcgMyAvLyBhcHI6IHVpbnQxMjgKCWZyYW1lX2RpZyA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoJYioKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWIrCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyAodGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgKiAoKDEwMCBhcyB1aW50MTI4KSAtIGFscGhhKSkgLyAoMTAwIGFzIHVpbnQxMjgpICtcbiAgICAgICAgICAoYXByICogYWxwaGEpIC8gKDEwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCippZjUwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE4CgkvLyB0aGlzLnNldFJvdW5kc1BlckRheSgpCgljYWxsc3ViIHNldFJvdW5kc1BlckRheQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAodGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgYXMgdWludDEyOCkgKiAodGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYioKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vICh0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSBhcyB1aW50MTI4KSAqICh0aGlzLnJvdW5kc1BlckRheS52YWx1ZSBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAyMAoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IDAKCWJ5dGUgMHg3MjY1Nzc2MTcyNjQ0MTYzNjM3NTZkNzU2YzYxNzQ2ZjcyIC8vICJyZXdhcmRBY2N1bXVsYXRvciIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIxCgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJJQoJLQoJYXBwX2dsb2JhbF9wdXQKCippZjQ4X2VuZDoKCXJldHN1YgoKLy8gc2V0Um91bmRzUGVyRGF5KCk6IHZvaWQKc2V0Um91bmRzUGVyRGF5OgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMjYKCS8vIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlID0gQVZHX1JPVU5EU19QRVJfREFZCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglpbnQgMzA4NTcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImdhcygpdm9pZCIKCW1ldGhvZCAiaW5pdFN0b3JhZ2UocGF5KXZvaWQiCgltZXRob2QgImFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NCIKCW1ldGhvZCAicmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZCIKCW1ldGhvZCAiY2xhaW1Ub2tlbnMoKXZvaWQiCgltZXRob2QgImdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJbWV0aG9kICJwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAidXBkYXRlQWxnb2RWZXIoc3RyaW5nKXZvaWQiCgltZXRob2QgImVwb2NoQmFsYW5jZVVwZGF0ZSgpdm9pZCIKCW1ldGhvZCAiZ29PbmxpbmUocGF5LGJ5dGVbXSxieXRlW10sYnl0ZVtdLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImdvT2ZmbGluZSgpdm9pZCIKCW1ldGhvZCAibGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZCIKCW1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nYXMgKmFiaV9yb3V0ZV9pbml0U3RvcmFnZSAqYWJpX3JvdXRlX2FkZFN0YWtlICphYmlfcm91dGVfcmVtb3ZlU3Rha2UgKmFiaV9yb3V0ZV9jbGFpbVRva2VucyAqYWJpX3JvdXRlX2dldFN0YWtlckluZm8gKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZCAqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyICphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlICphYmlfcm91dGVfZ29PbmxpbmUgKmFiaV9yb3V0ZV9nb09mZmxpbmUgKmFiaV9yb3V0ZV9saW5rVG9ORkQgKmFiaV9yb3V0ZV9wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfVXBkYXRlQXBwbGljYXRpb246CgltZXRob2QgInVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIFVwZGF0ZUFwcGxpY2F0aW9uCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9mZWVTaW5rQWRkcgpzdG9yZSAyMDEKcHVzaGJ5dGVzIFRNUExfbmZkUmVnaXN0cnlBcHBJZApidG9pCnN0b3JlIDIwMAoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfVXBkYXRlQXBwbGljYXRpb24gKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfdXBkYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIHVwZGF0ZUFwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVBcHBsaWNhdGlvbigpOiB2b2lkCnVwZGF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IEFkZHJlc3MuZnJvbUFkZHJlc3MoJ0xaNFYySVJWTENYRkpLNFJFSlY0VEFHRUtFWVRBMkdNUjZUQzIzNDRPQjNMM0FGM01XWFo2WkFGSVEnKSwKCS8vICAgICAgICdUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50JwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWFkZHIgTFo0VjJJUlZMQ1hGSks0UkVKVjRUQUdFS0VZVEEyR01SNlRDMjM0NE9CM0wzQUYzTVdYWjZaQUZJUQoJPT0KCgkvLyBUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50Cglhc3NlcnQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGNyZWF0aW5nQ29udHJhY3RJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY3JlYXRpbmdDb250cmFjdElkOiB1aW50NjQsIHZhbGlkYXRvcklkOiB1aW50NjQsIHBvb2xJZDogdWludDY0LCBtaW5FbnRyeVN0YWtlOiB1aW50NjQpOiB2b2lkCi8vCi8vIEluaXRpYWxpemUgdGhlIHN0YWtpbmcgcG9vbCB3LyBvd25lciBhbmQgbWFuYWdlciwgYnV0IGNhbiBvbmx5IGJlIGNyZWF0ZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdC4KLy8gQHBhcmFtIHt1aW50NjR9IGNyZWF0aW5nQ29udHJhY3RJZCAtIGlkIG9mIGNvbnRyYWN0IHRoYXQgY29uc3RydWN0ZWQgdXMgLSB0aGUgdmFsaWRhdG9yIGFwcGxpY2F0aW9uIChzaW5nbGUgZ2xvYmFsIGluc3RhbmNlKQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgLSBpZCBvZiB2YWxpZGF0b3Igd2UncmUgYSBzdGFraW5nIHBvb2wgb2YKLy8gQHBhcmFtIHt1aW50NjR9IHBvb2xJZCAtIHdoaWNoIHBvb2wgaWQgYXJlIHdlCi8vIEBwYXJhbSB7dWludDY0fSBtaW5FbnRyeVN0YWtlIC0gbWluaW11bSBhbW91bnQgdG8gYmUgaW4gcG9vbCwgYnV0IGFsc28gbWluaW11bSBhbW91bnQgYmFsYW5jZSBjYW4ndCBnbyBiZWxvdyAod2l0aG91dCByZW1vdmluZyBhbGwhKQpjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDQgMAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTA4CgkvLyBjcmVhdGluZ0NvbnRyYWN0SWQgPT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTAKCS8vIGFzc2VydCh2YWxpZGF0b3JJZCA9PT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTEKCS8vIGFzc2VydChwb29sSWQgPT09IDApCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWludCAwCgk9PQoJYXNzZXJ0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTEzCgkvLyBhc3NlcnQodmFsaWRhdG9ySWQgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE0CgkvLyBhc3NlcnQocG9vbElkICE9PSAwKQoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglpbnQgMAoJIT0KCWFzc2VydAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE2CgkvLyBhc3NlcnQobWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC00IC8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJaW50IDEwMDAwMDAKCT49CgoJLy8gc3Rha2luZyBwb29sIG11c3QgaGF2ZSBtaW5pbXVtIGVudHJ5IG9mIDEgYWxnbwoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjExNwoJLy8gdGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUgPSBjcmVhdGluZ0NvbnRyYWN0SWQKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE4CgkvLyB0aGlzLnZhbGlkYXRvcklkLnZhbHVlID0gdmFsaWRhdG9ySWQKCWJ5dGUgMHg3NjYxNmM2OTY0NjE3NDZmNzI0OTY0IC8vICJ2YWxpZGF0b3JJZCIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTkKCS8vIHRoaXMucG9vbElkLnZhbHVlID0gcG9vbElkCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMAoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlID0gMAoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMQoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgPSAwCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglpbnQgMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTIyCgkvLyB0aGlzLm1pbkVudHJ5U3Rha2UudmFsdWUgPSBtaW5FbnRyeVN0YWtlCglieXRlIDB4NmQ2OTZlNDU2ZTc0NzI3OTUzNzQ2MTZiNjUgLy8gIm1pbkVudHJ5U3Rha2UiCglmcmFtZV9kaWcgLTQgLy8gbWluRW50cnlTdGFrZTogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjMKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGdsb2JhbHMucm91bmQKCWJ5dGUgMHg2YzYxNzM3NDUwNjE3OTZmNzU3NCAvLyAibGFzdFBheW91dCIKCWdsb2JhbCBSb3VuZAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI0CgkvLyB0aGlzLmVwb2NoTnVtYmVyLnZhbHVlID0gMAoJYnl0ZSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgLy8gImVwb2NoTnVtYmVyIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyNgoJLy8gdGhpcy5zZXRSb3VuZHNQZXJEYXkoKQoJY2FsbHN1YiBzZXRSb3VuZHNQZXJEYXkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI3CgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJJQoJLQoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI4CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI5CgkvLyB0aGlzLnJld2FyZEFjY3VtdWxhdG9yLnZhbHVlID0gMAoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEzMAoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGUgMHg2NTc3NmQ2MSAvLyAiZXdtYSIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZ2FzKCl2b2lkCiphYmlfcm91dGVfZ2FzOgoJLy8gZXhlY3V0ZSBnYXMoKXZvaWQKCWNhbGxzdWIgZ2FzCglpbnQgMQoJcmV0dXJuCgovLyBnYXMoKTogdm9pZAovLwovLyBnYXMgaXMgYSBkdW1teSBuby1vcCBjYWxsIHRoYXQgY2FuIGJlIHVzZWQgdG8gcG9vbC11cCByZXNvdXJjZSByZWZlcmVuY2VzIGFuZCBvcGNvZGUgY29zdApnYXM6Cglwcm90byAwIDAKCXJldHN1YgoKLy8gY29zdEZvckJveFN0b3JhZ2UodG90YWxOdW1CeXRlczogdWludDY0KTogdWludDY0CmNvc3RGb3JCb3hTdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE0MgoJLy8gcmV0dXJuIFNDQk9YX1BFUkJPWCArIHRvdGFsTnVtQnl0ZXMgKiBTQ0JPWF9QRVJCWVRFOwoJaW50IDI1MDAKCWZyYW1lX2RpZyAtMSAvLyB0b3RhbE51bUJ5dGVzOiB1aW50NjQKCWludCA0MDAKCSoKCSsKCXJldHN1YgoKLy8gaW5pdFN0b3JhZ2UocGF5KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3RvcmFnZToKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKG1iclBheW1lbnQpIGZvciBpbml0U3RvcmFnZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGluaXRTdG9yYWdlKHBheSl2b2lkCgljYWxsc3ViIGluaXRTdG9yYWdlCglpbnQgMQoJcmV0dXJuCgovLyBpbml0U3RvcmFnZShtYnJQYXltZW50OiBQYXlUeG4pOiB2b2lkCi8vCi8vIENhbGxlZCBhZnRlciB3ZSdyZSBjcmVhdGVkIGFuZCB0aGVuIGZ1bmRlZCwgc28gd2UgY2FuIGNyZWF0ZSBvdXIgbGFyZ2Ugc3Rha2VycyBsZWRnZXIgc3RvcmFnZQovLyBDYWxsZXIgaGFzIHRvIGdldCBNQlIgYW1vdW50cyBmcm9tIFZhbGlkYXRvclJlZ2lzdHJ5IHRvIGtub3cgaG93IG11Y2ggdG8gZnVuZCB1cyB0byBjb3ZlciB0aGUgYm94IHN0b3JhZ2UgY29zdAovLyBJZiB0aGlzIGlzIHBvb2wgMSBBTkQgdGhlIHZhbGlkYXRvciBoYXMgc3BlY2lmaWVkIGEgcmV3YXJkIHRva2VuLCBvcHQtaW4gdG8gdGhhdCB0b2tlbgovLyBzbyB0aGF0IHRoZSB2YWxpZGF0b3IgY2FuIHNlZWQgdGhlIHBvb2wgd2l0aCBmdXR1cmUgcmV3YXJkcyBvZiB0aGF0IHRva2VuLgovLyBAcGFyYW0gbWJyUGF5bWVudCBwYXltZW50IGZyb20gY2FsbGVyIHdoaWNoIGNvdmVycyBtYnIgaW5jcmVhc2Ugb2YgbmV3IHN0YWtpbmcgcG9vbHMnIHN0b3JhZ2UKaW5pdFN0b3JhZ2U6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1MwoJLy8gYXNzZXJ0KCF0aGlzLnN0YWtlcnMuZXhpc3RzLCAnc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQnKQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCgoJLy8gc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTYKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1OAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjAKCS8vIGlzVG9rZW5FbGlnaWJsZSA9IHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaW50IDAKCSE9CglmcmFtZV9idXJ5IDEgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MQoJLy8gZXh0cmFNQlIgPSBpc1Rva2VuRWxpZ2libGUgJiYgdGhpcy5wb29sSWQudmFsdWUgPT09IDEgPyBBU1NFVF9IT0xESU5HX0ZFRSA6IDAKCWZyYW1lX2RpZyAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJZHVwCglieiAqc2tpcF9hbmQwCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgkmJgoKKnNraXBfYW5kMDoKCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJaW50IDEwMDAwMAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnQgMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyBleHRyYU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MgoJLy8gUG9vbEluaXRNYnIgPQoJLy8gICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICBleHRyYU1CUiArCgkvLyAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKQoJaW50IDEwMDAwMAoJZnJhbWVfZGlnIDIgLy8gZXh0cmFNQlI6IHVpbnQ2NAoJKwoJaW50IDEyODA3CgljYWxsc3ViIGNvc3RGb3JCb3hTdG9yYWdlCgkrCglmcmFtZV9idXJ5IDMgLy8gUG9vbEluaXRNYnI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjgKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IFBvb2xJbml0TWJyIH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDMgLy8gUG9vbEluaXRNYnI6IHVpbnQ2NAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoiUG9vbEluaXRNYnIifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2OQoJLy8gdGhpcy5zdGFrZXJzLmNyZWF0ZSgpCglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCglpbnQgMTI4MDAKCWJveF9jcmVhdGUKCXBvcAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTcxCgkvLyBpc1Rva2VuRWxpZ2libGUgJiYgdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWZyYW1lX2RpZyAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJZHVwCglieiAqc2tpcF9hbmQxCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTczCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgICAgYXNzZXRBbW91bnQ6IDAsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE3NAoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc1CgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE3NgoJLy8gYXNzZXRBbW91bnQ6IDAKCWludCAwCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMV9lbmQ6CglyZXRzdWIKCi8vIGFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NAoqYWJpX3JvdXRlX2FkZFN0YWtlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoc3Rha2VyKSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDEgKHN0YWtlZEFtb3VudFBheW1lbnQpIGZvciBhZGRTdGFrZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NAoJY2FsbHN1YiBhZGRTdGFrZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgc3Rha2VyOiBBZGRyZXNzKTogdWludDY0Ci8vCi8vIEFkZHMgc3Rha2UgdG8gdGhlIGdpdmVuIGFjY291bnQuCi8vIENhbiBPTkxZIGJlIGNhbGxlZCBieSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0IHRoYXQgY3JlYXRlZCB1cwovLyBNdXN0IHJlY2VpdmUgcGF5bWVudCBmcm9tIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIGFtb3VudCBiZWluZyBzdGFrZWQuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IHByaW9yIHBheW1lbnQgY29taW5nIGZyb20gdmFsaWRhdG9yIGNvbnRyYWN0IHRvIHVzIG9uIGJlaGFsZiBvZiBzdGFrZXIuCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFjY291bnQgYWRkaW5nIG5ldyBzdGFrZQovLyBAdGhyb3dzIHtFcnJvcn0gLSBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIHN0YWtpbmcgcG9vbCBpcyBmdWxsLgovLyBAcmV0dXJucyB7dWludDY0fSBuZXcgJ2VudHJ5IHJvdW5kJyByb3VuZCBudW1iZXIgb2Ygc3Rha2UgYWRkCmFkZFN0YWtlOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTIKCS8vIGFzc2VydCh0aGlzLnN0YWtlcnMuZXhpc3RzLCAnc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QnKQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICdzdGFrZSBjYW4gb25seSBiZSBhZGRlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoKCS8vIHN0YWtlIGNhbiBvbmx5IGJlIGFkZGVkIHZpYSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTk5CgkvLyBhc3NlcnQoc3Rha2VyICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIwMgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMDYKCS8vIHZlcmlmeVBheVR4bihzdGFrZWRBbW91bnRQYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MsCgkvLyAgICAgICByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFtb3VudDogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjE1CgkvLyBlbnRyeVJvdW5kID0gZ2xvYmFscy5yb3VuZCArIEFMR09SQU5EX1NUQUtJTkdfQkxPQ0tfREVMQVkKCWdsb2JhbCBSb3VuZAoJaW50IDMyMAoJKwoJZnJhbWVfYnVyeSAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMTYKCS8vIGZpcnN0RW1wdHkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMTgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50CglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjAKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlIDB4NzM3NDYxNmI2NTQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWl0b2IKCWZyYW1lX2RpZyAyIC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAzIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8wX2VuZAoKCS8vICppZjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI2CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyOQoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMwCgkvLyBjbXBTdGFrZXIuYWNjb3VudCA9PT0gc3Rha2VyCglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjNfZW5kCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMyCgkvLyBjbXBTdGFrZXIuYmFsYW5jZSArPSBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnQgMzIgLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMzCgkvLyBjbXBTdGFrZXIuZW50cnlSb3VuZCA9IGVudHJ5Um91bmQKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDU2IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM2CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbaV0gPSBjbXBTdGFrZXIKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM4CgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJYiAqYWRkU3Rha2UqcmV0dXJuCgoqaWYzX2VuZDoKCS8vICppZjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQwCgkvLyBmaXJzdEVtcHR5ID09PSAwICYmIGNtcFN0YWtlci5hY2NvdW50ID09PSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJZHVwCglieiAqc2tpcF9hbmQyCglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJJiYKCipza2lwX2FuZDI6CglieiAqaWY0X2VuZAoKCS8vICppZjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI0MQoJLy8gZmlyc3RFbXB0eSA9IGkgKyAxCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoqaWY0X2VuZDoKCipmb3JfMF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjUKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAzIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyAqaWY1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI0NQoJLy8gZmlyc3RFbXB0eSA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnQgMAoJPT0KCWJ6ICppZjVfZW5kCgoJLy8gKmlmNV9jb25zZXF1ZW50CgkvLyBTdGFraW5nIHBvb2wgZnVsbAoJZXJyCgoqaWY1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTIKCS8vIGFzc2VydChzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCA+PSB0aGlzLm1pbkVudHJ5U3Rha2UudmFsdWUsICdtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wnKQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglieXRlIDB4NmQ2OTZlNDU2ZTc0NzI3OTUzNzQ2MTZiNjUgLy8gIm1pbkVudHJ5U3Rha2UiCglhcHBfZ2xvYmFsX2dldAoJPj0KCgkvLyBtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTQKCS8vIGFzc2VydCh0aGlzLnN0YWtlcnMudmFsdWVbZmlyc3RFbXB0eSAtIDFdLmFjY291bnQgPT09IGdsb2JhbHMuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAxCgktCglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCAzMgoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTUKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtmaXJzdEVtcHR5IC0gMV0gPSB7CgkvLyAgICAgICBhY2NvdW50OiBzdGFrZXIsCgkvLyAgICAgICBiYWxhbmNlOiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCwKCS8vICAgICAgIHRvdGFsUmV3YXJkZWQ6IDAsCgkvLyAgICAgICByZXdhcmRUb2tlbkJhbGFuY2U6IDAsCgkvLyAgICAgICBlbnRyeVJvdW5kOiBlbnRyeVJvdW5kLAoJLy8gICAgIH0KCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50IDEKCS0KCWludCA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gZW50cnlSb3VuZDogdWludDY0CglpdG9iCgljb25jYXQKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI2MgoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlICs9IDEKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjYzCgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKKmFkZFN0YWtlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3JlbW92ZVN0YWtlOgoJLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc3Rha2VyKSBmb3IgcmVtb3ZlU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoJY2FsbHN1YiByZW1vdmVTdGFrZQoJaW50IDEKCXJldHVybgoKLy8gcmVtb3ZlU3Rha2Uoc3Rha2VyOiBBZGRyZXNzLCBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gUmVtb3ZlcyBzdGFrZSBvbiBiZWhhbGYgb2YgY2FsbGVyIChyZW1vdmluZyBvd24gc3Rha2UpLiAgSWYgYW55IHRva2VuIHJld2FyZHMgZXhpc3QsIHRob3NlIGFyZSBhbHdheXMgc2VudCBpbgovLyBmdWxsLiBBbHNvIG5vdGlmaWVzIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIHRoaXMgcG9vbHMgdmFsaWRhdG9yIG9mIHRoZSBzdGFrZXIgLyBiYWxhbmNlIGNoYW5nZXMuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gYWNjb3VudCB0byByZW1vdmUuICBub3JtYWxseSBzYW1lIGFzIHNlbmRlciwgYnV0IHRoZSB2YWxpZGF0b3Igb3duZXIgb3IgbWFuYWdlciBjYW4gYWxzbyBjYWxsCi8vIHRoaXMgdG8gcmVtb3ZlIHRoZSBzcGVjaWZpZWQgc3Rha2VyIGV4cGxpY2l0bHkuIFRoZSByZW1vdmVkIHN0YWtlIE1VU1Qgb25seSBnbyB0byB0aGUgc3Rha2VyIG9mIGNvdXJzZS4gIFRoaXMgaXMKLy8gc28gYSB2YWxpZGF0b3IgY2FuIHNodXQgZG93biBhIHBvb29sIGFuZCByZWZ1bmQgdGhlIHN0YWtlcnMuICBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIGtpY2sgb3V0IHN0YWtlcnMgd2hvIG5vIGxvbmdlcgovLyBtZWV0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIChkZXRlcm1pbmVkIGJ5IHRoZSBub2RlIGRhZW1vbikuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1Vuc3Rha2UgLSBUaGUgYW1vdW50IG9mIHN0YWtlIHRvIGJlIHJlbW92ZWQuICBTcGVjaWZ5IDAgdG8gcmVtb3ZlIGFsbCBzdGFrZS4KLy8gQHRocm93cyB7RXJyb3J9IElmIHRoZSBhY2NvdW50IGhhcyBpbnN1ZmZpY2llbnQgYmFsYW5jZSBvciBpZiB0aGUgYWNjb3VudCBpcyBub3QgZm91bmQuCnJlbW92ZVN0YWtlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNgoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgwCgkvLyBzdGFrZXIgIT09IHRoaXMudHhuLnNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJIT0KCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLAoJLy8gICAgICAgICAnSWYgc3Rha2VyIGlzIG5vdCBzZW5kZXIgaW4gcmVtb3ZlU3Rha2UgY2FsbCwgdGhlbiBzZW5kZXIgTVVTVCBiZSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICAgICkKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIElmIHN0YWtlciBpcyBub3Qgc2VuZGVyIGluIHJlbW92ZVN0YWtlIGNhbGwsIHRoZW4gc2VuZGVyIE1VU1QgYmUgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKKmlmNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjg3CgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjkwCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTEKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5MwoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjk0CgkvLyBjbXBTdGFrZXIuYWNjb3VudCA9PT0gc3Rha2VyCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjhfZW5kCgoJLy8gKmlmOF9jb25zZXF1ZW50CgkvLyAqaWY5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5NQoJLy8gYW1vdW50VG9VbnN0YWtlID09PSAwCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmOV9lbmQKCgkvLyAqaWY5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTcKCS8vIGFtb3VudFRvVW5zdGFrZSA9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfYnVyeSAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoKKmlmOV9lbmQ6CgkvLyAqaWYxMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTkKCS8vIGNtcFN0YWtlci5iYWxhbmNlIDwgYW1vdW50VG9VbnN0YWtlCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0Cgk8CglieiAqaWYxMF9lbmQKCgkvLyAqaWYxMF9jb25zZXF1ZW50CgkvLyBJbnN1ZmZpY2llbnQgYmFsYW5jZQoJZXJyCgoqaWYxMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzAyCgkvLyBjbXBTdGFrZXIuYmFsYW5jZSAtPSBhbW91bnRUb1Vuc3Rha2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCS0KCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwMwoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50VG9VbnN0YWtlCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CgktCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDUKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDYKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPiAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDggOAoJYnRvaQoJaW50IDAKCT4KCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vICppZjEyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwOAoJLy8gdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJPT0KCWJ6ICppZjEyX2Vsc2UKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA5CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzEwCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTEKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDMgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgICAgICAgICBhc3NldEFtb3VudDogY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSwKCS8vICAgICAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE4CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTkKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyMAoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjIKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzIzCgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTJfZW5kCgoqaWYxMl9lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyOAoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTJfZW5kOgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgIGNtcFN0YWtlci5iYWxhbmNlID09PSAwIHx8IGNtcFN0YWtlci5iYWxhbmNlID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwKCS8vICAgICAgICAgICAnY2Fubm90IHJlZHVjZSBiYWxhbmNlIGJlbG93IG1pbmltdW0gYWxsb3dlZCBzdGFrZSB1bmxlc3MgYWxsIGlzIHJlbW92ZWQnCgkvLyAgICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnQgMAoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWJ5dGUgMHg2ZDY5NmU0NTZlNzQ3Mjc5NTM3NDYxNmI2NSAvLyAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoJfHwKCipza2lwX29yMDoKCS8vIGNhbm5vdCByZWR1Y2UgYmFsYW5jZSBiZWxvdyBtaW5pbXVtIGFsbG93ZWQgc3Rha2UgdW5sZXNzIGFsbCBpcyByZW1vdmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQyCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgYW1vdW50OiBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgcmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICBub3RlOiAndW5zdGFrZWQnLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDMKCS8vIGFtb3VudDogYW1vdW50VG9VbnN0YWtlCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0NAoJLy8gcmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDUKCS8vIG5vdGU6ICd1bnN0YWtlZCcKCWJ5dGUgMHg3NTZlNzM3NDYxNmI2NTY0IC8vICJ1bnN0YWtlZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ3CgkvLyBzdGFrZXJSZW1vdmVkID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0OAoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSAtPSAxCglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCS0KCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MQoJLy8gY21wU3Rha2VyLmFjY291bnQgPSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCAwCglnbG9iYWwgWmVyb0FkZHJlc3MKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0MAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTQKCS8vIHN0YWtlclJlbW92ZWQgPSB0cnVlCglpbnQgMQoJZnJhbWVfYnVyeSA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTkKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgNSAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjAKCS8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4ID0gKGFtb3VudFRvVW5zdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDUgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCWl0b2IKCWIqCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyAoYW1vdW50VG9VbnN0YWtlIGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2MQoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlID0gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgliLQoJZHVwCgliaXRsZW4KCWludCAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2NgoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzY3CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjgKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgICAgIHN0YWtlciwKCS8vICAgICAgICAgICAgIGFtb3VudFRvVW5zdGFrZSwKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIHN0YWtlclJlbW92ZWQsCgkvLyAgICAgICAgICAgXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mzc2CgkvLyByZXR1cm47CglyZXRzdWIKCippZjhfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGFjY291bnQgbm90IGZvdW5kCgllcnIKCXJldHN1YgoKLy8gY2xhaW1Ub2tlbnMoKXZvaWQKKmFiaV9yb3V0ZV9jbGFpbVRva2VuczoKCS8vIGV4ZWN1dGUgY2xhaW1Ub2tlbnMoKXZvaWQKCWNhbGxzdWIgY2xhaW1Ub2tlbnMKCWludCAxCglyZXR1cm4KCi8vIGNsYWltVG9rZW5zKCk6IHZvaWQKLy8KLy8gQ2xhaW1zIGFsbCB0aGUgYXZhaWxhYmxlIHJld2FyZCB0b2tlbnMgYSBzdGFrZXIgaGFzIGF2YWlsYWJsZSwgc2VuZGluZyB0aGVpciBlbnRpcmUgYmFsYW5jZSB0byB0aGUgc3Rha2VyIGZyb20KLy8gcG9vbCAxIChlaXRoZXIgZGlyZWN0bHksIG9yIHZpYSB2YWxpZGF0b3ItPnBvb2wxIHRvIHBheSBpdCBvdXQpCi8vIEFsc28gbm90aWZpZXMgdGhlIHZhbGlkYXRvciBjb250cmFjdCBmb3IgdGhpcyBwb29scyB2YWxpZGF0b3Igb2YgdGhlIHN0YWtlciAvIGJhbGFuY2UgY2hhbmdlcy4KY2xhaW1Ub2tlbnM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTcKCS8vIGNtcFN0YWtlciA9IGNsb25lKHRoaXMuc3Rha2Vycy52YWx1ZVtpXSkKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCA2NAoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYxNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTgKCS8vIGNtcFN0YWtlci5hY2NvdW50ID09PSBzdGFrZXIKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCT09CglieiAqaWYxNV9lbmQKCgkvLyAqaWYxNV9jb25zZXF1ZW50CgkvLyAqaWYxNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjE2X2VuZAoKCS8vICppZjE2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDAKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmMTZfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwMgoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vICppZjE3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwNAoJLy8gdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJPT0KCWJ6ICppZjE3X2Vsc2UKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA1CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA2CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDcKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDQgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDEyCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCksCgkvLyAgICAgICAgICAgICBhc3NldFJlY2VpdmVyOiBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhc3NldEFtb3VudDogY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSwKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMwoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgNCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE0CgkvLyBhc3NldFJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxNQoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MTcKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE4CgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTdfZW5kCgoqaWYxN19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyMwoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MjQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyOAoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludCA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQzMwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAic3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQzNAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDM1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWludCAwCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ0MwoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYxNV9lbmQ6CgoqZm9yXzJfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzkzCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8yCgoqZm9yXzJfZW5kOgoJLy8gYWNjb3VudCBub3QgZm91bmQKCWVycgoJcmV0c3ViCgovLyBnZXRTdGFrZXJJbmZvKGFkZHJlc3MpKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFN0YWtlckluZm86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZXJJbmZvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFN0YWtlckluZm8KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRTdGFrZXJJbmZvKHN0YWtlcjogQWRkcmVzcyk6IFN0YWtlZEluZm8KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gc3Rha2VyLgovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEByZXR1cm5zIHtTdGFrZWRJbmZvfSAtIFRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIHRoZSBnaXZlbiBzdGFrZXIuCi8vIEB0aHJvd3Mge0Vycm9yfSAtIElmIHRoZSBzdGFrZXIncyBhY2NvdW50IGlzIG5vdCBmb3VuZC4KZ2V0U3Rha2VySW5mbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8zOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OQoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAyMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAyMDAKCTwKCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE4X2VuZDoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ2MgoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCAzMgoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCT09CglieiAqaWYxOV9lbmQKCgkvLyAqaWYxOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDYzCgkvLyByZXR1cm4gdGhpcy5zdGFrZXJzLnZhbHVlW2ldOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqZ2V0U3Rha2VySW5mbypyZXR1cm4KCippZjE5X2VuZDoKCipmb3JfM19jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NTgKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzMKCipmb3JfM19lbmQ6CgkvLyBhY2NvdW50IG5vdCBmb3VuZAoJZXJyCgoqZ2V0U3Rha2VySW5mbypyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZDoKCS8vIGFtb3VudFRvU2VuZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gcmV3YXJkVG9rZW46IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAyIChzdGFrZXIpIGZvciBwYXlUb2tlblJld2FyZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBwYXlUb2tlblJld2FyZAoJaW50IDEKCXJldHVybgoKLy8gcGF5VG9rZW5SZXdhcmQoc3Rha2VyOiBBZGRyZXNzLCByZXdhcmRUb2tlbjogdWludDY0LCBhbW91bnRUb1NlbmQ6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gW0ludGVybmFsIHByb3RvY29sIG1ldGhvZF0gUmVtb3ZlIGEgc3BlY2lmaWVkIGFtb3VudCBvZiAnY29tbXVuaXR5IHRva2VuJyByZXdhcmRzIGZvciBhIHN0YWtlci4KLy8gVGhpcyBjYW4gT05MWSBiZSBjYWxsZWQgYnkgb3VyIHZhbGlkYXRvciBhbmQgb25seSBpZiB3ZSdyZSBwb29sIDEgLSB3aXRoIHRoZSB0b2tlbi4KLy8gTm90ZTogdGhpcyBjYW4gYWxzbyBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIGFzIHBhcnQgb2YgT1dORVIgd2FudGluZyB0byBzZW5kIHRoZSByZXdhcmQgdG9rZW5zCi8vIHNvbWV3aGVyZSBlbHNlIChpZSBpZiB0aGV5J3JlIHN1bnNldHRpbmcgdGhlaXIgdmFsaWRhdG9yIGFuZCBuZWVkIHRoZSByZXdhcmQgdG9rZW5zIGJhY2spLgovLyBJdCdzIHVwIHRvIHRoZSB2YWxpZGF0b3IgdG8gZW5zdXJlIHRoYXQgdGhlIGJhbGFuY2UgaW4gcmV3YXJkVG9rZW5IZWxkQmFjayBpcyBob25vcmVkLgovLyBAcGFyYW0gc3Rha2VyIC0gdGhlIHN0YWtlciBhY2NvdW50IHRvIHNlbmQgcmV3YXJkcyB0bwovLyBAcGFyYW0gcmV3YXJkVG9rZW4gLSBpZCBvZiByZXdhcmQgdG9rZW4gKHRvIGF2b2lkIHJlLWVudHJhbmN5IGluIGNhbGxpbmcgdmFsaWRhdG9yIGJhY2sgdG8gZ2V0IGlkKQovLyBAcGFyYW0gYW1vdW50VG9TZW5kIC0gYW1vdW50IHRvIHNlbmQgdGhlIHN0YWtlciAodGhlcmUgaXMgc2lnbmlmaWNhbnQgdHJ1c3QgaGVyZSghKSAtIGFsc28gd2h5IG9ubHkgdmFsaWRhdG9yIGNhbiBjYWxsIHVzCnBheVRva2VuUmV3YXJkOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ4MQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKS5hZGRyZXNzLAoJLy8gICAgICAgJ3RoaXMgY2FuIG9ubHkgYmUgY2FsbGVkIHZpYSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0JwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdGhpcyBjYW4gb25seSBiZSBjYWxsZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODUKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ211c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMnKQoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgk9PQoKCS8vIG11c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODYKCS8vIGFzc2VydChyZXdhcmRUb2tlbiAhPT0gMCwgJ2NhbiBvbmx5IGNsYWltIHRva2VuIHJld2FyZHMgZnJvbSB2YWxpZGF0b3IgdGhhdCBoYXMgdGhlbScpCglmcmFtZV9kaWcgLTIgLy8gcmV3YXJkVG9rZW46IHVpbnQ2NAoJaW50IDAKCSE9CgoJLy8gY2FuIG9ubHkgY2xhaW0gdG9rZW4gcmV3YXJkcyBmcm9tIHZhbGlkYXRvciB0aGF0IGhhcyB0aGVtCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDg5CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbiksCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiBzdGFrZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogYW1vdW50VG9TZW5kLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDkwCgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbikKCWZyYW1lX2RpZyAtMiAvLyByZXdhcmRUb2tlbjogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0OTEKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ5MgoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU2VuZDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyB1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyOgoJLy8gYWxnb2RWZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUFsZ29kVmVyKHN0cmluZyl2b2lkCgljYWxsc3ViIHVwZGF0ZUFsZ29kVmVyCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVBbGdvZFZlcihhbGdvZFZlcjogc3RyaW5nKTogdm9pZAovLwovLyBVcGRhdGUgdGhlIChob25vciBzeXN0ZW0pIGFsZ29kIHZlcnNpb24gZm9yIHRoZSBub2RlIGFzc29jaWF0ZWQgdG8gdGhpcyBwb29sLiAgVGhlIG5vZGUgbWFuYWdlbWVudCBkYWVtb24KLy8gc2hvdWxkIGNvbXBhcmUgaXRzIGN1cnJlbnQgbm9kZXMgdmVyc2lvbiB0byB0aGUgdmVyc2lvbiBzdG9yZWQgaW4gZ2xvYmFsIHN0YXRlLCB1cGRhdGluZyB3aGVuIGRpZmZlcmVudC4KLy8gVGhlIHJldGkgbm9kZSBkYWVtb24gY29tcG9zZXMgaXRzIG93biB2ZXJzaW9uIHN0cmluZyB1c2luZyBmb3JtYXQ6Ci8vIHttYWpvcn0ue21pbm9yfS57YnVpbGR9IHticmFuY2h9IFt7Y29tbWl0IGhhc2h9XSwKLy8gaWU6IDMuMjIuMCByZWwvc3RhYmxlIFs2YjUwODk3NV0KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQovLyBAcGFyYW0ge3N0cmluZ30gYWxnb2RWZXIgLSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBhbGdvcmFuZCBub2RlIGRhZW1vbiB2ZXJzaW9uIChyZXRpIG5vZGUgZGFlbW9uIGNvbXBvc2VzIGl0cyBvd24gbWV0YSB2ZXJzaW9uKQp1cGRhdGVBbGdvZFZlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDYKCS8vIGFzc2VydCh0aGlzLmlzT3duZXJPck1hbmFnZXJDYWxsZXIoKSwgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicpCgljYWxsc3ViIGlzT3duZXJPck1hbmFnZXJDYWxsZXIKCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDcKCS8vIHRoaXMuYWxnb2RWZXIudmFsdWUgPSBhbGdvZFZlcgoJYnl0ZSAweDYxNmM2NzZmNjQ1NjY1NzIgLy8gImFsZ29kVmVyIgoJZnJhbWVfZGlnIC0xIC8vIGFsZ29kVmVyOiBzdHJpbmcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGVwb2NoQmFsYW5jZVVwZGF0ZSgpdm9pZAoqYWJpX3JvdXRlX2Vwb2NoQmFsYW5jZVVwZGF0ZToKCS8vIGV4ZWN1dGUgZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkCgljYWxsc3ViIGVwb2NoQmFsYW5jZVVwZGF0ZQoJaW50IDEKCXJldHVybgoKLy8gZXBvY2hCYWxhbmNlVXBkYXRlKCk6IHZvaWQKLy8KLy8gVXBkYXRlcyB0aGUgYmFsYW5jZSBvZiBzdGFrZXJzIGluIHRoZSBwb29sIGJhc2VkIG9uIHRoZSByZWNlaXZlZCAncmV3YXJkcycgKGN1cnJlbnQgYmFsYW5jZSB2cyBrbm93biBzdGFrZWQgYmFsYW5jZSkKLy8gc3Rha2VycyBvdXRzdGFuZGluZyBiYWxhbmNlIGlzIGFkanVzdGVkIGJhc2VkIG9uIHRoZWlyICUgb2Ygc3Rha2UgYW5kIHRpbWUgaW4gdGhlIGN1cnJlbnQgZXBvY2ggLSBzbyB0aGF0IGJhbGFuY2UKLy8gY29tcG91bmRzIG92ZXIgdGltZSBhbmQgc3Rha2VyIGNhbiByZW1vdmUgdGhhdCBhbW91bnQgYXQgd2lsbC4KLy8gVGhlIHZhbGlkYXRvciBpcyBwYWlkIHRoZWlyIHBlcmNlbnRhZ2UgZWFjaCBlcG9jaCBwYXlvdXQuCi8vCi8vIE5vdGU6IEFOWU9ORSBjYW4gY2FsbCB0aGlzLgplcG9jaEJhbGFuY2VVcGRhdGU6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAzNgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjAKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjEKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMgoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjkKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB2YWxpZGF0b3JDb25maWcuZXBvY2hSb3VuZExlbmd0aCBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2OSA0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMiAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMQoJLy8gdGhpc0Vwb2NoQmVnaW4gPSBjdXJSb3VuZCAtIChjdXJSb3VuZCAlIGVwb2NoUm91bmRMZW5ndGgpCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCSUKCS0KCWZyYW1lX2J1cnkgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CgoJLy8gKmlmMjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM0CgkvLyB0aGlzLmxhc3RQYXlvdXQuZXhpc3RzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglieiAqaWYyMF9lbmQKCgkvLyAqaWYyMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM1CgkvLyBsYXN0UGF5b3V0RXBvY2ggPSB0aGlzLmxhc3RQYXlvdXQudmFsdWUgLSAodGhpcy5sYXN0UGF5b3V0LnZhbHVlICUgZXBvY2hSb3VuZExlbmd0aCkKCWJ5dGUgMHg2YzYxNzM3NDUwNjE3OTZmNzU3NCAvLyAibGFzdFBheW91dCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gbGFzdFBheW91dEVwb2NoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM5CgkvLyBhc3NlcnQobGFzdFBheW91dEVwb2NoICE9PSB0aGlzRXBvY2hCZWdpbiwgImNhbid0IGNhbGwgZXBvY2hCYWxhbmNlVXBkYXRlIGluIHNhbWUgZXBvY2ggYXMgcHJpb3IgY2FsbCIpCglmcmFtZV9kaWcgNCAvLyBsYXN0UGF5b3V0RXBvY2g6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJIT0KCgkvLyBjYW4ndCBjYWxsIGVwb2NoQmFsYW5jZVVwZGF0ZSBpbiBzYW1lIGVwb2NoIGFzIHByaW9yIGNhbGwKCWFzc2VydAoKKmlmMjBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU0MgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDUKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGN1clJvdW5kCglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDYKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgKz0gMQoJYnl0ZSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgLy8gImVwb2NoTnVtYmVyIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgkrCglieXRlIDB4NjU3MDZmNjM2ODRlNzU2ZDYyNjU3MiAvLyAiZXBvY2hOdW1iZXIiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NTEKCS8vIGlzVG9rZW5FbGlnaWJsZSA9IHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaW50IDAKCSE9CglmcmFtZV9idXJ5IDUgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MgoJLy8gcG9vbE9uZUFwcElEID0gdGhpcy5hcHAuaWQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NTMKCS8vIHBvb2xPbmVBZGRyZXNzID0gdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKCS8vICppZjIxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1OAoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjIxX2VuZAoKCS8vICppZjIxX2NvbnNlcXVlbnQKCS8vICppZjIyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1OQoJLy8gdGhpcy5wb29sSWQudmFsdWUgIT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJIT0KCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjEKCS8vIHBvb2xPbmVBcHBJRCA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0UG9vbEFwcElkPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWUsIDFdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTYyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCAxXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjUKCS8vIHBvb2xPbmVBZGRyZXNzID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sT25lQXBwSUQpLmFkZHJlc3MKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKKmlmMjJfZW5kOgoJLy8gKmlmMjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcwCgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgk9PQoJYnogKmlmMjNfZWxzZQoKCS8vICppZjIzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzEKCS8vIHRva2VuUGF5b3V0UmF0aW8gPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLnNldFRva2VuUGF5b3V0UmF0aW8+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWIgKmlmMjNfZW5kCgoqaWYyM19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU3NwoJLy8gdG9rZW5QYXlvdXRSYXRpbyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xPbmVBcHBJRCksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3sgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfV0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbygodWludDY0LHVpbnQ2NCx1aW50NjQpKSh1aW50NjRbMjRdLHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzgKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbE9uZUFwcElEKQoJZnJhbWVfZGlnIDYgLy8gcG9vbE9uZUFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzkKCS8vIG1ldGhvZEFyZ3M6IFt7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH1dCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA4IC8vIHRva2VuUGF5b3V0UmF0aW86IFBvb2xUb2tlblBheW91dFJhdGlvCgoqaWYyM19lbmQ6CgoqaWYyMV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTg2CgkvLyB2YWxpZGF0b3JTdGF0ZSA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yU3RhdGU+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU4OAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTkwCgkvLyByZXdhcmRUb2tlbkhlbGRCYWNrID0gdmFsaWRhdG9yU3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDkgLy8gdmFsaWRhdG9yU3RhdGU6ICh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMTAgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU5NgoJLy8gYWxnb1Jld2FyZEF2YWlsID0gdGhpcy5hcHAuYWRkcmVzcy5iYWxhbmNlIC0gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXBvcAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTcKCS8vIGlzUG9vbFNhdHVyYXRlZCA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSAxMiAvLyBpc1Bvb2xTYXR1cmF0ZWQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk4CgkvLyBhbGdvU2F0dXJhdGlvbkFtdCA9IHRoaXMuYWxnb1NhdHVyYXRpb25MZXZlbCgpCgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWZyYW1lX2J1cnkgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoKCS8vICppZjI0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNgoJLy8gdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkID4gYWxnb1NhdHVyYXRpb25BbXQKCWZyYW1lX2RpZyA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMCA4CglidG9pCglmcmFtZV9kaWcgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoJPgoJYnogKmlmMjRfZW5kCgoJLy8gKmlmMjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNwoJLy8gaXNQb29sU2F0dXJhdGVkID0gdHJ1ZQoJaW50IDEKCWZyYW1lX2J1cnkgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCgoqaWYyNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjEzCgkvLyB0b2tlblJld2FyZEF2YWlsID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE2CgkvLyBleGNlc3NUb0ZlZVNpbmsgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNwoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2MTgKCS8vIHRva2VuUmV3YXJkQmFsID0KCS8vICAgICAgICAgcG9vbE9uZUFkZHJlc3MuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDcgLy8gcG9vbE9uZUFkZHJlc3M6IGFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEwIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxOCAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gKmlmMjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjIzCgkvLyB0b2tlblJld2FyZEJhbCA+PSB2YWxpZGF0b3JDb25maWcucmV3YXJkUGVyUGF5b3V0CglmcmFtZV9kaWcgMTggLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTYxIDgKCWJ0b2kKCT49CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjI5CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbdGhpcy5wb29sSWQudmFsdWUgLSAxXQoJZnJhbWVfZGlnIDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWludCAwCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCS0KCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfYnVyeSAxOSAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzMgoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9IHdpZGVSYXRpbyhbdmFsaWRhdG9yQ29uZmlnLnJld2FyZFBlclBheW91dCwgb3VyUG9vbFBjdE9mV2hvbGVdLCBbMV8wMDBfMDAwXSkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2MSA4CglidG9pCglmcmFtZV9kaWcgMTkgLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJbXVsdwoJaW50IDAKCWludCAxXzAwMF8wMDAKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoKKmlmMjZfZW5kOgoKKmlmMjVfZW5kOgoJLy8gKmlmMjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjM1CgkvLyB0b2tlblJld2FyZEF2YWlsID09PSAwCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPT0KCWJ6ICppZjI3X2VuZAoKCS8vICppZjI3X2NvbnNlcXVlbnQKCS8vICppZjI4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MAoJLy8gYWxnb1Jld2FyZEF2YWlsIDwgMV8wMDBfMDAwCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWludCAxXzAwMF8wMDAKCTwKCWJ6ICppZjI4X2VuZAoKCS8vICppZjI4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDEKCS8vIGxvZygnIXRva2VuJiYhbm9hbGdvIHRvIHBheScpCglieXRlIDB4MjE3NDZmNmI2NTZlMjYyNjIxNmU2ZjYxNmM2NzZmMjA3NDZmMjA3MDYxNzkgLy8gIiF0b2tlbiYmIW5vYWxnbyB0byBwYXkiCglsb2cKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjQyCgkvLyByZXR1cm47CglyZXRzdWIKCippZjI4X2VuZDoKCippZjI3X2VuZDoKCS8vICppZjI5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0NgoJLy8gaXNQb29sU2F0dXJhdGVkCglmcmFtZV9kaWcgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCglieiAqaWYyOV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjI5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDkKCS8vIGRpbWluaXNoZWRSZXdhcmQgPSB3aWRlUmF0aW8oW2FsZ29SZXdhcmRBdmFpbCwgYWxnb1NhdHVyYXRpb25BbXRdLCBbdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkXSkKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDEzIC8vIGFsZ29TYXR1cmF0aW9uQW10OiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTAgOAoJYnRvaQoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MQoJLy8gZXhjZXNzVG9GZWVTaW5rID0gYWxnb1Jld2FyZEF2YWlsIC0gZGltaW5pc2hlZFJld2FyZAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CgktCglmcmFtZV9idXJ5IDE3IC8vIGV4Y2Vzc1RvRmVlU2luazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgICBhbW91bnQ6IGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgICAgcmVjZWl2ZXI6IHRoaXMuZ2V0RmVlU2luaygpLAoJLy8gICAgICAgICBub3RlOiAncG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luaycsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTMKCS8vIGFtb3VudDogZXhjZXNzVG9GZWVTaW5rCglmcmFtZV9kaWcgMTcgLy8gZXhjZXNzVG9GZWVTaW5rOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1NAoJLy8gcmVjZWl2ZXI6IHRoaXMuZ2V0RmVlU2luaygpCgljYWxsc3ViIGdldEZlZVNpbmsKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU1CgkvLyBub3RlOiAncG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luaycKCWJ5dGUgMHg3MDZmNmY2YzIwNzM2MTc0NzU3MjYxNzQ2NTY0MmMyMDY1Nzg2MzY1NzM3MzIwNzQ2ZjIwNjY2NTY1MjA3MzY5NmU2YiAvLyAicG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luayIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU4CgkvLyBhbGdvUmV3YXJkQXZhaWwgPSBkaW1pbmlzaGVkUmV3YXJkCglmcmFtZV9kaWcgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CglmcmFtZV9idXJ5IDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgliICppZjI5X2VuZAoKKmlmMjlfZWxzZWlmMV9jb25kaXRpb246CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU5CgkvLyB2YWxpZGF0b3JDb25maWcucGVyY2VudFRvVmFsaWRhdG9yICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJaW50IDAKCSE9CglieiAqaWYyOV9lbmQKCgkvLyAqaWYyOV9lbHNlaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NjIKCS8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0ID0gd2lkZVJhdGlvKAoJLy8gICAgICAgICBbYWxnb1Jld2FyZEF2YWlsLCB2YWxpZGF0b3JDb25maWcucGVyY2VudFRvVmFsaWRhdG9yIGFzIHVpbnQ2NF0sCgkvLyAgICAgICAgIFsxXzAwMF8wMDBdCgkvLyAgICAgICApCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE3MyA0CglidG9pCgltdWx3CglpbnQgMAoJaW50IDFfMDAwXzAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NjgKCS8vIGFsZ29SZXdhcmRBdmFpbCAtPSB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vICppZjMwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY3NQoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgPiAwCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJaW50IDAKCT4KCWJ6ICppZjMwX2VuZAoKCS8vICppZjMwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NzgKCS8vIG1hbmFnZXJUb3BPZmYgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCgkvLyAqaWYzMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODAKCS8vIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyICE9PSB2YWxpZGF0b3JDb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgJiYKCS8vICAgICAgICAgICB2YWxpZGF0b3JDb25maWcubWFuYWdlci5iYWxhbmNlIC0gdmFsaWRhdG9yQ29uZmlnLm1hbmFnZXIubWluQmFsYW5jZSA8IDJfMTAwXzAwMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgMzIKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE3NyAzMgoJIT0KCWR1cAoJYnogKnNraXBfYW5kMwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgMzIKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCS0KCWludCAyXzEwMF8wMDAKCTwKCSYmCgoqc2tpcF9hbmQzOgoJYnogKmlmMzFfZW5kCgoJLy8gKmlmMzFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MwoJLy8gbWFuYWdlclRvcE9mZiA9IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IDwgMl8xMDBfMDAwID8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgOiAyXzEwMF8wMDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnQgMl8xMDBfMDAwCgk8CglieiAqdGVybmFyeTFfZmFsc2UKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgliICp0ZXJuYXJ5MV9lbmQKCip0ZXJuYXJ5MV9mYWxzZToKCWludCAyXzEwMF8wMDAKCip0ZXJuYXJ5MV9lbmQ6CglmcmFtZV9idXJ5IDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODQKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgICAgIGFtb3VudDogbWFuYWdlclRvcE9mZiwKCS8vICAgICAgICAgICAgIHJlY2VpdmVyOiB2YWxpZGF0b3JDb25maWcubWFuYWdlciwKCS8vICAgICAgICAgICAgIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njg1CgkvLyBhbW91bnQ6IG1hbmFnZXJUb3BPZmYKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NgoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODcKCS8vIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycKCWJ5dGUgMHg3NjYxNmM2OTY0NjE3NDZmNzIyMDcyNjU3NzYxNzI2NDIwNzQ2ZjIwNmQ2MTZlNjE2NzY1NzIyMDY2NmY3MjIwNjY3NTZlNjQ2OTZlNjcyMDY1NzA2ZjYzNjgyMDc1NzA2NDYxNzQ2NTczIC8vICJ2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcyIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjMxX2VuZDoKCS8vICppZjMyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MAoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgLSBtYW5hZ2VyVG9wT2ZmID4gMAoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWludCAwCgk+CglieiAqaWYzMl9lbmQKCgkvLyAqaWYzMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgICBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZiwKCS8vICAgICAgICAgICAgIHJlY2VpdmVyOiB2YWxpZGF0b3JDb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MsCgkvLyAgICAgICAgICAgICBub3RlOiAndmFsaWRhdG9yIHJld2FyZCcsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkyCgkvLyBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZgoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MwoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5NAoJLy8gbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQnCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyMjA3MjY1Nzc2MTcyNjQgLy8gInZhbGlkYXRvciByZXdhcmQiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYzMl9lbmQ6CgoqaWYzMF9lbmQ6CgoqaWYyOV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzA2CgkvLyBpbmNyZWFzZWRTdGFrZSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCgkvLyAqaWYzM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzAKCS8vIGFsZ29SZXdhcmRBdmFpbCAhPT0gMCB8fCB0b2tlblJld2FyZEF2YWlsICE9PSAwCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWludCAwCgkhPQoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJIT0KCXx8Cgoqc2tpcF9vcjE6CglieiAqaWYzM19lbmQKCgkvLyAqaWYzM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMxCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMgoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyNCAvLyBpOiB1aW50NjQKCipmb3JfNDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzIKCS8vIGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgMjQgLy8gaTogdWludDY0CglpbnQgMjAwCgk8CglieiAqZm9yXzRfZW5kCgoJLy8gKmlmMzRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMzCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDQwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDQwMAoJPAoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNgoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCA2NAoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmMzVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzM3CgkvLyBjbXBTdGFrZXIuYWNjb3VudCAhPT0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglieiAqaWYzNV9lbmQKCgkvLyAqaWYzNV9jb25zZXF1ZW50CgkvLyAqaWYzNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzgKCS8vIGNtcFN0YWtlci5lbnRyeVJvdW5kID49IHRoaXNFcG9jaEJlZ2luCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCT49CglieiAqaWYzNl9lbHNlCgoJLy8gKmlmMzZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc0MQoJLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlICs9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJKwoJZnJhbWVfYnVyeSAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJYiAqaWYzNl9lbmQKCippZjM2X2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQ1CgkvLyB0aW1lSW5Qb29sID0gdGhpc0Vwb2NoQmVnaW4gLSBjbXBTdGFrZXIuZW50cnlSb3VuZAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA1NiA4CglidG9pCgktCglmcmFtZV9idXJ5IDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoKCS8vICppZjM3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc0OQoJLy8gdGltZUluUG9vbCA8IGVwb2NoUm91bmRMZW5ndGgKCWZyYW1lX2RpZyAyNiAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJPAoJYnogKmlmMzdfZW5kCgoJLy8gKmlmMzdfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MAoJLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlICs9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJKwoJZnJhbWVfYnVyeSAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NTEKCS8vIHRpbWVQZXJjZW50YWdlID0gKHRpbWVJblBvb2wgKiAxMDAwKSAvIGVwb2NoUm91bmRMZW5ndGgKCWZyYW1lX2RpZyAyNiAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCWludCAxMDAwCgkqCglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMjcgLy8gdGltZVBlcmNlbnRhZ2U6IHVpbnQ2NAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MwoJLy8gdG9rZW5SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludCAwCgk+CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzU1CgkvLyBzdGFrZXJUb2tlblJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbCwgdGltZVBlcmNlbnRhZ2VdLAoJLy8gICAgICAgICAgICAgICAgICAgW3RoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlLCAxMDAwXQoJLy8gICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjggLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjIKCS8vIHRva2VuUmV3YXJkQXZhaWwgLT0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgktCglmcmFtZV9idXJ5IDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzY0CgkvLyB0b2tlblJld2FyZFBhaWRPdXQgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNSAvLyB0b2tlblJld2FyZFBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDI4IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCippZjM4X2VuZDoKCS8vICppZjM5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2NgoJLy8gYWxnb1Jld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPgoJYnogKmlmMzlfZW5kCgoJLy8gKmlmMzlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2OAoJLy8gc3Rha2VyUmV3YXJkID0gd2lkZVJhdGlvKAoJLy8gICAgICAgICAgICAgICAgICAgW2NtcFN0YWtlci5iYWxhbmNlLCBhbGdvUmV3YXJkQXZhaWwsIHRpbWVQZXJjZW50YWdlXSwKCS8vICAgICAgICAgICAgICAgICAgIFt0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSwgMTAwMF0KCS8vICAgICAgICAgICAgICAgICApCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjkgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc1CgkvLyBhbGdvUmV3YXJkQXZhaWwgLT0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NzgKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc5CgkvLyBjbXBTdGFrZXIudG90YWxSZXdhcmRlZCArPSBzdGFrZXJSZXdhcmQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0MCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc4MAoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjM5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3ODMKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYzN19lbmQ6CgoqaWYzNl9lbmQ6CgoqaWYzNV9lbmQ6CgoqZm9yXzRfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMyCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyNCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDI0IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzQKCipmb3JfNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzkxCgkvLyBuZXdQb29sVG90YWxTdGFrZSA9IHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIC0gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgktCglmcmFtZV9idXJ5IDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTUKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID4gMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWludCAwCgk+CglieiAqaWY0MF9lbmQKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDMxIC8vIGk6IHVpbnQ2NAoKKmZvcl81OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc5NwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzMSAvLyBpOiB1aW50NjQKCWludCAyMDAKCTwKCWJ6ICpmb3JfNV9lbmQKCgkvLyAqaWY0MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTgKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMjAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnQgMjAwCgk8CglieiAqaWY0MV9lbmQKCgkvLyAqaWY0MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAxCgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWY0Ml9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MDIKCS8vIGNtcFN0YWtlci5hY2NvdW50ICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzICYmIGNtcFN0YWtlci5lbnRyeVJvdW5kIDwgdGhpc0Vwb2NoQmVnaW4KCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQ0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCTwKCSYmCgoqc2tpcF9hbmQ0OgoJYnogKmlmNDJfZW5kCgoJLy8gKmlmNDJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwMwoJLy8gdGltZUluUG9vbCA9IHRoaXNFcG9jaEJlZ2luIC0gY21wU3Rha2VyLmVudHJ5Um91bmQKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJLQoJZnJhbWVfYnVyeSAzMyAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCgkvLyAqaWY0M19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MDUKCS8vIHRpbWVJblBvb2wgPj0gZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDMzIC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0Cgk+PQoJYnogKmlmNDNfZW5kCgoJLy8gKmlmNDNfY29uc2VxdWVudAoJLy8gKmlmNDRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODEwCgkvLyB0b2tlblJld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50IDAKCT4KCWJ6ICppZjQ0X2VuZAoKCS8vICppZjQ0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTEKCS8vIHN0YWtlclRva2VuUmV3YXJkID0gd2lkZVJhdGlvKFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbF0sIFtuZXdQb29sVG90YWxTdGFrZV0pCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgMzAgLy8gbmV3UG9vbFRvdGFsU3Rha2U6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMzQgLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2RpZyAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODE1CgkvLyB0b2tlblJld2FyZFBhaWRPdXQgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNSAvLyB0b2tlblJld2FyZFBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDM0IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCippZjQ0X2VuZDoKCS8vICppZjQ1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNwoJLy8gYWxnb1Jld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPgoJYnogKmlmNDVfZW5kCgoJLy8gKmlmNDVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxOAoJLy8gc3Rha2VyUmV3YXJkID0gd2lkZVJhdGlvKFtjbXBTdGFrZXIuYmFsYW5jZSwgYWxnb1Jld2FyZEF2YWlsXSwgW25ld1Bvb2xUb3RhbFN0YWtlXSkKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMQoJLy8gY21wU3Rha2VyLmJhbGFuY2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnQgMzIgLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgMzUgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCSsKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjIKCS8vIGNtcFN0YWtlci50b3RhbFJld2FyZGVkICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDQwIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgOAoJYnRvaQoJZnJhbWVfZGlnIDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODIzCgkvLyBpbmNyZWFzZWRTdGFrZSArPSBzdGFrZXJSZXdhcmQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CglmcmFtZV9kaWcgMzUgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoKKmlmNDVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyNwoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjQzX2VuZDoKCippZjQyX2VuZDoKCipmb3JfNV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMzEgLy8gaTogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCippZjQwX2VuZDoKCippZjMzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzcKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMzYgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODM4CgkvLyB0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSArPSBpbmNyZWFzZWRTdGFrZQoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzkKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoaW5jcmVhc2VkU3Rha2UgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlIDB4NzM3NDYxNmI2NTQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDM2IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChpbmNyZWFzZWRTdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0MQoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgKyBpbmNyZWFzZWRTdGFrZQoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJZHVwCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0NwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9LAoJLy8gICAgICAgICBpbmNyZWFzZWRTdGFrZSwKCS8vICAgICAgICAgdG9rZW5SZXdhcmRQYWlkT3V0LAoJLy8gICAgICAgICB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCwKCS8vICAgICAgICAgZXhjZXNzVG9GZWVTaW5rLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAic3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODQ4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDkKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9LAoJLy8gICAgICAgICBpbmNyZWFzZWRTdGFrZSwKCS8vICAgICAgICAgdG9rZW5SZXdhcmRQYWlkT3V0LAoJLy8gICAgICAgICB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCwKCS8vICAgICAgICAgZXhjZXNzVG9GZWVTaW5rLAoJLy8gICAgICAgXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTcgLy8gZXhjZXNzVG9GZWVTaW5rOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBnb09ubGluZShwYXksYnl0ZVtdLGJ5dGVbXSxieXRlW10sdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2dvT25saW5lOgoJLy8gdm90ZUtleURpbHV0aW9uOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWJ0b2kKCgkvLyB2b3RlTGFzdDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gdm90ZUZpcnN0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBzdGF0ZVByb29mUEs6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBzZWxlY3Rpb25QSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIHZvdGVQSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGZlZVBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDYgKGZlZVBheW1lbnQpIGZvciBnb09ubGluZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGdvT25saW5lCglpbnQgMQoJcmV0dXJuCgovLyBnb09ubGluZShmZWVQYXltZW50OiBQYXlUeG4sIHZvdGVQSzogYnl0ZXMsIHNlbGVjdGlvblBLOiBieXRlcywgc3RhdGVQcm9vZlBLOiBieXRlcywgdm90ZUZpcnN0OiB1aW50NjQsIHZvdGVMYXN0OiB1aW50NjQsIHZvdGVLZXlEaWx1dGlvbjogdWludDY0KTogdm9pZAovLwovLyBSZWdpc3RlcnMgYSBzdGFraW5nIHBvb2wga2V5IG9ubGluZSBhZ2FpbnN0IGEgcGFydGljaXBhdGlvbiBrZXkuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KLy8KLy8gQHBhcmFtIHtQYXlUeG59IGZlZVBheW1lbnQgLSBwYXltZW50IHRvIGNvdmVyIGV4dHJhIGZlZSBvZiBnb2luZyBvbmxpbmUgaWYgb2ZmbGluZSAtIG9yIDAgaWYgbm90IHJlbmV3YWwKLy8gQHBhcmFtIHtieXRlc30gdm90ZVBLIC0gVGhlIHZvdGUgcHVibGljIGtleS4KLy8gQHBhcmFtIHtieXRlc30gc2VsZWN0aW9uUEsgLSBUaGUgc2VsZWN0aW9uIHB1YmxpYyBrZXkuCi8vIEBwYXJhbSB7Ynl0ZXN9IHN0YXRlUHJvb2ZQSyAtIFRoZSBzdGF0ZSBwcm9vZiBwdWJsaWMga2V5LgovLyBAcGFyYW0ge3VpbnQ2NH0gdm90ZUZpcnN0IC0gVGhlIGZpcnN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlTGFzdCAtIFRoZSBsYXN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlS2V5RGlsdXRpb24gLSBUaGUgdm90ZSBrZXkgZGlsdXRpb24gdmFsdWUuCi8vIEB0aHJvd3Mge0Vycm9yfSBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjYWxsZXIgaXMgbm90IHRoZSBvd25lciBvciBhIG1hbmFnZXIuCmdvT25saW5lOgoJcHJvdG8gNyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgxCgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgyCgkvLyBleHRyYUZlZSA9IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJZnJhbWVfYnVyeSAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgzCgkvLyB2ZXJpZnlQYXlUeG4oZmVlUGF5bWVudCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiBleHRyYUZlZSB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6ImV4dHJhRmVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODQKCS8vIHNlbmRPbmxpbmVLZXlSZWdpc3RyYXRpb24oewoJLy8gICAgICAgdm90ZVBLOiB2b3RlUEssCgkvLyAgICAgICBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEssCgkvLyAgICAgICBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSywKCS8vICAgICAgIHZvdGVGaXJzdDogdm90ZUZpcnN0LAoJLy8gICAgICAgdm90ZUxhc3Q6IHZvdGVMYXN0LAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24sCgkvLyAgICAgICBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODUKCS8vIHZvdGVQSzogdm90ZVBLCglmcmFtZV9kaWcgLTIgLy8gdm90ZVBLOiBieXRlcwoJaXR4bl9maWVsZCBWb3RlUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg2CgkvLyBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEsKCWZyYW1lX2RpZyAtMyAvLyBzZWxlY3Rpb25QSzogYnl0ZXMKCWl0eG5fZmllbGQgU2VsZWN0aW9uUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg3CgkvLyBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSwoJZnJhbWVfZGlnIC00IC8vIHN0YXRlUHJvb2ZQSzogYnl0ZXMKCWl0eG5fZmllbGQgU3RhdGVQcm9vZlBLCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg4OAoJLy8gdm90ZUZpcnN0OiB2b3RlRmlyc3QKCWZyYW1lX2RpZyAtNSAvLyB2b3RlRmlyc3Q6IHVpbnQ2NAoJaXR4bl9maWVsZCBWb3RlRmlyc3QKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg5CgkvLyB2b3RlTGFzdDogdm90ZUxhc3QKCWZyYW1lX2RpZyAtNiAvLyB2b3RlTGFzdDogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVMYXN0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg5MAoJLy8gdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24KCWZyYW1lX2RpZyAtNyAvLyB2b3RlS2V5RGlsdXRpb246IHVpbnQ2NAoJaXR4bl9maWVsZCBWb3RlS2V5RGlsdXRpb24KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODkxCgkvLyBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGdvT2ZmbGluZSgpdm9pZAoqYWJpX3JvdXRlX2dvT2ZmbGluZToKCS8vIGV4ZWN1dGUgZ29PZmZsaW5lKCl2b2lkCgljYWxsc3ViIGdvT2ZmbGluZQoJaW50IDEKCXJldHVybgoKLy8gZ29PZmZsaW5lKCk6IHZvaWQKLy8KLy8gTWFya3MgYSBzdGFraW5nIHBvb2wga2V5IE9GRkxJTkUuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KZ29PZmZsaW5lOgoJcHJvdG8gMCAwCgoJLy8gKmlmNDZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTAzCgkvLyB0aGlzLnR4bi5zZW5kZXIgIT09IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCSE9CglieiAqaWY0Nl9lbmQKCgkvLyAqaWY0Nl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTA0CgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCippZjQ2X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MDcKCS8vIHNlbmRPZmZsaW5lS2V5UmVnaXN0cmF0aW9uKHt9KQoJaXR4bl9iZWdpbgoJaW50IGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2xpbmtUb05GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkCgljYWxsc3ViIGxpbmtUb05GRAoJaW50IDEKCXJldHVybgoKLy8gbGlua1RvTkZEKG5mZEFwcElkOiB1aW50NjQsIG5mZE5hbWU6IHN0cmluZyk6IHZvaWQKbGlua1RvTkZEOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3ZlcmlmeV9uZmRfYWRkcicsIG5mZE5hbWUsIGl0b2IobmZkQXBwSWQpLCByYXdCeXRlcyh0aGlzLmFwcC5hZGRyZXNzKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNwoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTgKCS8vIGFwcGxpY2F0aW9uQXJnczogWyd2ZXJpZnlfbmZkX2FkZHInLCBuZmROYW1lLCBpdG9iKG5mZEFwcElkKSwgcmF3Qnl0ZXModGhpcy5hcHAuYWRkcmVzcyldCglieXRlIDB4NzY2NTcyNjk2Njc5NWY2ZTY2NjQ1ZjYxNjQ2NDcyIC8vICJ2ZXJpZnlfbmZkX2FkZHIiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxOQoJLy8gYXBwbGljYXRpb25zOiBbQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCldCglmcmFtZV9kaWcgLTEgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbnMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NFsyNF0sdWludDY0KQoqYWJpX3JvdXRlX3Byb3hpZWRTZXRUb2tlblBheW91dFJhdGlvOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBvb2xLZXkpIGZvciBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbyBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbygodWludDY0LHVpbnQ2NCx1aW50NjQpKSh1aW50NjRbMjRdLHVpbnQ2NCkKCWNhbGxzdWIgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbyhwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5KTogUG9vbFRva2VuUGF5b3V0UmF0aW8KLy8KLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8gaXMgbWVhbnQgdG8gYmUgY2FsbGVkIGJ5IHBvb2xzICE9IDEgLSBjYWxsaW5nIFVTLCBwb29sICMxCi8vIFdlIG5lZWQgdG8gdmVyaWZ5IHRoYXQgd2UgYXJlIGluIGZhY3QgYmVpbmcgY2FsbGVkIGJ5IGFub3RoZXIgb2YgT1VSIHBvb2xzIChub3QgdXMpCi8vIGFuZCB0aGVuIHdlJ2xsIGNhbGwgdGhlIHZhbGlkYXRvciBvbiB0aGVpciBiZWhhbGYgdG8gdXBkYXRlIHRoZSB0b2tlbiBwYXlvdXRzCi8vIEBwYXJhbSBwb29sS2V5IC0gVmFsaWRhdG9yUG9vbEtleSB0dXBsZQpwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzMAoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9ySWQudmFsdWUgPT09IHBvb2xLZXkuaWQsICdjYWxsZXIgbXVzdCBiZSBwYXJ0IG9mIHNhbWUgdmFsaWRhdG9yIHNldCEnKQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCgkvLyBjYWxsZXIgbXVzdCBiZSBwYXJ0IG9mIHNhbWUgdmFsaWRhdG9yIHNldCEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzEKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ2NhbGxlZSBtdXN0IGJlIHBvb2wgMScpCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgoJLy8gY2FsbGVlIG11c3QgYmUgcG9vbCAxCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTMyCgkvLyBhc3NlcnQocG9vbEtleS5wb29sSWQgIT09IDEsICdjYWxsZXIgbXVzdCBOT1QgYmUgcG9vbCAxJykKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCSE9CgoJLy8gY2FsbGVyIG11c3QgTk9UIGJlIHBvb2wgMQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzNAoJLy8gY2FsbGVyUG9vbEFwcElEID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRQb29sQXBwSWQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3Bvb2xLZXkuaWQsIHBvb2xLZXkucG9vbElkXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM1CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzYKCS8vIG1ldGhvZEFyZ3M6IFtwb29sS2V5LmlkLCBwb29sS2V5LnBvb2xJZF0KCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBjYWxsZXJQb29sQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzgKCS8vIGFzc2VydChjYWxsZXJQb29sQXBwSUQgPT09IHBvb2xLZXkucG9vbEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gY2FsbGVyUG9vbEFwcElEOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM5CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0MQoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGlzT3duZXJPck1hbmFnZXJDYWxsZXIoKTogYm9vbGVhbgppc093bmVyT3JNYW5hZ2VyQ2FsbGVyOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQ4CgkvLyBPd25lckFuZE1hbmFnZXIgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcj4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk1MAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyBPd25lckFuZE1hbmFnZXI6IChhZGRyZXNzLGFkZHJlc3MpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk1MgoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlciA9PT0gT3duZXJBbmRNYW5hZ2VyWzBdIHx8IHRoaXMudHhuLnNlbmRlciA9PT0gT3duZXJBbmRNYW5hZ2VyWzFdOwoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoJZXh0cmFjdCAwIDMyCgk9PQoJZHVwCglibnogKnNraXBfb3IyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBPd25lckFuZE1hbmFnZXI6IChhZGRyZXNzLGFkZHJlc3MpCglleHRyYWN0IDMyIDMyCgk9PQoJfHwKCipza2lwX29yMjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBnZXRGZWVTaW5rKCk6IEFkZHJlc3MKZ2V0RmVlU2luazoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTYKCS8vIHJldHVybiB0aGlzLmZlZVNpbmtBZGRyOwoJbG9hZCAyMDEgLy8gVE1QTF9mZWVTaW5rQWRkcgoJcmV0c3ViCgovLyBhbGdvU2F0dXJhdGlvbkxldmVsKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBtYXhpbXVtIGFsbG93ZWQgc3Rha2UgcGVyIHZhbGlkYXRvciBiYXNlZCBvbiBhIHBlcmNlbnRhZ2Ugb2YgYWxsIGN1cnJlbnQgb25saW5lIHN0YWtlIGJlZm9yZQovLyB0aGUgdmFsaWRhdG9yIGlzIGNvbnNpZGVyZWQgc2F0dXJhdGVkIC0gd2hlcmUgcmV3YXJkcyBhcmUgZGltaW5pc2hlZC4KYWxnb1NhdHVyYXRpb25MZXZlbDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk2NgoJLy8gb25saW5lID0gdGhpcy5nZXRDdXJyZW50T25saW5lU3Rha2UoKQoJY2FsbHN1YiBnZXRDdXJyZW50T25saW5lU3Rha2UKCWZyYW1lX2J1cnkgMCAvLyBvbmxpbmU6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NjgKCS8vIHJldHVybiB3aWRlUmF0aW8oW29ubGluZSwgTUFYX1ZBTElEQVRPUl9TT0ZUX1BDVF9PRl9PTkxJTkVfMURFQ0lNQUxdLCBbMTAwMF0pOwoJZnJhbWVfZGlnIDAgLy8gb25saW5lOiB1aW50NjQKCWludCAxMDAKCW11bHcKCWludCAwCglpbnQgMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0R29PbmxpbmVGZWUoKTogdWludDY0CmdldEdvT25saW5lRmVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc1CgkvLyBpc09ubGluZSA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGlzT25saW5lOiBib29sCgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc2CgkvLyAhaXNPbmxpbmUKCWZyYW1lX2RpZyAwIC8vIGlzT25saW5lOiBib29sCgkhCglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc4CgkvLyByZXR1cm4gMl8wMDBfMDAwOwoJaW50IDJfMDAwXzAwMAoJYiAqZ2V0R29PbmxpbmVGZWUqcmV0dXJuCgoqaWY0N19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTgwCgkvLyByZXR1cm4gMDsKCWludCAwCgoqZ2V0R29PbmxpbmVGZWUqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGdldEN1cnJlbnRPbmxpbmVTdGFrZSgpOiB1aW50NjQKZ2V0Q3VycmVudE9ubGluZVN0YWtlOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk4NQoJLy8gcmV0dXJuIDJfMDAwXzAwMF8wMDBfMDAwXzAwMDsKCWludCAyXzAwMF8wMDBfMDAwXzAwMF8wMDAKCXJldHN1YgoKLy8gY2hlY2tJZkJpbkNsb3NlZCgpOiB2b2lkCi8vCi8vIENoZWNrcyBpZiB0aGUgY3VycmVudCByb3VuZCBpcyBpbiBhICduZXcgY2FsY3VsYXRpb24gYmluJyAoYXBwcm94aW1hdGVseSBkYWlseSkKY2hlY2tJZkJpbkNsb3NlZDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTkyCgkvLyBjdXJyZW50QmluU2l6ZSA9IHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIGFzIHVpbnQxMjgKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgoJLy8gKmlmNDhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTkzCgkvLyBnbG9iYWxzLnJvdW5kID49IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIChjdXJyZW50QmluU2l6ZSBhcyB1aW50NjQpCglnbG9iYWwgUm91bmQKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMCAvLyBjdXJyZW50QmluU2l6ZTogdW5zYWZlIHVpbnQxMjgKCWR1cAoJYml0bGVuCglpbnQgNjQKCTw9CgoJLy8gY3VycmVudEJpblNpemUgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCglidG9pCgkrCgk+PQoJYnogKmlmNDhfZW5kCgoJLy8gKmlmNDhfY29uc2VxdWVudAoJLy8gKmlmNDlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTk0CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmNDlfZW5kCgoJLy8gKmlmNDlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NQoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmNDlfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NwoJLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOCA9IGN1cnJlbnRCaW5TaXplICogKDM2NSBhcyB1aW50MTI4KQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNmQKCWIqCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMSAvLyBhcHByb3hSb3VuZHNQZXJZZWFyOiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgLyBjdXJyZW50QmluU2l6ZQoJYnl0ZSAweDczNzQ2MTZiNjU0MTYzNjM3NTZkNzU2YzYxNzQ2ZjcyIC8vICJzdGFrZUFjY3VtdWxhdG9yIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoJYi8KCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSAvIGN1cnJlbnRCaW5TaXplIG92ZXJmbG93ZWQgMTI4IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDE2CgktCglzd2FwCglzdWJzdHJpbmczCglmcmFtZV9idXJ5IDIgLy8gYXZnU3Rha2U6IHVpbnQxMjgKCgkvLyAqaWY1MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTkKCS8vIGF2Z1N0YWtlICE9PSAwCglmcmFtZV9kaWcgMiAvLyBhdmdTdGFrZTogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliIT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDAzCgkvLyBhcHI6IHVpbnQxMjggPQoJLy8gICAgICAgICAgICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICoKCS8vICAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKQoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcxMAoJYioKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgliLwoJZnJhbWVfZGlnIDEgLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJYioKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICpcbiAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAzIC8vIGFwcjogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDA3CgkvLyBhbHBoYTogdWludDEyOCA9IDEwIGFzIHVpbnQxMjgKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYQoJZnJhbWVfYnVyeSA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoKCS8vICppZjUxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMDkKCS8vIGF2Z1N0YWtlID4gMzAwMDAwMDAwMDAwCglmcmFtZV9kaWcgMiAvLyBhdmdTdGFrZTogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NWQ5NjRiODAwCgliPgoJYnogKmlmNTFfZW5kCgoJLy8gKmlmNTFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMTAKCS8vIGFscGhhID0gOTAgYXMgdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoqaWY1MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAxMgoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPQoJLy8gICAgICAgICAgICh0aGlzLndlaWdodGVkTW92aW5nQXZlcmFnZS52YWx1ZSAqICgoMTAwIGFzIHVpbnQxMjgpIC0gYWxwaGEpKSAvICgxMDAgYXMgdWludDEyOCkgKwoJLy8gICAgICAgICAgIChhcHIgKiBhbHBoYSkgLyAoMTAwIGFzIHVpbnQxMjgpCglieXRlIDB4NjU3NzZkNjEgLy8gImV3bWEiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKCWZyYW1lX2RpZyA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoJYi0KCWIqCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKCWIvCglmcmFtZV9kaWcgMyAvLyBhcHI6IHVpbnQxMjgKCWZyYW1lX2RpZyA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoJYioKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWIrCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyAodGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgKiAoKDEwMCBhcyB1aW50MTI4KSAtIGFscGhhKSkgLyAoMTAwIGFzIHVpbnQxMjgpICtcbiAgICAgICAgICAoYXByICogYWxwaGEpIC8gKDEwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCippZjUwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE4CgkvLyB0aGlzLnNldFJvdW5kc1BlckRheSgpCgljYWxsc3ViIHNldFJvdW5kc1BlckRheQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAodGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgYXMgdWludDEyOCkgKiAodGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYioKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vICh0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSBhcyB1aW50MTI4KSAqICh0aGlzLnJvdW5kc1BlckRheS52YWx1ZSBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAyMAoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IDAKCWJ5dGUgMHg3MjY1Nzc2MTcyNjQ0MTYzNjM3NTZkNzU2YzYxNzQ2ZjcyIC8vICJyZXdhcmRBY2N1bXVsYXRvciIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIxCgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJJQoJLQoJYXBwX2dsb2JhbF9wdXQKCippZjQ4X2VuZDoKCXJldHN1YgoKLy8gc2V0Um91bmRzUGVyRGF5KCk6IHZvaWQKc2V0Um91bmRzUGVyRGF5OgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMjYKCS8vIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlID0gQVZHX1JPVU5EU19QRVJfREFZCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglpbnQgMzA4NTcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImdhcygpdm9pZCIKCW1ldGhvZCAiaW5pdFN0b3JhZ2UocGF5KXZvaWQiCgltZXRob2QgImFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NCIKCW1ldGhvZCAicmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZCIKCW1ldGhvZCAiY2xhaW1Ub2tlbnMoKXZvaWQiCgltZXRob2QgImdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJbWV0aG9kICJwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAidXBkYXRlQWxnb2RWZXIoc3RyaW5nKXZvaWQiCgltZXRob2QgImVwb2NoQmFsYW5jZVVwZGF0ZSgpdm9pZCIKCW1ldGhvZCAiZ29PbmxpbmUocGF5LGJ5dGVbXSxieXRlW10sYnl0ZVtdLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImdvT2ZmbGluZSgpdm9pZCIKCW1ldGhvZCAibGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZCIKCW1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nYXMgKmFiaV9yb3V0ZV9pbml0U3RvcmFnZSAqYWJpX3JvdXRlX2FkZFN0YWtlICphYmlfcm91dGVfcmVtb3ZlU3Rha2UgKmFiaV9yb3V0ZV9jbGFpbVRva2VucyAqYWJpX3JvdXRlX2dldFN0YWtlckluZm8gKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZCAqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyICphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlICphYmlfcm91dGVfZ29PbmxpbmUgKmFiaV9yb3V0ZV9nb09mZmxpbmUgKmFiaV9yb3V0ZV9saW5rVG9ORkQgKmFiaV9yb3V0ZV9wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfVXBkYXRlQXBwbGljYXRpb246CgltZXRob2QgInVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIFVwZGF0ZUFwcGxpY2F0aW9uCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/reti/artifacts/StakingPool.arc56_draft.json b/examples/reti/artifacts/StakingPool.arc56_draft.json
index a5ed0d8bf..2c235b893 100644
--- a/examples/reti/artifacts/StakingPool.arc56_draft.json
+++ b/examples/reti/artifacts/StakingPool.arc56_draft.json
@@ -349,22 +349,52 @@
56
],
"structs": {
- "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/stakingPool.algo\").StakedInfo": {
- "account": "address",
- "balance": "uint64",
- "totalRewarded": "uint64",
- "rewardTokenBalance": "uint64",
- "entryRound": "uint64"
- },
- "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/validatorRegistry.algo\").PoolTokenPayoutRatio": {
- "poolPctOfWhole": "uint64[24]",
- "updatedForPayout": "uint64"
- },
- "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/validatorRegistry.algo\").ValidatorPoolKey": {
- "id": "uint64",
- "poolId": "uint64",
- "poolAppId": "uint64"
- }
+ "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/stakingPool.algo\").StakedInfo": [
+ {
+ "name": "account",
+ "type": "address"
+ },
+ {
+ "name": "balance",
+ "type": "uint64"
+ },
+ {
+ "name": "totalRewarded",
+ "type": "uint64"
+ },
+ {
+ "name": "rewardTokenBalance",
+ "type": "uint64"
+ },
+ {
+ "name": "entryRound",
+ "type": "uint64"
+ }
+ ],
+ "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/validatorRegistry.algo\").PoolTokenPayoutRatio": [
+ {
+ "name": "poolPctOfWhole",
+ "type": "uint64[24]"
+ },
+ {
+ "name": "updatedForPayout",
+ "type": "uint64"
+ }
+ ],
+ "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/validatorRegistry.algo\").ValidatorPoolKey": [
+ {
+ "name": "id",
+ "type": "uint64"
+ },
+ {
+ "name": "poolId",
+ "type": "uint64"
+ },
+ {
+ "name": "poolAppId",
+ "type": "uint64"
+ }
+ ]
},
"state": {
"schema": {
@@ -469,18930 +499,18933 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 38,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191,
- 192,
- 193,
- 194,
- 195,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 210,
- 211,
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 223,
- 224,
- 225,
- 226,
- 227,
- 228,
- 229,
- 230,
- 231,
- 232,
- 233,
- 234,
- 235,
- 236,
- 237,
- 238,
- 239,
- 240,
- 241,
- 242,
- 243,
- 244,
- 245,
- 246,
- 247,
- 248,
- 249,
- 250,
- 251,
- 252,
- 253,
- 254,
- 255,
- 256,
- 257,
- 258,
- 259,
- 260,
- 261,
- 262,
- 263,
- 264,
- 265,
- 266,
- 267,
- 268,
- 269,
- 270,
- 271,
- 272,
- 273,
- 274,
- 275,
- 276,
- 277,
- 278,
- 279,
- 280,
- 281,
- 282,
- 283,
- 284,
- 285,
- 286,
- 287,
- 288,
- 289,
- 290,
- 291,
- 292,
- 293
- ]
- },
- {
- "teal": 9,
- "source": 38,
- "pc": [
- 294,
- 295,
- 296,
- 297,
- 298,
- 299,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308,
- 309,
- 310,
- 311,
- 312,
- 313,
- 314,
- 315,
- 316,
- 317,
- 318,
- 319,
- 320,
- 321,
- 322,
- 323,
- 324,
- 325,
- 326,
- 327
- ]
- },
- {
- "teal": 10,
- "source": 38,
- "pc": [
- 328,
- 329
- ]
- },
- {
- "teal": 11,
- "source": 38,
- "pc": [
- 330,
- 331
- ]
- },
- {
- "teal": 12,
- "source": 38,
- "pc": [
- 332
- ]
- },
- {
- "teal": 13,
- "source": 38,
- "pc": [
- 333,
- 334
- ]
- },
- {
- "teal": 20,
- "source": 38,
- "pc": [
- 335,
- 336
- ]
- },
- {
- "teal": 21,
- "source": 38,
- "pc": [
- 337
- ]
- },
- {
- "teal": 22,
- "source": 38,
- "pc": [
- 338
- ]
- },
- {
- "teal": 23,
- "source": 38,
- "pc": [
- 339
- ]
- },
- {
- "teal": 24,
- "source": 38,
- "pc": [
- 340,
- 341
- ]
- },
- {
- "teal": 25,
- "source": 38,
- "pc": [
- 342
- ]
- },
- {
- "teal": 26,
- "source": 38,
- "pc": [
- 343,
- 344,
- 345,
- 346,
- 347,
- 348,
- 349,
- 350,
- 351,
- 352,
- 353,
- 354,
- 355,
- 356,
- 357,
- 358,
- 359,
- 360,
- 361,
- 362,
- 363,
- 364,
- 365,
- 366,
- 367,
- 368
- ]
- },
- {
- "teal": 30,
- "source": 38,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 369
- ]
- },
- {
- "teal": 35,
- "source": 93,
- "pc": [
- 370,
- 371,
- 372
- ]
- },
- {
- "teal": 36,
- "source": 93,
- "pc": [
- 373
- ]
- },
- {
- "teal": 37,
- "source": 93,
- "pc": [
- 374
- ]
- },
- {
- "teal": 41,
- "source": 93,
- "pc": [
- 375,
- 376,
- 377
- ]
- },
- {
- "teal": 48,
- "source": 95,
- "pc": [
- 378,
- 379
- ]
- },
- {
- "teal": 49,
- "source": 95,
- "pc": [
- 380,
- 381,
- 382,
- 383,
- 384,
- 385,
- 386,
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 412,
- 413
- ]
- },
- {
- "teal": 50,
- "source": 95,
- "pc": [
- 414
- ]
- },
- {
- "teal": 53,
- "source": 94,
- "errorMessage": "Temporary: contract is upgradeable but only during testing and only from a development account",
- "pc": [
- 415
- ]
- },
- {
- "teal": 54,
- "source": 93,
- "pc": [
- 416
- ]
- },
- {
- "teal": 59,
- "source": 107,
- "pc": [
- 417,
- 418,
- 419
- ]
- },
- {
- "teal": 60,
- "source": 107,
- "pc": [
- 420
- ]
- },
- {
- "teal": 63,
- "source": 107,
- "pc": [
- 421,
- 422,
- 423
- ]
- },
- {
- "teal": 64,
- "source": 107,
- "pc": [
- 424
- ]
- },
- {
- "teal": 67,
- "source": 107,
- "pc": [
- 425,
- 426,
- 427
- ]
- },
- {
- "teal": 68,
- "source": 107,
- "pc": [
- 428
- ]
- },
- {
- "teal": 71,
- "source": 107,
- "pc": [
- 429,
- 430,
- 431
- ]
- },
- {
- "teal": 72,
- "source": 107,
- "pc": [
- 432
- ]
- },
- {
- "teal": 75,
- "source": 107,
- "pc": [
- 433,
- 434,
- 435
- ]
- },
- {
- "teal": 76,
- "source": 107,
- "pc": [
- 436
- ]
- },
- {
- "teal": 77,
- "source": 107,
- "pc": [
- 437
- ]
- },
- {
- "teal": 87,
- "source": 107,
- "pc": [
- 438,
- 439,
- 440
- ]
- },
- {
- "teal": 92,
- "source": 108,
- "pc": [
- 441,
- 442
- ]
- },
- {
- "teal": 93,
- "source": 108,
- "pc": [
- 443
- ]
- },
- {
- "teal": 94,
- "source": 108,
- "pc": [
- 444
- ]
- },
- {
- "teal": 95,
- "source": 108,
- "pc": [
- 445,
- 446,
- 447
- ]
- },
- {
- "teal": 100,
- "source": 110,
- "pc": [
- 448,
- 449
- ]
- },
- {
- "teal": 101,
- "source": 110,
- "pc": [
- 450
- ]
- },
- {
- "teal": 102,
- "source": 110,
- "pc": [
- 451
- ]
- },
- {
- "teal": 103,
- "source": 110,
- "pc": [
- 452
- ]
- },
- {
- "teal": 107,
- "source": 111,
- "pc": [
- 453,
- 454
- ]
- },
- {
- "teal": 108,
- "source": 111,
- "pc": [
- 455
- ]
- },
- {
- "teal": 109,
- "source": 111,
- "pc": [
- 456
- ]
- },
- {
- "teal": 110,
- "source": 111,
- "pc": [
- 457
- ]
- },
- {
- "teal": 111,
- "source": 108,
- "pc": [
- 458,
- 459,
- 460
- ]
- },
- {
- "teal": 116,
- "source": 113,
- "pc": [
- 461,
- 462
- ]
- },
- {
- "teal": 117,
- "source": 113,
- "pc": [
- 463
- ]
- },
- {
- "teal": 118,
- "source": 113,
- "pc": [
- 464
- ]
- },
- {
- "teal": 119,
- "source": 113,
- "pc": [
- 465
- ]
- },
- {
- "teal": 123,
- "source": 114,
- "pc": [
- 466,
- 467
- ]
- },
- {
- "teal": 124,
- "source": 114,
- "pc": [
- 468
- ]
- },
- {
- "teal": 125,
- "source": 114,
- "pc": [
- 469
- ]
- },
- {
- "teal": 126,
- "source": 114,
- "pc": [
- 470
- ]
- },
- {
- "teal": 131,
- "source": 116,
- "pc": [
- 471,
- 472
- ]
- },
- {
- "teal": 132,
- "source": 116,
- "pc": [
- 473,
- 474
- ]
- },
- {
- "teal": 133,
- "source": 116,
- "pc": [
- 475
- ]
- },
- {
- "teal": 136,
- "source": 116,
- "errorMessage": "staking pool must have minimum entry of 1 algo",
- "pc": [
- 476
- ]
- },
- {
- "teal": 140,
- "source": 117,
- "pc": [
- 477
- ]
- },
- {
- "teal": 141,
- "source": 117,
- "pc": [
- 478,
- 479
- ]
- },
- {
- "teal": 142,
- "source": 117,
- "pc": [
- 480
- ]
- },
- {
- "teal": 146,
- "source": 118,
- "pc": [
- 481
- ]
- },
- {
- "teal": 147,
- "source": 118,
- "pc": [
- 482,
- 483
- ]
- },
- {
- "teal": 148,
- "source": 118,
- "pc": [
- 484
- ]
- },
- {
- "teal": 152,
- "source": 119,
- "pc": [
- 485
- ]
- },
- {
- "teal": 153,
- "source": 119,
- "pc": [
- 486,
- 487
- ]
- },
- {
- "teal": 154,
- "source": 119,
- "pc": [
- 488
- ]
- },
- {
- "teal": 158,
- "source": 120,
- "pc": [
- 489,
- 490
- ]
- },
- {
- "teal": 159,
- "source": 120,
- "pc": [
- 491
- ]
- },
- {
- "teal": 160,
- "source": 120,
- "pc": [
- 492
- ]
- },
- {
- "teal": 164,
- "source": 121,
- "pc": [
- 493,
- 494
- ]
- },
- {
- "teal": 165,
- "source": 121,
- "pc": [
- 495
- ]
- },
- {
- "teal": 166,
- "source": 121,
- "pc": [
- 496
- ]
- },
- {
- "teal": 170,
- "source": 122,
- "pc": [
- 497,
- 498
- ]
- },
- {
- "teal": 171,
- "source": 122,
- "pc": [
- 499,
- 500
- ]
- },
- {
- "teal": 172,
- "source": 122,
- "pc": [
- 501
- ]
- },
- {
- "teal": 176,
- "source": 123,
- "pc": [
- 502,
- 503
- ]
- },
- {
- "teal": 177,
- "source": 123,
- "pc": [
- 504,
- 505
- ]
- },
- {
- "teal": 178,
- "source": 123,
- "pc": [
- 506
- ]
- },
- {
- "teal": 182,
- "source": 124,
- "pc": [
- 507,
- 508
- ]
- },
- {
- "teal": 183,
- "source": 124,
- "pc": [
- 509
- ]
- },
- {
- "teal": 184,
- "source": 124,
- "pc": [
- 510
- ]
- },
- {
- "teal": 188,
- "source": 126,
- "pc": [
- 511,
- 512,
- 513
- ]
- },
- {
- "teal": 192,
- "source": 127,
- "pc": [
- 514,
- 515
- ]
- },
- {
- "teal": 193,
- "source": 127,
- "pc": [
- 516,
- 517
- ]
- },
- {
- "teal": 194,
- "source": 127,
- "pc": [
- 518,
- 519
- ]
- },
- {
- "teal": 195,
- "source": 127,
- "pc": [
- 520,
- 521
- ]
- },
- {
- "teal": 196,
- "source": 127,
- "pc": [
- 522
- ]
- },
- {
- "teal": 197,
- "source": 127,
- "pc": [
- 523
- ]
- },
- {
- "teal": 198,
- "source": 127,
- "pc": [
- 524
- ]
- },
- {
- "teal": 199,
- "source": 127,
- "pc": [
- 525
- ]
- },
- {
- "teal": 203,
- "source": 128,
- "pc": [
- 526,
- 527
- ]
- },
- {
- "teal": 204,
- "source": 128,
- "pc": [
- 528,
- 529
- ]
- },
- {
- "teal": 205,
- "source": 128,
- "pc": [
- 530
- ]
- },
- {
- "teal": 209,
- "source": 129,
- "pc": [
- 531,
- 532
- ]
- },
- {
- "teal": 210,
- "source": 129,
- "pc": [
- 533
- ]
- },
- {
- "teal": 211,
- "source": 129,
- "pc": [
- 534
- ]
- },
- {
- "teal": 215,
- "source": 130,
- "pc": [
- 535,
- 536
- ]
- },
- {
- "teal": 216,
- "source": 130,
- "pc": [
- 537,
- 538
- ]
- },
- {
- "teal": 217,
- "source": 130,
- "pc": [
- 539
- ]
- },
- {
- "teal": 218,
- "source": 107,
- "pc": [
- 540
- ]
- },
- {
- "teal": 223,
- "source": 136,
- "pc": [
- 541,
- 542,
- 543
- ]
- },
- {
- "teal": 224,
- "source": 136,
- "pc": [
- 544
- ]
- },
- {
- "teal": 225,
- "source": 136,
- "pc": [
- 545
- ]
- },
- {
- "teal": 231,
- "source": 136,
- "pc": [
- 546,
- 547,
- 548
- ]
- },
- {
- "teal": 232,
- "source": 136,
- "pc": [
- 549
- ]
- },
- {
- "teal": 236,
- "source": 138,
- "pc": [
- 550,
- 551,
- 552
- ]
- },
- {
- "teal": 240,
- "source": 142,
- "pc": [
- 553,
- 554,
- 555
- ]
- },
- {
- "teal": 241,
- "source": 142,
- "pc": [
- 556,
- 557
- ]
- },
- {
- "teal": 242,
- "source": 142,
- "pc": [
- 558,
- 559
- ]
- },
- {
- "teal": 243,
- "source": 142,
- "pc": [
- 560
- ]
- },
- {
- "teal": 244,
- "source": 142,
- "pc": [
- 561
- ]
- },
- {
- "teal": 245,
- "source": 138,
- "pc": [
- 562
- ]
- },
- {
- "teal": 250,
- "source": 152,
- "pc": [
- 563,
- 564
- ]
- },
- {
- "teal": 251,
- "source": 152,
- "pc": [
- 565
- ]
- },
- {
- "teal": 252,
- "source": 152,
- "pc": [
- 566
- ]
- },
- {
- "teal": 253,
- "source": 152,
- "pc": [
- 567
- ]
- },
- {
- "teal": 254,
- "source": 152,
- "pc": [
- 568,
- 569
- ]
- },
- {
- "teal": 255,
- "source": 152,
- "pc": [
- 570
- ]
- },
- {
- "teal": 256,
- "source": 152,
- "pc": [
- 571
- ]
- },
- {
- "teal": 259,
- "source": 152,
- "errorMessage": "argument 0 (mbrPayment) for initStorage must be a pay transaction",
- "pc": [
- 572
- ]
- },
- {
- "teal": 262,
- "source": 152,
- "pc": [
- 573,
- 574,
- 575
- ]
- },
- {
- "teal": 263,
- "source": 152,
- "pc": [
- 576
- ]
- },
- {
- "teal": 264,
- "source": 152,
- "pc": [
- 577
- ]
- },
- {
- "teal": 274,
- "source": 152,
- "pc": [
- 578,
- 579,
- 580
- ]
- },
- {
- "teal": 277,
- "source": 152,
- "pc": [
- 581,
- 582
- ]
- },
- {
- "teal": 278,
- "source": 152,
- "pc": [
- 583,
- 584
- ]
- },
- {
- "teal": 282,
- "source": 153,
- "pc": [
- 585
- ]
- },
- {
- "teal": 283,
- "source": 153,
- "pc": [
- 586
- ]
- },
- {
- "teal": 284,
- "source": 153,
- "pc": [
- 587
- ]
- },
- {
- "teal": 285,
- "source": 153,
- "pc": [
- 588
- ]
- },
- {
- "teal": 286,
- "source": 153,
- "pc": [
- 589
- ]
- },
- {
- "teal": 289,
- "source": 153,
- "errorMessage": "staking pool already initialized",
- "pc": [
- 590
- ]
- },
- {
- "teal": 296,
- "source": 156,
- "pc": [
- 591
- ]
- },
- {
- "teal": 297,
- "source": 156,
- "pc": [
- 592
- ]
- },
- {
- "teal": 298,
- "source": 156,
- "pc": [
- 593,
- 594
- ]
- },
- {
- "teal": 299,
- "source": 156,
- "pc": [
- 595,
- 596
- ]
- },
- {
- "teal": 300,
- "source": 156,
- "pc": [
- 597,
- 598
- ]
- },
- {
- "teal": 304,
- "source": 157,
- "pc": [
- 599
- ]
- },
- {
- "teal": 305,
- "source": 157,
- "pc": [
- 600
- ]
- },
- {
- "teal": 306,
- "source": 157,
- "pc": [
- 601,
- 602
- ]
- },
- {
- "teal": 310,
- "source": 158,
- "pc": [
- 603
- ]
- },
- {
- "teal": 311,
- "source": 158,
- "pc": [
- 604
- ]
- },
- {
- "teal": 312,
- "source": 158,
- "pc": [
- 605
- ]
- },
- {
- "teal": 313,
- "source": 158,
- "pc": [
- 606,
- 607
- ]
- },
- {
- "teal": 316,
- "source": 156,
- "pc": [
- 608
- ]
- },
- {
- "teal": 317,
- "source": 156,
- "pc": [
- 609,
- 610
- ]
- },
- {
- "teal": 320,
- "source": 156,
- "pc": [
- 611
- ]
- },
- {
- "teal": 321,
- "source": 156,
- "pc": [
- 612,
- 613
- ]
- },
- {
- "teal": 322,
- "source": 156,
- "pc": [
- 614
- ]
- },
- {
- "teal": 323,
- "source": 156,
- "pc": [
- 615
- ]
- },
- {
- "teal": 324,
- "source": 156,
- "pc": [
- 616,
- 617
- ]
- },
- {
- "teal": 325,
- "source": 156,
- "pc": [
- 618,
- 619,
- 620
- ]
- },
- {
- "teal": 326,
- "source": 156,
- "pc": [
- 621,
- 622
- ]
- },
- {
- "teal": 330,
- "source": 160,
- "pc": [
- 623,
- 624
- ]
- },
- {
- "teal": 331,
- "source": 160,
- "pc": [
- 625,
- 626,
- 627
- ]
- },
- {
- "teal": 332,
- "source": 160,
- "pc": [
- 628
- ]
- },
- {
- "teal": 333,
- "source": 160,
- "pc": [
- 629
- ]
- },
- {
- "teal": 334,
- "source": 160,
- "pc": [
- 630
- ]
- },
- {
- "teal": 335,
- "source": 160,
- "pc": [
- 631,
- 632
- ]
- },
- {
- "teal": 339,
- "source": 161,
- "pc": [
- 633,
- 634
- ]
- },
- {
- "teal": 340,
- "source": 161,
- "pc": [
- 635
- ]
- },
- {
- "teal": 341,
- "source": 161,
- "pc": [
- 636,
- 637,
- 638
- ]
- },
- {
- "teal": 342,
- "source": 161,
- "pc": [
- 639
- ]
- },
- {
- "teal": 343,
- "source": 161,
- "pc": [
- 640
- ]
- },
- {
- "teal": 344,
- "source": 161,
- "pc": [
- 641
- ]
- },
- {
- "teal": 345,
- "source": 161,
- "pc": [
- 642
- ]
- },
- {
- "teal": 346,
- "source": 161,
- "pc": [
- 643
- ]
- },
- {
- "teal": 349,
- "source": 161,
- "pc": [
- 644,
- 645,
- 646
- ]
- },
- {
- "teal": 350,
- "source": 161,
- "pc": [
- 647,
- 648
- ]
- },
- {
- "teal": 351,
- "source": 161,
- "pc": [
- 649,
- 650,
- 651
- ]
- },
- {
- "teal": 354,
- "source": 161,
- "pc": [
- 652
- ]
- },
- {
- "teal": 357,
- "source": 161,
- "pc": [
- 653,
- 654
- ]
- },
- {
- "teal": 364,
- "source": 163,
- "pc": [
- 655,
- 656
- ]
- },
- {
- "teal": 365,
- "source": 164,
- "pc": [
- 657,
- 658
- ]
- },
- {
- "teal": 366,
- "source": 163,
- "pc": [
- 659
- ]
- },
- {
- "teal": 367,
- "source": 165,
- "pc": [
- 660,
- 661,
- 662
- ]
- },
- {
- "teal": 368,
- "source": 165,
- "pc": [
- 663,
- 664,
- 665
- ]
- },
- {
- "teal": 369,
- "source": 164,
- "pc": [
- 666
- ]
- },
- {
- "teal": 370,
- "source": 162,
- "pc": [
- 667,
- 668
- ]
- },
- {
- "teal": 375,
- "source": 168,
- "pc": [
- 669,
- 670
- ]
- },
- {
- "teal": 376,
- "source": 168,
- "pc": [
- 671,
- 672
- ]
- },
- {
- "teal": 377,
- "source": 168,
- "pc": [
- 673,
- 674
- ]
- },
- {
- "teal": 378,
- "source": 168,
- "pc": [
- 675
- ]
- },
- {
- "teal": 381,
- "source": 168,
- "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 676
- ]
- },
- {
- "teal": 384,
- "source": 168,
- "pc": [
- 677,
- 678
- ]
- },
- {
- "teal": 385,
- "source": 168,
- "pc": [
- 679,
- 680
- ]
- },
- {
- "teal": 386,
- "source": 168,
- "pc": [
- 681,
- 682
- ]
- },
- {
- "teal": 387,
- "source": 168,
- "pc": [
- 683
- ]
- },
- {
- "teal": 390,
- "source": 168,
- "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"PoolInitMbr\"}",
- "pc": [
- 684
- ]
- },
- {
- "teal": 394,
- "source": 169,
- "pc": [
- 685
- ]
- },
- {
- "teal": 395,
- "source": 169,
- "pc": [
- 686,
- 687,
- 688
- ]
- },
- {
- "teal": 396,
- "source": 169,
- "pc": [
- 689
- ]
- },
- {
- "teal": 397,
- "source": 169,
- "pc": [
- 690
- ]
- },
- {
- "teal": 402,
- "source": 171,
- "pc": [
- 691,
- 692
- ]
- },
- {
- "teal": 403,
- "source": 171,
- "pc": [
- 693
- ]
- },
- {
- "teal": 404,
- "source": 171,
- "pc": [
- 694,
- 695,
- 696
- ]
- },
- {
- "teal": 405,
- "source": 171,
- "pc": [
- 697
- ]
- },
- {
- "teal": 406,
- "source": 171,
- "pc": [
- 698
- ]
- },
- {
- "teal": 407,
- "source": 171,
- "pc": [
- 699
- ]
- },
- {
- "teal": 408,
- "source": 171,
- "pc": [
- 700
- ]
- },
- {
- "teal": 409,
- "source": 171,
- "pc": [
- 701
- ]
- },
- {
- "teal": 412,
- "source": 171,
- "pc": [
- 702,
- 703,
- 704
- ]
- },
- {
- "teal": 421,
- "source": 173,
- "pc": [
- 705
- ]
- },
- {
- "teal": 422,
- "source": 173,
- "pc": [
- 706,
- 707
- ]
- },
- {
- "teal": 423,
- "source": 173,
- "pc": [
- 708,
- 709
- ]
- },
- {
- "teal": 427,
- "source": 174,
- "pc": [
- 710,
- 711
- ]
- },
- {
- "teal": 428,
- "source": 174,
- "pc": [
- 712,
- 713,
- 714
- ]
- },
- {
- "teal": 429,
- "source": 174,
- "pc": [
- 715
- ]
- },
- {
- "teal": 430,
- "source": 174,
- "pc": [
- 716,
- 717
- ]
- },
- {
- "teal": 434,
- "source": 175,
- "pc": [
- 718,
- 719
- ]
- },
- {
- "teal": 435,
- "source": 175,
- "pc": [
- 720,
- 721
- ]
- },
- {
- "teal": 439,
- "source": 176,
- "pc": [
- 722
- ]
- },
- {
- "teal": 440,
- "source": 176,
- "pc": [
- 723,
- 724
- ]
- },
- {
- "teal": 443,
- "source": 173,
- "pc": [
- 725
- ]
- },
- {
- "teal": 444,
- "source": 173,
- "pc": [
- 726,
- 727
- ]
- },
- {
- "teal": 447,
- "source": 173,
- "pc": [
- 728
- ]
- },
- {
- "teal": 450,
- "source": 152,
- "pc": [
- 729
- ]
- },
- {
- "teal": 455,
- "source": 191,
- "pc": [
- 730,
- 731
- ]
- },
- {
- "teal": 458,
- "source": 191,
- "pc": [
- 732,
- 733,
- 734
- ]
- },
- {
- "teal": 459,
- "source": 191,
- "pc": [
- 735
- ]
- },
- {
- "teal": 460,
- "source": 191,
- "pc": [
- 736
- ]
- },
- {
- "teal": 461,
- "source": 191,
- "pc": [
- 737,
- 738
- ]
- },
- {
- "teal": 462,
- "source": 191,
- "pc": [
- 739
- ]
- },
- {
- "teal": 465,
- "source": 191,
- "errorMessage": "argument 0 (staker) for addStake must be a address",
- "pc": [
- 740
- ]
- },
- {
- "teal": 468,
- "source": 191,
- "pc": [
- 741,
- 742
- ]
- },
- {
- "teal": 469,
- "source": 191,
- "pc": [
- 743
- ]
- },
- {
- "teal": 470,
- "source": 191,
- "pc": [
- 744
- ]
- },
- {
- "teal": 471,
- "source": 191,
- "pc": [
- 745
- ]
- },
- {
- "teal": 472,
- "source": 191,
- "pc": [
- 746,
- 747
- ]
- },
- {
- "teal": 473,
- "source": 191,
- "pc": [
- 748
- ]
- },
- {
- "teal": 474,
- "source": 191,
- "pc": [
- 749
- ]
- },
- {
- "teal": 477,
- "source": 191,
- "errorMessage": "argument 1 (stakedAmountPayment) for addStake must be a pay transaction",
- "pc": [
- 750
- ]
- },
- {
- "teal": 480,
- "source": 191,
- "pc": [
- 751,
- 752,
- 753
- ]
- },
- {
- "teal": 481,
- "source": 191,
- "pc": [
- 754
- ]
- },
- {
- "teal": 482,
- "source": 191,
- "pc": [
- 755
- ]
- },
- {
- "teal": 483,
- "source": 191,
- "pc": [
- 756
- ]
- },
- {
- "teal": 484,
- "source": 191,
- "pc": [
- 757
- ]
- },
- {
- "teal": 485,
- "source": 191,
- "pc": [
- 758
- ]
- },
- {
- "teal": 498,
- "source": 191,
- "pc": [
- 759,
- 760,
- 761
- ]
- },
- {
- "teal": 501,
- "source": 191,
- "pc": [
- 762,
- 763
- ]
- },
- {
- "teal": 502,
- "source": 191,
- "pc": [
- 764,
- 765
- ]
- },
- {
- "teal": 506,
- "source": 192,
- "pc": [
- 766
- ]
- },
- {
- "teal": 507,
- "source": 192,
- "pc": [
- 767
- ]
- },
- {
- "teal": 508,
- "source": 192,
- "pc": [
- 768
- ]
- },
- {
- "teal": 509,
- "source": 192,
- "pc": [
- 769
- ]
- },
- {
- "teal": 512,
- "source": 192,
- "errorMessage": "staking pool must be initialized first",
- "pc": [
- 770
- ]
- },
- {
- "teal": 519,
- "source": 196,
- "pc": [
- 771,
- 772
- ]
- },
- {
- "teal": 520,
- "source": 196,
- "pc": [
- 773
- ]
- },
- {
- "teal": 521,
- "source": 196,
- "pc": [
- 774
- ]
- },
- {
- "teal": 522,
- "source": 196,
- "pc": [
- 775,
- 776
- ]
- },
- {
- "teal": 523,
- "source": 196,
- "pc": [
- 777
- ]
- },
- {
- "teal": 524,
- "source": 196,
- "pc": [
- 778
- ]
- },
- {
- "teal": 527,
- "source": 195,
- "errorMessage": "stake can only be added via the validator contract",
- "pc": [
- 779
- ]
- },
- {
- "teal": 531,
- "source": 199,
- "pc": [
- 780,
- 781
- ]
- },
- {
- "teal": 532,
- "source": 199,
- "pc": [
- 782,
- 783
- ]
- },
- {
- "teal": 533,
- "source": 199,
- "pc": [
- 784
- ]
- },
- {
- "teal": 534,
- "source": 199,
- "pc": [
- 785
- ]
- },
- {
- "teal": 538,
- "source": 202,
- "pc": [
- 786,
- 787,
- 788
- ]
- },
- {
- "teal": 547,
- "source": 206,
- "pc": [
- 789,
- 790
- ]
- },
- {
- "teal": 548,
- "source": 207,
- "pc": [
- 791,
- 792
- ]
- },
- {
- "teal": 549,
- "source": 207,
- "pc": [
- 793
- ]
- },
- {
- "teal": 550,
- "source": 207,
- "pc": [
- 794
- ]
- },
- {
- "teal": 551,
- "source": 207,
- "pc": [
- 795,
- 796
- ]
- },
- {
- "teal": 552,
- "source": 207,
- "pc": [
- 797
- ]
- },
- {
- "teal": 553,
- "source": 207,
- "pc": [
- 798
- ]
- },
- {
- "teal": 556,
- "source": 207,
- "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"AppID.fromUint64(this.creatingValidatorContractAppId.value).address\"}",
- "pc": [
- 799
- ]
- },
- {
- "teal": 559,
- "source": 206,
- "pc": [
- 800,
- 801
- ]
- },
- {
- "teal": 560,
- "source": 208,
- "pc": [
- 802,
- 803
- ]
- },
- {
- "teal": 561,
- "source": 208,
- "pc": [
- 804,
- 805
- ]
- },
- {
- "teal": 562,
- "source": 208,
- "pc": [
- 806
- ]
- },
- {
- "teal": 565,
- "source": 208,
- "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 807
- ]
- },
- {
- "teal": 568,
- "source": 206,
- "pc": [
- 808,
- 809
- ]
- },
- {
- "teal": 569,
- "source": 209,
- "pc": [
- 810,
- 811
- ]
- },
- {
- "teal": 570,
- "source": 209,
- "pc": [
- 812,
- 813
- ]
- },
- {
- "teal": 571,
- "source": 209,
- "pc": [
- 814,
- 815
- ]
- },
- {
- "teal": 572,
- "source": 209,
- "pc": [
- 816
- ]
- },
- {
- "teal": 575,
- "source": 209,
- "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"amount\",\"expected\":\"stakedAmountPayment.amount\"}",
- "pc": [
- 817
- ]
- },
- {
- "teal": 579,
- "source": 215,
- "pc": [
- 818,
- 819
- ]
- },
- {
- "teal": 580,
- "source": 215,
- "pc": [
- 820,
- 821,
- 822
- ]
- },
- {
- "teal": 581,
- "source": 215,
- "pc": [
- 823
- ]
- },
- {
- "teal": 582,
- "source": 215,
- "pc": [
- 824,
- 825
- ]
- },
- {
- "teal": 586,
- "source": 216,
- "pc": [
- 826
- ]
- },
- {
- "teal": 587,
- "source": 216,
- "pc": [
- 827,
- 828
- ]
- },
- {
- "teal": 591,
- "source": 218,
- "pc": [
- 829,
- 830
- ]
- },
- {
- "teal": 592,
- "source": 218,
- "pc": [
- 831
- ]
- },
- {
- "teal": 593,
- "source": 218,
- "pc": [
- 832,
- 833
- ]
- },
- {
- "teal": 594,
- "source": 218,
- "pc": [
- 834,
- 835
- ]
- },
- {
- "teal": 595,
- "source": 218,
- "pc": [
- 836
- ]
- },
- {
- "teal": 596,
- "source": 218,
- "pc": [
- 837,
- 838
- ]
- },
- {
- "teal": 597,
- "source": 218,
- "pc": [
- 839
- ]
- },
- {
- "teal": 598,
- "source": 218,
- "pc": [
- 840
- ]
- },
- {
- "teal": 602,
- "source": 220,
- "pc": [
- 841,
- 842
- ]
- },
- {
- "teal": 603,
- "source": 220,
- "pc": [
- 843
- ]
- },
- {
- "teal": 604,
- "source": 220,
- "pc": [
- 844,
- 845
- ]
- },
- {
- "teal": 605,
- "source": 220,
- "pc": [
- 846
- ]
- },
- {
- "teal": 606,
- "source": 220,
- "pc": [
- 847
- ]
- },
- {
- "teal": 607,
- "source": 220,
- "pc": [
- 848,
- 849
- ]
- },
- {
- "teal": 608,
- "source": 220,
- "pc": [
- 850
- ]
- },
- {
- "teal": 609,
- "source": 220,
- "pc": [
- 851,
- 852
- ]
- },
- {
- "teal": 614,
- "source": 221,
- "pc": [
- 853,
- 854
- ]
- },
- {
- "teal": 615,
- "source": 221,
- "pc": [
- 855
- ]
- },
- {
- "teal": 616,
- "source": 222,
- "pc": [
- 856
- ]
- },
- {
- "teal": 617,
- "source": 222,
- "pc": [
- 857,
- 858
- ]
- },
- {
- "teal": 618,
- "source": 222,
- "pc": [
- 859,
- 860
- ]
- },
- {
- "teal": 619,
- "source": 222,
- "pc": [
- 861
- ]
- },
- {
- "teal": 620,
- "source": 222,
- "pc": [
- 862,
- 863
- ]
- },
- {
- "teal": 621,
- "source": 222,
- "pc": [
- 864
- ]
- },
- {
- "teal": 622,
- "source": 222,
- "pc": [
- 865
- ]
- },
- {
- "teal": 623,
- "source": 222,
- "pc": [
- 866
- ]
- },
- {
- "teal": 624,
- "source": 222,
- "pc": [
- 867
- ]
- },
- {
- "teal": 625,
- "source": 222,
- "pc": [
- 868
- ]
- },
- {
- "teal": 626,
- "source": 222,
- "pc": [
- 869,
- 870
- ]
- },
- {
- "teal": 627,
- "source": 222,
- "pc": [
- 871
- ]
- },
- {
- "teal": 630,
- "source": 222,
- "errorMessage": "this.stakeAccumulator.value + (stakedAmountPayment.amount as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits",
- "pc": [
- 872
- ]
- },
- {
- "teal": 631,
- "source": 222,
- "pc": [
- 873,
- 874
- ]
- },
- {
- "teal": 632,
- "source": 222,
- "pc": [
- 875
- ]
- },
- {
- "teal": 633,
- "source": 222,
- "pc": [
- 876
- ]
- },
- {
- "teal": 634,
- "source": 222,
- "pc": [
- 877
- ]
- },
- {
- "teal": 635,
- "source": 222,
- "pc": [
- 878
- ]
- },
- {
- "teal": 636,
- "source": 222,
- "pc": [
- 879,
- 880
- ]
- },
- {
- "teal": 637,
- "source": 222,
- "pc": [
- 881
- ]
- },
- {
- "teal": 638,
- "source": 222,
- "pc": [
- 882
- ]
- },
- {
- "teal": 639,
- "source": 222,
- "pc": [
- 883
- ]
- },
- {
- "teal": 640,
- "source": 221,
- "pc": [
- 884
- ]
- },
- {
- "teal": 644,
- "source": 225,
- "pc": [
- 885
- ]
- },
- {
- "teal": 645,
- "source": 225,
- "pc": [
- 886,
- 887
- ]
- },
- {
- "teal": 650,
- "source": 225,
- "pc": [
- 888,
- 889
- ]
- },
- {
- "teal": 651,
- "source": 225,
- "pc": [
- 890,
- 891
- ]
- },
- {
- "teal": 652,
- "source": 225,
- "pc": [
- 892
- ]
- },
- {
- "teal": 653,
- "source": 225,
- "pc": [
- 893,
- 894,
- 895
- ]
- },
- {
- "teal": 658,
- "source": 226,
- "pc": [
- 896,
- 897
- ]
- },
- {
- "teal": 659,
- "source": 226,
- "pc": [
- 898,
- 899
- ]
- },
- {
- "teal": 660,
- "source": 226,
- "pc": [
- 900
- ]
- },
- {
- "teal": 661,
- "source": 226,
- "pc": [
- 901,
- 902,
- 903
- ]
- },
- {
- "teal": 666,
- "source": 227,
- "pc": [
- 904
- ]
- },
- {
- "teal": 667,
- "source": 227,
- "pc": [
- 905
- ]
- },
- {
- "teal": 668,
- "source": 227,
- "pc": [
- 906,
- 907
- ]
- },
- {
- "teal": 669,
- "source": 227,
- "pc": [
- 908
- ]
- },
- {
- "teal": 670,
- "source": 227,
- "pc": [
- 909,
- 910
- ]
- },
- {
- "teal": 671,
- "source": 227,
- "pc": [
- 911,
- 912
- ]
- },
- {
- "teal": 672,
- "source": 227,
- "pc": [
- 913
- ]
- },
- {
- "teal": 673,
- "source": 227,
- "pc": [
- 914,
- 915
- ]
- },
- {
- "teal": 674,
- "source": 227,
- "pc": [
- 916,
- 917
- ]
- },
- {
- "teal": 675,
- "source": 227,
- "pc": [
- 918,
- 919
- ]
- },
- {
- "teal": 676,
- "source": 227,
- "pc": [
- 920,
- 921
- ]
- },
- {
- "teal": 677,
- "source": 227,
- "pc": [
- 922
- ]
- },
- {
- "teal": 682,
- "source": 229,
- "pc": [
- 923,
- 924
- ]
- },
- {
- "teal": 683,
- "source": 229,
- "pc": [
- 925
- ]
- },
- {
- "teal": 684,
- "source": 229,
- "pc": [
- 926
- ]
- },
- {
- "teal": 685,
- "source": 229,
- "pc": [
- 927
- ]
- },
- {
- "teal": 686,
- "source": 229,
- "pc": [
- 928
- ]
- },
- {
- "teal": 687,
- "source": 229,
- "pc": [
- 929,
- 930
- ]
- },
- {
- "teal": 688,
- "source": 229,
- "pc": [
- 931
- ]
- },
- {
- "teal": 689,
- "source": 229,
- "pc": [
- 932,
- 933
- ]
- },
- {
- "teal": 694,
- "source": 230,
- "pc": [
- 934,
- 935
- ]
- },
- {
- "teal": 695,
- "source": 230,
- "pc": [
- 936,
- 937,
- 938
- ]
- },
- {
- "teal": 696,
- "source": 230,
- "pc": [
- 939,
- 940
- ]
- },
- {
- "teal": 697,
- "source": 230,
- "pc": [
- 941
- ]
- },
- {
- "teal": 698,
- "source": 230,
- "pc": [
- 942,
- 943,
- 944
- ]
- },
- {
- "teal": 703,
- "source": 232,
- "pc": [
- 945,
- 946
- ]
- },
- {
- "teal": 704,
- "source": 232,
- "pc": [
- 947,
- 948
- ]
- },
- {
- "teal": 705,
- "source": 232,
- "pc": [
- 949,
- 950
- ]
- },
- {
- "teal": 706,
- "source": 232,
- "pc": [
- 951,
- 952,
- 953
- ]
- },
- {
- "teal": 707,
- "source": 232,
- "pc": [
- 954
- ]
- },
- {
- "teal": 708,
- "source": 232,
- "pc": [
- 955,
- 956
- ]
- },
- {
- "teal": 709,
- "source": 232,
- "pc": [
- 957,
- 958
- ]
- },
- {
- "teal": 710,
- "source": 232,
- "pc": [
- 959
- ]
- },
- {
- "teal": 711,
- "source": 232,
- "pc": [
- 960
- ]
- },
- {
- "teal": 712,
- "source": 232,
- "pc": [
- 961
- ]
- },
- {
- "teal": 713,
- "source": 232,
- "pc": [
- 962,
- 963
- ]
- },
- {
- "teal": 717,
- "source": 233,
- "pc": [
- 964,
- 965
- ]
- },
- {
- "teal": 718,
- "source": 233,
- "pc": [
- 966,
- 967
- ]
- },
- {
- "teal": 719,
- "source": 233,
- "pc": [
- 968,
- 969
- ]
- },
- {
- "teal": 720,
- "source": 233,
- "pc": [
- 970
- ]
- },
- {
- "teal": 721,
- "source": 233,
- "pc": [
- 971
- ]
- },
- {
- "teal": 722,
- "source": 233,
- "pc": [
- 972,
- 973
- ]
- },
- {
- "teal": 726,
- "source": 236,
- "pc": [
- 974,
- 975
- ]
- },
- {
- "teal": 727,
- "source": 236,
- "pc": [
- 976
- ]
- },
- {
- "teal": 728,
- "source": 236,
- "pc": [
- 977
- ]
- },
- {
- "teal": 729,
- "source": 236,
- "pc": [
- 978,
- 979
- ]
- },
- {
- "teal": 730,
- "source": 236,
- "pc": [
- 980
- ]
- },
- {
- "teal": 731,
- "source": 236,
- "pc": [
- 981,
- 982
- ]
- },
- {
- "teal": 732,
- "source": 236,
- "pc": [
- 983
- ]
- },
- {
- "teal": 736,
- "source": 238,
- "pc": [
- 984,
- 985
- ]
- },
- {
- "teal": 737,
- "source": 238,
- "pc": [
- 986,
- 987,
- 988
- ]
- },
- {
- "teal": 743,
- "source": 240,
- "pc": [
- 989,
- 990
- ]
- },
- {
- "teal": 744,
- "source": 240,
- "pc": [
- 991
- ]
- },
- {
- "teal": 745,
- "source": 240,
- "pc": [
- 992
- ]
- },
- {
- "teal": 746,
- "source": 240,
- "pc": [
- 993
- ]
- },
- {
- "teal": 747,
- "source": 240,
- "pc": [
- 994,
- 995,
- 996
- ]
- },
- {
- "teal": 748,
- "source": 240,
- "pc": [
- 997,
- 998
- ]
- },
- {
- "teal": 749,
- "source": 240,
- "pc": [
- 999,
- 1000,
- 1001
- ]
- },
- {
- "teal": 750,
- "source": 240,
- "pc": [
- 1002,
- 1003
- ]
- },
- {
- "teal": 751,
- "source": 240,
- "pc": [
- 1004
- ]
- },
- {
- "teal": 752,
- "source": 240,
- "pc": [
- 1005
- ]
- },
- {
- "teal": 755,
- "source": 240,
- "pc": [
- 1006,
- 1007,
- 1008
- ]
- },
- {
- "teal": 760,
- "source": 241,
- "pc": [
- 1009,
- 1010
- ]
- },
- {
- "teal": 761,
- "source": 241,
- "pc": [
- 1011
- ]
- },
- {
- "teal": 762,
- "source": 241,
- "pc": [
- 1012
- ]
- },
- {
- "teal": 763,
- "source": 241,
- "pc": [
- 1013,
- 1014
- ]
- },
- {
- "teal": 770,
- "source": 225,
- "pc": [
- 1015,
- 1016
- ]
- },
- {
- "teal": 771,
- "source": 225,
- "pc": [
- 1017
- ]
- },
- {
- "teal": 772,
- "source": 225,
- "pc": [
- 1018
- ]
- },
- {
- "teal": 773,
- "source": 225,
- "pc": [
- 1019,
- 1020
- ]
- },
- {
- "teal": 774,
- "source": 225,
- "pc": [
- 1021,
- 1022,
- 1023
- ]
- },
- {
- "teal": 780,
- "source": 245,
- "pc": [
- 1024,
- 1025
- ]
- },
- {
- "teal": 781,
- "source": 245,
- "pc": [
- 1026
- ]
- },
- {
- "teal": 782,
- "source": 245,
- "pc": [
- 1027
- ]
- },
- {
- "teal": 783,
- "source": 245,
- "pc": [
- 1028,
- 1029,
- 1030
- ]
- },
- {
- "teal": 787,
- "source": 247,
- "errorMessage": "Staking pool full",
- "pc": [
- 1031
- ]
- },
- {
- "teal": 792,
- "source": 252,
- "pc": [
- 1032,
- 1033
- ]
- },
- {
- "teal": 793,
- "source": 252,
- "pc": [
- 1034,
- 1035
- ]
- },
- {
- "teal": 794,
- "source": 252,
- "pc": [
- 1036,
- 1037
- ]
- },
- {
- "teal": 795,
- "source": 252,
- "pc": [
- 1038
- ]
- },
- {
- "teal": 796,
- "source": 252,
- "pc": [
- 1039
- ]
- },
- {
- "teal": 799,
- "source": 252,
- "errorMessage": "must stake at least the minimum for this pool",
- "pc": [
- 1040
- ]
- },
- {
- "teal": 803,
- "source": 254,
- "pc": [
- 1041,
- 1042
- ]
- },
- {
- "teal": 804,
- "source": 254,
- "pc": [
- 1043
- ]
- },
- {
- "teal": 805,
- "source": 254,
- "pc": [
- 1044
- ]
- },
- {
- "teal": 806,
- "source": 254,
- "pc": [
- 1045
- ]
- },
- {
- "teal": 807,
- "source": 254,
- "pc": [
- 1046
- ]
- },
- {
- "teal": 808,
- "source": 254,
- "pc": [
- 1047
- ]
- },
- {
- "teal": 809,
- "source": 254,
- "pc": [
- 1048
- ]
- },
- {
- "teal": 810,
- "source": 254,
- "pc": [
- 1049,
- 1050
- ]
- },
- {
- "teal": 811,
- "source": 254,
- "pc": [
- 1051
- ]
- },
- {
- "teal": 812,
- "source": 254,
- "pc": [
- 1052,
- 1053
- ]
- },
- {
- "teal": 813,
- "source": 254,
- "pc": [
- 1054
- ]
- },
- {
- "teal": 814,
- "source": 254,
- "pc": [
- 1055,
- 1056
- ]
- },
- {
- "teal": 815,
- "source": 254,
- "pc": [
- 1057
- ]
- },
- {
- "teal": 816,
- "source": 254,
- "pc": [
- 1058
- ]
- },
- {
- "teal": 826,
- "source": 255,
- "pc": [
- 1059,
- 1060
- ]
- },
- {
- "teal": 827,
- "source": 255,
- "pc": [
- 1061
- ]
- },
- {
- "teal": 828,
- "source": 255,
- "pc": [
- 1062
- ]
- },
- {
- "teal": 829,
- "source": 255,
- "pc": [
- 1063
- ]
- },
- {
- "teal": 830,
- "source": 255,
- "pc": [
- 1064
- ]
- },
- {
- "teal": 831,
- "source": 256,
- "pc": [
- 1065,
- 1066
- ]
- },
- {
- "teal": 832,
- "source": 257,
- "pc": [
- 1067,
- 1068
- ]
- },
- {
- "teal": 833,
- "source": 257,
- "pc": [
- 1069,
- 1070
- ]
- },
- {
- "teal": 834,
- "source": 257,
- "pc": [
- 1071
- ]
- },
- {
- "teal": 835,
- "source": 257,
- "pc": [
- 1072
- ]
- },
- {
- "teal": 836,
- "source": 258,
- "pc": [
- 1073,
- 1074
- ]
- },
- {
- "teal": 837,
- "source": 258,
- "pc": [
- 1075
- ]
- },
- {
- "teal": 838,
- "source": 259,
- "pc": [
- 1076,
- 1077
- ]
- },
- {
- "teal": 839,
- "source": 259,
- "pc": [
- 1078
- ]
- },
- {
- "teal": 840,
- "source": 260,
- "pc": [
- 1079,
- 1080
- ]
- },
- {
- "teal": 841,
- "source": 260,
- "pc": [
- 1081
- ]
- },
- {
- "teal": 842,
- "source": 260,
- "pc": [
- 1082
- ]
- },
- {
- "teal": 843,
- "source": 255,
- "pc": [
- 1083
- ]
- },
- {
- "teal": 844,
- "source": 255,
- "pc": [
- 1084,
- 1085
- ]
- },
- {
- "teal": 845,
- "source": 255,
- "pc": [
- 1086
- ]
- },
- {
- "teal": 849,
- "source": 262,
- "pc": [
- 1087,
- 1088
- ]
- },
- {
- "teal": 850,
- "source": 262,
- "pc": [
- 1089
- ]
- },
- {
- "teal": 851,
- "source": 262,
- "pc": [
- 1090
- ]
- },
- {
- "teal": 852,
- "source": 262,
- "pc": [
- 1091
- ]
- },
- {
- "teal": 853,
- "source": 262,
- "pc": [
- 1092,
- 1093
- ]
- },
- {
- "teal": 854,
- "source": 262,
- "pc": [
- 1094
- ]
- },
- {
- "teal": 855,
- "source": 262,
- "pc": [
- 1095
- ]
- },
- {
- "teal": 859,
- "source": 263,
- "pc": [
- 1096,
- 1097
- ]
- },
- {
- "teal": 863,
- "source": 191,
- "pc": [
- 1098,
- 1099
- ]
- },
- {
- "teal": 866,
- "source": 191,
- "pc": [
- 1100,
- 1101
- ]
- },
- {
- "teal": 867,
- "source": 191,
- "pc": [
- 1102
- ]
- },
- {
- "teal": 872,
- "source": 277,
- "pc": [
- 1103,
- 1104,
- 1105
- ]
- },
- {
- "teal": 873,
- "source": 277,
- "pc": [
- 1106
- ]
- },
- {
- "teal": 876,
- "source": 277,
- "pc": [
- 1107,
- 1108,
- 1109
- ]
- },
- {
- "teal": 877,
- "source": 277,
- "pc": [
- 1110
- ]
- },
- {
- "teal": 878,
- "source": 277,
- "pc": [
- 1111
- ]
- },
- {
- "teal": 879,
- "source": 277,
- "pc": [
- 1112,
- 1113
- ]
- },
- {
- "teal": 880,
- "source": 277,
- "pc": [
- 1114
- ]
- },
- {
- "teal": 883,
- "source": 277,
- "errorMessage": "argument 1 (staker) for removeStake must be a address",
- "pc": [
- 1115
- ]
- },
- {
- "teal": 886,
- "source": 277,
- "pc": [
- 1116,
- 1117,
- 1118
- ]
- },
- {
- "teal": 887,
- "source": 277,
- "pc": [
- 1119
- ]
- },
- {
- "teal": 888,
- "source": 277,
- "pc": [
- 1120
- ]
- },
- {
- "teal": 902,
- "source": 277,
- "pc": [
- 1121,
- 1122,
- 1123
- ]
- },
- {
- "teal": 905,
- "source": 277,
- "pc": [
- 1124,
- 1125
- ]
- },
- {
- "teal": 906,
- "source": 277,
- "pc": [
- 1126,
- 1127
- ]
- },
- {
- "teal": 911,
- "source": 280,
- "pc": [
- 1128,
- 1129
- ]
- },
- {
- "teal": 912,
- "source": 280,
- "pc": [
- 1130,
- 1131
- ]
- },
- {
- "teal": 913,
- "source": 280,
- "pc": [
- 1132
- ]
- },
- {
- "teal": 914,
- "source": 280,
- "pc": [
- 1133,
- 1134,
- 1135
- ]
- },
- {
- "teal": 922,
- "source": 282,
- "pc": [
- 1136,
- 1137,
- 1138
- ]
- },
- {
- "teal": 925,
- "source": 281,
- "errorMessage": "If staker is not sender in removeStake call, then sender MUST be owner or manager of validator",
- "pc": [
- 1139
- ]
- },
- {
- "teal": 930,
- "source": 287,
- "pc": [
- 1140,
- 1141,
- 1142
- ]
- },
- {
- "teal": 934,
- "source": 289,
- "pc": [
- 1143
- ]
- },
- {
- "teal": 935,
- "source": 289,
- "pc": [
- 1144,
- 1145
- ]
- },
- {
- "teal": 940,
- "source": 289,
- "pc": [
- 1146,
- 1147
- ]
- },
- {
- "teal": 941,
- "source": 289,
- "pc": [
- 1148,
- 1149
- ]
- },
- {
- "teal": 942,
- "source": 289,
- "pc": [
- 1150
- ]
- },
- {
- "teal": 943,
- "source": 289,
- "pc": [
- 1151,
- 1152,
- 1153
- ]
- },
- {
- "teal": 948,
- "source": 290,
- "pc": [
- 1154,
- 1155
- ]
- },
- {
- "teal": 949,
- "source": 290,
- "pc": [
- 1156,
- 1157
- ]
- },
- {
- "teal": 950,
- "source": 290,
- "pc": [
- 1158
- ]
- },
- {
- "teal": 951,
- "source": 290,
- "pc": [
- 1159,
- 1160,
- 1161
- ]
- },
- {
- "teal": 956,
- "source": 291,
- "pc": [
- 1162
- ]
- },
- {
- "teal": 957,
- "source": 291,
- "pc": [
- 1163
- ]
- },
- {
- "teal": 958,
- "source": 291,
- "pc": [
- 1164,
- 1165
- ]
- },
- {
- "teal": 959,
- "source": 291,
- "pc": [
- 1166
- ]
- },
- {
- "teal": 960,
- "source": 291,
- "pc": [
- 1167,
- 1168
- ]
- },
- {
- "teal": 961,
- "source": 291,
- "pc": [
- 1169,
- 1170
- ]
- },
- {
- "teal": 962,
- "source": 291,
- "pc": [
- 1171
- ]
- },
- {
- "teal": 963,
- "source": 291,
- "pc": [
- 1172,
- 1173
- ]
- },
- {
- "teal": 964,
- "source": 291,
- "pc": [
- 1174,
- 1175
- ]
- },
- {
- "teal": 965,
- "source": 291,
- "pc": [
- 1176,
- 1177
- ]
- },
- {
- "teal": 966,
- "source": 291,
- "pc": [
- 1178,
- 1179
- ]
- },
- {
- "teal": 967,
- "source": 291,
- "pc": [
- 1180
- ]
- },
- {
- "teal": 972,
- "source": 293,
- "pc": [
- 1181,
- 1182
- ]
- },
- {
- "teal": 973,
- "source": 293,
- "pc": [
- 1183
- ]
- },
- {
- "teal": 974,
- "source": 293,
- "pc": [
- 1184
- ]
- },
- {
- "teal": 975,
- "source": 293,
- "pc": [
- 1185
- ]
- },
- {
- "teal": 976,
- "source": 293,
- "pc": [
- 1186
- ]
- },
- {
- "teal": 977,
- "source": 293,
- "pc": [
- 1187,
- 1188
- ]
- },
- {
- "teal": 978,
- "source": 293,
- "pc": [
- 1189
- ]
- },
- {
- "teal": 979,
- "source": 293,
- "pc": [
- 1190,
- 1191
- ]
- },
- {
- "teal": 984,
- "source": 294,
- "pc": [
- 1192,
- 1193
- ]
- },
- {
- "teal": 985,
- "source": 294,
- "pc": [
- 1194,
- 1195,
- 1196
- ]
- },
- {
- "teal": 986,
- "source": 294,
- "pc": [
- 1197,
- 1198
- ]
- },
- {
- "teal": 987,
- "source": 294,
- "pc": [
- 1199
- ]
- },
- {
- "teal": 988,
- "source": 294,
- "pc": [
- 1200,
- 1201,
- 1202
- ]
- },
- {
- "teal": 994,
- "source": 295,
- "pc": [
- 1203,
- 1204
- ]
- },
- {
- "teal": 995,
- "source": 295,
- "pc": [
- 1205
- ]
- },
- {
- "teal": 996,
- "source": 295,
- "pc": [
- 1206
- ]
- },
- {
- "teal": 997,
- "source": 295,
- "pc": [
- 1207,
- 1208,
- 1209
- ]
- },
- {
- "teal": 1002,
- "source": 297,
- "pc": [
- 1210,
- 1211
- ]
- },
- {
- "teal": 1003,
- "source": 297,
- "pc": [
- 1212,
- 1213,
- 1214
- ]
- },
- {
- "teal": 1004,
- "source": 297,
- "pc": [
- 1215
- ]
- },
- {
- "teal": 1005,
- "source": 297,
- "pc": [
- 1216,
- 1217
- ]
- },
- {
- "teal": 1011,
- "source": 299,
- "pc": [
- 1218,
- 1219
- ]
- },
- {
- "teal": 1012,
- "source": 299,
- "pc": [
- 1220,
- 1221,
- 1222
- ]
- },
- {
- "teal": 1013,
- "source": 299,
- "pc": [
- 1223
- ]
- },
- {
- "teal": 1014,
- "source": 299,
- "pc": [
- 1224,
- 1225
- ]
- },
- {
- "teal": 1015,
- "source": 299,
- "pc": [
- 1226
- ]
- },
- {
- "teal": 1016,
- "source": 299,
- "pc": [
- 1227,
- 1228,
- 1229
- ]
- },
- {
- "teal": 1020,
- "source": 300,
- "errorMessage": "Insufficient balance",
- "pc": [
- 1230
- ]
- },
- {
- "teal": 1025,
- "source": 302,
- "pc": [
- 1231,
- 1232
- ]
- },
- {
- "teal": 1026,
- "source": 302,
- "pc": [
- 1233,
- 1234
- ]
- },
- {
- "teal": 1027,
- "source": 302,
- "pc": [
- 1235,
- 1236
- ]
- },
- {
- "teal": 1028,
- "source": 302,
- "pc": [
- 1237,
- 1238,
- 1239
- ]
- },
- {
- "teal": 1029,
- "source": 302,
- "pc": [
- 1240
- ]
- },
- {
- "teal": 1030,
- "source": 302,
- "pc": [
- 1241,
- 1242
- ]
- },
- {
- "teal": 1031,
- "source": 302,
- "pc": [
- 1243
- ]
- },
- {
- "teal": 1032,
- "source": 302,
- "pc": [
- 1244
- ]
- },
- {
- "teal": 1033,
- "source": 302,
- "pc": [
- 1245
- ]
- },
- {
- "teal": 1034,
- "source": 302,
- "pc": [
- 1246,
- 1247
- ]
- },
- {
- "teal": 1038,
- "source": 303,
- "pc": [
- 1248,
- 1249
- ]
- },
- {
- "teal": 1039,
- "source": 303,
- "pc": [
- 1250
- ]
- },
- {
- "teal": 1040,
- "source": 303,
- "pc": [
- 1251,
- 1252
- ]
- },
- {
- "teal": 1041,
- "source": 303,
- "pc": [
- 1253
- ]
- },
- {
- "teal": 1042,
- "source": 303,
- "pc": [
- 1254,
- 1255
- ]
- },
- {
- "teal": 1043,
- "source": 303,
- "pc": [
- 1256
- ]
- },
- {
- "teal": 1044,
- "source": 303,
- "pc": [
- 1257
- ]
- },
- {
- "teal": 1048,
- "source": 305,
- "pc": [
- 1258
- ]
- },
- {
- "teal": 1049,
- "source": 305,
- "pc": [
- 1259,
- 1260
- ]
- },
- {
- "teal": 1054,
- "source": 306,
- "pc": [
- 1261,
- 1262
- ]
- },
- {
- "teal": 1055,
- "source": 306,
- "pc": [
- 1263,
- 1264,
- 1265
- ]
- },
- {
- "teal": 1056,
- "source": 306,
- "pc": [
- 1266
- ]
- },
- {
- "teal": 1057,
- "source": 306,
- "pc": [
- 1267
- ]
- },
- {
- "teal": 1058,
- "source": 306,
- "pc": [
- 1268
- ]
- },
- {
- "teal": 1059,
- "source": 306,
- "pc": [
- 1269,
- 1270,
- 1271
- ]
- },
- {
- "teal": 1065,
- "source": 308,
- "pc": [
- 1272
- ]
- },
- {
- "teal": 1066,
- "source": 308,
- "pc": [
- 1273
- ]
- },
- {
- "teal": 1067,
- "source": 308,
- "pc": [
- 1274
- ]
- },
- {
- "teal": 1068,
- "source": 308,
- "pc": [
- 1275
- ]
- },
- {
- "teal": 1069,
- "source": 308,
- "pc": [
- 1276,
- 1277,
- 1278
- ]
- },
- {
- "teal": 1077,
- "source": 309,
- "pc": [
- 1279
- ]
- },
- {
- "teal": 1078,
- "source": 309,
- "pc": [
- 1280
- ]
- },
- {
- "teal": 1079,
- "source": 309,
- "pc": [
- 1281,
- 1282
- ]
- },
- {
- "teal": 1080,
- "source": 309,
- "pc": [
- 1283,
- 1284
- ]
- },
- {
- "teal": 1081,
- "source": 309,
- "pc": [
- 1285,
- 1286
- ]
- },
- {
- "teal": 1085,
- "source": 310,
- "pc": [
- 1287
- ]
- },
- {
- "teal": 1086,
- "source": 310,
- "pc": [
- 1288
- ]
- },
- {
- "teal": 1087,
- "source": 310,
- "pc": [
- 1289,
- 1290
- ]
- },
- {
- "teal": 1091,
- "source": 311,
- "pc": [
- 1291
- ]
- },
- {
- "teal": 1092,
- "source": 311,
- "pc": [
- 1292
- ]
- },
- {
- "teal": 1093,
- "source": 311,
- "pc": [
- 1293
- ]
- },
- {
- "teal": 1094,
- "source": 311,
- "pc": [
- 1294,
- 1295
- ]
- },
- {
- "teal": 1097,
- "source": 309,
- "pc": [
- 1296
- ]
- },
- {
- "teal": 1098,
- "source": 309,
- "pc": [
- 1297,
- 1298
- ]
- },
- {
- "teal": 1101,
- "source": 309,
- "pc": [
- 1299
- ]
- },
- {
- "teal": 1102,
- "source": 309,
- "pc": [
- 1300,
- 1301
- ]
- },
- {
- "teal": 1103,
- "source": 309,
- "pc": [
- 1302
- ]
- },
- {
- "teal": 1104,
- "source": 309,
- "pc": [
- 1303
- ]
- },
- {
- "teal": 1105,
- "source": 309,
- "pc": [
- 1304,
- 1305
- ]
- },
- {
- "teal": 1106,
- "source": 309,
- "pc": [
- 1306,
- 1307,
- 1308
- ]
- },
- {
- "teal": 1107,
- "source": 309,
- "pc": [
- 1309,
- 1310
- ]
- },
- {
- "teal": 1115,
- "source": 317,
- "pc": [
- 1311
- ]
- },
- {
- "teal": 1116,
- "source": 317,
- "pc": [
- 1312,
- 1313
- ]
- },
- {
- "teal": 1117,
- "source": 317,
- "pc": [
- 1314,
- 1315
- ]
- },
- {
- "teal": 1121,
- "source": 318,
- "pc": [
- 1316,
- 1317
- ]
- },
- {
- "teal": 1122,
- "source": 318,
- "pc": [
- 1318,
- 1319,
- 1320
- ]
- },
- {
- "teal": 1123,
- "source": 318,
- "pc": [
- 1321
- ]
- },
- {
- "teal": 1124,
- "source": 318,
- "pc": [
- 1322,
- 1323
- ]
- },
- {
- "teal": 1128,
- "source": 319,
- "pc": [
- 1324,
- 1325
- ]
- },
- {
- "teal": 1129,
- "source": 319,
- "pc": [
- 1326,
- 1327
- ]
- },
- {
- "teal": 1133,
- "source": 320,
- "pc": [
- 1328,
- 1329
- ]
- },
- {
- "teal": 1134,
- "source": 320,
- "pc": [
- 1330,
- 1331,
- 1332
- ]
- },
- {
- "teal": 1135,
- "source": 320,
- "pc": [
- 1333
- ]
- },
- {
- "teal": 1136,
- "source": 320,
- "pc": [
- 1334,
- 1335
- ]
- },
- {
- "teal": 1139,
- "source": 317,
- "pc": [
- 1336
- ]
- },
- {
- "teal": 1140,
- "source": 317,
- "pc": [
- 1337,
- 1338
- ]
- },
- {
- "teal": 1143,
- "source": 317,
- "pc": [
- 1339
- ]
- },
- {
- "teal": 1147,
- "source": 322,
- "pc": [
- 1340,
- 1341
- ]
- },
- {
- "teal": 1148,
- "source": 322,
- "pc": [
- 1342,
- 1343,
- 1344
- ]
- },
- {
- "teal": 1149,
- "source": 322,
- "pc": [
- 1345
- ]
- },
- {
- "teal": 1150,
- "source": 322,
- "pc": [
- 1346,
- 1347
- ]
- },
- {
- "teal": 1154,
- "source": 323,
- "pc": [
- 1348,
- 1349
- ]
- },
- {
- "teal": 1155,
- "source": 323,
- "pc": [
- 1350,
- 1351
- ]
- },
- {
- "teal": 1156,
- "source": 323,
- "pc": [
- 1352,
- 1353
- ]
- },
- {
- "teal": 1157,
- "source": 323,
- "pc": [
- 1354,
- 1355
- ]
- },
- {
- "teal": 1158,
- "source": 308,
- "pc": [
- 1356,
- 1357,
- 1358
- ]
- },
- {
- "teal": 1163,
- "source": 328,
- "pc": [
- 1359,
- 1360
- ]
- },
- {
- "teal": 1164,
- "source": 328,
- "pc": [
- 1361,
- 1362,
- 1363
- ]
- },
- {
- "teal": 1165,
- "source": 328,
- "pc": [
- 1364
- ]
- },
- {
- "teal": 1166,
- "source": 328,
- "pc": [
- 1365,
- 1366
- ]
- },
- {
- "teal": 1170,
- "source": 329,
- "pc": [
- 1367,
- 1368
- ]
- },
- {
- "teal": 1171,
- "source": 329,
- "pc": [
- 1369,
- 1370
- ]
- },
- {
- "teal": 1172,
- "source": 329,
- "pc": [
- 1371,
- 1372
- ]
- },
- {
- "teal": 1173,
- "source": 329,
- "pc": [
- 1373,
- 1374
- ]
- },
- {
- "teal": 1183,
- "source": 335,
- "pc": [
- 1375,
- 1376
- ]
- },
- {
- "teal": 1184,
- "source": 335,
- "pc": [
- 1377,
- 1378,
- 1379
- ]
- },
- {
- "teal": 1185,
- "source": 335,
- "pc": [
- 1380
- ]
- },
- {
- "teal": 1186,
- "source": 335,
- "pc": [
- 1381
- ]
- },
- {
- "teal": 1187,
- "source": 335,
- "pc": [
- 1382
- ]
- },
- {
- "teal": 1188,
- "source": 335,
- "pc": [
- 1383
- ]
- },
- {
- "teal": 1189,
- "source": 335,
- "pc": [
- 1384,
- 1385,
- 1386
- ]
- },
- {
- "teal": 1190,
- "source": 335,
- "pc": [
- 1387,
- 1388
- ]
- },
- {
- "teal": 1191,
- "source": 335,
- "pc": [
- 1389,
- 1390,
- 1391
- ]
- },
- {
- "teal": 1192,
- "source": 335,
- "pc": [
- 1392
- ]
- },
- {
- "teal": 1193,
- "source": 335,
- "pc": [
- 1393,
- 1394
- ]
- },
- {
- "teal": 1194,
- "source": 335,
- "pc": [
- 1395
- ]
- },
- {
- "teal": 1195,
- "source": 335,
- "pc": [
- 1396
- ]
- },
- {
- "teal": 1196,
- "source": 335,
- "pc": [
- 1397
- ]
- },
- {
- "teal": 1200,
- "source": 334,
- "errorMessage": "cannot reduce balance below minimum allowed stake unless all is removed",
- "pc": [
- 1398
- ]
- },
- {
- "teal": 1208,
- "source": 342,
- "pc": [
- 1399
- ]
- },
- {
- "teal": 1209,
- "source": 342,
- "pc": [
- 1400
- ]
- },
- {
- "teal": 1210,
- "source": 342,
- "pc": [
- 1401,
- 1402
- ]
- },
- {
- "teal": 1214,
- "source": 343,
- "pc": [
- 1403,
- 1404
- ]
- },
- {
- "teal": 1215,
- "source": 343,
- "pc": [
- 1405,
- 1406
- ]
- },
- {
- "teal": 1219,
- "source": 344,
- "pc": [
- 1407,
- 1408
- ]
- },
- {
- "teal": 1220,
- "source": 344,
- "pc": [
- 1409,
- 1410
- ]
- },
- {
- "teal": 1224,
- "source": 345,
- "pc": [
- 1411,
- 1412,
- 1413,
- 1414,
- 1415,
- 1416,
- 1417,
- 1418,
- 1419,
- 1420
- ]
- },
- {
- "teal": 1225,
- "source": 345,
- "pc": [
- 1421,
- 1422
- ]
- },
- {
- "teal": 1228,
- "source": 342,
- "pc": [
- 1423
- ]
- },
- {
- "teal": 1229,
- "source": 342,
- "pc": [
- 1424,
- 1425
- ]
- },
- {
- "teal": 1232,
- "source": 342,
- "pc": [
- 1426
- ]
- },
- {
- "teal": 1236,
- "source": 347,
- "pc": [
- 1427
- ]
- },
- {
- "teal": 1237,
- "source": 347,
- "pc": [
- 1428,
- 1429
- ]
- },
- {
- "teal": 1242,
- "source": 348,
- "pc": [
- 1430,
- 1431
- ]
- },
- {
- "teal": 1243,
- "source": 348,
- "pc": [
- 1432,
- 1433,
- 1434
- ]
- },
- {
- "teal": 1244,
- "source": 348,
- "pc": [
- 1435
- ]
- },
- {
- "teal": 1245,
- "source": 348,
- "pc": [
- 1436
- ]
- },
- {
- "teal": 1246,
- "source": 348,
- "pc": [
- 1437
- ]
- },
- {
- "teal": 1247,
- "source": 348,
- "pc": [
- 1438,
- 1439,
- 1440
- ]
- },
- {
- "teal": 1252,
- "source": 350,
- "pc": [
- 1441,
- 1442
- ]
- },
- {
- "teal": 1253,
- "source": 350,
- "pc": [
- 1443
- ]
- },
- {
- "teal": 1254,
- "source": 350,
- "pc": [
- 1444
- ]
- },
- {
- "teal": 1255,
- "source": 350,
- "pc": [
- 1445
- ]
- },
- {
- "teal": 1256,
- "source": 350,
- "pc": [
- 1446,
- 1447
- ]
- },
- {
- "teal": 1257,
- "source": 350,
- "pc": [
- 1448
- ]
- },
- {
- "teal": 1258,
- "source": 350,
- "pc": [
- 1449
- ]
- },
- {
- "teal": 1262,
- "source": 351,
- "pc": [
- 1450,
- 1451
- ]
- },
- {
- "teal": 1263,
- "source": 351,
- "pc": [
- 1452
- ]
- },
- {
- "teal": 1264,
- "source": 351,
- "pc": [
- 1453,
- 1454
- ]
- },
- {
- "teal": 1265,
- "source": 351,
- "pc": [
- 1455
- ]
- },
- {
- "teal": 1266,
- "source": 351,
- "pc": [
- 1456,
- 1457
- ]
- },
- {
- "teal": 1270,
- "source": 352,
- "pc": [
- 1458,
- 1459
- ]
- },
- {
- "teal": 1271,
- "source": 352,
- "pc": [
- 1460,
- 1461
- ]
- },
- {
- "teal": 1272,
- "source": 352,
- "pc": [
- 1462,
- 1463
- ]
- },
- {
- "teal": 1273,
- "source": 352,
- "pc": [
- 1464,
- 1465
- ]
- },
- {
- "teal": 1277,
- "source": 353,
- "pc": [
- 1466,
- 1467
- ]
- },
- {
- "teal": 1278,
- "source": 353,
- "pc": [
- 1468,
- 1469
- ]
- },
- {
- "teal": 1279,
- "source": 353,
- "pc": [
- 1470,
- 1471
- ]
- },
- {
- "teal": 1280,
- "source": 353,
- "pc": [
- 1472,
- 1473
- ]
- },
- {
- "teal": 1284,
- "source": 354,
- "pc": [
- 1474
- ]
- },
- {
- "teal": 1285,
- "source": 354,
- "pc": [
- 1475,
- 1476
- ]
- },
- {
- "teal": 1290,
- "source": 357,
- "pc": [
- 1477,
- 1478
- ]
- },
- {
- "teal": 1291,
- "source": 357,
- "pc": [
- 1479
- ]
- },
- {
- "teal": 1292,
- "source": 357,
- "pc": [
- 1480
- ]
- },
- {
- "teal": 1293,
- "source": 357,
- "pc": [
- 1481,
- 1482
- ]
- },
- {
- "teal": 1294,
- "source": 357,
- "pc": [
- 1483
- ]
- },
- {
- "teal": 1295,
- "source": 357,
- "pc": [
- 1484,
- 1485
- ]
- },
- {
- "teal": 1296,
- "source": 357,
- "pc": [
- 1486
- ]
- },
- {
- "teal": 1300,
- "source": 359,
- "pc": [
- 1487,
- 1488
- ]
- },
- {
- "teal": 1301,
- "source": 359,
- "pc": [
- 1489
- ]
- },
- {
- "teal": 1302,
- "source": 359,
- "pc": [
- 1490,
- 1491
- ]
- },
- {
- "teal": 1303,
- "source": 359,
- "pc": [
- 1492
- ]
- },
- {
- "teal": 1304,
- "source": 359,
- "pc": [
- 1493
- ]
- },
- {
- "teal": 1305,
- "source": 359,
- "pc": [
- 1494,
- 1495
- ]
- },
- {
- "teal": 1306,
- "source": 359,
- "pc": [
- 1496
- ]
- },
- {
- "teal": 1307,
- "source": 359,
- "pc": [
- 1497,
- 1498
- ]
- },
- {
- "teal": 1311,
- "source": 360,
- "pc": [
- 1499,
- 1500
- ]
- },
- {
- "teal": 1312,
- "source": 360,
- "pc": [
- 1501
- ]
- },
- {
- "teal": 1313,
- "source": 360,
- "pc": [
- 1502,
- 1503
- ]
- },
- {
- "teal": 1314,
- "source": 360,
- "pc": [
- 1504
- ]
- },
- {
- "teal": 1315,
- "source": 360,
- "pc": [
- 1505
- ]
- },
- {
- "teal": 1316,
- "source": 360,
- "pc": [
- 1506
- ]
- },
- {
- "teal": 1317,
- "source": 360,
- "pc": [
- 1507
- ]
- },
- {
- "teal": 1318,
- "source": 360,
- "pc": [
- 1508,
- 1509
- ]
- },
- {
- "teal": 1319,
- "source": 360,
- "pc": [
- 1510
- ]
- },
- {
- "teal": 1322,
- "source": 360,
- "errorMessage": "(amountToUnstake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits",
- "pc": [
- 1511
- ]
- },
- {
- "teal": 1323,
- "source": 360,
- "pc": [
- 1512,
- 1513
- ]
- },
- {
- "teal": 1324,
- "source": 360,
- "pc": [
- 1514
- ]
- },
- {
- "teal": 1325,
- "source": 360,
- "pc": [
- 1515
- ]
- },
- {
- "teal": 1326,
- "source": 360,
- "pc": [
- 1516
- ]
- },
- {
- "teal": 1327,
- "source": 360,
- "pc": [
- 1517
- ]
- },
- {
- "teal": 1328,
- "source": 360,
- "pc": [
- 1518,
- 1519
- ]
- },
- {
- "teal": 1329,
- "source": 360,
- "pc": [
- 1520
- ]
- },
- {
- "teal": 1330,
- "source": 360,
- "pc": [
- 1521
- ]
- },
- {
- "teal": 1331,
- "source": 360,
- "pc": [
- 1522
- ]
- },
- {
- "teal": 1332,
- "source": 360,
- "pc": [
- 1523,
- 1524
- ]
- },
- {
- "teal": 1336,
- "source": 361,
- "pc": [
- 1525,
- 1526
- ]
- },
- {
- "teal": 1337,
- "source": 361,
- "pc": [
- 1527
- ]
- },
- {
- "teal": 1338,
- "source": 361,
- "pc": [
- 1528
- ]
- },
- {
- "teal": 1339,
- "source": 361,
- "pc": [
- 1529,
- 1530
- ]
- },
- {
- "teal": 1340,
- "source": 361,
- "pc": [
- 1531
- ]
- },
- {
- "teal": 1341,
- "source": 361,
- "pc": [
- 1532
- ]
- },
- {
- "teal": 1342,
- "source": 361,
- "pc": [
- 1533
- ]
- },
- {
- "teal": 1343,
- "source": 361,
- "pc": [
- 1534,
- 1535
- ]
- },
- {
- "teal": 1344,
- "source": 361,
- "pc": [
- 1536
- ]
- },
- {
- "teal": 1347,
- "source": 361,
- "errorMessage": "this.stakeAccumulator.value - subtractAmount overflowed 128 bits",
- "pc": [
- 1537
- ]
- },
- {
- "teal": 1348,
- "source": 361,
- "pc": [
- 1538,
- 1539
- ]
- },
- {
- "teal": 1349,
- "source": 361,
- "pc": [
- 1540
- ]
- },
- {
- "teal": 1350,
- "source": 361,
- "pc": [
- 1541
- ]
- },
- {
- "teal": 1351,
- "source": 361,
- "pc": [
- 1542
- ]
- },
- {
- "teal": 1352,
- "source": 361,
- "pc": [
- 1543
- ]
- },
- {
- "teal": 1353,
- "source": 361,
- "pc": [
- 1544,
- 1545
- ]
- },
- {
- "teal": 1354,
- "source": 361,
- "pc": [
- 1546
- ]
- },
- {
- "teal": 1355,
- "source": 361,
- "pc": [
- 1547
- ]
- },
- {
- "teal": 1356,
- "source": 361,
- "pc": [
- 1548
- ]
- },
- {
- "teal": 1357,
- "source": 361,
- "pc": [
- 1549
- ]
- },
- {
- "teal": 1370,
- "source": 366,
- "pc": [
- 1550
- ]
- },
- {
- "teal": 1371,
- "source": 366,
- "pc": [
- 1551
- ]
- },
- {
- "teal": 1372,
- "source": 366,
- "pc": [
- 1552,
- 1553
- ]
- },
- {
- "teal": 1373,
- "source": 366,
- "pc": [
- 1554,
- 1555
- ]
- },
- {
- "teal": 1374,
- "source": 366,
- "pc": [
- 1556,
- 1557
- ]
- },
- {
- "teal": 1378,
- "source": 367,
- "pc": [
- 1558
- ]
- },
- {
- "teal": 1379,
- "source": 367,
- "pc": [
- 1559
- ]
- },
- {
- "teal": 1380,
- "source": 367,
- "pc": [
- 1560,
- 1561
- ]
- },
- {
- "teal": 1390,
- "source": 369,
- "pc": [
- 1562
- ]
- },
- {
- "teal": 1391,
- "source": 369,
- "pc": [
- 1563
- ]
- },
- {
- "teal": 1392,
- "source": 369,
- "pc": [
- 1564
- ]
- },
- {
- "teal": 1393,
- "source": 369,
- "pc": [
- 1565
- ]
- },
- {
- "teal": 1394,
- "source": 369,
- "pc": [
- 1566
- ]
- },
- {
- "teal": 1395,
- "source": 369,
- "pc": [
- 1567
- ]
- },
- {
- "teal": 1396,
- "source": 369,
- "pc": [
- 1568
- ]
- },
- {
- "teal": 1397,
- "source": 369,
- "pc": [
- 1569,
- 1570,
- 1571
- ]
- },
- {
- "teal": 1398,
- "source": 369,
- "pc": [
- 1572
- ]
- },
- {
- "teal": 1399,
- "source": 369,
- "pc": [
- 1573
- ]
- },
- {
- "teal": 1400,
- "source": 369,
- "pc": [
- 1574,
- 1575
- ]
- },
- {
- "teal": 1401,
- "source": 370,
- "pc": [
- 1576,
- 1577
- ]
- },
- {
- "teal": 1402,
- "source": 370,
- "pc": [
- 1578,
- 1579
- ]
- },
- {
- "teal": 1403,
- "source": 371,
- "pc": [
- 1580,
- 1581
- ]
- },
- {
- "teal": 1404,
- "source": 371,
- "pc": [
- 1582
- ]
- },
- {
- "teal": 1405,
- "source": 371,
- "pc": [
- 1583,
- 1584
- ]
- },
- {
- "teal": 1406,
- "source": 372,
- "pc": [
- 1585,
- 1586
- ]
- },
- {
- "teal": 1407,
- "source": 372,
- "pc": [
- 1587
- ]
- },
- {
- "teal": 1408,
- "source": 372,
- "pc": [
- 1588,
- 1589
- ]
- },
- {
- "teal": 1409,
- "source": 373,
- "pc": [
- 1590,
- 1591
- ]
- },
- {
- "teal": 1410,
- "source": 373,
- "pc": [
- 1592,
- 1593
- ]
- },
- {
- "teal": 1411,
- "source": 373,
- "pc": [
- 1594
- ]
- },
- {
- "teal": 1412,
- "source": 373,
- "pc": [
- 1595,
- 1596
- ]
- },
- {
- "teal": 1413,
- "source": 373,
- "pc": [
- 1597
- ]
- },
- {
- "teal": 1414,
- "source": 373,
- "pc": [
- 1598,
- 1599
- ]
- },
- {
- "teal": 1417,
- "source": 366,
- "pc": [
- 1600
- ]
- },
- {
- "teal": 1418,
- "source": 366,
- "pc": [
- 1601,
- 1602
- ]
- },
- {
- "teal": 1421,
- "source": 366,
- "pc": [
- 1603
- ]
- },
- {
- "teal": 1425,
- "source": 376,
- "pc": [
- 1604
- ]
- },
- {
- "teal": 1432,
- "source": 289,
- "pc": [
- 1605,
- 1606
- ]
- },
- {
- "teal": 1433,
- "source": 289,
- "pc": [
- 1607
- ]
- },
- {
- "teal": 1434,
- "source": 289,
- "pc": [
- 1608
- ]
- },
- {
- "teal": 1435,
- "source": 289,
- "pc": [
- 1609,
- 1610
- ]
- },
- {
- "teal": 1436,
- "source": 289,
- "pc": [
- 1611,
- 1612,
- 1613
- ]
- },
- {
- "teal": 1440,
- "source": 379,
- "errorMessage": "account not found",
- "pc": [
- 1614
- ]
- },
- {
- "teal": 1441,
- "source": 277,
- "pc": [
- 1615
- ]
- },
- {
- "teal": 1446,
- "source": 387,
- "pc": [
- 1616,
- 1617,
- 1618
- ]
- },
- {
- "teal": 1447,
- "source": 387,
- "pc": [
- 1619
- ]
- },
- {
- "teal": 1448,
- "source": 387,
- "pc": [
- 1620
- ]
- },
- {
- "teal": 1456,
- "source": 387,
- "pc": [
- 1621,
- 1622,
- 1623
- ]
- },
- {
- "teal": 1459,
- "source": 387,
- "pc": [
- 1624,
- 1625
- ]
- },
- {
- "teal": 1460,
- "source": 387,
- "pc": [
- 1626,
- 1627
- ]
- },
- {
- "teal": 1464,
- "source": 391,
- "pc": [
- 1628,
- 1629
- ]
- },
- {
- "teal": 1465,
- "source": 391,
- "pc": [
- 1630,
- 1631
- ]
- },
- {
- "teal": 1469,
- "source": 393,
- "pc": [
- 1632
- ]
- },
- {
- "teal": 1470,
- "source": 393,
- "pc": [
- 1633,
- 1634
- ]
- },
- {
- "teal": 1475,
- "source": 393,
- "pc": [
- 1635,
- 1636
- ]
- },
- {
- "teal": 1476,
- "source": 393,
- "pc": [
- 1637,
- 1638
- ]
- },
- {
- "teal": 1477,
- "source": 393,
- "pc": [
- 1639
- ]
- },
- {
- "teal": 1478,
- "source": 393,
- "pc": [
- 1640,
- 1641,
- 1642
- ]
- },
- {
- "teal": 1483,
- "source": 394,
- "pc": [
- 1643,
- 1644
- ]
- },
- {
- "teal": 1484,
- "source": 394,
- "pc": [
- 1645,
- 1646
- ]
- },
- {
- "teal": 1485,
- "source": 394,
- "pc": [
- 1647
- ]
- },
- {
- "teal": 1486,
- "source": 394,
- "pc": [
- 1648,
- 1649,
- 1650
- ]
- },
- {
- "teal": 1491,
- "source": 395,
- "pc": [
- 1651
- ]
- },
- {
- "teal": 1492,
- "source": 395,
- "pc": [
- 1652
- ]
- },
- {
- "teal": 1493,
- "source": 395,
- "pc": [
- 1653,
- 1654
- ]
- },
- {
- "teal": 1494,
- "source": 395,
- "pc": [
- 1655
- ]
- },
- {
- "teal": 1495,
- "source": 395,
- "pc": [
- 1656,
- 1657
- ]
- },
- {
- "teal": 1496,
- "source": 395,
- "pc": [
- 1658,
- 1659
- ]
- },
- {
- "teal": 1497,
- "source": 395,
- "pc": [
- 1660
- ]
- },
- {
- "teal": 1498,
- "source": 395,
- "pc": [
- 1661,
- 1662
- ]
- },
- {
- "teal": 1499,
- "source": 395,
- "pc": [
- 1663,
- 1664
- ]
- },
- {
- "teal": 1500,
- "source": 395,
- "pc": [
- 1665,
- 1666
- ]
- },
- {
- "teal": 1501,
- "source": 395,
- "pc": [
- 1667,
- 1668
- ]
- },
- {
- "teal": 1502,
- "source": 395,
- "pc": [
- 1669
- ]
- },
- {
- "teal": 1507,
- "source": 397,
- "pc": [
- 1670,
- 1671
- ]
- },
- {
- "teal": 1508,
- "source": 397,
- "pc": [
- 1672
- ]
- },
- {
- "teal": 1509,
- "source": 397,
- "pc": [
- 1673
- ]
- },
- {
- "teal": 1510,
- "source": 397,
- "pc": [
- 1674
- ]
- },
- {
- "teal": 1511,
- "source": 397,
- "pc": [
- 1675
- ]
- },
- {
- "teal": 1512,
- "source": 397,
- "pc": [
- 1676,
- 1677
- ]
- },
- {
- "teal": 1513,
- "source": 397,
- "pc": [
- 1678
- ]
- },
- {
- "teal": 1514,
- "source": 397,
- "pc": [
- 1679,
- 1680
- ]
- },
- {
- "teal": 1519,
- "source": 398,
- "pc": [
- 1681,
- 1682
- ]
- },
- {
- "teal": 1520,
- "source": 398,
- "pc": [
- 1683,
- 1684,
- 1685
- ]
- },
- {
- "teal": 1521,
- "source": 398,
- "pc": [
- 1686,
- 1687
- ]
- },
- {
- "teal": 1522,
- "source": 398,
- "pc": [
- 1688
- ]
- },
- {
- "teal": 1523,
- "source": 398,
- "pc": [
- 1689,
- 1690,
- 1691
- ]
- },
- {
- "teal": 1529,
- "source": 399,
- "pc": [
- 1692,
- 1693
- ]
- },
- {
- "teal": 1530,
- "source": 399,
- "pc": [
- 1694,
- 1695,
- 1696
- ]
- },
- {
- "teal": 1531,
- "source": 399,
- "pc": [
- 1697
- ]
- },
- {
- "teal": 1532,
- "source": 399,
- "pc": [
- 1698
- ]
- },
- {
- "teal": 1533,
- "source": 399,
- "pc": [
- 1699
- ]
- },
- {
- "teal": 1534,
- "source": 399,
- "pc": [
- 1700,
- 1701,
- 1702
- ]
- },
- {
- "teal": 1539,
- "source": 400,
- "pc": [
- 1703
- ]
- },
- {
- "teal": 1544,
- "source": 402,
- "pc": [
- 1704
- ]
- },
- {
- "teal": 1545,
- "source": 402,
- "pc": [
- 1705,
- 1706
- ]
- },
- {
- "teal": 1550,
- "source": 404,
- "pc": [
- 1707
- ]
- },
- {
- "teal": 1551,
- "source": 404,
- "pc": [
- 1708
- ]
- },
- {
- "teal": 1552,
- "source": 404,
- "pc": [
- 1709
- ]
- },
- {
- "teal": 1553,
- "source": 404,
- "pc": [
- 1710
- ]
- },
- {
- "teal": 1554,
- "source": 404,
- "pc": [
- 1711,
- 1712,
- 1713
- ]
- },
- {
- "teal": 1562,
- "source": 405,
- "pc": [
- 1714
- ]
- },
- {
- "teal": 1563,
- "source": 405,
- "pc": [
- 1715
- ]
- },
- {
- "teal": 1564,
- "source": 405,
- "pc": [
- 1716,
- 1717
- ]
- },
- {
- "teal": 1565,
- "source": 405,
- "pc": [
- 1718,
- 1719
- ]
- },
- {
- "teal": 1566,
- "source": 405,
- "pc": [
- 1720,
- 1721
- ]
- },
- {
- "teal": 1570,
- "source": 406,
- "pc": [
- 1722
- ]
- },
- {
- "teal": 1571,
- "source": 406,
- "pc": [
- 1723
- ]
- },
- {
- "teal": 1572,
- "source": 406,
- "pc": [
- 1724,
- 1725
- ]
- },
- {
- "teal": 1576,
- "source": 407,
- "pc": [
- 1726
- ]
- },
- {
- "teal": 1577,
- "source": 407,
- "pc": [
- 1727
- ]
- },
- {
- "teal": 1578,
- "source": 407,
- "pc": [
- 1728
- ]
- },
- {
- "teal": 1579,
- "source": 407,
- "pc": [
- 1729,
- 1730
- ]
- },
- {
- "teal": 1582,
- "source": 405,
- "pc": [
- 1731
- ]
- },
- {
- "teal": 1583,
- "source": 405,
- "pc": [
- 1732,
- 1733
- ]
- },
- {
- "teal": 1586,
- "source": 405,
- "pc": [
- 1734
- ]
- },
- {
- "teal": 1587,
- "source": 405,
- "pc": [
- 1735,
- 1736
- ]
- },
- {
- "teal": 1588,
- "source": 405,
- "pc": [
- 1737
- ]
- },
- {
- "teal": 1589,
- "source": 405,
- "pc": [
- 1738
- ]
- },
- {
- "teal": 1590,
- "source": 405,
- "pc": [
- 1739,
- 1740
- ]
- },
- {
- "teal": 1591,
- "source": 405,
- "pc": [
- 1741,
- 1742,
- 1743
- ]
- },
- {
- "teal": 1592,
- "source": 405,
- "pc": [
- 1744,
- 1745
- ]
- },
- {
- "teal": 1600,
- "source": 412,
- "pc": [
- 1746
- ]
- },
- {
- "teal": 1601,
- "source": 412,
- "pc": [
- 1747,
- 1748
- ]
- },
- {
- "teal": 1602,
- "source": 412,
- "pc": [
- 1749,
- 1750
- ]
- },
- {
- "teal": 1606,
- "source": 413,
- "pc": [
- 1751,
- 1752
- ]
- },
- {
- "teal": 1607,
- "source": 413,
- "pc": [
- 1753,
- 1754,
- 1755
- ]
- },
- {
- "teal": 1608,
- "source": 413,
- "pc": [
- 1756
- ]
- },
- {
- "teal": 1609,
- "source": 413,
- "pc": [
- 1757,
- 1758
- ]
- },
- {
- "teal": 1613,
- "source": 414,
- "pc": [
- 1759,
- 1760
- ]
- },
- {
- "teal": 1614,
- "source": 414,
- "pc": [
- 1761,
- 1762
- ]
- },
- {
- "teal": 1618,
- "source": 415,
- "pc": [
- 1763,
- 1764
- ]
- },
- {
- "teal": 1619,
- "source": 415,
- "pc": [
- 1765,
- 1766,
- 1767
- ]
- },
- {
- "teal": 1620,
- "source": 415,
- "pc": [
- 1768
- ]
- },
- {
- "teal": 1621,
- "source": 415,
- "pc": [
- 1769,
- 1770
- ]
- },
- {
- "teal": 1624,
- "source": 412,
- "pc": [
- 1771
- ]
- },
- {
- "teal": 1625,
- "source": 412,
- "pc": [
- 1772,
- 1773
- ]
- },
- {
- "teal": 1628,
- "source": 412,
- "pc": [
- 1774
- ]
- },
- {
- "teal": 1632,
- "source": 417,
- "pc": [
- 1775,
- 1776
- ]
- },
- {
- "teal": 1633,
- "source": 417,
- "pc": [
- 1777,
- 1778,
- 1779
- ]
- },
- {
- "teal": 1634,
- "source": 417,
- "pc": [
- 1780
- ]
- },
- {
- "teal": 1635,
- "source": 417,
- "pc": [
- 1781,
- 1782
- ]
- },
- {
- "teal": 1639,
- "source": 418,
- "pc": [
- 1783,
- 1784
- ]
- },
- {
- "teal": 1640,
- "source": 418,
- "pc": [
- 1785,
- 1786
- ]
- },
- {
- "teal": 1641,
- "source": 418,
- "pc": [
- 1787,
- 1788
- ]
- },
- {
- "teal": 1642,
- "source": 418,
- "pc": [
- 1789,
- 1790
- ]
- },
- {
- "teal": 1643,
- "source": 404,
- "pc": [
- 1791,
- 1792,
- 1793
- ]
- },
- {
- "teal": 1648,
- "source": 423,
- "pc": [
- 1794,
- 1795
- ]
- },
- {
- "teal": 1649,
- "source": 423,
- "pc": [
- 1796,
- 1797,
- 1798
- ]
- },
- {
- "teal": 1650,
- "source": 423,
- "pc": [
- 1799
- ]
- },
- {
- "teal": 1651,
- "source": 423,
- "pc": [
- 1800,
- 1801
- ]
- },
- {
- "teal": 1655,
- "source": 424,
- "pc": [
- 1802,
- 1803
- ]
- },
- {
- "teal": 1656,
- "source": 424,
- "pc": [
- 1804,
- 1805
- ]
- },
- {
- "teal": 1657,
- "source": 424,
- "pc": [
- 1806,
- 1807
- ]
- },
- {
- "teal": 1658,
- "source": 424,
- "pc": [
- 1808,
- 1809
- ]
- },
- {
- "teal": 1663,
- "source": 428,
- "pc": [
- 1810,
- 1811
- ]
- },
- {
- "teal": 1664,
- "source": 428,
- "pc": [
- 1812
- ]
- },
- {
- "teal": 1665,
- "source": 428,
- "pc": [
- 1813
- ]
- },
- {
- "teal": 1666,
- "source": 428,
- "pc": [
- 1814,
- 1815
- ]
- },
- {
- "teal": 1667,
- "source": 428,
- "pc": [
- 1816
- ]
- },
- {
- "teal": 1668,
- "source": 428,
- "pc": [
- 1817,
- 1818
- ]
- },
- {
- "teal": 1669,
- "source": 428,
- "pc": [
- 1819
- ]
- },
- {
- "teal": 1682,
- "source": 433,
- "pc": [
- 1820
- ]
- },
- {
- "teal": 1683,
- "source": 433,
- "pc": [
- 1821
- ]
- },
- {
- "teal": 1684,
- "source": 433,
- "pc": [
- 1822,
- 1823
- ]
- },
- {
- "teal": 1685,
- "source": 433,
- "pc": [
- 1824,
- 1825
- ]
- },
- {
- "teal": 1686,
- "source": 433,
- "pc": [
- 1826,
- 1827
- ]
- },
- {
- "teal": 1690,
- "source": 434,
- "pc": [
- 1828
- ]
- },
- {
- "teal": 1691,
- "source": 434,
- "pc": [
- 1829
- ]
- },
- {
- "teal": 1692,
- "source": 434,
- "pc": [
- 1830,
- 1831
- ]
- },
- {
- "teal": 1702,
- "source": 436,
- "pc": [
- 1832
- ]
- },
- {
- "teal": 1703,
- "source": 436,
- "pc": [
- 1833
- ]
- },
- {
- "teal": 1704,
- "source": 436,
- "pc": [
- 1834
- ]
- },
- {
- "teal": 1705,
- "source": 436,
- "pc": [
- 1835
- ]
- },
- {
- "teal": 1706,
- "source": 436,
- "pc": [
- 1836
- ]
- },
- {
- "teal": 1707,
- "source": 436,
- "pc": [
- 1837
- ]
- },
- {
- "teal": 1708,
- "source": 436,
- "pc": [
- 1838
- ]
- },
- {
- "teal": 1709,
- "source": 436,
- "pc": [
- 1839,
- 1840,
- 1841
- ]
- },
- {
- "teal": 1710,
- "source": 436,
- "pc": [
- 1842
- ]
- },
- {
- "teal": 1711,
- "source": 436,
- "pc": [
- 1843
- ]
- },
- {
- "teal": 1712,
- "source": 436,
- "pc": [
- 1844,
- 1845
- ]
- },
- {
- "teal": 1713,
- "source": 437,
- "pc": [
- 1846,
- 1847
- ]
- },
- {
- "teal": 1714,
- "source": 437,
- "pc": [
- 1848,
- 1849
- ]
- },
- {
- "teal": 1715,
- "source": 438,
- "pc": [
- 1850,
- 1851
- ]
- },
- {
- "teal": 1716,
- "source": 438,
- "pc": [
- 1852,
- 1853
- ]
- },
- {
- "teal": 1717,
- "source": 439,
- "pc": [
- 1854,
- 1855
- ]
- },
- {
- "teal": 1718,
- "source": 439,
- "pc": [
- 1856
- ]
- },
- {
- "teal": 1719,
- "source": 439,
- "pc": [
- 1857,
- 1858
- ]
- },
- {
- "teal": 1720,
- "source": 440,
- "pc": [
- 1859
- ]
- },
- {
- "teal": 1721,
- "source": 440,
- "pc": [
- 1860,
- 1861
- ]
- },
- {
- "teal": 1722,
- "source": 440,
- "pc": [
- 1862
- ]
- },
- {
- "teal": 1723,
- "source": 440,
- "pc": [
- 1863,
- 1864
- ]
- },
- {
- "teal": 1724,
- "source": 440,
- "pc": [
- 1865
- ]
- },
- {
- "teal": 1725,
- "source": 440,
- "pc": [
- 1866,
- 1867
- ]
- },
- {
- "teal": 1728,
- "source": 433,
- "pc": [
- 1868
- ]
- },
- {
- "teal": 1729,
- "source": 433,
- "pc": [
- 1869,
- 1870
- ]
- },
- {
- "teal": 1732,
- "source": 433,
- "pc": [
- 1871
- ]
- },
- {
- "teal": 1736,
- "source": 443,
- "pc": [
- 1872
- ]
- },
- {
- "teal": 1743,
- "source": 393,
- "pc": [
- 1873,
- 1874
- ]
- },
- {
- "teal": 1744,
- "source": 393,
- "pc": [
- 1875
- ]
- },
- {
- "teal": 1745,
- "source": 393,
- "pc": [
- 1876
- ]
- },
- {
- "teal": 1746,
- "source": 393,
- "pc": [
- 1877,
- 1878
- ]
- },
- {
- "teal": 1747,
- "source": 393,
- "pc": [
- 1879,
- 1880,
- 1881
- ]
- },
- {
- "teal": 1751,
- "source": 446,
- "errorMessage": "account not found",
- "pc": [
- 1882
- ]
- },
- {
- "teal": 1752,
- "source": 387,
- "pc": [
- 1883
- ]
- },
- {
- "teal": 1757,
- "source": 457,
- "pc": [
- 1884,
- 1885
- ]
- },
- {
- "teal": 1760,
- "source": 457,
- "pc": [
- 1886,
- 1887,
- 1888
- ]
- },
- {
- "teal": 1761,
- "source": 457,
- "pc": [
- 1889
- ]
- },
- {
- "teal": 1762,
- "source": 457,
- "pc": [
- 1890
- ]
- },
- {
- "teal": 1763,
- "source": 457,
- "pc": [
- 1891,
- 1892
- ]
- },
- {
- "teal": 1764,
- "source": 457,
- "pc": [
- 1893
- ]
- },
- {
- "teal": 1767,
- "source": 457,
- "errorMessage": "argument 0 (staker) for getStakerInfo must be a address",
- "pc": [
- 1894
- ]
- },
- {
- "teal": 1770,
- "source": 457,
- "pc": [
- 1895,
- 1896,
- 1897
- ]
- },
- {
- "teal": 1771,
- "source": 457,
- "pc": [
- 1898
- ]
- },
- {
- "teal": 1772,
- "source": 457,
- "pc": [
- 1899
- ]
- },
- {
- "teal": 1773,
- "source": 457,
- "pc": [
- 1900
- ]
- },
- {
- "teal": 1774,
- "source": 457,
- "pc": [
- 1901
- ]
- },
- {
- "teal": 1784,
- "source": 457,
- "pc": [
- 1902,
- 1903,
- 1904
- ]
- },
- {
- "teal": 1787,
- "source": 457,
- "pc": [
- 1905,
- 1906
- ]
- },
- {
- "teal": 1791,
- "source": 458,
- "pc": [
- 1907
- ]
- },
- {
- "teal": 1792,
- "source": 458,
- "pc": [
- 1908,
- 1909
- ]
- },
- {
- "teal": 1797,
- "source": 458,
- "pc": [
- 1910,
- 1911
- ]
- },
- {
- "teal": 1798,
- "source": 458,
- "pc": [
- 1912,
- 1913
- ]
- },
- {
- "teal": 1799,
- "source": 458,
- "pc": [
- 1914
- ]
- },
- {
- "teal": 1800,
- "source": 458,
- "pc": [
- 1915,
- 1916,
- 1917
- ]
- },
- {
- "teal": 1805,
- "source": 459,
- "pc": [
- 1918,
- 1919
- ]
- },
- {
- "teal": 1806,
- "source": 459,
- "pc": [
- 1920,
- 1921
- ]
- },
- {
- "teal": 1807,
- "source": 459,
- "pc": [
- 1922
- ]
- },
- {
- "teal": 1808,
- "source": 459,
- "pc": [
- 1923,
- 1924,
- 1925
- ]
- },
- {
- "teal": 1813,
- "source": 460,
- "pc": [
- 1926
- ]
- },
- {
- "teal": 1814,
- "source": 460,
- "pc": [
- 1927
- ]
- },
- {
- "teal": 1815,
- "source": 460,
- "pc": [
- 1928,
- 1929
- ]
- },
- {
- "teal": 1816,
- "source": 460,
- "pc": [
- 1930
- ]
- },
- {
- "teal": 1817,
- "source": 460,
- "pc": [
- 1931,
- 1932
- ]
- },
- {
- "teal": 1818,
- "source": 460,
- "pc": [
- 1933,
- 1934
- ]
- },
- {
- "teal": 1819,
- "source": 460,
- "pc": [
- 1935
- ]
- },
- {
- "teal": 1820,
- "source": 460,
- "pc": [
- 1936,
- 1937
- ]
- },
- {
- "teal": 1821,
- "source": 460,
- "pc": [
- 1938,
- 1939
- ]
- },
- {
- "teal": 1822,
- "source": 460,
- "pc": [
- 1940,
- 1941
- ]
- },
- {
- "teal": 1823,
- "source": 460,
- "pc": [
- 1942,
- 1943
- ]
- },
- {
- "teal": 1824,
- "source": 460,
- "pc": [
- 1944
- ]
- },
- {
- "teal": 1830,
- "source": 462,
- "pc": [
- 1945,
- 1946
- ]
- },
- {
- "teal": 1831,
- "source": 462,
- "pc": [
- 1947
- ]
- },
- {
- "teal": 1832,
- "source": 462,
- "pc": [
- 1948
- ]
- },
- {
- "teal": 1833,
- "source": 462,
- "pc": [
- 1949
- ]
- },
- {
- "teal": 1834,
- "source": 462,
- "pc": [
- 1950
- ]
- },
- {
- "teal": 1835,
- "source": 462,
- "pc": [
- 1951,
- 1952
- ]
- },
- {
- "teal": 1836,
- "source": 462,
- "pc": [
- 1953
- ]
- },
- {
- "teal": 1837,
- "source": 462,
- "pc": [
- 1954,
- 1955
- ]
- },
- {
- "teal": 1838,
- "source": 462,
- "pc": [
- 1956
- ]
- },
- {
- "teal": 1839,
- "source": 462,
- "pc": [
- 1957,
- 1958
- ]
- },
- {
- "teal": 1840,
- "source": 462,
- "pc": [
- 1959
- ]
- },
- {
- "teal": 1841,
- "source": 462,
- "pc": [
- 1960,
- 1961,
- 1962
- ]
- },
- {
- "teal": 1846,
- "source": 463,
- "pc": [
- 1963,
- 1964
- ]
- },
- {
- "teal": 1847,
- "source": 463,
- "pc": [
- 1965
- ]
- },
- {
- "teal": 1848,
- "source": 463,
- "pc": [
- 1966
- ]
- },
- {
- "teal": 1849,
- "source": 463,
- "pc": [
- 1967
- ]
- },
- {
- "teal": 1850,
- "source": 463,
- "pc": [
- 1968
- ]
- },
- {
- "teal": 1851,
- "source": 463,
- "pc": [
- 1969,
- 1970
- ]
- },
- {
- "teal": 1852,
- "source": 463,
- "pc": [
- 1971
- ]
- },
- {
- "teal": 1853,
- "source": 463,
- "pc": [
- 1972,
- 1973,
- 1974
- ]
- },
- {
- "teal": 1860,
- "source": 458,
- "pc": [
- 1975,
- 1976
- ]
- },
- {
- "teal": 1861,
- "source": 458,
- "pc": [
- 1977
- ]
- },
- {
- "teal": 1862,
- "source": 458,
- "pc": [
- 1978
- ]
- },
- {
- "teal": 1863,
- "source": 458,
- "pc": [
- 1979,
- 1980
- ]
- },
- {
- "teal": 1864,
- "source": 458,
- "pc": [
- 1981,
- 1982,
- 1983
- ]
- },
- {
- "teal": 1868,
- "source": 466,
- "errorMessage": "account not found",
- "pc": [
- 1984
- ]
- },
- {
- "teal": 1872,
- "source": 457,
- "pc": [
- 1985,
- 1986
- ]
- },
- {
- "teal": 1873,
- "source": 457,
- "pc": [
- 1987
- ]
- },
- {
- "teal": 1878,
- "source": 479,
- "pc": [
- 1988,
- 1989,
- 1990
- ]
- },
- {
- "teal": 1879,
- "source": 479,
- "pc": [
- 1991
- ]
- },
- {
- "teal": 1882,
- "source": 479,
- "pc": [
- 1992,
- 1993,
- 1994
- ]
- },
- {
- "teal": 1883,
- "source": 479,
- "pc": [
- 1995
- ]
- },
- {
- "teal": 1886,
- "source": 479,
- "pc": [
- 1996,
- 1997,
- 1998
- ]
- },
- {
- "teal": 1887,
- "source": 479,
- "pc": [
- 1999
- ]
- },
- {
- "teal": 1888,
- "source": 479,
- "pc": [
- 2000
- ]
- },
- {
- "teal": 1889,
- "source": 479,
- "pc": [
- 2001,
- 2002
- ]
- },
- {
- "teal": 1890,
- "source": 479,
- "pc": [
- 2003
- ]
- },
- {
- "teal": 1893,
- "source": 479,
- "errorMessage": "argument 2 (staker) for payTokenReward must be a address",
- "pc": [
- 2004
- ]
- },
- {
- "teal": 1896,
- "source": 479,
- "pc": [
- 2005,
- 2006,
- 2007
- ]
- },
- {
- "teal": 1897,
- "source": 479,
- "pc": [
- 2008
- ]
- },
- {
- "teal": 1898,
- "source": 479,
- "pc": [
- 2009
- ]
- },
- {
- "teal": 1911,
- "source": 479,
- "pc": [
- 2010,
- 2011,
- 2012
- ]
- },
- {
- "teal": 1918,
- "source": 482,
- "pc": [
- 2013,
- 2014
- ]
- },
- {
- "teal": 1919,
- "source": 482,
- "pc": [
- 2015
- ]
- },
- {
- "teal": 1920,
- "source": 482,
- "pc": [
- 2016
- ]
- },
- {
- "teal": 1921,
- "source": 482,
- "pc": [
- 2017,
- 2018
- ]
- },
- {
- "teal": 1922,
- "source": 482,
- "pc": [
- 2019
- ]
- },
- {
- "teal": 1923,
- "source": 482,
- "pc": [
- 2020
- ]
- },
- {
- "teal": 1926,
- "source": 481,
- "errorMessage": "this can only be called via the validator contract",
- "pc": [
- 2021
- ]
- },
- {
- "teal": 1930,
- "source": 485,
- "pc": [
- 2022
- ]
- },
- {
- "teal": 1931,
- "source": 485,
- "pc": [
- 2023
- ]
- },
- {
- "teal": 1932,
- "source": 485,
- "pc": [
- 2024
- ]
- },
- {
- "teal": 1933,
- "source": 485,
- "pc": [
- 2025
- ]
- },
- {
- "teal": 1936,
- "source": 485,
- "errorMessage": "must be pool 1 in order to be called to pay out token rewards",
- "pc": [
- 2026
- ]
- },
- {
- "teal": 1940,
- "source": 486,
- "pc": [
- 2027,
- 2028
- ]
- },
- {
- "teal": 1941,
- "source": 486,
- "pc": [
- 2029
- ]
- },
- {
- "teal": 1942,
- "source": 486,
- "pc": [
- 2030
- ]
- },
- {
- "teal": 1945,
- "source": 486,
- "errorMessage": "can only claim token rewards from validator that has them",
- "pc": [
- 2031
- ]
- },
- {
- "teal": 1953,
- "source": 489,
- "pc": [
- 2032
- ]
- },
- {
- "teal": 1954,
- "source": 489,
- "pc": [
- 2033,
- 2034
- ]
- },
- {
- "teal": 1955,
- "source": 489,
- "pc": [
- 2035,
- 2036
- ]
- },
- {
- "teal": 1959,
- "source": 490,
- "pc": [
- 2037,
- 2038
- ]
- },
- {
- "teal": 1960,
- "source": 490,
- "pc": [
- 2039,
- 2040
- ]
- },
- {
- "teal": 1964,
- "source": 491,
- "pc": [
- 2041,
- 2042
- ]
- },
- {
- "teal": 1965,
- "source": 491,
- "pc": [
- 2043,
- 2044
- ]
- },
- {
- "teal": 1969,
- "source": 492,
- "pc": [
- 2045,
- 2046
- ]
- },
- {
- "teal": 1970,
- "source": 492,
- "pc": [
- 2047,
- 2048
- ]
- },
- {
- "teal": 1973,
- "source": 489,
- "pc": [
- 2049
- ]
- },
- {
- "teal": 1974,
- "source": 489,
- "pc": [
- 2050,
- 2051
- ]
- },
- {
- "teal": 1977,
- "source": 489,
- "pc": [
- 2052
- ]
- },
- {
- "teal": 1978,
- "source": 479,
- "pc": [
- 2053
- ]
- },
- {
- "teal": 1983,
- "source": 505,
- "pc": [
- 2054,
- 2055,
- 2056
- ]
- },
- {
- "teal": 1984,
- "source": 505,
- "pc": [
- 2057,
- 2058,
- 2059
- ]
- },
- {
- "teal": 1987,
- "source": 505,
- "pc": [
- 2060,
- 2061,
- 2062
- ]
- },
- {
- "teal": 1988,
- "source": 505,
- "pc": [
- 2063
- ]
- },
- {
- "teal": 1989,
- "source": 505,
- "pc": [
- 2064
- ]
- },
- {
- "teal": 2001,
- "source": 505,
- "pc": [
- 2065,
- 2066,
- 2067
- ]
- },
- {
- "teal": 2005,
- "source": 506,
- "pc": [
- 2068,
- 2069,
- 2070
- ]
- },
- {
- "teal": 2008,
- "source": 506,
- "errorMessage": "can only be called by owner or manager of validator",
- "pc": [
- 2071
- ]
- },
- {
- "teal": 2012,
- "source": 507,
- "pc": [
- 2072,
- 2073,
- 2074,
- 2075,
- 2076,
- 2077,
- 2078,
- 2079,
- 2080,
- 2081
- ]
- },
- {
- "teal": 2013,
- "source": 507,
- "pc": [
- 2082,
- 2083
- ]
- },
- {
- "teal": 2014,
- "source": 507,
- "pc": [
- 2084
- ]
- },
- {
- "teal": 2015,
- "source": 505,
- "pc": [
- 2085
- ]
- },
- {
- "teal": 2020,
- "source": 518,
- "pc": [
- 2086,
- 2087,
- 2088
- ]
- },
- {
- "teal": 2021,
- "source": 518,
- "pc": [
- 2089
- ]
- },
- {
- "teal": 2022,
- "source": 518,
- "pc": [
- 2090
- ]
- },
- {
- "teal": 2033,
- "source": 518,
- "pc": [
- 2091,
- 2092,
- 2093
- ]
- },
- {
- "teal": 2036,
- "source": 518,
- "pc": [
- 2094,
- 2095
- ]
- },
- {
- "teal": 2037,
- "source": 518,
- "pc": [
- 2096,
- 2097
- ]
- },
- {
- "teal": 2044,
- "source": 520,
- "pc": [
- 2098
- ]
- },
- {
- "teal": 2045,
- "source": 520,
- "pc": [
- 2099
- ]
- },
- {
- "teal": 2046,
- "source": 520,
- "pc": [
- 2100,
- 2101
- ]
- },
- {
- "teal": 2047,
- "source": 520,
- "pc": [
- 2102,
- 2103
- ]
- },
- {
- "teal": 2048,
- "source": 520,
- "pc": [
- 2104,
- 2105
- ]
- },
- {
- "teal": 2052,
- "source": 521,
- "pc": [
- 2106
- ]
- },
- {
- "teal": 2053,
- "source": 521,
- "pc": [
- 2107
- ]
- },
- {
- "teal": 2054,
- "source": 521,
- "pc": [
- 2108,
- 2109
- ]
- },
- {
- "teal": 2058,
- "source": 522,
- "pc": [
- 2110
- ]
- },
- {
- "teal": 2059,
- "source": 522,
- "pc": [
- 2111
- ]
- },
- {
- "teal": 2060,
- "source": 522,
- "pc": [
- 2112
- ]
- },
- {
- "teal": 2061,
- "source": 522,
- "pc": [
- 2113,
- 2114
- ]
- },
- {
- "teal": 2064,
- "source": 520,
- "pc": [
- 2115
- ]
- },
- {
- "teal": 2065,
- "source": 520,
- "pc": [
- 2116,
- 2117
- ]
- },
- {
- "teal": 2068,
- "source": 520,
- "pc": [
- 2118
- ]
- },
- {
- "teal": 2069,
- "source": 520,
- "pc": [
- 2119,
- 2120
- ]
- },
- {
- "teal": 2070,
- "source": 520,
- "pc": [
- 2121
- ]
- },
- {
- "teal": 2071,
- "source": 520,
- "pc": [
- 2122
- ]
- },
- {
- "teal": 2072,
- "source": 520,
- "pc": [
- 2123,
- 2124
- ]
- },
- {
- "teal": 2073,
- "source": 520,
- "pc": [
- 2125,
- 2126,
- 2127
- ]
- },
- {
- "teal": 2074,
- "source": 520,
- "pc": [
- 2128,
- 2129
- ]
- },
- {
- "teal": 2078,
- "source": 529,
- "pc": [
- 2130,
- 2131
- ]
- },
- {
- "teal": 2079,
- "source": 529,
- "pc": [
- 2132,
- 2133,
- 2134
- ]
- },
- {
- "teal": 2080,
- "source": 529,
- "pc": [
- 2135
- ]
- },
- {
- "teal": 2081,
- "source": 529,
- "pc": [
- 2136,
- 2137
- ]
- },
- {
- "teal": 2085,
- "source": 530,
- "pc": [
- 2138,
- 2139
- ]
- },
- {
- "teal": 2086,
- "source": 530,
- "pc": [
- 2140,
- 2141
- ]
- },
- {
- "teal": 2090,
- "source": 531,
- "pc": [
- 2142,
- 2143
- ]
- },
- {
- "teal": 2091,
- "source": 531,
- "pc": [
- 2144,
- 2145
- ]
- },
- {
- "teal": 2092,
- "source": 531,
- "pc": [
- 2146,
- 2147
- ]
- },
- {
- "teal": 2093,
- "source": 531,
- "pc": [
- 2148
- ]
- },
- {
- "teal": 2094,
- "source": 531,
- "pc": [
- 2149
- ]
- },
- {
- "teal": 2095,
- "source": 531,
- "pc": [
- 2150,
- 2151
- ]
- },
- {
- "teal": 2100,
- "source": 534,
- "pc": [
- 2152,
- 2153,
- 2154
- ]
- },
- {
- "teal": 2101,
- "source": 534,
- "pc": [
- 2155,
- 2156
- ]
- },
- {
- "teal": 2102,
- "source": 534,
- "pc": [
- 2157
- ]
- },
- {
- "teal": 2103,
- "source": 534,
- "pc": [
- 2158
- ]
- },
- {
- "teal": 2104,
- "source": 534,
- "pc": [
- 2159
- ]
- },
- {
- "teal": 2105,
- "source": 534,
- "pc": [
- 2160,
- 2161,
- 2162
- ]
- },
- {
- "teal": 2110,
- "source": 535,
- "pc": [
- 2163,
- 2164
- ]
- },
- {
- "teal": 2111,
- "source": 535,
- "pc": [
- 2165
- ]
- },
- {
- "teal": 2112,
- "source": 535,
- "pc": [
- 2166,
- 2167
- ]
- },
- {
- "teal": 2113,
- "source": 535,
- "pc": [
- 2168
- ]
- },
- {
- "teal": 2114,
- "source": 535,
- "pc": [
- 2169,
- 2170
- ]
- },
- {
- "teal": 2115,
- "source": 535,
- "pc": [
- 2171
- ]
- },
- {
- "teal": 2116,
- "source": 535,
- "pc": [
- 2172
- ]
- },
- {
- "teal": 2117,
- "source": 535,
- "pc": [
- 2173,
- 2174
- ]
- },
- {
- "teal": 2121,
- "source": 539,
- "pc": [
- 2175,
- 2176
- ]
- },
- {
- "teal": 2122,
- "source": 539,
- "pc": [
- 2177,
- 2178
- ]
- },
- {
- "teal": 2123,
- "source": 539,
- "pc": [
- 2179
- ]
- },
- {
- "teal": 2126,
- "source": 539,
- "errorMessage": "can't call epochBalanceUpdate in same epoch as prior call",
- "pc": [
- 2180
- ]
- },
- {
- "teal": 2131,
- "source": 542,
- "pc": [
- 2181,
- 2182,
- 2183
- ]
- },
- {
- "teal": 2135,
- "source": 545,
- "pc": [
- 2184,
- 2185
- ]
- },
- {
- "teal": 2136,
- "source": 545,
- "pc": [
- 2186,
- 2187
- ]
- },
- {
- "teal": 2137,
- "source": 545,
- "pc": [
- 2188
- ]
- },
- {
- "teal": 2141,
- "source": 546,
- "pc": [
- 2189,
- 2190
- ]
- },
- {
- "teal": 2142,
- "source": 546,
- "pc": [
- 2191
- ]
- },
- {
- "teal": 2143,
- "source": 546,
- "pc": [
- 2192
- ]
- },
- {
- "teal": 2144,
- "source": 546,
- "pc": [
- 2193
- ]
- },
- {
- "teal": 2145,
- "source": 546,
- "pc": [
- 2194,
- 2195
- ]
- },
- {
- "teal": 2146,
- "source": 546,
- "pc": [
- 2196
- ]
- },
- {
- "teal": 2147,
- "source": 546,
- "pc": [
- 2197
- ]
- },
- {
- "teal": 2151,
- "source": 551,
- "pc": [
- 2198,
- 2199
- ]
- },
- {
- "teal": 2152,
- "source": 551,
- "pc": [
- 2200,
- 2201,
- 2202
- ]
- },
- {
- "teal": 2153,
- "source": 551,
- "pc": [
- 2203
- ]
- },
- {
- "teal": 2154,
- "source": 551,
- "pc": [
- 2204
- ]
- },
- {
- "teal": 2155,
- "source": 551,
- "pc": [
- 2205
- ]
- },
- {
- "teal": 2156,
- "source": 551,
- "pc": [
- 2206,
- 2207
- ]
- },
- {
- "teal": 2160,
- "source": 552,
- "pc": [
- 2208,
- 2209,
- 2210
- ]
- },
- {
- "teal": 2161,
- "source": 552,
- "pc": [
- 2211,
- 2212
- ]
- },
- {
- "teal": 2165,
- "source": 553,
- "pc": [
- 2213,
- 2214
- ]
- },
- {
- "teal": 2166,
- "source": 553,
- "pc": [
- 2215,
- 2216
- ]
- },
- {
- "teal": 2171,
- "source": 558,
- "pc": [
- 2217,
- 2218
- ]
- },
- {
- "teal": 2172,
- "source": 558,
- "pc": [
- 2219,
- 2220,
- 2221
- ]
- },
- {
- "teal": 2178,
- "source": 559,
- "pc": [
- 2222
- ]
- },
- {
- "teal": 2179,
- "source": 559,
- "pc": [
- 2223
- ]
- },
- {
- "teal": 2180,
- "source": 559,
- "pc": [
- 2224
- ]
- },
- {
- "teal": 2181,
- "source": 559,
- "pc": [
- 2225
- ]
- },
- {
- "teal": 2182,
- "source": 559,
- "pc": [
- 2226,
- 2227,
- 2228
- ]
- },
- {
- "teal": 2190,
- "source": 561,
- "pc": [
- 2229
- ]
- },
- {
- "teal": 2191,
- "source": 561,
- "pc": [
- 2230
- ]
- },
- {
- "teal": 2192,
- "source": 561,
- "pc": [
- 2231,
- 2232
- ]
- },
- {
- "teal": 2193,
- "source": 561,
- "pc": [
- 2233,
- 2234
- ]
- },
- {
- "teal": 2194,
- "source": 561,
- "pc": [
- 2235,
- 2236
- ]
- },
- {
- "teal": 2198,
- "source": 562,
- "pc": [
- 2237
- ]
- },
- {
- "teal": 2199,
- "source": 562,
- "pc": [
- 2238
- ]
- },
- {
- "teal": 2200,
- "source": 562,
- "pc": [
- 2239,
- 2240
- ]
- },
- {
- "teal": 2204,
- "source": 563,
- "pc": [
- 2241
- ]
- },
- {
- "teal": 2205,
- "source": 563,
- "pc": [
- 2242
- ]
- },
- {
- "teal": 2206,
- "source": 563,
- "pc": [
- 2243
- ]
- },
- {
- "teal": 2207,
- "source": 563,
- "pc": [
- 2244,
- 2245
- ]
- },
- {
- "teal": 2208,
- "source": 563,
- "pc": [
- 2246,
- 2247,
- 2248,
- 2249,
- 2250,
- 2251,
- 2252,
- 2253,
- 2254,
- 2255
- ]
- },
- {
- "teal": 2209,
- "source": 563,
- "pc": [
- 2256,
- 2257
- ]
- },
- {
- "teal": 2212,
- "source": 561,
- "pc": [
- 2258
- ]
- },
- {
- "teal": 2213,
- "source": 561,
- "pc": [
- 2259,
- 2260
- ]
- },
- {
- "teal": 2216,
- "source": 561,
- "pc": [
- 2261
- ]
- },
- {
- "teal": 2217,
- "source": 561,
- "pc": [
- 2262,
- 2263
- ]
- },
- {
- "teal": 2218,
- "source": 561,
- "pc": [
- 2264
- ]
- },
- {
- "teal": 2219,
- "source": 561,
- "pc": [
- 2265
- ]
- },
- {
- "teal": 2220,
- "source": 561,
- "pc": [
- 2266,
- 2267
- ]
- },
- {
- "teal": 2221,
- "source": 561,
- "pc": [
- 2268,
- 2269,
- 2270
- ]
- },
- {
- "teal": 2222,
- "source": 561,
- "pc": [
- 2271
- ]
- },
- {
- "teal": 2223,
- "source": 561,
- "pc": [
- 2272,
- 2273
- ]
- },
- {
- "teal": 2227,
- "source": 565,
- "pc": [
- 2274,
- 2275
- ]
- },
- {
- "teal": 2228,
- "source": 565,
- "pc": [
- 2276,
- 2277
- ]
- },
- {
- "teal": 2229,
- "source": 565,
- "pc": [
- 2278
- ]
- },
- {
- "teal": 2230,
- "source": 565,
- "pc": [
- 2279,
- 2280
- ]
- },
- {
- "teal": 2236,
- "source": 570,
- "pc": [
- 2281
- ]
- },
- {
- "teal": 2237,
- "source": 570,
- "pc": [
- 2282
- ]
- },
- {
- "teal": 2238,
- "source": 570,
- "pc": [
- 2283
- ]
- },
- {
- "teal": 2239,
- "source": 570,
- "pc": [
- 2284
- ]
- },
- {
- "teal": 2240,
- "source": 570,
- "pc": [
- 2285,
- 2286,
- 2287
- ]
- },
- {
- "teal": 2248,
- "source": 571,
- "pc": [
- 2288
- ]
- },
- {
- "teal": 2249,
- "source": 571,
- "pc": [
- 2289
- ]
- },
- {
- "teal": 2250,
- "source": 571,
- "pc": [
- 2290,
- 2291
- ]
- },
- {
- "teal": 2251,
- "source": 571,
- "pc": [
- 2292,
- 2293
- ]
- },
- {
- "teal": 2252,
- "source": 571,
- "pc": [
- 2294,
- 2295
- ]
- },
- {
- "teal": 2256,
- "source": 572,
- "pc": [
- 2296
- ]
- },
- {
- "teal": 2257,
- "source": 572,
- "pc": [
- 2297
- ]
- },
- {
- "teal": 2258,
- "source": 572,
- "pc": [
- 2298,
- 2299
- ]
- },
- {
- "teal": 2262,
- "source": 573,
- "pc": [
- 2300
- ]
- },
- {
- "teal": 2263,
- "source": 573,
- "pc": [
- 2301
- ]
- },
- {
- "teal": 2264,
- "source": 573,
- "pc": [
- 2302
- ]
- },
- {
- "teal": 2265,
- "source": 573,
- "pc": [
- 2303,
- 2304
- ]
- },
- {
- "teal": 2268,
- "source": 571,
- "pc": [
- 2305
- ]
- },
- {
- "teal": 2269,
- "source": 571,
- "pc": [
- 2306,
- 2307
- ]
- },
- {
- "teal": 2272,
- "source": 571,
- "pc": [
- 2308
- ]
- },
- {
- "teal": 2273,
- "source": 571,
- "pc": [
- 2309,
- 2310
- ]
- },
- {
- "teal": 2274,
- "source": 571,
- "pc": [
- 2311
- ]
- },
- {
- "teal": 2275,
- "source": 571,
- "pc": [
- 2312
- ]
- },
- {
- "teal": 2276,
- "source": 571,
- "pc": [
- 2313,
- 2314
- ]
- },
- {
- "teal": 2277,
- "source": 571,
- "pc": [
- 2315,
- 2316,
- 2317
- ]
- },
- {
- "teal": 2278,
- "source": 571,
- "pc": [
- 2318,
- 2319
- ]
- },
- {
- "teal": 2279,
- "source": 570,
- "pc": [
- 2320,
- 2321,
- 2322
- ]
- },
- {
- "teal": 2287,
- "source": 577,
- "pc": [
- 2323
- ]
- },
- {
- "teal": 2288,
- "source": 577,
- "pc": [
- 2324
- ]
- },
- {
- "teal": 2289,
- "source": 577,
- "pc": [
- 2325,
- 2326
- ]
- },
- {
- "teal": 2290,
- "source": 577,
- "pc": [
- 2327,
- 2328
- ]
- },
- {
- "teal": 2291,
- "source": 577,
- "pc": [
- 2329,
- 2330
- ]
- },
- {
- "teal": 2295,
- "source": 578,
- "pc": [
- 2331,
- 2332
- ]
- },
- {
- "teal": 2296,
- "source": 578,
- "pc": [
- 2333,
- 2334
- ]
- },
- {
- "teal": 2300,
- "source": 579,
- "pc": [
- 2335
- ]
- },
- {
- "teal": 2301,
- "source": 579,
- "pc": [
- 2336
- ]
- },
- {
- "teal": 2302,
- "source": 579,
- "pc": [
- 2337
- ]
- },
- {
- "teal": 2303,
- "source": 579,
- "pc": [
- 2338
- ]
- },
- {
- "teal": 2304,
- "source": 579,
- "pc": [
- 2339
- ]
- },
- {
- "teal": 2305,
- "source": 579,
- "pc": [
- 2340
- ]
- },
- {
- "teal": 2306,
- "source": 579,
- "pc": [
- 2341
- ]
- },
- {
- "teal": 2307,
- "source": 579,
- "pc": [
- 2342,
- 2343,
- 2344
- ]
- },
- {
- "teal": 2308,
- "source": 579,
- "pc": [
- 2345
- ]
- },
- {
- "teal": 2309,
- "source": 579,
- "pc": [
- 2346
- ]
- },
- {
- "teal": 2310,
- "source": 579,
- "pc": [
- 2347,
- 2348
- ]
- },
- {
- "teal": 2313,
- "source": 577,
- "pc": [
- 2349
- ]
- },
- {
- "teal": 2314,
- "source": 577,
- "pc": [
- 2350,
- 2351
- ]
- },
- {
- "teal": 2317,
- "source": 577,
- "pc": [
- 2352
- ]
- },
- {
- "teal": 2318,
- "source": 577,
- "pc": [
- 2353,
- 2354
- ]
- },
- {
- "teal": 2319,
- "source": 577,
- "pc": [
- 2355
- ]
- },
- {
- "teal": 2320,
- "source": 577,
- "pc": [
- 2356
- ]
- },
- {
- "teal": 2321,
- "source": 577,
- "pc": [
- 2357,
- 2358
- ]
- },
- {
- "teal": 2322,
- "source": 577,
- "pc": [
- 2359,
- 2360,
- 2361
- ]
- },
- {
- "teal": 2323,
- "source": 577,
- "pc": [
- 2362,
- 2363
- ]
- },
- {
- "teal": 2333,
- "source": 586,
- "pc": [
- 2364
- ]
- },
- {
- "teal": 2334,
- "source": 586,
- "pc": [
- 2365
- ]
- },
- {
- "teal": 2335,
- "source": 586,
- "pc": [
- 2366,
- 2367
- ]
- },
- {
- "teal": 2336,
- "source": 586,
- "pc": [
- 2368,
- 2369,
- 2370,
- 2371,
- 2372,
- 2373
- ]
- },
- {
- "teal": 2337,
- "source": 586,
- "pc": [
- 2374,
- 2375
- ]
- },
- {
- "teal": 2341,
- "source": 587,
- "pc": [
- 2376
- ]
- },
- {
- "teal": 2342,
- "source": 587,
- "pc": [
- 2377
- ]
- },
- {
- "teal": 2343,
- "source": 587,
- "pc": [
- 2378,
- 2379
- ]
- },
- {
- "teal": 2347,
- "source": 588,
- "pc": [
- 2380
- ]
- },
- {
- "teal": 2348,
- "source": 588,
- "pc": [
- 2381
- ]
- },
- {
- "teal": 2349,
- "source": 588,
- "pc": [
- 2382
- ]
- },
- {
- "teal": 2350,
- "source": 588,
- "pc": [
- 2383,
- 2384
- ]
- },
- {
- "teal": 2353,
- "source": 586,
- "pc": [
- 2385
- ]
- },
- {
- "teal": 2354,
- "source": 586,
- "pc": [
- 2386,
- 2387
- ]
- },
- {
- "teal": 2357,
- "source": 586,
- "pc": [
- 2388
- ]
- },
- {
- "teal": 2358,
- "source": 586,
- "pc": [
- 2389,
- 2390
- ]
- },
- {
- "teal": 2359,
- "source": 586,
- "pc": [
- 2391
- ]
- },
- {
- "teal": 2360,
- "source": 586,
- "pc": [
- 2392
- ]
- },
- {
- "teal": 2361,
- "source": 586,
- "pc": [
- 2393,
- 2394
- ]
- },
- {
- "teal": 2362,
- "source": 586,
- "pc": [
- 2395,
- 2396,
- 2397
- ]
- },
- {
- "teal": 2363,
- "source": 586,
- "pc": [
- 2398,
- 2399
- ]
- },
- {
- "teal": 2367,
- "source": 590,
- "pc": [
- 2400,
- 2401
- ]
- },
- {
- "teal": 2368,
- "source": 590,
- "pc": [
- 2402,
- 2403,
- 2404
- ]
- },
- {
- "teal": 2369,
- "source": 590,
- "pc": [
- 2405
- ]
- },
- {
- "teal": 2370,
- "source": 590,
- "pc": [
- 2406,
- 2407
- ]
- },
- {
- "teal": 2374,
- "source": 596,
- "pc": [
- 2408,
- 2409
- ]
- },
- {
- "teal": 2375,
- "source": 596,
- "pc": [
- 2410,
- 2411
- ]
- },
- {
- "teal": 2376,
- "source": 596,
- "pc": [
- 2412
- ]
- },
- {
- "teal": 2377,
- "source": 596,
- "pc": [
- 2413,
- 2414
- ]
- },
- {
- "teal": 2378,
- "source": 596,
- "pc": [
- 2415
- ]
- },
- {
- "teal": 2379,
- "source": 596,
- "pc": [
- 2416
- ]
- },
- {
- "teal": 2380,
- "source": 596,
- "pc": [
- 2417,
- 2418
- ]
- },
- {
- "teal": 2381,
- "source": 596,
- "pc": [
- 2419,
- 2420
- ]
- },
- {
- "teal": 2382,
- "source": 596,
- "pc": [
- 2421
- ]
- },
- {
- "teal": 2383,
- "source": 596,
- "pc": [
- 2422
- ]
- },
- {
- "teal": 2384,
- "source": 596,
- "pc": [
- 2423,
- 2424
- ]
- },
- {
- "teal": 2388,
- "source": 597,
- "pc": [
- 2425
- ]
- },
- {
- "teal": 2389,
- "source": 597,
- "pc": [
- 2426,
- 2427
- ]
- },
- {
- "teal": 2393,
- "source": 598,
- "pc": [
- 2428,
- 2429,
- 2430
- ]
- },
- {
- "teal": 2394,
- "source": 598,
- "pc": [
- 2431,
- 2432
- ]
- },
- {
- "teal": 2399,
- "source": 606,
- "pc": [
- 2433,
- 2434
- ]
- },
- {
- "teal": 2400,
- "source": 606,
- "pc": [
- 2435,
- 2436,
- 2437
- ]
- },
- {
- "teal": 2401,
- "source": 606,
- "pc": [
- 2438
- ]
- },
- {
- "teal": 2402,
- "source": 606,
- "pc": [
- 2439,
- 2440
- ]
- },
- {
- "teal": 2403,
- "source": 606,
- "pc": [
- 2441
- ]
- },
- {
- "teal": 2404,
- "source": 606,
- "pc": [
- 2442,
- 2443,
- 2444
- ]
- },
- {
- "teal": 2409,
- "source": 607,
- "pc": [
- 2445
- ]
- },
- {
- "teal": 2410,
- "source": 607,
- "pc": [
- 2446,
- 2447
- ]
- },
- {
- "teal": 2415,
- "source": 613,
- "pc": [
- 2448
- ]
- },
- {
- "teal": 2416,
- "source": 613,
- "pc": [
- 2449,
- 2450
- ]
- },
- {
- "teal": 2420,
- "source": 614,
- "pc": [
- 2451
- ]
- },
- {
- "teal": 2421,
- "source": 614,
- "pc": [
- 2452,
- 2453
- ]
- },
- {
- "teal": 2425,
- "source": 615,
- "pc": [
- 2454
- ]
- },
- {
- "teal": 2426,
- "source": 615,
- "pc": [
- 2455,
- 2456
- ]
- },
- {
- "teal": 2430,
- "source": 616,
- "pc": [
- 2457
- ]
- },
- {
- "teal": 2431,
- "source": 616,
- "pc": [
- 2458,
- 2459
- ]
- },
- {
- "teal": 2436,
- "source": 617,
- "pc": [
- 2460,
- 2461
- ]
- },
- {
- "teal": 2437,
- "source": 617,
- "pc": [
- 2462,
- 2463,
- 2464
- ]
- },
- {
- "teal": 2443,
- "source": 619,
- "pc": [
- 2465,
- 2466
- ]
- },
- {
- "teal": 2444,
- "source": 619,
- "pc": [
- 2467,
- 2468
- ]
- },
- {
- "teal": 2445,
- "source": 619,
- "pc": [
- 2469,
- 2470,
- 2471
- ]
- },
- {
- "teal": 2446,
- "source": 619,
- "pc": [
- 2472
- ]
- },
- {
- "teal": 2447,
- "source": 619,
- "pc": [
- 2473,
- 2474
- ]
- },
- {
- "teal": 2448,
- "source": 619,
- "pc": [
- 2475
- ]
- },
- {
- "teal": 2449,
- "source": 619,
- "pc": [
- 2476,
- 2477
- ]
- },
- {
- "teal": 2450,
- "source": 619,
- "pc": [
- 2478
- ]
- },
- {
- "teal": 2451,
- "source": 618,
- "pc": [
- 2479,
- 2480
- ]
- },
- {
- "teal": 2456,
- "source": 623,
- "pc": [
- 2481,
- 2482
- ]
- },
- {
- "teal": 2457,
- "source": 623,
- "pc": [
- 2483,
- 2484
- ]
- },
- {
- "teal": 2458,
- "source": 623,
- "pc": [
- 2485,
- 2486,
- 2487
- ]
- },
- {
- "teal": 2459,
- "source": 623,
- "pc": [
- 2488
- ]
- },
- {
- "teal": 2460,
- "source": 623,
- "pc": [
- 2489
- ]
- },
- {
- "teal": 2461,
- "source": 623,
- "pc": [
- 2490,
- 2491,
- 2492
- ]
- },
- {
- "teal": 2466,
- "source": 629,
- "pc": [
- 2493,
- 2494
- ]
- },
- {
- "teal": 2467,
- "source": 629,
- "pc": [
- 2495
- ]
- },
- {
- "teal": 2468,
- "source": 629,
- "pc": [
- 2496
- ]
- },
- {
- "teal": 2469,
- "source": 629,
- "pc": [
- 2497
- ]
- },
- {
- "teal": 2470,
- "source": 629,
- "pc": [
- 2498
- ]
- },
- {
- "teal": 2471,
- "source": 629,
- "pc": [
- 2499
- ]
- },
- {
- "teal": 2472,
- "source": 629,
- "pc": [
- 2500,
- 2501
- ]
- },
- {
- "teal": 2473,
- "source": 629,
- "pc": [
- 2502
- ]
- },
- {
- "teal": 2474,
- "source": 629,
- "pc": [
- 2503
- ]
- },
- {
- "teal": 2475,
- "source": 629,
- "pc": [
- 2504,
- 2505
- ]
- },
- {
- "teal": 2476,
- "source": 629,
- "pc": [
- 2506
- ]
- },
- {
- "teal": 2477,
- "source": 629,
- "pc": [
- 2507
- ]
- },
- {
- "teal": 2478,
- "source": 629,
- "pc": [
- 2508,
- 2509
- ]
- },
- {
- "teal": 2482,
- "source": 632,
- "pc": [
- 2510,
- 2511
- ]
- },
- {
- "teal": 2483,
- "source": 632,
- "pc": [
- 2512,
- 2513,
- 2514
- ]
- },
- {
- "teal": 2484,
- "source": 632,
- "pc": [
- 2515
- ]
- },
- {
- "teal": 2485,
- "source": 632,
- "pc": [
- 2516,
- 2517
- ]
- },
- {
- "teal": 2486,
- "source": 632,
- "pc": [
- 2518
- ]
- },
- {
- "teal": 2487,
- "source": 632,
- "pc": [
- 2519
- ]
- },
- {
- "teal": 2488,
- "source": 632,
- "pc": [
- 2520,
- 2521
- ]
- },
- {
- "teal": 2489,
- "source": 632,
- "pc": [
- 2522
- ]
- },
- {
- "teal": 2490,
- "source": 632,
- "pc": [
- 2523
- ]
- },
- {
- "teal": 2491,
- "source": 632,
- "pc": [
- 2524
- ]
- },
- {
- "teal": 2492,
- "source": 632,
- "pc": [
- 2525
- ]
- },
- {
- "teal": 2493,
- "source": 632,
- "pc": [
- 2526
- ]
- },
- {
- "teal": 2496,
- "source": 632,
- "errorMessage": "wideRatio failed",
- "pc": [
- 2527
- ]
- },
- {
- "teal": 2497,
- "source": 632,
- "pc": [
- 2528,
- 2529
- ]
- },
- {
- "teal": 2505,
- "source": 635,
- "pc": [
- 2530,
- 2531
- ]
- },
- {
- "teal": 2506,
- "source": 635,
- "pc": [
- 2532
- ]
- },
- {
- "teal": 2507,
- "source": 635,
- "pc": [
- 2533
- ]
- },
- {
- "teal": 2508,
- "source": 635,
- "pc": [
- 2534,
- 2535,
- 2536
- ]
- },
- {
- "teal": 2514,
- "source": 640,
- "pc": [
- 2537,
- 2538
- ]
- },
- {
- "teal": 2515,
- "source": 640,
- "pc": [
- 2539,
- 2540
- ]
- },
- {
- "teal": 2516,
- "source": 640,
- "pc": [
- 2541
- ]
- },
- {
- "teal": 2517,
- "source": 640,
- "pc": [
- 2542,
- 2543,
- 2544
- ]
- },
- {
- "teal": 2522,
- "source": 641,
- "pc": [
- 2545,
- 2546,
- 2547,
- 2548,
- 2549,
- 2550,
- 2551,
- 2552,
- 2553,
- 2554,
- 2555,
- 2556,
- 2557,
- 2558,
- 2559,
- 2560,
- 2561,
- 2562,
- 2563,
- 2564,
- 2565,
- 2566,
- 2567,
- 2568
- ]
- },
- {
- "teal": 2523,
- "source": 641,
- "pc": [
- 2569
- ]
- },
- {
- "teal": 2527,
- "source": 642,
- "pc": [
- 2570
- ]
- },
- {
- "teal": 2535,
- "source": 646,
- "pc": [
- 2571,
- 2572
- ]
- },
- {
- "teal": 2536,
- "source": 646,
- "pc": [
- 2573,
- 2574,
- 2575
- ]
- },
- {
- "teal": 2541,
- "source": 649,
- "pc": [
- 2576,
- 2577
- ]
- },
- {
- "teal": 2542,
- "source": 649,
- "pc": [
- 2578,
- 2579
- ]
- },
- {
- "teal": 2543,
- "source": 649,
- "pc": [
- 2580
- ]
- },
- {
- "teal": 2544,
- "source": 649,
- "pc": [
- 2581
- ]
- },
- {
- "teal": 2545,
- "source": 649,
- "pc": [
- 2582,
- 2583
- ]
- },
- {
- "teal": 2546,
- "source": 649,
- "pc": [
- 2584,
- 2585,
- 2586
- ]
- },
- {
- "teal": 2547,
- "source": 649,
- "pc": [
- 2587
- ]
- },
- {
- "teal": 2548,
- "source": 649,
- "pc": [
- 2588
- ]
- },
- {
- "teal": 2549,
- "source": 649,
- "pc": [
- 2589
- ]
- },
- {
- "teal": 2550,
- "source": 649,
- "pc": [
- 2590
- ]
- },
- {
- "teal": 2551,
- "source": 649,
- "pc": [
- 2591
- ]
- },
- {
- "teal": 2552,
- "source": 649,
- "pc": [
- 2592
- ]
- },
- {
- "teal": 2555,
- "source": 649,
- "errorMessage": "wideRatio failed",
- "pc": [
- 2593
- ]
- },
- {
- "teal": 2556,
- "source": 649,
- "pc": [
- 2594,
- 2595
- ]
- },
- {
- "teal": 2560,
- "source": 651,
- "pc": [
- 2596,
- 2597
- ]
- },
- {
- "teal": 2561,
- "source": 651,
- "pc": [
- 2598,
- 2599
- ]
- },
- {
- "teal": 2562,
- "source": 651,
- "pc": [
- 2600
- ]
- },
- {
- "teal": 2563,
- "source": 651,
- "pc": [
- 2601,
- 2602
- ]
- },
- {
- "teal": 2571,
- "source": 652,
- "pc": [
- 2603
- ]
- },
- {
- "teal": 2572,
- "source": 652,
- "pc": [
- 2604
- ]
- },
- {
- "teal": 2573,
- "source": 652,
- "pc": [
- 2605,
- 2606
- ]
- },
- {
- "teal": 2577,
- "source": 653,
- "pc": [
- 2607,
- 2608
- ]
- },
- {
- "teal": 2578,
- "source": 653,
- "pc": [
- 2609,
- 2610
- ]
- },
- {
- "teal": 2582,
- "source": 654,
- "pc": [
- 2611,
- 2612,
- 2613
- ]
- },
- {
- "teal": 2583,
- "source": 654,
- "pc": [
- 2614,
- 2615
- ]
- },
- {
- "teal": 2587,
- "source": 655,
- "pc": [
- 2616,
- 2617,
- 2618,
- 2619,
- 2620,
- 2621,
- 2622,
- 2623,
- 2624,
- 2625,
- 2626,
- 2627,
- 2628,
- 2629,
- 2630,
- 2631,
- 2632,
- 2633,
- 2634,
- 2635,
- 2636,
- 2637,
- 2638,
- 2639,
- 2640,
- 2641,
- 2642,
- 2643,
- 2644,
- 2645,
- 2646,
- 2647,
- 2648,
- 2649,
- 2650,
- 2651
- ]
- },
- {
- "teal": 2588,
- "source": 655,
- "pc": [
- 2652,
- 2653
- ]
- },
- {
- "teal": 2591,
- "source": 652,
- "pc": [
- 2654
- ]
- },
- {
- "teal": 2592,
- "source": 652,
- "pc": [
- 2655,
- 2656
- ]
- },
- {
- "teal": 2595,
- "source": 652,
- "pc": [
- 2657
- ]
- },
- {
- "teal": 2599,
- "source": 658,
- "pc": [
- 2658,
- 2659
- ]
- },
- {
- "teal": 2600,
- "source": 658,
- "pc": [
- 2660,
- 2661
- ]
- },
- {
- "teal": 2601,
- "source": 646,
- "pc": [
- 2662,
- 2663,
- 2664
- ]
- },
- {
- "teal": 2606,
- "source": 659,
- "pc": [
- 2665,
- 2666
- ]
- },
- {
- "teal": 2607,
- "source": 659,
- "pc": [
- 2667,
- 2668,
- 2669
- ]
- },
- {
- "teal": 2608,
- "source": 659,
- "pc": [
- 2670
- ]
- },
- {
- "teal": 2609,
- "source": 659,
- "pc": [
- 2671
- ]
- },
- {
- "teal": 2610,
- "source": 659,
- "pc": [
- 2672
- ]
- },
- {
- "teal": 2611,
- "source": 659,
- "pc": [
- 2673,
- 2674,
- 2675
- ]
- },
- {
- "teal": 2619,
- "source": 663,
- "pc": [
- 2676,
- 2677
- ]
- },
- {
- "teal": 2620,
- "source": 663,
- "pc": [
- 2678,
- 2679
- ]
- },
- {
- "teal": 2621,
- "source": 663,
- "pc": [
- 2680,
- 2681,
- 2682
- ]
- },
- {
- "teal": 2622,
- "source": 663,
- "pc": [
- 2683
- ]
- },
- {
- "teal": 2623,
- "source": 662,
- "pc": [
- 2684
- ]
- },
- {
- "teal": 2624,
- "source": 662,
- "pc": [
- 2685
- ]
- },
- {
- "teal": 2625,
- "source": 664,
- "pc": [
- 2686,
- 2687
- ]
- },
- {
- "teal": 2626,
- "source": 662,
- "pc": [
- 2688
- ]
- },
- {
- "teal": 2627,
- "source": 662,
- "pc": [
- 2689
- ]
- },
- {
- "teal": 2628,
- "source": 662,
- "pc": [
- 2690
- ]
- },
- {
- "teal": 2629,
- "source": 662,
- "pc": [
- 2691
- ]
- },
- {
- "teal": 2630,
- "source": 662,
- "pc": [
- 2692
- ]
- },
- {
- "teal": 2633,
- "source": 662,
- "errorMessage": "wideRatio failed",
- "pc": [
- 2693
- ]
- },
- {
- "teal": 2634,
- "source": 662,
- "pc": [
- 2694,
- 2695
- ]
- },
- {
- "teal": 2638,
- "source": 668,
- "pc": [
- 2696,
- 2697
- ]
- },
- {
- "teal": 2639,
- "source": 668,
- "pc": [
- 2698,
- 2699
- ]
- },
- {
- "teal": 2640,
- "source": 668,
- "pc": [
- 2700
- ]
- },
- {
- "teal": 2641,
- "source": 668,
- "pc": [
- 2701,
- 2702
- ]
- },
- {
- "teal": 2646,
- "source": 675,
- "pc": [
- 2703,
- 2704
- ]
- },
- {
- "teal": 2647,
- "source": 675,
- "pc": [
- 2705
- ]
- },
- {
- "teal": 2648,
- "source": 675,
- "pc": [
- 2706
- ]
- },
- {
- "teal": 2649,
- "source": 675,
- "pc": [
- 2707,
- 2708,
- 2709
- ]
- },
- {
- "teal": 2654,
- "source": 678,
- "pc": [
- 2710
- ]
- },
- {
- "teal": 2655,
- "source": 678,
- "pc": [
- 2711,
- 2712
- ]
- },
- {
- "teal": 2661,
- "source": 680,
- "pc": [
- 2713,
- 2714
- ]
- },
- {
- "teal": 2662,
- "source": 680,
- "pc": [
- 2715,
- 2716,
- 2717
- ]
- },
- {
- "teal": 2663,
- "source": 680,
- "pc": [
- 2718,
- 2719
- ]
- },
- {
- "teal": 2664,
- "source": 680,
- "pc": [
- 2720,
- 2721,
- 2722
- ]
- },
- {
- "teal": 2665,
- "source": 680,
- "pc": [
- 2723
- ]
- },
- {
- "teal": 2666,
- "source": 680,
- "pc": [
- 2724
- ]
- },
- {
- "teal": 2667,
- "source": 680,
- "pc": [
- 2725,
- 2726,
- 2727
- ]
- },
- {
- "teal": 2668,
- "source": 681,
- "pc": [
- 2728,
- 2729
- ]
- },
- {
- "teal": 2669,
- "source": 681,
- "pc": [
- 2730,
- 2731,
- 2732
- ]
- },
- {
- "teal": 2670,
- "source": 681,
- "pc": [
- 2733,
- 2734
- ]
- },
- {
- "teal": 2671,
- "source": 681,
- "pc": [
- 2735
- ]
- },
- {
- "teal": 2672,
- "source": 681,
- "pc": [
- 2736,
- 2737
- ]
- },
- {
- "teal": 2673,
- "source": 681,
- "pc": [
- 2738,
- 2739,
- 2740
- ]
- },
- {
- "teal": 2674,
- "source": 681,
- "pc": [
- 2741,
- 2742
- ]
- },
- {
- "teal": 2675,
- "source": 681,
- "pc": [
- 2743
- ]
- },
- {
- "teal": 2676,
- "source": 681,
- "pc": [
- 2744
- ]
- },
- {
- "teal": 2677,
- "source": 681,
- "pc": [
- 2745,
- 2746
- ]
- },
- {
- "teal": 2678,
- "source": 681,
- "pc": [
- 2747
- ]
- },
- {
- "teal": 2679,
- "source": 680,
- "pc": [
- 2748
- ]
- },
- {
- "teal": 2682,
- "source": 679,
- "pc": [
- 2749,
- 2750,
- 2751
- ]
- },
- {
- "teal": 2687,
- "source": 683,
- "pc": [
- 2752,
- 2753
- ]
- },
- {
- "teal": 2688,
- "source": 683,
- "pc": [
- 2754,
- 2755
- ]
- },
- {
- "teal": 2689,
- "source": 683,
- "pc": [
- 2756
- ]
- },
- {
- "teal": 2690,
- "source": 683,
- "pc": [
- 2757,
- 2758,
- 2759
- ]
- },
- {
- "teal": 2691,
- "source": 683,
- "pc": [
- 2760,
- 2761
- ]
- },
- {
- "teal": 2692,
- "source": 683,
- "pc": [
- 2762,
- 2763,
- 2764
- ]
- },
- {
- "teal": 2695,
- "source": 683,
- "pc": [
- 2765,
- 2766
- ]
- },
- {
- "teal": 2698,
- "source": 683,
- "pc": [
- 2767,
- 2768
- ]
- },
- {
- "teal": 2706,
- "source": 684,
- "pc": [
- 2769
- ]
- },
- {
- "teal": 2707,
- "source": 684,
- "pc": [
- 2770
- ]
- },
- {
- "teal": 2708,
- "source": 684,
- "pc": [
- 2771,
- 2772
- ]
- },
- {
- "teal": 2712,
- "source": 685,
- "pc": [
- 2773,
- 2774
- ]
- },
- {
- "teal": 2713,
- "source": 685,
- "pc": [
- 2775,
- 2776
- ]
- },
- {
- "teal": 2717,
- "source": 686,
- "pc": [
- 2777,
- 2778
- ]
- },
- {
- "teal": 2718,
- "source": 686,
- "pc": [
- 2779,
- 2780,
- 2781
- ]
- },
- {
- "teal": 2719,
- "source": 686,
- "pc": [
- 2782,
- 2783
- ]
- },
- {
- "teal": 2723,
- "source": 687,
- "pc": [
- 2784,
- 2785,
- 2786,
- 2787,
- 2788,
- 2789,
- 2790,
- 2791,
- 2792,
- 2793,
- 2794,
- 2795,
- 2796,
- 2797,
- 2798,
- 2799,
- 2800,
- 2801,
- 2802,
- 2803,
- 2804,
- 2805,
- 2806,
- 2807,
- 2808,
- 2809,
- 2810,
- 2811,
- 2812,
- 2813,
- 2814,
- 2815,
- 2816,
- 2817,
- 2818,
- 2819,
- 2820,
- 2821,
- 2822,
- 2823,
- 2824,
- 2825,
- 2826,
- 2827,
- 2828,
- 2829,
- 2830,
- 2831,
- 2832,
- 2833,
- 2834,
- 2835,
- 2836,
- 2837,
- 2838
- ]
- },
- {
- "teal": 2724,
- "source": 687,
- "pc": [
- 2839,
- 2840
- ]
- },
- {
- "teal": 2727,
- "source": 684,
- "pc": [
- 2841
- ]
- },
- {
- "teal": 2728,
- "source": 684,
- "pc": [
- 2842,
- 2843
- ]
- },
- {
- "teal": 2731,
- "source": 684,
- "pc": [
- 2844
- ]
- },
- {
- "teal": 2737,
- "source": 690,
- "pc": [
- 2845,
- 2846
- ]
- },
- {
- "teal": 2738,
- "source": 690,
- "pc": [
- 2847,
- 2848
- ]
- },
- {
- "teal": 2739,
- "source": 690,
- "pc": [
- 2849
- ]
- },
- {
- "teal": 2740,
- "source": 690,
- "pc": [
- 2850
- ]
- },
- {
- "teal": 2741,
- "source": 690,
- "pc": [
- 2851
- ]
- },
- {
- "teal": 2742,
- "source": 690,
- "pc": [
- 2852,
- 2853,
- 2854
- ]
- },
- {
- "teal": 2751,
- "source": 691,
- "pc": [
- 2855
- ]
- },
- {
- "teal": 2752,
- "source": 691,
- "pc": [
- 2856
- ]
- },
- {
- "teal": 2753,
- "source": 691,
- "pc": [
- 2857,
- 2858
- ]
- },
- {
- "teal": 2757,
- "source": 692,
- "pc": [
- 2859,
- 2860
- ]
- },
- {
- "teal": 2758,
- "source": 692,
- "pc": [
- 2861,
- 2862
- ]
- },
- {
- "teal": 2759,
- "source": 692,
- "pc": [
- 2863
- ]
- },
- {
- "teal": 2760,
- "source": 692,
- "pc": [
- 2864,
- 2865
- ]
- },
- {
- "teal": 2764,
- "source": 693,
- "pc": [
- 2866,
- 2867
- ]
- },
- {
- "teal": 2765,
- "source": 693,
- "pc": [
- 2868,
- 2869,
- 2870
- ]
- },
- {
- "teal": 2766,
- "source": 693,
- "pc": [
- 2871,
- 2872
- ]
- },
- {
- "teal": 2770,
- "source": 694,
- "pc": [
- 2873,
- 2874,
- 2875,
- 2876,
- 2877,
- 2878,
- 2879,
- 2880,
- 2881,
- 2882,
- 2883,
- 2884,
- 2885,
- 2886,
- 2887,
- 2888,
- 2889,
- 2890
- ]
- },
- {
- "teal": 2771,
- "source": 694,
- "pc": [
- 2891,
- 2892
- ]
- },
- {
- "teal": 2774,
- "source": 691,
- "pc": [
- 2893
- ]
- },
- {
- "teal": 2775,
- "source": 691,
- "pc": [
- 2894,
- 2895
- ]
- },
- {
- "teal": 2778,
- "source": 691,
- "pc": [
- 2896
- ]
- },
- {
- "teal": 2787,
- "source": 706,
- "pc": [
- 2897
- ]
- },
- {
- "teal": 2788,
- "source": 706,
- "pc": [
- 2898,
- 2899
- ]
- },
- {
- "teal": 2793,
- "source": 730,
- "pc": [
- 2900,
- 2901
- ]
- },
- {
- "teal": 2794,
- "source": 730,
- "pc": [
- 2902
- ]
- },
- {
- "teal": 2795,
- "source": 730,
- "pc": [
- 2903
- ]
- },
- {
- "teal": 2796,
- "source": 730,
- "pc": [
- 2904
- ]
- },
- {
- "teal": 2797,
- "source": 730,
- "pc": [
- 2905,
- 2906,
- 2907
- ]
- },
- {
- "teal": 2798,
- "source": 730,
- "pc": [
- 2908,
- 2909
- ]
- },
- {
- "teal": 2799,
- "source": 730,
- "pc": [
- 2910
- ]
- },
- {
- "teal": 2800,
- "source": 730,
- "pc": [
- 2911
- ]
- },
- {
- "teal": 2801,
- "source": 730,
- "pc": [
- 2912
- ]
- },
- {
- "teal": 2804,
- "source": 730,
- "pc": [
- 2913,
- 2914,
- 2915
- ]
- },
- {
- "teal": 2809,
- "source": 731,
- "pc": [
- 2916
- ]
- },
- {
- "teal": 2810,
- "source": 731,
- "pc": [
- 2917,
- 2918
- ]
- },
- {
- "teal": 2814,
- "source": 732,
- "pc": [
- 2919
- ]
- },
- {
- "teal": 2815,
- "source": 732,
- "pc": [
- 2920,
- 2921
- ]
- },
- {
- "teal": 2820,
- "source": 732,
- "pc": [
- 2922,
- 2923
- ]
- },
- {
- "teal": 2821,
- "source": 732,
- "pc": [
- 2924,
- 2925
- ]
- },
- {
- "teal": 2822,
- "source": 732,
- "pc": [
- 2926
- ]
- },
- {
- "teal": 2823,
- "source": 732,
- "pc": [
- 2927,
- 2928,
- 2929
- ]
- },
- {
- "teal": 2828,
- "source": 733,
- "pc": [
- 2930,
- 2931
- ]
- },
- {
- "teal": 2829,
- "source": 733,
- "pc": [
- 2932,
- 2933
- ]
- },
- {
- "teal": 2830,
- "source": 733,
- "pc": [
- 2934
- ]
- },
- {
- "teal": 2831,
- "source": 733,
- "pc": [
- 2935,
- 2936,
- 2937
- ]
- },
- {
- "teal": 2836,
- "source": 734,
- "pc": [
- 2938
- ]
- },
- {
- "teal": 2837,
- "source": 734,
- "pc": [
- 2939
- ]
- },
- {
- "teal": 2838,
- "source": 734,
- "pc": [
- 2940,
- 2941
- ]
- },
- {
- "teal": 2839,
- "source": 734,
- "pc": [
- 2942
- ]
- },
- {
- "teal": 2840,
- "source": 734,
- "pc": [
- 2943,
- 2944
- ]
- },
- {
- "teal": 2841,
- "source": 734,
- "pc": [
- 2945,
- 2946
- ]
- },
- {
- "teal": 2842,
- "source": 734,
- "pc": [
- 2947
- ]
- },
- {
- "teal": 2843,
- "source": 734,
- "pc": [
- 2948,
- 2949
- ]
- },
- {
- "teal": 2844,
- "source": 734,
- "pc": [
- 2950,
- 2951
- ]
- },
- {
- "teal": 2845,
- "source": 734,
- "pc": [
- 2952,
- 2953
- ]
- },
- {
- "teal": 2846,
- "source": 734,
- "pc": [
- 2954,
- 2955
- ]
- },
- {
- "teal": 2847,
- "source": 734,
- "pc": [
- 2956
- ]
- },
- {
- "teal": 2852,
- "source": 736,
- "pc": [
- 2957,
- 2958
- ]
- },
- {
- "teal": 2853,
- "source": 736,
- "pc": [
- 2959
- ]
- },
- {
- "teal": 2854,
- "source": 736,
- "pc": [
- 2960
- ]
- },
- {
- "teal": 2855,
- "source": 736,
- "pc": [
- 2961
- ]
- },
- {
- "teal": 2856,
- "source": 736,
- "pc": [
- 2962
- ]
- },
- {
- "teal": 2857,
- "source": 736,
- "pc": [
- 2963,
- 2964
- ]
- },
- {
- "teal": 2858,
- "source": 736,
- "pc": [
- 2965
- ]
- },
- {
- "teal": 2859,
- "source": 736,
- "pc": [
- 2966,
- 2967
- ]
- },
- {
- "teal": 2864,
- "source": 737,
- "pc": [
- 2968,
- 2969
- ]
- },
- {
- "teal": 2865,
- "source": 737,
- "pc": [
- 2970,
- 2971,
- 2972
- ]
- },
- {
- "teal": 2866,
- "source": 737,
- "pc": [
- 2973,
- 2974
- ]
- },
- {
- "teal": 2867,
- "source": 737,
- "pc": [
- 2975
- ]
- },
- {
- "teal": 2868,
- "source": 737,
- "pc": [
- 2976,
- 2977,
- 2978
- ]
- },
- {
- "teal": 2874,
- "source": 738,
- "pc": [
- 2979,
- 2980
- ]
- },
- {
- "teal": 2875,
- "source": 738,
- "pc": [
- 2981,
- 2982,
- 2983
- ]
- },
- {
- "teal": 2876,
- "source": 738,
- "pc": [
- 2984
- ]
- },
- {
- "teal": 2877,
- "source": 738,
- "pc": [
- 2985,
- 2986
- ]
- },
- {
- "teal": 2878,
- "source": 738,
- "pc": [
- 2987
- ]
- },
- {
- "teal": 2879,
- "source": 738,
- "pc": [
- 2988,
- 2989,
- 2990
- ]
- },
- {
- "teal": 2884,
- "source": 741,
- "pc": [
- 2991,
- 2992
- ]
- },
- {
- "teal": 2885,
- "source": 741,
- "pc": [
- 2993,
- 2994
- ]
- },
- {
- "teal": 2886,
- "source": 741,
- "pc": [
- 2995,
- 2996,
- 2997
- ]
- },
- {
- "teal": 2887,
- "source": 741,
- "pc": [
- 2998
- ]
- },
- {
- "teal": 2888,
- "source": 741,
- "pc": [
- 2999
- ]
- },
- {
- "teal": 2889,
- "source": 741,
- "pc": [
- 3000,
- 3001
- ]
- },
- {
- "teal": 2890,
- "source": 738,
- "pc": [
- 3002,
- 3003,
- 3004
- ]
- },
- {
- "teal": 2895,
- "source": 745,
- "pc": [
- 3005,
- 3006
- ]
- },
- {
- "teal": 2896,
- "source": 745,
- "pc": [
- 3007,
- 3008
- ]
- },
- {
- "teal": 2897,
- "source": 745,
- "pc": [
- 3009,
- 3010,
- 3011
- ]
- },
- {
- "teal": 2898,
- "source": 745,
- "pc": [
- 3012
- ]
- },
- {
- "teal": 2899,
- "source": 745,
- "pc": [
- 3013
- ]
- },
- {
- "teal": 2900,
- "source": 745,
- "pc": [
- 3014,
- 3015
- ]
- },
- {
- "teal": 2905,
- "source": 749,
- "pc": [
- 3016,
- 3017
- ]
- },
- {
- "teal": 2906,
- "source": 749,
- "pc": [
- 3018,
- 3019
- ]
- },
- {
- "teal": 2907,
- "source": 749,
- "pc": [
- 3020
- ]
- },
- {
- "teal": 2908,
- "source": 749,
- "pc": [
- 3021,
- 3022,
- 3023
- ]
- },
- {
- "teal": 2913,
- "source": 750,
- "pc": [
- 3024,
- 3025
- ]
- },
- {
- "teal": 2914,
- "source": 750,
- "pc": [
- 3026,
- 3027
- ]
- },
- {
- "teal": 2915,
- "source": 750,
- "pc": [
- 3028,
- 3029,
- 3030
- ]
- },
- {
- "teal": 2916,
- "source": 750,
- "pc": [
- 3031
- ]
- },
- {
- "teal": 2917,
- "source": 750,
- "pc": [
- 3032
- ]
- },
- {
- "teal": 2918,
- "source": 750,
- "pc": [
- 3033,
- 3034
- ]
- },
- {
- "teal": 2922,
- "source": 751,
- "pc": [
- 3035,
- 3036
- ]
- },
- {
- "teal": 2923,
- "source": 751,
- "pc": [
- 3037,
- 3038
- ]
- },
- {
- "teal": 2924,
- "source": 751,
- "pc": [
- 3039
- ]
- },
- {
- "teal": 2925,
- "source": 751,
- "pc": [
- 3040,
- 3041
- ]
- },
- {
- "teal": 2926,
- "source": 751,
- "pc": [
- 3042
- ]
- },
- {
- "teal": 2927,
- "source": 751,
- "pc": [
- 3043,
- 3044
- ]
- },
- {
- "teal": 2932,
- "source": 753,
- "pc": [
- 3045,
- 3046
- ]
- },
- {
- "teal": 2933,
- "source": 753,
- "pc": [
- 3047
- ]
- },
- {
- "teal": 2934,
- "source": 753,
- "pc": [
- 3048
- ]
- },
- {
- "teal": 2935,
- "source": 753,
- "pc": [
- 3049,
- 3050,
- 3051
- ]
- },
- {
- "teal": 2943,
- "source": 756,
- "pc": [
- 3052,
- 3053
- ]
- },
- {
- "teal": 2944,
- "source": 756,
- "pc": [
- 3054,
- 3055,
- 3056
- ]
- },
- {
- "teal": 2945,
- "source": 756,
- "pc": [
- 3057
- ]
- },
- {
- "teal": 2946,
- "source": 756,
- "pc": [
- 3058,
- 3059
- ]
- },
- {
- "teal": 2947,
- "source": 755,
- "pc": [
- 3060
- ]
- },
- {
- "teal": 2948,
- "source": 756,
- "pc": [
- 3061,
- 3062
- ]
- },
- {
- "teal": 2949,
- "source": 755,
- "pc": [
- 3063,
- 3064
- ]
- },
- {
- "teal": 2950,
- "source": 755,
- "pc": [
- 3065,
- 3066
- ]
- },
- {
- "teal": 2951,
- "source": 755,
- "pc": [
- 3067
- ]
- },
- {
- "teal": 2952,
- "source": 755,
- "pc": [
- 3068,
- 3069
- ]
- },
- {
- "teal": 2953,
- "source": 755,
- "pc": [
- 3070
- ]
- },
- {
- "teal": 2954,
- "source": 755,
- "pc": [
- 3071,
- 3072
- ]
- },
- {
- "teal": 2955,
- "source": 755,
- "pc": [
- 3073
- ]
- },
- {
- "teal": 2956,
- "source": 755,
- "pc": [
- 3074
- ]
- },
- {
- "teal": 2957,
- "source": 757,
- "pc": [
- 3075,
- 3076
- ]
- },
- {
- "teal": 2958,
- "source": 757,
- "pc": [
- 3077
- ]
- },
- {
- "teal": 2959,
- "source": 757,
- "pc": [
- 3078,
- 3079
- ]
- },
- {
- "teal": 2960,
- "source": 755,
- "pc": [
- 3080
- ]
- },
- {
- "teal": 2961,
- "source": 755,
- "pc": [
- 3081
- ]
- },
- {
- "teal": 2962,
- "source": 755,
- "pc": [
- 3082
- ]
- },
- {
- "teal": 2963,
- "source": 755,
- "pc": [
- 3083
- ]
- },
- {
- "teal": 2964,
- "source": 755,
- "pc": [
- 3084
- ]
- },
- {
- "teal": 2965,
- "source": 755,
- "pc": [
- 3085
- ]
- },
- {
- "teal": 2968,
- "source": 755,
- "errorMessage": "wideRatio failed",
- "pc": [
- 3086
- ]
- },
- {
- "teal": 2969,
- "source": 755,
- "pc": [
- 3087,
- 3088
- ]
- },
- {
- "teal": 2973,
- "source": 762,
- "pc": [
- 3089,
- 3090
- ]
- },
- {
- "teal": 2974,
- "source": 762,
- "pc": [
- 3091,
- 3092
- ]
- },
- {
- "teal": 2975,
- "source": 762,
- "pc": [
- 3093
- ]
- },
- {
- "teal": 2976,
- "source": 762,
- "pc": [
- 3094,
- 3095
- ]
- },
- {
- "teal": 2980,
- "source": 763,
- "pc": [
- 3096,
- 3097
- ]
- },
- {
- "teal": 2981,
- "source": 763,
- "pc": [
- 3098,
- 3099
- ]
- },
- {
- "teal": 2982,
- "source": 763,
- "pc": [
- 3100,
- 3101
- ]
- },
- {
- "teal": 2983,
- "source": 763,
- "pc": [
- 3102,
- 3103,
- 3104
- ]
- },
- {
- "teal": 2984,
- "source": 763,
- "pc": [
- 3105
- ]
- },
- {
- "teal": 2985,
- "source": 763,
- "pc": [
- 3106,
- 3107
- ]
- },
- {
- "teal": 2986,
- "source": 763,
- "pc": [
- 3108
- ]
- },
- {
- "teal": 2987,
- "source": 763,
- "pc": [
- 3109
- ]
- },
- {
- "teal": 2988,
- "source": 763,
- "pc": [
- 3110
- ]
- },
- {
- "teal": 2989,
- "source": 763,
- "pc": [
- 3111,
- 3112
- ]
- },
- {
- "teal": 2993,
- "source": 764,
- "pc": [
- 3113,
- 3114
- ]
- },
- {
- "teal": 2994,
- "source": 764,
- "pc": [
- 3115,
- 3116
- ]
- },
- {
- "teal": 2995,
- "source": 764,
- "pc": [
- 3117
- ]
- },
- {
- "teal": 2996,
- "source": 764,
- "pc": [
- 3118,
- 3119
- ]
- },
- {
- "teal": 3002,
- "source": 766,
- "pc": [
- 3120,
- 3121
- ]
- },
- {
- "teal": 3003,
- "source": 766,
- "pc": [
- 3122
- ]
- },
- {
- "teal": 3004,
- "source": 766,
- "pc": [
- 3123
- ]
- },
- {
- "teal": 3005,
- "source": 766,
- "pc": [
- 3124,
- 3125,
- 3126
- ]
- },
- {
- "teal": 3013,
- "source": 769,
- "pc": [
- 3127,
- 3128
- ]
- },
- {
- "teal": 3014,
- "source": 769,
- "pc": [
- 3129,
- 3130,
- 3131
- ]
- },
- {
- "teal": 3015,
- "source": 769,
- "pc": [
- 3132
- ]
- },
- {
- "teal": 3016,
- "source": 769,
- "pc": [
- 3133,
- 3134
- ]
- },
- {
- "teal": 3017,
- "source": 768,
- "pc": [
- 3135
- ]
- },
- {
- "teal": 3018,
- "source": 769,
- "pc": [
- 3136,
- 3137
- ]
- },
- {
- "teal": 3019,
- "source": 768,
- "pc": [
- 3138,
- 3139
- ]
- },
- {
- "teal": 3020,
- "source": 768,
- "pc": [
- 3140,
- 3141
- ]
- },
- {
- "teal": 3021,
- "source": 768,
- "pc": [
- 3142
- ]
- },
- {
- "teal": 3022,
- "source": 768,
- "pc": [
- 3143,
- 3144
- ]
- },
- {
- "teal": 3023,
- "source": 768,
- "pc": [
- 3145
- ]
- },
- {
- "teal": 3024,
- "source": 768,
- "pc": [
- 3146,
- 3147
- ]
- },
- {
- "teal": 3025,
- "source": 768,
- "pc": [
- 3148
- ]
- },
- {
- "teal": 3026,
- "source": 768,
- "pc": [
- 3149
- ]
- },
- {
- "teal": 3027,
- "source": 770,
- "pc": [
- 3150,
- 3151
- ]
- },
- {
- "teal": 3028,
- "source": 770,
- "pc": [
- 3152
- ]
- },
- {
- "teal": 3029,
- "source": 770,
- "pc": [
- 3153,
- 3154
- ]
- },
- {
- "teal": 3030,
- "source": 768,
- "pc": [
- 3155
- ]
- },
- {
- "teal": 3031,
- "source": 768,
- "pc": [
- 3156
- ]
- },
- {
- "teal": 3032,
- "source": 768,
- "pc": [
- 3157
- ]
- },
- {
- "teal": 3033,
- "source": 768,
- "pc": [
- 3158
- ]
- },
- {
- "teal": 3034,
- "source": 768,
- "pc": [
- 3159
- ]
- },
- {
- "teal": 3035,
- "source": 768,
- "pc": [
- 3160
- ]
- },
- {
- "teal": 3038,
- "source": 768,
- "errorMessage": "wideRatio failed",
- "pc": [
- 3161
- ]
- },
- {
- "teal": 3039,
- "source": 768,
- "pc": [
- 3162,
- 3163
- ]
- },
- {
- "teal": 3043,
- "source": 775,
- "pc": [
- 3164,
- 3165
- ]
- },
- {
- "teal": 3044,
- "source": 775,
- "pc": [
- 3166,
- 3167
- ]
- },
- {
- "teal": 3045,
- "source": 775,
- "pc": [
- 3168
- ]
- },
- {
- "teal": 3046,
- "source": 775,
- "pc": [
- 3169,
- 3170
- ]
- },
- {
- "teal": 3050,
- "source": 778,
- "pc": [
- 3171,
- 3172
- ]
- },
- {
- "teal": 3051,
- "source": 778,
- "pc": [
- 3173,
- 3174
- ]
- },
- {
- "teal": 3052,
- "source": 778,
- "pc": [
- 3175,
- 3176
- ]
- },
- {
- "teal": 3053,
- "source": 778,
- "pc": [
- 3177,
- 3178,
- 3179
- ]
- },
- {
- "teal": 3054,
- "source": 778,
- "pc": [
- 3180
- ]
- },
- {
- "teal": 3055,
- "source": 778,
- "pc": [
- 3181,
- 3182
- ]
- },
- {
- "teal": 3056,
- "source": 778,
- "pc": [
- 3183
- ]
- },
- {
- "teal": 3057,
- "source": 778,
- "pc": [
- 3184
- ]
- },
- {
- "teal": 3058,
- "source": 778,
- "pc": [
- 3185
- ]
- },
- {
- "teal": 3059,
- "source": 778,
- "pc": [
- 3186,
- 3187
- ]
- },
- {
- "teal": 3063,
- "source": 779,
- "pc": [
- 3188,
- 3189
- ]
- },
- {
- "teal": 3064,
- "source": 779,
- "pc": [
- 3190,
- 3191
- ]
- },
- {
- "teal": 3065,
- "source": 779,
- "pc": [
- 3192,
- 3193
- ]
- },
- {
- "teal": 3066,
- "source": 779,
- "pc": [
- 3194,
- 3195,
- 3196
- ]
- },
- {
- "teal": 3067,
- "source": 779,
- "pc": [
- 3197
- ]
- },
- {
- "teal": 3068,
- "source": 779,
- "pc": [
- 3198,
- 3199
- ]
- },
- {
- "teal": 3069,
- "source": 779,
- "pc": [
- 3200
- ]
- },
- {
- "teal": 3070,
- "source": 779,
- "pc": [
- 3201
- ]
- },
- {
- "teal": 3071,
- "source": 779,
- "pc": [
- 3202
- ]
- },
- {
- "teal": 3072,
- "source": 779,
- "pc": [
- 3203,
- 3204
- ]
- },
- {
- "teal": 3076,
- "source": 780,
- "pc": [
- 3205,
- 3206
- ]
- },
- {
- "teal": 3077,
- "source": 780,
- "pc": [
- 3207,
- 3208
- ]
- },
- {
- "teal": 3078,
- "source": 780,
- "pc": [
- 3209
- ]
- },
- {
- "teal": 3079,
- "source": 780,
- "pc": [
- 3210,
- 3211
- ]
- },
- {
- "teal": 3084,
- "source": 783,
- "pc": [
- 3212,
- 3213
- ]
- },
- {
- "teal": 3085,
- "source": 783,
- "pc": [
- 3214
- ]
- },
- {
- "teal": 3086,
- "source": 783,
- "pc": [
- 3215
- ]
- },
- {
- "teal": 3087,
- "source": 783,
- "pc": [
- 3216,
- 3217
- ]
- },
- {
- "teal": 3088,
- "source": 783,
- "pc": [
- 3218
- ]
- },
- {
- "teal": 3089,
- "source": 783,
- "pc": [
- 3219,
- 3220
- ]
- },
- {
- "teal": 3090,
- "source": 783,
- "pc": [
- 3221
- ]
- },
- {
- "teal": 3101,
- "source": 732,
- "pc": [
- 3222,
- 3223
- ]
- },
- {
- "teal": 3102,
- "source": 732,
- "pc": [
- 3224
- ]
- },
- {
- "teal": 3103,
- "source": 732,
- "pc": [
- 3225
- ]
- },
- {
- "teal": 3104,
- "source": 732,
- "pc": [
- 3226,
- 3227
- ]
- },
- {
- "teal": 3105,
- "source": 732,
- "pc": [
- 3228,
- 3229,
- 3230
- ]
- },
- {
- "teal": 3110,
- "source": 791,
- "pc": [
- 3231,
- 3232
- ]
- },
- {
- "teal": 3111,
- "source": 791,
- "pc": [
- 3233
- ]
- },
- {
- "teal": 3112,
- "source": 791,
- "pc": [
- 3234,
- 3235
- ]
- },
- {
- "teal": 3113,
- "source": 791,
- "pc": [
- 3236
- ]
- },
- {
- "teal": 3114,
- "source": 791,
- "pc": [
- 3237,
- 3238
- ]
- },
- {
- "teal": 3119,
- "source": 795,
- "pc": [
- 3239,
- 3240
- ]
- },
- {
- "teal": 3120,
- "source": 795,
- "pc": [
- 3241
- ]
- },
- {
- "teal": 3121,
- "source": 795,
- "pc": [
- 3242
- ]
- },
- {
- "teal": 3122,
- "source": 795,
- "pc": [
- 3243,
- 3244,
- 3245
- ]
- },
- {
- "teal": 3127,
- "source": 797,
- "pc": [
- 3246
- ]
- },
- {
- "teal": 3128,
- "source": 797,
- "pc": [
- 3247,
- 3248
- ]
- },
- {
- "teal": 3133,
- "source": 797,
- "pc": [
- 3249,
- 3250
- ]
- },
- {
- "teal": 3134,
- "source": 797,
- "pc": [
- 3251,
- 3252
- ]
- },
- {
- "teal": 3135,
- "source": 797,
- "pc": [
- 3253
- ]
- },
- {
- "teal": 3136,
- "source": 797,
- "pc": [
- 3254,
- 3255,
- 3256
- ]
- },
- {
- "teal": 3141,
- "source": 798,
- "pc": [
- 3257,
- 3258
- ]
- },
- {
- "teal": 3142,
- "source": 798,
- "pc": [
- 3259,
- 3260
- ]
- },
- {
- "teal": 3143,
- "source": 798,
- "pc": [
- 3261
- ]
- },
- {
- "teal": 3144,
- "source": 798,
- "pc": [
- 3262,
- 3263,
- 3264
- ]
- },
- {
- "teal": 3149,
- "source": 799,
- "pc": [
- 3265
- ]
- },
- {
- "teal": 3150,
- "source": 799,
- "pc": [
- 3266
- ]
- },
- {
- "teal": 3151,
- "source": 799,
- "pc": [
- 3267,
- 3268
- ]
- },
- {
- "teal": 3152,
- "source": 799,
- "pc": [
- 3269
- ]
- },
- {
- "teal": 3153,
- "source": 799,
- "pc": [
- 3270,
- 3271
- ]
- },
- {
- "teal": 3154,
- "source": 799,
- "pc": [
- 3272,
- 3273
- ]
- },
- {
- "teal": 3155,
- "source": 799,
- "pc": [
- 3274
- ]
- },
- {
- "teal": 3156,
- "source": 799,
- "pc": [
- 3275,
- 3276
- ]
- },
- {
- "teal": 3157,
- "source": 799,
- "pc": [
- 3277,
- 3278
- ]
- },
- {
- "teal": 3158,
- "source": 799,
- "pc": [
- 3279,
- 3280
- ]
- },
- {
- "teal": 3159,
- "source": 799,
- "pc": [
- 3281,
- 3282
- ]
- },
- {
- "teal": 3160,
- "source": 799,
- "pc": [
- 3283
- ]
- },
- {
- "teal": 3165,
- "source": 801,
- "pc": [
- 3284,
- 3285
- ]
- },
- {
- "teal": 3166,
- "source": 801,
- "pc": [
- 3286
- ]
- },
- {
- "teal": 3167,
- "source": 801,
- "pc": [
- 3287
- ]
- },
- {
- "teal": 3168,
- "source": 801,
- "pc": [
- 3288
- ]
- },
- {
- "teal": 3169,
- "source": 801,
- "pc": [
- 3289
- ]
- },
- {
- "teal": 3170,
- "source": 801,
- "pc": [
- 3290,
- 3291
- ]
- },
- {
- "teal": 3171,
- "source": 801,
- "pc": [
- 3292
- ]
- },
- {
- "teal": 3172,
- "source": 801,
- "pc": [
- 3293,
- 3294
- ]
- },
- {
- "teal": 3177,
- "source": 802,
- "pc": [
- 3295,
- 3296
- ]
- },
- {
- "teal": 3178,
- "source": 802,
- "pc": [
- 3297,
- 3298,
- 3299
- ]
- },
- {
- "teal": 3179,
- "source": 802,
- "pc": [
- 3300,
- 3301
- ]
- },
- {
- "teal": 3180,
- "source": 802,
- "pc": [
- 3302
- ]
- },
- {
- "teal": 3181,
- "source": 802,
- "pc": [
- 3303
- ]
- },
- {
- "teal": 3182,
- "source": 802,
- "pc": [
- 3304,
- 3305,
- 3306
- ]
- },
- {
- "teal": 3183,
- "source": 802,
- "pc": [
- 3307,
- 3308
- ]
- },
- {
- "teal": 3184,
- "source": 802,
- "pc": [
- 3309,
- 3310,
- 3311
- ]
- },
- {
- "teal": 3185,
- "source": 802,
- "pc": [
- 3312
- ]
- },
- {
- "teal": 3186,
- "source": 802,
- "pc": [
- 3313,
- 3314
- ]
- },
- {
- "teal": 3187,
- "source": 802,
- "pc": [
- 3315
- ]
- },
- {
- "teal": 3188,
- "source": 802,
- "pc": [
- 3316
- ]
- },
- {
- "teal": 3191,
- "source": 802,
- "pc": [
- 3317,
- 3318,
- 3319
- ]
- },
- {
- "teal": 3196,
- "source": 803,
- "pc": [
- 3320,
- 3321
- ]
- },
- {
- "teal": 3197,
- "source": 803,
- "pc": [
- 3322,
- 3323
- ]
- },
- {
- "teal": 3198,
- "source": 803,
- "pc": [
- 3324,
- 3325,
- 3326
- ]
- },
- {
- "teal": 3199,
- "source": 803,
- "pc": [
- 3327
- ]
- },
- {
- "teal": 3200,
- "source": 803,
- "pc": [
- 3328
- ]
- },
- {
- "teal": 3201,
- "source": 803,
- "pc": [
- 3329,
- 3330
- ]
- },
- {
- "teal": 3206,
- "source": 805,
- "pc": [
- 3331,
- 3332
- ]
- },
- {
- "teal": 3207,
- "source": 805,
- "pc": [
- 3333,
- 3334
- ]
- },
- {
- "teal": 3208,
- "source": 805,
- "pc": [
- 3335
- ]
- },
- {
- "teal": 3209,
- "source": 805,
- "pc": [
- 3336,
- 3337,
- 3338
- ]
- },
- {
- "teal": 3215,
- "source": 810,
- "pc": [
- 3339,
- 3340
- ]
- },
- {
- "teal": 3216,
- "source": 810,
- "pc": [
- 3341
- ]
- },
- {
- "teal": 3217,
- "source": 810,
- "pc": [
- 3342
- ]
- },
- {
- "teal": 3218,
- "source": 810,
- "pc": [
- 3343,
- 3344,
- 3345
- ]
- },
- {
- "teal": 3223,
- "source": 811,
- "pc": [
- 3346,
- 3347
- ]
- },
- {
- "teal": 3224,
- "source": 811,
- "pc": [
- 3348,
- 3349,
- 3350
- ]
- },
- {
- "teal": 3225,
- "source": 811,
- "pc": [
- 3351
- ]
- },
- {
- "teal": 3226,
- "source": 811,
- "pc": [
- 3352,
- 3353
- ]
- },
- {
- "teal": 3227,
- "source": 811,
- "pc": [
- 3354
- ]
- },
- {
- "teal": 3228,
- "source": 811,
- "pc": [
- 3355
- ]
- },
- {
- "teal": 3229,
- "source": 811,
- "pc": [
- 3356,
- 3357
- ]
- },
- {
- "teal": 3230,
- "source": 811,
- "pc": [
- 3358
- ]
- },
- {
- "teal": 3231,
- "source": 811,
- "pc": [
- 3359
- ]
- },
- {
- "teal": 3232,
- "source": 811,
- "pc": [
- 3360
- ]
- },
- {
- "teal": 3233,
- "source": 811,
- "pc": [
- 3361
- ]
- },
- {
- "teal": 3234,
- "source": 811,
- "pc": [
- 3362
- ]
- },
- {
- "teal": 3237,
- "source": 811,
- "errorMessage": "wideRatio failed",
- "pc": [
- 3363
- ]
- },
- {
- "teal": 3238,
- "source": 811,
- "pc": [
- 3364,
- 3365
- ]
- },
- {
- "teal": 3242,
- "source": 814,
- "pc": [
- 3366,
- 3367
- ]
- },
- {
- "teal": 3243,
- "source": 814,
- "pc": [
- 3368,
- 3369
- ]
- },
- {
- "teal": 3244,
- "source": 814,
- "pc": [
- 3370,
- 3371
- ]
- },
- {
- "teal": 3245,
- "source": 814,
- "pc": [
- 3372,
- 3373,
- 3374
- ]
- },
- {
- "teal": 3246,
- "source": 814,
- "pc": [
- 3375
- ]
- },
- {
- "teal": 3247,
- "source": 814,
- "pc": [
- 3376,
- 3377
- ]
- },
- {
- "teal": 3248,
- "source": 814,
- "pc": [
- 3378
- ]
- },
- {
- "teal": 3249,
- "source": 814,
- "pc": [
- 3379
- ]
- },
- {
- "teal": 3250,
- "source": 814,
- "pc": [
- 3380
- ]
- },
- {
- "teal": 3251,
- "source": 814,
- "pc": [
- 3381,
- 3382
- ]
- },
- {
- "teal": 3255,
- "source": 815,
- "pc": [
- 3383,
- 3384
- ]
- },
- {
- "teal": 3256,
- "source": 815,
- "pc": [
- 3385,
- 3386
- ]
- },
- {
- "teal": 3257,
- "source": 815,
- "pc": [
- 3387
- ]
- },
- {
- "teal": 3258,
- "source": 815,
- "pc": [
- 3388,
- 3389
- ]
- },
- {
- "teal": 3264,
- "source": 817,
- "pc": [
- 3390,
- 3391
- ]
- },
- {
- "teal": 3265,
- "source": 817,
- "pc": [
- 3392
- ]
- },
- {
- "teal": 3266,
- "source": 817,
- "pc": [
- 3393
- ]
- },
- {
- "teal": 3267,
- "source": 817,
- "pc": [
- 3394,
- 3395,
- 3396
- ]
- },
- {
- "teal": 3272,
- "source": 818,
- "pc": [
- 3397,
- 3398
- ]
- },
- {
- "teal": 3273,
- "source": 818,
- "pc": [
- 3399,
- 3400,
- 3401
- ]
- },
- {
- "teal": 3274,
- "source": 818,
- "pc": [
- 3402
- ]
- },
- {
- "teal": 3275,
- "source": 818,
- "pc": [
- 3403,
- 3404
- ]
- },
- {
- "teal": 3276,
- "source": 818,
- "pc": [
- 3405
- ]
- },
- {
- "teal": 3277,
- "source": 818,
- "pc": [
- 3406
- ]
- },
- {
- "teal": 3278,
- "source": 818,
- "pc": [
- 3407,
- 3408
- ]
- },
- {
- "teal": 3279,
- "source": 818,
- "pc": [
- 3409
- ]
- },
- {
- "teal": 3280,
- "source": 818,
- "pc": [
- 3410
- ]
- },
- {
- "teal": 3281,
- "source": 818,
- "pc": [
- 3411
- ]
- },
- {
- "teal": 3282,
- "source": 818,
- "pc": [
- 3412
- ]
- },
- {
- "teal": 3283,
- "source": 818,
- "pc": [
- 3413
- ]
- },
- {
- "teal": 3286,
- "source": 818,
- "errorMessage": "wideRatio failed",
- "pc": [
- 3414
- ]
- },
- {
- "teal": 3287,
- "source": 818,
- "pc": [
- 3415,
- 3416
- ]
- },
- {
- "teal": 3291,
- "source": 821,
- "pc": [
- 3417,
- 3418
- ]
- },
- {
- "teal": 3292,
- "source": 821,
- "pc": [
- 3419,
- 3420
- ]
- },
- {
- "teal": 3293,
- "source": 821,
- "pc": [
- 3421,
- 3422
- ]
- },
- {
- "teal": 3294,
- "source": 821,
- "pc": [
- 3423,
- 3424,
- 3425
- ]
- },
- {
- "teal": 3295,
- "source": 821,
- "pc": [
- 3426
- ]
- },
- {
- "teal": 3296,
- "source": 821,
- "pc": [
- 3427,
- 3428
- ]
- },
- {
- "teal": 3297,
- "source": 821,
- "pc": [
- 3429
- ]
- },
- {
- "teal": 3298,
- "source": 821,
- "pc": [
- 3430
- ]
- },
- {
- "teal": 3299,
- "source": 821,
- "pc": [
- 3431
- ]
- },
- {
- "teal": 3300,
- "source": 821,
- "pc": [
- 3432,
- 3433
- ]
- },
- {
- "teal": 3304,
- "source": 822,
- "pc": [
- 3434,
- 3435
- ]
- },
- {
- "teal": 3305,
- "source": 822,
- "pc": [
- 3436,
- 3437
- ]
- },
- {
- "teal": 3306,
- "source": 822,
- "pc": [
- 3438,
- 3439
- ]
- },
- {
- "teal": 3307,
- "source": 822,
- "pc": [
- 3440,
- 3441,
- 3442
- ]
- },
- {
- "teal": 3308,
- "source": 822,
- "pc": [
- 3443
- ]
- },
- {
- "teal": 3309,
- "source": 822,
- "pc": [
- 3444,
- 3445
- ]
- },
- {
- "teal": 3310,
- "source": 822,
- "pc": [
- 3446
- ]
- },
- {
- "teal": 3311,
- "source": 822,
- "pc": [
- 3447
- ]
- },
- {
- "teal": 3312,
- "source": 822,
- "pc": [
- 3448
- ]
- },
- {
- "teal": 3313,
- "source": 822,
- "pc": [
- 3449,
- 3450
- ]
- },
- {
- "teal": 3317,
- "source": 823,
- "pc": [
- 3451,
- 3452
- ]
- },
- {
- "teal": 3318,
- "source": 823,
- "pc": [
- 3453,
- 3454
- ]
- },
- {
- "teal": 3319,
- "source": 823,
- "pc": [
- 3455
- ]
- },
- {
- "teal": 3320,
- "source": 823,
- "pc": [
- 3456,
- 3457
- ]
- },
- {
- "teal": 3325,
- "source": 827,
- "pc": [
- 3458,
- 3459
- ]
- },
- {
- "teal": 3326,
- "source": 827,
- "pc": [
- 3460
- ]
- },
- {
- "teal": 3327,
- "source": 827,
- "pc": [
- 3461
- ]
- },
- {
- "teal": 3328,
- "source": 827,
- "pc": [
- 3462,
- 3463
- ]
- },
- {
- "teal": 3329,
- "source": 827,
- "pc": [
- 3464
- ]
- },
- {
- "teal": 3330,
- "source": 827,
- "pc": [
- 3465,
- 3466
- ]
- },
- {
- "teal": 3331,
- "source": 827,
- "pc": [
- 3467
- ]
- },
- {
- "teal": 3340,
- "source": 797,
- "pc": [
- 3468,
- 3469
- ]
- },
- {
- "teal": 3341,
- "source": 797,
- "pc": [
- 3470
- ]
- },
- {
- "teal": 3342,
- "source": 797,
- "pc": [
- 3471
- ]
- },
- {
- "teal": 3343,
- "source": 797,
- "pc": [
- 3472,
- 3473
- ]
- },
- {
- "teal": 3344,
- "source": 797,
- "pc": [
- 3474,
- 3475,
- 3476
- ]
- },
- {
- "teal": 3353,
- "source": 837,
- "pc": [
- 3477,
- 3478
- ]
- },
- {
- "teal": 3354,
- "source": 837,
- "pc": [
- 3479
- ]
- },
- {
- "teal": 3355,
- "source": 837,
- "pc": [
- 3480,
- 3481
- ]
- },
- {
- "teal": 3356,
- "source": 837,
- "pc": [
- 3482
- ]
- },
- {
- "teal": 3357,
- "source": 837,
- "pc": [
- 3483
- ]
- },
- {
- "teal": 3358,
- "source": 837,
- "pc": [
- 3484,
- 3485
- ]
- },
- {
- "teal": 3359,
- "source": 837,
- "pc": [
- 3486
- ]
- },
- {
- "teal": 3360,
- "source": 837,
- "pc": [
- 3487,
- 3488
- ]
- },
- {
- "teal": 3364,
- "source": 838,
- "pc": [
- 3489,
- 3490
- ]
- },
- {
- "teal": 3365,
- "source": 838,
- "pc": [
- 3491
- ]
- },
- {
- "teal": 3366,
- "source": 838,
- "pc": [
- 3492,
- 3493
- ]
- },
- {
- "teal": 3367,
- "source": 838,
- "pc": [
- 3494
- ]
- },
- {
- "teal": 3368,
- "source": 838,
- "pc": [
- 3495,
- 3496
- ]
- },
- {
- "teal": 3369,
- "source": 838,
- "pc": [
- 3497
- ]
- },
- {
- "teal": 3370,
- "source": 838,
- "pc": [
- 3498
- ]
- },
- {
- "teal": 3375,
- "source": 839,
- "pc": [
- 3499,
- 3500
- ]
- },
- {
- "teal": 3376,
- "source": 839,
- "pc": [
- 3501
- ]
- },
- {
- "teal": 3377,
- "source": 840,
- "pc": [
- 3502
- ]
- },
- {
- "teal": 3378,
- "source": 840,
- "pc": [
- 3503,
- 3504
- ]
- },
- {
- "teal": 3379,
- "source": 840,
- "pc": [
- 3505
- ]
- },
- {
- "teal": 3380,
- "source": 840,
- "pc": [
- 3506,
- 3507
- ]
- },
- {
- "teal": 3381,
- "source": 840,
- "pc": [
- 3508
- ]
- },
- {
- "teal": 3382,
- "source": 840,
- "pc": [
- 3509
- ]
- },
- {
- "teal": 3383,
- "source": 840,
- "pc": [
- 3510
- ]
- },
- {
- "teal": 3384,
- "source": 840,
- "pc": [
- 3511
- ]
- },
- {
- "teal": 3385,
- "source": 840,
- "pc": [
- 3512
- ]
- },
- {
- "teal": 3386,
- "source": 840,
- "pc": [
- 3513,
- 3514
- ]
- },
- {
- "teal": 3387,
- "source": 840,
- "pc": [
- 3515
- ]
- },
- {
- "teal": 3390,
- "source": 840,
- "errorMessage": "this.stakeAccumulator.value + (increasedStake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits",
- "pc": [
- 3516
- ]
- },
- {
- "teal": 3391,
- "source": 840,
- "pc": [
- 3517,
- 3518
- ]
- },
- {
- "teal": 3392,
- "source": 840,
- "pc": [
- 3519
- ]
- },
- {
- "teal": 3393,
- "source": 840,
- "pc": [
- 3520
- ]
- },
- {
- "teal": 3394,
- "source": 840,
- "pc": [
- 3521
- ]
- },
- {
- "teal": 3395,
- "source": 840,
- "pc": [
- 3522
- ]
- },
- {
- "teal": 3396,
- "source": 840,
- "pc": [
- 3523,
- 3524
- ]
- },
- {
- "teal": 3397,
- "source": 840,
- "pc": [
- 3525
- ]
- },
- {
- "teal": 3398,
- "source": 840,
- "pc": [
- 3526
- ]
- },
- {
- "teal": 3399,
- "source": 840,
- "pc": [
- 3527
- ]
- },
- {
- "teal": 3400,
- "source": 839,
- "pc": [
- 3528
- ]
- },
- {
- "teal": 3404,
- "source": 841,
- "pc": [
- 3529,
- 3530
- ]
- },
- {
- "teal": 3405,
- "source": 841,
- "pc": [
- 3531
- ]
- },
- {
- "teal": 3406,
- "source": 841,
- "pc": [
- 3532
- ]
- },
- {
- "teal": 3407,
- "source": 841,
- "pc": [
- 3533,
- 3534
- ]
- },
- {
- "teal": 3408,
- "source": 841,
- "pc": [
- 3535
- ]
- },
- {
- "teal": 3409,
- "source": 841,
- "pc": [
- 3536
- ]
- },
- {
- "teal": 3422,
- "source": 847,
- "pc": [
- 3537
- ]
- },
- {
- "teal": 3423,
- "source": 847,
- "pc": [
- 3538
- ]
- },
- {
- "teal": 3424,
- "source": 847,
- "pc": [
- 3539,
- 3540
- ]
- },
- {
- "teal": 3425,
- "source": 847,
- "pc": [
- 3541,
- 3542,
- 3543,
- 3544,
- 3545,
- 3546
- ]
- },
- {
- "teal": 3426,
- "source": 847,
- "pc": [
- 3547,
- 3548
- ]
- },
- {
- "teal": 3430,
- "source": 848,
- "pc": [
- 3549
- ]
- },
- {
- "teal": 3431,
- "source": 848,
- "pc": [
- 3550
- ]
- },
- {
- "teal": 3432,
- "source": 848,
- "pc": [
- 3551,
- 3552
- ]
- },
- {
- "teal": 3442,
- "source": 850,
- "pc": [
- 3553
- ]
- },
- {
- "teal": 3443,
- "source": 850,
- "pc": [
- 3554
- ]
- },
- {
- "teal": 3444,
- "source": 850,
- "pc": [
- 3555
- ]
- },
- {
- "teal": 3445,
- "source": 850,
- "pc": [
- 3556
- ]
- },
- {
- "teal": 3446,
- "source": 850,
- "pc": [
- 3557
- ]
- },
- {
- "teal": 3447,
- "source": 850,
- "pc": [
- 3558
- ]
- },
- {
- "teal": 3448,
- "source": 850,
- "pc": [
- 3559
- ]
- },
- {
- "teal": 3449,
- "source": 850,
- "pc": [
- 3560,
- 3561,
- 3562
- ]
- },
- {
- "teal": 3450,
- "source": 850,
- "pc": [
- 3563
- ]
- },
- {
- "teal": 3451,
- "source": 850,
- "pc": [
- 3564
- ]
- },
- {
- "teal": 3452,
- "source": 850,
- "pc": [
- 3565,
- 3566
- ]
- },
- {
- "teal": 3453,
- "source": 851,
- "pc": [
- 3567,
- 3568
- ]
- },
- {
- "teal": 3454,
- "source": 851,
- "pc": [
- 3569
- ]
- },
- {
- "teal": 3455,
- "source": 851,
- "pc": [
- 3570,
- 3571
- ]
- },
- {
- "teal": 3456,
- "source": 852,
- "pc": [
- 3572,
- 3573
- ]
- },
- {
- "teal": 3457,
- "source": 852,
- "pc": [
- 3574
- ]
- },
- {
- "teal": 3458,
- "source": 852,
- "pc": [
- 3575,
- 3576
- ]
- },
- {
- "teal": 3459,
- "source": 853,
- "pc": [
- 3577,
- 3578
- ]
- },
- {
- "teal": 3460,
- "source": 853,
- "pc": [
- 3579
- ]
- },
- {
- "teal": 3461,
- "source": 853,
- "pc": [
- 3580,
- 3581
- ]
- },
- {
- "teal": 3462,
- "source": 854,
- "pc": [
- 3582,
- 3583
- ]
- },
- {
- "teal": 3463,
- "source": 854,
- "pc": [
- 3584
- ]
- },
- {
- "teal": 3464,
- "source": 854,
- "pc": [
- 3585,
- 3586
- ]
- },
- {
- "teal": 3467,
- "source": 847,
- "pc": [
- 3587
- ]
- },
- {
- "teal": 3468,
- "source": 847,
- "pc": [
- 3588,
- 3589
- ]
- },
- {
- "teal": 3471,
- "source": 847,
- "pc": [
- 3590
- ]
- },
- {
- "teal": 3472,
- "source": 518,
- "pc": [
- 3591
- ]
- },
- {
- "teal": 3477,
- "source": 879,
- "pc": [
- 3592,
- 3593,
- 3594
- ]
- },
- {
- "teal": 3478,
- "source": 879,
- "pc": [
- 3595
- ]
- },
- {
- "teal": 3481,
- "source": 878,
- "pc": [
- 3596,
- 3597,
- 3598
- ]
- },
- {
- "teal": 3482,
- "source": 878,
- "pc": [
- 3599
- ]
- },
- {
- "teal": 3485,
- "source": 877,
- "pc": [
- 3600,
- 3601,
- 3602
- ]
- },
- {
- "teal": 3486,
- "source": 877,
- "pc": [
- 3603
- ]
- },
- {
- "teal": 3489,
- "source": 876,
- "pc": [
- 3604,
- 3605,
- 3606
- ]
- },
- {
- "teal": 3490,
- "source": 876,
- "pc": [
- 3607,
- 3608,
- 3609
- ]
- },
- {
- "teal": 3493,
- "source": 875,
- "pc": [
- 3610,
- 3611,
- 3612
- ]
- },
- {
- "teal": 3494,
- "source": 875,
- "pc": [
- 3613,
- 3614,
- 3615
- ]
- },
- {
- "teal": 3497,
- "source": 874,
- "pc": [
- 3616,
- 3617,
- 3618
- ]
- },
- {
- "teal": 3498,
- "source": 874,
- "pc": [
- 3619,
- 3620,
- 3621
- ]
- },
- {
- "teal": 3501,
- "source": 873,
- "pc": [
- 3622,
- 3623
- ]
- },
- {
- "teal": 3502,
- "source": 873,
- "pc": [
- 3624
- ]
- },
- {
- "teal": 3503,
- "source": 873,
- "pc": [
- 3625
- ]
- },
- {
- "teal": 3504,
- "source": 873,
- "pc": [
- 3626
- ]
- },
- {
- "teal": 3505,
- "source": 873,
- "pc": [
- 3627,
- 3628
- ]
- },
- {
- "teal": 3506,
- "source": 873,
- "pc": [
- 3629
- ]
- },
- {
- "teal": 3507,
- "source": 873,
- "pc": [
- 3630
- ]
- },
- {
- "teal": 3510,
- "source": 873,
- "errorMessage": "argument 6 (feePayment) for goOnline must be a pay transaction",
- "pc": [
- 3631
- ]
- },
- {
- "teal": 3513,
- "source": 872,
- "pc": [
- 3632,
- 3633,
- 3634
- ]
- },
- {
- "teal": 3514,
- "source": 872,
- "pc": [
- 3635
- ]
- },
- {
- "teal": 3515,
- "source": 872,
- "pc": [
- 3636
- ]
- },
- {
- "teal": 3531,
- "source": 872,
- "pc": [
- 3637,
- 3638,
- 3639
- ]
- },
- {
- "teal": 3534,
- "source": 872,
- "pc": [
- 3640,
- 3641
- ]
- },
- {
- "teal": 3538,
- "source": 881,
- "pc": [
- 3642,
- 3643,
- 3644
- ]
- },
- {
- "teal": 3541,
- "source": 881,
- "errorMessage": "can only be called by owner or manager of validator",
- "pc": [
- 3645
- ]
- },
- {
- "teal": 3545,
- "source": 882,
- "pc": [
- 3646,
- 3647,
- 3648
- ]
- },
- {
- "teal": 3546,
- "source": 882,
- "pc": [
- 3649,
- 3650
- ]
- },
- {
- "teal": 3551,
- "source": 883,
- "pc": [
- 3651,
- 3652
- ]
- },
- {
- "teal": 3552,
- "source": 883,
- "pc": [
- 3653,
- 3654
- ]
- },
- {
- "teal": 3553,
- "source": 883,
- "pc": [
- 3655,
- 3656
- ]
- },
- {
- "teal": 3554,
- "source": 883,
- "pc": [
- 3657
- ]
- },
- {
- "teal": 3557,
- "source": 883,
- "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 3658
- ]
- },
- {
- "teal": 3560,
- "source": 883,
- "pc": [
- 3659,
- 3660
- ]
- },
- {
- "teal": 3561,
- "source": 883,
- "pc": [
- 3661,
- 3662
- ]
- },
- {
- "teal": 3562,
- "source": 883,
- "pc": [
- 3663,
- 3664
- ]
- },
- {
- "teal": 3563,
- "source": 883,
- "pc": [
- 3665
- ]
- },
- {
- "teal": 3566,
- "source": 883,
- "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"amount\",\"expected\":\"extraFee\"}",
- "pc": [
- 3666
- ]
- },
- {
- "teal": 3578,
- "source": 884,
- "pc": [
- 3667
- ]
- },
- {
- "teal": 3579,
- "source": 884,
- "pc": [
- 3668,
- 3669
- ]
- },
- {
- "teal": 3580,
- "source": 884,
- "pc": [
- 3670,
- 3671
- ]
- },
- {
- "teal": 3584,
- "source": 885,
- "pc": [
- 3672,
- 3673
- ]
- },
- {
- "teal": 3585,
- "source": 885,
- "pc": [
- 3674,
- 3675
- ]
- },
- {
- "teal": 3589,
- "source": 886,
- "pc": [
- 3676,
- 3677
- ]
- },
- {
- "teal": 3590,
- "source": 886,
- "pc": [
- 3678,
- 3679
- ]
- },
- {
- "teal": 3594,
- "source": 887,
- "pc": [
- 3680,
- 3681
- ]
- },
- {
- "teal": 3595,
- "source": 887,
- "pc": [
- 3682,
- 3683
- ]
- },
- {
- "teal": 3599,
- "source": 888,
- "pc": [
- 3684,
- 3685
- ]
- },
- {
- "teal": 3600,
- "source": 888,
- "pc": [
- 3686,
- 3687
- ]
- },
- {
- "teal": 3604,
- "source": 889,
- "pc": [
- 3688,
- 3689
- ]
- },
- {
- "teal": 3605,
- "source": 889,
- "pc": [
- 3690,
- 3691
- ]
- },
- {
- "teal": 3609,
- "source": 890,
- "pc": [
- 3692,
- 3693
- ]
- },
- {
- "teal": 3610,
- "source": 890,
- "pc": [
- 3694,
- 3695
- ]
- },
- {
- "teal": 3614,
- "source": 891,
- "pc": [
- 3696,
- 3697,
- 3698
- ]
- },
- {
- "teal": 3615,
- "source": 891,
- "pc": [
- 3699,
- 3700
- ]
- },
- {
- "teal": 3618,
- "source": 884,
- "pc": [
- 3701
- ]
- },
- {
- "teal": 3619,
- "source": 872,
- "pc": [
- 3702
- ]
- },
- {
- "teal": 3624,
- "source": 900,
- "pc": [
- 3703,
- 3704,
- 3705
- ]
- },
- {
- "teal": 3625,
- "source": 900,
- "pc": [
- 3706
- ]
- },
- {
- "teal": 3626,
- "source": 900,
- "pc": [
- 3707
- ]
- },
- {
- "teal": 3633,
- "source": 900,
- "pc": [
- 3708,
- 3709,
- 3710
- ]
- },
- {
- "teal": 3638,
- "source": 903,
- "pc": [
- 3711,
- 3712
- ]
- },
- {
- "teal": 3639,
- "source": 903,
- "pc": [
- 3713
- ]
- },
- {
- "teal": 3640,
- "source": 903,
- "pc": [
- 3714
- ]
- },
- {
- "teal": 3641,
- "source": 903,
- "pc": [
- 3715,
- 3716
- ]
- },
- {
- "teal": 3642,
- "source": 903,
- "pc": [
- 3717
- ]
- },
- {
- "teal": 3643,
- "source": 903,
- "pc": [
- 3718
- ]
- },
- {
- "teal": 3644,
- "source": 903,
- "pc": [
- 3719,
- 3720,
- 3721
- ]
- },
- {
- "teal": 3649,
- "source": 904,
- "pc": [
- 3722,
- 3723,
- 3724
- ]
- },
- {
- "teal": 3652,
- "source": 904,
- "errorMessage": "can only be called by owner or manager of validator",
- "pc": [
- 3725
- ]
- },
- {
- "teal": 3657,
- "source": 907,
- "pc": [
- 3726
- ]
- },
- {
- "teal": 3658,
- "source": 907,
- "pc": [
- 3727,
- 3728
- ]
- },
- {
- "teal": 3659,
- "source": 907,
- "pc": [
- 3729,
- 3730
- ]
- },
- {
- "teal": 3662,
- "source": 907,
- "pc": [
- 3731
- ]
- },
- {
- "teal": 3663,
- "source": 907,
- "pc": [
- 3732,
- 3733
- ]
- },
- {
- "teal": 3666,
- "source": 907,
- "pc": [
- 3734
- ]
- },
- {
- "teal": 3667,
- "source": 900,
- "pc": [
- 3735
- ]
- },
- {
- "teal": 3672,
- "source": 913,
- "pc": [
- 3736,
- 3737,
- 3738
- ]
- },
- {
- "teal": 3673,
- "source": 913,
- "pc": [
- 3739,
- 3740,
- 3741
- ]
- },
- {
- "teal": 3676,
- "source": 913,
- "pc": [
- 3742,
- 3743,
- 3744
- ]
- },
- {
- "teal": 3677,
- "source": 913,
- "pc": [
- 3745
- ]
- },
- {
- "teal": 3680,
- "source": 913,
- "pc": [
- 3746,
- 3747,
- 3748
- ]
- },
- {
- "teal": 3681,
- "source": 913,
- "pc": [
- 3749
- ]
- },
- {
- "teal": 3682,
- "source": 913,
- "pc": [
- 3750
- ]
- },
- {
- "teal": 3686,
- "source": 913,
- "pc": [
- 3751,
- 3752,
- 3753
- ]
- },
- {
- "teal": 3690,
- "source": 914,
- "pc": [
- 3754,
- 3755,
- 3756
- ]
- },
- {
- "teal": 3693,
- "source": 914,
- "errorMessage": "can only be called by owner or manager of validator",
- "pc": [
- 3757
- ]
- },
- {
- "teal": 3701,
- "source": 916,
- "pc": [
- 3758
- ]
- },
- {
- "teal": 3702,
- "source": 916,
- "pc": [
- 3759
- ]
- },
- {
- "teal": 3703,
- "source": 916,
- "pc": [
- 3760,
- 3761
- ]
- },
- {
- "teal": 3707,
- "source": 917,
- "pc": [
- 3762,
- 3763
- ]
- },
- {
- "teal": 3708,
- "source": 917,
- "pc": [
- 3764,
- 3765
- ]
- },
- {
- "teal": 3712,
- "source": 918,
- "pc": [
- 3766,
- 3767,
- 3768,
- 3769,
- 3770,
- 3771,
- 3772,
- 3773,
- 3774,
- 3775,
- 3776,
- 3777,
- 3778,
- 3779,
- 3780,
- 3781,
- 3782
- ]
- },
- {
- "teal": 3713,
- "source": 918,
- "pc": [
- 3783,
- 3784
- ]
- },
- {
- "teal": 3714,
- "source": 918,
- "pc": [
- 3785,
- 3786
- ]
- },
- {
- "teal": 3715,
- "source": 918,
- "pc": [
- 3787,
- 3788
- ]
- },
- {
- "teal": 3716,
- "source": 918,
- "pc": [
- 3789,
- 3790
- ]
- },
- {
- "teal": 3717,
- "source": 918,
- "pc": [
- 3791
- ]
- },
- {
- "teal": 3718,
- "source": 918,
- "pc": [
- 3792,
- 3793
- ]
- },
- {
- "teal": 3719,
- "source": 918,
- "pc": [
- 3794,
- 3795
- ]
- },
- {
- "teal": 3720,
- "source": 918,
- "pc": [
- 3796,
- 3797
- ]
- },
- {
- "teal": 3724,
- "source": 919,
- "pc": [
- 3798,
- 3799
- ]
- },
- {
- "teal": 3725,
- "source": 919,
- "pc": [
- 3800,
- 3801
- ]
- },
- {
- "teal": 3728,
- "source": 916,
- "pc": [
- 3802
- ]
- },
- {
- "teal": 3729,
- "source": 916,
- "pc": [
- 3803,
- 3804
- ]
- },
- {
- "teal": 3732,
- "source": 916,
- "pc": [
- 3805
- ]
- },
- {
- "teal": 3733,
- "source": 913,
- "pc": [
- 3806
- ]
- },
- {
- "teal": 3738,
- "source": 929,
- "pc": [
- 3807,
- 3808
- ]
- },
- {
- "teal": 3741,
- "source": 929,
- "pc": [
- 3809,
- 3810,
- 3811
- ]
- },
- {
- "teal": 3742,
- "source": 929,
- "pc": [
- 3812
- ]
- },
- {
- "teal": 3743,
- "source": 929,
- "pc": [
- 3813
- ]
- },
- {
- "teal": 3744,
- "source": 929,
- "pc": [
- 3814,
- 3815
- ]
- },
- {
- "teal": 3745,
- "source": 929,
- "pc": [
- 3816
- ]
- },
- {
- "teal": 3748,
- "source": 929,
- "errorMessage": "argument 0 (poolKey) for proxiedSetTokenPayoutRatio must be a (uint64,uint64,uint64)",
- "pc": [
- 3817
- ]
- },
- {
- "teal": 3751,
- "source": 929,
- "pc": [
- 3818,
- 3819,
- 3820
- ]
- },
- {
- "teal": 3752,
- "source": 929,
- "pc": [
- 3821
- ]
- },
- {
- "teal": 3753,
- "source": 929,
- "pc": [
- 3822
- ]
- },
- {
- "teal": 3754,
- "source": 929,
- "pc": [
- 3823
- ]
- },
- {
- "teal": 3755,
- "source": 929,
- "pc": [
- 3824
- ]
- },
- {
- "teal": 3764,
- "source": 929,
- "pc": [
- 3825,
- 3826,
- 3827
- ]
- },
- {
- "teal": 3767,
- "source": 929,
- "pc": [
- 3828,
- 3829
- ]
- },
- {
- "teal": 3771,
- "source": 930,
- "pc": [
- 3830
- ]
- },
- {
- "teal": 3772,
- "source": 930,
- "pc": [
- 3831
- ]
- },
- {
- "teal": 3773,
- "source": 930,
- "pc": [
- 3832,
- 3833
- ]
- },
- {
- "teal": 3774,
- "source": 930,
- "pc": [
- 3834,
- 3835,
- 3836
- ]
- },
- {
- "teal": 3775,
- "source": 930,
- "pc": [
- 3837
- ]
- },
- {
- "teal": 3776,
- "source": 930,
- "pc": [
- 3838
- ]
- },
- {
- "teal": 3779,
- "source": 930,
- "errorMessage": "caller must be part of same validator set!",
- "pc": [
- 3839
- ]
- },
- {
- "teal": 3783,
- "source": 931,
- "pc": [
- 3840
- ]
- },
- {
- "teal": 3784,
- "source": 931,
- "pc": [
- 3841
- ]
- },
- {
- "teal": 3785,
- "source": 931,
- "pc": [
- 3842
- ]
- },
- {
- "teal": 3786,
- "source": 931,
- "pc": [
- 3843
- ]
- },
- {
- "teal": 3789,
- "source": 931,
- "errorMessage": "callee must be pool 1",
- "pc": [
- 3844
- ]
- },
- {
- "teal": 3793,
- "source": 932,
- "pc": [
- 3845,
- 3846
- ]
- },
- {
- "teal": 3794,
- "source": 932,
- "pc": [
- 3847,
- 3848,
- 3849
- ]
- },
- {
- "teal": 3795,
- "source": 932,
- "pc": [
- 3850
- ]
- },
- {
- "teal": 3796,
- "source": 932,
- "pc": [
- 3851
- ]
- },
- {
- "teal": 3797,
- "source": 932,
- "pc": [
- 3852
- ]
- },
- {
- "teal": 3800,
- "source": 932,
- "errorMessage": "caller must NOT be pool 1",
- "pc": [
- 3853
- ]
- },
- {
- "teal": 3807,
- "source": 934,
- "pc": [
- 3854
- ]
- },
- {
- "teal": 3808,
- "source": 934,
- "pc": [
- 3855
- ]
- },
- {
- "teal": 3809,
- "source": 934,
- "pc": [
- 3856,
- 3857
- ]
- },
- {
- "teal": 3810,
- "source": 934,
- "pc": [
- 3858,
- 3859
- ]
- },
- {
- "teal": 3811,
- "source": 934,
- "pc": [
- 3860,
- 3861
- ]
- },
- {
- "teal": 3815,
- "source": 935,
- "pc": [
- 3862
- ]
- },
- {
- "teal": 3816,
- "source": 935,
- "pc": [
- 3863
- ]
- },
- {
- "teal": 3817,
- "source": 935,
- "pc": [
- 3864,
- 3865
- ]
- },
- {
- "teal": 3821,
- "source": 936,
- "pc": [
- 3866,
- 3867
- ]
- },
- {
- "teal": 3822,
- "source": 936,
- "pc": [
- 3868,
- 3869,
- 3870
- ]
- },
- {
- "teal": 3823,
- "source": 936,
- "pc": [
- 3871
- ]
- },
- {
- "teal": 3824,
- "source": 936,
- "pc": [
- 3872
- ]
- },
- {
- "teal": 3825,
- "source": 936,
- "pc": [
- 3873,
- 3874
- ]
- },
- {
- "teal": 3826,
- "source": 936,
- "pc": [
- 3875,
- 3876
- ]
- },
- {
- "teal": 3827,
- "source": 936,
- "pc": [
- 3877,
- 3878,
- 3879
- ]
- },
- {
- "teal": 3828,
- "source": 936,
- "pc": [
- 3880
- ]
- },
- {
- "teal": 3829,
- "source": 936,
- "pc": [
- 3881
- ]
- },
- {
- "teal": 3830,
- "source": 936,
- "pc": [
- 3882,
- 3883
- ]
- },
- {
- "teal": 3833,
- "source": 934,
- "pc": [
- 3884
- ]
- },
- {
- "teal": 3834,
- "source": 934,
- "pc": [
- 3885,
- 3886
- ]
- },
- {
- "teal": 3837,
- "source": 934,
- "pc": [
- 3887
- ]
- },
- {
- "teal": 3838,
- "source": 934,
- "pc": [
- 3888,
- 3889
- ]
- },
- {
- "teal": 3839,
- "source": 934,
- "pc": [
- 3890
- ]
- },
- {
- "teal": 3840,
- "source": 934,
- "pc": [
- 3891
- ]
- },
- {
- "teal": 3841,
- "source": 934,
- "pc": [
- 3892,
- 3893
- ]
- },
- {
- "teal": 3842,
- "source": 934,
- "pc": [
- 3894,
- 3895,
- 3896
- ]
- },
- {
- "teal": 3843,
- "source": 934,
- "pc": [
- 3897
- ]
- },
- {
- "teal": 3844,
- "source": 934,
- "pc": [
- 3898,
- 3899
- ]
- },
- {
- "teal": 3848,
- "source": 938,
- "pc": [
- 3900,
- 3901
- ]
- },
- {
- "teal": 3849,
- "source": 938,
- "pc": [
- 3902,
- 3903
- ]
- },
- {
- "teal": 3850,
- "source": 938,
- "pc": [
- 3904,
- 3905,
- 3906
- ]
- },
- {
- "teal": 3851,
- "source": 938,
- "pc": [
- 3907
- ]
- },
- {
- "teal": 3852,
- "source": 938,
- "pc": [
- 3908
- ]
- },
- {
- "teal": 3853,
- "source": 938,
- "pc": [
- 3909
- ]
- },
- {
- "teal": 3857,
- "source": 939,
- "pc": [
- 3910,
- 3911
- ]
- },
- {
- "teal": 3858,
- "source": 939,
- "pc": [
- 3912,
- 3913
- ]
- },
- {
- "teal": 3859,
- "source": 939,
- "pc": [
- 3914,
- 3915,
- 3916
- ]
- },
- {
- "teal": 3860,
- "source": 939,
- "pc": [
- 3917
- ]
- },
- {
- "teal": 3861,
- "source": 939,
- "pc": [
- 3918,
- 3919
- ]
- },
- {
- "teal": 3862,
- "source": 939,
- "pc": [
- 3920
- ]
- },
- {
- "teal": 3863,
- "source": 939,
- "pc": [
- 3921
- ]
- },
- {
- "teal": 3864,
- "source": 939,
- "pc": [
- 3922
- ]
- },
- {
- "teal": 3871,
- "source": 941,
- "pc": [
- 3923
- ]
- },
- {
- "teal": 3872,
- "source": 941,
- "pc": [
- 3924
- ]
- },
- {
- "teal": 3873,
- "source": 941,
- "pc": [
- 3925,
- 3926
- ]
- },
- {
- "teal": 3874,
- "source": 941,
- "pc": [
- 3927,
- 3928
- ]
- },
- {
- "teal": 3875,
- "source": 941,
- "pc": [
- 3929,
- 3930
- ]
- },
- {
- "teal": 3879,
- "source": 942,
- "pc": [
- 3931
- ]
- },
- {
- "teal": 3880,
- "source": 942,
- "pc": [
- 3932
- ]
- },
- {
- "teal": 3881,
- "source": 942,
- "pc": [
- 3933,
- 3934
- ]
- },
- {
- "teal": 3885,
- "source": 943,
- "pc": [
- 3935
- ]
- },
- {
- "teal": 3886,
- "source": 943,
- "pc": [
- 3936
- ]
- },
- {
- "teal": 3887,
- "source": 943,
- "pc": [
- 3937
- ]
- },
- {
- "teal": 3888,
- "source": 943,
- "pc": [
- 3938,
- 3939
- ]
- },
- {
- "teal": 3891,
- "source": 941,
- "pc": [
- 3940
- ]
- },
- {
- "teal": 3892,
- "source": 941,
- "pc": [
- 3941,
- 3942
- ]
- },
- {
- "teal": 3895,
- "source": 941,
- "pc": [
- 3943
- ]
- },
- {
- "teal": 3896,
- "source": 941,
- "pc": [
- 3944,
- 3945
- ]
- },
- {
- "teal": 3897,
- "source": 941,
- "pc": [
- 3946
- ]
- },
- {
- "teal": 3898,
- "source": 941,
- "pc": [
- 3947
- ]
- },
- {
- "teal": 3899,
- "source": 941,
- "pc": [
- 3948,
- 3949
- ]
- },
- {
- "teal": 3900,
- "source": 941,
- "pc": [
- 3950,
- 3951,
- 3952
- ]
- },
- {
- "teal": 3903,
- "source": 929,
- "pc": [
- 3953,
- 3954
- ]
- },
- {
- "teal": 3904,
- "source": 929,
- "pc": [
- 3955
- ]
- },
- {
- "teal": 3908,
- "source": 947,
- "pc": [
- 3956,
- 3957,
- 3958
- ]
- },
- {
- "teal": 3911,
- "source": 947,
- "pc": [
- 3959,
- 3960
- ]
- },
- {
- "teal": 3918,
- "source": 948,
- "pc": [
- 3961
- ]
- },
- {
- "teal": 3919,
- "source": 948,
- "pc": [
- 3962
- ]
- },
- {
- "teal": 3920,
- "source": 948,
- "pc": [
- 3963,
- 3964
- ]
- },
- {
- "teal": 3921,
- "source": 948,
- "pc": [
- 3965,
- 3966,
- 3967,
- 3968,
- 3969,
- 3970
- ]
- },
- {
- "teal": 3922,
- "source": 948,
- "pc": [
- 3971,
- 3972
- ]
- },
- {
- "teal": 3926,
- "source": 949,
- "pc": [
- 3973
- ]
- },
- {
- "teal": 3927,
- "source": 949,
- "pc": [
- 3974
- ]
- },
- {
- "teal": 3928,
- "source": 949,
- "pc": [
- 3975,
- 3976
- ]
- },
- {
- "teal": 3932,
- "source": 950,
- "pc": [
- 3977
- ]
- },
- {
- "teal": 3933,
- "source": 950,
- "pc": [
- 3978
- ]
- },
- {
- "teal": 3934,
- "source": 950,
- "pc": [
- 3979
- ]
- },
- {
- "teal": 3935,
- "source": 950,
- "pc": [
- 3980,
- 3981
- ]
- },
- {
- "teal": 3938,
- "source": 948,
- "pc": [
- 3982
- ]
- },
- {
- "teal": 3939,
- "source": 948,
- "pc": [
- 3983,
- 3984
- ]
- },
- {
- "teal": 3942,
- "source": 948,
- "pc": [
- 3985
- ]
- },
- {
- "teal": 3943,
- "source": 948,
- "pc": [
- 3986,
- 3987
- ]
- },
- {
- "teal": 3944,
- "source": 948,
- "pc": [
- 3988
- ]
- },
- {
- "teal": 3945,
- "source": 948,
- "pc": [
- 3989
- ]
- },
- {
- "teal": 3946,
- "source": 948,
- "pc": [
- 3990,
- 3991
- ]
- },
- {
- "teal": 3947,
- "source": 948,
- "pc": [
- 3992,
- 3993,
- 3994
- ]
- },
- {
- "teal": 3948,
- "source": 948,
- "pc": [
- 3995,
- 3996
- ]
- },
- {
- "teal": 3952,
- "source": 952,
- "pc": [
- 3997,
- 3998
- ]
- },
- {
- "teal": 3953,
- "source": 952,
- "pc": [
- 3999,
- 4000
- ]
- },
- {
- "teal": 3954,
- "source": 952,
- "pc": [
- 4001,
- 4002,
- 4003
- ]
- },
- {
- "teal": 3955,
- "source": 952,
- "pc": [
- 4004
- ]
- },
- {
- "teal": 3956,
- "source": 952,
- "pc": [
- 4005
- ]
- },
- {
- "teal": 3957,
- "source": 952,
- "pc": [
- 4006,
- 4007,
- 4008
- ]
- },
- {
- "teal": 3958,
- "source": 952,
- "pc": [
- 4009,
- 4010
- ]
- },
- {
- "teal": 3959,
- "source": 952,
- "pc": [
- 4011,
- 4012
- ]
- },
- {
- "teal": 3960,
- "source": 952,
- "pc": [
- 4013,
- 4014,
- 4015
- ]
- },
- {
- "teal": 3961,
- "source": 952,
- "pc": [
- 4016
- ]
- },
- {
- "teal": 3962,
- "source": 952,
- "pc": [
- 4017
- ]
- },
- {
- "teal": 3966,
- "source": 947,
- "pc": [
- 4018,
- 4019
- ]
- },
- {
- "teal": 3967,
- "source": 947,
- "pc": [
- 4020
- ]
- },
- {
- "teal": 3971,
- "source": 955,
- "pc": [
- 4021,
- 4022,
- 4023
- ]
- },
- {
- "teal": 3975,
- "source": 956,
- "pc": [
- 4024,
- 4025
- ]
- },
- {
- "teal": 3976,
- "source": 955,
- "pc": [
- 4026
- ]
- },
- {
- "teal": 3983,
- "source": 965,
- "pc": [
- 4027,
- 4028,
- 4029
- ]
- },
- {
- "teal": 3986,
- "source": 965,
- "pc": [
- 4030,
- 4031
- ]
- },
- {
- "teal": 3990,
- "source": 966,
- "pc": [
- 4032,
- 4033,
- 4034
- ]
- },
- {
- "teal": 3991,
- "source": 966,
- "pc": [
- 4035,
- 4036
- ]
- },
- {
- "teal": 3995,
- "source": 968,
- "pc": [
- 4037,
- 4038
- ]
- },
- {
- "teal": 3996,
- "source": 968,
- "pc": [
- 4039,
- 4040
- ]
- },
- {
- "teal": 3997,
- "source": 968,
- "pc": [
- 4041
- ]
- },
- {
- "teal": 3998,
- "source": 968,
- "pc": [
- 4042
- ]
- },
- {
- "teal": 3999,
- "source": 968,
- "pc": [
- 4043,
- 4044
- ]
- },
- {
- "teal": 4000,
- "source": 968,
- "pc": [
- 4045
- ]
- },
- {
- "teal": 4001,
- "source": 968,
- "pc": [
- 4046
- ]
- },
- {
- "teal": 4002,
- "source": 968,
- "pc": [
- 4047
- ]
- },
- {
- "teal": 4003,
- "source": 968,
- "pc": [
- 4048
- ]
- },
- {
- "teal": 4004,
- "source": 968,
- "pc": [
- 4049
- ]
- },
- {
- "teal": 4007,
- "source": 968,
- "errorMessage": "wideRatio failed",
- "pc": [
- 4050
- ]
- },
- {
- "teal": 4010,
- "source": 965,
- "pc": [
- 4051,
- 4052
- ]
- },
- {
- "teal": 4011,
- "source": 965,
- "pc": [
- 4053
- ]
- },
- {
- "teal": 4015,
- "source": 971,
- "pc": [
- 4054,
- 4055,
- 4056
- ]
- },
- {
- "teal": 4018,
- "source": 971,
- "pc": [
- 4057,
- 4058
- ]
- },
- {
- "teal": 4022,
- "source": 975,
- "pc": [
- 4059
- ]
- },
- {
- "teal": 4023,
- "source": 975,
- "pc": [
- 4060,
- 4061
- ]
- },
- {
- "teal": 4028,
- "source": 976,
- "pc": [
- 4062,
- 4063
- ]
- },
- {
- "teal": 4029,
- "source": 976,
- "pc": [
- 4064
- ]
- },
- {
- "teal": 4030,
- "source": 976,
- "pc": [
- 4065,
- 4066,
- 4067
- ]
- },
- {
- "teal": 4035,
- "source": 978,
- "pc": [
- 4068,
- 4069,
- 4070,
- 4071
- ]
- },
- {
- "teal": 4036,
- "source": 978,
- "pc": [
- 4072,
- 4073,
- 4074
- ]
- },
- {
- "teal": 4041,
- "source": 980,
- "pc": [
- 4075
- ]
- },
- {
- "teal": 4045,
- "source": 971,
- "pc": [
- 4076,
- 4077
- ]
- },
- {
- "teal": 4046,
- "source": 971,
- "pc": [
- 4078
- ]
- },
- {
- "teal": 4050,
- "source": 983,
- "pc": [
- 4079,
- 4080,
- 4081
- ]
- },
- {
- "teal": 4054,
- "source": 985,
- "pc": [
- 4082,
- 4083,
- 4084,
- 4085,
- 4086,
- 4087,
- 4088,
- 4089,
- 4090
- ]
- },
- {
- "teal": 4055,
- "source": 983,
- "pc": [
- 4091
- ]
- },
- {
- "teal": 4061,
- "source": 991,
- "pc": [
- 4092,
- 4093,
- 4094
- ]
- },
- {
- "teal": 4064,
- "source": 991,
- "pc": [
- 4095,
- 4096
- ]
- },
- {
- "teal": 4065,
- "source": 991,
- "pc": [
- 4097,
- 4098
- ]
- },
- {
- "teal": 4069,
- "source": 992,
- "pc": [
- 4099,
- 4100
- ]
- },
- {
- "teal": 4070,
- "source": 992,
- "pc": [
- 4101
- ]
- },
- {
- "teal": 4071,
- "source": 992,
- "pc": [
- 4102
- ]
- },
- {
- "teal": 4072,
- "source": 992,
- "pc": [
- 4103,
- 4104
- ]
- },
- {
- "teal": 4077,
- "source": 993,
- "pc": [
- 4105,
- 4106
- ]
- },
- {
- "teal": 4078,
- "source": 993,
- "pc": [
- 4107,
- 4108
- ]
- },
- {
- "teal": 4079,
- "source": 993,
- "pc": [
- 4109
- ]
- },
- {
- "teal": 4080,
- "source": 993,
- "pc": [
- 4110,
- 4111
- ]
- },
- {
- "teal": 4081,
- "source": 993,
- "pc": [
- 4112
- ]
- },
- {
- "teal": 4082,
- "source": 993,
- "pc": [
- 4113
- ]
- },
- {
- "teal": 4083,
- "source": 993,
- "pc": [
- 4114
- ]
- },
- {
- "teal": 4084,
- "source": 993,
- "pc": [
- 4115
- ]
- },
- {
- "teal": 4087,
- "source": 993,
- "errorMessage": "currentBinSize as uint64 overflowed 64 bits",
- "pc": [
- 4116
- ]
- },
- {
- "teal": 4088,
- "source": 993,
- "pc": [
- 4117,
- 4118,
- 4119,
- 4120,
- 4121,
- 4122,
- 4123,
- 4124,
- 4125,
- 4126
- ]
- },
- {
- "teal": 4089,
- "source": 993,
- "pc": [
- 4127
- ]
- },
- {
- "teal": 4090,
- "source": 993,
- "pc": [
- 4128
- ]
- },
- {
- "teal": 4091,
- "source": 993,
- "pc": [
- 4129
- ]
- },
- {
- "teal": 4092,
- "source": 993,
- "pc": [
- 4130
- ]
- },
- {
- "teal": 4093,
- "source": 993,
- "pc": [
- 4131,
- 4132
- ]
- },
- {
- "teal": 4094,
- "source": 993,
- "pc": [
- 4133
- ]
- },
- {
- "teal": 4095,
- "source": 993,
- "pc": [
- 4134
- ]
- },
- {
- "teal": 4096,
- "source": 993,
- "pc": [
- 4135
- ]
- },
- {
- "teal": 4097,
- "source": 993,
- "pc": [
- 4136
- ]
- },
- {
- "teal": 4098,
- "source": 993,
- "pc": [
- 4137
- ]
- },
- {
- "teal": 4099,
- "source": 993,
- "pc": [
- 4138
- ]
- },
- {
- "teal": 4100,
- "source": 993,
- "pc": [
- 4139,
- 4140,
- 4141
- ]
- },
- {
- "teal": 4106,
- "source": 994,
- "pc": [
- 4142,
- 4143
- ]
- },
- {
- "teal": 4107,
- "source": 994,
- "pc": [
- 4144,
- 4145
- ]
- },
- {
- "teal": 4108,
- "source": 994,
- "pc": [
- 4146
- ]
- },
- {
- "teal": 4109,
- "source": 994,
- "pc": [
- 4147,
- 4148,
- 4149
- ]
- },
- {
- "teal": 4114,
- "source": 995,
- "pc": [
- 4150
- ]
- },
- {
- "teal": 4115,
- "source": 995,
- "pc": [
- 4151
- ]
- },
- {
- "teal": 4116,
- "source": 995,
- "pc": [
- 4152,
- 4153
- ]
- },
- {
- "teal": 4117,
- "source": 995,
- "pc": [
- 4154
- ]
- },
- {
- "teal": 4118,
- "source": 995,
- "pc": [
- 4155,
- 4156
- ]
- },
- {
- "teal": 4119,
- "source": 995,
- "pc": [
- 4157,
- 4158
- ]
- },
- {
- "teal": 4120,
- "source": 995,
- "pc": [
- 4159
- ]
- },
- {
- "teal": 4121,
- "source": 995,
- "pc": [
- 4160,
- 4161
- ]
- },
- {
- "teal": 4122,
- "source": 995,
- "pc": [
- 4162,
- 4163
- ]
- },
- {
- "teal": 4123,
- "source": 995,
- "pc": [
- 4164,
- 4165
- ]
- },
- {
- "teal": 4124,
- "source": 995,
- "pc": [
- 4166,
- 4167
- ]
- },
- {
- "teal": 4125,
- "source": 995,
- "pc": [
- 4168
- ]
- },
- {
- "teal": 4130,
- "source": 997,
- "pc": [
- 4169,
- 4170
- ]
- },
- {
- "teal": 4131,
- "source": 997,
- "pc": [
- 4171,
- 4172,
- 4173,
- 4174,
- 4175,
- 4176,
- 4177,
- 4178,
- 4179,
- 4180,
- 4181,
- 4182,
- 4183,
- 4184,
- 4185,
- 4186,
- 4187,
- 4188
- ]
- },
- {
- "teal": 4132,
- "source": 997,
- "pc": [
- 4189
- ]
- },
- {
- "teal": 4133,
- "source": 997,
- "pc": [
- 4190
- ]
- },
- {
- "teal": 4134,
- "source": 997,
- "pc": [
- 4191
- ]
- },
- {
- "teal": 4135,
- "source": 997,
- "pc": [
- 4192,
- 4193
- ]
- },
- {
- "teal": 4136,
- "source": 997,
- "pc": [
- 4194
- ]
- },
- {
- "teal": 4139,
- "source": 997,
- "errorMessage": "currentBinSize * (365 as uint128) overflowed 128 bits",
- "pc": [
- 4195
- ]
- },
- {
- "teal": 4140,
- "source": 997,
- "pc": [
- 4196,
- 4197
- ]
- },
- {
- "teal": 4141,
- "source": 997,
- "pc": [
- 4198
- ]
- },
- {
- "teal": 4142,
- "source": 997,
- "pc": [
- 4199
- ]
- },
- {
- "teal": 4143,
- "source": 997,
- "pc": [
- 4200
- ]
- },
- {
- "teal": 4144,
- "source": 997,
- "pc": [
- 4201
- ]
- },
- {
- "teal": 4145,
- "source": 997,
- "pc": [
- 4202,
- 4203
- ]
- },
- {
- "teal": 4146,
- "source": 997,
- "pc": [
- 4204
- ]
- },
- {
- "teal": 4147,
- "source": 997,
- "pc": [
- 4205
- ]
- },
- {
- "teal": 4148,
- "source": 997,
- "pc": [
- 4206
- ]
- },
- {
- "teal": 4149,
- "source": 997,
- "pc": [
- 4207,
- 4208
- ]
- },
- {
- "teal": 4153,
- "source": 998,
- "pc": [
- 4209,
- 4210
- ]
- },
- {
- "teal": 4154,
- "source": 998,
- "pc": [
- 4211
- ]
- },
- {
- "teal": 4155,
- "source": 998,
- "pc": [
- 4212,
- 4213
- ]
- },
- {
- "teal": 4156,
- "source": 998,
- "pc": [
- 4214
- ]
- },
- {
- "teal": 4157,
- "source": 998,
- "pc": [
- 4215
- ]
- },
- {
- "teal": 4158,
- "source": 998,
- "pc": [
- 4216
- ]
- },
- {
- "teal": 4159,
- "source": 998,
- "pc": [
- 4217,
- 4218
- ]
- },
- {
- "teal": 4160,
- "source": 998,
- "pc": [
- 4219
- ]
- },
- {
- "teal": 4163,
- "source": 998,
- "errorMessage": "this.stakeAccumulator.value / currentBinSize overflowed 128 bits",
- "pc": [
- 4220
- ]
- },
- {
- "teal": 4164,
- "source": 998,
- "pc": [
- 4221,
- 4222
- ]
- },
- {
- "teal": 4165,
- "source": 998,
- "pc": [
- 4223
- ]
- },
- {
- "teal": 4166,
- "source": 998,
- "pc": [
- 4224
- ]
- },
- {
- "teal": 4167,
- "source": 998,
- "pc": [
- 4225
- ]
- },
- {
- "teal": 4168,
- "source": 998,
- "pc": [
- 4226
- ]
- },
- {
- "teal": 4169,
- "source": 998,
- "pc": [
- 4227,
- 4228
- ]
- },
- {
- "teal": 4170,
- "source": 998,
- "pc": [
- 4229
- ]
- },
- {
- "teal": 4171,
- "source": 998,
- "pc": [
- 4230
- ]
- },
- {
- "teal": 4172,
- "source": 998,
- "pc": [
- 4231
- ]
- },
- {
- "teal": 4173,
- "source": 998,
- "pc": [
- 4232,
- 4233
- ]
- },
- {
- "teal": 4178,
- "source": 999,
- "pc": [
- 4234,
- 4235
- ]
- },
- {
- "teal": 4179,
- "source": 999,
- "pc": [
- 4236,
- 4237
- ]
- },
- {
- "teal": 4180,
- "source": 999,
- "pc": [
- 4238
- ]
- },
- {
- "teal": 4181,
- "source": 999,
- "pc": [
- 4239,
- 4240,
- 4241
- ]
- },
- {
- "teal": 4188,
- "source": 1004,
- "pc": [
- 4242,
- 4243
- ]
- },
- {
- "teal": 4189,
- "source": 1004,
- "pc": [
- 4244
- ]
- },
- {
- "teal": 4190,
- "source": 1004,
- "pc": [
- 4245
- ]
- },
- {
- "teal": 4191,
- "source": 1004,
- "pc": [
- 4246,
- 4247,
- 4248,
- 4249,
- 4250,
- 4251,
- 4252,
- 4253,
- 4254,
- 4255,
- 4256,
- 4257,
- 4258,
- 4259,
- 4260,
- 4261,
- 4262,
- 4263
- ]
- },
- {
- "teal": 4192,
- "source": 1004,
- "pc": [
- 4264
- ]
- },
- {
- "teal": 4193,
- "source": 1004,
- "pc": [
- 4265,
- 4266
- ]
- },
- {
- "teal": 4194,
- "source": 1004,
- "pc": [
- 4267
- ]
- },
- {
- "teal": 4195,
- "source": 1005,
- "pc": [
- 4268,
- 4269
- ]
- },
- {
- "teal": 4196,
- "source": 1005,
- "pc": [
- 4270,
- 4271
- ]
- },
- {
- "teal": 4197,
- "source": 1005,
- "pc": [
- 4272
- ]
- },
- {
- "teal": 4198,
- "source": 1004,
- "pc": [
- 4273
- ]
- },
- {
- "teal": 4199,
- "source": 1004,
- "pc": [
- 4274
- ]
- },
- {
- "teal": 4200,
- "source": 1004,
- "pc": [
- 4275
- ]
- },
- {
- "teal": 4201,
- "source": 1004,
- "pc": [
- 4276,
- 4277
- ]
- },
- {
- "teal": 4202,
- "source": 1004,
- "pc": [
- 4278
- ]
- },
- {
- "teal": 4205,
- "source": 1004,
- "errorMessage": "(((this.rewardAccumulator.value as uint128) * (10000 as uint128)) / avgStake) *\\n (approxRoundsPerYear / currentBinSize) overflowed 128 bits",
- "pc": [
- 4279
- ]
- },
- {
- "teal": 4206,
- "source": 1004,
- "pc": [
- 4280,
- 4281
- ]
- },
- {
- "teal": 4207,
- "source": 1004,
- "pc": [
- 4282
- ]
- },
- {
- "teal": 4208,
- "source": 1004,
- "pc": [
- 4283
- ]
- },
- {
- "teal": 4209,
- "source": 1004,
- "pc": [
- 4284
- ]
- },
- {
- "teal": 4210,
- "source": 1004,
- "pc": [
- 4285
- ]
- },
- {
- "teal": 4211,
- "source": 1004,
- "pc": [
- 4286,
- 4287
- ]
- },
- {
- "teal": 4212,
- "source": 1004,
- "pc": [
- 4288
- ]
- },
- {
- "teal": 4213,
- "source": 1004,
- "pc": [
- 4289
- ]
- },
- {
- "teal": 4214,
- "source": 1004,
- "pc": [
- 4290
- ]
- },
- {
- "teal": 4215,
- "source": 1003,
- "pc": [
- 4291,
- 4292
- ]
- },
- {
- "teal": 4219,
- "source": 1007,
- "pc": [
- 4293,
- 4294,
- 4295,
- 4296,
- 4297,
- 4298,
- 4299,
- 4300,
- 4301,
- 4302,
- 4303,
- 4304,
- 4305,
- 4306,
- 4307,
- 4308,
- 4309,
- 4310
- ]
- },
- {
- "teal": 4220,
- "source": 1007,
- "pc": [
- 4311,
- 4312
- ]
- },
- {
- "teal": 4225,
- "source": 1009,
- "pc": [
- 4313,
- 4314
- ]
- },
- {
- "teal": 4226,
- "source": 1009,
- "pc": [
- 4315,
- 4316,
- 4317,
- 4318,
- 4319,
- 4320,
- 4321,
- 4322,
- 4323,
- 4324,
- 4325,
- 4326,
- 4327,
- 4328,
- 4329,
- 4330,
- 4331,
- 4332
- ]
- },
- {
- "teal": 4227,
- "source": 1009,
- "pc": [
- 4333
- ]
- },
- {
- "teal": 4228,
- "source": 1009,
- "pc": [
- 4334,
- 4335,
- 4336
- ]
- },
- {
- "teal": 4233,
- "source": 1010,
- "pc": [
- 4337,
- 4338,
- 4339,
- 4340,
- 4341,
- 4342,
- 4343,
- 4344,
- 4345,
- 4346,
- 4347,
- 4348,
- 4349,
- 4350,
- 4351,
- 4352,
- 4353,
- 4354
- ]
- },
- {
- "teal": 4234,
- "source": 1010,
- "pc": [
- 4355,
- 4356
- ]
- },
- {
- "teal": 4241,
- "source": 1012,
- "pc": [
- 4357,
- 4358
- ]
- },
- {
- "teal": 4242,
- "source": 1012,
- "pc": [
- 4359
- ]
- },
- {
- "teal": 4243,
- "source": 1013,
- "pc": [
- 4360
- ]
- },
- {
- "teal": 4244,
- "source": 1013,
- "pc": [
- 4361,
- 4362
- ]
- },
- {
- "teal": 4245,
- "source": 1013,
- "pc": [
- 4363,
- 4364
- ]
- },
- {
- "teal": 4246,
- "source": 1013,
- "pc": [
- 4365
- ]
- },
- {
- "teal": 4247,
- "source": 1013,
- "pc": [
- 4366
- ]
- },
- {
- "teal": 4248,
- "source": 1013,
- "pc": [
- 4367,
- 4368
- ]
- },
- {
- "teal": 4249,
- "source": 1013,
- "pc": [
- 4369
- ]
- },
- {
- "teal": 4250,
- "source": 1014,
- "pc": [
- 4370,
- 4371
- ]
- },
- {
- "teal": 4251,
- "source": 1014,
- "pc": [
- 4372,
- 4373
- ]
- },
- {
- "teal": 4252,
- "source": 1014,
- "pc": [
- 4374
- ]
- },
- {
- "teal": 4253,
- "source": 1014,
- "pc": [
- 4375,
- 4376
- ]
- },
- {
- "teal": 4254,
- "source": 1014,
- "pc": [
- 4377
- ]
- },
- {
- "teal": 4255,
- "source": 1013,
- "pc": [
- 4378
- ]
- },
- {
- "teal": 4256,
- "source": 1013,
- "pc": [
- 4379
- ]
- },
- {
- "teal": 4257,
- "source": 1013,
- "pc": [
- 4380
- ]
- },
- {
- "teal": 4258,
- "source": 1013,
- "pc": [
- 4381,
- 4382
- ]
- },
- {
- "teal": 4259,
- "source": 1013,
- "pc": [
- 4383
- ]
- },
- {
- "teal": 4262,
- "source": 1013,
- "errorMessage": "(this.weightedMovingAverage.value * ((100 as uint128) - alpha)) / (100 as uint128) +\\n (apr * alpha) / (100 as uint128) overflowed 128 bits",
- "pc": [
- 4384
- ]
- },
- {
- "teal": 4263,
- "source": 1013,
- "pc": [
- 4385,
- 4386
- ]
- },
- {
- "teal": 4264,
- "source": 1013,
- "pc": [
- 4387
- ]
- },
- {
- "teal": 4265,
- "source": 1013,
- "pc": [
- 4388
- ]
- },
- {
- "teal": 4266,
- "source": 1013,
- "pc": [
- 4389
- ]
- },
- {
- "teal": 4267,
- "source": 1013,
- "pc": [
- 4390
- ]
- },
- {
- "teal": 4268,
- "source": 1013,
- "pc": [
- 4391,
- 4392
- ]
- },
- {
- "teal": 4269,
- "source": 1013,
- "pc": [
- 4393
- ]
- },
- {
- "teal": 4270,
- "source": 1013,
- "pc": [
- 4394
- ]
- },
- {
- "teal": 4271,
- "source": 1013,
- "pc": [
- 4395
- ]
- },
- {
- "teal": 4272,
- "source": 1012,
- "pc": [
- 4396
- ]
- },
- {
- "teal": 4277,
- "source": 1018,
- "pc": [
- 4397,
- 4398,
- 4399
- ]
- },
- {
- "teal": 4281,
- "source": 1019,
- "pc": [
- 4400,
- 4401
- ]
- },
- {
- "teal": 4282,
- "source": 1019,
- "pc": [
- 4402,
- 4403
- ]
- },
- {
- "teal": 4283,
- "source": 1019,
- "pc": [
- 4404
- ]
- },
- {
- "teal": 4284,
- "source": 1019,
- "pc": [
- 4405
- ]
- },
- {
- "teal": 4285,
- "source": 1019,
- "pc": [
- 4406,
- 4407
- ]
- },
- {
- "teal": 4286,
- "source": 1019,
- "pc": [
- 4408
- ]
- },
- {
- "teal": 4287,
- "source": 1019,
- "pc": [
- 4409
- ]
- },
- {
- "teal": 4288,
- "source": 1019,
- "pc": [
- 4410
- ]
- },
- {
- "teal": 4289,
- "source": 1019,
- "pc": [
- 4411
- ]
- },
- {
- "teal": 4290,
- "source": 1019,
- "pc": [
- 4412
- ]
- },
- {
- "teal": 4291,
- "source": 1019,
- "pc": [
- 4413,
- 4414
- ]
- },
- {
- "teal": 4292,
- "source": 1019,
- "pc": [
- 4415
- ]
- },
- {
- "teal": 4295,
- "source": 1019,
- "errorMessage": "(this.totalAlgoStaked.value as uint128) * (this.roundsPerDay.value as uint128) overflowed 128 bits",
- "pc": [
- 4416
- ]
- },
- {
- "teal": 4296,
- "source": 1019,
- "pc": [
- 4417,
- 4418
- ]
- },
- {
- "teal": 4297,
- "source": 1019,
- "pc": [
- 4419
- ]
- },
- {
- "teal": 4298,
- "source": 1019,
- "pc": [
- 4420
- ]
- },
- {
- "teal": 4299,
- "source": 1019,
- "pc": [
- 4421
- ]
- },
- {
- "teal": 4300,
- "source": 1019,
- "pc": [
- 4422
- ]
- },
- {
- "teal": 4301,
- "source": 1019,
- "pc": [
- 4423,
- 4424
- ]
- },
- {
- "teal": 4302,
- "source": 1019,
- "pc": [
- 4425
- ]
- },
- {
- "teal": 4303,
- "source": 1019,
- "pc": [
- 4426
- ]
- },
- {
- "teal": 4304,
- "source": 1019,
- "pc": [
- 4427
- ]
- },
- {
- "teal": 4305,
- "source": 1019,
- "pc": [
- 4428
- ]
- },
- {
- "teal": 4309,
- "source": 1020,
- "pc": [
- 4429,
- 4430
- ]
- },
- {
- "teal": 4310,
- "source": 1020,
- "pc": [
- 4431
- ]
- },
- {
- "teal": 4311,
- "source": 1020,
- "pc": [
- 4432
- ]
- },
- {
- "teal": 4315,
- "source": 1021,
- "pc": [
- 4433,
- 4434
- ]
- },
- {
- "teal": 4316,
- "source": 1021,
- "pc": [
- 4435,
- 4436
- ]
- },
- {
- "teal": 4317,
- "source": 1021,
- "pc": [
- 4437,
- 4438
- ]
- },
- {
- "teal": 4318,
- "source": 1021,
- "pc": [
- 4439,
- 4440
- ]
- },
- {
- "teal": 4319,
- "source": 1021,
- "pc": [
- 4441
- ]
- },
- {
- "teal": 4320,
- "source": 1021,
- "pc": [
- 4442
- ]
- },
- {
- "teal": 4321,
- "source": 1021,
- "pc": [
- 4443
- ]
- },
- {
- "teal": 4322,
- "source": 1021,
- "pc": [
- 4444
- ]
- },
- {
- "teal": 4325,
- "source": 991,
- "pc": [
- 4445
- ]
- },
- {
- "teal": 4329,
- "source": 1025,
- "pc": [
- 4446,
- 4447,
- 4448
- ]
- },
- {
- "teal": 4333,
- "source": 1026,
- "pc": [
- 4449,
- 4450
- ]
- },
- {
- "teal": 4334,
- "source": 1026,
- "pc": [
- 4451,
- 4452,
- 4453,
- 4454
- ]
- },
- {
- "teal": 4335,
- "source": 1026,
- "pc": [
- 4455
- ]
- },
- {
- "teal": 4336,
- "source": 1025,
- "pc": [
- 4456
- ]
- },
- {
- "teal": 4339,
- "source": 38,
- "pc": [
- 4457,
- 4458,
- 4459,
- 4460,
- 4461,
- 4462
- ]
- },
- {
- "teal": 4340,
- "source": 38,
- "pc": [
- 4463,
- 4464,
- 4465
- ]
- },
- {
- "teal": 4341,
- "source": 38,
- "pc": [
- 4466,
- 4467,
- 4468,
- 4469
- ]
- },
- {
- "teal": 4344,
- "source": 38,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 4470
- ]
- },
- {
- "teal": 4347,
- "source": 38,
- "pc": [
- 4471,
- 4472,
- 4473,
- 4474,
- 4475,
- 4476
- ]
- },
- {
- "teal": 4348,
- "source": 38,
- "pc": [
- 4477,
- 4478,
- 4479,
- 4480,
- 4481,
- 4482
- ]
- },
- {
- "teal": 4349,
- "source": 38,
- "pc": [
- 4483,
- 4484,
- 4485,
- 4486,
- 4487,
- 4488
- ]
- },
- {
- "teal": 4350,
- "source": 38,
- "pc": [
- 4489,
- 4490,
- 4491,
- 4492,
- 4493,
- 4494
- ]
- },
- {
- "teal": 4351,
- "source": 38,
- "pc": [
- 4495,
- 4496,
- 4497,
- 4498,
- 4499,
- 4500
- ]
- },
- {
- "teal": 4352,
- "source": 38,
- "pc": [
- 4501,
- 4502,
- 4503,
- 4504,
- 4505,
- 4506
- ]
- },
- {
- "teal": 4353,
- "source": 38,
- "pc": [
- 4507,
- 4508,
- 4509,
- 4510,
- 4511,
- 4512
- ]
- },
- {
- "teal": 4354,
- "source": 38,
- "pc": [
- 4513,
- 4514,
- 4515,
- 4516,
- 4517,
- 4518
- ]
- },
- {
- "teal": 4355,
- "source": 38,
- "pc": [
- 4519,
- 4520,
- 4521,
- 4522,
- 4523,
- 4524
- ]
- },
- {
- "teal": 4356,
- "source": 38,
- "pc": [
- 4525,
- 4526,
- 4527,
- 4528,
- 4529,
- 4530
- ]
- },
- {
- "teal": 4357,
- "source": 38,
- "pc": [
- 4531,
- 4532,
- 4533,
- 4534,
- 4535,
- 4536
- ]
- },
- {
- "teal": 4358,
- "source": 38,
- "pc": [
- 4537,
- 4538,
- 4539,
- 4540,
- 4541,
- 4542
- ]
- },
- {
- "teal": 4359,
- "source": 38,
- "pc": [
- 4543,
- 4544
- ]
- },
- {
- "teal": 4360,
- "source": 38,
- "pc": [
- 4545,
- 4546,
- 4547
- ]
- },
- {
- "teal": 4361,
- "source": 38,
- "pc": [
- 4548,
- 4549,
- 4550,
- 4551,
- 4552,
- 4553,
- 4554,
- 4555,
- 4556,
- 4557,
- 4558,
- 4559,
- 4560,
- 4561,
- 4562,
- 4563,
- 4564,
- 4565,
- 4566,
- 4567,
- 4568,
- 4569,
- 4570,
- 4571,
- 4572,
- 4573,
- 4574,
- 4575
- ]
- },
- {
- "teal": 4364,
- "source": 38,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 4576
- ]
- },
- {
- "teal": 4367,
- "source": 38,
- "pc": [
- 4577,
- 4578,
- 4579,
- 4580,
- 4581,
- 4582
- ]
- },
- {
- "teal": 4368,
- "source": 38,
- "pc": [
- 4583,
- 4584,
- 4585
- ]
- },
- {
- "teal": 4369,
- "source": 38,
- "pc": [
- 4586,
- 4587,
- 4588,
- 4589
- ]
- },
- {
- "teal": 4372,
- "source": 38,
- "errorMessage": "this contract does not implement the given ABI method for call UpdateApplication",
- "pc": [
- 4590
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 38,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184,
+ 185,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190,
+ 191,
+ 192,
+ 193,
+ 194,
+ 195,
+ 196,
+ 197,
+ 198,
+ 199,
+ 200,
+ 201,
+ 202,
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211,
+ 212,
+ 213,
+ 214,
+ 215,
+ 216,
+ 217,
+ 218,
+ 219,
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225,
+ 226,
+ 227,
+ 228,
+ 229,
+ 230,
+ 231,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 237,
+ 238,
+ 239,
+ 240,
+ 241,
+ 242,
+ 243,
+ 244,
+ 245,
+ 246,
+ 247,
+ 248,
+ 249,
+ 250,
+ 251,
+ 252,
+ 253,
+ 254,
+ 255,
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 263,
+ 264,
+ 265,
+ 266,
+ 267,
+ 268,
+ 269,
+ 270,
+ 271,
+ 272,
+ 273,
+ 274,
+ 275,
+ 276,
+ 277,
+ 278,
+ 279,
+ 280,
+ 281,
+ 282,
+ 283,
+ 284,
+ 285,
+ 286,
+ 287,
+ 288,
+ 289,
+ 290,
+ 291,
+ 292,
+ 293
+ ]
+ },
+ {
+ "teal": 9,
+ "source": 38,
+ "pc": [
+ 294,
+ 295,
+ 296,
+ 297,
+ 298,
+ 299,
+ 300,
+ 301,
+ 302,
+ 303,
+ 304,
+ 305,
+ 306,
+ 307,
+ 308,
+ 309,
+ 310,
+ 311,
+ 312,
+ 313,
+ 314,
+ 315,
+ 316,
+ 317,
+ 318,
+ 319,
+ 320,
+ 321,
+ 322,
+ 323,
+ 324,
+ 325,
+ 326,
+ 327
+ ]
+ },
+ {
+ "teal": 10,
+ "source": 38,
+ "pc": [
+ 328,
+ 329
+ ]
+ },
+ {
+ "teal": 11,
+ "source": 38,
+ "pc": [
+ 330,
+ 331
+ ]
+ },
+ {
+ "teal": 12,
+ "source": 38,
+ "pc": [
+ 332
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 38,
+ "pc": [
+ 333,
+ 334
+ ]
+ },
+ {
+ "teal": 20,
+ "source": 38,
+ "pc": [
+ 335,
+ 336
+ ]
+ },
+ {
+ "teal": 21,
+ "source": 38,
+ "pc": [
+ 337
+ ]
+ },
+ {
+ "teal": 22,
+ "source": 38,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 38,
+ "pc": [
+ 339
+ ]
+ },
+ {
+ "teal": 24,
+ "source": 38,
+ "pc": [
+ 340,
+ 341
+ ]
+ },
+ {
+ "teal": 25,
+ "source": 38,
+ "pc": [
+ 342
+ ]
+ },
+ {
+ "teal": 26,
+ "source": 38,
+ "pc": [
+ 343,
+ 344,
+ 345,
+ 346,
+ 347,
+ 348,
+ 349,
+ 350,
+ 351,
+ 352,
+ 353,
+ 354,
+ 355,
+ 356,
+ 357,
+ 358,
+ 359,
+ 360,
+ 361,
+ 362,
+ 363,
+ 364,
+ 365,
+ 366,
+ 367,
+ 368
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 38,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 369
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 93,
+ "pc": [
+ 370,
+ 371,
+ 372
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 93,
+ "pc": [
+ 373
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 93,
+ "pc": [
+ 374
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 93,
+ "pc": [
+ 375,
+ 376,
+ 377
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 95,
+ "pc": [
+ 378,
+ 379
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 95,
+ "pc": [
+ 380,
+ 381,
+ 382,
+ 383,
+ 384,
+ 385,
+ 386,
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 412,
+ 413
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 95,
+ "pc": [
+ 414
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 94,
+ "errorMessage": "Temporary: contract is upgradeable but only during testing and only from a development account",
+ "pc": [
+ 415
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 93,
+ "pc": [
+ 416
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 107,
+ "pc": [
+ 417,
+ 418,
+ 419
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 107,
+ "pc": [
+ 420
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 107,
+ "pc": [
+ 421,
+ 422,
+ 423
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 107,
+ "pc": [
+ 424
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 107,
+ "pc": [
+ 425,
+ 426,
+ 427
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 107,
+ "pc": [
+ 428
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 107,
+ "pc": [
+ 429,
+ 430,
+ 431
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 107,
+ "pc": [
+ 432
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 107,
+ "pc": [
+ 433,
+ 434,
+ 435
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 107,
+ "pc": [
+ 436
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 107,
+ "pc": [
+ 437
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 107,
+ "pc": [
+ 438,
+ 439,
+ 440
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 108,
+ "pc": [
+ 441,
+ 442
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 108,
+ "pc": [
+ 443
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 108,
+ "pc": [
+ 444
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 108,
+ "pc": [
+ 445,
+ 446,
+ 447
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 110,
+ "pc": [
+ 448,
+ 449
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 110,
+ "pc": [
+ 450
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 110,
+ "pc": [
+ 451
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 110,
+ "pc": [
+ 452
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 111,
+ "pc": [
+ 453,
+ 454
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 111,
+ "pc": [
+ 455
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 111,
+ "pc": [
+ 456
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 111,
+ "pc": [
+ 457
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 108,
+ "pc": [
+ 458,
+ 459,
+ 460
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 113,
+ "pc": [
+ 461,
+ 462
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 113,
+ "pc": [
+ 463
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 113,
+ "pc": [
+ 464
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 113,
+ "pc": [
+ 465
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 114,
+ "pc": [
+ 466,
+ 467
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 114,
+ "pc": [
+ 468
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 114,
+ "pc": [
+ 469
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 114,
+ "pc": [
+ 470
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 116,
+ "pc": [
+ 471,
+ 472
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 116,
+ "pc": [
+ 473,
+ 474
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 116,
+ "pc": [
+ 475
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 116,
+ "errorMessage": "staking pool must have minimum entry of 1 algo",
+ "pc": [
+ 476
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 117,
+ "pc": [
+ 477
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 117,
+ "pc": [
+ 478,
+ 479
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 117,
+ "pc": [
+ 480
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 118,
+ "pc": [
+ 481
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 118,
+ "pc": [
+ 482,
+ 483
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 118,
+ "pc": [
+ 484
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 119,
+ "pc": [
+ 485
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 119,
+ "pc": [
+ 486,
+ 487
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 119,
+ "pc": [
+ 488
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 120,
+ "pc": [
+ 489,
+ 490
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 120,
+ "pc": [
+ 491
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 120,
+ "pc": [
+ 492
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 121,
+ "pc": [
+ 493,
+ 494
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 121,
+ "pc": [
+ 495
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 121,
+ "pc": [
+ 496
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 122,
+ "pc": [
+ 497,
+ 498
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 122,
+ "pc": [
+ 499,
+ 500
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 122,
+ "pc": [
+ 501
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 123,
+ "pc": [
+ 502,
+ 503
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 123,
+ "pc": [
+ 504,
+ 505
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 123,
+ "pc": [
+ 506
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 124,
+ "pc": [
+ 507,
+ 508
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 124,
+ "pc": [
+ 509
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 124,
+ "pc": [
+ 510
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 126,
+ "pc": [
+ 511,
+ 512,
+ 513
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 127,
+ "pc": [
+ 514,
+ 515
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 127,
+ "pc": [
+ 516,
+ 517
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 127,
+ "pc": [
+ 518,
+ 519
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 127,
+ "pc": [
+ 520,
+ 521
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 127,
+ "pc": [
+ 522
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 127,
+ "pc": [
+ 523
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 127,
+ "pc": [
+ 524
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 127,
+ "pc": [
+ 525
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 128,
+ "pc": [
+ 526,
+ 527
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 128,
+ "pc": [
+ 528,
+ 529
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 128,
+ "pc": [
+ 530
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 129,
+ "pc": [
+ 531,
+ 532
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 129,
+ "pc": [
+ 533
+ ]
+ },
+ {
+ "teal": 211,
+ "source": 129,
+ "pc": [
+ 534
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 130,
+ "pc": [
+ 535,
+ 536
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 130,
+ "pc": [
+ 537,
+ 538
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 130,
+ "pc": [
+ 539
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 107,
+ "pc": [
+ 540
+ ]
+ },
+ {
+ "teal": 223,
+ "source": 136,
+ "pc": [
+ 541,
+ 542,
+ 543
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 136,
+ "pc": [
+ 544
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 136,
+ "pc": [
+ 545
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 136,
+ "pc": [
+ 546,
+ 547,
+ 548
+ ]
+ },
+ {
+ "teal": 232,
+ "source": 136,
+ "pc": [
+ 549
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 138,
+ "pc": [
+ 550,
+ 551,
+ 552
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 142,
+ "pc": [
+ 553,
+ 554,
+ 555
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 142,
+ "pc": [
+ 556,
+ 557
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 142,
+ "pc": [
+ 558,
+ 559
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 142,
+ "pc": [
+ 560
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 142,
+ "pc": [
+ 561
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 138,
+ "pc": [
+ 562
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 152,
+ "pc": [
+ 563,
+ 564
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 152,
+ "pc": [
+ 565
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 152,
+ "pc": [
+ 566
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 152,
+ "pc": [
+ 567
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 152,
+ "pc": [
+ 568,
+ 569
+ ]
+ },
+ {
+ "teal": 255,
+ "source": 152,
+ "pc": [
+ 570
+ ]
+ },
+ {
+ "teal": 256,
+ "source": 152,
+ "pc": [
+ 571
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 152,
+ "errorMessage": "argument 0 (mbrPayment) for initStorage must be a pay transaction",
+ "pc": [
+ 572
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 152,
+ "pc": [
+ 573,
+ 574,
+ 575
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 152,
+ "pc": [
+ 576
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 152,
+ "pc": [
+ 577
+ ]
+ },
+ {
+ "teal": 274,
+ "source": 152,
+ "pc": [
+ 578,
+ 579,
+ 580
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 152,
+ "pc": [
+ 581,
+ 582
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 152,
+ "pc": [
+ 583,
+ 584
+ ]
+ },
+ {
+ "teal": 282,
+ "source": 153,
+ "pc": [
+ 585
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 153,
+ "pc": [
+ 586
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 153,
+ "pc": [
+ 587
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 153,
+ "pc": [
+ 588
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 153,
+ "pc": [
+ 589
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 153,
+ "errorMessage": "staking pool already initialized",
+ "pc": [
+ 590
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 156,
+ "pc": [
+ 591
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 156,
+ "pc": [
+ 592
+ ]
+ },
+ {
+ "teal": 298,
+ "source": 156,
+ "pc": [
+ 593,
+ 594
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 156,
+ "pc": [
+ 595,
+ 596
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 156,
+ "pc": [
+ 597,
+ 598
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 157,
+ "pc": [
+ 599
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 157,
+ "pc": [
+ 600
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 157,
+ "pc": [
+ 601,
+ 602
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 158,
+ "pc": [
+ 603
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 158,
+ "pc": [
+ 604
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 158,
+ "pc": [
+ 605
+ ]
+ },
+ {
+ "teal": 313,
+ "source": 158,
+ "pc": [
+ 606,
+ 607
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 156,
+ "pc": [
+ 608
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 156,
+ "pc": [
+ 609,
+ 610
+ ]
+ },
+ {
+ "teal": 320,
+ "source": 156,
+ "pc": [
+ 611
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 156,
+ "pc": [
+ 612,
+ 613
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 156,
+ "pc": [
+ 614
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 156,
+ "pc": [
+ 615
+ ]
+ },
+ {
+ "teal": 324,
+ "source": 156,
+ "pc": [
+ 616,
+ 617
+ ]
+ },
+ {
+ "teal": 325,
+ "source": 156,
+ "pc": [
+ 618,
+ 619,
+ 620
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 156,
+ "pc": [
+ 621,
+ 622
+ ]
+ },
+ {
+ "teal": 330,
+ "source": 160,
+ "pc": [
+ 623,
+ 624
+ ]
+ },
+ {
+ "teal": 331,
+ "source": 160,
+ "pc": [
+ 625,
+ 626,
+ 627
+ ]
+ },
+ {
+ "teal": 332,
+ "source": 160,
+ "pc": [
+ 628
+ ]
+ },
+ {
+ "teal": 333,
+ "source": 160,
+ "pc": [
+ 629
+ ]
+ },
+ {
+ "teal": 334,
+ "source": 160,
+ "pc": [
+ 630
+ ]
+ },
+ {
+ "teal": 335,
+ "source": 160,
+ "pc": [
+ 631,
+ 632
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 161,
+ "pc": [
+ 633,
+ 634
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 161,
+ "pc": [
+ 635
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 161,
+ "pc": [
+ 636,
+ 637,
+ 638
+ ]
+ },
+ {
+ "teal": 342,
+ "source": 161,
+ "pc": [
+ 639
+ ]
+ },
+ {
+ "teal": 343,
+ "source": 161,
+ "pc": [
+ 640
+ ]
+ },
+ {
+ "teal": 344,
+ "source": 161,
+ "pc": [
+ 641
+ ]
+ },
+ {
+ "teal": 345,
+ "source": 161,
+ "pc": [
+ 642
+ ]
+ },
+ {
+ "teal": 346,
+ "source": 161,
+ "pc": [
+ 643
+ ]
+ },
+ {
+ "teal": 349,
+ "source": 161,
+ "pc": [
+ 644,
+ 645,
+ 646
+ ]
+ },
+ {
+ "teal": 350,
+ "source": 161,
+ "pc": [
+ 647,
+ 648
+ ]
+ },
+ {
+ "teal": 351,
+ "source": 161,
+ "pc": [
+ 649,
+ 650,
+ 651
+ ]
+ },
+ {
+ "teal": 354,
+ "source": 161,
+ "pc": [
+ 652
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 161,
+ "pc": [
+ 653,
+ 654
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 163,
+ "pc": [
+ 655,
+ 656
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 164,
+ "pc": [
+ 657,
+ 658
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 163,
+ "pc": [
+ 659
+ ]
+ },
+ {
+ "teal": 367,
+ "source": 165,
+ "pc": [
+ 660,
+ 661,
+ 662
+ ]
+ },
+ {
+ "teal": 368,
+ "source": 165,
+ "pc": [
+ 663,
+ 664,
+ 665
+ ]
+ },
+ {
+ "teal": 369,
+ "source": 164,
+ "pc": [
+ 666
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 162,
+ "pc": [
+ 667,
+ 668
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 168,
+ "pc": [
+ 669,
+ 670
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 168,
+ "pc": [
+ 671,
+ 672
+ ]
+ },
+ {
+ "teal": 377,
+ "source": 168,
+ "pc": [
+ 673,
+ 674
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 168,
+ "pc": [
+ 675
+ ]
+ },
+ {
+ "teal": 381,
+ "source": 168,
+ "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 676
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 168,
+ "pc": [
+ 677,
+ 678
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 168,
+ "pc": [
+ 679,
+ 680
+ ]
+ },
+ {
+ "teal": 386,
+ "source": 168,
+ "pc": [
+ 681,
+ 682
+ ]
+ },
+ {
+ "teal": 387,
+ "source": 168,
+ "pc": [
+ 683
+ ]
+ },
+ {
+ "teal": 390,
+ "source": 168,
+ "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"PoolInitMbr\"}",
+ "pc": [
+ 684
+ ]
+ },
+ {
+ "teal": 394,
+ "source": 169,
+ "pc": [
+ 685
+ ]
+ },
+ {
+ "teal": 395,
+ "source": 169,
+ "pc": [
+ 686,
+ 687,
+ 688
+ ]
+ },
+ {
+ "teal": 396,
+ "source": 169,
+ "pc": [
+ 689
+ ]
+ },
+ {
+ "teal": 397,
+ "source": 169,
+ "pc": [
+ 690
+ ]
+ },
+ {
+ "teal": 402,
+ "source": 171,
+ "pc": [
+ 691,
+ 692
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 171,
+ "pc": [
+ 693
+ ]
+ },
+ {
+ "teal": 404,
+ "source": 171,
+ "pc": [
+ 694,
+ 695,
+ 696
+ ]
+ },
+ {
+ "teal": 405,
+ "source": 171,
+ "pc": [
+ 697
+ ]
+ },
+ {
+ "teal": 406,
+ "source": 171,
+ "pc": [
+ 698
+ ]
+ },
+ {
+ "teal": 407,
+ "source": 171,
+ "pc": [
+ 699
+ ]
+ },
+ {
+ "teal": 408,
+ "source": 171,
+ "pc": [
+ 700
+ ]
+ },
+ {
+ "teal": 409,
+ "source": 171,
+ "pc": [
+ 701
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 171,
+ "pc": [
+ 702,
+ 703,
+ 704
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 173,
+ "pc": [
+ 705
+ ]
+ },
+ {
+ "teal": 422,
+ "source": 173,
+ "pc": [
+ 706,
+ 707
+ ]
+ },
+ {
+ "teal": 423,
+ "source": 173,
+ "pc": [
+ 708,
+ 709
+ ]
+ },
+ {
+ "teal": 427,
+ "source": 174,
+ "pc": [
+ 710,
+ 711
+ ]
+ },
+ {
+ "teal": 428,
+ "source": 174,
+ "pc": [
+ 712,
+ 713,
+ 714
+ ]
+ },
+ {
+ "teal": 429,
+ "source": 174,
+ "pc": [
+ 715
+ ]
+ },
+ {
+ "teal": 430,
+ "source": 174,
+ "pc": [
+ 716,
+ 717
+ ]
+ },
+ {
+ "teal": 434,
+ "source": 175,
+ "pc": [
+ 718,
+ 719
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 175,
+ "pc": [
+ 720,
+ 721
+ ]
+ },
+ {
+ "teal": 439,
+ "source": 176,
+ "pc": [
+ 722
+ ]
+ },
+ {
+ "teal": 440,
+ "source": 176,
+ "pc": [
+ 723,
+ 724
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 173,
+ "pc": [
+ 725
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 173,
+ "pc": [
+ 726,
+ 727
+ ]
+ },
+ {
+ "teal": 447,
+ "source": 173,
+ "pc": [
+ 728
+ ]
+ },
+ {
+ "teal": 450,
+ "source": 152,
+ "pc": [
+ 729
+ ]
+ },
+ {
+ "teal": 455,
+ "source": 191,
+ "pc": [
+ 730,
+ 731
+ ]
+ },
+ {
+ "teal": 458,
+ "source": 191,
+ "pc": [
+ 732,
+ 733,
+ 734
+ ]
+ },
+ {
+ "teal": 459,
+ "source": 191,
+ "pc": [
+ 735
+ ]
+ },
+ {
+ "teal": 460,
+ "source": 191,
+ "pc": [
+ 736
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 191,
+ "pc": [
+ 737,
+ 738
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 191,
+ "pc": [
+ 739
+ ]
+ },
+ {
+ "teal": 465,
+ "source": 191,
+ "errorMessage": "argument 0 (staker) for addStake must be a address",
+ "pc": [
+ 740
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 191,
+ "pc": [
+ 741,
+ 742
+ ]
+ },
+ {
+ "teal": 469,
+ "source": 191,
+ "pc": [
+ 743
+ ]
+ },
+ {
+ "teal": 470,
+ "source": 191,
+ "pc": [
+ 744
+ ]
+ },
+ {
+ "teal": 471,
+ "source": 191,
+ "pc": [
+ 745
+ ]
+ },
+ {
+ "teal": 472,
+ "source": 191,
+ "pc": [
+ 746,
+ 747
+ ]
+ },
+ {
+ "teal": 473,
+ "source": 191,
+ "pc": [
+ 748
+ ]
+ },
+ {
+ "teal": 474,
+ "source": 191,
+ "pc": [
+ 749
+ ]
+ },
+ {
+ "teal": 477,
+ "source": 191,
+ "errorMessage": "argument 1 (stakedAmountPayment) for addStake must be a pay transaction",
+ "pc": [
+ 750
+ ]
+ },
+ {
+ "teal": 480,
+ "source": 191,
+ "pc": [
+ 751,
+ 752,
+ 753
+ ]
+ },
+ {
+ "teal": 481,
+ "source": 191,
+ "pc": [
+ 754
+ ]
+ },
+ {
+ "teal": 482,
+ "source": 191,
+ "pc": [
+ 755
+ ]
+ },
+ {
+ "teal": 483,
+ "source": 191,
+ "pc": [
+ 756
+ ]
+ },
+ {
+ "teal": 484,
+ "source": 191,
+ "pc": [
+ 757
+ ]
+ },
+ {
+ "teal": 485,
+ "source": 191,
+ "pc": [
+ 758
+ ]
+ },
+ {
+ "teal": 498,
+ "source": 191,
+ "pc": [
+ 759,
+ 760,
+ 761
+ ]
+ },
+ {
+ "teal": 501,
+ "source": 191,
+ "pc": [
+ 762,
+ 763
+ ]
+ },
+ {
+ "teal": 502,
+ "source": 191,
+ "pc": [
+ 764,
+ 765
+ ]
+ },
+ {
+ "teal": 506,
+ "source": 192,
+ "pc": [
+ 766
+ ]
+ },
+ {
+ "teal": 507,
+ "source": 192,
+ "pc": [
+ 767
+ ]
+ },
+ {
+ "teal": 508,
+ "source": 192,
+ "pc": [
+ 768
+ ]
+ },
+ {
+ "teal": 509,
+ "source": 192,
+ "pc": [
+ 769
+ ]
+ },
+ {
+ "teal": 512,
+ "source": 192,
+ "errorMessage": "staking pool must be initialized first",
+ "pc": [
+ 770
+ ]
+ },
+ {
+ "teal": 519,
+ "source": 196,
+ "pc": [
+ 771,
+ 772
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 196,
+ "pc": [
+ 773
+ ]
+ },
+ {
+ "teal": 521,
+ "source": 196,
+ "pc": [
+ 774
+ ]
+ },
+ {
+ "teal": 522,
+ "source": 196,
+ "pc": [
+ 775,
+ 776
+ ]
+ },
+ {
+ "teal": 523,
+ "source": 196,
+ "pc": [
+ 777
+ ]
+ },
+ {
+ "teal": 524,
+ "source": 196,
+ "pc": [
+ 778
+ ]
+ },
+ {
+ "teal": 527,
+ "source": 195,
+ "errorMessage": "stake can only be added via the validator contract",
+ "pc": [
+ 779
+ ]
+ },
+ {
+ "teal": 531,
+ "source": 199,
+ "pc": [
+ 780,
+ 781
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 199,
+ "pc": [
+ 782,
+ 783
+ ]
+ },
+ {
+ "teal": 533,
+ "source": 199,
+ "pc": [
+ 784
+ ]
+ },
+ {
+ "teal": 534,
+ "source": 199,
+ "pc": [
+ 785
+ ]
+ },
+ {
+ "teal": 538,
+ "source": 202,
+ "pc": [
+ 786,
+ 787,
+ 788
+ ]
+ },
+ {
+ "teal": 547,
+ "source": 206,
+ "pc": [
+ 789,
+ 790
+ ]
+ },
+ {
+ "teal": 548,
+ "source": 207,
+ "pc": [
+ 791,
+ 792
+ ]
+ },
+ {
+ "teal": 549,
+ "source": 207,
+ "pc": [
+ 793
+ ]
+ },
+ {
+ "teal": 550,
+ "source": 207,
+ "pc": [
+ 794
+ ]
+ },
+ {
+ "teal": 551,
+ "source": 207,
+ "pc": [
+ 795,
+ 796
+ ]
+ },
+ {
+ "teal": 552,
+ "source": 207,
+ "pc": [
+ 797
+ ]
+ },
+ {
+ "teal": 553,
+ "source": 207,
+ "pc": [
+ 798
+ ]
+ },
+ {
+ "teal": 556,
+ "source": 207,
+ "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"AppID.fromUint64(this.creatingValidatorContractAppId.value).address\"}",
+ "pc": [
+ 799
+ ]
+ },
+ {
+ "teal": 559,
+ "source": 206,
+ "pc": [
+ 800,
+ 801
+ ]
+ },
+ {
+ "teal": 560,
+ "source": 208,
+ "pc": [
+ 802,
+ 803
+ ]
+ },
+ {
+ "teal": 561,
+ "source": 208,
+ "pc": [
+ 804,
+ 805
+ ]
+ },
+ {
+ "teal": 562,
+ "source": 208,
+ "pc": [
+ 806
+ ]
+ },
+ {
+ "teal": 565,
+ "source": 208,
+ "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 807
+ ]
+ },
+ {
+ "teal": 568,
+ "source": 206,
+ "pc": [
+ 808,
+ 809
+ ]
+ },
+ {
+ "teal": 569,
+ "source": 209,
+ "pc": [
+ 810,
+ 811
+ ]
+ },
+ {
+ "teal": 570,
+ "source": 209,
+ "pc": [
+ 812,
+ 813
+ ]
+ },
+ {
+ "teal": 571,
+ "source": 209,
+ "pc": [
+ 814,
+ 815
+ ]
+ },
+ {
+ "teal": 572,
+ "source": 209,
+ "pc": [
+ 816
+ ]
+ },
+ {
+ "teal": 575,
+ "source": 209,
+ "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"amount\",\"expected\":\"stakedAmountPayment.amount\"}",
+ "pc": [
+ 817
+ ]
+ },
+ {
+ "teal": 579,
+ "source": 215,
+ "pc": [
+ 818,
+ 819
+ ]
+ },
+ {
+ "teal": 580,
+ "source": 215,
+ "pc": [
+ 820,
+ 821,
+ 822
+ ]
+ },
+ {
+ "teal": 581,
+ "source": 215,
+ "pc": [
+ 823
+ ]
+ },
+ {
+ "teal": 582,
+ "source": 215,
+ "pc": [
+ 824,
+ 825
+ ]
+ },
+ {
+ "teal": 586,
+ "source": 216,
+ "pc": [
+ 826
+ ]
+ },
+ {
+ "teal": 587,
+ "source": 216,
+ "pc": [
+ 827,
+ 828
+ ]
+ },
+ {
+ "teal": 591,
+ "source": 218,
+ "pc": [
+ 829,
+ 830
+ ]
+ },
+ {
+ "teal": 592,
+ "source": 218,
+ "pc": [
+ 831
+ ]
+ },
+ {
+ "teal": 593,
+ "source": 218,
+ "pc": [
+ 832,
+ 833
+ ]
+ },
+ {
+ "teal": 594,
+ "source": 218,
+ "pc": [
+ 834,
+ 835
+ ]
+ },
+ {
+ "teal": 595,
+ "source": 218,
+ "pc": [
+ 836
+ ]
+ },
+ {
+ "teal": 596,
+ "source": 218,
+ "pc": [
+ 837,
+ 838
+ ]
+ },
+ {
+ "teal": 597,
+ "source": 218,
+ "pc": [
+ 839
+ ]
+ },
+ {
+ "teal": 598,
+ "source": 218,
+ "pc": [
+ 840
+ ]
+ },
+ {
+ "teal": 602,
+ "source": 220,
+ "pc": [
+ 841,
+ 842
+ ]
+ },
+ {
+ "teal": 603,
+ "source": 220,
+ "pc": [
+ 843
+ ]
+ },
+ {
+ "teal": 604,
+ "source": 220,
+ "pc": [
+ 844,
+ 845
+ ]
+ },
+ {
+ "teal": 605,
+ "source": 220,
+ "pc": [
+ 846
+ ]
+ },
+ {
+ "teal": 606,
+ "source": 220,
+ "pc": [
+ 847
+ ]
+ },
+ {
+ "teal": 607,
+ "source": 220,
+ "pc": [
+ 848,
+ 849
+ ]
+ },
+ {
+ "teal": 608,
+ "source": 220,
+ "pc": [
+ 850
+ ]
+ },
+ {
+ "teal": 609,
+ "source": 220,
+ "pc": [
+ 851,
+ 852
+ ]
+ },
+ {
+ "teal": 614,
+ "source": 221,
+ "pc": [
+ 853,
+ 854
+ ]
+ },
+ {
+ "teal": 615,
+ "source": 221,
+ "pc": [
+ 855
+ ]
+ },
+ {
+ "teal": 616,
+ "source": 222,
+ "pc": [
+ 856
+ ]
+ },
+ {
+ "teal": 617,
+ "source": 222,
+ "pc": [
+ 857,
+ 858
+ ]
+ },
+ {
+ "teal": 618,
+ "source": 222,
+ "pc": [
+ 859,
+ 860
+ ]
+ },
+ {
+ "teal": 619,
+ "source": 222,
+ "pc": [
+ 861
+ ]
+ },
+ {
+ "teal": 620,
+ "source": 222,
+ "pc": [
+ 862,
+ 863
+ ]
+ },
+ {
+ "teal": 621,
+ "source": 222,
+ "pc": [
+ 864
+ ]
+ },
+ {
+ "teal": 622,
+ "source": 222,
+ "pc": [
+ 865
+ ]
+ },
+ {
+ "teal": 623,
+ "source": 222,
+ "pc": [
+ 866
+ ]
+ },
+ {
+ "teal": 624,
+ "source": 222,
+ "pc": [
+ 867
+ ]
+ },
+ {
+ "teal": 625,
+ "source": 222,
+ "pc": [
+ 868
+ ]
+ },
+ {
+ "teal": 626,
+ "source": 222,
+ "pc": [
+ 869,
+ 870
+ ]
+ },
+ {
+ "teal": 627,
+ "source": 222,
+ "pc": [
+ 871
+ ]
+ },
+ {
+ "teal": 630,
+ "source": 222,
+ "errorMessage": "this.stakeAccumulator.value + (stakedAmountPayment.amount as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits",
+ "pc": [
+ 872
+ ]
+ },
+ {
+ "teal": 631,
+ "source": 222,
+ "pc": [
+ 873,
+ 874
+ ]
+ },
+ {
+ "teal": 632,
+ "source": 222,
+ "pc": [
+ 875
+ ]
+ },
+ {
+ "teal": 633,
+ "source": 222,
+ "pc": [
+ 876
+ ]
+ },
+ {
+ "teal": 634,
+ "source": 222,
+ "pc": [
+ 877
+ ]
+ },
+ {
+ "teal": 635,
+ "source": 222,
+ "pc": [
+ 878
+ ]
+ },
+ {
+ "teal": 636,
+ "source": 222,
+ "pc": [
+ 879,
+ 880
+ ]
+ },
+ {
+ "teal": 637,
+ "source": 222,
+ "pc": [
+ 881
+ ]
+ },
+ {
+ "teal": 638,
+ "source": 222,
+ "pc": [
+ 882
+ ]
+ },
+ {
+ "teal": 639,
+ "source": 222,
+ "pc": [
+ 883
+ ]
+ },
+ {
+ "teal": 640,
+ "source": 221,
+ "pc": [
+ 884
+ ]
+ },
+ {
+ "teal": 644,
+ "source": 225,
+ "pc": [
+ 885
+ ]
+ },
+ {
+ "teal": 645,
+ "source": 225,
+ "pc": [
+ 886,
+ 887
+ ]
+ },
+ {
+ "teal": 650,
+ "source": 225,
+ "pc": [
+ 888,
+ 889
+ ]
+ },
+ {
+ "teal": 651,
+ "source": 225,
+ "pc": [
+ 890,
+ 891
+ ]
+ },
+ {
+ "teal": 652,
+ "source": 225,
+ "pc": [
+ 892
+ ]
+ },
+ {
+ "teal": 653,
+ "source": 225,
+ "pc": [
+ 893,
+ 894,
+ 895
+ ]
+ },
+ {
+ "teal": 658,
+ "source": 226,
+ "pc": [
+ 896,
+ 897
+ ]
+ },
+ {
+ "teal": 659,
+ "source": 226,
+ "pc": [
+ 898,
+ 899
+ ]
+ },
+ {
+ "teal": 660,
+ "source": 226,
+ "pc": [
+ 900
+ ]
+ },
+ {
+ "teal": 661,
+ "source": 226,
+ "pc": [
+ 901,
+ 902,
+ 903
+ ]
+ },
+ {
+ "teal": 666,
+ "source": 227,
+ "pc": [
+ 904
+ ]
+ },
+ {
+ "teal": 667,
+ "source": 227,
+ "pc": [
+ 905
+ ]
+ },
+ {
+ "teal": 668,
+ "source": 227,
+ "pc": [
+ 906,
+ 907
+ ]
+ },
+ {
+ "teal": 669,
+ "source": 227,
+ "pc": [
+ 908
+ ]
+ },
+ {
+ "teal": 670,
+ "source": 227,
+ "pc": [
+ 909,
+ 910
+ ]
+ },
+ {
+ "teal": 671,
+ "source": 227,
+ "pc": [
+ 911,
+ 912
+ ]
+ },
+ {
+ "teal": 672,
+ "source": 227,
+ "pc": [
+ 913
+ ]
+ },
+ {
+ "teal": 673,
+ "source": 227,
+ "pc": [
+ 914,
+ 915
+ ]
+ },
+ {
+ "teal": 674,
+ "source": 227,
+ "pc": [
+ 916,
+ 917
+ ]
+ },
+ {
+ "teal": 675,
+ "source": 227,
+ "pc": [
+ 918,
+ 919
+ ]
+ },
+ {
+ "teal": 676,
+ "source": 227,
+ "pc": [
+ 920,
+ 921
+ ]
+ },
+ {
+ "teal": 677,
+ "source": 227,
+ "pc": [
+ 922
+ ]
+ },
+ {
+ "teal": 682,
+ "source": 229,
+ "pc": [
+ 923,
+ 924
+ ]
+ },
+ {
+ "teal": 683,
+ "source": 229,
+ "pc": [
+ 925
+ ]
+ },
+ {
+ "teal": 684,
+ "source": 229,
+ "pc": [
+ 926
+ ]
+ },
+ {
+ "teal": 685,
+ "source": 229,
+ "pc": [
+ 927
+ ]
+ },
+ {
+ "teal": 686,
+ "source": 229,
+ "pc": [
+ 928
+ ]
+ },
+ {
+ "teal": 687,
+ "source": 229,
+ "pc": [
+ 929,
+ 930
+ ]
+ },
+ {
+ "teal": 688,
+ "source": 229,
+ "pc": [
+ 931
+ ]
+ },
+ {
+ "teal": 689,
+ "source": 229,
+ "pc": [
+ 932,
+ 933
+ ]
+ },
+ {
+ "teal": 694,
+ "source": 230,
+ "pc": [
+ 934,
+ 935
+ ]
+ },
+ {
+ "teal": 695,
+ "source": 230,
+ "pc": [
+ 936,
+ 937,
+ 938
+ ]
+ },
+ {
+ "teal": 696,
+ "source": 230,
+ "pc": [
+ 939,
+ 940
+ ]
+ },
+ {
+ "teal": 697,
+ "source": 230,
+ "pc": [
+ 941
+ ]
+ },
+ {
+ "teal": 698,
+ "source": 230,
+ "pc": [
+ 942,
+ 943,
+ 944
+ ]
+ },
+ {
+ "teal": 703,
+ "source": 232,
+ "pc": [
+ 945,
+ 946
+ ]
+ },
+ {
+ "teal": 704,
+ "source": 232,
+ "pc": [
+ 947,
+ 948
+ ]
+ },
+ {
+ "teal": 705,
+ "source": 232,
+ "pc": [
+ 949,
+ 950
+ ]
+ },
+ {
+ "teal": 706,
+ "source": 232,
+ "pc": [
+ 951,
+ 952,
+ 953
+ ]
+ },
+ {
+ "teal": 707,
+ "source": 232,
+ "pc": [
+ 954
+ ]
+ },
+ {
+ "teal": 708,
+ "source": 232,
+ "pc": [
+ 955,
+ 956
+ ]
+ },
+ {
+ "teal": 709,
+ "source": 232,
+ "pc": [
+ 957,
+ 958
+ ]
+ },
+ {
+ "teal": 710,
+ "source": 232,
+ "pc": [
+ 959
+ ]
+ },
+ {
+ "teal": 711,
+ "source": 232,
+ "pc": [
+ 960
+ ]
+ },
+ {
+ "teal": 712,
+ "source": 232,
+ "pc": [
+ 961
+ ]
+ },
+ {
+ "teal": 713,
+ "source": 232,
+ "pc": [
+ 962,
+ 963
+ ]
+ },
+ {
+ "teal": 717,
+ "source": 233,
+ "pc": [
+ 964,
+ 965
+ ]
+ },
+ {
+ "teal": 718,
+ "source": 233,
+ "pc": [
+ 966,
+ 967
+ ]
+ },
+ {
+ "teal": 719,
+ "source": 233,
+ "pc": [
+ 968,
+ 969
+ ]
+ },
+ {
+ "teal": 720,
+ "source": 233,
+ "pc": [
+ 970
+ ]
+ },
+ {
+ "teal": 721,
+ "source": 233,
+ "pc": [
+ 971
+ ]
+ },
+ {
+ "teal": 722,
+ "source": 233,
+ "pc": [
+ 972,
+ 973
+ ]
+ },
+ {
+ "teal": 726,
+ "source": 236,
+ "pc": [
+ 974,
+ 975
+ ]
+ },
+ {
+ "teal": 727,
+ "source": 236,
+ "pc": [
+ 976
+ ]
+ },
+ {
+ "teal": 728,
+ "source": 236,
+ "pc": [
+ 977
+ ]
+ },
+ {
+ "teal": 729,
+ "source": 236,
+ "pc": [
+ 978,
+ 979
+ ]
+ },
+ {
+ "teal": 730,
+ "source": 236,
+ "pc": [
+ 980
+ ]
+ },
+ {
+ "teal": 731,
+ "source": 236,
+ "pc": [
+ 981,
+ 982
+ ]
+ },
+ {
+ "teal": 732,
+ "source": 236,
+ "pc": [
+ 983
+ ]
+ },
+ {
+ "teal": 736,
+ "source": 238,
+ "pc": [
+ 984,
+ 985
+ ]
+ },
+ {
+ "teal": 737,
+ "source": 238,
+ "pc": [
+ 986,
+ 987,
+ 988
+ ]
+ },
+ {
+ "teal": 743,
+ "source": 240,
+ "pc": [
+ 989,
+ 990
+ ]
+ },
+ {
+ "teal": 744,
+ "source": 240,
+ "pc": [
+ 991
+ ]
+ },
+ {
+ "teal": 745,
+ "source": 240,
+ "pc": [
+ 992
+ ]
+ },
+ {
+ "teal": 746,
+ "source": 240,
+ "pc": [
+ 993
+ ]
+ },
+ {
+ "teal": 747,
+ "source": 240,
+ "pc": [
+ 994,
+ 995,
+ 996
+ ]
+ },
+ {
+ "teal": 748,
+ "source": 240,
+ "pc": [
+ 997,
+ 998
+ ]
+ },
+ {
+ "teal": 749,
+ "source": 240,
+ "pc": [
+ 999,
+ 1000,
+ 1001
+ ]
+ },
+ {
+ "teal": 750,
+ "source": 240,
+ "pc": [
+ 1002,
+ 1003
+ ]
+ },
+ {
+ "teal": 751,
+ "source": 240,
+ "pc": [
+ 1004
+ ]
+ },
+ {
+ "teal": 752,
+ "source": 240,
+ "pc": [
+ 1005
+ ]
+ },
+ {
+ "teal": 755,
+ "source": 240,
+ "pc": [
+ 1006,
+ 1007,
+ 1008
+ ]
+ },
+ {
+ "teal": 760,
+ "source": 241,
+ "pc": [
+ 1009,
+ 1010
+ ]
+ },
+ {
+ "teal": 761,
+ "source": 241,
+ "pc": [
+ 1011
+ ]
+ },
+ {
+ "teal": 762,
+ "source": 241,
+ "pc": [
+ 1012
+ ]
+ },
+ {
+ "teal": 763,
+ "source": 241,
+ "pc": [
+ 1013,
+ 1014
+ ]
+ },
+ {
+ "teal": 770,
+ "source": 225,
+ "pc": [
+ 1015,
+ 1016
+ ]
+ },
+ {
+ "teal": 771,
+ "source": 225,
+ "pc": [
+ 1017
+ ]
+ },
+ {
+ "teal": 772,
+ "source": 225,
+ "pc": [
+ 1018
+ ]
+ },
+ {
+ "teal": 773,
+ "source": 225,
+ "pc": [
+ 1019,
+ 1020
+ ]
+ },
+ {
+ "teal": 774,
+ "source": 225,
+ "pc": [
+ 1021,
+ 1022,
+ 1023
+ ]
+ },
+ {
+ "teal": 780,
+ "source": 245,
+ "pc": [
+ 1024,
+ 1025
+ ]
+ },
+ {
+ "teal": 781,
+ "source": 245,
+ "pc": [
+ 1026
+ ]
+ },
+ {
+ "teal": 782,
+ "source": 245,
+ "pc": [
+ 1027
+ ]
+ },
+ {
+ "teal": 783,
+ "source": 245,
+ "pc": [
+ 1028,
+ 1029,
+ 1030
+ ]
+ },
+ {
+ "teal": 787,
+ "source": 247,
+ "errorMessage": "Staking pool full",
+ "pc": [
+ 1031
+ ]
+ },
+ {
+ "teal": 792,
+ "source": 252,
+ "pc": [
+ 1032,
+ 1033
+ ]
+ },
+ {
+ "teal": 793,
+ "source": 252,
+ "pc": [
+ 1034,
+ 1035
+ ]
+ },
+ {
+ "teal": 794,
+ "source": 252,
+ "pc": [
+ 1036,
+ 1037
+ ]
+ },
+ {
+ "teal": 795,
+ "source": 252,
+ "pc": [
+ 1038
+ ]
+ },
+ {
+ "teal": 796,
+ "source": 252,
+ "pc": [
+ 1039
+ ]
+ },
+ {
+ "teal": 799,
+ "source": 252,
+ "errorMessage": "must stake at least the minimum for this pool",
+ "pc": [
+ 1040
+ ]
+ },
+ {
+ "teal": 803,
+ "source": 254,
+ "pc": [
+ 1041,
+ 1042
+ ]
+ },
+ {
+ "teal": 804,
+ "source": 254,
+ "pc": [
+ 1043
+ ]
+ },
+ {
+ "teal": 805,
+ "source": 254,
+ "pc": [
+ 1044
+ ]
+ },
+ {
+ "teal": 806,
+ "source": 254,
+ "pc": [
+ 1045
+ ]
+ },
+ {
+ "teal": 807,
+ "source": 254,
+ "pc": [
+ 1046
+ ]
+ },
+ {
+ "teal": 808,
+ "source": 254,
+ "pc": [
+ 1047
+ ]
+ },
+ {
+ "teal": 809,
+ "source": 254,
+ "pc": [
+ 1048
+ ]
+ },
+ {
+ "teal": 810,
+ "source": 254,
+ "pc": [
+ 1049,
+ 1050
+ ]
+ },
+ {
+ "teal": 811,
+ "source": 254,
+ "pc": [
+ 1051
+ ]
+ },
+ {
+ "teal": 812,
+ "source": 254,
+ "pc": [
+ 1052,
+ 1053
+ ]
+ },
+ {
+ "teal": 813,
+ "source": 254,
+ "pc": [
+ 1054
+ ]
+ },
+ {
+ "teal": 814,
+ "source": 254,
+ "pc": [
+ 1055,
+ 1056
+ ]
+ },
+ {
+ "teal": 815,
+ "source": 254,
+ "pc": [
+ 1057
+ ]
+ },
+ {
+ "teal": 816,
+ "source": 254,
+ "pc": [
+ 1058
+ ]
+ },
+ {
+ "teal": 826,
+ "source": 255,
+ "pc": [
+ 1059,
+ 1060
+ ]
+ },
+ {
+ "teal": 827,
+ "source": 255,
+ "pc": [
+ 1061
+ ]
+ },
+ {
+ "teal": 828,
+ "source": 255,
+ "pc": [
+ 1062
+ ]
+ },
+ {
+ "teal": 829,
+ "source": 255,
+ "pc": [
+ 1063
+ ]
+ },
+ {
+ "teal": 830,
+ "source": 255,
+ "pc": [
+ 1064
+ ]
+ },
+ {
+ "teal": 831,
+ "source": 256,
+ "pc": [
+ 1065,
+ 1066
+ ]
+ },
+ {
+ "teal": 832,
+ "source": 257,
+ "pc": [
+ 1067,
+ 1068
+ ]
+ },
+ {
+ "teal": 833,
+ "source": 257,
+ "pc": [
+ 1069,
+ 1070
+ ]
+ },
+ {
+ "teal": 834,
+ "source": 257,
+ "pc": [
+ 1071
+ ]
+ },
+ {
+ "teal": 835,
+ "source": 257,
+ "pc": [
+ 1072
+ ]
+ },
+ {
+ "teal": 836,
+ "source": 258,
+ "pc": [
+ 1073,
+ 1074
+ ]
+ },
+ {
+ "teal": 837,
+ "source": 258,
+ "pc": [
+ 1075
+ ]
+ },
+ {
+ "teal": 838,
+ "source": 259,
+ "pc": [
+ 1076,
+ 1077
+ ]
+ },
+ {
+ "teal": 839,
+ "source": 259,
+ "pc": [
+ 1078
+ ]
+ },
+ {
+ "teal": 840,
+ "source": 260,
+ "pc": [
+ 1079,
+ 1080
+ ]
+ },
+ {
+ "teal": 841,
+ "source": 260,
+ "pc": [
+ 1081
+ ]
+ },
+ {
+ "teal": 842,
+ "source": 260,
+ "pc": [
+ 1082
+ ]
+ },
+ {
+ "teal": 843,
+ "source": 255,
+ "pc": [
+ 1083
+ ]
+ },
+ {
+ "teal": 844,
+ "source": 255,
+ "pc": [
+ 1084,
+ 1085
+ ]
+ },
+ {
+ "teal": 845,
+ "source": 255,
+ "pc": [
+ 1086
+ ]
+ },
+ {
+ "teal": 849,
+ "source": 262,
+ "pc": [
+ 1087,
+ 1088
+ ]
+ },
+ {
+ "teal": 850,
+ "source": 262,
+ "pc": [
+ 1089
+ ]
+ },
+ {
+ "teal": 851,
+ "source": 262,
+ "pc": [
+ 1090
+ ]
+ },
+ {
+ "teal": 852,
+ "source": 262,
+ "pc": [
+ 1091
+ ]
+ },
+ {
+ "teal": 853,
+ "source": 262,
+ "pc": [
+ 1092,
+ 1093
+ ]
+ },
+ {
+ "teal": 854,
+ "source": 262,
+ "pc": [
+ 1094
+ ]
+ },
+ {
+ "teal": 855,
+ "source": 262,
+ "pc": [
+ 1095
+ ]
+ },
+ {
+ "teal": 859,
+ "source": 263,
+ "pc": [
+ 1096,
+ 1097
+ ]
+ },
+ {
+ "teal": 863,
+ "source": 191,
+ "pc": [
+ 1098,
+ 1099
+ ]
+ },
+ {
+ "teal": 866,
+ "source": 191,
+ "pc": [
+ 1100,
+ 1101
+ ]
+ },
+ {
+ "teal": 867,
+ "source": 191,
+ "pc": [
+ 1102
+ ]
+ },
+ {
+ "teal": 872,
+ "source": 277,
+ "pc": [
+ 1103,
+ 1104,
+ 1105
+ ]
+ },
+ {
+ "teal": 873,
+ "source": 277,
+ "pc": [
+ 1106
+ ]
+ },
+ {
+ "teal": 876,
+ "source": 277,
+ "pc": [
+ 1107,
+ 1108,
+ 1109
+ ]
+ },
+ {
+ "teal": 877,
+ "source": 277,
+ "pc": [
+ 1110
+ ]
+ },
+ {
+ "teal": 878,
+ "source": 277,
+ "pc": [
+ 1111
+ ]
+ },
+ {
+ "teal": 879,
+ "source": 277,
+ "pc": [
+ 1112,
+ 1113
+ ]
+ },
+ {
+ "teal": 880,
+ "source": 277,
+ "pc": [
+ 1114
+ ]
+ },
+ {
+ "teal": 883,
+ "source": 277,
+ "errorMessage": "argument 1 (staker) for removeStake must be a address",
+ "pc": [
+ 1115
+ ]
+ },
+ {
+ "teal": 886,
+ "source": 277,
+ "pc": [
+ 1116,
+ 1117,
+ 1118
+ ]
+ },
+ {
+ "teal": 887,
+ "source": 277,
+ "pc": [
+ 1119
+ ]
+ },
+ {
+ "teal": 888,
+ "source": 277,
+ "pc": [
+ 1120
+ ]
+ },
+ {
+ "teal": 902,
+ "source": 277,
+ "pc": [
+ 1121,
+ 1122,
+ 1123
+ ]
+ },
+ {
+ "teal": 905,
+ "source": 277,
+ "pc": [
+ 1124,
+ 1125
+ ]
+ },
+ {
+ "teal": 906,
+ "source": 277,
+ "pc": [
+ 1126,
+ 1127
+ ]
+ },
+ {
+ "teal": 911,
+ "source": 280,
+ "pc": [
+ 1128,
+ 1129
+ ]
+ },
+ {
+ "teal": 912,
+ "source": 280,
+ "pc": [
+ 1130,
+ 1131
+ ]
+ },
+ {
+ "teal": 913,
+ "source": 280,
+ "pc": [
+ 1132
+ ]
+ },
+ {
+ "teal": 914,
+ "source": 280,
+ "pc": [
+ 1133,
+ 1134,
+ 1135
+ ]
+ },
+ {
+ "teal": 922,
+ "source": 282,
+ "pc": [
+ 1136,
+ 1137,
+ 1138
+ ]
+ },
+ {
+ "teal": 925,
+ "source": 281,
+ "errorMessage": "If staker is not sender in removeStake call, then sender MUST be owner or manager of validator",
+ "pc": [
+ 1139
+ ]
+ },
+ {
+ "teal": 930,
+ "source": 287,
+ "pc": [
+ 1140,
+ 1141,
+ 1142
+ ]
+ },
+ {
+ "teal": 934,
+ "source": 289,
+ "pc": [
+ 1143
+ ]
+ },
+ {
+ "teal": 935,
+ "source": 289,
+ "pc": [
+ 1144,
+ 1145
+ ]
+ },
+ {
+ "teal": 940,
+ "source": 289,
+ "pc": [
+ 1146,
+ 1147
+ ]
+ },
+ {
+ "teal": 941,
+ "source": 289,
+ "pc": [
+ 1148,
+ 1149
+ ]
+ },
+ {
+ "teal": 942,
+ "source": 289,
+ "pc": [
+ 1150
+ ]
+ },
+ {
+ "teal": 943,
+ "source": 289,
+ "pc": [
+ 1151,
+ 1152,
+ 1153
+ ]
+ },
+ {
+ "teal": 948,
+ "source": 290,
+ "pc": [
+ 1154,
+ 1155
+ ]
+ },
+ {
+ "teal": 949,
+ "source": 290,
+ "pc": [
+ 1156,
+ 1157
+ ]
+ },
+ {
+ "teal": 950,
+ "source": 290,
+ "pc": [
+ 1158
+ ]
+ },
+ {
+ "teal": 951,
+ "source": 290,
+ "pc": [
+ 1159,
+ 1160,
+ 1161
+ ]
+ },
+ {
+ "teal": 956,
+ "source": 291,
+ "pc": [
+ 1162
+ ]
+ },
+ {
+ "teal": 957,
+ "source": 291,
+ "pc": [
+ 1163
+ ]
+ },
+ {
+ "teal": 958,
+ "source": 291,
+ "pc": [
+ 1164,
+ 1165
+ ]
+ },
+ {
+ "teal": 959,
+ "source": 291,
+ "pc": [
+ 1166
+ ]
+ },
+ {
+ "teal": 960,
+ "source": 291,
+ "pc": [
+ 1167,
+ 1168
+ ]
+ },
+ {
+ "teal": 961,
+ "source": 291,
+ "pc": [
+ 1169,
+ 1170
+ ]
+ },
+ {
+ "teal": 962,
+ "source": 291,
+ "pc": [
+ 1171
+ ]
+ },
+ {
+ "teal": 963,
+ "source": 291,
+ "pc": [
+ 1172,
+ 1173
+ ]
+ },
+ {
+ "teal": 964,
+ "source": 291,
+ "pc": [
+ 1174,
+ 1175
+ ]
+ },
+ {
+ "teal": 965,
+ "source": 291,
+ "pc": [
+ 1176,
+ 1177
+ ]
+ },
+ {
+ "teal": 966,
+ "source": 291,
+ "pc": [
+ 1178,
+ 1179
+ ]
+ },
+ {
+ "teal": 967,
+ "source": 291,
+ "pc": [
+ 1180
+ ]
+ },
+ {
+ "teal": 972,
+ "source": 293,
+ "pc": [
+ 1181,
+ 1182
+ ]
+ },
+ {
+ "teal": 973,
+ "source": 293,
+ "pc": [
+ 1183
+ ]
+ },
+ {
+ "teal": 974,
+ "source": 293,
+ "pc": [
+ 1184
+ ]
+ },
+ {
+ "teal": 975,
+ "source": 293,
+ "pc": [
+ 1185
+ ]
+ },
+ {
+ "teal": 976,
+ "source": 293,
+ "pc": [
+ 1186
+ ]
+ },
+ {
+ "teal": 977,
+ "source": 293,
+ "pc": [
+ 1187,
+ 1188
+ ]
+ },
+ {
+ "teal": 978,
+ "source": 293,
+ "pc": [
+ 1189
+ ]
+ },
+ {
+ "teal": 979,
+ "source": 293,
+ "pc": [
+ 1190,
+ 1191
+ ]
+ },
+ {
+ "teal": 984,
+ "source": 294,
+ "pc": [
+ 1192,
+ 1193
+ ]
+ },
+ {
+ "teal": 985,
+ "source": 294,
+ "pc": [
+ 1194,
+ 1195,
+ 1196
+ ]
+ },
+ {
+ "teal": 986,
+ "source": 294,
+ "pc": [
+ 1197,
+ 1198
+ ]
+ },
+ {
+ "teal": 987,
+ "source": 294,
+ "pc": [
+ 1199
+ ]
+ },
+ {
+ "teal": 988,
+ "source": 294,
+ "pc": [
+ 1200,
+ 1201,
+ 1202
+ ]
+ },
+ {
+ "teal": 994,
+ "source": 295,
+ "pc": [
+ 1203,
+ 1204
+ ]
+ },
+ {
+ "teal": 995,
+ "source": 295,
+ "pc": [
+ 1205
+ ]
+ },
+ {
+ "teal": 996,
+ "source": 295,
+ "pc": [
+ 1206
+ ]
+ },
+ {
+ "teal": 997,
+ "source": 295,
+ "pc": [
+ 1207,
+ 1208,
+ 1209
+ ]
+ },
+ {
+ "teal": 1002,
+ "source": 297,
+ "pc": [
+ 1210,
+ 1211
+ ]
+ },
+ {
+ "teal": 1003,
+ "source": 297,
+ "pc": [
+ 1212,
+ 1213,
+ 1214
+ ]
+ },
+ {
+ "teal": 1004,
+ "source": 297,
+ "pc": [
+ 1215
+ ]
+ },
+ {
+ "teal": 1005,
+ "source": 297,
+ "pc": [
+ 1216,
+ 1217
+ ]
+ },
+ {
+ "teal": 1011,
+ "source": 299,
+ "pc": [
+ 1218,
+ 1219
+ ]
+ },
+ {
+ "teal": 1012,
+ "source": 299,
+ "pc": [
+ 1220,
+ 1221,
+ 1222
+ ]
+ },
+ {
+ "teal": 1013,
+ "source": 299,
+ "pc": [
+ 1223
+ ]
+ },
+ {
+ "teal": 1014,
+ "source": 299,
+ "pc": [
+ 1224,
+ 1225
+ ]
+ },
+ {
+ "teal": 1015,
+ "source": 299,
+ "pc": [
+ 1226
+ ]
+ },
+ {
+ "teal": 1016,
+ "source": 299,
+ "pc": [
+ 1227,
+ 1228,
+ 1229
+ ]
+ },
+ {
+ "teal": 1020,
+ "source": 300,
+ "errorMessage": "Insufficient balance",
+ "pc": [
+ 1230
+ ]
+ },
+ {
+ "teal": 1025,
+ "source": 302,
+ "pc": [
+ 1231,
+ 1232
+ ]
+ },
+ {
+ "teal": 1026,
+ "source": 302,
+ "pc": [
+ 1233,
+ 1234
+ ]
+ },
+ {
+ "teal": 1027,
+ "source": 302,
+ "pc": [
+ 1235,
+ 1236
+ ]
+ },
+ {
+ "teal": 1028,
+ "source": 302,
+ "pc": [
+ 1237,
+ 1238,
+ 1239
+ ]
+ },
+ {
+ "teal": 1029,
+ "source": 302,
+ "pc": [
+ 1240
+ ]
+ },
+ {
+ "teal": 1030,
+ "source": 302,
+ "pc": [
+ 1241,
+ 1242
+ ]
+ },
+ {
+ "teal": 1031,
+ "source": 302,
+ "pc": [
+ 1243
+ ]
+ },
+ {
+ "teal": 1032,
+ "source": 302,
+ "pc": [
+ 1244
+ ]
+ },
+ {
+ "teal": 1033,
+ "source": 302,
+ "pc": [
+ 1245
+ ]
+ },
+ {
+ "teal": 1034,
+ "source": 302,
+ "pc": [
+ 1246,
+ 1247
+ ]
+ },
+ {
+ "teal": 1038,
+ "source": 303,
+ "pc": [
+ 1248,
+ 1249
+ ]
+ },
+ {
+ "teal": 1039,
+ "source": 303,
+ "pc": [
+ 1250
+ ]
+ },
+ {
+ "teal": 1040,
+ "source": 303,
+ "pc": [
+ 1251,
+ 1252
+ ]
+ },
+ {
+ "teal": 1041,
+ "source": 303,
+ "pc": [
+ 1253
+ ]
+ },
+ {
+ "teal": 1042,
+ "source": 303,
+ "pc": [
+ 1254,
+ 1255
+ ]
+ },
+ {
+ "teal": 1043,
+ "source": 303,
+ "pc": [
+ 1256
+ ]
+ },
+ {
+ "teal": 1044,
+ "source": 303,
+ "pc": [
+ 1257
+ ]
+ },
+ {
+ "teal": 1048,
+ "source": 305,
+ "pc": [
+ 1258
+ ]
+ },
+ {
+ "teal": 1049,
+ "source": 305,
+ "pc": [
+ 1259,
+ 1260
+ ]
+ },
+ {
+ "teal": 1054,
+ "source": 306,
+ "pc": [
+ 1261,
+ 1262
+ ]
+ },
+ {
+ "teal": 1055,
+ "source": 306,
+ "pc": [
+ 1263,
+ 1264,
+ 1265
+ ]
+ },
+ {
+ "teal": 1056,
+ "source": 306,
+ "pc": [
+ 1266
+ ]
+ },
+ {
+ "teal": 1057,
+ "source": 306,
+ "pc": [
+ 1267
+ ]
+ },
+ {
+ "teal": 1058,
+ "source": 306,
+ "pc": [
+ 1268
+ ]
+ },
+ {
+ "teal": 1059,
+ "source": 306,
+ "pc": [
+ 1269,
+ 1270,
+ 1271
+ ]
+ },
+ {
+ "teal": 1065,
+ "source": 308,
+ "pc": [
+ 1272
+ ]
+ },
+ {
+ "teal": 1066,
+ "source": 308,
+ "pc": [
+ 1273
+ ]
+ },
+ {
+ "teal": 1067,
+ "source": 308,
+ "pc": [
+ 1274
+ ]
+ },
+ {
+ "teal": 1068,
+ "source": 308,
+ "pc": [
+ 1275
+ ]
+ },
+ {
+ "teal": 1069,
+ "source": 308,
+ "pc": [
+ 1276,
+ 1277,
+ 1278
+ ]
+ },
+ {
+ "teal": 1077,
+ "source": 309,
+ "pc": [
+ 1279
+ ]
+ },
+ {
+ "teal": 1078,
+ "source": 309,
+ "pc": [
+ 1280
+ ]
+ },
+ {
+ "teal": 1079,
+ "source": 309,
+ "pc": [
+ 1281,
+ 1282
+ ]
+ },
+ {
+ "teal": 1080,
+ "source": 309,
+ "pc": [
+ 1283,
+ 1284
+ ]
+ },
+ {
+ "teal": 1081,
+ "source": 309,
+ "pc": [
+ 1285,
+ 1286
+ ]
+ },
+ {
+ "teal": 1085,
+ "source": 310,
+ "pc": [
+ 1287
+ ]
+ },
+ {
+ "teal": 1086,
+ "source": 310,
+ "pc": [
+ 1288
+ ]
+ },
+ {
+ "teal": 1087,
+ "source": 310,
+ "pc": [
+ 1289,
+ 1290
+ ]
+ },
+ {
+ "teal": 1091,
+ "source": 311,
+ "pc": [
+ 1291
+ ]
+ },
+ {
+ "teal": 1092,
+ "source": 311,
+ "pc": [
+ 1292
+ ]
+ },
+ {
+ "teal": 1093,
+ "source": 311,
+ "pc": [
+ 1293
+ ]
+ },
+ {
+ "teal": 1094,
+ "source": 311,
+ "pc": [
+ 1294,
+ 1295
+ ]
+ },
+ {
+ "teal": 1097,
+ "source": 309,
+ "pc": [
+ 1296
+ ]
+ },
+ {
+ "teal": 1098,
+ "source": 309,
+ "pc": [
+ 1297,
+ 1298
+ ]
+ },
+ {
+ "teal": 1101,
+ "source": 309,
+ "pc": [
+ 1299
+ ]
+ },
+ {
+ "teal": 1102,
+ "source": 309,
+ "pc": [
+ 1300,
+ 1301
+ ]
+ },
+ {
+ "teal": 1103,
+ "source": 309,
+ "pc": [
+ 1302
+ ]
+ },
+ {
+ "teal": 1104,
+ "source": 309,
+ "pc": [
+ 1303
+ ]
+ },
+ {
+ "teal": 1105,
+ "source": 309,
+ "pc": [
+ 1304,
+ 1305
+ ]
+ },
+ {
+ "teal": 1106,
+ "source": 309,
+ "pc": [
+ 1306,
+ 1307,
+ 1308
+ ]
+ },
+ {
+ "teal": 1107,
+ "source": 309,
+ "pc": [
+ 1309,
+ 1310
+ ]
+ },
+ {
+ "teal": 1115,
+ "source": 317,
+ "pc": [
+ 1311
+ ]
+ },
+ {
+ "teal": 1116,
+ "source": 317,
+ "pc": [
+ 1312,
+ 1313
+ ]
+ },
+ {
+ "teal": 1117,
+ "source": 317,
+ "pc": [
+ 1314,
+ 1315
+ ]
+ },
+ {
+ "teal": 1121,
+ "source": 318,
+ "pc": [
+ 1316,
+ 1317
+ ]
+ },
+ {
+ "teal": 1122,
+ "source": 318,
+ "pc": [
+ 1318,
+ 1319,
+ 1320
+ ]
+ },
+ {
+ "teal": 1123,
+ "source": 318,
+ "pc": [
+ 1321
+ ]
+ },
+ {
+ "teal": 1124,
+ "source": 318,
+ "pc": [
+ 1322,
+ 1323
+ ]
+ },
+ {
+ "teal": 1128,
+ "source": 319,
+ "pc": [
+ 1324,
+ 1325
+ ]
+ },
+ {
+ "teal": 1129,
+ "source": 319,
+ "pc": [
+ 1326,
+ 1327
+ ]
+ },
+ {
+ "teal": 1133,
+ "source": 320,
+ "pc": [
+ 1328,
+ 1329
+ ]
+ },
+ {
+ "teal": 1134,
+ "source": 320,
+ "pc": [
+ 1330,
+ 1331,
+ 1332
+ ]
+ },
+ {
+ "teal": 1135,
+ "source": 320,
+ "pc": [
+ 1333
+ ]
+ },
+ {
+ "teal": 1136,
+ "source": 320,
+ "pc": [
+ 1334,
+ 1335
+ ]
+ },
+ {
+ "teal": 1139,
+ "source": 317,
+ "pc": [
+ 1336
+ ]
+ },
+ {
+ "teal": 1140,
+ "source": 317,
+ "pc": [
+ 1337,
+ 1338
+ ]
+ },
+ {
+ "teal": 1143,
+ "source": 317,
+ "pc": [
+ 1339
+ ]
+ },
+ {
+ "teal": 1147,
+ "source": 322,
+ "pc": [
+ 1340,
+ 1341
+ ]
+ },
+ {
+ "teal": 1148,
+ "source": 322,
+ "pc": [
+ 1342,
+ 1343,
+ 1344
+ ]
+ },
+ {
+ "teal": 1149,
+ "source": 322,
+ "pc": [
+ 1345
+ ]
+ },
+ {
+ "teal": 1150,
+ "source": 322,
+ "pc": [
+ 1346,
+ 1347
+ ]
+ },
+ {
+ "teal": 1154,
+ "source": 323,
+ "pc": [
+ 1348,
+ 1349
+ ]
+ },
+ {
+ "teal": 1155,
+ "source": 323,
+ "pc": [
+ 1350,
+ 1351
+ ]
+ },
+ {
+ "teal": 1156,
+ "source": 323,
+ "pc": [
+ 1352,
+ 1353
+ ]
+ },
+ {
+ "teal": 1157,
+ "source": 323,
+ "pc": [
+ 1354,
+ 1355
+ ]
+ },
+ {
+ "teal": 1158,
+ "source": 308,
+ "pc": [
+ 1356,
+ 1357,
+ 1358
+ ]
+ },
+ {
+ "teal": 1163,
+ "source": 328,
+ "pc": [
+ 1359,
+ 1360
+ ]
+ },
+ {
+ "teal": 1164,
+ "source": 328,
+ "pc": [
+ 1361,
+ 1362,
+ 1363
+ ]
+ },
+ {
+ "teal": 1165,
+ "source": 328,
+ "pc": [
+ 1364
+ ]
+ },
+ {
+ "teal": 1166,
+ "source": 328,
+ "pc": [
+ 1365,
+ 1366
+ ]
+ },
+ {
+ "teal": 1170,
+ "source": 329,
+ "pc": [
+ 1367,
+ 1368
+ ]
+ },
+ {
+ "teal": 1171,
+ "source": 329,
+ "pc": [
+ 1369,
+ 1370
+ ]
+ },
+ {
+ "teal": 1172,
+ "source": 329,
+ "pc": [
+ 1371,
+ 1372
+ ]
+ },
+ {
+ "teal": 1173,
+ "source": 329,
+ "pc": [
+ 1373,
+ 1374
+ ]
+ },
+ {
+ "teal": 1183,
+ "source": 335,
+ "pc": [
+ 1375,
+ 1376
+ ]
+ },
+ {
+ "teal": 1184,
+ "source": 335,
+ "pc": [
+ 1377,
+ 1378,
+ 1379
+ ]
+ },
+ {
+ "teal": 1185,
+ "source": 335,
+ "pc": [
+ 1380
+ ]
+ },
+ {
+ "teal": 1186,
+ "source": 335,
+ "pc": [
+ 1381
+ ]
+ },
+ {
+ "teal": 1187,
+ "source": 335,
+ "pc": [
+ 1382
+ ]
+ },
+ {
+ "teal": 1188,
+ "source": 335,
+ "pc": [
+ 1383
+ ]
+ },
+ {
+ "teal": 1189,
+ "source": 335,
+ "pc": [
+ 1384,
+ 1385,
+ 1386
+ ]
+ },
+ {
+ "teal": 1190,
+ "source": 335,
+ "pc": [
+ 1387,
+ 1388
+ ]
+ },
+ {
+ "teal": 1191,
+ "source": 335,
+ "pc": [
+ 1389,
+ 1390,
+ 1391
+ ]
+ },
+ {
+ "teal": 1192,
+ "source": 335,
+ "pc": [
+ 1392
+ ]
+ },
+ {
+ "teal": 1193,
+ "source": 335,
+ "pc": [
+ 1393,
+ 1394
+ ]
+ },
+ {
+ "teal": 1194,
+ "source": 335,
+ "pc": [
+ 1395
+ ]
+ },
+ {
+ "teal": 1195,
+ "source": 335,
+ "pc": [
+ 1396
+ ]
+ },
+ {
+ "teal": 1196,
+ "source": 335,
+ "pc": [
+ 1397
+ ]
+ },
+ {
+ "teal": 1200,
+ "source": 334,
+ "errorMessage": "cannot reduce balance below minimum allowed stake unless all is removed",
+ "pc": [
+ 1398
+ ]
+ },
+ {
+ "teal": 1208,
+ "source": 342,
+ "pc": [
+ 1399
+ ]
+ },
+ {
+ "teal": 1209,
+ "source": 342,
+ "pc": [
+ 1400
+ ]
+ },
+ {
+ "teal": 1210,
+ "source": 342,
+ "pc": [
+ 1401,
+ 1402
+ ]
+ },
+ {
+ "teal": 1214,
+ "source": 343,
+ "pc": [
+ 1403,
+ 1404
+ ]
+ },
+ {
+ "teal": 1215,
+ "source": 343,
+ "pc": [
+ 1405,
+ 1406
+ ]
+ },
+ {
+ "teal": 1219,
+ "source": 344,
+ "pc": [
+ 1407,
+ 1408
+ ]
+ },
+ {
+ "teal": 1220,
+ "source": 344,
+ "pc": [
+ 1409,
+ 1410
+ ]
+ },
+ {
+ "teal": 1224,
+ "source": 345,
+ "pc": [
+ 1411,
+ 1412,
+ 1413,
+ 1414,
+ 1415,
+ 1416,
+ 1417,
+ 1418,
+ 1419,
+ 1420
+ ]
+ },
+ {
+ "teal": 1225,
+ "source": 345,
+ "pc": [
+ 1421,
+ 1422
+ ]
+ },
+ {
+ "teal": 1228,
+ "source": 342,
+ "pc": [
+ 1423
+ ]
+ },
+ {
+ "teal": 1229,
+ "source": 342,
+ "pc": [
+ 1424,
+ 1425
+ ]
+ },
+ {
+ "teal": 1232,
+ "source": 342,
+ "pc": [
+ 1426
+ ]
+ },
+ {
+ "teal": 1236,
+ "source": 347,
+ "pc": [
+ 1427
+ ]
+ },
+ {
+ "teal": 1237,
+ "source": 347,
+ "pc": [
+ 1428,
+ 1429
+ ]
+ },
+ {
+ "teal": 1242,
+ "source": 348,
+ "pc": [
+ 1430,
+ 1431
+ ]
+ },
+ {
+ "teal": 1243,
+ "source": 348,
+ "pc": [
+ 1432,
+ 1433,
+ 1434
+ ]
+ },
+ {
+ "teal": 1244,
+ "source": 348,
+ "pc": [
+ 1435
+ ]
+ },
+ {
+ "teal": 1245,
+ "source": 348,
+ "pc": [
+ 1436
+ ]
+ },
+ {
+ "teal": 1246,
+ "source": 348,
+ "pc": [
+ 1437
+ ]
+ },
+ {
+ "teal": 1247,
+ "source": 348,
+ "pc": [
+ 1438,
+ 1439,
+ 1440
+ ]
+ },
+ {
+ "teal": 1252,
+ "source": 350,
+ "pc": [
+ 1441,
+ 1442
+ ]
+ },
+ {
+ "teal": 1253,
+ "source": 350,
+ "pc": [
+ 1443
+ ]
+ },
+ {
+ "teal": 1254,
+ "source": 350,
+ "pc": [
+ 1444
+ ]
+ },
+ {
+ "teal": 1255,
+ "source": 350,
+ "pc": [
+ 1445
+ ]
+ },
+ {
+ "teal": 1256,
+ "source": 350,
+ "pc": [
+ 1446,
+ 1447
+ ]
+ },
+ {
+ "teal": 1257,
+ "source": 350,
+ "pc": [
+ 1448
+ ]
+ },
+ {
+ "teal": 1258,
+ "source": 350,
+ "pc": [
+ 1449
+ ]
+ },
+ {
+ "teal": 1262,
+ "source": 351,
+ "pc": [
+ 1450,
+ 1451
+ ]
+ },
+ {
+ "teal": 1263,
+ "source": 351,
+ "pc": [
+ 1452
+ ]
+ },
+ {
+ "teal": 1264,
+ "source": 351,
+ "pc": [
+ 1453,
+ 1454
+ ]
+ },
+ {
+ "teal": 1265,
+ "source": 351,
+ "pc": [
+ 1455
+ ]
+ },
+ {
+ "teal": 1266,
+ "source": 351,
+ "pc": [
+ 1456,
+ 1457
+ ]
+ },
+ {
+ "teal": 1270,
+ "source": 352,
+ "pc": [
+ 1458,
+ 1459
+ ]
+ },
+ {
+ "teal": 1271,
+ "source": 352,
+ "pc": [
+ 1460,
+ 1461
+ ]
+ },
+ {
+ "teal": 1272,
+ "source": 352,
+ "pc": [
+ 1462,
+ 1463
+ ]
+ },
+ {
+ "teal": 1273,
+ "source": 352,
+ "pc": [
+ 1464,
+ 1465
+ ]
+ },
+ {
+ "teal": 1277,
+ "source": 353,
+ "pc": [
+ 1466,
+ 1467
+ ]
+ },
+ {
+ "teal": 1278,
+ "source": 353,
+ "pc": [
+ 1468,
+ 1469
+ ]
+ },
+ {
+ "teal": 1279,
+ "source": 353,
+ "pc": [
+ 1470,
+ 1471
+ ]
+ },
+ {
+ "teal": 1280,
+ "source": 353,
+ "pc": [
+ 1472,
+ 1473
+ ]
+ },
+ {
+ "teal": 1284,
+ "source": 354,
+ "pc": [
+ 1474
+ ]
+ },
+ {
+ "teal": 1285,
+ "source": 354,
+ "pc": [
+ 1475,
+ 1476
+ ]
+ },
+ {
+ "teal": 1290,
+ "source": 357,
+ "pc": [
+ 1477,
+ 1478
+ ]
+ },
+ {
+ "teal": 1291,
+ "source": 357,
+ "pc": [
+ 1479
+ ]
+ },
+ {
+ "teal": 1292,
+ "source": 357,
+ "pc": [
+ 1480
+ ]
+ },
+ {
+ "teal": 1293,
+ "source": 357,
+ "pc": [
+ 1481,
+ 1482
+ ]
+ },
+ {
+ "teal": 1294,
+ "source": 357,
+ "pc": [
+ 1483
+ ]
+ },
+ {
+ "teal": 1295,
+ "source": 357,
+ "pc": [
+ 1484,
+ 1485
+ ]
+ },
+ {
+ "teal": 1296,
+ "source": 357,
+ "pc": [
+ 1486
+ ]
+ },
+ {
+ "teal": 1300,
+ "source": 359,
+ "pc": [
+ 1487,
+ 1488
+ ]
+ },
+ {
+ "teal": 1301,
+ "source": 359,
+ "pc": [
+ 1489
+ ]
+ },
+ {
+ "teal": 1302,
+ "source": 359,
+ "pc": [
+ 1490,
+ 1491
+ ]
+ },
+ {
+ "teal": 1303,
+ "source": 359,
+ "pc": [
+ 1492
+ ]
+ },
+ {
+ "teal": 1304,
+ "source": 359,
+ "pc": [
+ 1493
+ ]
+ },
+ {
+ "teal": 1305,
+ "source": 359,
+ "pc": [
+ 1494,
+ 1495
+ ]
+ },
+ {
+ "teal": 1306,
+ "source": 359,
+ "pc": [
+ 1496
+ ]
+ },
+ {
+ "teal": 1307,
+ "source": 359,
+ "pc": [
+ 1497,
+ 1498
+ ]
+ },
+ {
+ "teal": 1311,
+ "source": 360,
+ "pc": [
+ 1499,
+ 1500
+ ]
+ },
+ {
+ "teal": 1312,
+ "source": 360,
+ "pc": [
+ 1501
+ ]
+ },
+ {
+ "teal": 1313,
+ "source": 360,
+ "pc": [
+ 1502,
+ 1503
+ ]
+ },
+ {
+ "teal": 1314,
+ "source": 360,
+ "pc": [
+ 1504
+ ]
+ },
+ {
+ "teal": 1315,
+ "source": 360,
+ "pc": [
+ 1505
+ ]
+ },
+ {
+ "teal": 1316,
+ "source": 360,
+ "pc": [
+ 1506
+ ]
+ },
+ {
+ "teal": 1317,
+ "source": 360,
+ "pc": [
+ 1507
+ ]
+ },
+ {
+ "teal": 1318,
+ "source": 360,
+ "pc": [
+ 1508,
+ 1509
+ ]
+ },
+ {
+ "teal": 1319,
+ "source": 360,
+ "pc": [
+ 1510
+ ]
+ },
+ {
+ "teal": 1322,
+ "source": 360,
+ "errorMessage": "(amountToUnstake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits",
+ "pc": [
+ 1511
+ ]
+ },
+ {
+ "teal": 1323,
+ "source": 360,
+ "pc": [
+ 1512,
+ 1513
+ ]
+ },
+ {
+ "teal": 1324,
+ "source": 360,
+ "pc": [
+ 1514
+ ]
+ },
+ {
+ "teal": 1325,
+ "source": 360,
+ "pc": [
+ 1515
+ ]
+ },
+ {
+ "teal": 1326,
+ "source": 360,
+ "pc": [
+ 1516
+ ]
+ },
+ {
+ "teal": 1327,
+ "source": 360,
+ "pc": [
+ 1517
+ ]
+ },
+ {
+ "teal": 1328,
+ "source": 360,
+ "pc": [
+ 1518,
+ 1519
+ ]
+ },
+ {
+ "teal": 1329,
+ "source": 360,
+ "pc": [
+ 1520
+ ]
+ },
+ {
+ "teal": 1330,
+ "source": 360,
+ "pc": [
+ 1521
+ ]
+ },
+ {
+ "teal": 1331,
+ "source": 360,
+ "pc": [
+ 1522
+ ]
+ },
+ {
+ "teal": 1332,
+ "source": 360,
+ "pc": [
+ 1523,
+ 1524
+ ]
+ },
+ {
+ "teal": 1336,
+ "source": 361,
+ "pc": [
+ 1525,
+ 1526
+ ]
+ },
+ {
+ "teal": 1337,
+ "source": 361,
+ "pc": [
+ 1527
+ ]
+ },
+ {
+ "teal": 1338,
+ "source": 361,
+ "pc": [
+ 1528
+ ]
+ },
+ {
+ "teal": 1339,
+ "source": 361,
+ "pc": [
+ 1529,
+ 1530
+ ]
+ },
+ {
+ "teal": 1340,
+ "source": 361,
+ "pc": [
+ 1531
+ ]
+ },
+ {
+ "teal": 1341,
+ "source": 361,
+ "pc": [
+ 1532
+ ]
+ },
+ {
+ "teal": 1342,
+ "source": 361,
+ "pc": [
+ 1533
+ ]
+ },
+ {
+ "teal": 1343,
+ "source": 361,
+ "pc": [
+ 1534,
+ 1535
+ ]
+ },
+ {
+ "teal": 1344,
+ "source": 361,
+ "pc": [
+ 1536
+ ]
+ },
+ {
+ "teal": 1347,
+ "source": 361,
+ "errorMessage": "this.stakeAccumulator.value - subtractAmount overflowed 128 bits",
+ "pc": [
+ 1537
+ ]
+ },
+ {
+ "teal": 1348,
+ "source": 361,
+ "pc": [
+ 1538,
+ 1539
+ ]
+ },
+ {
+ "teal": 1349,
+ "source": 361,
+ "pc": [
+ 1540
+ ]
+ },
+ {
+ "teal": 1350,
+ "source": 361,
+ "pc": [
+ 1541
+ ]
+ },
+ {
+ "teal": 1351,
+ "source": 361,
+ "pc": [
+ 1542
+ ]
+ },
+ {
+ "teal": 1352,
+ "source": 361,
+ "pc": [
+ 1543
+ ]
+ },
+ {
+ "teal": 1353,
+ "source": 361,
+ "pc": [
+ 1544,
+ 1545
+ ]
+ },
+ {
+ "teal": 1354,
+ "source": 361,
+ "pc": [
+ 1546
+ ]
+ },
+ {
+ "teal": 1355,
+ "source": 361,
+ "pc": [
+ 1547
+ ]
+ },
+ {
+ "teal": 1356,
+ "source": 361,
+ "pc": [
+ 1548
+ ]
+ },
+ {
+ "teal": 1357,
+ "source": 361,
+ "pc": [
+ 1549
+ ]
+ },
+ {
+ "teal": 1370,
+ "source": 366,
+ "pc": [
+ 1550
+ ]
+ },
+ {
+ "teal": 1371,
+ "source": 366,
+ "pc": [
+ 1551
+ ]
+ },
+ {
+ "teal": 1372,
+ "source": 366,
+ "pc": [
+ 1552,
+ 1553
+ ]
+ },
+ {
+ "teal": 1373,
+ "source": 366,
+ "pc": [
+ 1554,
+ 1555
+ ]
+ },
+ {
+ "teal": 1374,
+ "source": 366,
+ "pc": [
+ 1556,
+ 1557
+ ]
+ },
+ {
+ "teal": 1378,
+ "source": 367,
+ "pc": [
+ 1558
+ ]
+ },
+ {
+ "teal": 1379,
+ "source": 367,
+ "pc": [
+ 1559
+ ]
+ },
+ {
+ "teal": 1380,
+ "source": 367,
+ "pc": [
+ 1560,
+ 1561
+ ]
+ },
+ {
+ "teal": 1390,
+ "source": 369,
+ "pc": [
+ 1562
+ ]
+ },
+ {
+ "teal": 1391,
+ "source": 369,
+ "pc": [
+ 1563
+ ]
+ },
+ {
+ "teal": 1392,
+ "source": 369,
+ "pc": [
+ 1564
+ ]
+ },
+ {
+ "teal": 1393,
+ "source": 369,
+ "pc": [
+ 1565
+ ]
+ },
+ {
+ "teal": 1394,
+ "source": 369,
+ "pc": [
+ 1566
+ ]
+ },
+ {
+ "teal": 1395,
+ "source": 369,
+ "pc": [
+ 1567
+ ]
+ },
+ {
+ "teal": 1396,
+ "source": 369,
+ "pc": [
+ 1568
+ ]
+ },
+ {
+ "teal": 1397,
+ "source": 369,
+ "pc": [
+ 1569,
+ 1570,
+ 1571
+ ]
+ },
+ {
+ "teal": 1398,
+ "source": 369,
+ "pc": [
+ 1572
+ ]
+ },
+ {
+ "teal": 1399,
+ "source": 369,
+ "pc": [
+ 1573
+ ]
+ },
+ {
+ "teal": 1400,
+ "source": 369,
+ "pc": [
+ 1574,
+ 1575
+ ]
+ },
+ {
+ "teal": 1401,
+ "source": 370,
+ "pc": [
+ 1576,
+ 1577
+ ]
+ },
+ {
+ "teal": 1402,
+ "source": 370,
+ "pc": [
+ 1578,
+ 1579
+ ]
+ },
+ {
+ "teal": 1403,
+ "source": 371,
+ "pc": [
+ 1580,
+ 1581
+ ]
+ },
+ {
+ "teal": 1404,
+ "source": 371,
+ "pc": [
+ 1582
+ ]
+ },
+ {
+ "teal": 1405,
+ "source": 371,
+ "pc": [
+ 1583,
+ 1584
+ ]
+ },
+ {
+ "teal": 1406,
+ "source": 372,
+ "pc": [
+ 1585,
+ 1586
+ ]
+ },
+ {
+ "teal": 1407,
+ "source": 372,
+ "pc": [
+ 1587
+ ]
+ },
+ {
+ "teal": 1408,
+ "source": 372,
+ "pc": [
+ 1588,
+ 1589
+ ]
+ },
+ {
+ "teal": 1409,
+ "source": 373,
+ "pc": [
+ 1590,
+ 1591
+ ]
+ },
+ {
+ "teal": 1410,
+ "source": 373,
+ "pc": [
+ 1592,
+ 1593
+ ]
+ },
+ {
+ "teal": 1411,
+ "source": 373,
+ "pc": [
+ 1594
+ ]
+ },
+ {
+ "teal": 1412,
+ "source": 373,
+ "pc": [
+ 1595,
+ 1596
+ ]
+ },
+ {
+ "teal": 1413,
+ "source": 373,
+ "pc": [
+ 1597
+ ]
+ },
+ {
+ "teal": 1414,
+ "source": 373,
+ "pc": [
+ 1598,
+ 1599
+ ]
+ },
+ {
+ "teal": 1417,
+ "source": 366,
+ "pc": [
+ 1600
+ ]
+ },
+ {
+ "teal": 1418,
+ "source": 366,
+ "pc": [
+ 1601,
+ 1602
+ ]
+ },
+ {
+ "teal": 1421,
+ "source": 366,
+ "pc": [
+ 1603
+ ]
+ },
+ {
+ "teal": 1425,
+ "source": 376,
+ "pc": [
+ 1604
+ ]
+ },
+ {
+ "teal": 1432,
+ "source": 289,
+ "pc": [
+ 1605,
+ 1606
+ ]
+ },
+ {
+ "teal": 1433,
+ "source": 289,
+ "pc": [
+ 1607
+ ]
+ },
+ {
+ "teal": 1434,
+ "source": 289,
+ "pc": [
+ 1608
+ ]
+ },
+ {
+ "teal": 1435,
+ "source": 289,
+ "pc": [
+ 1609,
+ 1610
+ ]
+ },
+ {
+ "teal": 1436,
+ "source": 289,
+ "pc": [
+ 1611,
+ 1612,
+ 1613
+ ]
+ },
+ {
+ "teal": 1440,
+ "source": 379,
+ "errorMessage": "account not found",
+ "pc": [
+ 1614
+ ]
+ },
+ {
+ "teal": 1441,
+ "source": 277,
+ "pc": [
+ 1615
+ ]
+ },
+ {
+ "teal": 1446,
+ "source": 387,
+ "pc": [
+ 1616,
+ 1617,
+ 1618
+ ]
+ },
+ {
+ "teal": 1447,
+ "source": 387,
+ "pc": [
+ 1619
+ ]
+ },
+ {
+ "teal": 1448,
+ "source": 387,
+ "pc": [
+ 1620
+ ]
+ },
+ {
+ "teal": 1456,
+ "source": 387,
+ "pc": [
+ 1621,
+ 1622,
+ 1623
+ ]
+ },
+ {
+ "teal": 1459,
+ "source": 387,
+ "pc": [
+ 1624,
+ 1625
+ ]
+ },
+ {
+ "teal": 1460,
+ "source": 387,
+ "pc": [
+ 1626,
+ 1627
+ ]
+ },
+ {
+ "teal": 1464,
+ "source": 391,
+ "pc": [
+ 1628,
+ 1629
+ ]
+ },
+ {
+ "teal": 1465,
+ "source": 391,
+ "pc": [
+ 1630,
+ 1631
+ ]
+ },
+ {
+ "teal": 1469,
+ "source": 393,
+ "pc": [
+ 1632
+ ]
+ },
+ {
+ "teal": 1470,
+ "source": 393,
+ "pc": [
+ 1633,
+ 1634
+ ]
+ },
+ {
+ "teal": 1475,
+ "source": 393,
+ "pc": [
+ 1635,
+ 1636
+ ]
+ },
+ {
+ "teal": 1476,
+ "source": 393,
+ "pc": [
+ 1637,
+ 1638
+ ]
+ },
+ {
+ "teal": 1477,
+ "source": 393,
+ "pc": [
+ 1639
+ ]
+ },
+ {
+ "teal": 1478,
+ "source": 393,
+ "pc": [
+ 1640,
+ 1641,
+ 1642
+ ]
+ },
+ {
+ "teal": 1483,
+ "source": 394,
+ "pc": [
+ 1643,
+ 1644
+ ]
+ },
+ {
+ "teal": 1484,
+ "source": 394,
+ "pc": [
+ 1645,
+ 1646
+ ]
+ },
+ {
+ "teal": 1485,
+ "source": 394,
+ "pc": [
+ 1647
+ ]
+ },
+ {
+ "teal": 1486,
+ "source": 394,
+ "pc": [
+ 1648,
+ 1649,
+ 1650
+ ]
+ },
+ {
+ "teal": 1491,
+ "source": 395,
+ "pc": [
+ 1651
+ ]
+ },
+ {
+ "teal": 1492,
+ "source": 395,
+ "pc": [
+ 1652
+ ]
+ },
+ {
+ "teal": 1493,
+ "source": 395,
+ "pc": [
+ 1653,
+ 1654
+ ]
+ },
+ {
+ "teal": 1494,
+ "source": 395,
+ "pc": [
+ 1655
+ ]
+ },
+ {
+ "teal": 1495,
+ "source": 395,
+ "pc": [
+ 1656,
+ 1657
+ ]
+ },
+ {
+ "teal": 1496,
+ "source": 395,
+ "pc": [
+ 1658,
+ 1659
+ ]
+ },
+ {
+ "teal": 1497,
+ "source": 395,
+ "pc": [
+ 1660
+ ]
+ },
+ {
+ "teal": 1498,
+ "source": 395,
+ "pc": [
+ 1661,
+ 1662
+ ]
+ },
+ {
+ "teal": 1499,
+ "source": 395,
+ "pc": [
+ 1663,
+ 1664
+ ]
+ },
+ {
+ "teal": 1500,
+ "source": 395,
+ "pc": [
+ 1665,
+ 1666
+ ]
+ },
+ {
+ "teal": 1501,
+ "source": 395,
+ "pc": [
+ 1667,
+ 1668
+ ]
+ },
+ {
+ "teal": 1502,
+ "source": 395,
+ "pc": [
+ 1669
+ ]
+ },
+ {
+ "teal": 1507,
+ "source": 397,
+ "pc": [
+ 1670,
+ 1671
+ ]
+ },
+ {
+ "teal": 1508,
+ "source": 397,
+ "pc": [
+ 1672
+ ]
+ },
+ {
+ "teal": 1509,
+ "source": 397,
+ "pc": [
+ 1673
+ ]
+ },
+ {
+ "teal": 1510,
+ "source": 397,
+ "pc": [
+ 1674
+ ]
+ },
+ {
+ "teal": 1511,
+ "source": 397,
+ "pc": [
+ 1675
+ ]
+ },
+ {
+ "teal": 1512,
+ "source": 397,
+ "pc": [
+ 1676,
+ 1677
+ ]
+ },
+ {
+ "teal": 1513,
+ "source": 397,
+ "pc": [
+ 1678
+ ]
+ },
+ {
+ "teal": 1514,
+ "source": 397,
+ "pc": [
+ 1679,
+ 1680
+ ]
+ },
+ {
+ "teal": 1519,
+ "source": 398,
+ "pc": [
+ 1681,
+ 1682
+ ]
+ },
+ {
+ "teal": 1520,
+ "source": 398,
+ "pc": [
+ 1683,
+ 1684,
+ 1685
+ ]
+ },
+ {
+ "teal": 1521,
+ "source": 398,
+ "pc": [
+ 1686,
+ 1687
+ ]
+ },
+ {
+ "teal": 1522,
+ "source": 398,
+ "pc": [
+ 1688
+ ]
+ },
+ {
+ "teal": 1523,
+ "source": 398,
+ "pc": [
+ 1689,
+ 1690,
+ 1691
+ ]
+ },
+ {
+ "teal": 1529,
+ "source": 399,
+ "pc": [
+ 1692,
+ 1693
+ ]
+ },
+ {
+ "teal": 1530,
+ "source": 399,
+ "pc": [
+ 1694,
+ 1695,
+ 1696
+ ]
+ },
+ {
+ "teal": 1531,
+ "source": 399,
+ "pc": [
+ 1697
+ ]
+ },
+ {
+ "teal": 1532,
+ "source": 399,
+ "pc": [
+ 1698
+ ]
+ },
+ {
+ "teal": 1533,
+ "source": 399,
+ "pc": [
+ 1699
+ ]
+ },
+ {
+ "teal": 1534,
+ "source": 399,
+ "pc": [
+ 1700,
+ 1701,
+ 1702
+ ]
+ },
+ {
+ "teal": 1539,
+ "source": 400,
+ "pc": [
+ 1703
+ ]
+ },
+ {
+ "teal": 1544,
+ "source": 402,
+ "pc": [
+ 1704
+ ]
+ },
+ {
+ "teal": 1545,
+ "source": 402,
+ "pc": [
+ 1705,
+ 1706
+ ]
+ },
+ {
+ "teal": 1550,
+ "source": 404,
+ "pc": [
+ 1707
+ ]
+ },
+ {
+ "teal": 1551,
+ "source": 404,
+ "pc": [
+ 1708
+ ]
+ },
+ {
+ "teal": 1552,
+ "source": 404,
+ "pc": [
+ 1709
+ ]
+ },
+ {
+ "teal": 1553,
+ "source": 404,
+ "pc": [
+ 1710
+ ]
+ },
+ {
+ "teal": 1554,
+ "source": 404,
+ "pc": [
+ 1711,
+ 1712,
+ 1713
+ ]
+ },
+ {
+ "teal": 1562,
+ "source": 405,
+ "pc": [
+ 1714
+ ]
+ },
+ {
+ "teal": 1563,
+ "source": 405,
+ "pc": [
+ 1715
+ ]
+ },
+ {
+ "teal": 1564,
+ "source": 405,
+ "pc": [
+ 1716,
+ 1717
+ ]
+ },
+ {
+ "teal": 1565,
+ "source": 405,
+ "pc": [
+ 1718,
+ 1719
+ ]
+ },
+ {
+ "teal": 1566,
+ "source": 405,
+ "pc": [
+ 1720,
+ 1721
+ ]
+ },
+ {
+ "teal": 1570,
+ "source": 406,
+ "pc": [
+ 1722
+ ]
+ },
+ {
+ "teal": 1571,
+ "source": 406,
+ "pc": [
+ 1723
+ ]
+ },
+ {
+ "teal": 1572,
+ "source": 406,
+ "pc": [
+ 1724,
+ 1725
+ ]
+ },
+ {
+ "teal": 1576,
+ "source": 407,
+ "pc": [
+ 1726
+ ]
+ },
+ {
+ "teal": 1577,
+ "source": 407,
+ "pc": [
+ 1727
+ ]
+ },
+ {
+ "teal": 1578,
+ "source": 407,
+ "pc": [
+ 1728
+ ]
+ },
+ {
+ "teal": 1579,
+ "source": 407,
+ "pc": [
+ 1729,
+ 1730
+ ]
+ },
+ {
+ "teal": 1582,
+ "source": 405,
+ "pc": [
+ 1731
+ ]
+ },
+ {
+ "teal": 1583,
+ "source": 405,
+ "pc": [
+ 1732,
+ 1733
+ ]
+ },
+ {
+ "teal": 1586,
+ "source": 405,
+ "pc": [
+ 1734
+ ]
+ },
+ {
+ "teal": 1587,
+ "source": 405,
+ "pc": [
+ 1735,
+ 1736
+ ]
+ },
+ {
+ "teal": 1588,
+ "source": 405,
+ "pc": [
+ 1737
+ ]
+ },
+ {
+ "teal": 1589,
+ "source": 405,
+ "pc": [
+ 1738
+ ]
+ },
+ {
+ "teal": 1590,
+ "source": 405,
+ "pc": [
+ 1739,
+ 1740
+ ]
+ },
+ {
+ "teal": 1591,
+ "source": 405,
+ "pc": [
+ 1741,
+ 1742,
+ 1743
+ ]
+ },
+ {
+ "teal": 1592,
+ "source": 405,
+ "pc": [
+ 1744,
+ 1745
+ ]
+ },
+ {
+ "teal": 1600,
+ "source": 412,
+ "pc": [
+ 1746
+ ]
+ },
+ {
+ "teal": 1601,
+ "source": 412,
+ "pc": [
+ 1747,
+ 1748
+ ]
+ },
+ {
+ "teal": 1602,
+ "source": 412,
+ "pc": [
+ 1749,
+ 1750
+ ]
+ },
+ {
+ "teal": 1606,
+ "source": 413,
+ "pc": [
+ 1751,
+ 1752
+ ]
+ },
+ {
+ "teal": 1607,
+ "source": 413,
+ "pc": [
+ 1753,
+ 1754,
+ 1755
+ ]
+ },
+ {
+ "teal": 1608,
+ "source": 413,
+ "pc": [
+ 1756
+ ]
+ },
+ {
+ "teal": 1609,
+ "source": 413,
+ "pc": [
+ 1757,
+ 1758
+ ]
+ },
+ {
+ "teal": 1613,
+ "source": 414,
+ "pc": [
+ 1759,
+ 1760
+ ]
+ },
+ {
+ "teal": 1614,
+ "source": 414,
+ "pc": [
+ 1761,
+ 1762
+ ]
+ },
+ {
+ "teal": 1618,
+ "source": 415,
+ "pc": [
+ 1763,
+ 1764
+ ]
+ },
+ {
+ "teal": 1619,
+ "source": 415,
+ "pc": [
+ 1765,
+ 1766,
+ 1767
+ ]
+ },
+ {
+ "teal": 1620,
+ "source": 415,
+ "pc": [
+ 1768
+ ]
+ },
+ {
+ "teal": 1621,
+ "source": 415,
+ "pc": [
+ 1769,
+ 1770
+ ]
+ },
+ {
+ "teal": 1624,
+ "source": 412,
+ "pc": [
+ 1771
+ ]
+ },
+ {
+ "teal": 1625,
+ "source": 412,
+ "pc": [
+ 1772,
+ 1773
+ ]
+ },
+ {
+ "teal": 1628,
+ "source": 412,
+ "pc": [
+ 1774
+ ]
+ },
+ {
+ "teal": 1632,
+ "source": 417,
+ "pc": [
+ 1775,
+ 1776
+ ]
+ },
+ {
+ "teal": 1633,
+ "source": 417,
+ "pc": [
+ 1777,
+ 1778,
+ 1779
+ ]
+ },
+ {
+ "teal": 1634,
+ "source": 417,
+ "pc": [
+ 1780
+ ]
+ },
+ {
+ "teal": 1635,
+ "source": 417,
+ "pc": [
+ 1781,
+ 1782
+ ]
+ },
+ {
+ "teal": 1639,
+ "source": 418,
+ "pc": [
+ 1783,
+ 1784
+ ]
+ },
+ {
+ "teal": 1640,
+ "source": 418,
+ "pc": [
+ 1785,
+ 1786
+ ]
+ },
+ {
+ "teal": 1641,
+ "source": 418,
+ "pc": [
+ 1787,
+ 1788
+ ]
+ },
+ {
+ "teal": 1642,
+ "source": 418,
+ "pc": [
+ 1789,
+ 1790
+ ]
+ },
+ {
+ "teal": 1643,
+ "source": 404,
+ "pc": [
+ 1791,
+ 1792,
+ 1793
+ ]
+ },
+ {
+ "teal": 1648,
+ "source": 423,
+ "pc": [
+ 1794,
+ 1795
+ ]
+ },
+ {
+ "teal": 1649,
+ "source": 423,
+ "pc": [
+ 1796,
+ 1797,
+ 1798
+ ]
+ },
+ {
+ "teal": 1650,
+ "source": 423,
+ "pc": [
+ 1799
+ ]
+ },
+ {
+ "teal": 1651,
+ "source": 423,
+ "pc": [
+ 1800,
+ 1801
+ ]
+ },
+ {
+ "teal": 1655,
+ "source": 424,
+ "pc": [
+ 1802,
+ 1803
+ ]
+ },
+ {
+ "teal": 1656,
+ "source": 424,
+ "pc": [
+ 1804,
+ 1805
+ ]
+ },
+ {
+ "teal": 1657,
+ "source": 424,
+ "pc": [
+ 1806,
+ 1807
+ ]
+ },
+ {
+ "teal": 1658,
+ "source": 424,
+ "pc": [
+ 1808,
+ 1809
+ ]
+ },
+ {
+ "teal": 1663,
+ "source": 428,
+ "pc": [
+ 1810,
+ 1811
+ ]
+ },
+ {
+ "teal": 1664,
+ "source": 428,
+ "pc": [
+ 1812
+ ]
+ },
+ {
+ "teal": 1665,
+ "source": 428,
+ "pc": [
+ 1813
+ ]
+ },
+ {
+ "teal": 1666,
+ "source": 428,
+ "pc": [
+ 1814,
+ 1815
+ ]
+ },
+ {
+ "teal": 1667,
+ "source": 428,
+ "pc": [
+ 1816
+ ]
+ },
+ {
+ "teal": 1668,
+ "source": 428,
+ "pc": [
+ 1817,
+ 1818
+ ]
+ },
+ {
+ "teal": 1669,
+ "source": 428,
+ "pc": [
+ 1819
+ ]
+ },
+ {
+ "teal": 1682,
+ "source": 433,
+ "pc": [
+ 1820
+ ]
+ },
+ {
+ "teal": 1683,
+ "source": 433,
+ "pc": [
+ 1821
+ ]
+ },
+ {
+ "teal": 1684,
+ "source": 433,
+ "pc": [
+ 1822,
+ 1823
+ ]
+ },
+ {
+ "teal": 1685,
+ "source": 433,
+ "pc": [
+ 1824,
+ 1825
+ ]
+ },
+ {
+ "teal": 1686,
+ "source": 433,
+ "pc": [
+ 1826,
+ 1827
+ ]
+ },
+ {
+ "teal": 1690,
+ "source": 434,
+ "pc": [
+ 1828
+ ]
+ },
+ {
+ "teal": 1691,
+ "source": 434,
+ "pc": [
+ 1829
+ ]
+ },
+ {
+ "teal": 1692,
+ "source": 434,
+ "pc": [
+ 1830,
+ 1831
+ ]
+ },
+ {
+ "teal": 1702,
+ "source": 436,
+ "pc": [
+ 1832
+ ]
+ },
+ {
+ "teal": 1703,
+ "source": 436,
+ "pc": [
+ 1833
+ ]
+ },
+ {
+ "teal": 1704,
+ "source": 436,
+ "pc": [
+ 1834
+ ]
+ },
+ {
+ "teal": 1705,
+ "source": 436,
+ "pc": [
+ 1835
+ ]
+ },
+ {
+ "teal": 1706,
+ "source": 436,
+ "pc": [
+ 1836
+ ]
+ },
+ {
+ "teal": 1707,
+ "source": 436,
+ "pc": [
+ 1837
+ ]
+ },
+ {
+ "teal": 1708,
+ "source": 436,
+ "pc": [
+ 1838
+ ]
+ },
+ {
+ "teal": 1709,
+ "source": 436,
+ "pc": [
+ 1839,
+ 1840,
+ 1841
+ ]
+ },
+ {
+ "teal": 1710,
+ "source": 436,
+ "pc": [
+ 1842
+ ]
+ },
+ {
+ "teal": 1711,
+ "source": 436,
+ "pc": [
+ 1843
+ ]
+ },
+ {
+ "teal": 1712,
+ "source": 436,
+ "pc": [
+ 1844,
+ 1845
+ ]
+ },
+ {
+ "teal": 1713,
+ "source": 437,
+ "pc": [
+ 1846,
+ 1847
+ ]
+ },
+ {
+ "teal": 1714,
+ "source": 437,
+ "pc": [
+ 1848,
+ 1849
+ ]
+ },
+ {
+ "teal": 1715,
+ "source": 438,
+ "pc": [
+ 1850,
+ 1851
+ ]
+ },
+ {
+ "teal": 1716,
+ "source": 438,
+ "pc": [
+ 1852,
+ 1853
+ ]
+ },
+ {
+ "teal": 1717,
+ "source": 439,
+ "pc": [
+ 1854,
+ 1855
+ ]
+ },
+ {
+ "teal": 1718,
+ "source": 439,
+ "pc": [
+ 1856
+ ]
+ },
+ {
+ "teal": 1719,
+ "source": 439,
+ "pc": [
+ 1857,
+ 1858
+ ]
+ },
+ {
+ "teal": 1720,
+ "source": 440,
+ "pc": [
+ 1859
+ ]
+ },
+ {
+ "teal": 1721,
+ "source": 440,
+ "pc": [
+ 1860,
+ 1861
+ ]
+ },
+ {
+ "teal": 1722,
+ "source": 440,
+ "pc": [
+ 1862
+ ]
+ },
+ {
+ "teal": 1723,
+ "source": 440,
+ "pc": [
+ 1863,
+ 1864
+ ]
+ },
+ {
+ "teal": 1724,
+ "source": 440,
+ "pc": [
+ 1865
+ ]
+ },
+ {
+ "teal": 1725,
+ "source": 440,
+ "pc": [
+ 1866,
+ 1867
+ ]
+ },
+ {
+ "teal": 1728,
+ "source": 433,
+ "pc": [
+ 1868
+ ]
+ },
+ {
+ "teal": 1729,
+ "source": 433,
+ "pc": [
+ 1869,
+ 1870
+ ]
+ },
+ {
+ "teal": 1732,
+ "source": 433,
+ "pc": [
+ 1871
+ ]
+ },
+ {
+ "teal": 1736,
+ "source": 443,
+ "pc": [
+ 1872
+ ]
+ },
+ {
+ "teal": 1743,
+ "source": 393,
+ "pc": [
+ 1873,
+ 1874
+ ]
+ },
+ {
+ "teal": 1744,
+ "source": 393,
+ "pc": [
+ 1875
+ ]
+ },
+ {
+ "teal": 1745,
+ "source": 393,
+ "pc": [
+ 1876
+ ]
+ },
+ {
+ "teal": 1746,
+ "source": 393,
+ "pc": [
+ 1877,
+ 1878
+ ]
+ },
+ {
+ "teal": 1747,
+ "source": 393,
+ "pc": [
+ 1879,
+ 1880,
+ 1881
+ ]
+ },
+ {
+ "teal": 1751,
+ "source": 446,
+ "errorMessage": "account not found",
+ "pc": [
+ 1882
+ ]
+ },
+ {
+ "teal": 1752,
+ "source": 387,
+ "pc": [
+ 1883
+ ]
+ },
+ {
+ "teal": 1757,
+ "source": 457,
+ "pc": [
+ 1884,
+ 1885
+ ]
+ },
+ {
+ "teal": 1760,
+ "source": 457,
+ "pc": [
+ 1886,
+ 1887,
+ 1888
+ ]
+ },
+ {
+ "teal": 1761,
+ "source": 457,
+ "pc": [
+ 1889
+ ]
+ },
+ {
+ "teal": 1762,
+ "source": 457,
+ "pc": [
+ 1890
+ ]
+ },
+ {
+ "teal": 1763,
+ "source": 457,
+ "pc": [
+ 1891,
+ 1892
+ ]
+ },
+ {
+ "teal": 1764,
+ "source": 457,
+ "pc": [
+ 1893
+ ]
+ },
+ {
+ "teal": 1767,
+ "source": 457,
+ "errorMessage": "argument 0 (staker) for getStakerInfo must be a address",
+ "pc": [
+ 1894
+ ]
+ },
+ {
+ "teal": 1770,
+ "source": 457,
+ "pc": [
+ 1895,
+ 1896,
+ 1897
+ ]
+ },
+ {
+ "teal": 1771,
+ "source": 457,
+ "pc": [
+ 1898
+ ]
+ },
+ {
+ "teal": 1772,
+ "source": 457,
+ "pc": [
+ 1899
+ ]
+ },
+ {
+ "teal": 1773,
+ "source": 457,
+ "pc": [
+ 1900
+ ]
+ },
+ {
+ "teal": 1774,
+ "source": 457,
+ "pc": [
+ 1901
+ ]
+ },
+ {
+ "teal": 1784,
+ "source": 457,
+ "pc": [
+ 1902,
+ 1903,
+ 1904
+ ]
+ },
+ {
+ "teal": 1787,
+ "source": 457,
+ "pc": [
+ 1905,
+ 1906
+ ]
+ },
+ {
+ "teal": 1791,
+ "source": 458,
+ "pc": [
+ 1907
+ ]
+ },
+ {
+ "teal": 1792,
+ "source": 458,
+ "pc": [
+ 1908,
+ 1909
+ ]
+ },
+ {
+ "teal": 1797,
+ "source": 458,
+ "pc": [
+ 1910,
+ 1911
+ ]
+ },
+ {
+ "teal": 1798,
+ "source": 458,
+ "pc": [
+ 1912,
+ 1913
+ ]
+ },
+ {
+ "teal": 1799,
+ "source": 458,
+ "pc": [
+ 1914
+ ]
+ },
+ {
+ "teal": 1800,
+ "source": 458,
+ "pc": [
+ 1915,
+ 1916,
+ 1917
+ ]
+ },
+ {
+ "teal": 1805,
+ "source": 459,
+ "pc": [
+ 1918,
+ 1919
+ ]
+ },
+ {
+ "teal": 1806,
+ "source": 459,
+ "pc": [
+ 1920,
+ 1921
+ ]
+ },
+ {
+ "teal": 1807,
+ "source": 459,
+ "pc": [
+ 1922
+ ]
+ },
+ {
+ "teal": 1808,
+ "source": 459,
+ "pc": [
+ 1923,
+ 1924,
+ 1925
+ ]
+ },
+ {
+ "teal": 1813,
+ "source": 460,
+ "pc": [
+ 1926
+ ]
+ },
+ {
+ "teal": 1814,
+ "source": 460,
+ "pc": [
+ 1927
+ ]
+ },
+ {
+ "teal": 1815,
+ "source": 460,
+ "pc": [
+ 1928,
+ 1929
+ ]
+ },
+ {
+ "teal": 1816,
+ "source": 460,
+ "pc": [
+ 1930
+ ]
+ },
+ {
+ "teal": 1817,
+ "source": 460,
+ "pc": [
+ 1931,
+ 1932
+ ]
+ },
+ {
+ "teal": 1818,
+ "source": 460,
+ "pc": [
+ 1933,
+ 1934
+ ]
+ },
+ {
+ "teal": 1819,
+ "source": 460,
+ "pc": [
+ 1935
+ ]
+ },
+ {
+ "teal": 1820,
+ "source": 460,
+ "pc": [
+ 1936,
+ 1937
+ ]
+ },
+ {
+ "teal": 1821,
+ "source": 460,
+ "pc": [
+ 1938,
+ 1939
+ ]
+ },
+ {
+ "teal": 1822,
+ "source": 460,
+ "pc": [
+ 1940,
+ 1941
+ ]
+ },
+ {
+ "teal": 1823,
+ "source": 460,
+ "pc": [
+ 1942,
+ 1943
+ ]
+ },
+ {
+ "teal": 1824,
+ "source": 460,
+ "pc": [
+ 1944
+ ]
+ },
+ {
+ "teal": 1830,
+ "source": 462,
+ "pc": [
+ 1945,
+ 1946
+ ]
+ },
+ {
+ "teal": 1831,
+ "source": 462,
+ "pc": [
+ 1947
+ ]
+ },
+ {
+ "teal": 1832,
+ "source": 462,
+ "pc": [
+ 1948
+ ]
+ },
+ {
+ "teal": 1833,
+ "source": 462,
+ "pc": [
+ 1949
+ ]
+ },
+ {
+ "teal": 1834,
+ "source": 462,
+ "pc": [
+ 1950
+ ]
+ },
+ {
+ "teal": 1835,
+ "source": 462,
+ "pc": [
+ 1951,
+ 1952
+ ]
+ },
+ {
+ "teal": 1836,
+ "source": 462,
+ "pc": [
+ 1953
+ ]
+ },
+ {
+ "teal": 1837,
+ "source": 462,
+ "pc": [
+ 1954,
+ 1955
+ ]
+ },
+ {
+ "teal": 1838,
+ "source": 462,
+ "pc": [
+ 1956
+ ]
+ },
+ {
+ "teal": 1839,
+ "source": 462,
+ "pc": [
+ 1957,
+ 1958
+ ]
+ },
+ {
+ "teal": 1840,
+ "source": 462,
+ "pc": [
+ 1959
+ ]
+ },
+ {
+ "teal": 1841,
+ "source": 462,
+ "pc": [
+ 1960,
+ 1961,
+ 1962
+ ]
+ },
+ {
+ "teal": 1846,
+ "source": 463,
+ "pc": [
+ 1963,
+ 1964
+ ]
+ },
+ {
+ "teal": 1847,
+ "source": 463,
+ "pc": [
+ 1965
+ ]
+ },
+ {
+ "teal": 1848,
+ "source": 463,
+ "pc": [
+ 1966
+ ]
+ },
+ {
+ "teal": 1849,
+ "source": 463,
+ "pc": [
+ 1967
+ ]
+ },
+ {
+ "teal": 1850,
+ "source": 463,
+ "pc": [
+ 1968
+ ]
+ },
+ {
+ "teal": 1851,
+ "source": 463,
+ "pc": [
+ 1969,
+ 1970
+ ]
+ },
+ {
+ "teal": 1852,
+ "source": 463,
+ "pc": [
+ 1971
+ ]
+ },
+ {
+ "teal": 1853,
+ "source": 463,
+ "pc": [
+ 1972,
+ 1973,
+ 1974
+ ]
+ },
+ {
+ "teal": 1860,
+ "source": 458,
+ "pc": [
+ 1975,
+ 1976
+ ]
+ },
+ {
+ "teal": 1861,
+ "source": 458,
+ "pc": [
+ 1977
+ ]
+ },
+ {
+ "teal": 1862,
+ "source": 458,
+ "pc": [
+ 1978
+ ]
+ },
+ {
+ "teal": 1863,
+ "source": 458,
+ "pc": [
+ 1979,
+ 1980
+ ]
+ },
+ {
+ "teal": 1864,
+ "source": 458,
+ "pc": [
+ 1981,
+ 1982,
+ 1983
+ ]
+ },
+ {
+ "teal": 1868,
+ "source": 466,
+ "errorMessage": "account not found",
+ "pc": [
+ 1984
+ ]
+ },
+ {
+ "teal": 1872,
+ "source": 457,
+ "pc": [
+ 1985,
+ 1986
+ ]
+ },
+ {
+ "teal": 1873,
+ "source": 457,
+ "pc": [
+ 1987
+ ]
+ },
+ {
+ "teal": 1878,
+ "source": 479,
+ "pc": [
+ 1988,
+ 1989,
+ 1990
+ ]
+ },
+ {
+ "teal": 1879,
+ "source": 479,
+ "pc": [
+ 1991
+ ]
+ },
+ {
+ "teal": 1882,
+ "source": 479,
+ "pc": [
+ 1992,
+ 1993,
+ 1994
+ ]
+ },
+ {
+ "teal": 1883,
+ "source": 479,
+ "pc": [
+ 1995
+ ]
+ },
+ {
+ "teal": 1886,
+ "source": 479,
+ "pc": [
+ 1996,
+ 1997,
+ 1998
+ ]
+ },
+ {
+ "teal": 1887,
+ "source": 479,
+ "pc": [
+ 1999
+ ]
+ },
+ {
+ "teal": 1888,
+ "source": 479,
+ "pc": [
+ 2000
+ ]
+ },
+ {
+ "teal": 1889,
+ "source": 479,
+ "pc": [
+ 2001,
+ 2002
+ ]
+ },
+ {
+ "teal": 1890,
+ "source": 479,
+ "pc": [
+ 2003
+ ]
+ },
+ {
+ "teal": 1893,
+ "source": 479,
+ "errorMessage": "argument 2 (staker) for payTokenReward must be a address",
+ "pc": [
+ 2004
+ ]
+ },
+ {
+ "teal": 1896,
+ "source": 479,
+ "pc": [
+ 2005,
+ 2006,
+ 2007
+ ]
+ },
+ {
+ "teal": 1897,
+ "source": 479,
+ "pc": [
+ 2008
+ ]
+ },
+ {
+ "teal": 1898,
+ "source": 479,
+ "pc": [
+ 2009
+ ]
+ },
+ {
+ "teal": 1911,
+ "source": 479,
+ "pc": [
+ 2010,
+ 2011,
+ 2012
+ ]
+ },
+ {
+ "teal": 1918,
+ "source": 482,
+ "pc": [
+ 2013,
+ 2014
+ ]
+ },
+ {
+ "teal": 1919,
+ "source": 482,
+ "pc": [
+ 2015
+ ]
+ },
+ {
+ "teal": 1920,
+ "source": 482,
+ "pc": [
+ 2016
+ ]
+ },
+ {
+ "teal": 1921,
+ "source": 482,
+ "pc": [
+ 2017,
+ 2018
+ ]
+ },
+ {
+ "teal": 1922,
+ "source": 482,
+ "pc": [
+ 2019
+ ]
+ },
+ {
+ "teal": 1923,
+ "source": 482,
+ "pc": [
+ 2020
+ ]
+ },
+ {
+ "teal": 1926,
+ "source": 481,
+ "errorMessage": "this can only be called via the validator contract",
+ "pc": [
+ 2021
+ ]
+ },
+ {
+ "teal": 1930,
+ "source": 485,
+ "pc": [
+ 2022
+ ]
+ },
+ {
+ "teal": 1931,
+ "source": 485,
+ "pc": [
+ 2023
+ ]
+ },
+ {
+ "teal": 1932,
+ "source": 485,
+ "pc": [
+ 2024
+ ]
+ },
+ {
+ "teal": 1933,
+ "source": 485,
+ "pc": [
+ 2025
+ ]
+ },
+ {
+ "teal": 1936,
+ "source": 485,
+ "errorMessage": "must be pool 1 in order to be called to pay out token rewards",
+ "pc": [
+ 2026
+ ]
+ },
+ {
+ "teal": 1940,
+ "source": 486,
+ "pc": [
+ 2027,
+ 2028
+ ]
+ },
+ {
+ "teal": 1941,
+ "source": 486,
+ "pc": [
+ 2029
+ ]
+ },
+ {
+ "teal": 1942,
+ "source": 486,
+ "pc": [
+ 2030
+ ]
+ },
+ {
+ "teal": 1945,
+ "source": 486,
+ "errorMessage": "can only claim token rewards from validator that has them",
+ "pc": [
+ 2031
+ ]
+ },
+ {
+ "teal": 1953,
+ "source": 489,
+ "pc": [
+ 2032
+ ]
+ },
+ {
+ "teal": 1954,
+ "source": 489,
+ "pc": [
+ 2033,
+ 2034
+ ]
+ },
+ {
+ "teal": 1955,
+ "source": 489,
+ "pc": [
+ 2035,
+ 2036
+ ]
+ },
+ {
+ "teal": 1959,
+ "source": 490,
+ "pc": [
+ 2037,
+ 2038
+ ]
+ },
+ {
+ "teal": 1960,
+ "source": 490,
+ "pc": [
+ 2039,
+ 2040
+ ]
+ },
+ {
+ "teal": 1964,
+ "source": 491,
+ "pc": [
+ 2041,
+ 2042
+ ]
+ },
+ {
+ "teal": 1965,
+ "source": 491,
+ "pc": [
+ 2043,
+ 2044
+ ]
+ },
+ {
+ "teal": 1969,
+ "source": 492,
+ "pc": [
+ 2045,
+ 2046
+ ]
+ },
+ {
+ "teal": 1970,
+ "source": 492,
+ "pc": [
+ 2047,
+ 2048
+ ]
+ },
+ {
+ "teal": 1973,
+ "source": 489,
+ "pc": [
+ 2049
+ ]
+ },
+ {
+ "teal": 1974,
+ "source": 489,
+ "pc": [
+ 2050,
+ 2051
+ ]
+ },
+ {
+ "teal": 1977,
+ "source": 489,
+ "pc": [
+ 2052
+ ]
+ },
+ {
+ "teal": 1978,
+ "source": 479,
+ "pc": [
+ 2053
+ ]
+ },
+ {
+ "teal": 1983,
+ "source": 505,
+ "pc": [
+ 2054,
+ 2055,
+ 2056
+ ]
+ },
+ {
+ "teal": 1984,
+ "source": 505,
+ "pc": [
+ 2057,
+ 2058,
+ 2059
+ ]
+ },
+ {
+ "teal": 1987,
+ "source": 505,
+ "pc": [
+ 2060,
+ 2061,
+ 2062
+ ]
+ },
+ {
+ "teal": 1988,
+ "source": 505,
+ "pc": [
+ 2063
+ ]
+ },
+ {
+ "teal": 1989,
+ "source": 505,
+ "pc": [
+ 2064
+ ]
+ },
+ {
+ "teal": 2001,
+ "source": 505,
+ "pc": [
+ 2065,
+ 2066,
+ 2067
+ ]
+ },
+ {
+ "teal": 2005,
+ "source": 506,
+ "pc": [
+ 2068,
+ 2069,
+ 2070
+ ]
+ },
+ {
+ "teal": 2008,
+ "source": 506,
+ "errorMessage": "can only be called by owner or manager of validator",
+ "pc": [
+ 2071
+ ]
+ },
+ {
+ "teal": 2012,
+ "source": 507,
+ "pc": [
+ 2072,
+ 2073,
+ 2074,
+ 2075,
+ 2076,
+ 2077,
+ 2078,
+ 2079,
+ 2080,
+ 2081
+ ]
+ },
+ {
+ "teal": 2013,
+ "source": 507,
+ "pc": [
+ 2082,
+ 2083
+ ]
+ },
+ {
+ "teal": 2014,
+ "source": 507,
+ "pc": [
+ 2084
+ ]
+ },
+ {
+ "teal": 2015,
+ "source": 505,
+ "pc": [
+ 2085
+ ]
+ },
+ {
+ "teal": 2020,
+ "source": 518,
+ "pc": [
+ 2086,
+ 2087,
+ 2088
+ ]
+ },
+ {
+ "teal": 2021,
+ "source": 518,
+ "pc": [
+ 2089
+ ]
+ },
+ {
+ "teal": 2022,
+ "source": 518,
+ "pc": [
+ 2090
+ ]
+ },
+ {
+ "teal": 2033,
+ "source": 518,
+ "pc": [
+ 2091,
+ 2092,
+ 2093
+ ]
+ },
+ {
+ "teal": 2036,
+ "source": 518,
+ "pc": [
+ 2094,
+ 2095
+ ]
+ },
+ {
+ "teal": 2037,
+ "source": 518,
+ "pc": [
+ 2096,
+ 2097
+ ]
+ },
+ {
+ "teal": 2044,
+ "source": 520,
+ "pc": [
+ 2098
+ ]
+ },
+ {
+ "teal": 2045,
+ "source": 520,
+ "pc": [
+ 2099
+ ]
+ },
+ {
+ "teal": 2046,
+ "source": 520,
+ "pc": [
+ 2100,
+ 2101
+ ]
+ },
+ {
+ "teal": 2047,
+ "source": 520,
+ "pc": [
+ 2102,
+ 2103
+ ]
+ },
+ {
+ "teal": 2048,
+ "source": 520,
+ "pc": [
+ 2104,
+ 2105
+ ]
+ },
+ {
+ "teal": 2052,
+ "source": 521,
+ "pc": [
+ 2106
+ ]
+ },
+ {
+ "teal": 2053,
+ "source": 521,
+ "pc": [
+ 2107
+ ]
+ },
+ {
+ "teal": 2054,
+ "source": 521,
+ "pc": [
+ 2108,
+ 2109
+ ]
+ },
+ {
+ "teal": 2058,
+ "source": 522,
+ "pc": [
+ 2110
+ ]
+ },
+ {
+ "teal": 2059,
+ "source": 522,
+ "pc": [
+ 2111
+ ]
+ },
+ {
+ "teal": 2060,
+ "source": 522,
+ "pc": [
+ 2112
+ ]
+ },
+ {
+ "teal": 2061,
+ "source": 522,
+ "pc": [
+ 2113,
+ 2114
+ ]
+ },
+ {
+ "teal": 2064,
+ "source": 520,
+ "pc": [
+ 2115
+ ]
+ },
+ {
+ "teal": 2065,
+ "source": 520,
+ "pc": [
+ 2116,
+ 2117
+ ]
+ },
+ {
+ "teal": 2068,
+ "source": 520,
+ "pc": [
+ 2118
+ ]
+ },
+ {
+ "teal": 2069,
+ "source": 520,
+ "pc": [
+ 2119,
+ 2120
+ ]
+ },
+ {
+ "teal": 2070,
+ "source": 520,
+ "pc": [
+ 2121
+ ]
+ },
+ {
+ "teal": 2071,
+ "source": 520,
+ "pc": [
+ 2122
+ ]
+ },
+ {
+ "teal": 2072,
+ "source": 520,
+ "pc": [
+ 2123,
+ 2124
+ ]
+ },
+ {
+ "teal": 2073,
+ "source": 520,
+ "pc": [
+ 2125,
+ 2126,
+ 2127
+ ]
+ },
+ {
+ "teal": 2074,
+ "source": 520,
+ "pc": [
+ 2128,
+ 2129
+ ]
+ },
+ {
+ "teal": 2078,
+ "source": 529,
+ "pc": [
+ 2130,
+ 2131
+ ]
+ },
+ {
+ "teal": 2079,
+ "source": 529,
+ "pc": [
+ 2132,
+ 2133,
+ 2134
+ ]
+ },
+ {
+ "teal": 2080,
+ "source": 529,
+ "pc": [
+ 2135
+ ]
+ },
+ {
+ "teal": 2081,
+ "source": 529,
+ "pc": [
+ 2136,
+ 2137
+ ]
+ },
+ {
+ "teal": 2085,
+ "source": 530,
+ "pc": [
+ 2138,
+ 2139
+ ]
+ },
+ {
+ "teal": 2086,
+ "source": 530,
+ "pc": [
+ 2140,
+ 2141
+ ]
+ },
+ {
+ "teal": 2090,
+ "source": 531,
+ "pc": [
+ 2142,
+ 2143
+ ]
+ },
+ {
+ "teal": 2091,
+ "source": 531,
+ "pc": [
+ 2144,
+ 2145
+ ]
+ },
+ {
+ "teal": 2092,
+ "source": 531,
+ "pc": [
+ 2146,
+ 2147
+ ]
+ },
+ {
+ "teal": 2093,
+ "source": 531,
+ "pc": [
+ 2148
+ ]
+ },
+ {
+ "teal": 2094,
+ "source": 531,
+ "pc": [
+ 2149
+ ]
+ },
+ {
+ "teal": 2095,
+ "source": 531,
+ "pc": [
+ 2150,
+ 2151
+ ]
+ },
+ {
+ "teal": 2100,
+ "source": 534,
+ "pc": [
+ 2152,
+ 2153,
+ 2154
+ ]
+ },
+ {
+ "teal": 2101,
+ "source": 534,
+ "pc": [
+ 2155,
+ 2156
+ ]
+ },
+ {
+ "teal": 2102,
+ "source": 534,
+ "pc": [
+ 2157
+ ]
+ },
+ {
+ "teal": 2103,
+ "source": 534,
+ "pc": [
+ 2158
+ ]
+ },
+ {
+ "teal": 2104,
+ "source": 534,
+ "pc": [
+ 2159
+ ]
+ },
+ {
+ "teal": 2105,
+ "source": 534,
+ "pc": [
+ 2160,
+ 2161,
+ 2162
+ ]
+ },
+ {
+ "teal": 2110,
+ "source": 535,
+ "pc": [
+ 2163,
+ 2164
+ ]
+ },
+ {
+ "teal": 2111,
+ "source": 535,
+ "pc": [
+ 2165
+ ]
+ },
+ {
+ "teal": 2112,
+ "source": 535,
+ "pc": [
+ 2166,
+ 2167
+ ]
+ },
+ {
+ "teal": 2113,
+ "source": 535,
+ "pc": [
+ 2168
+ ]
+ },
+ {
+ "teal": 2114,
+ "source": 535,
+ "pc": [
+ 2169,
+ 2170
+ ]
+ },
+ {
+ "teal": 2115,
+ "source": 535,
+ "pc": [
+ 2171
+ ]
+ },
+ {
+ "teal": 2116,
+ "source": 535,
+ "pc": [
+ 2172
+ ]
+ },
+ {
+ "teal": 2117,
+ "source": 535,
+ "pc": [
+ 2173,
+ 2174
+ ]
+ },
+ {
+ "teal": 2121,
+ "source": 539,
+ "pc": [
+ 2175,
+ 2176
+ ]
+ },
+ {
+ "teal": 2122,
+ "source": 539,
+ "pc": [
+ 2177,
+ 2178
+ ]
+ },
+ {
+ "teal": 2123,
+ "source": 539,
+ "pc": [
+ 2179
+ ]
+ },
+ {
+ "teal": 2126,
+ "source": 539,
+ "errorMessage": "can't call epochBalanceUpdate in same epoch as prior call",
+ "pc": [
+ 2180
+ ]
+ },
+ {
+ "teal": 2131,
+ "source": 542,
+ "pc": [
+ 2181,
+ 2182,
+ 2183
+ ]
+ },
+ {
+ "teal": 2135,
+ "source": 545,
+ "pc": [
+ 2184,
+ 2185
+ ]
+ },
+ {
+ "teal": 2136,
+ "source": 545,
+ "pc": [
+ 2186,
+ 2187
+ ]
+ },
+ {
+ "teal": 2137,
+ "source": 545,
+ "pc": [
+ 2188
+ ]
+ },
+ {
+ "teal": 2141,
+ "source": 546,
+ "pc": [
+ 2189,
+ 2190
+ ]
+ },
+ {
+ "teal": 2142,
+ "source": 546,
+ "pc": [
+ 2191
+ ]
+ },
+ {
+ "teal": 2143,
+ "source": 546,
+ "pc": [
+ 2192
+ ]
+ },
+ {
+ "teal": 2144,
+ "source": 546,
+ "pc": [
+ 2193
+ ]
+ },
+ {
+ "teal": 2145,
+ "source": 546,
+ "pc": [
+ 2194,
+ 2195
+ ]
+ },
+ {
+ "teal": 2146,
+ "source": 546,
+ "pc": [
+ 2196
+ ]
+ },
+ {
+ "teal": 2147,
+ "source": 546,
+ "pc": [
+ 2197
+ ]
+ },
+ {
+ "teal": 2151,
+ "source": 551,
+ "pc": [
+ 2198,
+ 2199
+ ]
+ },
+ {
+ "teal": 2152,
+ "source": 551,
+ "pc": [
+ 2200,
+ 2201,
+ 2202
+ ]
+ },
+ {
+ "teal": 2153,
+ "source": 551,
+ "pc": [
+ 2203
+ ]
+ },
+ {
+ "teal": 2154,
+ "source": 551,
+ "pc": [
+ 2204
+ ]
+ },
+ {
+ "teal": 2155,
+ "source": 551,
+ "pc": [
+ 2205
+ ]
+ },
+ {
+ "teal": 2156,
+ "source": 551,
+ "pc": [
+ 2206,
+ 2207
+ ]
+ },
+ {
+ "teal": 2160,
+ "source": 552,
+ "pc": [
+ 2208,
+ 2209,
+ 2210
+ ]
+ },
+ {
+ "teal": 2161,
+ "source": 552,
+ "pc": [
+ 2211,
+ 2212
+ ]
+ },
+ {
+ "teal": 2165,
+ "source": 553,
+ "pc": [
+ 2213,
+ 2214
+ ]
+ },
+ {
+ "teal": 2166,
+ "source": 553,
+ "pc": [
+ 2215,
+ 2216
+ ]
+ },
+ {
+ "teal": 2171,
+ "source": 558,
+ "pc": [
+ 2217,
+ 2218
+ ]
+ },
+ {
+ "teal": 2172,
+ "source": 558,
+ "pc": [
+ 2219,
+ 2220,
+ 2221
+ ]
+ },
+ {
+ "teal": 2178,
+ "source": 559,
+ "pc": [
+ 2222
+ ]
+ },
+ {
+ "teal": 2179,
+ "source": 559,
+ "pc": [
+ 2223
+ ]
+ },
+ {
+ "teal": 2180,
+ "source": 559,
+ "pc": [
+ 2224
+ ]
+ },
+ {
+ "teal": 2181,
+ "source": 559,
+ "pc": [
+ 2225
+ ]
+ },
+ {
+ "teal": 2182,
+ "source": 559,
+ "pc": [
+ 2226,
+ 2227,
+ 2228
+ ]
+ },
+ {
+ "teal": 2190,
+ "source": 561,
+ "pc": [
+ 2229
+ ]
+ },
+ {
+ "teal": 2191,
+ "source": 561,
+ "pc": [
+ 2230
+ ]
+ },
+ {
+ "teal": 2192,
+ "source": 561,
+ "pc": [
+ 2231,
+ 2232
+ ]
+ },
+ {
+ "teal": 2193,
+ "source": 561,
+ "pc": [
+ 2233,
+ 2234
+ ]
+ },
+ {
+ "teal": 2194,
+ "source": 561,
+ "pc": [
+ 2235,
+ 2236
+ ]
+ },
+ {
+ "teal": 2198,
+ "source": 562,
+ "pc": [
+ 2237
+ ]
+ },
+ {
+ "teal": 2199,
+ "source": 562,
+ "pc": [
+ 2238
+ ]
+ },
+ {
+ "teal": 2200,
+ "source": 562,
+ "pc": [
+ 2239,
+ 2240
+ ]
+ },
+ {
+ "teal": 2204,
+ "source": 563,
+ "pc": [
+ 2241
+ ]
+ },
+ {
+ "teal": 2205,
+ "source": 563,
+ "pc": [
+ 2242
+ ]
+ },
+ {
+ "teal": 2206,
+ "source": 563,
+ "pc": [
+ 2243
+ ]
+ },
+ {
+ "teal": 2207,
+ "source": 563,
+ "pc": [
+ 2244,
+ 2245
+ ]
+ },
+ {
+ "teal": 2208,
+ "source": 563,
+ "pc": [
+ 2246,
+ 2247,
+ 2248,
+ 2249,
+ 2250,
+ 2251,
+ 2252,
+ 2253,
+ 2254,
+ 2255
+ ]
+ },
+ {
+ "teal": 2209,
+ "source": 563,
+ "pc": [
+ 2256,
+ 2257
+ ]
+ },
+ {
+ "teal": 2212,
+ "source": 561,
+ "pc": [
+ 2258
+ ]
+ },
+ {
+ "teal": 2213,
+ "source": 561,
+ "pc": [
+ 2259,
+ 2260
+ ]
+ },
+ {
+ "teal": 2216,
+ "source": 561,
+ "pc": [
+ 2261
+ ]
+ },
+ {
+ "teal": 2217,
+ "source": 561,
+ "pc": [
+ 2262,
+ 2263
+ ]
+ },
+ {
+ "teal": 2218,
+ "source": 561,
+ "pc": [
+ 2264
+ ]
+ },
+ {
+ "teal": 2219,
+ "source": 561,
+ "pc": [
+ 2265
+ ]
+ },
+ {
+ "teal": 2220,
+ "source": 561,
+ "pc": [
+ 2266,
+ 2267
+ ]
+ },
+ {
+ "teal": 2221,
+ "source": 561,
+ "pc": [
+ 2268,
+ 2269,
+ 2270
+ ]
+ },
+ {
+ "teal": 2222,
+ "source": 561,
+ "pc": [
+ 2271
+ ]
+ },
+ {
+ "teal": 2223,
+ "source": 561,
+ "pc": [
+ 2272,
+ 2273
+ ]
+ },
+ {
+ "teal": 2227,
+ "source": 565,
+ "pc": [
+ 2274,
+ 2275
+ ]
+ },
+ {
+ "teal": 2228,
+ "source": 565,
+ "pc": [
+ 2276,
+ 2277
+ ]
+ },
+ {
+ "teal": 2229,
+ "source": 565,
+ "pc": [
+ 2278
+ ]
+ },
+ {
+ "teal": 2230,
+ "source": 565,
+ "pc": [
+ 2279,
+ 2280
+ ]
+ },
+ {
+ "teal": 2236,
+ "source": 570,
+ "pc": [
+ 2281
+ ]
+ },
+ {
+ "teal": 2237,
+ "source": 570,
+ "pc": [
+ 2282
+ ]
+ },
+ {
+ "teal": 2238,
+ "source": 570,
+ "pc": [
+ 2283
+ ]
+ },
+ {
+ "teal": 2239,
+ "source": 570,
+ "pc": [
+ 2284
+ ]
+ },
+ {
+ "teal": 2240,
+ "source": 570,
+ "pc": [
+ 2285,
+ 2286,
+ 2287
+ ]
+ },
+ {
+ "teal": 2248,
+ "source": 571,
+ "pc": [
+ 2288
+ ]
+ },
+ {
+ "teal": 2249,
+ "source": 571,
+ "pc": [
+ 2289
+ ]
+ },
+ {
+ "teal": 2250,
+ "source": 571,
+ "pc": [
+ 2290,
+ 2291
+ ]
+ },
+ {
+ "teal": 2251,
+ "source": 571,
+ "pc": [
+ 2292,
+ 2293
+ ]
+ },
+ {
+ "teal": 2252,
+ "source": 571,
+ "pc": [
+ 2294,
+ 2295
+ ]
+ },
+ {
+ "teal": 2256,
+ "source": 572,
+ "pc": [
+ 2296
+ ]
+ },
+ {
+ "teal": 2257,
+ "source": 572,
+ "pc": [
+ 2297
+ ]
+ },
+ {
+ "teal": 2258,
+ "source": 572,
+ "pc": [
+ 2298,
+ 2299
+ ]
+ },
+ {
+ "teal": 2262,
+ "source": 573,
+ "pc": [
+ 2300
+ ]
+ },
+ {
+ "teal": 2263,
+ "source": 573,
+ "pc": [
+ 2301
+ ]
+ },
+ {
+ "teal": 2264,
+ "source": 573,
+ "pc": [
+ 2302
+ ]
+ },
+ {
+ "teal": 2265,
+ "source": 573,
+ "pc": [
+ 2303,
+ 2304
+ ]
+ },
+ {
+ "teal": 2268,
+ "source": 571,
+ "pc": [
+ 2305
+ ]
+ },
+ {
+ "teal": 2269,
+ "source": 571,
+ "pc": [
+ 2306,
+ 2307
+ ]
+ },
+ {
+ "teal": 2272,
+ "source": 571,
+ "pc": [
+ 2308
+ ]
+ },
+ {
+ "teal": 2273,
+ "source": 571,
+ "pc": [
+ 2309,
+ 2310
+ ]
+ },
+ {
+ "teal": 2274,
+ "source": 571,
+ "pc": [
+ 2311
+ ]
+ },
+ {
+ "teal": 2275,
+ "source": 571,
+ "pc": [
+ 2312
+ ]
+ },
+ {
+ "teal": 2276,
+ "source": 571,
+ "pc": [
+ 2313,
+ 2314
+ ]
+ },
+ {
+ "teal": 2277,
+ "source": 571,
+ "pc": [
+ 2315,
+ 2316,
+ 2317
+ ]
+ },
+ {
+ "teal": 2278,
+ "source": 571,
+ "pc": [
+ 2318,
+ 2319
+ ]
+ },
+ {
+ "teal": 2279,
+ "source": 570,
+ "pc": [
+ 2320,
+ 2321,
+ 2322
+ ]
+ },
+ {
+ "teal": 2287,
+ "source": 577,
+ "pc": [
+ 2323
+ ]
+ },
+ {
+ "teal": 2288,
+ "source": 577,
+ "pc": [
+ 2324
+ ]
+ },
+ {
+ "teal": 2289,
+ "source": 577,
+ "pc": [
+ 2325,
+ 2326
+ ]
+ },
+ {
+ "teal": 2290,
+ "source": 577,
+ "pc": [
+ 2327,
+ 2328
+ ]
+ },
+ {
+ "teal": 2291,
+ "source": 577,
+ "pc": [
+ 2329,
+ 2330
+ ]
+ },
+ {
+ "teal": 2295,
+ "source": 578,
+ "pc": [
+ 2331,
+ 2332
+ ]
+ },
+ {
+ "teal": 2296,
+ "source": 578,
+ "pc": [
+ 2333,
+ 2334
+ ]
+ },
+ {
+ "teal": 2300,
+ "source": 579,
+ "pc": [
+ 2335
+ ]
+ },
+ {
+ "teal": 2301,
+ "source": 579,
+ "pc": [
+ 2336
+ ]
+ },
+ {
+ "teal": 2302,
+ "source": 579,
+ "pc": [
+ 2337
+ ]
+ },
+ {
+ "teal": 2303,
+ "source": 579,
+ "pc": [
+ 2338
+ ]
+ },
+ {
+ "teal": 2304,
+ "source": 579,
+ "pc": [
+ 2339
+ ]
+ },
+ {
+ "teal": 2305,
+ "source": 579,
+ "pc": [
+ 2340
+ ]
+ },
+ {
+ "teal": 2306,
+ "source": 579,
+ "pc": [
+ 2341
+ ]
+ },
+ {
+ "teal": 2307,
+ "source": 579,
+ "pc": [
+ 2342,
+ 2343,
+ 2344
+ ]
+ },
+ {
+ "teal": 2308,
+ "source": 579,
+ "pc": [
+ 2345
+ ]
+ },
+ {
+ "teal": 2309,
+ "source": 579,
+ "pc": [
+ 2346
+ ]
+ },
+ {
+ "teal": 2310,
+ "source": 579,
+ "pc": [
+ 2347,
+ 2348
+ ]
+ },
+ {
+ "teal": 2313,
+ "source": 577,
+ "pc": [
+ 2349
+ ]
+ },
+ {
+ "teal": 2314,
+ "source": 577,
+ "pc": [
+ 2350,
+ 2351
+ ]
+ },
+ {
+ "teal": 2317,
+ "source": 577,
+ "pc": [
+ 2352
+ ]
+ },
+ {
+ "teal": 2318,
+ "source": 577,
+ "pc": [
+ 2353,
+ 2354
+ ]
+ },
+ {
+ "teal": 2319,
+ "source": 577,
+ "pc": [
+ 2355
+ ]
+ },
+ {
+ "teal": 2320,
+ "source": 577,
+ "pc": [
+ 2356
+ ]
+ },
+ {
+ "teal": 2321,
+ "source": 577,
+ "pc": [
+ 2357,
+ 2358
+ ]
+ },
+ {
+ "teal": 2322,
+ "source": 577,
+ "pc": [
+ 2359,
+ 2360,
+ 2361
+ ]
+ },
+ {
+ "teal": 2323,
+ "source": 577,
+ "pc": [
+ 2362,
+ 2363
+ ]
+ },
+ {
+ "teal": 2333,
+ "source": 586,
+ "pc": [
+ 2364
+ ]
+ },
+ {
+ "teal": 2334,
+ "source": 586,
+ "pc": [
+ 2365
+ ]
+ },
+ {
+ "teal": 2335,
+ "source": 586,
+ "pc": [
+ 2366,
+ 2367
+ ]
+ },
+ {
+ "teal": 2336,
+ "source": 586,
+ "pc": [
+ 2368,
+ 2369,
+ 2370,
+ 2371,
+ 2372,
+ 2373
+ ]
+ },
+ {
+ "teal": 2337,
+ "source": 586,
+ "pc": [
+ 2374,
+ 2375
+ ]
+ },
+ {
+ "teal": 2341,
+ "source": 587,
+ "pc": [
+ 2376
+ ]
+ },
+ {
+ "teal": 2342,
+ "source": 587,
+ "pc": [
+ 2377
+ ]
+ },
+ {
+ "teal": 2343,
+ "source": 587,
+ "pc": [
+ 2378,
+ 2379
+ ]
+ },
+ {
+ "teal": 2347,
+ "source": 588,
+ "pc": [
+ 2380
+ ]
+ },
+ {
+ "teal": 2348,
+ "source": 588,
+ "pc": [
+ 2381
+ ]
+ },
+ {
+ "teal": 2349,
+ "source": 588,
+ "pc": [
+ 2382
+ ]
+ },
+ {
+ "teal": 2350,
+ "source": 588,
+ "pc": [
+ 2383,
+ 2384
+ ]
+ },
+ {
+ "teal": 2353,
+ "source": 586,
+ "pc": [
+ 2385
+ ]
+ },
+ {
+ "teal": 2354,
+ "source": 586,
+ "pc": [
+ 2386,
+ 2387
+ ]
+ },
+ {
+ "teal": 2357,
+ "source": 586,
+ "pc": [
+ 2388
+ ]
+ },
+ {
+ "teal": 2358,
+ "source": 586,
+ "pc": [
+ 2389,
+ 2390
+ ]
+ },
+ {
+ "teal": 2359,
+ "source": 586,
+ "pc": [
+ 2391
+ ]
+ },
+ {
+ "teal": 2360,
+ "source": 586,
+ "pc": [
+ 2392
+ ]
+ },
+ {
+ "teal": 2361,
+ "source": 586,
+ "pc": [
+ 2393,
+ 2394
+ ]
+ },
+ {
+ "teal": 2362,
+ "source": 586,
+ "pc": [
+ 2395,
+ 2396,
+ 2397
+ ]
+ },
+ {
+ "teal": 2363,
+ "source": 586,
+ "pc": [
+ 2398,
+ 2399
+ ]
+ },
+ {
+ "teal": 2367,
+ "source": 590,
+ "pc": [
+ 2400,
+ 2401
+ ]
+ },
+ {
+ "teal": 2368,
+ "source": 590,
+ "pc": [
+ 2402,
+ 2403,
+ 2404
+ ]
+ },
+ {
+ "teal": 2369,
+ "source": 590,
+ "pc": [
+ 2405
+ ]
+ },
+ {
+ "teal": 2370,
+ "source": 590,
+ "pc": [
+ 2406,
+ 2407
+ ]
+ },
+ {
+ "teal": 2374,
+ "source": 596,
+ "pc": [
+ 2408,
+ 2409
+ ]
+ },
+ {
+ "teal": 2375,
+ "source": 596,
+ "pc": [
+ 2410,
+ 2411
+ ]
+ },
+ {
+ "teal": 2376,
+ "source": 596,
+ "pc": [
+ 2412
+ ]
+ },
+ {
+ "teal": 2377,
+ "source": 596,
+ "pc": [
+ 2413,
+ 2414
+ ]
+ },
+ {
+ "teal": 2378,
+ "source": 596,
+ "pc": [
+ 2415
+ ]
+ },
+ {
+ "teal": 2379,
+ "source": 596,
+ "pc": [
+ 2416
+ ]
+ },
+ {
+ "teal": 2380,
+ "source": 596,
+ "pc": [
+ 2417,
+ 2418
+ ]
+ },
+ {
+ "teal": 2381,
+ "source": 596,
+ "pc": [
+ 2419,
+ 2420
+ ]
+ },
+ {
+ "teal": 2382,
+ "source": 596,
+ "pc": [
+ 2421
+ ]
+ },
+ {
+ "teal": 2383,
+ "source": 596,
+ "pc": [
+ 2422
+ ]
+ },
+ {
+ "teal": 2384,
+ "source": 596,
+ "pc": [
+ 2423,
+ 2424
+ ]
+ },
+ {
+ "teal": 2388,
+ "source": 597,
+ "pc": [
+ 2425
+ ]
+ },
+ {
+ "teal": 2389,
+ "source": 597,
+ "pc": [
+ 2426,
+ 2427
+ ]
+ },
+ {
+ "teal": 2393,
+ "source": 598,
+ "pc": [
+ 2428,
+ 2429,
+ 2430
+ ]
+ },
+ {
+ "teal": 2394,
+ "source": 598,
+ "pc": [
+ 2431,
+ 2432
+ ]
+ },
+ {
+ "teal": 2399,
+ "source": 606,
+ "pc": [
+ 2433,
+ 2434
+ ]
+ },
+ {
+ "teal": 2400,
+ "source": 606,
+ "pc": [
+ 2435,
+ 2436,
+ 2437
+ ]
+ },
+ {
+ "teal": 2401,
+ "source": 606,
+ "pc": [
+ 2438
+ ]
+ },
+ {
+ "teal": 2402,
+ "source": 606,
+ "pc": [
+ 2439,
+ 2440
+ ]
+ },
+ {
+ "teal": 2403,
+ "source": 606,
+ "pc": [
+ 2441
+ ]
+ },
+ {
+ "teal": 2404,
+ "source": 606,
+ "pc": [
+ 2442,
+ 2443,
+ 2444
+ ]
+ },
+ {
+ "teal": 2409,
+ "source": 607,
+ "pc": [
+ 2445
+ ]
+ },
+ {
+ "teal": 2410,
+ "source": 607,
+ "pc": [
+ 2446,
+ 2447
+ ]
+ },
+ {
+ "teal": 2415,
+ "source": 613,
+ "pc": [
+ 2448
+ ]
+ },
+ {
+ "teal": 2416,
+ "source": 613,
+ "pc": [
+ 2449,
+ 2450
+ ]
+ },
+ {
+ "teal": 2420,
+ "source": 614,
+ "pc": [
+ 2451
+ ]
+ },
+ {
+ "teal": 2421,
+ "source": 614,
+ "pc": [
+ 2452,
+ 2453
+ ]
+ },
+ {
+ "teal": 2425,
+ "source": 615,
+ "pc": [
+ 2454
+ ]
+ },
+ {
+ "teal": 2426,
+ "source": 615,
+ "pc": [
+ 2455,
+ 2456
+ ]
+ },
+ {
+ "teal": 2430,
+ "source": 616,
+ "pc": [
+ 2457
+ ]
+ },
+ {
+ "teal": 2431,
+ "source": 616,
+ "pc": [
+ 2458,
+ 2459
+ ]
+ },
+ {
+ "teal": 2436,
+ "source": 617,
+ "pc": [
+ 2460,
+ 2461
+ ]
+ },
+ {
+ "teal": 2437,
+ "source": 617,
+ "pc": [
+ 2462,
+ 2463,
+ 2464
+ ]
+ },
+ {
+ "teal": 2443,
+ "source": 619,
+ "pc": [
+ 2465,
+ 2466
+ ]
+ },
+ {
+ "teal": 2444,
+ "source": 619,
+ "pc": [
+ 2467,
+ 2468
+ ]
+ },
+ {
+ "teal": 2445,
+ "source": 619,
+ "pc": [
+ 2469,
+ 2470,
+ 2471
+ ]
+ },
+ {
+ "teal": 2446,
+ "source": 619,
+ "pc": [
+ 2472
+ ]
+ },
+ {
+ "teal": 2447,
+ "source": 619,
+ "pc": [
+ 2473,
+ 2474
+ ]
+ },
+ {
+ "teal": 2448,
+ "source": 619,
+ "pc": [
+ 2475
+ ]
+ },
+ {
+ "teal": 2449,
+ "source": 619,
+ "pc": [
+ 2476,
+ 2477
+ ]
+ },
+ {
+ "teal": 2450,
+ "source": 619,
+ "pc": [
+ 2478
+ ]
+ },
+ {
+ "teal": 2451,
+ "source": 618,
+ "pc": [
+ 2479,
+ 2480
+ ]
+ },
+ {
+ "teal": 2456,
+ "source": 623,
+ "pc": [
+ 2481,
+ 2482
+ ]
+ },
+ {
+ "teal": 2457,
+ "source": 623,
+ "pc": [
+ 2483,
+ 2484
+ ]
+ },
+ {
+ "teal": 2458,
+ "source": 623,
+ "pc": [
+ 2485,
+ 2486,
+ 2487
+ ]
+ },
+ {
+ "teal": 2459,
+ "source": 623,
+ "pc": [
+ 2488
+ ]
+ },
+ {
+ "teal": 2460,
+ "source": 623,
+ "pc": [
+ 2489
+ ]
+ },
+ {
+ "teal": 2461,
+ "source": 623,
+ "pc": [
+ 2490,
+ 2491,
+ 2492
+ ]
+ },
+ {
+ "teal": 2466,
+ "source": 629,
+ "pc": [
+ 2493,
+ 2494
+ ]
+ },
+ {
+ "teal": 2467,
+ "source": 629,
+ "pc": [
+ 2495
+ ]
+ },
+ {
+ "teal": 2468,
+ "source": 629,
+ "pc": [
+ 2496
+ ]
+ },
+ {
+ "teal": 2469,
+ "source": 629,
+ "pc": [
+ 2497
+ ]
+ },
+ {
+ "teal": 2470,
+ "source": 629,
+ "pc": [
+ 2498
+ ]
+ },
+ {
+ "teal": 2471,
+ "source": 629,
+ "pc": [
+ 2499
+ ]
+ },
+ {
+ "teal": 2472,
+ "source": 629,
+ "pc": [
+ 2500,
+ 2501
+ ]
+ },
+ {
+ "teal": 2473,
+ "source": 629,
+ "pc": [
+ 2502
+ ]
+ },
+ {
+ "teal": 2474,
+ "source": 629,
+ "pc": [
+ 2503
+ ]
+ },
+ {
+ "teal": 2475,
+ "source": 629,
+ "pc": [
+ 2504,
+ 2505
+ ]
+ },
+ {
+ "teal": 2476,
+ "source": 629,
+ "pc": [
+ 2506
+ ]
+ },
+ {
+ "teal": 2477,
+ "source": 629,
+ "pc": [
+ 2507
+ ]
+ },
+ {
+ "teal": 2478,
+ "source": 629,
+ "pc": [
+ 2508,
+ 2509
+ ]
+ },
+ {
+ "teal": 2482,
+ "source": 632,
+ "pc": [
+ 2510,
+ 2511
+ ]
+ },
+ {
+ "teal": 2483,
+ "source": 632,
+ "pc": [
+ 2512,
+ 2513,
+ 2514
+ ]
+ },
+ {
+ "teal": 2484,
+ "source": 632,
+ "pc": [
+ 2515
+ ]
+ },
+ {
+ "teal": 2485,
+ "source": 632,
+ "pc": [
+ 2516,
+ 2517
+ ]
+ },
+ {
+ "teal": 2486,
+ "source": 632,
+ "pc": [
+ 2518
+ ]
+ },
+ {
+ "teal": 2487,
+ "source": 632,
+ "pc": [
+ 2519
+ ]
+ },
+ {
+ "teal": 2488,
+ "source": 632,
+ "pc": [
+ 2520,
+ 2521
+ ]
+ },
+ {
+ "teal": 2489,
+ "source": 632,
+ "pc": [
+ 2522
+ ]
+ },
+ {
+ "teal": 2490,
+ "source": 632,
+ "pc": [
+ 2523
+ ]
+ },
+ {
+ "teal": 2491,
+ "source": 632,
+ "pc": [
+ 2524
+ ]
+ },
+ {
+ "teal": 2492,
+ "source": 632,
+ "pc": [
+ 2525
+ ]
+ },
+ {
+ "teal": 2493,
+ "source": 632,
+ "pc": [
+ 2526
+ ]
+ },
+ {
+ "teal": 2496,
+ "source": 632,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 2527
+ ]
+ },
+ {
+ "teal": 2497,
+ "source": 632,
+ "pc": [
+ 2528,
+ 2529
+ ]
+ },
+ {
+ "teal": 2505,
+ "source": 635,
+ "pc": [
+ 2530,
+ 2531
+ ]
+ },
+ {
+ "teal": 2506,
+ "source": 635,
+ "pc": [
+ 2532
+ ]
+ },
+ {
+ "teal": 2507,
+ "source": 635,
+ "pc": [
+ 2533
+ ]
+ },
+ {
+ "teal": 2508,
+ "source": 635,
+ "pc": [
+ 2534,
+ 2535,
+ 2536
+ ]
+ },
+ {
+ "teal": 2514,
+ "source": 640,
+ "pc": [
+ 2537,
+ 2538
+ ]
+ },
+ {
+ "teal": 2515,
+ "source": 640,
+ "pc": [
+ 2539,
+ 2540
+ ]
+ },
+ {
+ "teal": 2516,
+ "source": 640,
+ "pc": [
+ 2541
+ ]
+ },
+ {
+ "teal": 2517,
+ "source": 640,
+ "pc": [
+ 2542,
+ 2543,
+ 2544
+ ]
+ },
+ {
+ "teal": 2522,
+ "source": 641,
+ "pc": [
+ 2545,
+ 2546,
+ 2547,
+ 2548,
+ 2549,
+ 2550,
+ 2551,
+ 2552,
+ 2553,
+ 2554,
+ 2555,
+ 2556,
+ 2557,
+ 2558,
+ 2559,
+ 2560,
+ 2561,
+ 2562,
+ 2563,
+ 2564,
+ 2565,
+ 2566,
+ 2567,
+ 2568
+ ]
+ },
+ {
+ "teal": 2523,
+ "source": 641,
+ "pc": [
+ 2569
+ ]
+ },
+ {
+ "teal": 2527,
+ "source": 642,
+ "pc": [
+ 2570
+ ]
+ },
+ {
+ "teal": 2535,
+ "source": 646,
+ "pc": [
+ 2571,
+ 2572
+ ]
+ },
+ {
+ "teal": 2536,
+ "source": 646,
+ "pc": [
+ 2573,
+ 2574,
+ 2575
+ ]
+ },
+ {
+ "teal": 2541,
+ "source": 649,
+ "pc": [
+ 2576,
+ 2577
+ ]
+ },
+ {
+ "teal": 2542,
+ "source": 649,
+ "pc": [
+ 2578,
+ 2579
+ ]
+ },
+ {
+ "teal": 2543,
+ "source": 649,
+ "pc": [
+ 2580
+ ]
+ },
+ {
+ "teal": 2544,
+ "source": 649,
+ "pc": [
+ 2581
+ ]
+ },
+ {
+ "teal": 2545,
+ "source": 649,
+ "pc": [
+ 2582,
+ 2583
+ ]
+ },
+ {
+ "teal": 2546,
+ "source": 649,
+ "pc": [
+ 2584,
+ 2585,
+ 2586
+ ]
+ },
+ {
+ "teal": 2547,
+ "source": 649,
+ "pc": [
+ 2587
+ ]
+ },
+ {
+ "teal": 2548,
+ "source": 649,
+ "pc": [
+ 2588
+ ]
+ },
+ {
+ "teal": 2549,
+ "source": 649,
+ "pc": [
+ 2589
+ ]
+ },
+ {
+ "teal": 2550,
+ "source": 649,
+ "pc": [
+ 2590
+ ]
+ },
+ {
+ "teal": 2551,
+ "source": 649,
+ "pc": [
+ 2591
+ ]
+ },
+ {
+ "teal": 2552,
+ "source": 649,
+ "pc": [
+ 2592
+ ]
+ },
+ {
+ "teal": 2555,
+ "source": 649,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 2593
+ ]
+ },
+ {
+ "teal": 2556,
+ "source": 649,
+ "pc": [
+ 2594,
+ 2595
+ ]
+ },
+ {
+ "teal": 2560,
+ "source": 651,
+ "pc": [
+ 2596,
+ 2597
+ ]
+ },
+ {
+ "teal": 2561,
+ "source": 651,
+ "pc": [
+ 2598,
+ 2599
+ ]
+ },
+ {
+ "teal": 2562,
+ "source": 651,
+ "pc": [
+ 2600
+ ]
+ },
+ {
+ "teal": 2563,
+ "source": 651,
+ "pc": [
+ 2601,
+ 2602
+ ]
+ },
+ {
+ "teal": 2571,
+ "source": 652,
+ "pc": [
+ 2603
+ ]
+ },
+ {
+ "teal": 2572,
+ "source": 652,
+ "pc": [
+ 2604
+ ]
+ },
+ {
+ "teal": 2573,
+ "source": 652,
+ "pc": [
+ 2605,
+ 2606
+ ]
+ },
+ {
+ "teal": 2577,
+ "source": 653,
+ "pc": [
+ 2607,
+ 2608
+ ]
+ },
+ {
+ "teal": 2578,
+ "source": 653,
+ "pc": [
+ 2609,
+ 2610
+ ]
+ },
+ {
+ "teal": 2582,
+ "source": 654,
+ "pc": [
+ 2611,
+ 2612,
+ 2613
+ ]
+ },
+ {
+ "teal": 2583,
+ "source": 654,
+ "pc": [
+ 2614,
+ 2615
+ ]
+ },
+ {
+ "teal": 2587,
+ "source": 655,
+ "pc": [
+ 2616,
+ 2617,
+ 2618,
+ 2619,
+ 2620,
+ 2621,
+ 2622,
+ 2623,
+ 2624,
+ 2625,
+ 2626,
+ 2627,
+ 2628,
+ 2629,
+ 2630,
+ 2631,
+ 2632,
+ 2633,
+ 2634,
+ 2635,
+ 2636,
+ 2637,
+ 2638,
+ 2639,
+ 2640,
+ 2641,
+ 2642,
+ 2643,
+ 2644,
+ 2645,
+ 2646,
+ 2647,
+ 2648,
+ 2649,
+ 2650,
+ 2651
+ ]
+ },
+ {
+ "teal": 2588,
+ "source": 655,
+ "pc": [
+ 2652,
+ 2653
+ ]
+ },
+ {
+ "teal": 2591,
+ "source": 652,
+ "pc": [
+ 2654
+ ]
+ },
+ {
+ "teal": 2592,
+ "source": 652,
+ "pc": [
+ 2655,
+ 2656
+ ]
+ },
+ {
+ "teal": 2595,
+ "source": 652,
+ "pc": [
+ 2657
+ ]
+ },
+ {
+ "teal": 2599,
+ "source": 658,
+ "pc": [
+ 2658,
+ 2659
+ ]
+ },
+ {
+ "teal": 2600,
+ "source": 658,
+ "pc": [
+ 2660,
+ 2661
+ ]
+ },
+ {
+ "teal": 2601,
+ "source": 646,
+ "pc": [
+ 2662,
+ 2663,
+ 2664
+ ]
+ },
+ {
+ "teal": 2606,
+ "source": 659,
+ "pc": [
+ 2665,
+ 2666
+ ]
+ },
+ {
+ "teal": 2607,
+ "source": 659,
+ "pc": [
+ 2667,
+ 2668,
+ 2669
+ ]
+ },
+ {
+ "teal": 2608,
+ "source": 659,
+ "pc": [
+ 2670
+ ]
+ },
+ {
+ "teal": 2609,
+ "source": 659,
+ "pc": [
+ 2671
+ ]
+ },
+ {
+ "teal": 2610,
+ "source": 659,
+ "pc": [
+ 2672
+ ]
+ },
+ {
+ "teal": 2611,
+ "source": 659,
+ "pc": [
+ 2673,
+ 2674,
+ 2675
+ ]
+ },
+ {
+ "teal": 2619,
+ "source": 663,
+ "pc": [
+ 2676,
+ 2677
+ ]
+ },
+ {
+ "teal": 2620,
+ "source": 663,
+ "pc": [
+ 2678,
+ 2679
+ ]
+ },
+ {
+ "teal": 2621,
+ "source": 663,
+ "pc": [
+ 2680,
+ 2681,
+ 2682
+ ]
+ },
+ {
+ "teal": 2622,
+ "source": 663,
+ "pc": [
+ 2683
+ ]
+ },
+ {
+ "teal": 2623,
+ "source": 662,
+ "pc": [
+ 2684
+ ]
+ },
+ {
+ "teal": 2624,
+ "source": 662,
+ "pc": [
+ 2685
+ ]
+ },
+ {
+ "teal": 2625,
+ "source": 664,
+ "pc": [
+ 2686,
+ 2687
+ ]
+ },
+ {
+ "teal": 2626,
+ "source": 662,
+ "pc": [
+ 2688
+ ]
+ },
+ {
+ "teal": 2627,
+ "source": 662,
+ "pc": [
+ 2689
+ ]
+ },
+ {
+ "teal": 2628,
+ "source": 662,
+ "pc": [
+ 2690
+ ]
+ },
+ {
+ "teal": 2629,
+ "source": 662,
+ "pc": [
+ 2691
+ ]
+ },
+ {
+ "teal": 2630,
+ "source": 662,
+ "pc": [
+ 2692
+ ]
+ },
+ {
+ "teal": 2633,
+ "source": 662,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 2693
+ ]
+ },
+ {
+ "teal": 2634,
+ "source": 662,
+ "pc": [
+ 2694,
+ 2695
+ ]
+ },
+ {
+ "teal": 2638,
+ "source": 668,
+ "pc": [
+ 2696,
+ 2697
+ ]
+ },
+ {
+ "teal": 2639,
+ "source": 668,
+ "pc": [
+ 2698,
+ 2699
+ ]
+ },
+ {
+ "teal": 2640,
+ "source": 668,
+ "pc": [
+ 2700
+ ]
+ },
+ {
+ "teal": 2641,
+ "source": 668,
+ "pc": [
+ 2701,
+ 2702
+ ]
+ },
+ {
+ "teal": 2646,
+ "source": 675,
+ "pc": [
+ 2703,
+ 2704
+ ]
+ },
+ {
+ "teal": 2647,
+ "source": 675,
+ "pc": [
+ 2705
+ ]
+ },
+ {
+ "teal": 2648,
+ "source": 675,
+ "pc": [
+ 2706
+ ]
+ },
+ {
+ "teal": 2649,
+ "source": 675,
+ "pc": [
+ 2707,
+ 2708,
+ 2709
+ ]
+ },
+ {
+ "teal": 2654,
+ "source": 678,
+ "pc": [
+ 2710
+ ]
+ },
+ {
+ "teal": 2655,
+ "source": 678,
+ "pc": [
+ 2711,
+ 2712
+ ]
+ },
+ {
+ "teal": 2661,
+ "source": 680,
+ "pc": [
+ 2713,
+ 2714
+ ]
+ },
+ {
+ "teal": 2662,
+ "source": 680,
+ "pc": [
+ 2715,
+ 2716,
+ 2717
+ ]
+ },
+ {
+ "teal": 2663,
+ "source": 680,
+ "pc": [
+ 2718,
+ 2719
+ ]
+ },
+ {
+ "teal": 2664,
+ "source": 680,
+ "pc": [
+ 2720,
+ 2721,
+ 2722
+ ]
+ },
+ {
+ "teal": 2665,
+ "source": 680,
+ "pc": [
+ 2723
+ ]
+ },
+ {
+ "teal": 2666,
+ "source": 680,
+ "pc": [
+ 2724
+ ]
+ },
+ {
+ "teal": 2667,
+ "source": 680,
+ "pc": [
+ 2725,
+ 2726,
+ 2727
+ ]
+ },
+ {
+ "teal": 2668,
+ "source": 681,
+ "pc": [
+ 2728,
+ 2729
+ ]
+ },
+ {
+ "teal": 2669,
+ "source": 681,
+ "pc": [
+ 2730,
+ 2731,
+ 2732
+ ]
+ },
+ {
+ "teal": 2670,
+ "source": 681,
+ "pc": [
+ 2733,
+ 2734
+ ]
+ },
+ {
+ "teal": 2671,
+ "source": 681,
+ "pc": [
+ 2735
+ ]
+ },
+ {
+ "teal": 2672,
+ "source": 681,
+ "pc": [
+ 2736,
+ 2737
+ ]
+ },
+ {
+ "teal": 2673,
+ "source": 681,
+ "pc": [
+ 2738,
+ 2739,
+ 2740
+ ]
+ },
+ {
+ "teal": 2674,
+ "source": 681,
+ "pc": [
+ 2741,
+ 2742
+ ]
+ },
+ {
+ "teal": 2675,
+ "source": 681,
+ "pc": [
+ 2743
+ ]
+ },
+ {
+ "teal": 2676,
+ "source": 681,
+ "pc": [
+ 2744
+ ]
+ },
+ {
+ "teal": 2677,
+ "source": 681,
+ "pc": [
+ 2745,
+ 2746
+ ]
+ },
+ {
+ "teal": 2678,
+ "source": 681,
+ "pc": [
+ 2747
+ ]
+ },
+ {
+ "teal": 2679,
+ "source": 680,
+ "pc": [
+ 2748
+ ]
+ },
+ {
+ "teal": 2682,
+ "source": 679,
+ "pc": [
+ 2749,
+ 2750,
+ 2751
+ ]
+ },
+ {
+ "teal": 2687,
+ "source": 683,
+ "pc": [
+ 2752,
+ 2753
+ ]
+ },
+ {
+ "teal": 2688,
+ "source": 683,
+ "pc": [
+ 2754,
+ 2755
+ ]
+ },
+ {
+ "teal": 2689,
+ "source": 683,
+ "pc": [
+ 2756
+ ]
+ },
+ {
+ "teal": 2690,
+ "source": 683,
+ "pc": [
+ 2757,
+ 2758,
+ 2759
+ ]
+ },
+ {
+ "teal": 2691,
+ "source": 683,
+ "pc": [
+ 2760,
+ 2761
+ ]
+ },
+ {
+ "teal": 2692,
+ "source": 683,
+ "pc": [
+ 2762,
+ 2763,
+ 2764
+ ]
+ },
+ {
+ "teal": 2695,
+ "source": 683,
+ "pc": [
+ 2765,
+ 2766
+ ]
+ },
+ {
+ "teal": 2698,
+ "source": 683,
+ "pc": [
+ 2767,
+ 2768
+ ]
+ },
+ {
+ "teal": 2706,
+ "source": 684,
+ "pc": [
+ 2769
+ ]
+ },
+ {
+ "teal": 2707,
+ "source": 684,
+ "pc": [
+ 2770
+ ]
+ },
+ {
+ "teal": 2708,
+ "source": 684,
+ "pc": [
+ 2771,
+ 2772
+ ]
+ },
+ {
+ "teal": 2712,
+ "source": 685,
+ "pc": [
+ 2773,
+ 2774
+ ]
+ },
+ {
+ "teal": 2713,
+ "source": 685,
+ "pc": [
+ 2775,
+ 2776
+ ]
+ },
+ {
+ "teal": 2717,
+ "source": 686,
+ "pc": [
+ 2777,
+ 2778
+ ]
+ },
+ {
+ "teal": 2718,
+ "source": 686,
+ "pc": [
+ 2779,
+ 2780,
+ 2781
+ ]
+ },
+ {
+ "teal": 2719,
+ "source": 686,
+ "pc": [
+ 2782,
+ 2783
+ ]
+ },
+ {
+ "teal": 2723,
+ "source": 687,
+ "pc": [
+ 2784,
+ 2785,
+ 2786,
+ 2787,
+ 2788,
+ 2789,
+ 2790,
+ 2791,
+ 2792,
+ 2793,
+ 2794,
+ 2795,
+ 2796,
+ 2797,
+ 2798,
+ 2799,
+ 2800,
+ 2801,
+ 2802,
+ 2803,
+ 2804,
+ 2805,
+ 2806,
+ 2807,
+ 2808,
+ 2809,
+ 2810,
+ 2811,
+ 2812,
+ 2813,
+ 2814,
+ 2815,
+ 2816,
+ 2817,
+ 2818,
+ 2819,
+ 2820,
+ 2821,
+ 2822,
+ 2823,
+ 2824,
+ 2825,
+ 2826,
+ 2827,
+ 2828,
+ 2829,
+ 2830,
+ 2831,
+ 2832,
+ 2833,
+ 2834,
+ 2835,
+ 2836,
+ 2837,
+ 2838
+ ]
+ },
+ {
+ "teal": 2724,
+ "source": 687,
+ "pc": [
+ 2839,
+ 2840
+ ]
+ },
+ {
+ "teal": 2727,
+ "source": 684,
+ "pc": [
+ 2841
+ ]
+ },
+ {
+ "teal": 2728,
+ "source": 684,
+ "pc": [
+ 2842,
+ 2843
+ ]
+ },
+ {
+ "teal": 2731,
+ "source": 684,
+ "pc": [
+ 2844
+ ]
+ },
+ {
+ "teal": 2737,
+ "source": 690,
+ "pc": [
+ 2845,
+ 2846
+ ]
+ },
+ {
+ "teal": 2738,
+ "source": 690,
+ "pc": [
+ 2847,
+ 2848
+ ]
+ },
+ {
+ "teal": 2739,
+ "source": 690,
+ "pc": [
+ 2849
+ ]
+ },
+ {
+ "teal": 2740,
+ "source": 690,
+ "pc": [
+ 2850
+ ]
+ },
+ {
+ "teal": 2741,
+ "source": 690,
+ "pc": [
+ 2851
+ ]
+ },
+ {
+ "teal": 2742,
+ "source": 690,
+ "pc": [
+ 2852,
+ 2853,
+ 2854
+ ]
+ },
+ {
+ "teal": 2751,
+ "source": 691,
+ "pc": [
+ 2855
+ ]
+ },
+ {
+ "teal": 2752,
+ "source": 691,
+ "pc": [
+ 2856
+ ]
+ },
+ {
+ "teal": 2753,
+ "source": 691,
+ "pc": [
+ 2857,
+ 2858
+ ]
+ },
+ {
+ "teal": 2757,
+ "source": 692,
+ "pc": [
+ 2859,
+ 2860
+ ]
+ },
+ {
+ "teal": 2758,
+ "source": 692,
+ "pc": [
+ 2861,
+ 2862
+ ]
+ },
+ {
+ "teal": 2759,
+ "source": 692,
+ "pc": [
+ 2863
+ ]
+ },
+ {
+ "teal": 2760,
+ "source": 692,
+ "pc": [
+ 2864,
+ 2865
+ ]
+ },
+ {
+ "teal": 2764,
+ "source": 693,
+ "pc": [
+ 2866,
+ 2867
+ ]
+ },
+ {
+ "teal": 2765,
+ "source": 693,
+ "pc": [
+ 2868,
+ 2869,
+ 2870
+ ]
+ },
+ {
+ "teal": 2766,
+ "source": 693,
+ "pc": [
+ 2871,
+ 2872
+ ]
+ },
+ {
+ "teal": 2770,
+ "source": 694,
+ "pc": [
+ 2873,
+ 2874,
+ 2875,
+ 2876,
+ 2877,
+ 2878,
+ 2879,
+ 2880,
+ 2881,
+ 2882,
+ 2883,
+ 2884,
+ 2885,
+ 2886,
+ 2887,
+ 2888,
+ 2889,
+ 2890
+ ]
+ },
+ {
+ "teal": 2771,
+ "source": 694,
+ "pc": [
+ 2891,
+ 2892
+ ]
+ },
+ {
+ "teal": 2774,
+ "source": 691,
+ "pc": [
+ 2893
+ ]
+ },
+ {
+ "teal": 2775,
+ "source": 691,
+ "pc": [
+ 2894,
+ 2895
+ ]
+ },
+ {
+ "teal": 2778,
+ "source": 691,
+ "pc": [
+ 2896
+ ]
+ },
+ {
+ "teal": 2787,
+ "source": 706,
+ "pc": [
+ 2897
+ ]
+ },
+ {
+ "teal": 2788,
+ "source": 706,
+ "pc": [
+ 2898,
+ 2899
+ ]
+ },
+ {
+ "teal": 2793,
+ "source": 730,
+ "pc": [
+ 2900,
+ 2901
+ ]
+ },
+ {
+ "teal": 2794,
+ "source": 730,
+ "pc": [
+ 2902
+ ]
+ },
+ {
+ "teal": 2795,
+ "source": 730,
+ "pc": [
+ 2903
+ ]
+ },
+ {
+ "teal": 2796,
+ "source": 730,
+ "pc": [
+ 2904
+ ]
+ },
+ {
+ "teal": 2797,
+ "source": 730,
+ "pc": [
+ 2905,
+ 2906,
+ 2907
+ ]
+ },
+ {
+ "teal": 2798,
+ "source": 730,
+ "pc": [
+ 2908,
+ 2909
+ ]
+ },
+ {
+ "teal": 2799,
+ "source": 730,
+ "pc": [
+ 2910
+ ]
+ },
+ {
+ "teal": 2800,
+ "source": 730,
+ "pc": [
+ 2911
+ ]
+ },
+ {
+ "teal": 2801,
+ "source": 730,
+ "pc": [
+ 2912
+ ]
+ },
+ {
+ "teal": 2804,
+ "source": 730,
+ "pc": [
+ 2913,
+ 2914,
+ 2915
+ ]
+ },
+ {
+ "teal": 2809,
+ "source": 731,
+ "pc": [
+ 2916
+ ]
+ },
+ {
+ "teal": 2810,
+ "source": 731,
+ "pc": [
+ 2917,
+ 2918
+ ]
+ },
+ {
+ "teal": 2814,
+ "source": 732,
+ "pc": [
+ 2919
+ ]
+ },
+ {
+ "teal": 2815,
+ "source": 732,
+ "pc": [
+ 2920,
+ 2921
+ ]
+ },
+ {
+ "teal": 2820,
+ "source": 732,
+ "pc": [
+ 2922,
+ 2923
+ ]
+ },
+ {
+ "teal": 2821,
+ "source": 732,
+ "pc": [
+ 2924,
+ 2925
+ ]
+ },
+ {
+ "teal": 2822,
+ "source": 732,
+ "pc": [
+ 2926
+ ]
+ },
+ {
+ "teal": 2823,
+ "source": 732,
+ "pc": [
+ 2927,
+ 2928,
+ 2929
+ ]
+ },
+ {
+ "teal": 2828,
+ "source": 733,
+ "pc": [
+ 2930,
+ 2931
+ ]
+ },
+ {
+ "teal": 2829,
+ "source": 733,
+ "pc": [
+ 2932,
+ 2933
+ ]
+ },
+ {
+ "teal": 2830,
+ "source": 733,
+ "pc": [
+ 2934
+ ]
+ },
+ {
+ "teal": 2831,
+ "source": 733,
+ "pc": [
+ 2935,
+ 2936,
+ 2937
+ ]
+ },
+ {
+ "teal": 2836,
+ "source": 734,
+ "pc": [
+ 2938
+ ]
+ },
+ {
+ "teal": 2837,
+ "source": 734,
+ "pc": [
+ 2939
+ ]
+ },
+ {
+ "teal": 2838,
+ "source": 734,
+ "pc": [
+ 2940,
+ 2941
+ ]
+ },
+ {
+ "teal": 2839,
+ "source": 734,
+ "pc": [
+ 2942
+ ]
+ },
+ {
+ "teal": 2840,
+ "source": 734,
+ "pc": [
+ 2943,
+ 2944
+ ]
+ },
+ {
+ "teal": 2841,
+ "source": 734,
+ "pc": [
+ 2945,
+ 2946
+ ]
+ },
+ {
+ "teal": 2842,
+ "source": 734,
+ "pc": [
+ 2947
+ ]
+ },
+ {
+ "teal": 2843,
+ "source": 734,
+ "pc": [
+ 2948,
+ 2949
+ ]
+ },
+ {
+ "teal": 2844,
+ "source": 734,
+ "pc": [
+ 2950,
+ 2951
+ ]
+ },
+ {
+ "teal": 2845,
+ "source": 734,
+ "pc": [
+ 2952,
+ 2953
+ ]
+ },
+ {
+ "teal": 2846,
+ "source": 734,
+ "pc": [
+ 2954,
+ 2955
+ ]
+ },
+ {
+ "teal": 2847,
+ "source": 734,
+ "pc": [
+ 2956
+ ]
+ },
+ {
+ "teal": 2852,
+ "source": 736,
+ "pc": [
+ 2957,
+ 2958
+ ]
+ },
+ {
+ "teal": 2853,
+ "source": 736,
+ "pc": [
+ 2959
+ ]
+ },
+ {
+ "teal": 2854,
+ "source": 736,
+ "pc": [
+ 2960
+ ]
+ },
+ {
+ "teal": 2855,
+ "source": 736,
+ "pc": [
+ 2961
+ ]
+ },
+ {
+ "teal": 2856,
+ "source": 736,
+ "pc": [
+ 2962
+ ]
+ },
+ {
+ "teal": 2857,
+ "source": 736,
+ "pc": [
+ 2963,
+ 2964
+ ]
+ },
+ {
+ "teal": 2858,
+ "source": 736,
+ "pc": [
+ 2965
+ ]
+ },
+ {
+ "teal": 2859,
+ "source": 736,
+ "pc": [
+ 2966,
+ 2967
+ ]
+ },
+ {
+ "teal": 2864,
+ "source": 737,
+ "pc": [
+ 2968,
+ 2969
+ ]
+ },
+ {
+ "teal": 2865,
+ "source": 737,
+ "pc": [
+ 2970,
+ 2971,
+ 2972
+ ]
+ },
+ {
+ "teal": 2866,
+ "source": 737,
+ "pc": [
+ 2973,
+ 2974
+ ]
+ },
+ {
+ "teal": 2867,
+ "source": 737,
+ "pc": [
+ 2975
+ ]
+ },
+ {
+ "teal": 2868,
+ "source": 737,
+ "pc": [
+ 2976,
+ 2977,
+ 2978
+ ]
+ },
+ {
+ "teal": 2874,
+ "source": 738,
+ "pc": [
+ 2979,
+ 2980
+ ]
+ },
+ {
+ "teal": 2875,
+ "source": 738,
+ "pc": [
+ 2981,
+ 2982,
+ 2983
+ ]
+ },
+ {
+ "teal": 2876,
+ "source": 738,
+ "pc": [
+ 2984
+ ]
+ },
+ {
+ "teal": 2877,
+ "source": 738,
+ "pc": [
+ 2985,
+ 2986
+ ]
+ },
+ {
+ "teal": 2878,
+ "source": 738,
+ "pc": [
+ 2987
+ ]
+ },
+ {
+ "teal": 2879,
+ "source": 738,
+ "pc": [
+ 2988,
+ 2989,
+ 2990
+ ]
+ },
+ {
+ "teal": 2884,
+ "source": 741,
+ "pc": [
+ 2991,
+ 2992
+ ]
+ },
+ {
+ "teal": 2885,
+ "source": 741,
+ "pc": [
+ 2993,
+ 2994
+ ]
+ },
+ {
+ "teal": 2886,
+ "source": 741,
+ "pc": [
+ 2995,
+ 2996,
+ 2997
+ ]
+ },
+ {
+ "teal": 2887,
+ "source": 741,
+ "pc": [
+ 2998
+ ]
+ },
+ {
+ "teal": 2888,
+ "source": 741,
+ "pc": [
+ 2999
+ ]
+ },
+ {
+ "teal": 2889,
+ "source": 741,
+ "pc": [
+ 3000,
+ 3001
+ ]
+ },
+ {
+ "teal": 2890,
+ "source": 738,
+ "pc": [
+ 3002,
+ 3003,
+ 3004
+ ]
+ },
+ {
+ "teal": 2895,
+ "source": 745,
+ "pc": [
+ 3005,
+ 3006
+ ]
+ },
+ {
+ "teal": 2896,
+ "source": 745,
+ "pc": [
+ 3007,
+ 3008
+ ]
+ },
+ {
+ "teal": 2897,
+ "source": 745,
+ "pc": [
+ 3009,
+ 3010,
+ 3011
+ ]
+ },
+ {
+ "teal": 2898,
+ "source": 745,
+ "pc": [
+ 3012
+ ]
+ },
+ {
+ "teal": 2899,
+ "source": 745,
+ "pc": [
+ 3013
+ ]
+ },
+ {
+ "teal": 2900,
+ "source": 745,
+ "pc": [
+ 3014,
+ 3015
+ ]
+ },
+ {
+ "teal": 2905,
+ "source": 749,
+ "pc": [
+ 3016,
+ 3017
+ ]
+ },
+ {
+ "teal": 2906,
+ "source": 749,
+ "pc": [
+ 3018,
+ 3019
+ ]
+ },
+ {
+ "teal": 2907,
+ "source": 749,
+ "pc": [
+ 3020
+ ]
+ },
+ {
+ "teal": 2908,
+ "source": 749,
+ "pc": [
+ 3021,
+ 3022,
+ 3023
+ ]
+ },
+ {
+ "teal": 2913,
+ "source": 750,
+ "pc": [
+ 3024,
+ 3025
+ ]
+ },
+ {
+ "teal": 2914,
+ "source": 750,
+ "pc": [
+ 3026,
+ 3027
+ ]
+ },
+ {
+ "teal": 2915,
+ "source": 750,
+ "pc": [
+ 3028,
+ 3029,
+ 3030
+ ]
+ },
+ {
+ "teal": 2916,
+ "source": 750,
+ "pc": [
+ 3031
+ ]
+ },
+ {
+ "teal": 2917,
+ "source": 750,
+ "pc": [
+ 3032
+ ]
+ },
+ {
+ "teal": 2918,
+ "source": 750,
+ "pc": [
+ 3033,
+ 3034
+ ]
+ },
+ {
+ "teal": 2922,
+ "source": 751,
+ "pc": [
+ 3035,
+ 3036
+ ]
+ },
+ {
+ "teal": 2923,
+ "source": 751,
+ "pc": [
+ 3037,
+ 3038
+ ]
+ },
+ {
+ "teal": 2924,
+ "source": 751,
+ "pc": [
+ 3039
+ ]
+ },
+ {
+ "teal": 2925,
+ "source": 751,
+ "pc": [
+ 3040,
+ 3041
+ ]
+ },
+ {
+ "teal": 2926,
+ "source": 751,
+ "pc": [
+ 3042
+ ]
+ },
+ {
+ "teal": 2927,
+ "source": 751,
+ "pc": [
+ 3043,
+ 3044
+ ]
+ },
+ {
+ "teal": 2932,
+ "source": 753,
+ "pc": [
+ 3045,
+ 3046
+ ]
+ },
+ {
+ "teal": 2933,
+ "source": 753,
+ "pc": [
+ 3047
+ ]
+ },
+ {
+ "teal": 2934,
+ "source": 753,
+ "pc": [
+ 3048
+ ]
+ },
+ {
+ "teal": 2935,
+ "source": 753,
+ "pc": [
+ 3049,
+ 3050,
+ 3051
+ ]
+ },
+ {
+ "teal": 2943,
+ "source": 756,
+ "pc": [
+ 3052,
+ 3053
+ ]
+ },
+ {
+ "teal": 2944,
+ "source": 756,
+ "pc": [
+ 3054,
+ 3055,
+ 3056
+ ]
+ },
+ {
+ "teal": 2945,
+ "source": 756,
+ "pc": [
+ 3057
+ ]
+ },
+ {
+ "teal": 2946,
+ "source": 756,
+ "pc": [
+ 3058,
+ 3059
+ ]
+ },
+ {
+ "teal": 2947,
+ "source": 755,
+ "pc": [
+ 3060
+ ]
+ },
+ {
+ "teal": 2948,
+ "source": 756,
+ "pc": [
+ 3061,
+ 3062
+ ]
+ },
+ {
+ "teal": 2949,
+ "source": 755,
+ "pc": [
+ 3063,
+ 3064
+ ]
+ },
+ {
+ "teal": 2950,
+ "source": 755,
+ "pc": [
+ 3065,
+ 3066
+ ]
+ },
+ {
+ "teal": 2951,
+ "source": 755,
+ "pc": [
+ 3067
+ ]
+ },
+ {
+ "teal": 2952,
+ "source": 755,
+ "pc": [
+ 3068,
+ 3069
+ ]
+ },
+ {
+ "teal": 2953,
+ "source": 755,
+ "pc": [
+ 3070
+ ]
+ },
+ {
+ "teal": 2954,
+ "source": 755,
+ "pc": [
+ 3071,
+ 3072
+ ]
+ },
+ {
+ "teal": 2955,
+ "source": 755,
+ "pc": [
+ 3073
+ ]
+ },
+ {
+ "teal": 2956,
+ "source": 755,
+ "pc": [
+ 3074
+ ]
+ },
+ {
+ "teal": 2957,
+ "source": 757,
+ "pc": [
+ 3075,
+ 3076
+ ]
+ },
+ {
+ "teal": 2958,
+ "source": 757,
+ "pc": [
+ 3077
+ ]
+ },
+ {
+ "teal": 2959,
+ "source": 757,
+ "pc": [
+ 3078,
+ 3079
+ ]
+ },
+ {
+ "teal": 2960,
+ "source": 755,
+ "pc": [
+ 3080
+ ]
+ },
+ {
+ "teal": 2961,
+ "source": 755,
+ "pc": [
+ 3081
+ ]
+ },
+ {
+ "teal": 2962,
+ "source": 755,
+ "pc": [
+ 3082
+ ]
+ },
+ {
+ "teal": 2963,
+ "source": 755,
+ "pc": [
+ 3083
+ ]
+ },
+ {
+ "teal": 2964,
+ "source": 755,
+ "pc": [
+ 3084
+ ]
+ },
+ {
+ "teal": 2965,
+ "source": 755,
+ "pc": [
+ 3085
+ ]
+ },
+ {
+ "teal": 2968,
+ "source": 755,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 3086
+ ]
+ },
+ {
+ "teal": 2969,
+ "source": 755,
+ "pc": [
+ 3087,
+ 3088
+ ]
+ },
+ {
+ "teal": 2973,
+ "source": 762,
+ "pc": [
+ 3089,
+ 3090
+ ]
+ },
+ {
+ "teal": 2974,
+ "source": 762,
+ "pc": [
+ 3091,
+ 3092
+ ]
+ },
+ {
+ "teal": 2975,
+ "source": 762,
+ "pc": [
+ 3093
+ ]
+ },
+ {
+ "teal": 2976,
+ "source": 762,
+ "pc": [
+ 3094,
+ 3095
+ ]
+ },
+ {
+ "teal": 2980,
+ "source": 763,
+ "pc": [
+ 3096,
+ 3097
+ ]
+ },
+ {
+ "teal": 2981,
+ "source": 763,
+ "pc": [
+ 3098,
+ 3099
+ ]
+ },
+ {
+ "teal": 2982,
+ "source": 763,
+ "pc": [
+ 3100,
+ 3101
+ ]
+ },
+ {
+ "teal": 2983,
+ "source": 763,
+ "pc": [
+ 3102,
+ 3103,
+ 3104
+ ]
+ },
+ {
+ "teal": 2984,
+ "source": 763,
+ "pc": [
+ 3105
+ ]
+ },
+ {
+ "teal": 2985,
+ "source": 763,
+ "pc": [
+ 3106,
+ 3107
+ ]
+ },
+ {
+ "teal": 2986,
+ "source": 763,
+ "pc": [
+ 3108
+ ]
+ },
+ {
+ "teal": 2987,
+ "source": 763,
+ "pc": [
+ 3109
+ ]
+ },
+ {
+ "teal": 2988,
+ "source": 763,
+ "pc": [
+ 3110
+ ]
+ },
+ {
+ "teal": 2989,
+ "source": 763,
+ "pc": [
+ 3111,
+ 3112
+ ]
+ },
+ {
+ "teal": 2993,
+ "source": 764,
+ "pc": [
+ 3113,
+ 3114
+ ]
+ },
+ {
+ "teal": 2994,
+ "source": 764,
+ "pc": [
+ 3115,
+ 3116
+ ]
+ },
+ {
+ "teal": 2995,
+ "source": 764,
+ "pc": [
+ 3117
+ ]
+ },
+ {
+ "teal": 2996,
+ "source": 764,
+ "pc": [
+ 3118,
+ 3119
+ ]
+ },
+ {
+ "teal": 3002,
+ "source": 766,
+ "pc": [
+ 3120,
+ 3121
+ ]
+ },
+ {
+ "teal": 3003,
+ "source": 766,
+ "pc": [
+ 3122
+ ]
+ },
+ {
+ "teal": 3004,
+ "source": 766,
+ "pc": [
+ 3123
+ ]
+ },
+ {
+ "teal": 3005,
+ "source": 766,
+ "pc": [
+ 3124,
+ 3125,
+ 3126
+ ]
+ },
+ {
+ "teal": 3013,
+ "source": 769,
+ "pc": [
+ 3127,
+ 3128
+ ]
+ },
+ {
+ "teal": 3014,
+ "source": 769,
+ "pc": [
+ 3129,
+ 3130,
+ 3131
+ ]
+ },
+ {
+ "teal": 3015,
+ "source": 769,
+ "pc": [
+ 3132
+ ]
+ },
+ {
+ "teal": 3016,
+ "source": 769,
+ "pc": [
+ 3133,
+ 3134
+ ]
+ },
+ {
+ "teal": 3017,
+ "source": 768,
+ "pc": [
+ 3135
+ ]
+ },
+ {
+ "teal": 3018,
+ "source": 769,
+ "pc": [
+ 3136,
+ 3137
+ ]
+ },
+ {
+ "teal": 3019,
+ "source": 768,
+ "pc": [
+ 3138,
+ 3139
+ ]
+ },
+ {
+ "teal": 3020,
+ "source": 768,
+ "pc": [
+ 3140,
+ 3141
+ ]
+ },
+ {
+ "teal": 3021,
+ "source": 768,
+ "pc": [
+ 3142
+ ]
+ },
+ {
+ "teal": 3022,
+ "source": 768,
+ "pc": [
+ 3143,
+ 3144
+ ]
+ },
+ {
+ "teal": 3023,
+ "source": 768,
+ "pc": [
+ 3145
+ ]
+ },
+ {
+ "teal": 3024,
+ "source": 768,
+ "pc": [
+ 3146,
+ 3147
+ ]
+ },
+ {
+ "teal": 3025,
+ "source": 768,
+ "pc": [
+ 3148
+ ]
+ },
+ {
+ "teal": 3026,
+ "source": 768,
+ "pc": [
+ 3149
+ ]
+ },
+ {
+ "teal": 3027,
+ "source": 770,
+ "pc": [
+ 3150,
+ 3151
+ ]
+ },
+ {
+ "teal": 3028,
+ "source": 770,
+ "pc": [
+ 3152
+ ]
+ },
+ {
+ "teal": 3029,
+ "source": 770,
+ "pc": [
+ 3153,
+ 3154
+ ]
+ },
+ {
+ "teal": 3030,
+ "source": 768,
+ "pc": [
+ 3155
+ ]
+ },
+ {
+ "teal": 3031,
+ "source": 768,
+ "pc": [
+ 3156
+ ]
+ },
+ {
+ "teal": 3032,
+ "source": 768,
+ "pc": [
+ 3157
+ ]
+ },
+ {
+ "teal": 3033,
+ "source": 768,
+ "pc": [
+ 3158
+ ]
+ },
+ {
+ "teal": 3034,
+ "source": 768,
+ "pc": [
+ 3159
+ ]
+ },
+ {
+ "teal": 3035,
+ "source": 768,
+ "pc": [
+ 3160
+ ]
+ },
+ {
+ "teal": 3038,
+ "source": 768,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 3161
+ ]
+ },
+ {
+ "teal": 3039,
+ "source": 768,
+ "pc": [
+ 3162,
+ 3163
+ ]
+ },
+ {
+ "teal": 3043,
+ "source": 775,
+ "pc": [
+ 3164,
+ 3165
+ ]
+ },
+ {
+ "teal": 3044,
+ "source": 775,
+ "pc": [
+ 3166,
+ 3167
+ ]
+ },
+ {
+ "teal": 3045,
+ "source": 775,
+ "pc": [
+ 3168
+ ]
+ },
+ {
+ "teal": 3046,
+ "source": 775,
+ "pc": [
+ 3169,
+ 3170
+ ]
+ },
+ {
+ "teal": 3050,
+ "source": 778,
+ "pc": [
+ 3171,
+ 3172
+ ]
+ },
+ {
+ "teal": 3051,
+ "source": 778,
+ "pc": [
+ 3173,
+ 3174
+ ]
+ },
+ {
+ "teal": 3052,
+ "source": 778,
+ "pc": [
+ 3175,
+ 3176
+ ]
+ },
+ {
+ "teal": 3053,
+ "source": 778,
+ "pc": [
+ 3177,
+ 3178,
+ 3179
+ ]
+ },
+ {
+ "teal": 3054,
+ "source": 778,
+ "pc": [
+ 3180
+ ]
+ },
+ {
+ "teal": 3055,
+ "source": 778,
+ "pc": [
+ 3181,
+ 3182
+ ]
+ },
+ {
+ "teal": 3056,
+ "source": 778,
+ "pc": [
+ 3183
+ ]
+ },
+ {
+ "teal": 3057,
+ "source": 778,
+ "pc": [
+ 3184
+ ]
+ },
+ {
+ "teal": 3058,
+ "source": 778,
+ "pc": [
+ 3185
+ ]
+ },
+ {
+ "teal": 3059,
+ "source": 778,
+ "pc": [
+ 3186,
+ 3187
+ ]
+ },
+ {
+ "teal": 3063,
+ "source": 779,
+ "pc": [
+ 3188,
+ 3189
+ ]
+ },
+ {
+ "teal": 3064,
+ "source": 779,
+ "pc": [
+ 3190,
+ 3191
+ ]
+ },
+ {
+ "teal": 3065,
+ "source": 779,
+ "pc": [
+ 3192,
+ 3193
+ ]
+ },
+ {
+ "teal": 3066,
+ "source": 779,
+ "pc": [
+ 3194,
+ 3195,
+ 3196
+ ]
+ },
+ {
+ "teal": 3067,
+ "source": 779,
+ "pc": [
+ 3197
+ ]
+ },
+ {
+ "teal": 3068,
+ "source": 779,
+ "pc": [
+ 3198,
+ 3199
+ ]
+ },
+ {
+ "teal": 3069,
+ "source": 779,
+ "pc": [
+ 3200
+ ]
+ },
+ {
+ "teal": 3070,
+ "source": 779,
+ "pc": [
+ 3201
+ ]
+ },
+ {
+ "teal": 3071,
+ "source": 779,
+ "pc": [
+ 3202
+ ]
+ },
+ {
+ "teal": 3072,
+ "source": 779,
+ "pc": [
+ 3203,
+ 3204
+ ]
+ },
+ {
+ "teal": 3076,
+ "source": 780,
+ "pc": [
+ 3205,
+ 3206
+ ]
+ },
+ {
+ "teal": 3077,
+ "source": 780,
+ "pc": [
+ 3207,
+ 3208
+ ]
+ },
+ {
+ "teal": 3078,
+ "source": 780,
+ "pc": [
+ 3209
+ ]
+ },
+ {
+ "teal": 3079,
+ "source": 780,
+ "pc": [
+ 3210,
+ 3211
+ ]
+ },
+ {
+ "teal": 3084,
+ "source": 783,
+ "pc": [
+ 3212,
+ 3213
+ ]
+ },
+ {
+ "teal": 3085,
+ "source": 783,
+ "pc": [
+ 3214
+ ]
+ },
+ {
+ "teal": 3086,
+ "source": 783,
+ "pc": [
+ 3215
+ ]
+ },
+ {
+ "teal": 3087,
+ "source": 783,
+ "pc": [
+ 3216,
+ 3217
+ ]
+ },
+ {
+ "teal": 3088,
+ "source": 783,
+ "pc": [
+ 3218
+ ]
+ },
+ {
+ "teal": 3089,
+ "source": 783,
+ "pc": [
+ 3219,
+ 3220
+ ]
+ },
+ {
+ "teal": 3090,
+ "source": 783,
+ "pc": [
+ 3221
+ ]
+ },
+ {
+ "teal": 3101,
+ "source": 732,
+ "pc": [
+ 3222,
+ 3223
+ ]
+ },
+ {
+ "teal": 3102,
+ "source": 732,
+ "pc": [
+ 3224
+ ]
+ },
+ {
+ "teal": 3103,
+ "source": 732,
+ "pc": [
+ 3225
+ ]
+ },
+ {
+ "teal": 3104,
+ "source": 732,
+ "pc": [
+ 3226,
+ 3227
+ ]
+ },
+ {
+ "teal": 3105,
+ "source": 732,
+ "pc": [
+ 3228,
+ 3229,
+ 3230
+ ]
+ },
+ {
+ "teal": 3110,
+ "source": 791,
+ "pc": [
+ 3231,
+ 3232
+ ]
+ },
+ {
+ "teal": 3111,
+ "source": 791,
+ "pc": [
+ 3233
+ ]
+ },
+ {
+ "teal": 3112,
+ "source": 791,
+ "pc": [
+ 3234,
+ 3235
+ ]
+ },
+ {
+ "teal": 3113,
+ "source": 791,
+ "pc": [
+ 3236
+ ]
+ },
+ {
+ "teal": 3114,
+ "source": 791,
+ "pc": [
+ 3237,
+ 3238
+ ]
+ },
+ {
+ "teal": 3119,
+ "source": 795,
+ "pc": [
+ 3239,
+ 3240
+ ]
+ },
+ {
+ "teal": 3120,
+ "source": 795,
+ "pc": [
+ 3241
+ ]
+ },
+ {
+ "teal": 3121,
+ "source": 795,
+ "pc": [
+ 3242
+ ]
+ },
+ {
+ "teal": 3122,
+ "source": 795,
+ "pc": [
+ 3243,
+ 3244,
+ 3245
+ ]
+ },
+ {
+ "teal": 3127,
+ "source": 797,
+ "pc": [
+ 3246
+ ]
+ },
+ {
+ "teal": 3128,
+ "source": 797,
+ "pc": [
+ 3247,
+ 3248
+ ]
+ },
+ {
+ "teal": 3133,
+ "source": 797,
+ "pc": [
+ 3249,
+ 3250
+ ]
+ },
+ {
+ "teal": 3134,
+ "source": 797,
+ "pc": [
+ 3251,
+ 3252
+ ]
+ },
+ {
+ "teal": 3135,
+ "source": 797,
+ "pc": [
+ 3253
+ ]
+ },
+ {
+ "teal": 3136,
+ "source": 797,
+ "pc": [
+ 3254,
+ 3255,
+ 3256
+ ]
+ },
+ {
+ "teal": 3141,
+ "source": 798,
+ "pc": [
+ 3257,
+ 3258
+ ]
+ },
+ {
+ "teal": 3142,
+ "source": 798,
+ "pc": [
+ 3259,
+ 3260
+ ]
+ },
+ {
+ "teal": 3143,
+ "source": 798,
+ "pc": [
+ 3261
+ ]
+ },
+ {
+ "teal": 3144,
+ "source": 798,
+ "pc": [
+ 3262,
+ 3263,
+ 3264
+ ]
+ },
+ {
+ "teal": 3149,
+ "source": 799,
+ "pc": [
+ 3265
+ ]
+ },
+ {
+ "teal": 3150,
+ "source": 799,
+ "pc": [
+ 3266
+ ]
+ },
+ {
+ "teal": 3151,
+ "source": 799,
+ "pc": [
+ 3267,
+ 3268
+ ]
+ },
+ {
+ "teal": 3152,
+ "source": 799,
+ "pc": [
+ 3269
+ ]
+ },
+ {
+ "teal": 3153,
+ "source": 799,
+ "pc": [
+ 3270,
+ 3271
+ ]
+ },
+ {
+ "teal": 3154,
+ "source": 799,
+ "pc": [
+ 3272,
+ 3273
+ ]
+ },
+ {
+ "teal": 3155,
+ "source": 799,
+ "pc": [
+ 3274
+ ]
+ },
+ {
+ "teal": 3156,
+ "source": 799,
+ "pc": [
+ 3275,
+ 3276
+ ]
+ },
+ {
+ "teal": 3157,
+ "source": 799,
+ "pc": [
+ 3277,
+ 3278
+ ]
+ },
+ {
+ "teal": 3158,
+ "source": 799,
+ "pc": [
+ 3279,
+ 3280
+ ]
+ },
+ {
+ "teal": 3159,
+ "source": 799,
+ "pc": [
+ 3281,
+ 3282
+ ]
+ },
+ {
+ "teal": 3160,
+ "source": 799,
+ "pc": [
+ 3283
+ ]
+ },
+ {
+ "teal": 3165,
+ "source": 801,
+ "pc": [
+ 3284,
+ 3285
+ ]
+ },
+ {
+ "teal": 3166,
+ "source": 801,
+ "pc": [
+ 3286
+ ]
+ },
+ {
+ "teal": 3167,
+ "source": 801,
+ "pc": [
+ 3287
+ ]
+ },
+ {
+ "teal": 3168,
+ "source": 801,
+ "pc": [
+ 3288
+ ]
+ },
+ {
+ "teal": 3169,
+ "source": 801,
+ "pc": [
+ 3289
+ ]
+ },
+ {
+ "teal": 3170,
+ "source": 801,
+ "pc": [
+ 3290,
+ 3291
+ ]
+ },
+ {
+ "teal": 3171,
+ "source": 801,
+ "pc": [
+ 3292
+ ]
+ },
+ {
+ "teal": 3172,
+ "source": 801,
+ "pc": [
+ 3293,
+ 3294
+ ]
+ },
+ {
+ "teal": 3177,
+ "source": 802,
+ "pc": [
+ 3295,
+ 3296
+ ]
+ },
+ {
+ "teal": 3178,
+ "source": 802,
+ "pc": [
+ 3297,
+ 3298,
+ 3299
+ ]
+ },
+ {
+ "teal": 3179,
+ "source": 802,
+ "pc": [
+ 3300,
+ 3301
+ ]
+ },
+ {
+ "teal": 3180,
+ "source": 802,
+ "pc": [
+ 3302
+ ]
+ },
+ {
+ "teal": 3181,
+ "source": 802,
+ "pc": [
+ 3303
+ ]
+ },
+ {
+ "teal": 3182,
+ "source": 802,
+ "pc": [
+ 3304,
+ 3305,
+ 3306
+ ]
+ },
+ {
+ "teal": 3183,
+ "source": 802,
+ "pc": [
+ 3307,
+ 3308
+ ]
+ },
+ {
+ "teal": 3184,
+ "source": 802,
+ "pc": [
+ 3309,
+ 3310,
+ 3311
+ ]
+ },
+ {
+ "teal": 3185,
+ "source": 802,
+ "pc": [
+ 3312
+ ]
+ },
+ {
+ "teal": 3186,
+ "source": 802,
+ "pc": [
+ 3313,
+ 3314
+ ]
+ },
+ {
+ "teal": 3187,
+ "source": 802,
+ "pc": [
+ 3315
+ ]
+ },
+ {
+ "teal": 3188,
+ "source": 802,
+ "pc": [
+ 3316
+ ]
+ },
+ {
+ "teal": 3191,
+ "source": 802,
+ "pc": [
+ 3317,
+ 3318,
+ 3319
+ ]
+ },
+ {
+ "teal": 3196,
+ "source": 803,
+ "pc": [
+ 3320,
+ 3321
+ ]
+ },
+ {
+ "teal": 3197,
+ "source": 803,
+ "pc": [
+ 3322,
+ 3323
+ ]
+ },
+ {
+ "teal": 3198,
+ "source": 803,
+ "pc": [
+ 3324,
+ 3325,
+ 3326
+ ]
+ },
+ {
+ "teal": 3199,
+ "source": 803,
+ "pc": [
+ 3327
+ ]
+ },
+ {
+ "teal": 3200,
+ "source": 803,
+ "pc": [
+ 3328
+ ]
+ },
+ {
+ "teal": 3201,
+ "source": 803,
+ "pc": [
+ 3329,
+ 3330
+ ]
+ },
+ {
+ "teal": 3206,
+ "source": 805,
+ "pc": [
+ 3331,
+ 3332
+ ]
+ },
+ {
+ "teal": 3207,
+ "source": 805,
+ "pc": [
+ 3333,
+ 3334
+ ]
+ },
+ {
+ "teal": 3208,
+ "source": 805,
+ "pc": [
+ 3335
+ ]
+ },
+ {
+ "teal": 3209,
+ "source": 805,
+ "pc": [
+ 3336,
+ 3337,
+ 3338
+ ]
+ },
+ {
+ "teal": 3215,
+ "source": 810,
+ "pc": [
+ 3339,
+ 3340
+ ]
+ },
+ {
+ "teal": 3216,
+ "source": 810,
+ "pc": [
+ 3341
+ ]
+ },
+ {
+ "teal": 3217,
+ "source": 810,
+ "pc": [
+ 3342
+ ]
+ },
+ {
+ "teal": 3218,
+ "source": 810,
+ "pc": [
+ 3343,
+ 3344,
+ 3345
+ ]
+ },
+ {
+ "teal": 3223,
+ "source": 811,
+ "pc": [
+ 3346,
+ 3347
+ ]
+ },
+ {
+ "teal": 3224,
+ "source": 811,
+ "pc": [
+ 3348,
+ 3349,
+ 3350
+ ]
+ },
+ {
+ "teal": 3225,
+ "source": 811,
+ "pc": [
+ 3351
+ ]
+ },
+ {
+ "teal": 3226,
+ "source": 811,
+ "pc": [
+ 3352,
+ 3353
+ ]
+ },
+ {
+ "teal": 3227,
+ "source": 811,
+ "pc": [
+ 3354
+ ]
+ },
+ {
+ "teal": 3228,
+ "source": 811,
+ "pc": [
+ 3355
+ ]
+ },
+ {
+ "teal": 3229,
+ "source": 811,
+ "pc": [
+ 3356,
+ 3357
+ ]
+ },
+ {
+ "teal": 3230,
+ "source": 811,
+ "pc": [
+ 3358
+ ]
+ },
+ {
+ "teal": 3231,
+ "source": 811,
+ "pc": [
+ 3359
+ ]
+ },
+ {
+ "teal": 3232,
+ "source": 811,
+ "pc": [
+ 3360
+ ]
+ },
+ {
+ "teal": 3233,
+ "source": 811,
+ "pc": [
+ 3361
+ ]
+ },
+ {
+ "teal": 3234,
+ "source": 811,
+ "pc": [
+ 3362
+ ]
+ },
+ {
+ "teal": 3237,
+ "source": 811,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 3363
+ ]
+ },
+ {
+ "teal": 3238,
+ "source": 811,
+ "pc": [
+ 3364,
+ 3365
+ ]
+ },
+ {
+ "teal": 3242,
+ "source": 814,
+ "pc": [
+ 3366,
+ 3367
+ ]
+ },
+ {
+ "teal": 3243,
+ "source": 814,
+ "pc": [
+ 3368,
+ 3369
+ ]
+ },
+ {
+ "teal": 3244,
+ "source": 814,
+ "pc": [
+ 3370,
+ 3371
+ ]
+ },
+ {
+ "teal": 3245,
+ "source": 814,
+ "pc": [
+ 3372,
+ 3373,
+ 3374
+ ]
+ },
+ {
+ "teal": 3246,
+ "source": 814,
+ "pc": [
+ 3375
+ ]
+ },
+ {
+ "teal": 3247,
+ "source": 814,
+ "pc": [
+ 3376,
+ 3377
+ ]
+ },
+ {
+ "teal": 3248,
+ "source": 814,
+ "pc": [
+ 3378
+ ]
+ },
+ {
+ "teal": 3249,
+ "source": 814,
+ "pc": [
+ 3379
+ ]
+ },
+ {
+ "teal": 3250,
+ "source": 814,
+ "pc": [
+ 3380
+ ]
+ },
+ {
+ "teal": 3251,
+ "source": 814,
+ "pc": [
+ 3381,
+ 3382
+ ]
+ },
+ {
+ "teal": 3255,
+ "source": 815,
+ "pc": [
+ 3383,
+ 3384
+ ]
+ },
+ {
+ "teal": 3256,
+ "source": 815,
+ "pc": [
+ 3385,
+ 3386
+ ]
+ },
+ {
+ "teal": 3257,
+ "source": 815,
+ "pc": [
+ 3387
+ ]
+ },
+ {
+ "teal": 3258,
+ "source": 815,
+ "pc": [
+ 3388,
+ 3389
+ ]
+ },
+ {
+ "teal": 3264,
+ "source": 817,
+ "pc": [
+ 3390,
+ 3391
+ ]
+ },
+ {
+ "teal": 3265,
+ "source": 817,
+ "pc": [
+ 3392
+ ]
+ },
+ {
+ "teal": 3266,
+ "source": 817,
+ "pc": [
+ 3393
+ ]
+ },
+ {
+ "teal": 3267,
+ "source": 817,
+ "pc": [
+ 3394,
+ 3395,
+ 3396
+ ]
+ },
+ {
+ "teal": 3272,
+ "source": 818,
+ "pc": [
+ 3397,
+ 3398
+ ]
+ },
+ {
+ "teal": 3273,
+ "source": 818,
+ "pc": [
+ 3399,
+ 3400,
+ 3401
+ ]
+ },
+ {
+ "teal": 3274,
+ "source": 818,
+ "pc": [
+ 3402
+ ]
+ },
+ {
+ "teal": 3275,
+ "source": 818,
+ "pc": [
+ 3403,
+ 3404
+ ]
+ },
+ {
+ "teal": 3276,
+ "source": 818,
+ "pc": [
+ 3405
+ ]
+ },
+ {
+ "teal": 3277,
+ "source": 818,
+ "pc": [
+ 3406
+ ]
+ },
+ {
+ "teal": 3278,
+ "source": 818,
+ "pc": [
+ 3407,
+ 3408
+ ]
+ },
+ {
+ "teal": 3279,
+ "source": 818,
+ "pc": [
+ 3409
+ ]
+ },
+ {
+ "teal": 3280,
+ "source": 818,
+ "pc": [
+ 3410
+ ]
+ },
+ {
+ "teal": 3281,
+ "source": 818,
+ "pc": [
+ 3411
+ ]
+ },
+ {
+ "teal": 3282,
+ "source": 818,
+ "pc": [
+ 3412
+ ]
+ },
+ {
+ "teal": 3283,
+ "source": 818,
+ "pc": [
+ 3413
+ ]
+ },
+ {
+ "teal": 3286,
+ "source": 818,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 3414
+ ]
+ },
+ {
+ "teal": 3287,
+ "source": 818,
+ "pc": [
+ 3415,
+ 3416
+ ]
+ },
+ {
+ "teal": 3291,
+ "source": 821,
+ "pc": [
+ 3417,
+ 3418
+ ]
+ },
+ {
+ "teal": 3292,
+ "source": 821,
+ "pc": [
+ 3419,
+ 3420
+ ]
+ },
+ {
+ "teal": 3293,
+ "source": 821,
+ "pc": [
+ 3421,
+ 3422
+ ]
+ },
+ {
+ "teal": 3294,
+ "source": 821,
+ "pc": [
+ 3423,
+ 3424,
+ 3425
+ ]
+ },
+ {
+ "teal": 3295,
+ "source": 821,
+ "pc": [
+ 3426
+ ]
+ },
+ {
+ "teal": 3296,
+ "source": 821,
+ "pc": [
+ 3427,
+ 3428
+ ]
+ },
+ {
+ "teal": 3297,
+ "source": 821,
+ "pc": [
+ 3429
+ ]
+ },
+ {
+ "teal": 3298,
+ "source": 821,
+ "pc": [
+ 3430
+ ]
+ },
+ {
+ "teal": 3299,
+ "source": 821,
+ "pc": [
+ 3431
+ ]
+ },
+ {
+ "teal": 3300,
+ "source": 821,
+ "pc": [
+ 3432,
+ 3433
+ ]
+ },
+ {
+ "teal": 3304,
+ "source": 822,
+ "pc": [
+ 3434,
+ 3435
+ ]
+ },
+ {
+ "teal": 3305,
+ "source": 822,
+ "pc": [
+ 3436,
+ 3437
+ ]
+ },
+ {
+ "teal": 3306,
+ "source": 822,
+ "pc": [
+ 3438,
+ 3439
+ ]
+ },
+ {
+ "teal": 3307,
+ "source": 822,
+ "pc": [
+ 3440,
+ 3441,
+ 3442
+ ]
+ },
+ {
+ "teal": 3308,
+ "source": 822,
+ "pc": [
+ 3443
+ ]
+ },
+ {
+ "teal": 3309,
+ "source": 822,
+ "pc": [
+ 3444,
+ 3445
+ ]
+ },
+ {
+ "teal": 3310,
+ "source": 822,
+ "pc": [
+ 3446
+ ]
+ },
+ {
+ "teal": 3311,
+ "source": 822,
+ "pc": [
+ 3447
+ ]
+ },
+ {
+ "teal": 3312,
+ "source": 822,
+ "pc": [
+ 3448
+ ]
+ },
+ {
+ "teal": 3313,
+ "source": 822,
+ "pc": [
+ 3449,
+ 3450
+ ]
+ },
+ {
+ "teal": 3317,
+ "source": 823,
+ "pc": [
+ 3451,
+ 3452
+ ]
+ },
+ {
+ "teal": 3318,
+ "source": 823,
+ "pc": [
+ 3453,
+ 3454
+ ]
+ },
+ {
+ "teal": 3319,
+ "source": 823,
+ "pc": [
+ 3455
+ ]
+ },
+ {
+ "teal": 3320,
+ "source": 823,
+ "pc": [
+ 3456,
+ 3457
+ ]
+ },
+ {
+ "teal": 3325,
+ "source": 827,
+ "pc": [
+ 3458,
+ 3459
+ ]
+ },
+ {
+ "teal": 3326,
+ "source": 827,
+ "pc": [
+ 3460
+ ]
+ },
+ {
+ "teal": 3327,
+ "source": 827,
+ "pc": [
+ 3461
+ ]
+ },
+ {
+ "teal": 3328,
+ "source": 827,
+ "pc": [
+ 3462,
+ 3463
+ ]
+ },
+ {
+ "teal": 3329,
+ "source": 827,
+ "pc": [
+ 3464
+ ]
+ },
+ {
+ "teal": 3330,
+ "source": 827,
+ "pc": [
+ 3465,
+ 3466
+ ]
+ },
+ {
+ "teal": 3331,
+ "source": 827,
+ "pc": [
+ 3467
+ ]
+ },
+ {
+ "teal": 3340,
+ "source": 797,
+ "pc": [
+ 3468,
+ 3469
+ ]
+ },
+ {
+ "teal": 3341,
+ "source": 797,
+ "pc": [
+ 3470
+ ]
+ },
+ {
+ "teal": 3342,
+ "source": 797,
+ "pc": [
+ 3471
+ ]
+ },
+ {
+ "teal": 3343,
+ "source": 797,
+ "pc": [
+ 3472,
+ 3473
+ ]
+ },
+ {
+ "teal": 3344,
+ "source": 797,
+ "pc": [
+ 3474,
+ 3475,
+ 3476
+ ]
+ },
+ {
+ "teal": 3353,
+ "source": 837,
+ "pc": [
+ 3477,
+ 3478
+ ]
+ },
+ {
+ "teal": 3354,
+ "source": 837,
+ "pc": [
+ 3479
+ ]
+ },
+ {
+ "teal": 3355,
+ "source": 837,
+ "pc": [
+ 3480,
+ 3481
+ ]
+ },
+ {
+ "teal": 3356,
+ "source": 837,
+ "pc": [
+ 3482
+ ]
+ },
+ {
+ "teal": 3357,
+ "source": 837,
+ "pc": [
+ 3483
+ ]
+ },
+ {
+ "teal": 3358,
+ "source": 837,
+ "pc": [
+ 3484,
+ 3485
+ ]
+ },
+ {
+ "teal": 3359,
+ "source": 837,
+ "pc": [
+ 3486
+ ]
+ },
+ {
+ "teal": 3360,
+ "source": 837,
+ "pc": [
+ 3487,
+ 3488
+ ]
+ },
+ {
+ "teal": 3364,
+ "source": 838,
+ "pc": [
+ 3489,
+ 3490
+ ]
+ },
+ {
+ "teal": 3365,
+ "source": 838,
+ "pc": [
+ 3491
+ ]
+ },
+ {
+ "teal": 3366,
+ "source": 838,
+ "pc": [
+ 3492,
+ 3493
+ ]
+ },
+ {
+ "teal": 3367,
+ "source": 838,
+ "pc": [
+ 3494
+ ]
+ },
+ {
+ "teal": 3368,
+ "source": 838,
+ "pc": [
+ 3495,
+ 3496
+ ]
+ },
+ {
+ "teal": 3369,
+ "source": 838,
+ "pc": [
+ 3497
+ ]
+ },
+ {
+ "teal": 3370,
+ "source": 838,
+ "pc": [
+ 3498
+ ]
+ },
+ {
+ "teal": 3375,
+ "source": 839,
+ "pc": [
+ 3499,
+ 3500
+ ]
+ },
+ {
+ "teal": 3376,
+ "source": 839,
+ "pc": [
+ 3501
+ ]
+ },
+ {
+ "teal": 3377,
+ "source": 840,
+ "pc": [
+ 3502
+ ]
+ },
+ {
+ "teal": 3378,
+ "source": 840,
+ "pc": [
+ 3503,
+ 3504
+ ]
+ },
+ {
+ "teal": 3379,
+ "source": 840,
+ "pc": [
+ 3505
+ ]
+ },
+ {
+ "teal": 3380,
+ "source": 840,
+ "pc": [
+ 3506,
+ 3507
+ ]
+ },
+ {
+ "teal": 3381,
+ "source": 840,
+ "pc": [
+ 3508
+ ]
+ },
+ {
+ "teal": 3382,
+ "source": 840,
+ "pc": [
+ 3509
+ ]
+ },
+ {
+ "teal": 3383,
+ "source": 840,
+ "pc": [
+ 3510
+ ]
+ },
+ {
+ "teal": 3384,
+ "source": 840,
+ "pc": [
+ 3511
+ ]
+ },
+ {
+ "teal": 3385,
+ "source": 840,
+ "pc": [
+ 3512
+ ]
+ },
+ {
+ "teal": 3386,
+ "source": 840,
+ "pc": [
+ 3513,
+ 3514
+ ]
+ },
+ {
+ "teal": 3387,
+ "source": 840,
+ "pc": [
+ 3515
+ ]
+ },
+ {
+ "teal": 3390,
+ "source": 840,
+ "errorMessage": "this.stakeAccumulator.value + (increasedStake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits",
+ "pc": [
+ 3516
+ ]
+ },
+ {
+ "teal": 3391,
+ "source": 840,
+ "pc": [
+ 3517,
+ 3518
+ ]
+ },
+ {
+ "teal": 3392,
+ "source": 840,
+ "pc": [
+ 3519
+ ]
+ },
+ {
+ "teal": 3393,
+ "source": 840,
+ "pc": [
+ 3520
+ ]
+ },
+ {
+ "teal": 3394,
+ "source": 840,
+ "pc": [
+ 3521
+ ]
+ },
+ {
+ "teal": 3395,
+ "source": 840,
+ "pc": [
+ 3522
+ ]
+ },
+ {
+ "teal": 3396,
+ "source": 840,
+ "pc": [
+ 3523,
+ 3524
+ ]
+ },
+ {
+ "teal": 3397,
+ "source": 840,
+ "pc": [
+ 3525
+ ]
+ },
+ {
+ "teal": 3398,
+ "source": 840,
+ "pc": [
+ 3526
+ ]
+ },
+ {
+ "teal": 3399,
+ "source": 840,
+ "pc": [
+ 3527
+ ]
+ },
+ {
+ "teal": 3400,
+ "source": 839,
+ "pc": [
+ 3528
+ ]
+ },
+ {
+ "teal": 3404,
+ "source": 841,
+ "pc": [
+ 3529,
+ 3530
+ ]
+ },
+ {
+ "teal": 3405,
+ "source": 841,
+ "pc": [
+ 3531
+ ]
+ },
+ {
+ "teal": 3406,
+ "source": 841,
+ "pc": [
+ 3532
+ ]
+ },
+ {
+ "teal": 3407,
+ "source": 841,
+ "pc": [
+ 3533,
+ 3534
+ ]
+ },
+ {
+ "teal": 3408,
+ "source": 841,
+ "pc": [
+ 3535
+ ]
+ },
+ {
+ "teal": 3409,
+ "source": 841,
+ "pc": [
+ 3536
+ ]
+ },
+ {
+ "teal": 3422,
+ "source": 847,
+ "pc": [
+ 3537
+ ]
+ },
+ {
+ "teal": 3423,
+ "source": 847,
+ "pc": [
+ 3538
+ ]
+ },
+ {
+ "teal": 3424,
+ "source": 847,
+ "pc": [
+ 3539,
+ 3540
+ ]
+ },
+ {
+ "teal": 3425,
+ "source": 847,
+ "pc": [
+ 3541,
+ 3542,
+ 3543,
+ 3544,
+ 3545,
+ 3546
+ ]
+ },
+ {
+ "teal": 3426,
+ "source": 847,
+ "pc": [
+ 3547,
+ 3548
+ ]
+ },
+ {
+ "teal": 3430,
+ "source": 848,
+ "pc": [
+ 3549
+ ]
+ },
+ {
+ "teal": 3431,
+ "source": 848,
+ "pc": [
+ 3550
+ ]
+ },
+ {
+ "teal": 3432,
+ "source": 848,
+ "pc": [
+ 3551,
+ 3552
+ ]
+ },
+ {
+ "teal": 3442,
+ "source": 850,
+ "pc": [
+ 3553
+ ]
+ },
+ {
+ "teal": 3443,
+ "source": 850,
+ "pc": [
+ 3554
+ ]
+ },
+ {
+ "teal": 3444,
+ "source": 850,
+ "pc": [
+ 3555
+ ]
+ },
+ {
+ "teal": 3445,
+ "source": 850,
+ "pc": [
+ 3556
+ ]
+ },
+ {
+ "teal": 3446,
+ "source": 850,
+ "pc": [
+ 3557
+ ]
+ },
+ {
+ "teal": 3447,
+ "source": 850,
+ "pc": [
+ 3558
+ ]
+ },
+ {
+ "teal": 3448,
+ "source": 850,
+ "pc": [
+ 3559
+ ]
+ },
+ {
+ "teal": 3449,
+ "source": 850,
+ "pc": [
+ 3560,
+ 3561,
+ 3562
+ ]
+ },
+ {
+ "teal": 3450,
+ "source": 850,
+ "pc": [
+ 3563
+ ]
+ },
+ {
+ "teal": 3451,
+ "source": 850,
+ "pc": [
+ 3564
+ ]
+ },
+ {
+ "teal": 3452,
+ "source": 850,
+ "pc": [
+ 3565,
+ 3566
+ ]
+ },
+ {
+ "teal": 3453,
+ "source": 851,
+ "pc": [
+ 3567,
+ 3568
+ ]
+ },
+ {
+ "teal": 3454,
+ "source": 851,
+ "pc": [
+ 3569
+ ]
+ },
+ {
+ "teal": 3455,
+ "source": 851,
+ "pc": [
+ 3570,
+ 3571
+ ]
+ },
+ {
+ "teal": 3456,
+ "source": 852,
+ "pc": [
+ 3572,
+ 3573
+ ]
+ },
+ {
+ "teal": 3457,
+ "source": 852,
+ "pc": [
+ 3574
+ ]
+ },
+ {
+ "teal": 3458,
+ "source": 852,
+ "pc": [
+ 3575,
+ 3576
+ ]
+ },
+ {
+ "teal": 3459,
+ "source": 853,
+ "pc": [
+ 3577,
+ 3578
+ ]
+ },
+ {
+ "teal": 3460,
+ "source": 853,
+ "pc": [
+ 3579
+ ]
+ },
+ {
+ "teal": 3461,
+ "source": 853,
+ "pc": [
+ 3580,
+ 3581
+ ]
+ },
+ {
+ "teal": 3462,
+ "source": 854,
+ "pc": [
+ 3582,
+ 3583
+ ]
+ },
+ {
+ "teal": 3463,
+ "source": 854,
+ "pc": [
+ 3584
+ ]
+ },
+ {
+ "teal": 3464,
+ "source": 854,
+ "pc": [
+ 3585,
+ 3586
+ ]
+ },
+ {
+ "teal": 3467,
+ "source": 847,
+ "pc": [
+ 3587
+ ]
+ },
+ {
+ "teal": 3468,
+ "source": 847,
+ "pc": [
+ 3588,
+ 3589
+ ]
+ },
+ {
+ "teal": 3471,
+ "source": 847,
+ "pc": [
+ 3590
+ ]
+ },
+ {
+ "teal": 3472,
+ "source": 518,
+ "pc": [
+ 3591
+ ]
+ },
+ {
+ "teal": 3477,
+ "source": 879,
+ "pc": [
+ 3592,
+ 3593,
+ 3594
+ ]
+ },
+ {
+ "teal": 3478,
+ "source": 879,
+ "pc": [
+ 3595
+ ]
+ },
+ {
+ "teal": 3481,
+ "source": 878,
+ "pc": [
+ 3596,
+ 3597,
+ 3598
+ ]
+ },
+ {
+ "teal": 3482,
+ "source": 878,
+ "pc": [
+ 3599
+ ]
+ },
+ {
+ "teal": 3485,
+ "source": 877,
+ "pc": [
+ 3600,
+ 3601,
+ 3602
+ ]
+ },
+ {
+ "teal": 3486,
+ "source": 877,
+ "pc": [
+ 3603
+ ]
+ },
+ {
+ "teal": 3489,
+ "source": 876,
+ "pc": [
+ 3604,
+ 3605,
+ 3606
+ ]
+ },
+ {
+ "teal": 3490,
+ "source": 876,
+ "pc": [
+ 3607,
+ 3608,
+ 3609
+ ]
+ },
+ {
+ "teal": 3493,
+ "source": 875,
+ "pc": [
+ 3610,
+ 3611,
+ 3612
+ ]
+ },
+ {
+ "teal": 3494,
+ "source": 875,
+ "pc": [
+ 3613,
+ 3614,
+ 3615
+ ]
+ },
+ {
+ "teal": 3497,
+ "source": 874,
+ "pc": [
+ 3616,
+ 3617,
+ 3618
+ ]
+ },
+ {
+ "teal": 3498,
+ "source": 874,
+ "pc": [
+ 3619,
+ 3620,
+ 3621
+ ]
+ },
+ {
+ "teal": 3501,
+ "source": 873,
+ "pc": [
+ 3622,
+ 3623
+ ]
+ },
+ {
+ "teal": 3502,
+ "source": 873,
+ "pc": [
+ 3624
+ ]
+ },
+ {
+ "teal": 3503,
+ "source": 873,
+ "pc": [
+ 3625
+ ]
+ },
+ {
+ "teal": 3504,
+ "source": 873,
+ "pc": [
+ 3626
+ ]
+ },
+ {
+ "teal": 3505,
+ "source": 873,
+ "pc": [
+ 3627,
+ 3628
+ ]
+ },
+ {
+ "teal": 3506,
+ "source": 873,
+ "pc": [
+ 3629
+ ]
+ },
+ {
+ "teal": 3507,
+ "source": 873,
+ "pc": [
+ 3630
+ ]
+ },
+ {
+ "teal": 3510,
+ "source": 873,
+ "errorMessage": "argument 6 (feePayment) for goOnline must be a pay transaction",
+ "pc": [
+ 3631
+ ]
+ },
+ {
+ "teal": 3513,
+ "source": 872,
+ "pc": [
+ 3632,
+ 3633,
+ 3634
+ ]
+ },
+ {
+ "teal": 3514,
+ "source": 872,
+ "pc": [
+ 3635
+ ]
+ },
+ {
+ "teal": 3515,
+ "source": 872,
+ "pc": [
+ 3636
+ ]
+ },
+ {
+ "teal": 3531,
+ "source": 872,
+ "pc": [
+ 3637,
+ 3638,
+ 3639
+ ]
+ },
+ {
+ "teal": 3534,
+ "source": 872,
+ "pc": [
+ 3640,
+ 3641
+ ]
+ },
+ {
+ "teal": 3538,
+ "source": 881,
+ "pc": [
+ 3642,
+ 3643,
+ 3644
+ ]
+ },
+ {
+ "teal": 3541,
+ "source": 881,
+ "errorMessage": "can only be called by owner or manager of validator",
+ "pc": [
+ 3645
+ ]
+ },
+ {
+ "teal": 3545,
+ "source": 882,
+ "pc": [
+ 3646,
+ 3647,
+ 3648
+ ]
+ },
+ {
+ "teal": 3546,
+ "source": 882,
+ "pc": [
+ 3649,
+ 3650
+ ]
+ },
+ {
+ "teal": 3551,
+ "source": 883,
+ "pc": [
+ 3651,
+ 3652
+ ]
+ },
+ {
+ "teal": 3552,
+ "source": 883,
+ "pc": [
+ 3653,
+ 3654
+ ]
+ },
+ {
+ "teal": 3553,
+ "source": 883,
+ "pc": [
+ 3655,
+ 3656
+ ]
+ },
+ {
+ "teal": 3554,
+ "source": 883,
+ "pc": [
+ 3657
+ ]
+ },
+ {
+ "teal": 3557,
+ "source": 883,
+ "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 3658
+ ]
+ },
+ {
+ "teal": 3560,
+ "source": 883,
+ "pc": [
+ 3659,
+ 3660
+ ]
+ },
+ {
+ "teal": 3561,
+ "source": 883,
+ "pc": [
+ 3661,
+ 3662
+ ]
+ },
+ {
+ "teal": 3562,
+ "source": 883,
+ "pc": [
+ 3663,
+ 3664
+ ]
+ },
+ {
+ "teal": 3563,
+ "source": 883,
+ "pc": [
+ 3665
+ ]
+ },
+ {
+ "teal": 3566,
+ "source": 883,
+ "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"amount\",\"expected\":\"extraFee\"}",
+ "pc": [
+ 3666
+ ]
+ },
+ {
+ "teal": 3578,
+ "source": 884,
+ "pc": [
+ 3667
+ ]
+ },
+ {
+ "teal": 3579,
+ "source": 884,
+ "pc": [
+ 3668,
+ 3669
+ ]
+ },
+ {
+ "teal": 3580,
+ "source": 884,
+ "pc": [
+ 3670,
+ 3671
+ ]
+ },
+ {
+ "teal": 3584,
+ "source": 885,
+ "pc": [
+ 3672,
+ 3673
+ ]
+ },
+ {
+ "teal": 3585,
+ "source": 885,
+ "pc": [
+ 3674,
+ 3675
+ ]
+ },
+ {
+ "teal": 3589,
+ "source": 886,
+ "pc": [
+ 3676,
+ 3677
+ ]
+ },
+ {
+ "teal": 3590,
+ "source": 886,
+ "pc": [
+ 3678,
+ 3679
+ ]
+ },
+ {
+ "teal": 3594,
+ "source": 887,
+ "pc": [
+ 3680,
+ 3681
+ ]
+ },
+ {
+ "teal": 3595,
+ "source": 887,
+ "pc": [
+ 3682,
+ 3683
+ ]
+ },
+ {
+ "teal": 3599,
+ "source": 888,
+ "pc": [
+ 3684,
+ 3685
+ ]
+ },
+ {
+ "teal": 3600,
+ "source": 888,
+ "pc": [
+ 3686,
+ 3687
+ ]
+ },
+ {
+ "teal": 3604,
+ "source": 889,
+ "pc": [
+ 3688,
+ 3689
+ ]
+ },
+ {
+ "teal": 3605,
+ "source": 889,
+ "pc": [
+ 3690,
+ 3691
+ ]
+ },
+ {
+ "teal": 3609,
+ "source": 890,
+ "pc": [
+ 3692,
+ 3693
+ ]
+ },
+ {
+ "teal": 3610,
+ "source": 890,
+ "pc": [
+ 3694,
+ 3695
+ ]
+ },
+ {
+ "teal": 3614,
+ "source": 891,
+ "pc": [
+ 3696,
+ 3697,
+ 3698
+ ]
+ },
+ {
+ "teal": 3615,
+ "source": 891,
+ "pc": [
+ 3699,
+ 3700
+ ]
+ },
+ {
+ "teal": 3618,
+ "source": 884,
+ "pc": [
+ 3701
+ ]
+ },
+ {
+ "teal": 3619,
+ "source": 872,
+ "pc": [
+ 3702
+ ]
+ },
+ {
+ "teal": 3624,
+ "source": 900,
+ "pc": [
+ 3703,
+ 3704,
+ 3705
+ ]
+ },
+ {
+ "teal": 3625,
+ "source": 900,
+ "pc": [
+ 3706
+ ]
+ },
+ {
+ "teal": 3626,
+ "source": 900,
+ "pc": [
+ 3707
+ ]
+ },
+ {
+ "teal": 3633,
+ "source": 900,
+ "pc": [
+ 3708,
+ 3709,
+ 3710
+ ]
+ },
+ {
+ "teal": 3638,
+ "source": 903,
+ "pc": [
+ 3711,
+ 3712
+ ]
+ },
+ {
+ "teal": 3639,
+ "source": 903,
+ "pc": [
+ 3713
+ ]
+ },
+ {
+ "teal": 3640,
+ "source": 903,
+ "pc": [
+ 3714
+ ]
+ },
+ {
+ "teal": 3641,
+ "source": 903,
+ "pc": [
+ 3715,
+ 3716
+ ]
+ },
+ {
+ "teal": 3642,
+ "source": 903,
+ "pc": [
+ 3717
+ ]
+ },
+ {
+ "teal": 3643,
+ "source": 903,
+ "pc": [
+ 3718
+ ]
+ },
+ {
+ "teal": 3644,
+ "source": 903,
+ "pc": [
+ 3719,
+ 3720,
+ 3721
+ ]
+ },
+ {
+ "teal": 3649,
+ "source": 904,
+ "pc": [
+ 3722,
+ 3723,
+ 3724
+ ]
+ },
+ {
+ "teal": 3652,
+ "source": 904,
+ "errorMessage": "can only be called by owner or manager of validator",
+ "pc": [
+ 3725
+ ]
+ },
+ {
+ "teal": 3657,
+ "source": 907,
+ "pc": [
+ 3726
+ ]
+ },
+ {
+ "teal": 3658,
+ "source": 907,
+ "pc": [
+ 3727,
+ 3728
+ ]
+ },
+ {
+ "teal": 3659,
+ "source": 907,
+ "pc": [
+ 3729,
+ 3730
+ ]
+ },
+ {
+ "teal": 3662,
+ "source": 907,
+ "pc": [
+ 3731
+ ]
+ },
+ {
+ "teal": 3663,
+ "source": 907,
+ "pc": [
+ 3732,
+ 3733
+ ]
+ },
+ {
+ "teal": 3666,
+ "source": 907,
+ "pc": [
+ 3734
+ ]
+ },
+ {
+ "teal": 3667,
+ "source": 900,
+ "pc": [
+ 3735
+ ]
+ },
+ {
+ "teal": 3672,
+ "source": 913,
+ "pc": [
+ 3736,
+ 3737,
+ 3738
+ ]
+ },
+ {
+ "teal": 3673,
+ "source": 913,
+ "pc": [
+ 3739,
+ 3740,
+ 3741
+ ]
+ },
+ {
+ "teal": 3676,
+ "source": 913,
+ "pc": [
+ 3742,
+ 3743,
+ 3744
+ ]
+ },
+ {
+ "teal": 3677,
+ "source": 913,
+ "pc": [
+ 3745
+ ]
+ },
+ {
+ "teal": 3680,
+ "source": 913,
+ "pc": [
+ 3746,
+ 3747,
+ 3748
+ ]
+ },
+ {
+ "teal": 3681,
+ "source": 913,
+ "pc": [
+ 3749
+ ]
+ },
+ {
+ "teal": 3682,
+ "source": 913,
+ "pc": [
+ 3750
+ ]
+ },
+ {
+ "teal": 3686,
+ "source": 913,
+ "pc": [
+ 3751,
+ 3752,
+ 3753
+ ]
+ },
+ {
+ "teal": 3690,
+ "source": 914,
+ "pc": [
+ 3754,
+ 3755,
+ 3756
+ ]
+ },
+ {
+ "teal": 3693,
+ "source": 914,
+ "errorMessage": "can only be called by owner or manager of validator",
+ "pc": [
+ 3757
+ ]
+ },
+ {
+ "teal": 3701,
+ "source": 916,
+ "pc": [
+ 3758
+ ]
+ },
+ {
+ "teal": 3702,
+ "source": 916,
+ "pc": [
+ 3759
+ ]
+ },
+ {
+ "teal": 3703,
+ "source": 916,
+ "pc": [
+ 3760,
+ 3761
+ ]
+ },
+ {
+ "teal": 3707,
+ "source": 917,
+ "pc": [
+ 3762,
+ 3763
+ ]
+ },
+ {
+ "teal": 3708,
+ "source": 917,
+ "pc": [
+ 3764,
+ 3765
+ ]
+ },
+ {
+ "teal": 3712,
+ "source": 918,
+ "pc": [
+ 3766,
+ 3767,
+ 3768,
+ 3769,
+ 3770,
+ 3771,
+ 3772,
+ 3773,
+ 3774,
+ 3775,
+ 3776,
+ 3777,
+ 3778,
+ 3779,
+ 3780,
+ 3781,
+ 3782
+ ]
+ },
+ {
+ "teal": 3713,
+ "source": 918,
+ "pc": [
+ 3783,
+ 3784
+ ]
+ },
+ {
+ "teal": 3714,
+ "source": 918,
+ "pc": [
+ 3785,
+ 3786
+ ]
+ },
+ {
+ "teal": 3715,
+ "source": 918,
+ "pc": [
+ 3787,
+ 3788
+ ]
+ },
+ {
+ "teal": 3716,
+ "source": 918,
+ "pc": [
+ 3789,
+ 3790
+ ]
+ },
+ {
+ "teal": 3717,
+ "source": 918,
+ "pc": [
+ 3791
+ ]
+ },
+ {
+ "teal": 3718,
+ "source": 918,
+ "pc": [
+ 3792,
+ 3793
+ ]
+ },
+ {
+ "teal": 3719,
+ "source": 918,
+ "pc": [
+ 3794,
+ 3795
+ ]
+ },
+ {
+ "teal": 3720,
+ "source": 918,
+ "pc": [
+ 3796,
+ 3797
+ ]
+ },
+ {
+ "teal": 3724,
+ "source": 919,
+ "pc": [
+ 3798,
+ 3799
+ ]
+ },
+ {
+ "teal": 3725,
+ "source": 919,
+ "pc": [
+ 3800,
+ 3801
+ ]
+ },
+ {
+ "teal": 3728,
+ "source": 916,
+ "pc": [
+ 3802
+ ]
+ },
+ {
+ "teal": 3729,
+ "source": 916,
+ "pc": [
+ 3803,
+ 3804
+ ]
+ },
+ {
+ "teal": 3732,
+ "source": 916,
+ "pc": [
+ 3805
+ ]
+ },
+ {
+ "teal": 3733,
+ "source": 913,
+ "pc": [
+ 3806
+ ]
+ },
+ {
+ "teal": 3738,
+ "source": 929,
+ "pc": [
+ 3807,
+ 3808
+ ]
+ },
+ {
+ "teal": 3741,
+ "source": 929,
+ "pc": [
+ 3809,
+ 3810,
+ 3811
+ ]
+ },
+ {
+ "teal": 3742,
+ "source": 929,
+ "pc": [
+ 3812
+ ]
+ },
+ {
+ "teal": 3743,
+ "source": 929,
+ "pc": [
+ 3813
+ ]
+ },
+ {
+ "teal": 3744,
+ "source": 929,
+ "pc": [
+ 3814,
+ 3815
+ ]
+ },
+ {
+ "teal": 3745,
+ "source": 929,
+ "pc": [
+ 3816
+ ]
+ },
+ {
+ "teal": 3748,
+ "source": 929,
+ "errorMessage": "argument 0 (poolKey) for proxiedSetTokenPayoutRatio must be a (uint64,uint64,uint64)",
+ "pc": [
+ 3817
+ ]
+ },
+ {
+ "teal": 3751,
+ "source": 929,
+ "pc": [
+ 3818,
+ 3819,
+ 3820
+ ]
+ },
+ {
+ "teal": 3752,
+ "source": 929,
+ "pc": [
+ 3821
+ ]
+ },
+ {
+ "teal": 3753,
+ "source": 929,
+ "pc": [
+ 3822
+ ]
+ },
+ {
+ "teal": 3754,
+ "source": 929,
+ "pc": [
+ 3823
+ ]
+ },
+ {
+ "teal": 3755,
+ "source": 929,
+ "pc": [
+ 3824
+ ]
+ },
+ {
+ "teal": 3764,
+ "source": 929,
+ "pc": [
+ 3825,
+ 3826,
+ 3827
+ ]
+ },
+ {
+ "teal": 3767,
+ "source": 929,
+ "pc": [
+ 3828,
+ 3829
+ ]
+ },
+ {
+ "teal": 3771,
+ "source": 930,
+ "pc": [
+ 3830
+ ]
+ },
+ {
+ "teal": 3772,
+ "source": 930,
+ "pc": [
+ 3831
+ ]
+ },
+ {
+ "teal": 3773,
+ "source": 930,
+ "pc": [
+ 3832,
+ 3833
+ ]
+ },
+ {
+ "teal": 3774,
+ "source": 930,
+ "pc": [
+ 3834,
+ 3835,
+ 3836
+ ]
+ },
+ {
+ "teal": 3775,
+ "source": 930,
+ "pc": [
+ 3837
+ ]
+ },
+ {
+ "teal": 3776,
+ "source": 930,
+ "pc": [
+ 3838
+ ]
+ },
+ {
+ "teal": 3779,
+ "source": 930,
+ "errorMessage": "caller must be part of same validator set!",
+ "pc": [
+ 3839
+ ]
+ },
+ {
+ "teal": 3783,
+ "source": 931,
+ "pc": [
+ 3840
+ ]
+ },
+ {
+ "teal": 3784,
+ "source": 931,
+ "pc": [
+ 3841
+ ]
+ },
+ {
+ "teal": 3785,
+ "source": 931,
+ "pc": [
+ 3842
+ ]
+ },
+ {
+ "teal": 3786,
+ "source": 931,
+ "pc": [
+ 3843
+ ]
+ },
+ {
+ "teal": 3789,
+ "source": 931,
+ "errorMessage": "callee must be pool 1",
+ "pc": [
+ 3844
+ ]
+ },
+ {
+ "teal": 3793,
+ "source": 932,
+ "pc": [
+ 3845,
+ 3846
+ ]
+ },
+ {
+ "teal": 3794,
+ "source": 932,
+ "pc": [
+ 3847,
+ 3848,
+ 3849
+ ]
+ },
+ {
+ "teal": 3795,
+ "source": 932,
+ "pc": [
+ 3850
+ ]
+ },
+ {
+ "teal": 3796,
+ "source": 932,
+ "pc": [
+ 3851
+ ]
+ },
+ {
+ "teal": 3797,
+ "source": 932,
+ "pc": [
+ 3852
+ ]
+ },
+ {
+ "teal": 3800,
+ "source": 932,
+ "errorMessage": "caller must NOT be pool 1",
+ "pc": [
+ 3853
+ ]
+ },
+ {
+ "teal": 3807,
+ "source": 934,
+ "pc": [
+ 3854
+ ]
+ },
+ {
+ "teal": 3808,
+ "source": 934,
+ "pc": [
+ 3855
+ ]
+ },
+ {
+ "teal": 3809,
+ "source": 934,
+ "pc": [
+ 3856,
+ 3857
+ ]
+ },
+ {
+ "teal": 3810,
+ "source": 934,
+ "pc": [
+ 3858,
+ 3859
+ ]
+ },
+ {
+ "teal": 3811,
+ "source": 934,
+ "pc": [
+ 3860,
+ 3861
+ ]
+ },
+ {
+ "teal": 3815,
+ "source": 935,
+ "pc": [
+ 3862
+ ]
+ },
+ {
+ "teal": 3816,
+ "source": 935,
+ "pc": [
+ 3863
+ ]
+ },
+ {
+ "teal": 3817,
+ "source": 935,
+ "pc": [
+ 3864,
+ 3865
+ ]
+ },
+ {
+ "teal": 3821,
+ "source": 936,
+ "pc": [
+ 3866,
+ 3867
+ ]
+ },
+ {
+ "teal": 3822,
+ "source": 936,
+ "pc": [
+ 3868,
+ 3869,
+ 3870
+ ]
+ },
+ {
+ "teal": 3823,
+ "source": 936,
+ "pc": [
+ 3871
+ ]
+ },
+ {
+ "teal": 3824,
+ "source": 936,
+ "pc": [
+ 3872
+ ]
+ },
+ {
+ "teal": 3825,
+ "source": 936,
+ "pc": [
+ 3873,
+ 3874
+ ]
+ },
+ {
+ "teal": 3826,
+ "source": 936,
+ "pc": [
+ 3875,
+ 3876
+ ]
+ },
+ {
+ "teal": 3827,
+ "source": 936,
+ "pc": [
+ 3877,
+ 3878,
+ 3879
+ ]
+ },
+ {
+ "teal": 3828,
+ "source": 936,
+ "pc": [
+ 3880
+ ]
+ },
+ {
+ "teal": 3829,
+ "source": 936,
+ "pc": [
+ 3881
+ ]
+ },
+ {
+ "teal": 3830,
+ "source": 936,
+ "pc": [
+ 3882,
+ 3883
+ ]
+ },
+ {
+ "teal": 3833,
+ "source": 934,
+ "pc": [
+ 3884
+ ]
+ },
+ {
+ "teal": 3834,
+ "source": 934,
+ "pc": [
+ 3885,
+ 3886
+ ]
+ },
+ {
+ "teal": 3837,
+ "source": 934,
+ "pc": [
+ 3887
+ ]
+ },
+ {
+ "teal": 3838,
+ "source": 934,
+ "pc": [
+ 3888,
+ 3889
+ ]
+ },
+ {
+ "teal": 3839,
+ "source": 934,
+ "pc": [
+ 3890
+ ]
+ },
+ {
+ "teal": 3840,
+ "source": 934,
+ "pc": [
+ 3891
+ ]
+ },
+ {
+ "teal": 3841,
+ "source": 934,
+ "pc": [
+ 3892,
+ 3893
+ ]
+ },
+ {
+ "teal": 3842,
+ "source": 934,
+ "pc": [
+ 3894,
+ 3895,
+ 3896
+ ]
+ },
+ {
+ "teal": 3843,
+ "source": 934,
+ "pc": [
+ 3897
+ ]
+ },
+ {
+ "teal": 3844,
+ "source": 934,
+ "pc": [
+ 3898,
+ 3899
+ ]
+ },
+ {
+ "teal": 3848,
+ "source": 938,
+ "pc": [
+ 3900,
+ 3901
+ ]
+ },
+ {
+ "teal": 3849,
+ "source": 938,
+ "pc": [
+ 3902,
+ 3903
+ ]
+ },
+ {
+ "teal": 3850,
+ "source": 938,
+ "pc": [
+ 3904,
+ 3905,
+ 3906
+ ]
+ },
+ {
+ "teal": 3851,
+ "source": 938,
+ "pc": [
+ 3907
+ ]
+ },
+ {
+ "teal": 3852,
+ "source": 938,
+ "pc": [
+ 3908
+ ]
+ },
+ {
+ "teal": 3853,
+ "source": 938,
+ "pc": [
+ 3909
+ ]
+ },
+ {
+ "teal": 3857,
+ "source": 939,
+ "pc": [
+ 3910,
+ 3911
+ ]
+ },
+ {
+ "teal": 3858,
+ "source": 939,
+ "pc": [
+ 3912,
+ 3913
+ ]
+ },
+ {
+ "teal": 3859,
+ "source": 939,
+ "pc": [
+ 3914,
+ 3915,
+ 3916
+ ]
+ },
+ {
+ "teal": 3860,
+ "source": 939,
+ "pc": [
+ 3917
+ ]
+ },
+ {
+ "teal": 3861,
+ "source": 939,
+ "pc": [
+ 3918,
+ 3919
+ ]
+ },
+ {
+ "teal": 3862,
+ "source": 939,
+ "pc": [
+ 3920
+ ]
+ },
+ {
+ "teal": 3863,
+ "source": 939,
+ "pc": [
+ 3921
+ ]
+ },
+ {
+ "teal": 3864,
+ "source": 939,
+ "pc": [
+ 3922
+ ]
+ },
+ {
+ "teal": 3871,
+ "source": 941,
+ "pc": [
+ 3923
+ ]
+ },
+ {
+ "teal": 3872,
+ "source": 941,
+ "pc": [
+ 3924
+ ]
+ },
+ {
+ "teal": 3873,
+ "source": 941,
+ "pc": [
+ 3925,
+ 3926
+ ]
+ },
+ {
+ "teal": 3874,
+ "source": 941,
+ "pc": [
+ 3927,
+ 3928
+ ]
+ },
+ {
+ "teal": 3875,
+ "source": 941,
+ "pc": [
+ 3929,
+ 3930
+ ]
+ },
+ {
+ "teal": 3879,
+ "source": 942,
+ "pc": [
+ 3931
+ ]
+ },
+ {
+ "teal": 3880,
+ "source": 942,
+ "pc": [
+ 3932
+ ]
+ },
+ {
+ "teal": 3881,
+ "source": 942,
+ "pc": [
+ 3933,
+ 3934
+ ]
+ },
+ {
+ "teal": 3885,
+ "source": 943,
+ "pc": [
+ 3935
+ ]
+ },
+ {
+ "teal": 3886,
+ "source": 943,
+ "pc": [
+ 3936
+ ]
+ },
+ {
+ "teal": 3887,
+ "source": 943,
+ "pc": [
+ 3937
+ ]
+ },
+ {
+ "teal": 3888,
+ "source": 943,
+ "pc": [
+ 3938,
+ 3939
+ ]
+ },
+ {
+ "teal": 3891,
+ "source": 941,
+ "pc": [
+ 3940
+ ]
+ },
+ {
+ "teal": 3892,
+ "source": 941,
+ "pc": [
+ 3941,
+ 3942
+ ]
+ },
+ {
+ "teal": 3895,
+ "source": 941,
+ "pc": [
+ 3943
+ ]
+ },
+ {
+ "teal": 3896,
+ "source": 941,
+ "pc": [
+ 3944,
+ 3945
+ ]
+ },
+ {
+ "teal": 3897,
+ "source": 941,
+ "pc": [
+ 3946
+ ]
+ },
+ {
+ "teal": 3898,
+ "source": 941,
+ "pc": [
+ 3947
+ ]
+ },
+ {
+ "teal": 3899,
+ "source": 941,
+ "pc": [
+ 3948,
+ 3949
+ ]
+ },
+ {
+ "teal": 3900,
+ "source": 941,
+ "pc": [
+ 3950,
+ 3951,
+ 3952
+ ]
+ },
+ {
+ "teal": 3903,
+ "source": 929,
+ "pc": [
+ 3953,
+ 3954
+ ]
+ },
+ {
+ "teal": 3904,
+ "source": 929,
+ "pc": [
+ 3955
+ ]
+ },
+ {
+ "teal": 3908,
+ "source": 947,
+ "pc": [
+ 3956,
+ 3957,
+ 3958
+ ]
+ },
+ {
+ "teal": 3911,
+ "source": 947,
+ "pc": [
+ 3959,
+ 3960
+ ]
+ },
+ {
+ "teal": 3918,
+ "source": 948,
+ "pc": [
+ 3961
+ ]
+ },
+ {
+ "teal": 3919,
+ "source": 948,
+ "pc": [
+ 3962
+ ]
+ },
+ {
+ "teal": 3920,
+ "source": 948,
+ "pc": [
+ 3963,
+ 3964
+ ]
+ },
+ {
+ "teal": 3921,
+ "source": 948,
+ "pc": [
+ 3965,
+ 3966,
+ 3967,
+ 3968,
+ 3969,
+ 3970
+ ]
+ },
+ {
+ "teal": 3922,
+ "source": 948,
+ "pc": [
+ 3971,
+ 3972
+ ]
+ },
+ {
+ "teal": 3926,
+ "source": 949,
+ "pc": [
+ 3973
+ ]
+ },
+ {
+ "teal": 3927,
+ "source": 949,
+ "pc": [
+ 3974
+ ]
+ },
+ {
+ "teal": 3928,
+ "source": 949,
+ "pc": [
+ 3975,
+ 3976
+ ]
+ },
+ {
+ "teal": 3932,
+ "source": 950,
+ "pc": [
+ 3977
+ ]
+ },
+ {
+ "teal": 3933,
+ "source": 950,
+ "pc": [
+ 3978
+ ]
+ },
+ {
+ "teal": 3934,
+ "source": 950,
+ "pc": [
+ 3979
+ ]
+ },
+ {
+ "teal": 3935,
+ "source": 950,
+ "pc": [
+ 3980,
+ 3981
+ ]
+ },
+ {
+ "teal": 3938,
+ "source": 948,
+ "pc": [
+ 3982
+ ]
+ },
+ {
+ "teal": 3939,
+ "source": 948,
+ "pc": [
+ 3983,
+ 3984
+ ]
+ },
+ {
+ "teal": 3942,
+ "source": 948,
+ "pc": [
+ 3985
+ ]
+ },
+ {
+ "teal": 3943,
+ "source": 948,
+ "pc": [
+ 3986,
+ 3987
+ ]
+ },
+ {
+ "teal": 3944,
+ "source": 948,
+ "pc": [
+ 3988
+ ]
+ },
+ {
+ "teal": 3945,
+ "source": 948,
+ "pc": [
+ 3989
+ ]
+ },
+ {
+ "teal": 3946,
+ "source": 948,
+ "pc": [
+ 3990,
+ 3991
+ ]
+ },
+ {
+ "teal": 3947,
+ "source": 948,
+ "pc": [
+ 3992,
+ 3993,
+ 3994
+ ]
+ },
+ {
+ "teal": 3948,
+ "source": 948,
+ "pc": [
+ 3995,
+ 3996
+ ]
+ },
+ {
+ "teal": 3952,
+ "source": 952,
+ "pc": [
+ 3997,
+ 3998
+ ]
+ },
+ {
+ "teal": 3953,
+ "source": 952,
+ "pc": [
+ 3999,
+ 4000
+ ]
+ },
+ {
+ "teal": 3954,
+ "source": 952,
+ "pc": [
+ 4001,
+ 4002,
+ 4003
+ ]
+ },
+ {
+ "teal": 3955,
+ "source": 952,
+ "pc": [
+ 4004
+ ]
+ },
+ {
+ "teal": 3956,
+ "source": 952,
+ "pc": [
+ 4005
+ ]
+ },
+ {
+ "teal": 3957,
+ "source": 952,
+ "pc": [
+ 4006,
+ 4007,
+ 4008
+ ]
+ },
+ {
+ "teal": 3958,
+ "source": 952,
+ "pc": [
+ 4009,
+ 4010
+ ]
+ },
+ {
+ "teal": 3959,
+ "source": 952,
+ "pc": [
+ 4011,
+ 4012
+ ]
+ },
+ {
+ "teal": 3960,
+ "source": 952,
+ "pc": [
+ 4013,
+ 4014,
+ 4015
+ ]
+ },
+ {
+ "teal": 3961,
+ "source": 952,
+ "pc": [
+ 4016
+ ]
+ },
+ {
+ "teal": 3962,
+ "source": 952,
+ "pc": [
+ 4017
+ ]
+ },
+ {
+ "teal": 3966,
+ "source": 947,
+ "pc": [
+ 4018,
+ 4019
+ ]
+ },
+ {
+ "teal": 3967,
+ "source": 947,
+ "pc": [
+ 4020
+ ]
+ },
+ {
+ "teal": 3971,
+ "source": 955,
+ "pc": [
+ 4021,
+ 4022,
+ 4023
+ ]
+ },
+ {
+ "teal": 3975,
+ "source": 956,
+ "pc": [
+ 4024,
+ 4025
+ ]
+ },
+ {
+ "teal": 3976,
+ "source": 955,
+ "pc": [
+ 4026
+ ]
+ },
+ {
+ "teal": 3983,
+ "source": 965,
+ "pc": [
+ 4027,
+ 4028,
+ 4029
+ ]
+ },
+ {
+ "teal": 3986,
+ "source": 965,
+ "pc": [
+ 4030,
+ 4031
+ ]
+ },
+ {
+ "teal": 3990,
+ "source": 966,
+ "pc": [
+ 4032,
+ 4033,
+ 4034
+ ]
+ },
+ {
+ "teal": 3991,
+ "source": 966,
+ "pc": [
+ 4035,
+ 4036
+ ]
+ },
+ {
+ "teal": 3995,
+ "source": 968,
+ "pc": [
+ 4037,
+ 4038
+ ]
+ },
+ {
+ "teal": 3996,
+ "source": 968,
+ "pc": [
+ 4039,
+ 4040
+ ]
+ },
+ {
+ "teal": 3997,
+ "source": 968,
+ "pc": [
+ 4041
+ ]
+ },
+ {
+ "teal": 3998,
+ "source": 968,
+ "pc": [
+ 4042
+ ]
+ },
+ {
+ "teal": 3999,
+ "source": 968,
+ "pc": [
+ 4043,
+ 4044
+ ]
+ },
+ {
+ "teal": 4000,
+ "source": 968,
+ "pc": [
+ 4045
+ ]
+ },
+ {
+ "teal": 4001,
+ "source": 968,
+ "pc": [
+ 4046
+ ]
+ },
+ {
+ "teal": 4002,
+ "source": 968,
+ "pc": [
+ 4047
+ ]
+ },
+ {
+ "teal": 4003,
+ "source": 968,
+ "pc": [
+ 4048
+ ]
+ },
+ {
+ "teal": 4004,
+ "source": 968,
+ "pc": [
+ 4049
+ ]
+ },
+ {
+ "teal": 4007,
+ "source": 968,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 4050
+ ]
+ },
+ {
+ "teal": 4010,
+ "source": 965,
+ "pc": [
+ 4051,
+ 4052
+ ]
+ },
+ {
+ "teal": 4011,
+ "source": 965,
+ "pc": [
+ 4053
+ ]
+ },
+ {
+ "teal": 4015,
+ "source": 971,
+ "pc": [
+ 4054,
+ 4055,
+ 4056
+ ]
+ },
+ {
+ "teal": 4018,
+ "source": 971,
+ "pc": [
+ 4057,
+ 4058
+ ]
+ },
+ {
+ "teal": 4022,
+ "source": 975,
+ "pc": [
+ 4059
+ ]
+ },
+ {
+ "teal": 4023,
+ "source": 975,
+ "pc": [
+ 4060,
+ 4061
+ ]
+ },
+ {
+ "teal": 4028,
+ "source": 976,
+ "pc": [
+ 4062,
+ 4063
+ ]
+ },
+ {
+ "teal": 4029,
+ "source": 976,
+ "pc": [
+ 4064
+ ]
+ },
+ {
+ "teal": 4030,
+ "source": 976,
+ "pc": [
+ 4065,
+ 4066,
+ 4067
+ ]
+ },
+ {
+ "teal": 4035,
+ "source": 978,
+ "pc": [
+ 4068,
+ 4069,
+ 4070,
+ 4071
+ ]
+ },
+ {
+ "teal": 4036,
+ "source": 978,
+ "pc": [
+ 4072,
+ 4073,
+ 4074
+ ]
+ },
+ {
+ "teal": 4041,
+ "source": 980,
+ "pc": [
+ 4075
+ ]
+ },
+ {
+ "teal": 4045,
+ "source": 971,
+ "pc": [
+ 4076,
+ 4077
+ ]
+ },
+ {
+ "teal": 4046,
+ "source": 971,
+ "pc": [
+ 4078
+ ]
+ },
+ {
+ "teal": 4050,
+ "source": 983,
+ "pc": [
+ 4079,
+ 4080,
+ 4081
+ ]
+ },
+ {
+ "teal": 4054,
+ "source": 985,
+ "pc": [
+ 4082,
+ 4083,
+ 4084,
+ 4085,
+ 4086,
+ 4087,
+ 4088,
+ 4089,
+ 4090
+ ]
+ },
+ {
+ "teal": 4055,
+ "source": 983,
+ "pc": [
+ 4091
+ ]
+ },
+ {
+ "teal": 4061,
+ "source": 991,
+ "pc": [
+ 4092,
+ 4093,
+ 4094
+ ]
+ },
+ {
+ "teal": 4064,
+ "source": 991,
+ "pc": [
+ 4095,
+ 4096
+ ]
+ },
+ {
+ "teal": 4065,
+ "source": 991,
+ "pc": [
+ 4097,
+ 4098
+ ]
+ },
+ {
+ "teal": 4069,
+ "source": 992,
+ "pc": [
+ 4099,
+ 4100
+ ]
+ },
+ {
+ "teal": 4070,
+ "source": 992,
+ "pc": [
+ 4101
+ ]
+ },
+ {
+ "teal": 4071,
+ "source": 992,
+ "pc": [
+ 4102
+ ]
+ },
+ {
+ "teal": 4072,
+ "source": 992,
+ "pc": [
+ 4103,
+ 4104
+ ]
+ },
+ {
+ "teal": 4077,
+ "source": 993,
+ "pc": [
+ 4105,
+ 4106
+ ]
+ },
+ {
+ "teal": 4078,
+ "source": 993,
+ "pc": [
+ 4107,
+ 4108
+ ]
+ },
+ {
+ "teal": 4079,
+ "source": 993,
+ "pc": [
+ 4109
+ ]
+ },
+ {
+ "teal": 4080,
+ "source": 993,
+ "pc": [
+ 4110,
+ 4111
+ ]
+ },
+ {
+ "teal": 4081,
+ "source": 993,
+ "pc": [
+ 4112
+ ]
+ },
+ {
+ "teal": 4082,
+ "source": 993,
+ "pc": [
+ 4113
+ ]
+ },
+ {
+ "teal": 4083,
+ "source": 993,
+ "pc": [
+ 4114
+ ]
+ },
+ {
+ "teal": 4084,
+ "source": 993,
+ "pc": [
+ 4115
+ ]
+ },
+ {
+ "teal": 4087,
+ "source": 993,
+ "errorMessage": "currentBinSize as uint64 overflowed 64 bits",
+ "pc": [
+ 4116
+ ]
+ },
+ {
+ "teal": 4088,
+ "source": 993,
+ "pc": [
+ 4117,
+ 4118,
+ 4119,
+ 4120,
+ 4121,
+ 4122,
+ 4123,
+ 4124,
+ 4125,
+ 4126
+ ]
+ },
+ {
+ "teal": 4089,
+ "source": 993,
+ "pc": [
+ 4127
+ ]
+ },
+ {
+ "teal": 4090,
+ "source": 993,
+ "pc": [
+ 4128
+ ]
+ },
+ {
+ "teal": 4091,
+ "source": 993,
+ "pc": [
+ 4129
+ ]
+ },
+ {
+ "teal": 4092,
+ "source": 993,
+ "pc": [
+ 4130
+ ]
+ },
+ {
+ "teal": 4093,
+ "source": 993,
+ "pc": [
+ 4131,
+ 4132
+ ]
+ },
+ {
+ "teal": 4094,
+ "source": 993,
+ "pc": [
+ 4133
+ ]
+ },
+ {
+ "teal": 4095,
+ "source": 993,
+ "pc": [
+ 4134
+ ]
+ },
+ {
+ "teal": 4096,
+ "source": 993,
+ "pc": [
+ 4135
+ ]
+ },
+ {
+ "teal": 4097,
+ "source": 993,
+ "pc": [
+ 4136
+ ]
+ },
+ {
+ "teal": 4098,
+ "source": 993,
+ "pc": [
+ 4137
+ ]
+ },
+ {
+ "teal": 4099,
+ "source": 993,
+ "pc": [
+ 4138
+ ]
+ },
+ {
+ "teal": 4100,
+ "source": 993,
+ "pc": [
+ 4139,
+ 4140,
+ 4141
+ ]
+ },
+ {
+ "teal": 4106,
+ "source": 994,
+ "pc": [
+ 4142,
+ 4143
+ ]
+ },
+ {
+ "teal": 4107,
+ "source": 994,
+ "pc": [
+ 4144,
+ 4145
+ ]
+ },
+ {
+ "teal": 4108,
+ "source": 994,
+ "pc": [
+ 4146
+ ]
+ },
+ {
+ "teal": 4109,
+ "source": 994,
+ "pc": [
+ 4147,
+ 4148,
+ 4149
+ ]
+ },
+ {
+ "teal": 4114,
+ "source": 995,
+ "pc": [
+ 4150
+ ]
+ },
+ {
+ "teal": 4115,
+ "source": 995,
+ "pc": [
+ 4151
+ ]
+ },
+ {
+ "teal": 4116,
+ "source": 995,
+ "pc": [
+ 4152,
+ 4153
+ ]
+ },
+ {
+ "teal": 4117,
+ "source": 995,
+ "pc": [
+ 4154
+ ]
+ },
+ {
+ "teal": 4118,
+ "source": 995,
+ "pc": [
+ 4155,
+ 4156
+ ]
+ },
+ {
+ "teal": 4119,
+ "source": 995,
+ "pc": [
+ 4157,
+ 4158
+ ]
+ },
+ {
+ "teal": 4120,
+ "source": 995,
+ "pc": [
+ 4159
+ ]
+ },
+ {
+ "teal": 4121,
+ "source": 995,
+ "pc": [
+ 4160,
+ 4161
+ ]
+ },
+ {
+ "teal": 4122,
+ "source": 995,
+ "pc": [
+ 4162,
+ 4163
+ ]
+ },
+ {
+ "teal": 4123,
+ "source": 995,
+ "pc": [
+ 4164,
+ 4165
+ ]
+ },
+ {
+ "teal": 4124,
+ "source": 995,
+ "pc": [
+ 4166,
+ 4167
+ ]
+ },
+ {
+ "teal": 4125,
+ "source": 995,
+ "pc": [
+ 4168
+ ]
+ },
+ {
+ "teal": 4130,
+ "source": 997,
+ "pc": [
+ 4169,
+ 4170
+ ]
+ },
+ {
+ "teal": 4131,
+ "source": 997,
+ "pc": [
+ 4171,
+ 4172,
+ 4173,
+ 4174,
+ 4175,
+ 4176,
+ 4177,
+ 4178,
+ 4179,
+ 4180,
+ 4181,
+ 4182,
+ 4183,
+ 4184,
+ 4185,
+ 4186,
+ 4187,
+ 4188
+ ]
+ },
+ {
+ "teal": 4132,
+ "source": 997,
+ "pc": [
+ 4189
+ ]
+ },
+ {
+ "teal": 4133,
+ "source": 997,
+ "pc": [
+ 4190
+ ]
+ },
+ {
+ "teal": 4134,
+ "source": 997,
+ "pc": [
+ 4191
+ ]
+ },
+ {
+ "teal": 4135,
+ "source": 997,
+ "pc": [
+ 4192,
+ 4193
+ ]
+ },
+ {
+ "teal": 4136,
+ "source": 997,
+ "pc": [
+ 4194
+ ]
+ },
+ {
+ "teal": 4139,
+ "source": 997,
+ "errorMessage": "currentBinSize * (365 as uint128) overflowed 128 bits",
+ "pc": [
+ 4195
+ ]
+ },
+ {
+ "teal": 4140,
+ "source": 997,
+ "pc": [
+ 4196,
+ 4197
+ ]
+ },
+ {
+ "teal": 4141,
+ "source": 997,
+ "pc": [
+ 4198
+ ]
+ },
+ {
+ "teal": 4142,
+ "source": 997,
+ "pc": [
+ 4199
+ ]
+ },
+ {
+ "teal": 4143,
+ "source": 997,
+ "pc": [
+ 4200
+ ]
+ },
+ {
+ "teal": 4144,
+ "source": 997,
+ "pc": [
+ 4201
+ ]
+ },
+ {
+ "teal": 4145,
+ "source": 997,
+ "pc": [
+ 4202,
+ 4203
+ ]
+ },
+ {
+ "teal": 4146,
+ "source": 997,
+ "pc": [
+ 4204
+ ]
+ },
+ {
+ "teal": 4147,
+ "source": 997,
+ "pc": [
+ 4205
+ ]
+ },
+ {
+ "teal": 4148,
+ "source": 997,
+ "pc": [
+ 4206
+ ]
+ },
+ {
+ "teal": 4149,
+ "source": 997,
+ "pc": [
+ 4207,
+ 4208
+ ]
+ },
+ {
+ "teal": 4153,
+ "source": 998,
+ "pc": [
+ 4209,
+ 4210
+ ]
+ },
+ {
+ "teal": 4154,
+ "source": 998,
+ "pc": [
+ 4211
+ ]
+ },
+ {
+ "teal": 4155,
+ "source": 998,
+ "pc": [
+ 4212,
+ 4213
+ ]
+ },
+ {
+ "teal": 4156,
+ "source": 998,
+ "pc": [
+ 4214
+ ]
+ },
+ {
+ "teal": 4157,
+ "source": 998,
+ "pc": [
+ 4215
+ ]
+ },
+ {
+ "teal": 4158,
+ "source": 998,
+ "pc": [
+ 4216
+ ]
+ },
+ {
+ "teal": 4159,
+ "source": 998,
+ "pc": [
+ 4217,
+ 4218
+ ]
+ },
+ {
+ "teal": 4160,
+ "source": 998,
+ "pc": [
+ 4219
+ ]
+ },
+ {
+ "teal": 4163,
+ "source": 998,
+ "errorMessage": "this.stakeAccumulator.value / currentBinSize overflowed 128 bits",
+ "pc": [
+ 4220
+ ]
+ },
+ {
+ "teal": 4164,
+ "source": 998,
+ "pc": [
+ 4221,
+ 4222
+ ]
+ },
+ {
+ "teal": 4165,
+ "source": 998,
+ "pc": [
+ 4223
+ ]
+ },
+ {
+ "teal": 4166,
+ "source": 998,
+ "pc": [
+ 4224
+ ]
+ },
+ {
+ "teal": 4167,
+ "source": 998,
+ "pc": [
+ 4225
+ ]
+ },
+ {
+ "teal": 4168,
+ "source": 998,
+ "pc": [
+ 4226
+ ]
+ },
+ {
+ "teal": 4169,
+ "source": 998,
+ "pc": [
+ 4227,
+ 4228
+ ]
+ },
+ {
+ "teal": 4170,
+ "source": 998,
+ "pc": [
+ 4229
+ ]
+ },
+ {
+ "teal": 4171,
+ "source": 998,
+ "pc": [
+ 4230
+ ]
+ },
+ {
+ "teal": 4172,
+ "source": 998,
+ "pc": [
+ 4231
+ ]
+ },
+ {
+ "teal": 4173,
+ "source": 998,
+ "pc": [
+ 4232,
+ 4233
+ ]
+ },
+ {
+ "teal": 4178,
+ "source": 999,
+ "pc": [
+ 4234,
+ 4235
+ ]
+ },
+ {
+ "teal": 4179,
+ "source": 999,
+ "pc": [
+ 4236,
+ 4237
+ ]
+ },
+ {
+ "teal": 4180,
+ "source": 999,
+ "pc": [
+ 4238
+ ]
+ },
+ {
+ "teal": 4181,
+ "source": 999,
+ "pc": [
+ 4239,
+ 4240,
+ 4241
+ ]
+ },
+ {
+ "teal": 4188,
+ "source": 1004,
+ "pc": [
+ 4242,
+ 4243
+ ]
+ },
+ {
+ "teal": 4189,
+ "source": 1004,
+ "pc": [
+ 4244
+ ]
+ },
+ {
+ "teal": 4190,
+ "source": 1004,
+ "pc": [
+ 4245
+ ]
+ },
+ {
+ "teal": 4191,
+ "source": 1004,
+ "pc": [
+ 4246,
+ 4247,
+ 4248,
+ 4249,
+ 4250,
+ 4251,
+ 4252,
+ 4253,
+ 4254,
+ 4255,
+ 4256,
+ 4257,
+ 4258,
+ 4259,
+ 4260,
+ 4261,
+ 4262,
+ 4263
+ ]
+ },
+ {
+ "teal": 4192,
+ "source": 1004,
+ "pc": [
+ 4264
+ ]
+ },
+ {
+ "teal": 4193,
+ "source": 1004,
+ "pc": [
+ 4265,
+ 4266
+ ]
+ },
+ {
+ "teal": 4194,
+ "source": 1004,
+ "pc": [
+ 4267
+ ]
+ },
+ {
+ "teal": 4195,
+ "source": 1005,
+ "pc": [
+ 4268,
+ 4269
+ ]
+ },
+ {
+ "teal": 4196,
+ "source": 1005,
+ "pc": [
+ 4270,
+ 4271
+ ]
+ },
+ {
+ "teal": 4197,
+ "source": 1005,
+ "pc": [
+ 4272
+ ]
+ },
+ {
+ "teal": 4198,
+ "source": 1004,
+ "pc": [
+ 4273
+ ]
+ },
+ {
+ "teal": 4199,
+ "source": 1004,
+ "pc": [
+ 4274
+ ]
+ },
+ {
+ "teal": 4200,
+ "source": 1004,
+ "pc": [
+ 4275
+ ]
+ },
+ {
+ "teal": 4201,
+ "source": 1004,
+ "pc": [
+ 4276,
+ 4277
+ ]
+ },
+ {
+ "teal": 4202,
+ "source": 1004,
+ "pc": [
+ 4278
+ ]
+ },
+ {
+ "teal": 4205,
+ "source": 1004,
+ "errorMessage": "(((this.rewardAccumulator.value as uint128) * (10000 as uint128)) / avgStake) *\\n (approxRoundsPerYear / currentBinSize) overflowed 128 bits",
+ "pc": [
+ 4279
+ ]
+ },
+ {
+ "teal": 4206,
+ "source": 1004,
+ "pc": [
+ 4280,
+ 4281
+ ]
+ },
+ {
+ "teal": 4207,
+ "source": 1004,
+ "pc": [
+ 4282
+ ]
+ },
+ {
+ "teal": 4208,
+ "source": 1004,
+ "pc": [
+ 4283
+ ]
+ },
+ {
+ "teal": 4209,
+ "source": 1004,
+ "pc": [
+ 4284
+ ]
+ },
+ {
+ "teal": 4210,
+ "source": 1004,
+ "pc": [
+ 4285
+ ]
+ },
+ {
+ "teal": 4211,
+ "source": 1004,
+ "pc": [
+ 4286,
+ 4287
+ ]
+ },
+ {
+ "teal": 4212,
+ "source": 1004,
+ "pc": [
+ 4288
+ ]
+ },
+ {
+ "teal": 4213,
+ "source": 1004,
+ "pc": [
+ 4289
+ ]
+ },
+ {
+ "teal": 4214,
+ "source": 1004,
+ "pc": [
+ 4290
+ ]
+ },
+ {
+ "teal": 4215,
+ "source": 1003,
+ "pc": [
+ 4291,
+ 4292
+ ]
+ },
+ {
+ "teal": 4219,
+ "source": 1007,
+ "pc": [
+ 4293,
+ 4294,
+ 4295,
+ 4296,
+ 4297,
+ 4298,
+ 4299,
+ 4300,
+ 4301,
+ 4302,
+ 4303,
+ 4304,
+ 4305,
+ 4306,
+ 4307,
+ 4308,
+ 4309,
+ 4310
+ ]
+ },
+ {
+ "teal": 4220,
+ "source": 1007,
+ "pc": [
+ 4311,
+ 4312
+ ]
+ },
+ {
+ "teal": 4225,
+ "source": 1009,
+ "pc": [
+ 4313,
+ 4314
+ ]
+ },
+ {
+ "teal": 4226,
+ "source": 1009,
+ "pc": [
+ 4315,
+ 4316,
+ 4317,
+ 4318,
+ 4319,
+ 4320,
+ 4321,
+ 4322,
+ 4323,
+ 4324,
+ 4325,
+ 4326,
+ 4327,
+ 4328,
+ 4329,
+ 4330,
+ 4331,
+ 4332
+ ]
+ },
+ {
+ "teal": 4227,
+ "source": 1009,
+ "pc": [
+ 4333
+ ]
+ },
+ {
+ "teal": 4228,
+ "source": 1009,
+ "pc": [
+ 4334,
+ 4335,
+ 4336
+ ]
+ },
+ {
+ "teal": 4233,
+ "source": 1010,
+ "pc": [
+ 4337,
+ 4338,
+ 4339,
+ 4340,
+ 4341,
+ 4342,
+ 4343,
+ 4344,
+ 4345,
+ 4346,
+ 4347,
+ 4348,
+ 4349,
+ 4350,
+ 4351,
+ 4352,
+ 4353,
+ 4354
+ ]
+ },
+ {
+ "teal": 4234,
+ "source": 1010,
+ "pc": [
+ 4355,
+ 4356
+ ]
+ },
+ {
+ "teal": 4241,
+ "source": 1012,
+ "pc": [
+ 4357,
+ 4358
+ ]
+ },
+ {
+ "teal": 4242,
+ "source": 1012,
+ "pc": [
+ 4359
+ ]
+ },
+ {
+ "teal": 4243,
+ "source": 1013,
+ "pc": [
+ 4360
+ ]
+ },
+ {
+ "teal": 4244,
+ "source": 1013,
+ "pc": [
+ 4361,
+ 4362
+ ]
+ },
+ {
+ "teal": 4245,
+ "source": 1013,
+ "pc": [
+ 4363,
+ 4364
+ ]
+ },
+ {
+ "teal": 4246,
+ "source": 1013,
+ "pc": [
+ 4365
+ ]
+ },
+ {
+ "teal": 4247,
+ "source": 1013,
+ "pc": [
+ 4366
+ ]
+ },
+ {
+ "teal": 4248,
+ "source": 1013,
+ "pc": [
+ 4367,
+ 4368
+ ]
+ },
+ {
+ "teal": 4249,
+ "source": 1013,
+ "pc": [
+ 4369
+ ]
+ },
+ {
+ "teal": 4250,
+ "source": 1014,
+ "pc": [
+ 4370,
+ 4371
+ ]
+ },
+ {
+ "teal": 4251,
+ "source": 1014,
+ "pc": [
+ 4372,
+ 4373
+ ]
+ },
+ {
+ "teal": 4252,
+ "source": 1014,
+ "pc": [
+ 4374
+ ]
+ },
+ {
+ "teal": 4253,
+ "source": 1014,
+ "pc": [
+ 4375,
+ 4376
+ ]
+ },
+ {
+ "teal": 4254,
+ "source": 1014,
+ "pc": [
+ 4377
+ ]
+ },
+ {
+ "teal": 4255,
+ "source": 1013,
+ "pc": [
+ 4378
+ ]
+ },
+ {
+ "teal": 4256,
+ "source": 1013,
+ "pc": [
+ 4379
+ ]
+ },
+ {
+ "teal": 4257,
+ "source": 1013,
+ "pc": [
+ 4380
+ ]
+ },
+ {
+ "teal": 4258,
+ "source": 1013,
+ "pc": [
+ 4381,
+ 4382
+ ]
+ },
+ {
+ "teal": 4259,
+ "source": 1013,
+ "pc": [
+ 4383
+ ]
+ },
+ {
+ "teal": 4262,
+ "source": 1013,
+ "errorMessage": "(this.weightedMovingAverage.value * ((100 as uint128) - alpha)) / (100 as uint128) +\\n (apr * alpha) / (100 as uint128) overflowed 128 bits",
+ "pc": [
+ 4384
+ ]
+ },
+ {
+ "teal": 4263,
+ "source": 1013,
+ "pc": [
+ 4385,
+ 4386
+ ]
+ },
+ {
+ "teal": 4264,
+ "source": 1013,
+ "pc": [
+ 4387
+ ]
+ },
+ {
+ "teal": 4265,
+ "source": 1013,
+ "pc": [
+ 4388
+ ]
+ },
+ {
+ "teal": 4266,
+ "source": 1013,
+ "pc": [
+ 4389
+ ]
+ },
+ {
+ "teal": 4267,
+ "source": 1013,
+ "pc": [
+ 4390
+ ]
+ },
+ {
+ "teal": 4268,
+ "source": 1013,
+ "pc": [
+ 4391,
+ 4392
+ ]
+ },
+ {
+ "teal": 4269,
+ "source": 1013,
+ "pc": [
+ 4393
+ ]
+ },
+ {
+ "teal": 4270,
+ "source": 1013,
+ "pc": [
+ 4394
+ ]
+ },
+ {
+ "teal": 4271,
+ "source": 1013,
+ "pc": [
+ 4395
+ ]
+ },
+ {
+ "teal": 4272,
+ "source": 1012,
+ "pc": [
+ 4396
+ ]
+ },
+ {
+ "teal": 4277,
+ "source": 1018,
+ "pc": [
+ 4397,
+ 4398,
+ 4399
+ ]
+ },
+ {
+ "teal": 4281,
+ "source": 1019,
+ "pc": [
+ 4400,
+ 4401
+ ]
+ },
+ {
+ "teal": 4282,
+ "source": 1019,
+ "pc": [
+ 4402,
+ 4403
+ ]
+ },
+ {
+ "teal": 4283,
+ "source": 1019,
+ "pc": [
+ 4404
+ ]
+ },
+ {
+ "teal": 4284,
+ "source": 1019,
+ "pc": [
+ 4405
+ ]
+ },
+ {
+ "teal": 4285,
+ "source": 1019,
+ "pc": [
+ 4406,
+ 4407
+ ]
+ },
+ {
+ "teal": 4286,
+ "source": 1019,
+ "pc": [
+ 4408
+ ]
+ },
+ {
+ "teal": 4287,
+ "source": 1019,
+ "pc": [
+ 4409
+ ]
+ },
+ {
+ "teal": 4288,
+ "source": 1019,
+ "pc": [
+ 4410
+ ]
+ },
+ {
+ "teal": 4289,
+ "source": 1019,
+ "pc": [
+ 4411
+ ]
+ },
+ {
+ "teal": 4290,
+ "source": 1019,
+ "pc": [
+ 4412
+ ]
+ },
+ {
+ "teal": 4291,
+ "source": 1019,
+ "pc": [
+ 4413,
+ 4414
+ ]
+ },
+ {
+ "teal": 4292,
+ "source": 1019,
+ "pc": [
+ 4415
+ ]
+ },
+ {
+ "teal": 4295,
+ "source": 1019,
+ "errorMessage": "(this.totalAlgoStaked.value as uint128) * (this.roundsPerDay.value as uint128) overflowed 128 bits",
+ "pc": [
+ 4416
+ ]
+ },
+ {
+ "teal": 4296,
+ "source": 1019,
+ "pc": [
+ 4417,
+ 4418
+ ]
+ },
+ {
+ "teal": 4297,
+ "source": 1019,
+ "pc": [
+ 4419
+ ]
+ },
+ {
+ "teal": 4298,
+ "source": 1019,
+ "pc": [
+ 4420
+ ]
+ },
+ {
+ "teal": 4299,
+ "source": 1019,
+ "pc": [
+ 4421
+ ]
+ },
+ {
+ "teal": 4300,
+ "source": 1019,
+ "pc": [
+ 4422
+ ]
+ },
+ {
+ "teal": 4301,
+ "source": 1019,
+ "pc": [
+ 4423,
+ 4424
+ ]
+ },
+ {
+ "teal": 4302,
+ "source": 1019,
+ "pc": [
+ 4425
+ ]
+ },
+ {
+ "teal": 4303,
+ "source": 1019,
+ "pc": [
+ 4426
+ ]
+ },
+ {
+ "teal": 4304,
+ "source": 1019,
+ "pc": [
+ 4427
+ ]
+ },
+ {
+ "teal": 4305,
+ "source": 1019,
+ "pc": [
+ 4428
+ ]
+ },
+ {
+ "teal": 4309,
+ "source": 1020,
+ "pc": [
+ 4429,
+ 4430
+ ]
+ },
+ {
+ "teal": 4310,
+ "source": 1020,
+ "pc": [
+ 4431
+ ]
+ },
+ {
+ "teal": 4311,
+ "source": 1020,
+ "pc": [
+ 4432
+ ]
+ },
+ {
+ "teal": 4315,
+ "source": 1021,
+ "pc": [
+ 4433,
+ 4434
+ ]
+ },
+ {
+ "teal": 4316,
+ "source": 1021,
+ "pc": [
+ 4435,
+ 4436
+ ]
+ },
+ {
+ "teal": 4317,
+ "source": 1021,
+ "pc": [
+ 4437,
+ 4438
+ ]
+ },
+ {
+ "teal": 4318,
+ "source": 1021,
+ "pc": [
+ 4439,
+ 4440
+ ]
+ },
+ {
+ "teal": 4319,
+ "source": 1021,
+ "pc": [
+ 4441
+ ]
+ },
+ {
+ "teal": 4320,
+ "source": 1021,
+ "pc": [
+ 4442
+ ]
+ },
+ {
+ "teal": 4321,
+ "source": 1021,
+ "pc": [
+ 4443
+ ]
+ },
+ {
+ "teal": 4322,
+ "source": 1021,
+ "pc": [
+ 4444
+ ]
+ },
+ {
+ "teal": 4325,
+ "source": 991,
+ "pc": [
+ 4445
+ ]
+ },
+ {
+ "teal": 4329,
+ "source": 1025,
+ "pc": [
+ 4446,
+ 4447,
+ 4448
+ ]
+ },
+ {
+ "teal": 4333,
+ "source": 1026,
+ "pc": [
+ 4449,
+ 4450
+ ]
+ },
+ {
+ "teal": 4334,
+ "source": 1026,
+ "pc": [
+ 4451,
+ 4452,
+ 4453,
+ 4454
+ ]
+ },
+ {
+ "teal": 4335,
+ "source": 1026,
+ "pc": [
+ 4455
+ ]
+ },
+ {
+ "teal": 4336,
+ "source": 1025,
+ "pc": [
+ 4456
+ ]
+ },
+ {
+ "teal": 4339,
+ "source": 38,
+ "pc": [
+ 4457,
+ 4458,
+ 4459,
+ 4460,
+ 4461,
+ 4462
+ ]
+ },
+ {
+ "teal": 4340,
+ "source": 38,
+ "pc": [
+ 4463,
+ 4464,
+ 4465
+ ]
+ },
+ {
+ "teal": 4341,
+ "source": 38,
+ "pc": [
+ 4466,
+ 4467,
+ 4468,
+ 4469
+ ]
+ },
+ {
+ "teal": 4344,
+ "source": 38,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 4470
+ ]
+ },
+ {
+ "teal": 4347,
+ "source": 38,
+ "pc": [
+ 4471,
+ 4472,
+ 4473,
+ 4474,
+ 4475,
+ 4476
+ ]
+ },
+ {
+ "teal": 4348,
+ "source": 38,
+ "pc": [
+ 4477,
+ 4478,
+ 4479,
+ 4480,
+ 4481,
+ 4482
+ ]
+ },
+ {
+ "teal": 4349,
+ "source": 38,
+ "pc": [
+ 4483,
+ 4484,
+ 4485,
+ 4486,
+ 4487,
+ 4488
+ ]
+ },
+ {
+ "teal": 4350,
+ "source": 38,
+ "pc": [
+ 4489,
+ 4490,
+ 4491,
+ 4492,
+ 4493,
+ 4494
+ ]
+ },
+ {
+ "teal": 4351,
+ "source": 38,
+ "pc": [
+ 4495,
+ 4496,
+ 4497,
+ 4498,
+ 4499,
+ 4500
+ ]
+ },
+ {
+ "teal": 4352,
+ "source": 38,
+ "pc": [
+ 4501,
+ 4502,
+ 4503,
+ 4504,
+ 4505,
+ 4506
+ ]
+ },
+ {
+ "teal": 4353,
+ "source": 38,
+ "pc": [
+ 4507,
+ 4508,
+ 4509,
+ 4510,
+ 4511,
+ 4512
+ ]
+ },
+ {
+ "teal": 4354,
+ "source": 38,
+ "pc": [
+ 4513,
+ 4514,
+ 4515,
+ 4516,
+ 4517,
+ 4518
+ ]
+ },
+ {
+ "teal": 4355,
+ "source": 38,
+ "pc": [
+ 4519,
+ 4520,
+ 4521,
+ 4522,
+ 4523,
+ 4524
+ ]
+ },
+ {
+ "teal": 4356,
+ "source": 38,
+ "pc": [
+ 4525,
+ 4526,
+ 4527,
+ 4528,
+ 4529,
+ 4530
+ ]
+ },
+ {
+ "teal": 4357,
+ "source": 38,
+ "pc": [
+ 4531,
+ 4532,
+ 4533,
+ 4534,
+ 4535,
+ 4536
+ ]
+ },
+ {
+ "teal": 4358,
+ "source": 38,
+ "pc": [
+ 4537,
+ 4538,
+ 4539,
+ 4540,
+ 4541,
+ 4542
+ ]
+ },
+ {
+ "teal": 4359,
+ "source": 38,
+ "pc": [
+ 4543,
+ 4544
+ ]
+ },
+ {
+ "teal": 4360,
+ "source": 38,
+ "pc": [
+ 4545,
+ 4546,
+ 4547
+ ]
+ },
+ {
+ "teal": 4361,
+ "source": 38,
+ "pc": [
+ 4548,
+ 4549,
+ 4550,
+ 4551,
+ 4552,
+ 4553,
+ 4554,
+ 4555,
+ 4556,
+ 4557,
+ 4558,
+ 4559,
+ 4560,
+ 4561,
+ 4562,
+ 4563,
+ 4564,
+ 4565,
+ 4566,
+ 4567,
+ 4568,
+ 4569,
+ 4570,
+ 4571,
+ 4572,
+ 4573,
+ 4574,
+ 4575
+ ]
+ },
+ {
+ "teal": 4364,
+ "source": 38,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 4576
+ ]
+ },
+ {
+ "teal": 4367,
+ "source": 38,
+ "pc": [
+ 4577,
+ 4578,
+ 4579,
+ 4580,
+ 4581,
+ 4582
+ ]
+ },
+ {
+ "teal": 4368,
+ "source": 38,
+ "pc": [
+ 4583,
+ 4584,
+ 4585
+ ]
+ },
+ {
+ "teal": 4369,
+ "source": 38,
+ "pc": [
+ 4586,
+ 4587,
+ 4588,
+ 4589
+ ]
+ },
+ {
+ "teal": 4372,
+ "source": 38,
+ "errorMessage": "this contract does not implement the given ABI method for call UpdateApplication",
+ "pc": [
+ 4590
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9mZWVTaW5rQWRkcgpzdG9yZSAyMDEKcHVzaGJ5dGVzIFRNUExfbmZkUmVnaXN0cnlBcHBJZApidG9pCnN0b3JlIDIwMAoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfVXBkYXRlQXBwbGljYXRpb24gKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfdXBkYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIHVwZGF0ZUFwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVBcHBsaWNhdGlvbigpOiB2b2lkCnVwZGF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IEFkZHJlc3MuZnJvbUFkZHJlc3MoJ0xaNFYySVJWTENYRkpLNFJFSlY0VEFHRUtFWVRBMkdNUjZUQzIzNDRPQjNMM0FGM01XWFo2WkFGSVEnKSwKCS8vICAgICAgICdUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50JwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWFkZHIgTFo0VjJJUlZMQ1hGSks0UkVKVjRUQUdFS0VZVEEyR01SNlRDMjM0NE9CM0wzQUYzTVdYWjZaQUZJUQoJPT0KCgkvLyBUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50Cglhc3NlcnQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGNyZWF0aW5nQ29udHJhY3RJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY3JlYXRpbmdDb250cmFjdElkOiB1aW50NjQsIHZhbGlkYXRvcklkOiB1aW50NjQsIHBvb2xJZDogdWludDY0LCBtaW5FbnRyeVN0YWtlOiB1aW50NjQpOiB2b2lkCi8vCi8vIEluaXRpYWxpemUgdGhlIHN0YWtpbmcgcG9vbCB3LyBvd25lciBhbmQgbWFuYWdlciwgYnV0IGNhbiBvbmx5IGJlIGNyZWF0ZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdC4KLy8gQHBhcmFtIHt1aW50NjR9IGNyZWF0aW5nQ29udHJhY3RJZCAtIGlkIG9mIGNvbnRyYWN0IHRoYXQgY29uc3RydWN0ZWQgdXMgLSB0aGUgdmFsaWRhdG9yIGFwcGxpY2F0aW9uIChzaW5nbGUgZ2xvYmFsIGluc3RhbmNlKQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgLSBpZCBvZiB2YWxpZGF0b3Igd2UncmUgYSBzdGFraW5nIHBvb2wgb2YKLy8gQHBhcmFtIHt1aW50NjR9IHBvb2xJZCAtIHdoaWNoIHBvb2wgaWQgYXJlIHdlCi8vIEBwYXJhbSB7dWludDY0fSBtaW5FbnRyeVN0YWtlIC0gbWluaW11bSBhbW91bnQgdG8gYmUgaW4gcG9vbCwgYnV0IGFsc28gbWluaW11bSBhbW91bnQgYmFsYW5jZSBjYW4ndCBnbyBiZWxvdyAod2l0aG91dCByZW1vdmluZyBhbGwhKQpjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDQgMAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTA4CgkvLyBjcmVhdGluZ0NvbnRyYWN0SWQgPT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTAKCS8vIGFzc2VydCh2YWxpZGF0b3JJZCA9PT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTEKCS8vIGFzc2VydChwb29sSWQgPT09IDApCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWludCAwCgk9PQoJYXNzZXJ0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTEzCgkvLyBhc3NlcnQodmFsaWRhdG9ySWQgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE0CgkvLyBhc3NlcnQocG9vbElkICE9PSAwKQoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglpbnQgMAoJIT0KCWFzc2VydAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE2CgkvLyBhc3NlcnQobWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC00IC8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJaW50IDEwMDAwMDAKCT49CgoJLy8gc3Rha2luZyBwb29sIG11c3QgaGF2ZSBtaW5pbXVtIGVudHJ5IG9mIDEgYWxnbwoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjExNwoJLy8gdGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUgPSBjcmVhdGluZ0NvbnRyYWN0SWQKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE4CgkvLyB0aGlzLnZhbGlkYXRvcklkLnZhbHVlID0gdmFsaWRhdG9ySWQKCWJ5dGUgMHg3NjYxNmM2OTY0NjE3NDZmNzI0OTY0IC8vICJ2YWxpZGF0b3JJZCIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTkKCS8vIHRoaXMucG9vbElkLnZhbHVlID0gcG9vbElkCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMAoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlID0gMAoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMQoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgPSAwCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglpbnQgMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTIyCgkvLyB0aGlzLm1pbkVudHJ5U3Rha2UudmFsdWUgPSBtaW5FbnRyeVN0YWtlCglieXRlIDB4NmQ2OTZlNDU2ZTc0NzI3OTUzNzQ2MTZiNjUgLy8gIm1pbkVudHJ5U3Rha2UiCglmcmFtZV9kaWcgLTQgLy8gbWluRW50cnlTdGFrZTogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjMKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGdsb2JhbHMucm91bmQKCWJ5dGUgMHg2YzYxNzM3NDUwNjE3OTZmNzU3NCAvLyAibGFzdFBheW91dCIKCWdsb2JhbCBSb3VuZAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI0CgkvLyB0aGlzLmVwb2NoTnVtYmVyLnZhbHVlID0gMAoJYnl0ZSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgLy8gImVwb2NoTnVtYmVyIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyNgoJLy8gdGhpcy5zZXRSb3VuZHNQZXJEYXkoKQoJY2FsbHN1YiBzZXRSb3VuZHNQZXJEYXkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI3CgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJJQoJLQoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI4CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI5CgkvLyB0aGlzLnJld2FyZEFjY3VtdWxhdG9yLnZhbHVlID0gMAoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEzMAoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGUgMHg2NTc3NmQ2MSAvLyAiZXdtYSIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZ2FzKCl2b2lkCiphYmlfcm91dGVfZ2FzOgoJLy8gZXhlY3V0ZSBnYXMoKXZvaWQKCWNhbGxzdWIgZ2FzCglpbnQgMQoJcmV0dXJuCgovLyBnYXMoKTogdm9pZAovLwovLyBnYXMgaXMgYSBkdW1teSBuby1vcCBjYWxsIHRoYXQgY2FuIGJlIHVzZWQgdG8gcG9vbC11cCByZXNvdXJjZSByZWZlcmVuY2VzIGFuZCBvcGNvZGUgY29zdApnYXM6Cglwcm90byAwIDAKCXJldHN1YgoKLy8gY29zdEZvckJveFN0b3JhZ2UodG90YWxOdW1CeXRlczogdWludDY0KTogdWludDY0CmNvc3RGb3JCb3hTdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE0MgoJLy8gcmV0dXJuIFNDQk9YX1BFUkJPWCArIHRvdGFsTnVtQnl0ZXMgKiBTQ0JPWF9QRVJCWVRFOwoJaW50IDI1MDAKCWZyYW1lX2RpZyAtMSAvLyB0b3RhbE51bUJ5dGVzOiB1aW50NjQKCWludCA0MDAKCSoKCSsKCXJldHN1YgoKLy8gaW5pdFN0b3JhZ2UocGF5KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3RvcmFnZToKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKG1iclBheW1lbnQpIGZvciBpbml0U3RvcmFnZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGluaXRTdG9yYWdlKHBheSl2b2lkCgljYWxsc3ViIGluaXRTdG9yYWdlCglpbnQgMQoJcmV0dXJuCgovLyBpbml0U3RvcmFnZShtYnJQYXltZW50OiBQYXlUeG4pOiB2b2lkCi8vCi8vIENhbGxlZCBhZnRlciB3ZSdyZSBjcmVhdGVkIGFuZCB0aGVuIGZ1bmRlZCwgc28gd2UgY2FuIGNyZWF0ZSBvdXIgbGFyZ2Ugc3Rha2VycyBsZWRnZXIgc3RvcmFnZQovLyBDYWxsZXIgaGFzIHRvIGdldCBNQlIgYW1vdW50cyBmcm9tIFZhbGlkYXRvclJlZ2lzdHJ5IHRvIGtub3cgaG93IG11Y2ggdG8gZnVuZCB1cyB0byBjb3ZlciB0aGUgYm94IHN0b3JhZ2UgY29zdAovLyBJZiB0aGlzIGlzIHBvb2wgMSBBTkQgdGhlIHZhbGlkYXRvciBoYXMgc3BlY2lmaWVkIGEgcmV3YXJkIHRva2VuLCBvcHQtaW4gdG8gdGhhdCB0b2tlbgovLyBzbyB0aGF0IHRoZSB2YWxpZGF0b3IgY2FuIHNlZWQgdGhlIHBvb2wgd2l0aCBmdXR1cmUgcmV3YXJkcyBvZiB0aGF0IHRva2VuLgovLyBAcGFyYW0gbWJyUGF5bWVudCBwYXltZW50IGZyb20gY2FsbGVyIHdoaWNoIGNvdmVycyBtYnIgaW5jcmVhc2Ugb2YgbmV3IHN0YWtpbmcgcG9vbHMnIHN0b3JhZ2UKaW5pdFN0b3JhZ2U6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1MwoJLy8gYXNzZXJ0KCF0aGlzLnN0YWtlcnMuZXhpc3RzLCAnc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQnKQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCgoJLy8gc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTYKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1OAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjAKCS8vIGlzVG9rZW5FbGlnaWJsZSA9IHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaW50IDAKCSE9CglmcmFtZV9idXJ5IDEgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MQoJLy8gZXh0cmFNQlIgPSBpc1Rva2VuRWxpZ2libGUgJiYgdGhpcy5wb29sSWQudmFsdWUgPT09IDEgPyBBU1NFVF9IT0xESU5HX0ZFRSA6IDAKCWZyYW1lX2RpZyAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJZHVwCglieiAqc2tpcF9hbmQwCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgkmJgoKKnNraXBfYW5kMDoKCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJaW50IDEwMDAwMAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnQgMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyBleHRyYU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MgoJLy8gUG9vbEluaXRNYnIgPQoJLy8gICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICBleHRyYU1CUiArCgkvLyAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKQoJaW50IDEwMDAwMAoJZnJhbWVfZGlnIDIgLy8gZXh0cmFNQlI6IHVpbnQ2NAoJKwoJaW50IDEyODA3CgljYWxsc3ViIGNvc3RGb3JCb3hTdG9yYWdlCgkrCglmcmFtZV9idXJ5IDMgLy8gUG9vbEluaXRNYnI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjgKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IFBvb2xJbml0TWJyIH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDMgLy8gUG9vbEluaXRNYnI6IHVpbnQ2NAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoiUG9vbEluaXRNYnIifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2OQoJLy8gdGhpcy5zdGFrZXJzLmNyZWF0ZSgpCglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCglpbnQgMTI4MDAKCWJveF9jcmVhdGUKCXBvcAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTcxCgkvLyBpc1Rva2VuRWxpZ2libGUgJiYgdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWZyYW1lX2RpZyAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJZHVwCglieiAqc2tpcF9hbmQxCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTczCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgICAgYXNzZXRBbW91bnQ6IDAsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE3NAoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc1CgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE3NgoJLy8gYXNzZXRBbW91bnQ6IDAKCWludCAwCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMV9lbmQ6CglyZXRzdWIKCi8vIGFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NAoqYWJpX3JvdXRlX2FkZFN0YWtlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoc3Rha2VyKSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDEgKHN0YWtlZEFtb3VudFBheW1lbnQpIGZvciBhZGRTdGFrZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NAoJY2FsbHN1YiBhZGRTdGFrZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgc3Rha2VyOiBBZGRyZXNzKTogdWludDY0Ci8vCi8vIEFkZHMgc3Rha2UgdG8gdGhlIGdpdmVuIGFjY291bnQuCi8vIENhbiBPTkxZIGJlIGNhbGxlZCBieSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0IHRoYXQgY3JlYXRlZCB1cwovLyBNdXN0IHJlY2VpdmUgcGF5bWVudCBmcm9tIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIGFtb3VudCBiZWluZyBzdGFrZWQuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IHByaW9yIHBheW1lbnQgY29taW5nIGZyb20gdmFsaWRhdG9yIGNvbnRyYWN0IHRvIHVzIG9uIGJlaGFsZiBvZiBzdGFrZXIuCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFjY291bnQgYWRkaW5nIG5ldyBzdGFrZQovLyBAdGhyb3dzIHtFcnJvcn0gLSBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIHN0YWtpbmcgcG9vbCBpcyBmdWxsLgovLyBAcmV0dXJucyB7dWludDY0fSBuZXcgJ2VudHJ5IHJvdW5kJyByb3VuZCBudW1iZXIgb2Ygc3Rha2UgYWRkCmFkZFN0YWtlOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTIKCS8vIGFzc2VydCh0aGlzLnN0YWtlcnMuZXhpc3RzLCAnc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QnKQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICdzdGFrZSBjYW4gb25seSBiZSBhZGRlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoKCS8vIHN0YWtlIGNhbiBvbmx5IGJlIGFkZGVkIHZpYSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTk5CgkvLyBhc3NlcnQoc3Rha2VyICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIwMgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMDYKCS8vIHZlcmlmeVBheVR4bihzdGFrZWRBbW91bnRQYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MsCgkvLyAgICAgICByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFtb3VudDogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjE1CgkvLyBlbnRyeVJvdW5kID0gZ2xvYmFscy5yb3VuZCArIEFMR09SQU5EX1NUQUtJTkdfQkxPQ0tfREVMQVkKCWdsb2JhbCBSb3VuZAoJaW50IDMyMAoJKwoJZnJhbWVfYnVyeSAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMTYKCS8vIGZpcnN0RW1wdHkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMTgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50CglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjAKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlIDB4NzM3NDYxNmI2NTQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWl0b2IKCWZyYW1lX2RpZyAyIC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAzIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8wX2VuZAoKCS8vICppZjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI2CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyOQoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMwCgkvLyBjbXBTdGFrZXIuYWNjb3VudCA9PT0gc3Rha2VyCglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjNfZW5kCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMyCgkvLyBjbXBTdGFrZXIuYmFsYW5jZSArPSBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnQgMzIgLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMzCgkvLyBjbXBTdGFrZXIuZW50cnlSb3VuZCA9IGVudHJ5Um91bmQKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDU2IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM2CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbaV0gPSBjbXBTdGFrZXIKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM4CgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJYiAqYWRkU3Rha2UqcmV0dXJuCgoqaWYzX2VuZDoKCS8vICppZjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQwCgkvLyBmaXJzdEVtcHR5ID09PSAwICYmIGNtcFN0YWtlci5hY2NvdW50ID09PSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJZHVwCglieiAqc2tpcF9hbmQyCglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJJiYKCipza2lwX2FuZDI6CglieiAqaWY0X2VuZAoKCS8vICppZjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI0MQoJLy8gZmlyc3RFbXB0eSA9IGkgKyAxCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoqaWY0X2VuZDoKCipmb3JfMF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjUKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAzIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyAqaWY1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI0NQoJLy8gZmlyc3RFbXB0eSA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnQgMAoJPT0KCWJ6ICppZjVfZW5kCgoJLy8gKmlmNV9jb25zZXF1ZW50CgkvLyBTdGFraW5nIHBvb2wgZnVsbAoJZXJyCgoqaWY1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTIKCS8vIGFzc2VydChzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCA+PSB0aGlzLm1pbkVudHJ5U3Rha2UudmFsdWUsICdtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wnKQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglieXRlIDB4NmQ2OTZlNDU2ZTc0NzI3OTUzNzQ2MTZiNjUgLy8gIm1pbkVudHJ5U3Rha2UiCglhcHBfZ2xvYmFsX2dldAoJPj0KCgkvLyBtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTQKCS8vIGFzc2VydCh0aGlzLnN0YWtlcnMudmFsdWVbZmlyc3RFbXB0eSAtIDFdLmFjY291bnQgPT09IGdsb2JhbHMuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAxCgktCglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCAzMgoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTUKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtmaXJzdEVtcHR5IC0gMV0gPSB7CgkvLyAgICAgICBhY2NvdW50OiBzdGFrZXIsCgkvLyAgICAgICBiYWxhbmNlOiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCwKCS8vICAgICAgIHRvdGFsUmV3YXJkZWQ6IDAsCgkvLyAgICAgICByZXdhcmRUb2tlbkJhbGFuY2U6IDAsCgkvLyAgICAgICBlbnRyeVJvdW5kOiBlbnRyeVJvdW5kLAoJLy8gICAgIH0KCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50IDEKCS0KCWludCA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gZW50cnlSb3VuZDogdWludDY0CglpdG9iCgljb25jYXQKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI2MgoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlICs9IDEKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjYzCgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKKmFkZFN0YWtlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3JlbW92ZVN0YWtlOgoJLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc3Rha2VyKSBmb3IgcmVtb3ZlU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoJY2FsbHN1YiByZW1vdmVTdGFrZQoJaW50IDEKCXJldHVybgoKLy8gcmVtb3ZlU3Rha2Uoc3Rha2VyOiBBZGRyZXNzLCBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gUmVtb3ZlcyBzdGFrZSBvbiBiZWhhbGYgb2YgY2FsbGVyIChyZW1vdmluZyBvd24gc3Rha2UpLiAgSWYgYW55IHRva2VuIHJld2FyZHMgZXhpc3QsIHRob3NlIGFyZSBhbHdheXMgc2VudCBpbgovLyBmdWxsLiBBbHNvIG5vdGlmaWVzIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIHRoaXMgcG9vbHMgdmFsaWRhdG9yIG9mIHRoZSBzdGFrZXIgLyBiYWxhbmNlIGNoYW5nZXMuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gYWNjb3VudCB0byByZW1vdmUuICBub3JtYWxseSBzYW1lIGFzIHNlbmRlciwgYnV0IHRoZSB2YWxpZGF0b3Igb3duZXIgb3IgbWFuYWdlciBjYW4gYWxzbyBjYWxsCi8vIHRoaXMgdG8gcmVtb3ZlIHRoZSBzcGVjaWZpZWQgc3Rha2VyIGV4cGxpY2l0bHkuIFRoZSByZW1vdmVkIHN0YWtlIE1VU1Qgb25seSBnbyB0byB0aGUgc3Rha2VyIG9mIGNvdXJzZS4gIFRoaXMgaXMKLy8gc28gYSB2YWxpZGF0b3IgY2FuIHNodXQgZG93biBhIHBvb29sIGFuZCByZWZ1bmQgdGhlIHN0YWtlcnMuICBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIGtpY2sgb3V0IHN0YWtlcnMgd2hvIG5vIGxvbmdlcgovLyBtZWV0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIChkZXRlcm1pbmVkIGJ5IHRoZSBub2RlIGRhZW1vbikuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1Vuc3Rha2UgLSBUaGUgYW1vdW50IG9mIHN0YWtlIHRvIGJlIHJlbW92ZWQuICBTcGVjaWZ5IDAgdG8gcmVtb3ZlIGFsbCBzdGFrZS4KLy8gQHRocm93cyB7RXJyb3J9IElmIHRoZSBhY2NvdW50IGhhcyBpbnN1ZmZpY2llbnQgYmFsYW5jZSBvciBpZiB0aGUgYWNjb3VudCBpcyBub3QgZm91bmQuCnJlbW92ZVN0YWtlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNgoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgwCgkvLyBzdGFrZXIgIT09IHRoaXMudHhuLnNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJIT0KCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLAoJLy8gICAgICAgICAnSWYgc3Rha2VyIGlzIG5vdCBzZW5kZXIgaW4gcmVtb3ZlU3Rha2UgY2FsbCwgdGhlbiBzZW5kZXIgTVVTVCBiZSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICAgICkKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIElmIHN0YWtlciBpcyBub3Qgc2VuZGVyIGluIHJlbW92ZVN0YWtlIGNhbGwsIHRoZW4gc2VuZGVyIE1VU1QgYmUgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKKmlmNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjg3CgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjkwCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTEKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5MwoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjk0CgkvLyBjbXBTdGFrZXIuYWNjb3VudCA9PT0gc3Rha2VyCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjhfZW5kCgoJLy8gKmlmOF9jb25zZXF1ZW50CgkvLyAqaWY5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5NQoJLy8gYW1vdW50VG9VbnN0YWtlID09PSAwCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmOV9lbmQKCgkvLyAqaWY5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTcKCS8vIGFtb3VudFRvVW5zdGFrZSA9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfYnVyeSAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoKKmlmOV9lbmQ6CgkvLyAqaWYxMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTkKCS8vIGNtcFN0YWtlci5iYWxhbmNlIDwgYW1vdW50VG9VbnN0YWtlCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0Cgk8CglieiAqaWYxMF9lbmQKCgkvLyAqaWYxMF9jb25zZXF1ZW50CgkvLyBJbnN1ZmZpY2llbnQgYmFsYW5jZQoJZXJyCgoqaWYxMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzAyCgkvLyBjbXBTdGFrZXIuYmFsYW5jZSAtPSBhbW91bnRUb1Vuc3Rha2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCS0KCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwMwoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50VG9VbnN0YWtlCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CgktCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDUKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDYKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPiAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDggOAoJYnRvaQoJaW50IDAKCT4KCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vICppZjEyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwOAoJLy8gdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJPT0KCWJ6ICppZjEyX2Vsc2UKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA5CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzEwCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTEKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDMgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgICAgICAgICBhc3NldEFtb3VudDogY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSwKCS8vICAgICAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE4CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTkKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyMAoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjIKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzIzCgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTJfZW5kCgoqaWYxMl9lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyOAoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTJfZW5kOgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgIGNtcFN0YWtlci5iYWxhbmNlID09PSAwIHx8IGNtcFN0YWtlci5iYWxhbmNlID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwKCS8vICAgICAgICAgICAnY2Fubm90IHJlZHVjZSBiYWxhbmNlIGJlbG93IG1pbmltdW0gYWxsb3dlZCBzdGFrZSB1bmxlc3MgYWxsIGlzIHJlbW92ZWQnCgkvLyAgICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnQgMAoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWJ5dGUgMHg2ZDY5NmU0NTZlNzQ3Mjc5NTM3NDYxNmI2NSAvLyAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoJfHwKCipza2lwX29yMDoKCS8vIGNhbm5vdCByZWR1Y2UgYmFsYW5jZSBiZWxvdyBtaW5pbXVtIGFsbG93ZWQgc3Rha2UgdW5sZXNzIGFsbCBpcyByZW1vdmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQyCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgYW1vdW50OiBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgcmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICBub3RlOiAndW5zdGFrZWQnLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDMKCS8vIGFtb3VudDogYW1vdW50VG9VbnN0YWtlCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0NAoJLy8gcmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDUKCS8vIG5vdGU6ICd1bnN0YWtlZCcKCWJ5dGUgMHg3NTZlNzM3NDYxNmI2NTY0IC8vICJ1bnN0YWtlZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ3CgkvLyBzdGFrZXJSZW1vdmVkID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0OAoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSAtPSAxCglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCS0KCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MQoJLy8gY21wU3Rha2VyLmFjY291bnQgPSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCAwCglnbG9iYWwgWmVyb0FkZHJlc3MKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0MAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTQKCS8vIHN0YWtlclJlbW92ZWQgPSB0cnVlCglpbnQgMQoJZnJhbWVfYnVyeSA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTkKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgNSAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjAKCS8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4ID0gKGFtb3VudFRvVW5zdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDUgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCWl0b2IKCWIqCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyAoYW1vdW50VG9VbnN0YWtlIGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2MQoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlID0gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgliLQoJZHVwCgliaXRsZW4KCWludCAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2NgoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzY3CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjgKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgICAgIHN0YWtlciwKCS8vICAgICAgICAgICAgIGFtb3VudFRvVW5zdGFrZSwKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIHN0YWtlclJlbW92ZWQsCgkvLyAgICAgICAgICAgXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mzc2CgkvLyByZXR1cm47CglyZXRzdWIKCippZjhfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGFjY291bnQgbm90IGZvdW5kCgllcnIKCXJldHN1YgoKLy8gY2xhaW1Ub2tlbnMoKXZvaWQKKmFiaV9yb3V0ZV9jbGFpbVRva2VuczoKCS8vIGV4ZWN1dGUgY2xhaW1Ub2tlbnMoKXZvaWQKCWNhbGxzdWIgY2xhaW1Ub2tlbnMKCWludCAxCglyZXR1cm4KCi8vIGNsYWltVG9rZW5zKCk6IHZvaWQKLy8KLy8gQ2xhaW1zIGFsbCB0aGUgYXZhaWxhYmxlIHJld2FyZCB0b2tlbnMgYSBzdGFrZXIgaGFzIGF2YWlsYWJsZSwgc2VuZGluZyB0aGVpciBlbnRpcmUgYmFsYW5jZSB0byB0aGUgc3Rha2VyIGZyb20KLy8gcG9vbCAxIChlaXRoZXIgZGlyZWN0bHksIG9yIHZpYSB2YWxpZGF0b3ItPnBvb2wxIHRvIHBheSBpdCBvdXQpCi8vIEFsc28gbm90aWZpZXMgdGhlIHZhbGlkYXRvciBjb250cmFjdCBmb3IgdGhpcyBwb29scyB2YWxpZGF0b3Igb2YgdGhlIHN0YWtlciAvIGJhbGFuY2UgY2hhbmdlcy4KY2xhaW1Ub2tlbnM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTcKCS8vIGNtcFN0YWtlciA9IGNsb25lKHRoaXMuc3Rha2Vycy52YWx1ZVtpXSkKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCA2NAoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYxNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTgKCS8vIGNtcFN0YWtlci5hY2NvdW50ID09PSBzdGFrZXIKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCT09CglieiAqaWYxNV9lbmQKCgkvLyAqaWYxNV9jb25zZXF1ZW50CgkvLyAqaWYxNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjE2X2VuZAoKCS8vICppZjE2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDAKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmMTZfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwMgoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vICppZjE3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwNAoJLy8gdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJPT0KCWJ6ICppZjE3X2Vsc2UKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA1CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA2CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDcKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDQgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDEyCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCksCgkvLyAgICAgICAgICAgICBhc3NldFJlY2VpdmVyOiBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhc3NldEFtb3VudDogY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSwKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMwoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgNCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE0CgkvLyBhc3NldFJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxNQoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MTcKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE4CgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTdfZW5kCgoqaWYxN19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyMwoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MjQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyOAoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludCA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQzMwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAic3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQzNAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDM1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWludCAwCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ0MwoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYxNV9lbmQ6CgoqZm9yXzJfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzkzCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8yCgoqZm9yXzJfZW5kOgoJLy8gYWNjb3VudCBub3QgZm91bmQKCWVycgoJcmV0c3ViCgovLyBnZXRTdGFrZXJJbmZvKGFkZHJlc3MpKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFN0YWtlckluZm86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZXJJbmZvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFN0YWtlckluZm8KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRTdGFrZXJJbmZvKHN0YWtlcjogQWRkcmVzcyk6IFN0YWtlZEluZm8KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gc3Rha2VyLgovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEByZXR1cm5zIHtTdGFrZWRJbmZvfSAtIFRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIHRoZSBnaXZlbiBzdGFrZXIuCi8vIEB0aHJvd3Mge0Vycm9yfSAtIElmIHRoZSBzdGFrZXIncyBhY2NvdW50IGlzIG5vdCBmb3VuZC4KZ2V0U3Rha2VySW5mbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8zOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OQoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAyMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAyMDAKCTwKCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE4X2VuZDoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ2MgoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCAzMgoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCT09CglieiAqaWYxOV9lbmQKCgkvLyAqaWYxOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDYzCgkvLyByZXR1cm4gdGhpcy5zdGFrZXJzLnZhbHVlW2ldOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqZ2V0U3Rha2VySW5mbypyZXR1cm4KCippZjE5X2VuZDoKCipmb3JfM19jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NTgKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzMKCipmb3JfM19lbmQ6CgkvLyBhY2NvdW50IG5vdCBmb3VuZAoJZXJyCgoqZ2V0U3Rha2VySW5mbypyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZDoKCS8vIGFtb3VudFRvU2VuZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gcmV3YXJkVG9rZW46IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAyIChzdGFrZXIpIGZvciBwYXlUb2tlblJld2FyZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBwYXlUb2tlblJld2FyZAoJaW50IDEKCXJldHVybgoKLy8gcGF5VG9rZW5SZXdhcmQoc3Rha2VyOiBBZGRyZXNzLCByZXdhcmRUb2tlbjogdWludDY0LCBhbW91bnRUb1NlbmQ6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gW0ludGVybmFsIHByb3RvY29sIG1ldGhvZF0gUmVtb3ZlIGEgc3BlY2lmaWVkIGFtb3VudCBvZiAnY29tbXVuaXR5IHRva2VuJyByZXdhcmRzIGZvciBhIHN0YWtlci4KLy8gVGhpcyBjYW4gT05MWSBiZSBjYWxsZWQgYnkgb3VyIHZhbGlkYXRvciBhbmQgb25seSBpZiB3ZSdyZSBwb29sIDEgLSB3aXRoIHRoZSB0b2tlbi4KLy8gTm90ZTogdGhpcyBjYW4gYWxzbyBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIGFzIHBhcnQgb2YgT1dORVIgd2FudGluZyB0byBzZW5kIHRoZSByZXdhcmQgdG9rZW5zCi8vIHNvbWV3aGVyZSBlbHNlIChpZSBpZiB0aGV5J3JlIHN1bnNldHRpbmcgdGhlaXIgdmFsaWRhdG9yIGFuZCBuZWVkIHRoZSByZXdhcmQgdG9rZW5zIGJhY2spLgovLyBJdCdzIHVwIHRvIHRoZSB2YWxpZGF0b3IgdG8gZW5zdXJlIHRoYXQgdGhlIGJhbGFuY2UgaW4gcmV3YXJkVG9rZW5IZWxkQmFjayBpcyBob25vcmVkLgovLyBAcGFyYW0gc3Rha2VyIC0gdGhlIHN0YWtlciBhY2NvdW50IHRvIHNlbmQgcmV3YXJkcyB0bwovLyBAcGFyYW0gcmV3YXJkVG9rZW4gLSBpZCBvZiByZXdhcmQgdG9rZW4gKHRvIGF2b2lkIHJlLWVudHJhbmN5IGluIGNhbGxpbmcgdmFsaWRhdG9yIGJhY2sgdG8gZ2V0IGlkKQovLyBAcGFyYW0gYW1vdW50VG9TZW5kIC0gYW1vdW50IHRvIHNlbmQgdGhlIHN0YWtlciAodGhlcmUgaXMgc2lnbmlmaWNhbnQgdHJ1c3QgaGVyZSghKSAtIGFsc28gd2h5IG9ubHkgdmFsaWRhdG9yIGNhbiBjYWxsIHVzCnBheVRva2VuUmV3YXJkOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ4MQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKS5hZGRyZXNzLAoJLy8gICAgICAgJ3RoaXMgY2FuIG9ubHkgYmUgY2FsbGVkIHZpYSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0JwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdGhpcyBjYW4gb25seSBiZSBjYWxsZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODUKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ211c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMnKQoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgk9PQoKCS8vIG11c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODYKCS8vIGFzc2VydChyZXdhcmRUb2tlbiAhPT0gMCwgJ2NhbiBvbmx5IGNsYWltIHRva2VuIHJld2FyZHMgZnJvbSB2YWxpZGF0b3IgdGhhdCBoYXMgdGhlbScpCglmcmFtZV9kaWcgLTIgLy8gcmV3YXJkVG9rZW46IHVpbnQ2NAoJaW50IDAKCSE9CgoJLy8gY2FuIG9ubHkgY2xhaW0gdG9rZW4gcmV3YXJkcyBmcm9tIHZhbGlkYXRvciB0aGF0IGhhcyB0aGVtCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDg5CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbiksCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiBzdGFrZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogYW1vdW50VG9TZW5kLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDkwCgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbikKCWZyYW1lX2RpZyAtMiAvLyByZXdhcmRUb2tlbjogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0OTEKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ5MgoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU2VuZDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyB1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyOgoJLy8gYWxnb2RWZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUFsZ29kVmVyKHN0cmluZyl2b2lkCgljYWxsc3ViIHVwZGF0ZUFsZ29kVmVyCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVBbGdvZFZlcihhbGdvZFZlcjogc3RyaW5nKTogdm9pZAovLwovLyBVcGRhdGUgdGhlIChob25vciBzeXN0ZW0pIGFsZ29kIHZlcnNpb24gZm9yIHRoZSBub2RlIGFzc29jaWF0ZWQgdG8gdGhpcyBwb29sLiAgVGhlIG5vZGUgbWFuYWdlbWVudCBkYWVtb24KLy8gc2hvdWxkIGNvbXBhcmUgaXRzIGN1cnJlbnQgbm9kZXMgdmVyc2lvbiB0byB0aGUgdmVyc2lvbiBzdG9yZWQgaW4gZ2xvYmFsIHN0YXRlLCB1cGRhdGluZyB3aGVuIGRpZmZlcmVudC4KLy8gVGhlIHJldGkgbm9kZSBkYWVtb24gY29tcG9zZXMgaXRzIG93biB2ZXJzaW9uIHN0cmluZyB1c2luZyBmb3JtYXQ6Ci8vIHttYWpvcn0ue21pbm9yfS57YnVpbGR9IHticmFuY2h9IFt7Y29tbWl0IGhhc2h9XSwKLy8gaWU6IDMuMjIuMCByZWwvc3RhYmxlIFs2YjUwODk3NV0KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQovLyBAcGFyYW0ge3N0cmluZ30gYWxnb2RWZXIgLSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBhbGdvcmFuZCBub2RlIGRhZW1vbiB2ZXJzaW9uIChyZXRpIG5vZGUgZGFlbW9uIGNvbXBvc2VzIGl0cyBvd24gbWV0YSB2ZXJzaW9uKQp1cGRhdGVBbGdvZFZlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDYKCS8vIGFzc2VydCh0aGlzLmlzT3duZXJPck1hbmFnZXJDYWxsZXIoKSwgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicpCgljYWxsc3ViIGlzT3duZXJPck1hbmFnZXJDYWxsZXIKCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDcKCS8vIHRoaXMuYWxnb2RWZXIudmFsdWUgPSBhbGdvZFZlcgoJYnl0ZSAweDYxNmM2NzZmNjQ1NjY1NzIgLy8gImFsZ29kVmVyIgoJZnJhbWVfZGlnIC0xIC8vIGFsZ29kVmVyOiBzdHJpbmcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGVwb2NoQmFsYW5jZVVwZGF0ZSgpdm9pZAoqYWJpX3JvdXRlX2Vwb2NoQmFsYW5jZVVwZGF0ZToKCS8vIGV4ZWN1dGUgZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkCgljYWxsc3ViIGVwb2NoQmFsYW5jZVVwZGF0ZQoJaW50IDEKCXJldHVybgoKLy8gZXBvY2hCYWxhbmNlVXBkYXRlKCk6IHZvaWQKLy8KLy8gVXBkYXRlcyB0aGUgYmFsYW5jZSBvZiBzdGFrZXJzIGluIHRoZSBwb29sIGJhc2VkIG9uIHRoZSByZWNlaXZlZCAncmV3YXJkcycgKGN1cnJlbnQgYmFsYW5jZSB2cyBrbm93biBzdGFrZWQgYmFsYW5jZSkKLy8gc3Rha2VycyBvdXRzdGFuZGluZyBiYWxhbmNlIGlzIGFkanVzdGVkIGJhc2VkIG9uIHRoZWlyICUgb2Ygc3Rha2UgYW5kIHRpbWUgaW4gdGhlIGN1cnJlbnQgZXBvY2ggLSBzbyB0aGF0IGJhbGFuY2UKLy8gY29tcG91bmRzIG92ZXIgdGltZSBhbmQgc3Rha2VyIGNhbiByZW1vdmUgdGhhdCBhbW91bnQgYXQgd2lsbC4KLy8gVGhlIHZhbGlkYXRvciBpcyBwYWlkIHRoZWlyIHBlcmNlbnRhZ2UgZWFjaCBlcG9jaCBwYXlvdXQuCi8vCi8vIE5vdGU6IEFOWU9ORSBjYW4gY2FsbCB0aGlzLgplcG9jaEJhbGFuY2VVcGRhdGU6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAzNgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjAKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjEKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMgoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjkKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB2YWxpZGF0b3JDb25maWcuZXBvY2hSb3VuZExlbmd0aCBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2OSA0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMiAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMQoJLy8gdGhpc0Vwb2NoQmVnaW4gPSBjdXJSb3VuZCAtIChjdXJSb3VuZCAlIGVwb2NoUm91bmRMZW5ndGgpCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCSUKCS0KCWZyYW1lX2J1cnkgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CgoJLy8gKmlmMjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM0CgkvLyB0aGlzLmxhc3RQYXlvdXQuZXhpc3RzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglieiAqaWYyMF9lbmQKCgkvLyAqaWYyMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM1CgkvLyBsYXN0UGF5b3V0RXBvY2ggPSB0aGlzLmxhc3RQYXlvdXQudmFsdWUgLSAodGhpcy5sYXN0UGF5b3V0LnZhbHVlICUgZXBvY2hSb3VuZExlbmd0aCkKCWJ5dGUgMHg2YzYxNzM3NDUwNjE3OTZmNzU3NCAvLyAibGFzdFBheW91dCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gbGFzdFBheW91dEVwb2NoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM5CgkvLyBhc3NlcnQobGFzdFBheW91dEVwb2NoICE9PSB0aGlzRXBvY2hCZWdpbiwgImNhbid0IGNhbGwgZXBvY2hCYWxhbmNlVXBkYXRlIGluIHNhbWUgZXBvY2ggYXMgcHJpb3IgY2FsbCIpCglmcmFtZV9kaWcgNCAvLyBsYXN0UGF5b3V0RXBvY2g6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJIT0KCgkvLyBjYW4ndCBjYWxsIGVwb2NoQmFsYW5jZVVwZGF0ZSBpbiBzYW1lIGVwb2NoIGFzIHByaW9yIGNhbGwKCWFzc2VydAoKKmlmMjBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU0MgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDUKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGN1clJvdW5kCglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDYKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgKz0gMQoJYnl0ZSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgLy8gImVwb2NoTnVtYmVyIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgkrCglieXRlIDB4NjU3MDZmNjM2ODRlNzU2ZDYyNjU3MiAvLyAiZXBvY2hOdW1iZXIiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NTEKCS8vIGlzVG9rZW5FbGlnaWJsZSA9IHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaW50IDAKCSE9CglmcmFtZV9idXJ5IDUgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MgoJLy8gcG9vbE9uZUFwcElEID0gdGhpcy5hcHAuaWQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NTMKCS8vIHBvb2xPbmVBZGRyZXNzID0gdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKCS8vICppZjIxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1OAoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjIxX2VuZAoKCS8vICppZjIxX2NvbnNlcXVlbnQKCS8vICppZjIyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1OQoJLy8gdGhpcy5wb29sSWQudmFsdWUgIT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJIT0KCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjEKCS8vIHBvb2xPbmVBcHBJRCA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0UG9vbEFwcElkPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWUsIDFdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTYyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCAxXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjUKCS8vIHBvb2xPbmVBZGRyZXNzID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sT25lQXBwSUQpLmFkZHJlc3MKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKKmlmMjJfZW5kOgoJLy8gKmlmMjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcwCgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgk9PQoJYnogKmlmMjNfZWxzZQoKCS8vICppZjIzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzEKCS8vIHRva2VuUGF5b3V0UmF0aW8gPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLnNldFRva2VuUGF5b3V0UmF0aW8+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWIgKmlmMjNfZW5kCgoqaWYyM19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU3NwoJLy8gdG9rZW5QYXlvdXRSYXRpbyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xPbmVBcHBJRCksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3sgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfV0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbygodWludDY0LHVpbnQ2NCx1aW50NjQpKSh1aW50NjRbMjRdLHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzgKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbE9uZUFwcElEKQoJZnJhbWVfZGlnIDYgLy8gcG9vbE9uZUFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzkKCS8vIG1ldGhvZEFyZ3M6IFt7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH1dCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA4IC8vIHRva2VuUGF5b3V0UmF0aW86IFBvb2xUb2tlblBheW91dFJhdGlvCgoqaWYyM19lbmQ6CgoqaWYyMV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTg2CgkvLyB2YWxpZGF0b3JTdGF0ZSA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yU3RhdGU+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU4OAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTkwCgkvLyByZXdhcmRUb2tlbkhlbGRCYWNrID0gdmFsaWRhdG9yU3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDkgLy8gdmFsaWRhdG9yU3RhdGU6ICh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMTAgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU5NgoJLy8gYWxnb1Jld2FyZEF2YWlsID0gdGhpcy5hcHAuYWRkcmVzcy5iYWxhbmNlIC0gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXBvcAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTcKCS8vIGlzUG9vbFNhdHVyYXRlZCA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSAxMiAvLyBpc1Bvb2xTYXR1cmF0ZWQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk4CgkvLyBhbGdvU2F0dXJhdGlvbkFtdCA9IHRoaXMuYWxnb1NhdHVyYXRpb25MZXZlbCgpCgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWZyYW1lX2J1cnkgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoKCS8vICppZjI0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNgoJLy8gdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkID4gYWxnb1NhdHVyYXRpb25BbXQKCWZyYW1lX2RpZyA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMCA4CglidG9pCglmcmFtZV9kaWcgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoJPgoJYnogKmlmMjRfZW5kCgoJLy8gKmlmMjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNwoJLy8gaXNQb29sU2F0dXJhdGVkID0gdHJ1ZQoJaW50IDEKCWZyYW1lX2J1cnkgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCgoqaWYyNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjEzCgkvLyB0b2tlblJld2FyZEF2YWlsID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE2CgkvLyBleGNlc3NUb0ZlZVNpbmsgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNwoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2MTgKCS8vIHRva2VuUmV3YXJkQmFsID0KCS8vICAgICAgICAgcG9vbE9uZUFkZHJlc3MuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDcgLy8gcG9vbE9uZUFkZHJlc3M6IGFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEwIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxOCAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gKmlmMjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjIzCgkvLyB0b2tlblJld2FyZEJhbCA+PSB2YWxpZGF0b3JDb25maWcucmV3YXJkUGVyUGF5b3V0CglmcmFtZV9kaWcgMTggLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTYxIDgKCWJ0b2kKCT49CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjI5CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbdGhpcy5wb29sSWQudmFsdWUgLSAxXQoJZnJhbWVfZGlnIDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWludCAwCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCS0KCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfYnVyeSAxOSAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzMgoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9IHdpZGVSYXRpbyhbdmFsaWRhdG9yQ29uZmlnLnJld2FyZFBlclBheW91dCwgb3VyUG9vbFBjdE9mV2hvbGVdLCBbMV8wMDBfMDAwXSkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2MSA4CglidG9pCglmcmFtZV9kaWcgMTkgLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJbXVsdwoJaW50IDAKCWludCAxXzAwMF8wMDAKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoKKmlmMjZfZW5kOgoKKmlmMjVfZW5kOgoJLy8gKmlmMjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjM1CgkvLyB0b2tlblJld2FyZEF2YWlsID09PSAwCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPT0KCWJ6ICppZjI3X2VuZAoKCS8vICppZjI3X2NvbnNlcXVlbnQKCS8vICppZjI4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MAoJLy8gYWxnb1Jld2FyZEF2YWlsIDwgMV8wMDBfMDAwCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWludCAxXzAwMF8wMDAKCTwKCWJ6ICppZjI4X2VuZAoKCS8vICppZjI4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDEKCS8vIGxvZygnIXRva2VuJiYhbm9hbGdvIHRvIHBheScpCglieXRlIDB4MjE3NDZmNmI2NTZlMjYyNjIxNmU2ZjYxNmM2NzZmMjA3NDZmMjA3MDYxNzkgLy8gIiF0b2tlbiYmIW5vYWxnbyB0byBwYXkiCglsb2cKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjQyCgkvLyByZXR1cm47CglyZXRzdWIKCippZjI4X2VuZDoKCippZjI3X2VuZDoKCS8vICppZjI5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0NgoJLy8gaXNQb29sU2F0dXJhdGVkCglmcmFtZV9kaWcgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCglieiAqaWYyOV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjI5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDkKCS8vIGRpbWluaXNoZWRSZXdhcmQgPSB3aWRlUmF0aW8oW2FsZ29SZXdhcmRBdmFpbCwgYWxnb1NhdHVyYXRpb25BbXRdLCBbdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkXSkKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDEzIC8vIGFsZ29TYXR1cmF0aW9uQW10OiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTAgOAoJYnRvaQoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MQoJLy8gZXhjZXNzVG9GZWVTaW5rID0gYWxnb1Jld2FyZEF2YWlsIC0gZGltaW5pc2hlZFJld2FyZAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CgktCglmcmFtZV9idXJ5IDE3IC8vIGV4Y2Vzc1RvRmVlU2luazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgICBhbW91bnQ6IGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgICAgcmVjZWl2ZXI6IHRoaXMuZ2V0RmVlU2luaygpLAoJLy8gICAgICAgICBub3RlOiAncG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luaycsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTMKCS8vIGFtb3VudDogZXhjZXNzVG9GZWVTaW5rCglmcmFtZV9kaWcgMTcgLy8gZXhjZXNzVG9GZWVTaW5rOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1NAoJLy8gcmVjZWl2ZXI6IHRoaXMuZ2V0RmVlU2luaygpCgljYWxsc3ViIGdldEZlZVNpbmsKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU1CgkvLyBub3RlOiAncG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luaycKCWJ5dGUgMHg3MDZmNmY2YzIwNzM2MTc0NzU3MjYxNzQ2NTY0MmMyMDY1Nzg2MzY1NzM3MzIwNzQ2ZjIwNjY2NTY1MjA3MzY5NmU2YiAvLyAicG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luayIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU4CgkvLyBhbGdvUmV3YXJkQXZhaWwgPSBkaW1pbmlzaGVkUmV3YXJkCglmcmFtZV9kaWcgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CglmcmFtZV9idXJ5IDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgliICppZjI5X2VuZAoKKmlmMjlfZWxzZWlmMV9jb25kaXRpb246CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU5CgkvLyB2YWxpZGF0b3JDb25maWcucGVyY2VudFRvVmFsaWRhdG9yICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJaW50IDAKCSE9CglieiAqaWYyOV9lbmQKCgkvLyAqaWYyOV9lbHNlaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NjIKCS8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0ID0gd2lkZVJhdGlvKAoJLy8gICAgICAgICBbYWxnb1Jld2FyZEF2YWlsLCB2YWxpZGF0b3JDb25maWcucGVyY2VudFRvVmFsaWRhdG9yIGFzIHVpbnQ2NF0sCgkvLyAgICAgICAgIFsxXzAwMF8wMDBdCgkvLyAgICAgICApCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE3MyA0CglidG9pCgltdWx3CglpbnQgMAoJaW50IDFfMDAwXzAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NjgKCS8vIGFsZ29SZXdhcmRBdmFpbCAtPSB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vICppZjMwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY3NQoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgPiAwCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJaW50IDAKCT4KCWJ6ICppZjMwX2VuZAoKCS8vICppZjMwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NzgKCS8vIG1hbmFnZXJUb3BPZmYgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCgkvLyAqaWYzMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODAKCS8vIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyICE9PSB2YWxpZGF0b3JDb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgJiYKCS8vICAgICAgICAgICB2YWxpZGF0b3JDb25maWcubWFuYWdlci5iYWxhbmNlIC0gdmFsaWRhdG9yQ29uZmlnLm1hbmFnZXIubWluQmFsYW5jZSA8IDJfMTAwXzAwMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgMzIKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE3NyAzMgoJIT0KCWR1cAoJYnogKnNraXBfYW5kMwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgMzIKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCS0KCWludCAyXzEwMF8wMDAKCTwKCSYmCgoqc2tpcF9hbmQzOgoJYnogKmlmMzFfZW5kCgoJLy8gKmlmMzFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MwoJLy8gbWFuYWdlclRvcE9mZiA9IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IDwgMl8xMDBfMDAwID8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgOiAyXzEwMF8wMDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnQgMl8xMDBfMDAwCgk8CglieiAqdGVybmFyeTFfZmFsc2UKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgliICp0ZXJuYXJ5MV9lbmQKCip0ZXJuYXJ5MV9mYWxzZToKCWludCAyXzEwMF8wMDAKCip0ZXJuYXJ5MV9lbmQ6CglmcmFtZV9idXJ5IDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODQKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgICAgIGFtb3VudDogbWFuYWdlclRvcE9mZiwKCS8vICAgICAgICAgICAgIHJlY2VpdmVyOiB2YWxpZGF0b3JDb25maWcubWFuYWdlciwKCS8vICAgICAgICAgICAgIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njg1CgkvLyBhbW91bnQ6IG1hbmFnZXJUb3BPZmYKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NgoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODcKCS8vIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycKCWJ5dGUgMHg3NjYxNmM2OTY0NjE3NDZmNzIyMDcyNjU3NzYxNzI2NDIwNzQ2ZjIwNmQ2MTZlNjE2NzY1NzIyMDY2NmY3MjIwNjY3NTZlNjQ2OTZlNjcyMDY1NzA2ZjYzNjgyMDc1NzA2NDYxNzQ2NTczIC8vICJ2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcyIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjMxX2VuZDoKCS8vICppZjMyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MAoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgLSBtYW5hZ2VyVG9wT2ZmID4gMAoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWludCAwCgk+CglieiAqaWYzMl9lbmQKCgkvLyAqaWYzMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgICBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZiwKCS8vICAgICAgICAgICAgIHJlY2VpdmVyOiB2YWxpZGF0b3JDb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MsCgkvLyAgICAgICAgICAgICBub3RlOiAndmFsaWRhdG9yIHJld2FyZCcsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkyCgkvLyBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZgoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MwoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5NAoJLy8gbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQnCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyMjA3MjY1Nzc2MTcyNjQgLy8gInZhbGlkYXRvciByZXdhcmQiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYzMl9lbmQ6CgoqaWYzMF9lbmQ6CgoqaWYyOV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzA2CgkvLyBpbmNyZWFzZWRTdGFrZSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCgkvLyAqaWYzM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzAKCS8vIGFsZ29SZXdhcmRBdmFpbCAhPT0gMCB8fCB0b2tlblJld2FyZEF2YWlsICE9PSAwCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWludCAwCgkhPQoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJIT0KCXx8Cgoqc2tpcF9vcjE6CglieiAqaWYzM19lbmQKCgkvLyAqaWYzM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMxCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMgoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyNCAvLyBpOiB1aW50NjQKCipmb3JfNDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzIKCS8vIGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgMjQgLy8gaTogdWludDY0CglpbnQgMjAwCgk8CglieiAqZm9yXzRfZW5kCgoJLy8gKmlmMzRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMzCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDQwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDQwMAoJPAoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNgoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCA2NAoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmMzVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzM3CgkvLyBjbXBTdGFrZXIuYWNjb3VudCAhPT0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglieiAqaWYzNV9lbmQKCgkvLyAqaWYzNV9jb25zZXF1ZW50CgkvLyAqaWYzNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzgKCS8vIGNtcFN0YWtlci5lbnRyeVJvdW5kID49IHRoaXNFcG9jaEJlZ2luCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCT49CglieiAqaWYzNl9lbHNlCgoJLy8gKmlmMzZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc0MQoJLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlICs9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJKwoJZnJhbWVfYnVyeSAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJYiAqaWYzNl9lbmQKCippZjM2X2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQ1CgkvLyB0aW1lSW5Qb29sID0gdGhpc0Vwb2NoQmVnaW4gLSBjbXBTdGFrZXIuZW50cnlSb3VuZAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA1NiA4CglidG9pCgktCglmcmFtZV9idXJ5IDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoKCS8vICppZjM3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc0OQoJLy8gdGltZUluUG9vbCA8IGVwb2NoUm91bmRMZW5ndGgKCWZyYW1lX2RpZyAyNiAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJPAoJYnogKmlmMzdfZW5kCgoJLy8gKmlmMzdfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MAoJLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlICs9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJKwoJZnJhbWVfYnVyeSAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NTEKCS8vIHRpbWVQZXJjZW50YWdlID0gKHRpbWVJblBvb2wgKiAxMDAwKSAvIGVwb2NoUm91bmRMZW5ndGgKCWZyYW1lX2RpZyAyNiAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCWludCAxMDAwCgkqCglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMjcgLy8gdGltZVBlcmNlbnRhZ2U6IHVpbnQ2NAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MwoJLy8gdG9rZW5SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludCAwCgk+CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzU1CgkvLyBzdGFrZXJUb2tlblJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbCwgdGltZVBlcmNlbnRhZ2VdLAoJLy8gICAgICAgICAgICAgICAgICAgW3RoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlLCAxMDAwXQoJLy8gICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjggLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjIKCS8vIHRva2VuUmV3YXJkQXZhaWwgLT0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgktCglmcmFtZV9idXJ5IDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzY0CgkvLyB0b2tlblJld2FyZFBhaWRPdXQgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNSAvLyB0b2tlblJld2FyZFBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDI4IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCippZjM4X2VuZDoKCS8vICppZjM5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2NgoJLy8gYWxnb1Jld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPgoJYnogKmlmMzlfZW5kCgoJLy8gKmlmMzlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2OAoJLy8gc3Rha2VyUmV3YXJkID0gd2lkZVJhdGlvKAoJLy8gICAgICAgICAgICAgICAgICAgW2NtcFN0YWtlci5iYWxhbmNlLCBhbGdvUmV3YXJkQXZhaWwsIHRpbWVQZXJjZW50YWdlXSwKCS8vICAgICAgICAgICAgICAgICAgIFt0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSwgMTAwMF0KCS8vICAgICAgICAgICAgICAgICApCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjkgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc1CgkvLyBhbGdvUmV3YXJkQXZhaWwgLT0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NzgKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc5CgkvLyBjbXBTdGFrZXIudG90YWxSZXdhcmRlZCArPSBzdGFrZXJSZXdhcmQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0MCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc4MAoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjM5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3ODMKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYzN19lbmQ6CgoqaWYzNl9lbmQ6CgoqaWYzNV9lbmQ6CgoqZm9yXzRfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMyCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyNCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDI0IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzQKCipmb3JfNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzkxCgkvLyBuZXdQb29sVG90YWxTdGFrZSA9IHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIC0gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgktCglmcmFtZV9idXJ5IDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTUKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID4gMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWludCAwCgk+CglieiAqaWY0MF9lbmQKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDMxIC8vIGk6IHVpbnQ2NAoKKmZvcl81OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc5NwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzMSAvLyBpOiB1aW50NjQKCWludCAyMDAKCTwKCWJ6ICpmb3JfNV9lbmQKCgkvLyAqaWY0MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTgKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMjAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnQgMjAwCgk8CglieiAqaWY0MV9lbmQKCgkvLyAqaWY0MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAxCgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWY0Ml9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MDIKCS8vIGNtcFN0YWtlci5hY2NvdW50ICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzICYmIGNtcFN0YWtlci5lbnRyeVJvdW5kIDwgdGhpc0Vwb2NoQmVnaW4KCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQ0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCTwKCSYmCgoqc2tpcF9hbmQ0OgoJYnogKmlmNDJfZW5kCgoJLy8gKmlmNDJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwMwoJLy8gdGltZUluUG9vbCA9IHRoaXNFcG9jaEJlZ2luIC0gY21wU3Rha2VyLmVudHJ5Um91bmQKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJLQoJZnJhbWVfYnVyeSAzMyAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCgkvLyAqaWY0M19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MDUKCS8vIHRpbWVJblBvb2wgPj0gZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDMzIC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0Cgk+PQoJYnogKmlmNDNfZW5kCgoJLy8gKmlmNDNfY29uc2VxdWVudAoJLy8gKmlmNDRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODEwCgkvLyB0b2tlblJld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50IDAKCT4KCWJ6ICppZjQ0X2VuZAoKCS8vICppZjQ0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTEKCS8vIHN0YWtlclRva2VuUmV3YXJkID0gd2lkZVJhdGlvKFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbF0sIFtuZXdQb29sVG90YWxTdGFrZV0pCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgMzAgLy8gbmV3UG9vbFRvdGFsU3Rha2U6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMzQgLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2RpZyAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODE1CgkvLyB0b2tlblJld2FyZFBhaWRPdXQgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNSAvLyB0b2tlblJld2FyZFBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDM0IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCippZjQ0X2VuZDoKCS8vICppZjQ1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNwoJLy8gYWxnb1Jld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPgoJYnogKmlmNDVfZW5kCgoJLy8gKmlmNDVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxOAoJLy8gc3Rha2VyUmV3YXJkID0gd2lkZVJhdGlvKFtjbXBTdGFrZXIuYmFsYW5jZSwgYWxnb1Jld2FyZEF2YWlsXSwgW25ld1Bvb2xUb3RhbFN0YWtlXSkKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMQoJLy8gY21wU3Rha2VyLmJhbGFuY2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnQgMzIgLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgMzUgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCSsKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjIKCS8vIGNtcFN0YWtlci50b3RhbFJld2FyZGVkICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDQwIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgOAoJYnRvaQoJZnJhbWVfZGlnIDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODIzCgkvLyBpbmNyZWFzZWRTdGFrZSArPSBzdGFrZXJSZXdhcmQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CglmcmFtZV9kaWcgMzUgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoKKmlmNDVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyNwoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjQzX2VuZDoKCippZjQyX2VuZDoKCipmb3JfNV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMzEgLy8gaTogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCippZjQwX2VuZDoKCippZjMzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzcKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMzYgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODM4CgkvLyB0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSArPSBpbmNyZWFzZWRTdGFrZQoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzkKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoaW5jcmVhc2VkU3Rha2UgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlIDB4NzM3NDYxNmI2NTQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDM2IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChpbmNyZWFzZWRTdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0MQoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgKyBpbmNyZWFzZWRTdGFrZQoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJZHVwCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0NwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9LAoJLy8gICAgICAgICBpbmNyZWFzZWRTdGFrZSwKCS8vICAgICAgICAgdG9rZW5SZXdhcmRQYWlkT3V0LAoJLy8gICAgICAgICB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCwKCS8vICAgICAgICAgZXhjZXNzVG9GZWVTaW5rLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAic3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODQ4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDkKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9LAoJLy8gICAgICAgICBpbmNyZWFzZWRTdGFrZSwKCS8vICAgICAgICAgdG9rZW5SZXdhcmRQYWlkT3V0LAoJLy8gICAgICAgICB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCwKCS8vICAgICAgICAgZXhjZXNzVG9GZWVTaW5rLAoJLy8gICAgICAgXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTcgLy8gZXhjZXNzVG9GZWVTaW5rOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBnb09ubGluZShwYXksYnl0ZVtdLGJ5dGVbXSxieXRlW10sdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2dvT25saW5lOgoJLy8gdm90ZUtleURpbHV0aW9uOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWJ0b2kKCgkvLyB2b3RlTGFzdDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gdm90ZUZpcnN0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBzdGF0ZVByb29mUEs6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBzZWxlY3Rpb25QSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIHZvdGVQSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGZlZVBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDYgKGZlZVBheW1lbnQpIGZvciBnb09ubGluZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGdvT25saW5lCglpbnQgMQoJcmV0dXJuCgovLyBnb09ubGluZShmZWVQYXltZW50OiBQYXlUeG4sIHZvdGVQSzogYnl0ZXMsIHNlbGVjdGlvblBLOiBieXRlcywgc3RhdGVQcm9vZlBLOiBieXRlcywgdm90ZUZpcnN0OiB1aW50NjQsIHZvdGVMYXN0OiB1aW50NjQsIHZvdGVLZXlEaWx1dGlvbjogdWludDY0KTogdm9pZAovLwovLyBSZWdpc3RlcnMgYSBzdGFraW5nIHBvb2wga2V5IG9ubGluZSBhZ2FpbnN0IGEgcGFydGljaXBhdGlvbiBrZXkuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KLy8KLy8gQHBhcmFtIHtQYXlUeG59IGZlZVBheW1lbnQgLSBwYXltZW50IHRvIGNvdmVyIGV4dHJhIGZlZSBvZiBnb2luZyBvbmxpbmUgaWYgb2ZmbGluZSAtIG9yIDAgaWYgbm90IHJlbmV3YWwKLy8gQHBhcmFtIHtieXRlc30gdm90ZVBLIC0gVGhlIHZvdGUgcHVibGljIGtleS4KLy8gQHBhcmFtIHtieXRlc30gc2VsZWN0aW9uUEsgLSBUaGUgc2VsZWN0aW9uIHB1YmxpYyBrZXkuCi8vIEBwYXJhbSB7Ynl0ZXN9IHN0YXRlUHJvb2ZQSyAtIFRoZSBzdGF0ZSBwcm9vZiBwdWJsaWMga2V5LgovLyBAcGFyYW0ge3VpbnQ2NH0gdm90ZUZpcnN0IC0gVGhlIGZpcnN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlTGFzdCAtIFRoZSBsYXN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlS2V5RGlsdXRpb24gLSBUaGUgdm90ZSBrZXkgZGlsdXRpb24gdmFsdWUuCi8vIEB0aHJvd3Mge0Vycm9yfSBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjYWxsZXIgaXMgbm90IHRoZSBvd25lciBvciBhIG1hbmFnZXIuCmdvT25saW5lOgoJcHJvdG8gNyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgxCgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgyCgkvLyBleHRyYUZlZSA9IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJZnJhbWVfYnVyeSAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgzCgkvLyB2ZXJpZnlQYXlUeG4oZmVlUGF5bWVudCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiBleHRyYUZlZSB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6ImV4dHJhRmVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODQKCS8vIHNlbmRPbmxpbmVLZXlSZWdpc3RyYXRpb24oewoJLy8gICAgICAgdm90ZVBLOiB2b3RlUEssCgkvLyAgICAgICBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEssCgkvLyAgICAgICBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSywKCS8vICAgICAgIHZvdGVGaXJzdDogdm90ZUZpcnN0LAoJLy8gICAgICAgdm90ZUxhc3Q6IHZvdGVMYXN0LAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24sCgkvLyAgICAgICBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODUKCS8vIHZvdGVQSzogdm90ZVBLCglmcmFtZV9kaWcgLTIgLy8gdm90ZVBLOiBieXRlcwoJaXR4bl9maWVsZCBWb3RlUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg2CgkvLyBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEsKCWZyYW1lX2RpZyAtMyAvLyBzZWxlY3Rpb25QSzogYnl0ZXMKCWl0eG5fZmllbGQgU2VsZWN0aW9uUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg3CgkvLyBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSwoJZnJhbWVfZGlnIC00IC8vIHN0YXRlUHJvb2ZQSzogYnl0ZXMKCWl0eG5fZmllbGQgU3RhdGVQcm9vZlBLCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg4OAoJLy8gdm90ZUZpcnN0OiB2b3RlRmlyc3QKCWZyYW1lX2RpZyAtNSAvLyB2b3RlRmlyc3Q6IHVpbnQ2NAoJaXR4bl9maWVsZCBWb3RlRmlyc3QKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg5CgkvLyB2b3RlTGFzdDogdm90ZUxhc3QKCWZyYW1lX2RpZyAtNiAvLyB2b3RlTGFzdDogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVMYXN0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg5MAoJLy8gdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24KCWZyYW1lX2RpZyAtNyAvLyB2b3RlS2V5RGlsdXRpb246IHVpbnQ2NAoJaXR4bl9maWVsZCBWb3RlS2V5RGlsdXRpb24KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODkxCgkvLyBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGdvT2ZmbGluZSgpdm9pZAoqYWJpX3JvdXRlX2dvT2ZmbGluZToKCS8vIGV4ZWN1dGUgZ29PZmZsaW5lKCl2b2lkCgljYWxsc3ViIGdvT2ZmbGluZQoJaW50IDEKCXJldHVybgoKLy8gZ29PZmZsaW5lKCk6IHZvaWQKLy8KLy8gTWFya3MgYSBzdGFraW5nIHBvb2wga2V5IE9GRkxJTkUuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KZ29PZmZsaW5lOgoJcHJvdG8gMCAwCgoJLy8gKmlmNDZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTAzCgkvLyB0aGlzLnR4bi5zZW5kZXIgIT09IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCSE9CglieiAqaWY0Nl9lbmQKCgkvLyAqaWY0Nl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTA0CgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCippZjQ2X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MDcKCS8vIHNlbmRPZmZsaW5lS2V5UmVnaXN0cmF0aW9uKHt9KQoJaXR4bl9iZWdpbgoJaW50IGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2xpbmtUb05GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkCgljYWxsc3ViIGxpbmtUb05GRAoJaW50IDEKCXJldHVybgoKLy8gbGlua1RvTkZEKG5mZEFwcElkOiB1aW50NjQsIG5mZE5hbWU6IHN0cmluZyk6IHZvaWQKbGlua1RvTkZEOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3ZlcmlmeV9uZmRfYWRkcicsIG5mZE5hbWUsIGl0b2IobmZkQXBwSWQpLCByYXdCeXRlcyh0aGlzLmFwcC5hZGRyZXNzKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNwoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTgKCS8vIGFwcGxpY2F0aW9uQXJnczogWyd2ZXJpZnlfbmZkX2FkZHInLCBuZmROYW1lLCBpdG9iKG5mZEFwcElkKSwgcmF3Qnl0ZXModGhpcy5hcHAuYWRkcmVzcyldCglieXRlIDB4NzY2NTcyNjk2Njc5NWY2ZTY2NjQ1ZjYxNjQ2NDcyIC8vICJ2ZXJpZnlfbmZkX2FkZHIiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxOQoJLy8gYXBwbGljYXRpb25zOiBbQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCldCglmcmFtZV9kaWcgLTEgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbnMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NFsyNF0sdWludDY0KQoqYWJpX3JvdXRlX3Byb3hpZWRTZXRUb2tlblBheW91dFJhdGlvOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBvb2xLZXkpIGZvciBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbyBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbygodWludDY0LHVpbnQ2NCx1aW50NjQpKSh1aW50NjRbMjRdLHVpbnQ2NCkKCWNhbGxzdWIgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbyhwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5KTogUG9vbFRva2VuUGF5b3V0UmF0aW8KLy8KLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8gaXMgbWVhbnQgdG8gYmUgY2FsbGVkIGJ5IHBvb2xzICE9IDEgLSBjYWxsaW5nIFVTLCBwb29sICMxCi8vIFdlIG5lZWQgdG8gdmVyaWZ5IHRoYXQgd2UgYXJlIGluIGZhY3QgYmVpbmcgY2FsbGVkIGJ5IGFub3RoZXIgb2YgT1VSIHBvb2xzIChub3QgdXMpCi8vIGFuZCB0aGVuIHdlJ2xsIGNhbGwgdGhlIHZhbGlkYXRvciBvbiB0aGVpciBiZWhhbGYgdG8gdXBkYXRlIHRoZSB0b2tlbiBwYXlvdXRzCi8vIEBwYXJhbSBwb29sS2V5IC0gVmFsaWRhdG9yUG9vbEtleSB0dXBsZQpwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzMAoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9ySWQudmFsdWUgPT09IHBvb2xLZXkuaWQsICdjYWxsZXIgbXVzdCBiZSBwYXJ0IG9mIHNhbWUgdmFsaWRhdG9yIHNldCEnKQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCgkvLyBjYWxsZXIgbXVzdCBiZSBwYXJ0IG9mIHNhbWUgdmFsaWRhdG9yIHNldCEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzEKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ2NhbGxlZSBtdXN0IGJlIHBvb2wgMScpCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgoJLy8gY2FsbGVlIG11c3QgYmUgcG9vbCAxCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTMyCgkvLyBhc3NlcnQocG9vbEtleS5wb29sSWQgIT09IDEsICdjYWxsZXIgbXVzdCBOT1QgYmUgcG9vbCAxJykKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCSE9CgoJLy8gY2FsbGVyIG11c3QgTk9UIGJlIHBvb2wgMQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzNAoJLy8gY2FsbGVyUG9vbEFwcElEID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRQb29sQXBwSWQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3Bvb2xLZXkuaWQsIHBvb2xLZXkucG9vbElkXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM1CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzYKCS8vIG1ldGhvZEFyZ3M6IFtwb29sS2V5LmlkLCBwb29sS2V5LnBvb2xJZF0KCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBjYWxsZXJQb29sQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzgKCS8vIGFzc2VydChjYWxsZXJQb29sQXBwSUQgPT09IHBvb2xLZXkucG9vbEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gY2FsbGVyUG9vbEFwcElEOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM5CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0MQoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGlzT3duZXJPck1hbmFnZXJDYWxsZXIoKTogYm9vbGVhbgppc093bmVyT3JNYW5hZ2VyQ2FsbGVyOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQ4CgkvLyBPd25lckFuZE1hbmFnZXIgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcj4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk1MAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyBPd25lckFuZE1hbmFnZXI6IChhZGRyZXNzLGFkZHJlc3MpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk1MgoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlciA9PT0gT3duZXJBbmRNYW5hZ2VyWzBdIHx8IHRoaXMudHhuLnNlbmRlciA9PT0gT3duZXJBbmRNYW5hZ2VyWzFdOwoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoJZXh0cmFjdCAwIDMyCgk9PQoJZHVwCglibnogKnNraXBfb3IyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBPd25lckFuZE1hbmFnZXI6IChhZGRyZXNzLGFkZHJlc3MpCglleHRyYWN0IDMyIDMyCgk9PQoJfHwKCipza2lwX29yMjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBnZXRGZWVTaW5rKCk6IEFkZHJlc3MKZ2V0RmVlU2luazoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTYKCS8vIHJldHVybiB0aGlzLmZlZVNpbmtBZGRyOwoJbG9hZCAyMDEgLy8gVE1QTF9mZWVTaW5rQWRkcgoJcmV0c3ViCgovLyBhbGdvU2F0dXJhdGlvbkxldmVsKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBtYXhpbXVtIGFsbG93ZWQgc3Rha2UgcGVyIHZhbGlkYXRvciBiYXNlZCBvbiBhIHBlcmNlbnRhZ2Ugb2YgYWxsIGN1cnJlbnQgb25saW5lIHN0YWtlIGJlZm9yZQovLyB0aGUgdmFsaWRhdG9yIGlzIGNvbnNpZGVyZWQgc2F0dXJhdGVkIC0gd2hlcmUgcmV3YXJkcyBhcmUgZGltaW5pc2hlZC4KYWxnb1NhdHVyYXRpb25MZXZlbDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk2NgoJLy8gb25saW5lID0gdGhpcy5nZXRDdXJyZW50T25saW5lU3Rha2UoKQoJY2FsbHN1YiBnZXRDdXJyZW50T25saW5lU3Rha2UKCWZyYW1lX2J1cnkgMCAvLyBvbmxpbmU6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NjgKCS8vIHJldHVybiB3aWRlUmF0aW8oW29ubGluZSwgTUFYX1ZBTElEQVRPUl9TT0ZUX1BDVF9PRl9PTkxJTkVfMURFQ0lNQUxdLCBbMTAwMF0pOwoJZnJhbWVfZGlnIDAgLy8gb25saW5lOiB1aW50NjQKCWludCAxMDAKCW11bHcKCWludCAwCglpbnQgMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0R29PbmxpbmVGZWUoKTogdWludDY0CmdldEdvT25saW5lRmVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc1CgkvLyBpc09ubGluZSA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGlzT25saW5lOiBib29sCgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc2CgkvLyAhaXNPbmxpbmUKCWZyYW1lX2RpZyAwIC8vIGlzT25saW5lOiBib29sCgkhCglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc4CgkvLyByZXR1cm4gMl8wMDBfMDAwOwoJaW50IDJfMDAwXzAwMAoJYiAqZ2V0R29PbmxpbmVGZWUqcmV0dXJuCgoqaWY0N19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTgwCgkvLyByZXR1cm4gMDsKCWludCAwCgoqZ2V0R29PbmxpbmVGZWUqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGdldEN1cnJlbnRPbmxpbmVTdGFrZSgpOiB1aW50NjQKZ2V0Q3VycmVudE9ubGluZVN0YWtlOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk4NQoJLy8gcmV0dXJuIDJfMDAwXzAwMF8wMDBfMDAwXzAwMDsKCWludCAyXzAwMF8wMDBfMDAwXzAwMF8wMDAKCXJldHN1YgoKLy8gY2hlY2tJZkJpbkNsb3NlZCgpOiB2b2lkCi8vCi8vIENoZWNrcyBpZiB0aGUgY3VycmVudCByb3VuZCBpcyBpbiBhICduZXcgY2FsY3VsYXRpb24gYmluJyAoYXBwcm94aW1hdGVseSBkYWlseSkKY2hlY2tJZkJpbkNsb3NlZDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTkyCgkvLyBjdXJyZW50QmluU2l6ZSA9IHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIGFzIHVpbnQxMjgKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgoJLy8gKmlmNDhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTkzCgkvLyBnbG9iYWxzLnJvdW5kID49IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIChjdXJyZW50QmluU2l6ZSBhcyB1aW50NjQpCglnbG9iYWwgUm91bmQKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMCAvLyBjdXJyZW50QmluU2l6ZTogdW5zYWZlIHVpbnQxMjgKCWR1cAoJYml0bGVuCglpbnQgNjQKCTw9CgoJLy8gY3VycmVudEJpblNpemUgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCglidG9pCgkrCgk+PQoJYnogKmlmNDhfZW5kCgoJLy8gKmlmNDhfY29uc2VxdWVudAoJLy8gKmlmNDlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTk0CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmNDlfZW5kCgoJLy8gKmlmNDlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NQoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmNDlfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NwoJLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOCA9IGN1cnJlbnRCaW5TaXplICogKDM2NSBhcyB1aW50MTI4KQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNmQKCWIqCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMSAvLyBhcHByb3hSb3VuZHNQZXJZZWFyOiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgLyBjdXJyZW50QmluU2l6ZQoJYnl0ZSAweDczNzQ2MTZiNjU0MTYzNjM3NTZkNzU2YzYxNzQ2ZjcyIC8vICJzdGFrZUFjY3VtdWxhdG9yIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoJYi8KCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSAvIGN1cnJlbnRCaW5TaXplIG92ZXJmbG93ZWQgMTI4IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDE2CgktCglzd2FwCglzdWJzdHJpbmczCglmcmFtZV9idXJ5IDIgLy8gYXZnU3Rha2U6IHVpbnQxMjgKCgkvLyAqaWY1MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTkKCS8vIGF2Z1N0YWtlICE9PSAwCglmcmFtZV9kaWcgMiAvLyBhdmdTdGFrZTogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliIT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDAzCgkvLyBhcHI6IHVpbnQxMjggPQoJLy8gICAgICAgICAgICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICoKCS8vICAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKQoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcxMAoJYioKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgliLwoJZnJhbWVfZGlnIDEgLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJYioKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICpcbiAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAzIC8vIGFwcjogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDA3CgkvLyBhbHBoYTogdWludDEyOCA9IDEwIGFzIHVpbnQxMjgKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYQoJZnJhbWVfYnVyeSA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoKCS8vICppZjUxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMDkKCS8vIGF2Z1N0YWtlID4gMzAwMDAwMDAwMDAwCglmcmFtZV9kaWcgMiAvLyBhdmdTdGFrZTogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NWQ5NjRiODAwCgliPgoJYnogKmlmNTFfZW5kCgoJLy8gKmlmNTFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMTAKCS8vIGFscGhhID0gOTAgYXMgdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoqaWY1MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAxMgoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPQoJLy8gICAgICAgICAgICh0aGlzLndlaWdodGVkTW92aW5nQXZlcmFnZS52YWx1ZSAqICgoMTAwIGFzIHVpbnQxMjgpIC0gYWxwaGEpKSAvICgxMDAgYXMgdWludDEyOCkgKwoJLy8gICAgICAgICAgIChhcHIgKiBhbHBoYSkgLyAoMTAwIGFzIHVpbnQxMjgpCglieXRlIDB4NjU3NzZkNjEgLy8gImV3bWEiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKCWZyYW1lX2RpZyA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoJYi0KCWIqCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKCWIvCglmcmFtZV9kaWcgMyAvLyBhcHI6IHVpbnQxMjgKCWZyYW1lX2RpZyA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoJYioKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWIrCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyAodGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgKiAoKDEwMCBhcyB1aW50MTI4KSAtIGFscGhhKSkgLyAoMTAwIGFzIHVpbnQxMjgpICtcbiAgICAgICAgICAoYXByICogYWxwaGEpIC8gKDEwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCippZjUwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE4CgkvLyB0aGlzLnNldFJvdW5kc1BlckRheSgpCgljYWxsc3ViIHNldFJvdW5kc1BlckRheQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAodGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgYXMgdWludDEyOCkgKiAodGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYioKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vICh0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSBhcyB1aW50MTI4KSAqICh0aGlzLnJvdW5kc1BlckRheS52YWx1ZSBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAyMAoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IDAKCWJ5dGUgMHg3MjY1Nzc2MTcyNjQ0MTYzNjM3NTZkNzU2YzYxNzQ2ZjcyIC8vICJyZXdhcmRBY2N1bXVsYXRvciIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIxCgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJJQoJLQoJYXBwX2dsb2JhbF9wdXQKCippZjQ4X2VuZDoKCXJldHN1YgoKLy8gc2V0Um91bmRzUGVyRGF5KCk6IHZvaWQKc2V0Um91bmRzUGVyRGF5OgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMjYKCS8vIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlID0gQVZHX1JPVU5EU19QRVJfREFZCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglpbnQgMzA4NTcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImdhcygpdm9pZCIKCW1ldGhvZCAiaW5pdFN0b3JhZ2UocGF5KXZvaWQiCgltZXRob2QgImFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NCIKCW1ldGhvZCAicmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZCIKCW1ldGhvZCAiY2xhaW1Ub2tlbnMoKXZvaWQiCgltZXRob2QgImdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJbWV0aG9kICJwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAidXBkYXRlQWxnb2RWZXIoc3RyaW5nKXZvaWQiCgltZXRob2QgImVwb2NoQmFsYW5jZVVwZGF0ZSgpdm9pZCIKCW1ldGhvZCAiZ29PbmxpbmUocGF5LGJ5dGVbXSxieXRlW10sYnl0ZVtdLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImdvT2ZmbGluZSgpdm9pZCIKCW1ldGhvZCAibGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZCIKCW1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nYXMgKmFiaV9yb3V0ZV9pbml0U3RvcmFnZSAqYWJpX3JvdXRlX2FkZFN0YWtlICphYmlfcm91dGVfcmVtb3ZlU3Rha2UgKmFiaV9yb3V0ZV9jbGFpbVRva2VucyAqYWJpX3JvdXRlX2dldFN0YWtlckluZm8gKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZCAqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyICphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlICphYmlfcm91dGVfZ29PbmxpbmUgKmFiaV9yb3V0ZV9nb09mZmxpbmUgKmFiaV9yb3V0ZV9saW5rVG9ORkQgKmFiaV9yb3V0ZV9wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfVXBkYXRlQXBwbGljYXRpb246CgltZXRob2QgInVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIFVwZGF0ZUFwcGxpY2F0aW9uCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9mZWVTaW5rQWRkcgpzdG9yZSAyMDEKcHVzaGJ5dGVzIFRNUExfbmZkUmVnaXN0cnlBcHBJZApidG9pCnN0b3JlIDIwMAoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfVXBkYXRlQXBwbGljYXRpb24gKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfdXBkYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIHVwZGF0ZUFwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVBcHBsaWNhdGlvbigpOiB2b2lkCnVwZGF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IEFkZHJlc3MuZnJvbUFkZHJlc3MoJ0xaNFYySVJWTENYRkpLNFJFSlY0VEFHRUtFWVRBMkdNUjZUQzIzNDRPQjNMM0FGM01XWFo2WkFGSVEnKSwKCS8vICAgICAgICdUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50JwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWFkZHIgTFo0VjJJUlZMQ1hGSks0UkVKVjRUQUdFS0VZVEEyR01SNlRDMjM0NE9CM0wzQUYzTVdYWjZaQUZJUQoJPT0KCgkvLyBUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50Cglhc3NlcnQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGNyZWF0aW5nQ29udHJhY3RJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY3JlYXRpbmdDb250cmFjdElkOiB1aW50NjQsIHZhbGlkYXRvcklkOiB1aW50NjQsIHBvb2xJZDogdWludDY0LCBtaW5FbnRyeVN0YWtlOiB1aW50NjQpOiB2b2lkCi8vCi8vIEluaXRpYWxpemUgdGhlIHN0YWtpbmcgcG9vbCB3LyBvd25lciBhbmQgbWFuYWdlciwgYnV0IGNhbiBvbmx5IGJlIGNyZWF0ZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdC4KLy8gQHBhcmFtIHt1aW50NjR9IGNyZWF0aW5nQ29udHJhY3RJZCAtIGlkIG9mIGNvbnRyYWN0IHRoYXQgY29uc3RydWN0ZWQgdXMgLSB0aGUgdmFsaWRhdG9yIGFwcGxpY2F0aW9uIChzaW5nbGUgZ2xvYmFsIGluc3RhbmNlKQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgLSBpZCBvZiB2YWxpZGF0b3Igd2UncmUgYSBzdGFraW5nIHBvb2wgb2YKLy8gQHBhcmFtIHt1aW50NjR9IHBvb2xJZCAtIHdoaWNoIHBvb2wgaWQgYXJlIHdlCi8vIEBwYXJhbSB7dWludDY0fSBtaW5FbnRyeVN0YWtlIC0gbWluaW11bSBhbW91bnQgdG8gYmUgaW4gcG9vbCwgYnV0IGFsc28gbWluaW11bSBhbW91bnQgYmFsYW5jZSBjYW4ndCBnbyBiZWxvdyAod2l0aG91dCByZW1vdmluZyBhbGwhKQpjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDQgMAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTA4CgkvLyBjcmVhdGluZ0NvbnRyYWN0SWQgPT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTAKCS8vIGFzc2VydCh2YWxpZGF0b3JJZCA9PT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpbnQgMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTEKCS8vIGFzc2VydChwb29sSWQgPT09IDApCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWludCAwCgk9PQoJYXNzZXJ0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTEzCgkvLyBhc3NlcnQodmFsaWRhdG9ySWQgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE0CgkvLyBhc3NlcnQocG9vbElkICE9PSAwKQoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglpbnQgMAoJIT0KCWFzc2VydAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE2CgkvLyBhc3NlcnQobWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC00IC8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJaW50IDEwMDAwMDAKCT49CgoJLy8gc3Rha2luZyBwb29sIG11c3QgaGF2ZSBtaW5pbXVtIGVudHJ5IG9mIDEgYWxnbwoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjExNwoJLy8gdGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUgPSBjcmVhdGluZ0NvbnRyYWN0SWQKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE4CgkvLyB0aGlzLnZhbGlkYXRvcklkLnZhbHVlID0gdmFsaWRhdG9ySWQKCWJ5dGUgMHg3NjYxNmM2OTY0NjE3NDZmNzI0OTY0IC8vICJ2YWxpZGF0b3JJZCIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTkKCS8vIHRoaXMucG9vbElkLnZhbHVlID0gcG9vbElkCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMAoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlID0gMAoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMQoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgPSAwCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglpbnQgMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTIyCgkvLyB0aGlzLm1pbkVudHJ5U3Rha2UudmFsdWUgPSBtaW5FbnRyeVN0YWtlCglieXRlIDB4NmQ2OTZlNDU2ZTc0NzI3OTUzNzQ2MTZiNjUgLy8gIm1pbkVudHJ5U3Rha2UiCglmcmFtZV9kaWcgLTQgLy8gbWluRW50cnlTdGFrZTogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjMKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGdsb2JhbHMucm91bmQKCWJ5dGUgMHg2YzYxNzM3NDUwNjE3OTZmNzU3NCAvLyAibGFzdFBheW91dCIKCWdsb2JhbCBSb3VuZAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI0CgkvLyB0aGlzLmVwb2NoTnVtYmVyLnZhbHVlID0gMAoJYnl0ZSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgLy8gImVwb2NoTnVtYmVyIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyNgoJLy8gdGhpcy5zZXRSb3VuZHNQZXJEYXkoKQoJY2FsbHN1YiBzZXRSb3VuZHNQZXJEYXkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI3CgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJJQoJLQoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI4CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI5CgkvLyB0aGlzLnJld2FyZEFjY3VtdWxhdG9yLnZhbHVlID0gMAoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEzMAoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGUgMHg2NTc3NmQ2MSAvLyAiZXdtYSIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZ2FzKCl2b2lkCiphYmlfcm91dGVfZ2FzOgoJLy8gZXhlY3V0ZSBnYXMoKXZvaWQKCWNhbGxzdWIgZ2FzCglpbnQgMQoJcmV0dXJuCgovLyBnYXMoKTogdm9pZAovLwovLyBnYXMgaXMgYSBkdW1teSBuby1vcCBjYWxsIHRoYXQgY2FuIGJlIHVzZWQgdG8gcG9vbC11cCByZXNvdXJjZSByZWZlcmVuY2VzIGFuZCBvcGNvZGUgY29zdApnYXM6Cglwcm90byAwIDAKCXJldHN1YgoKLy8gY29zdEZvckJveFN0b3JhZ2UodG90YWxOdW1CeXRlczogdWludDY0KTogdWludDY0CmNvc3RGb3JCb3hTdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE0MgoJLy8gcmV0dXJuIFNDQk9YX1BFUkJPWCArIHRvdGFsTnVtQnl0ZXMgKiBTQ0JPWF9QRVJCWVRFOwoJaW50IDI1MDAKCWZyYW1lX2RpZyAtMSAvLyB0b3RhbE51bUJ5dGVzOiB1aW50NjQKCWludCA0MDAKCSoKCSsKCXJldHN1YgoKLy8gaW5pdFN0b3JhZ2UocGF5KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3RvcmFnZToKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKG1iclBheW1lbnQpIGZvciBpbml0U3RvcmFnZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGluaXRTdG9yYWdlKHBheSl2b2lkCgljYWxsc3ViIGluaXRTdG9yYWdlCglpbnQgMQoJcmV0dXJuCgovLyBpbml0U3RvcmFnZShtYnJQYXltZW50OiBQYXlUeG4pOiB2b2lkCi8vCi8vIENhbGxlZCBhZnRlciB3ZSdyZSBjcmVhdGVkIGFuZCB0aGVuIGZ1bmRlZCwgc28gd2UgY2FuIGNyZWF0ZSBvdXIgbGFyZ2Ugc3Rha2VycyBsZWRnZXIgc3RvcmFnZQovLyBDYWxsZXIgaGFzIHRvIGdldCBNQlIgYW1vdW50cyBmcm9tIFZhbGlkYXRvclJlZ2lzdHJ5IHRvIGtub3cgaG93IG11Y2ggdG8gZnVuZCB1cyB0byBjb3ZlciB0aGUgYm94IHN0b3JhZ2UgY29zdAovLyBJZiB0aGlzIGlzIHBvb2wgMSBBTkQgdGhlIHZhbGlkYXRvciBoYXMgc3BlY2lmaWVkIGEgcmV3YXJkIHRva2VuLCBvcHQtaW4gdG8gdGhhdCB0b2tlbgovLyBzbyB0aGF0IHRoZSB2YWxpZGF0b3IgY2FuIHNlZWQgdGhlIHBvb2wgd2l0aCBmdXR1cmUgcmV3YXJkcyBvZiB0aGF0IHRva2VuLgovLyBAcGFyYW0gbWJyUGF5bWVudCBwYXltZW50IGZyb20gY2FsbGVyIHdoaWNoIGNvdmVycyBtYnIgaW5jcmVhc2Ugb2YgbmV3IHN0YWtpbmcgcG9vbHMnIHN0b3JhZ2UKaW5pdFN0b3JhZ2U6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1MwoJLy8gYXNzZXJ0KCF0aGlzLnN0YWtlcnMuZXhpc3RzLCAnc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQnKQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCgoJLy8gc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTYKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1OAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjAKCS8vIGlzVG9rZW5FbGlnaWJsZSA9IHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaW50IDAKCSE9CglmcmFtZV9idXJ5IDEgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MQoJLy8gZXh0cmFNQlIgPSBpc1Rva2VuRWxpZ2libGUgJiYgdGhpcy5wb29sSWQudmFsdWUgPT09IDEgPyBBU1NFVF9IT0xESU5HX0ZFRSA6IDAKCWZyYW1lX2RpZyAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJZHVwCglieiAqc2tpcF9hbmQwCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgkmJgoKKnNraXBfYW5kMDoKCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJaW50IDEwMDAwMAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnQgMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyBleHRyYU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MgoJLy8gUG9vbEluaXRNYnIgPQoJLy8gICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICBleHRyYU1CUiArCgkvLyAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKQoJaW50IDEwMDAwMAoJZnJhbWVfZGlnIDIgLy8gZXh0cmFNQlI6IHVpbnQ2NAoJKwoJaW50IDEyODA3CgljYWxsc3ViIGNvc3RGb3JCb3hTdG9yYWdlCgkrCglmcmFtZV9idXJ5IDMgLy8gUG9vbEluaXRNYnI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjgKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IFBvb2xJbml0TWJyIH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDMgLy8gUG9vbEluaXRNYnI6IHVpbnQ2NAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoiUG9vbEluaXRNYnIifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2OQoJLy8gdGhpcy5zdGFrZXJzLmNyZWF0ZSgpCglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCglpbnQgMTI4MDAKCWJveF9jcmVhdGUKCXBvcAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTcxCgkvLyBpc1Rva2VuRWxpZ2libGUgJiYgdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWZyYW1lX2RpZyAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJZHVwCglieiAqc2tpcF9hbmQxCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTczCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgICAgYXNzZXRBbW91bnQ6IDAsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE3NAoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc1CgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE3NgoJLy8gYXNzZXRBbW91bnQ6IDAKCWludCAwCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMV9lbmQ6CglyZXRzdWIKCi8vIGFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NAoqYWJpX3JvdXRlX2FkZFN0YWtlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoc3Rha2VyKSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDEgKHN0YWtlZEFtb3VudFBheW1lbnQpIGZvciBhZGRTdGFrZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NAoJY2FsbHN1YiBhZGRTdGFrZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgc3Rha2VyOiBBZGRyZXNzKTogdWludDY0Ci8vCi8vIEFkZHMgc3Rha2UgdG8gdGhlIGdpdmVuIGFjY291bnQuCi8vIENhbiBPTkxZIGJlIGNhbGxlZCBieSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0IHRoYXQgY3JlYXRlZCB1cwovLyBNdXN0IHJlY2VpdmUgcGF5bWVudCBmcm9tIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIGFtb3VudCBiZWluZyBzdGFrZWQuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IHByaW9yIHBheW1lbnQgY29taW5nIGZyb20gdmFsaWRhdG9yIGNvbnRyYWN0IHRvIHVzIG9uIGJlaGFsZiBvZiBzdGFrZXIuCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFjY291bnQgYWRkaW5nIG5ldyBzdGFrZQovLyBAdGhyb3dzIHtFcnJvcn0gLSBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIHN0YWtpbmcgcG9vbCBpcyBmdWxsLgovLyBAcmV0dXJucyB7dWludDY0fSBuZXcgJ2VudHJ5IHJvdW5kJyByb3VuZCBudW1iZXIgb2Ygc3Rha2UgYWRkCmFkZFN0YWtlOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTIKCS8vIGFzc2VydCh0aGlzLnN0YWtlcnMuZXhpc3RzLCAnc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QnKQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICdzdGFrZSBjYW4gb25seSBiZSBhZGRlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoKCS8vIHN0YWtlIGNhbiBvbmx5IGJlIGFkZGVkIHZpYSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTk5CgkvLyBhc3NlcnQoc3Rha2VyICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIwMgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMDYKCS8vIHZlcmlmeVBheVR4bihzdGFrZWRBbW91bnRQYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MsCgkvLyAgICAgICByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFtb3VudDogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjE1CgkvLyBlbnRyeVJvdW5kID0gZ2xvYmFscy5yb3VuZCArIEFMR09SQU5EX1NUQUtJTkdfQkxPQ0tfREVMQVkKCWdsb2JhbCBSb3VuZAoJaW50IDMyMAoJKwoJZnJhbWVfYnVyeSAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMTYKCS8vIGZpcnN0RW1wdHkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMTgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50CglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjAKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlIDB4NzM3NDYxNmI2NTQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWl0b2IKCWZyYW1lX2RpZyAyIC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAzIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8wX2VuZAoKCS8vICppZjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI2CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyOQoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMwCgkvLyBjbXBTdGFrZXIuYWNjb3VudCA9PT0gc3Rha2VyCglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjNfZW5kCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMyCgkvLyBjbXBTdGFrZXIuYmFsYW5jZSArPSBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnQgMzIgLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjMzCgkvLyBjbXBTdGFrZXIuZW50cnlSb3VuZCA9IGVudHJ5Um91bmQKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDU2IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM2CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbaV0gPSBjbXBTdGFrZXIKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM4CgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJYiAqYWRkU3Rha2UqcmV0dXJuCgoqaWYzX2VuZDoKCS8vICppZjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQwCgkvLyBmaXJzdEVtcHR5ID09PSAwICYmIGNtcFN0YWtlci5hY2NvdW50ID09PSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJZHVwCglieiAqc2tpcF9hbmQyCglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJJiYKCipza2lwX2FuZDI6CglieiAqaWY0X2VuZAoKCS8vICppZjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI0MQoJLy8gZmlyc3RFbXB0eSA9IGkgKyAxCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoqaWY0X2VuZDoKCipmb3JfMF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjUKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAzIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyAqaWY1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI0NQoJLy8gZmlyc3RFbXB0eSA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnQgMAoJPT0KCWJ6ICppZjVfZW5kCgoJLy8gKmlmNV9jb25zZXF1ZW50CgkvLyBTdGFraW5nIHBvb2wgZnVsbAoJZXJyCgoqaWY1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTIKCS8vIGFzc2VydChzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCA+PSB0aGlzLm1pbkVudHJ5U3Rha2UudmFsdWUsICdtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wnKQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglieXRlIDB4NmQ2OTZlNDU2ZTc0NzI3OTUzNzQ2MTZiNjUgLy8gIm1pbkVudHJ5U3Rha2UiCglhcHBfZ2xvYmFsX2dldAoJPj0KCgkvLyBtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTQKCS8vIGFzc2VydCh0aGlzLnN0YWtlcnMudmFsdWVbZmlyc3RFbXB0eSAtIDFdLmFjY291bnQgPT09IGdsb2JhbHMuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAxCgktCglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCAzMgoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNTUKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtmaXJzdEVtcHR5IC0gMV0gPSB7CgkvLyAgICAgICBhY2NvdW50OiBzdGFrZXIsCgkvLyAgICAgICBiYWxhbmNlOiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCwKCS8vICAgICAgIHRvdGFsUmV3YXJkZWQ6IDAsCgkvLyAgICAgICByZXdhcmRUb2tlbkJhbGFuY2U6IDAsCgkvLyAgICAgICBlbnRyeVJvdW5kOiBlbnRyeVJvdW5kLAoJLy8gICAgIH0KCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50IDEKCS0KCWludCA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gZW50cnlSb3VuZDogdWludDY0CglpdG9iCgljb25jYXQKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI2MgoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlICs9IDEKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjYzCgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKKmFkZFN0YWtlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3JlbW92ZVN0YWtlOgoJLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc3Rha2VyKSBmb3IgcmVtb3ZlU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoJY2FsbHN1YiByZW1vdmVTdGFrZQoJaW50IDEKCXJldHVybgoKLy8gcmVtb3ZlU3Rha2Uoc3Rha2VyOiBBZGRyZXNzLCBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gUmVtb3ZlcyBzdGFrZSBvbiBiZWhhbGYgb2YgY2FsbGVyIChyZW1vdmluZyBvd24gc3Rha2UpLiAgSWYgYW55IHRva2VuIHJld2FyZHMgZXhpc3QsIHRob3NlIGFyZSBhbHdheXMgc2VudCBpbgovLyBmdWxsLiBBbHNvIG5vdGlmaWVzIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIHRoaXMgcG9vbHMgdmFsaWRhdG9yIG9mIHRoZSBzdGFrZXIgLyBiYWxhbmNlIGNoYW5nZXMuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gYWNjb3VudCB0byByZW1vdmUuICBub3JtYWxseSBzYW1lIGFzIHNlbmRlciwgYnV0IHRoZSB2YWxpZGF0b3Igb3duZXIgb3IgbWFuYWdlciBjYW4gYWxzbyBjYWxsCi8vIHRoaXMgdG8gcmVtb3ZlIHRoZSBzcGVjaWZpZWQgc3Rha2VyIGV4cGxpY2l0bHkuIFRoZSByZW1vdmVkIHN0YWtlIE1VU1Qgb25seSBnbyB0byB0aGUgc3Rha2VyIG9mIGNvdXJzZS4gIFRoaXMgaXMKLy8gc28gYSB2YWxpZGF0b3IgY2FuIHNodXQgZG93biBhIHBvb29sIGFuZCByZWZ1bmQgdGhlIHN0YWtlcnMuICBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIGtpY2sgb3V0IHN0YWtlcnMgd2hvIG5vIGxvbmdlcgovLyBtZWV0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIChkZXRlcm1pbmVkIGJ5IHRoZSBub2RlIGRhZW1vbikuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1Vuc3Rha2UgLSBUaGUgYW1vdW50IG9mIHN0YWtlIHRvIGJlIHJlbW92ZWQuICBTcGVjaWZ5IDAgdG8gcmVtb3ZlIGFsbCBzdGFrZS4KLy8gQHRocm93cyB7RXJyb3J9IElmIHRoZSBhY2NvdW50IGhhcyBpbnN1ZmZpY2llbnQgYmFsYW5jZSBvciBpZiB0aGUgYWNjb3VudCBpcyBub3QgZm91bmQuCnJlbW92ZVN0YWtlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNgoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgwCgkvLyBzdGFrZXIgIT09IHRoaXMudHhuLnNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJIT0KCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLAoJLy8gICAgICAgICAnSWYgc3Rha2VyIGlzIG5vdCBzZW5kZXIgaW4gcmVtb3ZlU3Rha2UgY2FsbCwgdGhlbiBzZW5kZXIgTVVTVCBiZSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICAgICkKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIElmIHN0YWtlciBpcyBub3Qgc2VuZGVyIGluIHJlbW92ZVN0YWtlIGNhbGwsIHRoZW4gc2VuZGVyIE1VU1QgYmUgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKKmlmNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjg3CgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjkwCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTEKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5MwoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjk0CgkvLyBjbXBTdGFrZXIuYWNjb3VudCA9PT0gc3Rha2VyCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjhfZW5kCgoJLy8gKmlmOF9jb25zZXF1ZW50CgkvLyAqaWY5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5NQoJLy8gYW1vdW50VG9VbnN0YWtlID09PSAwCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmOV9lbmQKCgkvLyAqaWY5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTcKCS8vIGFtb3VudFRvVW5zdGFrZSA9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfYnVyeSAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoKKmlmOV9lbmQ6CgkvLyAqaWYxMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTkKCS8vIGNtcFN0YWtlci5iYWxhbmNlIDwgYW1vdW50VG9VbnN0YWtlCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0Cgk8CglieiAqaWYxMF9lbmQKCgkvLyAqaWYxMF9jb25zZXF1ZW50CgkvLyBJbnN1ZmZpY2llbnQgYmFsYW5jZQoJZXJyCgoqaWYxMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzAyCgkvLyBjbXBTdGFrZXIuYmFsYW5jZSAtPSBhbW91bnRUb1Vuc3Rha2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCS0KCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwMwoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50VG9VbnN0YWtlCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CgktCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDUKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDYKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPiAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDggOAoJYnRvaQoJaW50IDAKCT4KCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vICppZjEyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwOAoJLy8gdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJPT0KCWJ6ICppZjEyX2Vsc2UKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA5CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzEwCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTEKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDMgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgICAgICAgICBhc3NldEFtb3VudDogY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSwKCS8vICAgICAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE4CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTkKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyMAoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjIKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzIzCgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTJfZW5kCgoqaWYxMl9lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyOAoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTJfZW5kOgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgIGNtcFN0YWtlci5iYWxhbmNlID09PSAwIHx8IGNtcFN0YWtlci5iYWxhbmNlID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwKCS8vICAgICAgICAgICAnY2Fubm90IHJlZHVjZSBiYWxhbmNlIGJlbG93IG1pbmltdW0gYWxsb3dlZCBzdGFrZSB1bmxlc3MgYWxsIGlzIHJlbW92ZWQnCgkvLyAgICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnQgMAoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWJ5dGUgMHg2ZDY5NmU0NTZlNzQ3Mjc5NTM3NDYxNmI2NSAvLyAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoJfHwKCipza2lwX29yMDoKCS8vIGNhbm5vdCByZWR1Y2UgYmFsYW5jZSBiZWxvdyBtaW5pbXVtIGFsbG93ZWQgc3Rha2UgdW5sZXNzIGFsbCBpcyByZW1vdmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQyCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgYW1vdW50OiBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgcmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICBub3RlOiAndW5zdGFrZWQnLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDMKCS8vIGFtb3VudDogYW1vdW50VG9VbnN0YWtlCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0NAoJLy8gcmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDUKCS8vIG5vdGU6ICd1bnN0YWtlZCcKCWJ5dGUgMHg3NTZlNzM3NDYxNmI2NTY0IC8vICJ1bnN0YWtlZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ3CgkvLyBzdGFrZXJSZW1vdmVkID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0OAoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSAtPSAxCglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCS0KCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MQoJLy8gY21wU3Rha2VyLmFjY291bnQgPSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCAwCglnbG9iYWwgWmVyb0FkZHJlc3MKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0MAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTQKCS8vIHN0YWtlclJlbW92ZWQgPSB0cnVlCglpbnQgMQoJZnJhbWVfYnVyeSA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTkKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgNSAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjAKCS8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4ID0gKGFtb3VudFRvVW5zdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDUgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCWl0b2IKCWIqCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyAoYW1vdW50VG9VbnN0YWtlIGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2MQoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlID0gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgliLQoJZHVwCgliaXRsZW4KCWludCAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2NgoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzY3CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjgKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgICAgIHN0YWtlciwKCS8vICAgICAgICAgICAgIGFtb3VudFRvVW5zdGFrZSwKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIHN0YWtlclJlbW92ZWQsCgkvLyAgICAgICAgICAgXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mzc2CgkvLyByZXR1cm47CglyZXRzdWIKCippZjhfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGFjY291bnQgbm90IGZvdW5kCgllcnIKCXJldHN1YgoKLy8gY2xhaW1Ub2tlbnMoKXZvaWQKKmFiaV9yb3V0ZV9jbGFpbVRva2VuczoKCS8vIGV4ZWN1dGUgY2xhaW1Ub2tlbnMoKXZvaWQKCWNhbGxzdWIgY2xhaW1Ub2tlbnMKCWludCAxCglyZXR1cm4KCi8vIGNsYWltVG9rZW5zKCk6IHZvaWQKLy8KLy8gQ2xhaW1zIGFsbCB0aGUgYXZhaWxhYmxlIHJld2FyZCB0b2tlbnMgYSBzdGFrZXIgaGFzIGF2YWlsYWJsZSwgc2VuZGluZyB0aGVpciBlbnRpcmUgYmFsYW5jZSB0byB0aGUgc3Rha2VyIGZyb20KLy8gcG9vbCAxIChlaXRoZXIgZGlyZWN0bHksIG9yIHZpYSB2YWxpZGF0b3ItPnBvb2wxIHRvIHBheSBpdCBvdXQpCi8vIEFsc28gbm90aWZpZXMgdGhlIHZhbGlkYXRvciBjb250cmFjdCBmb3IgdGhpcyBwb29scyB2YWxpZGF0b3Igb2YgdGhlIHN0YWtlciAvIGJhbGFuY2UgY2hhbmdlcy4KY2xhaW1Ub2tlbnM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTcKCS8vIGNtcFN0YWtlciA9IGNsb25lKHRoaXMuc3Rha2Vycy52YWx1ZVtpXSkKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCA2NAoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYxNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTgKCS8vIGNtcFN0YWtlci5hY2NvdW50ID09PSBzdGFrZXIKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCT09CglieiAqaWYxNV9lbmQKCgkvLyAqaWYxNV9jb25zZXF1ZW50CgkvLyAqaWYxNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjE2X2VuZAoKCS8vICppZjE2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDAKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmMTZfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwMgoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vICppZjE3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwNAoJLy8gdGhpcy5wb29sSWQudmFsdWUgPT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJPT0KCWJ6ICppZjE3X2Vsc2UKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA1CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA2CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDcKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDQgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDEyCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCksCgkvLyAgICAgICAgICAgICBhc3NldFJlY2VpdmVyOiBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhc3NldEFtb3VudDogY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSwKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMwoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgNCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE0CgkvLyBhc3NldFJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxNQoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MTcKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE4CgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTdfZW5kCgoqaWYxN19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyMwoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MjQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyOAoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludCA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQzMwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAic3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQzNAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDM1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWludCAwCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ0MwoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYxNV9lbmQ6CgoqZm9yXzJfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzkzCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8yCgoqZm9yXzJfZW5kOgoJLy8gYWNjb3VudCBub3QgZm91bmQKCWVycgoJcmV0c3ViCgovLyBnZXRTdGFrZXJJbmZvKGFkZHJlc3MpKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFN0YWtlckluZm86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZXJJbmZvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFN0YWtlckluZm8KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRTdGFrZXJJbmZvKHN0YWtlcjogQWRkcmVzcyk6IFN0YWtlZEluZm8KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gc3Rha2VyLgovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEByZXR1cm5zIHtTdGFrZWRJbmZvfSAtIFRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIHRoZSBnaXZlbiBzdGFrZXIuCi8vIEB0aHJvd3Mge0Vycm9yfSAtIElmIHRoZSBzdGFrZXIncyBhY2NvdW50IGlzIG5vdCBmb3VuZC4KZ2V0U3Rha2VySW5mbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8zOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIwMAoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OQoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAyMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAyMDAKCTwKCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE4X2VuZDoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ2MgoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCAzMgoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCT09CglieiAqaWYxOV9lbmQKCgkvLyAqaWYxOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDYzCgkvLyByZXR1cm4gdGhpcy5zdGFrZXJzLnZhbHVlW2ldOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqZ2V0U3Rha2VySW5mbypyZXR1cm4KCippZjE5X2VuZDoKCipmb3JfM19jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NTgKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzMKCipmb3JfM19lbmQ6CgkvLyBhY2NvdW50IG5vdCBmb3VuZAoJZXJyCgoqZ2V0U3Rha2VySW5mbypyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZDoKCS8vIGFtb3VudFRvU2VuZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gcmV3YXJkVG9rZW46IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAyIChzdGFrZXIpIGZvciBwYXlUb2tlblJld2FyZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBwYXlUb2tlblJld2FyZAoJaW50IDEKCXJldHVybgoKLy8gcGF5VG9rZW5SZXdhcmQoc3Rha2VyOiBBZGRyZXNzLCByZXdhcmRUb2tlbjogdWludDY0LCBhbW91bnRUb1NlbmQ6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gW0ludGVybmFsIHByb3RvY29sIG1ldGhvZF0gUmVtb3ZlIGEgc3BlY2lmaWVkIGFtb3VudCBvZiAnY29tbXVuaXR5IHRva2VuJyByZXdhcmRzIGZvciBhIHN0YWtlci4KLy8gVGhpcyBjYW4gT05MWSBiZSBjYWxsZWQgYnkgb3VyIHZhbGlkYXRvciBhbmQgb25seSBpZiB3ZSdyZSBwb29sIDEgLSB3aXRoIHRoZSB0b2tlbi4KLy8gTm90ZTogdGhpcyBjYW4gYWxzbyBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIGFzIHBhcnQgb2YgT1dORVIgd2FudGluZyB0byBzZW5kIHRoZSByZXdhcmQgdG9rZW5zCi8vIHNvbWV3aGVyZSBlbHNlIChpZSBpZiB0aGV5J3JlIHN1bnNldHRpbmcgdGhlaXIgdmFsaWRhdG9yIGFuZCBuZWVkIHRoZSByZXdhcmQgdG9rZW5zIGJhY2spLgovLyBJdCdzIHVwIHRvIHRoZSB2YWxpZGF0b3IgdG8gZW5zdXJlIHRoYXQgdGhlIGJhbGFuY2UgaW4gcmV3YXJkVG9rZW5IZWxkQmFjayBpcyBob25vcmVkLgovLyBAcGFyYW0gc3Rha2VyIC0gdGhlIHN0YWtlciBhY2NvdW50IHRvIHNlbmQgcmV3YXJkcyB0bwovLyBAcGFyYW0gcmV3YXJkVG9rZW4gLSBpZCBvZiByZXdhcmQgdG9rZW4gKHRvIGF2b2lkIHJlLWVudHJhbmN5IGluIGNhbGxpbmcgdmFsaWRhdG9yIGJhY2sgdG8gZ2V0IGlkKQovLyBAcGFyYW0gYW1vdW50VG9TZW5kIC0gYW1vdW50IHRvIHNlbmQgdGhlIHN0YWtlciAodGhlcmUgaXMgc2lnbmlmaWNhbnQgdHJ1c3QgaGVyZSghKSAtIGFsc28gd2h5IG9ubHkgdmFsaWRhdG9yIGNhbiBjYWxsIHVzCnBheVRva2VuUmV3YXJkOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ4MQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKS5hZGRyZXNzLAoJLy8gICAgICAgJ3RoaXMgY2FuIG9ubHkgYmUgY2FsbGVkIHZpYSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0JwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdGhpcyBjYW4gb25seSBiZSBjYWxsZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODUKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ211c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMnKQoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgk9PQoKCS8vIG11c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODYKCS8vIGFzc2VydChyZXdhcmRUb2tlbiAhPT0gMCwgJ2NhbiBvbmx5IGNsYWltIHRva2VuIHJld2FyZHMgZnJvbSB2YWxpZGF0b3IgdGhhdCBoYXMgdGhlbScpCglmcmFtZV9kaWcgLTIgLy8gcmV3YXJkVG9rZW46IHVpbnQ2NAoJaW50IDAKCSE9CgoJLy8gY2FuIG9ubHkgY2xhaW0gdG9rZW4gcmV3YXJkcyBmcm9tIHZhbGlkYXRvciB0aGF0IGhhcyB0aGVtCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDg5CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbiksCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiBzdGFrZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogYW1vdW50VG9TZW5kLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDkwCgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbikKCWZyYW1lX2RpZyAtMiAvLyByZXdhcmRUb2tlbjogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0OTEKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ5MgoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU2VuZDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyB1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyOgoJLy8gYWxnb2RWZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUFsZ29kVmVyKHN0cmluZyl2b2lkCgljYWxsc3ViIHVwZGF0ZUFsZ29kVmVyCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVBbGdvZFZlcihhbGdvZFZlcjogc3RyaW5nKTogdm9pZAovLwovLyBVcGRhdGUgdGhlIChob25vciBzeXN0ZW0pIGFsZ29kIHZlcnNpb24gZm9yIHRoZSBub2RlIGFzc29jaWF0ZWQgdG8gdGhpcyBwb29sLiAgVGhlIG5vZGUgbWFuYWdlbWVudCBkYWVtb24KLy8gc2hvdWxkIGNvbXBhcmUgaXRzIGN1cnJlbnQgbm9kZXMgdmVyc2lvbiB0byB0aGUgdmVyc2lvbiBzdG9yZWQgaW4gZ2xvYmFsIHN0YXRlLCB1cGRhdGluZyB3aGVuIGRpZmZlcmVudC4KLy8gVGhlIHJldGkgbm9kZSBkYWVtb24gY29tcG9zZXMgaXRzIG93biB2ZXJzaW9uIHN0cmluZyB1c2luZyBmb3JtYXQ6Ci8vIHttYWpvcn0ue21pbm9yfS57YnVpbGR9IHticmFuY2h9IFt7Y29tbWl0IGhhc2h9XSwKLy8gaWU6IDMuMjIuMCByZWwvc3RhYmxlIFs2YjUwODk3NV0KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQovLyBAcGFyYW0ge3N0cmluZ30gYWxnb2RWZXIgLSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBhbGdvcmFuZCBub2RlIGRhZW1vbiB2ZXJzaW9uIChyZXRpIG5vZGUgZGFlbW9uIGNvbXBvc2VzIGl0cyBvd24gbWV0YSB2ZXJzaW9uKQp1cGRhdGVBbGdvZFZlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDYKCS8vIGFzc2VydCh0aGlzLmlzT3duZXJPck1hbmFnZXJDYWxsZXIoKSwgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicpCgljYWxsc3ViIGlzT3duZXJPck1hbmFnZXJDYWxsZXIKCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDcKCS8vIHRoaXMuYWxnb2RWZXIudmFsdWUgPSBhbGdvZFZlcgoJYnl0ZSAweDYxNmM2NzZmNjQ1NjY1NzIgLy8gImFsZ29kVmVyIgoJZnJhbWVfZGlnIC0xIC8vIGFsZ29kVmVyOiBzdHJpbmcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGVwb2NoQmFsYW5jZVVwZGF0ZSgpdm9pZAoqYWJpX3JvdXRlX2Vwb2NoQmFsYW5jZVVwZGF0ZToKCS8vIGV4ZWN1dGUgZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkCgljYWxsc3ViIGVwb2NoQmFsYW5jZVVwZGF0ZQoJaW50IDEKCXJldHVybgoKLy8gZXBvY2hCYWxhbmNlVXBkYXRlKCk6IHZvaWQKLy8KLy8gVXBkYXRlcyB0aGUgYmFsYW5jZSBvZiBzdGFrZXJzIGluIHRoZSBwb29sIGJhc2VkIG9uIHRoZSByZWNlaXZlZCAncmV3YXJkcycgKGN1cnJlbnQgYmFsYW5jZSB2cyBrbm93biBzdGFrZWQgYmFsYW5jZSkKLy8gc3Rha2VycyBvdXRzdGFuZGluZyBiYWxhbmNlIGlzIGFkanVzdGVkIGJhc2VkIG9uIHRoZWlyICUgb2Ygc3Rha2UgYW5kIHRpbWUgaW4gdGhlIGN1cnJlbnQgZXBvY2ggLSBzbyB0aGF0IGJhbGFuY2UKLy8gY29tcG91bmRzIG92ZXIgdGltZSBhbmQgc3Rha2VyIGNhbiByZW1vdmUgdGhhdCBhbW91bnQgYXQgd2lsbC4KLy8gVGhlIHZhbGlkYXRvciBpcyBwYWlkIHRoZWlyIHBlcmNlbnRhZ2UgZWFjaCBlcG9jaCBwYXlvdXQuCi8vCi8vIE5vdGU6IEFOWU9ORSBjYW4gY2FsbCB0aGlzLgplcG9jaEJhbGFuY2VVcGRhdGU6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAzNgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjAKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjEKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMgoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjkKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB2YWxpZGF0b3JDb25maWcuZXBvY2hSb3VuZExlbmd0aCBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2OSA0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMiAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMQoJLy8gdGhpc0Vwb2NoQmVnaW4gPSBjdXJSb3VuZCAtIChjdXJSb3VuZCAlIGVwb2NoUm91bmRMZW5ndGgpCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCSUKCS0KCWZyYW1lX2J1cnkgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CgoJLy8gKmlmMjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM0CgkvLyB0aGlzLmxhc3RQYXlvdXQuZXhpc3RzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglieiAqaWYyMF9lbmQKCgkvLyAqaWYyMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM1CgkvLyBsYXN0UGF5b3V0RXBvY2ggPSB0aGlzLmxhc3RQYXlvdXQudmFsdWUgLSAodGhpcy5sYXN0UGF5b3V0LnZhbHVlICUgZXBvY2hSb3VuZExlbmd0aCkKCWJ5dGUgMHg2YzYxNzM3NDUwNjE3OTZmNzU3NCAvLyAibGFzdFBheW91dCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gbGFzdFBheW91dEVwb2NoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM5CgkvLyBhc3NlcnQobGFzdFBheW91dEVwb2NoICE9PSB0aGlzRXBvY2hCZWdpbiwgImNhbid0IGNhbGwgZXBvY2hCYWxhbmNlVXBkYXRlIGluIHNhbWUgZXBvY2ggYXMgcHJpb3IgY2FsbCIpCglmcmFtZV9kaWcgNCAvLyBsYXN0UGF5b3V0RXBvY2g6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJIT0KCgkvLyBjYW4ndCBjYWxsIGVwb2NoQmFsYW5jZVVwZGF0ZSBpbiBzYW1lIGVwb2NoIGFzIHByaW9yIGNhbGwKCWFzc2VydAoKKmlmMjBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU0MgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDUKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGN1clJvdW5kCglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDYKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgKz0gMQoJYnl0ZSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgLy8gImVwb2NoTnVtYmVyIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgkrCglieXRlIDB4NjU3MDZmNjM2ODRlNzU2ZDYyNjU3MiAvLyAiZXBvY2hOdW1iZXIiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NTEKCS8vIGlzVG9rZW5FbGlnaWJsZSA9IHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaW50IDAKCSE9CglmcmFtZV9idXJ5IDUgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MgoJLy8gcG9vbE9uZUFwcElEID0gdGhpcy5hcHAuaWQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NTMKCS8vIHBvb2xPbmVBZGRyZXNzID0gdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKCS8vICppZjIxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1OAoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjIxX2VuZAoKCS8vICppZjIxX2NvbnNlcXVlbnQKCS8vICppZjIyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1OQoJLy8gdGhpcy5wb29sSWQudmFsdWUgIT09IDEKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJIT0KCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjEKCS8vIHBvb2xPbmVBcHBJRCA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0UG9vbEFwcElkPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWUsIDFdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTYyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCAxXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjUKCS8vIHBvb2xPbmVBZGRyZXNzID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sT25lQXBwSUQpLmFkZHJlc3MKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKKmlmMjJfZW5kOgoJLy8gKmlmMjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcwCgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludCAxCgk9PQoJYnogKmlmMjNfZWxzZQoKCS8vICppZjIzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzEKCS8vIHRva2VuUGF5b3V0UmF0aW8gPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLnNldFRva2VuUGF5b3V0UmF0aW8+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWIgKmlmMjNfZW5kCgoqaWYyM19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU3NwoJLy8gdG9rZW5QYXlvdXRSYXRpbyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xPbmVBcHBJRCksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3sgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfV0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbygodWludDY0LHVpbnQ2NCx1aW50NjQpKSh1aW50NjRbMjRdLHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzgKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbE9uZUFwcElEKQoJZnJhbWVfZGlnIDYgLy8gcG9vbE9uZUFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NzkKCS8vIG1ldGhvZEFyZ3M6IFt7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH1dCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZSAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA4IC8vIHRva2VuUGF5b3V0UmF0aW86IFBvb2xUb2tlblBheW91dFJhdGlvCgoqaWYyM19lbmQ6CgoqaWYyMV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTg2CgkvLyB2YWxpZGF0b3JTdGF0ZSA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yU3RhdGU+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU4OAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTkwCgkvLyByZXdhcmRUb2tlbkhlbGRCYWNrID0gdmFsaWRhdG9yU3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDkgLy8gdmFsaWRhdG9yU3RhdGU6ICh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMTAgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU5NgoJLy8gYWxnb1Jld2FyZEF2YWlsID0gdGhpcy5hcHAuYWRkcmVzcy5iYWxhbmNlIC0gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXBvcAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTcKCS8vIGlzUG9vbFNhdHVyYXRlZCA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSAxMiAvLyBpc1Bvb2xTYXR1cmF0ZWQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk4CgkvLyBhbGdvU2F0dXJhdGlvbkFtdCA9IHRoaXMuYWxnb1NhdHVyYXRpb25MZXZlbCgpCgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWZyYW1lX2J1cnkgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoKCS8vICppZjI0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNgoJLy8gdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkID4gYWxnb1NhdHVyYXRpb25BbXQKCWZyYW1lX2RpZyA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMCA4CglidG9pCglmcmFtZV9kaWcgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoJPgoJYnogKmlmMjRfZW5kCgoJLy8gKmlmMjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNwoJLy8gaXNQb29sU2F0dXJhdGVkID0gdHJ1ZQoJaW50IDEKCWZyYW1lX2J1cnkgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCgoqaWYyNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjEzCgkvLyB0b2tlblJld2FyZEF2YWlsID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE2CgkvLyBleGNlc3NUb0ZlZVNpbmsgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNwoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2MTgKCS8vIHRva2VuUmV3YXJkQmFsID0KCS8vICAgICAgICAgcG9vbE9uZUFkZHJlc3MuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDcgLy8gcG9vbE9uZUFkZHJlc3M6IGFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEwIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxOCAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gKmlmMjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjIzCgkvLyB0b2tlblJld2FyZEJhbCA+PSB2YWxpZGF0b3JDb25maWcucmV3YXJkUGVyUGF5b3V0CglmcmFtZV9kaWcgMTggLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTYxIDgKCWJ0b2kKCT49CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjI5CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbdGhpcy5wb29sSWQudmFsdWUgLSAxXQoJZnJhbWVfZGlnIDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWludCAwCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCS0KCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfYnVyeSAxOSAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzMgoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9IHdpZGVSYXRpbyhbdmFsaWRhdG9yQ29uZmlnLnJld2FyZFBlclBheW91dCwgb3VyUG9vbFBjdE9mV2hvbGVdLCBbMV8wMDBfMDAwXSkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2MSA4CglidG9pCglmcmFtZV9kaWcgMTkgLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJbXVsdwoJaW50IDAKCWludCAxXzAwMF8wMDAKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoKKmlmMjZfZW5kOgoKKmlmMjVfZW5kOgoJLy8gKmlmMjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjM1CgkvLyB0b2tlblJld2FyZEF2YWlsID09PSAwCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPT0KCWJ6ICppZjI3X2VuZAoKCS8vICppZjI3X2NvbnNlcXVlbnQKCS8vICppZjI4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MAoJLy8gYWxnb1Jld2FyZEF2YWlsIDwgMV8wMDBfMDAwCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWludCAxXzAwMF8wMDAKCTwKCWJ6ICppZjI4X2VuZAoKCS8vICppZjI4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDEKCS8vIGxvZygnIXRva2VuJiYhbm9hbGdvIHRvIHBheScpCglieXRlIDB4MjE3NDZmNmI2NTZlMjYyNjIxNmU2ZjYxNmM2NzZmMjA3NDZmMjA3MDYxNzkgLy8gIiF0b2tlbiYmIW5vYWxnbyB0byBwYXkiCglsb2cKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjQyCgkvLyByZXR1cm47CglyZXRzdWIKCippZjI4X2VuZDoKCippZjI3X2VuZDoKCS8vICppZjI5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0NgoJLy8gaXNQb29sU2F0dXJhdGVkCglmcmFtZV9kaWcgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCglieiAqaWYyOV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjI5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDkKCS8vIGRpbWluaXNoZWRSZXdhcmQgPSB3aWRlUmF0aW8oW2FsZ29SZXdhcmRBdmFpbCwgYWxnb1NhdHVyYXRpb25BbXRdLCBbdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkXSkKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDEzIC8vIGFsZ29TYXR1cmF0aW9uQW10OiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTAgOAoJYnRvaQoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MQoJLy8gZXhjZXNzVG9GZWVTaW5rID0gYWxnb1Jld2FyZEF2YWlsIC0gZGltaW5pc2hlZFJld2FyZAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CgktCglmcmFtZV9idXJ5IDE3IC8vIGV4Y2Vzc1RvRmVlU2luazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgICBhbW91bnQ6IGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgICAgcmVjZWl2ZXI6IHRoaXMuZ2V0RmVlU2luaygpLAoJLy8gICAgICAgICBub3RlOiAncG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luaycsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTMKCS8vIGFtb3VudDogZXhjZXNzVG9GZWVTaW5rCglmcmFtZV9kaWcgMTcgLy8gZXhjZXNzVG9GZWVTaW5rOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1NAoJLy8gcmVjZWl2ZXI6IHRoaXMuZ2V0RmVlU2luaygpCgljYWxsc3ViIGdldEZlZVNpbmsKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU1CgkvLyBub3RlOiAncG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luaycKCWJ5dGUgMHg3MDZmNmY2YzIwNzM2MTc0NzU3MjYxNzQ2NTY0MmMyMDY1Nzg2MzY1NzM3MzIwNzQ2ZjIwNjY2NTY1MjA3MzY5NmU2YiAvLyAicG9vbCBzYXR1cmF0ZWQsIGV4Y2VzcyB0byBmZWUgc2luayIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU4CgkvLyBhbGdvUmV3YXJkQXZhaWwgPSBkaW1pbmlzaGVkUmV3YXJkCglmcmFtZV9kaWcgMjAgLy8gZGltaW5pc2hlZFJld2FyZDogdWludDY0CglmcmFtZV9idXJ5IDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgliICppZjI5X2VuZAoKKmlmMjlfZWxzZWlmMV9jb25kaXRpb246CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU5CgkvLyB2YWxpZGF0b3JDb25maWcucGVyY2VudFRvVmFsaWRhdG9yICE9PSAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJaW50IDAKCSE9CglieiAqaWYyOV9lbmQKCgkvLyAqaWYyOV9lbHNlaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NjIKCS8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0ID0gd2lkZVJhdGlvKAoJLy8gICAgICAgICBbYWxnb1Jld2FyZEF2YWlsLCB2YWxpZGF0b3JDb25maWcucGVyY2VudFRvVmFsaWRhdG9yIGFzIHVpbnQ2NF0sCgkvLyAgICAgICAgIFsxXzAwMF8wMDBdCgkvLyAgICAgICApCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE3MyA0CglidG9pCgltdWx3CglpbnQgMAoJaW50IDFfMDAwXzAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NjgKCS8vIGFsZ29SZXdhcmRBdmFpbCAtPSB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vICppZjMwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY3NQoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgPiAwCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJaW50IDAKCT4KCWJ6ICppZjMwX2VuZAoKCS8vICppZjMwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NzgKCS8vIG1hbmFnZXJUb3BPZmYgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCgkvLyAqaWYzMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODAKCS8vIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyICE9PSB2YWxpZGF0b3JDb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgJiYKCS8vICAgICAgICAgICB2YWxpZGF0b3JDb25maWcubWFuYWdlci5iYWxhbmNlIC0gdmFsaWRhdG9yQ29uZmlnLm1hbmFnZXIubWluQmFsYW5jZSA8IDJfMTAwXzAwMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgMzIKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE3NyAzMgoJIT0KCWR1cAoJYnogKnNraXBfYW5kMwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgMzIKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCS0KCWludCAyXzEwMF8wMDAKCTwKCSYmCgoqc2tpcF9hbmQzOgoJYnogKmlmMzFfZW5kCgoJLy8gKmlmMzFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MwoJLy8gbWFuYWdlclRvcE9mZiA9IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IDwgMl8xMDBfMDAwID8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgOiAyXzEwMF8wMDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnQgMl8xMDBfMDAwCgk8CglieiAqdGVybmFyeTFfZmFsc2UKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgliICp0ZXJuYXJ5MV9lbmQKCip0ZXJuYXJ5MV9mYWxzZToKCWludCAyXzEwMF8wMDAKCip0ZXJuYXJ5MV9lbmQ6CglmcmFtZV9idXJ5IDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODQKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgICAgIGFtb3VudDogbWFuYWdlclRvcE9mZiwKCS8vICAgICAgICAgICAgIHJlY2VpdmVyOiB2YWxpZGF0b3JDb25maWcubWFuYWdlciwKCS8vICAgICAgICAgICAgIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njg1CgkvLyBhbW91bnQ6IG1hbmFnZXJUb3BPZmYKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NgoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODcKCS8vIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycKCWJ5dGUgMHg3NjYxNmM2OTY0NjE3NDZmNzIyMDcyNjU3NzYxNzI2NDIwNzQ2ZjIwNmQ2MTZlNjE2NzY1NzIyMDY2NmY3MjIwNjY3NTZlNjQ2OTZlNjcyMDY1NzA2ZjYzNjgyMDc1NzA2NDYxNzQ2NTczIC8vICJ2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcyIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjMxX2VuZDoKCS8vICppZjMyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MAoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgLSBtYW5hZ2VyVG9wT2ZmID4gMAoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWludCAwCgk+CglieiAqaWYzMl9lbmQKCgkvLyAqaWYzMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgICBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZiwKCS8vICAgICAgICAgICAgIHJlY2VpdmVyOiB2YWxpZGF0b3JDb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MsCgkvLyAgICAgICAgICAgICBub3RlOiAndmFsaWRhdG9yIHJld2FyZCcsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkyCgkvLyBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZgoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MwoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5NAoJLy8gbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQnCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyMjA3MjY1Nzc2MTcyNjQgLy8gInZhbGlkYXRvciByZXdhcmQiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYzMl9lbmQ6CgoqaWYzMF9lbmQ6CgoqaWYyOV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzA2CgkvLyBpbmNyZWFzZWRTdGFrZSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCgkvLyAqaWYzM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzAKCS8vIGFsZ29SZXdhcmRBdmFpbCAhPT0gMCB8fCB0b2tlblJld2FyZEF2YWlsICE9PSAwCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWludCAwCgkhPQoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJIT0KCXx8Cgoqc2tpcF9vcjE6CglieiAqaWYzM19lbmQKCgkvLyAqaWYzM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMxCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMgoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyNCAvLyBpOiB1aW50NjQKCipmb3JfNDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzIKCS8vIGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgMjQgLy8gaTogdWludDY0CglpbnQgMjAwCgk8CglieiAqZm9yXzRfZW5kCgoJLy8gKmlmMzRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMzCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDQwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDQwMAoJPAoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNgoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCA2NAoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmMzVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzM3CgkvLyBjbXBTdGFrZXIuYWNjb3VudCAhPT0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglieiAqaWYzNV9lbmQKCgkvLyAqaWYzNV9jb25zZXF1ZW50CgkvLyAqaWYzNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzgKCS8vIGNtcFN0YWtlci5lbnRyeVJvdW5kID49IHRoaXNFcG9jaEJlZ2luCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCT49CglieiAqaWYzNl9lbHNlCgoJLy8gKmlmMzZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc0MQoJLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlICs9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJKwoJZnJhbWVfYnVyeSAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJYiAqaWYzNl9lbmQKCippZjM2X2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQ1CgkvLyB0aW1lSW5Qb29sID0gdGhpc0Vwb2NoQmVnaW4gLSBjbXBTdGFrZXIuZW50cnlSb3VuZAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA1NiA4CglidG9pCgktCglmcmFtZV9idXJ5IDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoKCS8vICppZjM3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc0OQoJLy8gdGltZUluUG9vbCA8IGVwb2NoUm91bmRMZW5ndGgKCWZyYW1lX2RpZyAyNiAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJPAoJYnogKmlmMzdfZW5kCgoJLy8gKmlmMzdfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MAoJLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlICs9IGNtcFN0YWtlci5iYWxhbmNlCglmcmFtZV9kaWcgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJKwoJZnJhbWVfYnVyeSAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NTEKCS8vIHRpbWVQZXJjZW50YWdlID0gKHRpbWVJblBvb2wgKiAxMDAwKSAvIGVwb2NoUm91bmRMZW5ndGgKCWZyYW1lX2RpZyAyNiAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCWludCAxMDAwCgkqCglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMjcgLy8gdGltZVBlcmNlbnRhZ2U6IHVpbnQ2NAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MwoJLy8gdG9rZW5SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludCAwCgk+CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzU1CgkvLyBzdGFrZXJUb2tlblJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbCwgdGltZVBlcmNlbnRhZ2VdLAoJLy8gICAgICAgICAgICAgICAgICAgW3RoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlLCAxMDAwXQoJLy8gICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjggLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjIKCS8vIHRva2VuUmV3YXJkQXZhaWwgLT0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgktCglmcmFtZV9idXJ5IDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzY0CgkvLyB0b2tlblJld2FyZFBhaWRPdXQgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNSAvLyB0b2tlblJld2FyZFBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDI4IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCippZjM4X2VuZDoKCS8vICppZjM5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2NgoJLy8gYWxnb1Jld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPgoJYnogKmlmMzlfZW5kCgoJLy8gKmlmMzlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2OAoJLy8gc3Rha2VyUmV3YXJkID0gd2lkZVJhdGlvKAoJLy8gICAgICAgICAgICAgICAgICAgW2NtcFN0YWtlci5iYWxhbmNlLCBhbGdvUmV3YXJkQXZhaWwsIHRpbWVQZXJjZW50YWdlXSwKCS8vICAgICAgICAgICAgICAgICAgIFt0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSwgMTAwMF0KCS8vICAgICAgICAgICAgICAgICApCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjkgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc1CgkvLyBhbGdvUmV3YXJkQXZhaWwgLT0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NzgKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc5CgkvLyBjbXBTdGFrZXIudG90YWxSZXdhcmRlZCArPSBzdGFrZXJSZXdhcmQKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0MCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc4MAoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjM5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3ODMKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50IDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYzN19lbmQ6CgoqaWYzNl9lbmQ6CgoqaWYzNV9lbmQ6CgoqZm9yXzRfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMyCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyNCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDI0IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzQKCipmb3JfNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzkxCgkvLyBuZXdQb29sVG90YWxTdGFrZSA9IHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIC0gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgktCglmcmFtZV9idXJ5IDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTUKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID4gMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWludCAwCgk+CglieiAqaWY0MF9lbmQKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDMxIC8vIGk6IHVpbnQ2NAoKKmZvcl81OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc5NwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzMSAvLyBpOiB1aW50NjQKCWludCAyMDAKCTwKCWJ6ICpmb3JfNV9lbmQKCgkvLyAqaWY0MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTgKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMjAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnQgMjAwCgk8CglieiAqaWY0MV9lbmQKCgkvLyAqaWY0MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAxCgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDY0CglieXRlIDB4NzM3NDYxNmI2NTcyNzMgLy8gInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWY0Ml9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MDIKCS8vIGNtcFN0YWtlci5hY2NvdW50ICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzICYmIGNtcFN0YWtlci5lbnRyeVJvdW5kIDwgdGhpc0Vwb2NoQmVnaW4KCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQ0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCTwKCSYmCgoqc2tpcF9hbmQ0OgoJYnogKmlmNDJfZW5kCgoJLy8gKmlmNDJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwMwoJLy8gdGltZUluUG9vbCA9IHRoaXNFcG9jaEJlZ2luIC0gY21wU3Rha2VyLmVudHJ5Um91bmQKCWZyYW1lX2RpZyAzIC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJLQoJZnJhbWVfYnVyeSAzMyAvLyB0aW1lSW5Qb29sOiB1aW50NjQKCgkvLyAqaWY0M19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MDUKCS8vIHRpbWVJblBvb2wgPj0gZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDMzIC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0Cgk+PQoJYnogKmlmNDNfZW5kCgoJLy8gKmlmNDNfY29uc2VxdWVudAoJLy8gKmlmNDRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODEwCgkvLyB0b2tlblJld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50IDAKCT4KCWJ6ICppZjQ0X2VuZAoKCS8vICppZjQ0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTEKCS8vIHN0YWtlclRva2VuUmV3YXJkID0gd2lkZVJhdGlvKFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbF0sIFtuZXdQb29sVG90YWxTdGFrZV0pCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCW11bHcKCWludCAwCglmcmFtZV9kaWcgMzAgLy8gbmV3UG9vbFRvdGFsU3Rha2U6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMzQgLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludCA0OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2RpZyAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODE1CgkvLyB0b2tlblJld2FyZFBhaWRPdXQgKz0gc3Rha2VyVG9rZW5SZXdhcmQKCWZyYW1lX2RpZyAxNSAvLyB0b2tlblJld2FyZFBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDM0IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCippZjQ0X2VuZDoKCS8vICppZjQ1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNwoJLy8gYWxnb1Jld2FyZEF2YWlsID4gMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnQgMAoJPgoJYnogKmlmNDVfZW5kCgoJLy8gKmlmNDVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxOAoJLy8gc3Rha2VyUmV3YXJkID0gd2lkZVJhdGlvKFtjbXBTdGFrZXIuYmFsYW5jZSwgYWxnb1Jld2FyZEF2YWlsXSwgW25ld1Bvb2xUb3RhbFN0YWtlXSkKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgltdWx3CglpbnQgMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMQoJLy8gY21wU3Rha2VyLmJhbGFuY2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnQgMzIgLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgMzUgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCSsKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjIKCS8vIGNtcFN0YWtlci50b3RhbFJld2FyZGVkICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50IDQwIC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNDAgOAoJYnRvaQoJZnJhbWVfZGlnIDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODIzCgkvLyBpbmNyZWFzZWRTdGFrZSArPSBzdGFrZXJSZXdhcmQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CglmcmFtZV9kaWcgMzUgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoKKmlmNDVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyNwoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnQgNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjQzX2VuZDoKCippZjQyX2VuZDoKCipmb3JfNV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMzEgLy8gaTogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCippZjQwX2VuZDoKCippZjMzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzcKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IC8vICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMzYgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODM4CgkvLyB0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSArPSBpbmNyZWFzZWRTdGFrZQoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzkKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoaW5jcmVhc2VkU3Rha2UgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlIDB4NzM3NDYxNmI2NTQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDM2IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChpbmNyZWFzZWRTdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0MQoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgKyBpbmNyZWFzZWRTdGFrZQoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJZHVwCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0NwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9LAoJLy8gICAgICAgICBpbmNyZWFzZWRTdGFrZSwKCS8vICAgICAgICAgdG9rZW5SZXdhcmRQYWlkT3V0LAoJLy8gICAgICAgICB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCwKCS8vICAgICAgICAgZXhjZXNzVG9GZWVTaW5rLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAic3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODQ4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDkKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9LAoJLy8gICAgICAgICBpbmNyZWFzZWRTdGFrZSwKCS8vICAgICAgICAgdG9rZW5SZXdhcmRQYWlkT3V0LAoJLy8gICAgICAgICB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCwKCS8vICAgICAgICAgZXhjZXNzVG9GZWVTaW5rLAoJLy8gICAgICAgXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTcgLy8gZXhjZXNzVG9GZWVTaW5rOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBnb09ubGluZShwYXksYnl0ZVtdLGJ5dGVbXSxieXRlW10sdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2dvT25saW5lOgoJLy8gdm90ZUtleURpbHV0aW9uOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWJ0b2kKCgkvLyB2b3RlTGFzdDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gdm90ZUZpcnN0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBzdGF0ZVByb29mUEs6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBzZWxlY3Rpb25QSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIHZvdGVQSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGZlZVBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDYgKGZlZVBheW1lbnQpIGZvciBnb09ubGluZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGdvT25saW5lCglpbnQgMQoJcmV0dXJuCgovLyBnb09ubGluZShmZWVQYXltZW50OiBQYXlUeG4sIHZvdGVQSzogYnl0ZXMsIHNlbGVjdGlvblBLOiBieXRlcywgc3RhdGVQcm9vZlBLOiBieXRlcywgdm90ZUZpcnN0OiB1aW50NjQsIHZvdGVMYXN0OiB1aW50NjQsIHZvdGVLZXlEaWx1dGlvbjogdWludDY0KTogdm9pZAovLwovLyBSZWdpc3RlcnMgYSBzdGFraW5nIHBvb2wga2V5IG9ubGluZSBhZ2FpbnN0IGEgcGFydGljaXBhdGlvbiBrZXkuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KLy8KLy8gQHBhcmFtIHtQYXlUeG59IGZlZVBheW1lbnQgLSBwYXltZW50IHRvIGNvdmVyIGV4dHJhIGZlZSBvZiBnb2luZyBvbmxpbmUgaWYgb2ZmbGluZSAtIG9yIDAgaWYgbm90IHJlbmV3YWwKLy8gQHBhcmFtIHtieXRlc30gdm90ZVBLIC0gVGhlIHZvdGUgcHVibGljIGtleS4KLy8gQHBhcmFtIHtieXRlc30gc2VsZWN0aW9uUEsgLSBUaGUgc2VsZWN0aW9uIHB1YmxpYyBrZXkuCi8vIEBwYXJhbSB7Ynl0ZXN9IHN0YXRlUHJvb2ZQSyAtIFRoZSBzdGF0ZSBwcm9vZiBwdWJsaWMga2V5LgovLyBAcGFyYW0ge3VpbnQ2NH0gdm90ZUZpcnN0IC0gVGhlIGZpcnN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlTGFzdCAtIFRoZSBsYXN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlS2V5RGlsdXRpb24gLSBUaGUgdm90ZSBrZXkgZGlsdXRpb24gdmFsdWUuCi8vIEB0aHJvd3Mge0Vycm9yfSBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjYWxsZXIgaXMgbm90IHRoZSBvd25lciBvciBhIG1hbmFnZXIuCmdvT25saW5lOgoJcHJvdG8gNyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgxCgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgyCgkvLyBleHRyYUZlZSA9IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJZnJhbWVfYnVyeSAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgzCgkvLyB2ZXJpZnlQYXlUeG4oZmVlUGF5bWVudCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiBleHRyYUZlZSB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6ImV4dHJhRmVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODQKCS8vIHNlbmRPbmxpbmVLZXlSZWdpc3RyYXRpb24oewoJLy8gICAgICAgdm90ZVBLOiB2b3RlUEssCgkvLyAgICAgICBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEssCgkvLyAgICAgICBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSywKCS8vICAgICAgIHZvdGVGaXJzdDogdm90ZUZpcnN0LAoJLy8gICAgICAgdm90ZUxhc3Q6IHZvdGVMYXN0LAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24sCgkvLyAgICAgICBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODUKCS8vIHZvdGVQSzogdm90ZVBLCglmcmFtZV9kaWcgLTIgLy8gdm90ZVBLOiBieXRlcwoJaXR4bl9maWVsZCBWb3RlUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg2CgkvLyBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEsKCWZyYW1lX2RpZyAtMyAvLyBzZWxlY3Rpb25QSzogYnl0ZXMKCWl0eG5fZmllbGQgU2VsZWN0aW9uUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg3CgkvLyBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSwoJZnJhbWVfZGlnIC00IC8vIHN0YXRlUHJvb2ZQSzogYnl0ZXMKCWl0eG5fZmllbGQgU3RhdGVQcm9vZlBLCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg4OAoJLy8gdm90ZUZpcnN0OiB2b3RlRmlyc3QKCWZyYW1lX2RpZyAtNSAvLyB2b3RlRmlyc3Q6IHVpbnQ2NAoJaXR4bl9maWVsZCBWb3RlRmlyc3QKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg5CgkvLyB2b3RlTGFzdDogdm90ZUxhc3QKCWZyYW1lX2RpZyAtNiAvLyB2b3RlTGFzdDogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVMYXN0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg5MAoJLy8gdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24KCWZyYW1lX2RpZyAtNyAvLyB2b3RlS2V5RGlsdXRpb246IHVpbnQ2NAoJaXR4bl9maWVsZCBWb3RlS2V5RGlsdXRpb24KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODkxCgkvLyBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGdvT2ZmbGluZSgpdm9pZAoqYWJpX3JvdXRlX2dvT2ZmbGluZToKCS8vIGV4ZWN1dGUgZ29PZmZsaW5lKCl2b2lkCgljYWxsc3ViIGdvT2ZmbGluZQoJaW50IDEKCXJldHVybgoKLy8gZ29PZmZsaW5lKCk6IHZvaWQKLy8KLy8gTWFya3MgYSBzdGFraW5nIHBvb2wga2V5IE9GRkxJTkUuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KZ29PZmZsaW5lOgoJcHJvdG8gMCAwCgoJLy8gKmlmNDZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTAzCgkvLyB0aGlzLnR4bi5zZW5kZXIgIT09IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MKCXR4biBTZW5kZXIKCWJ5dGUgMHg2MzcyNjU2MTc0NmY3MjQxNzA3MCAvLyAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCSE9CglieiAqaWY0Nl9lbmQKCgkvLyAqaWY0Nl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTA0CgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCippZjQ2X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MDcKCS8vIHNlbmRPZmZsaW5lS2V5UmVnaXN0cmF0aW9uKHt9KQoJaXR4bl9iZWdpbgoJaW50IGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2xpbmtUb05GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkCgljYWxsc3ViIGxpbmtUb05GRAoJaW50IDEKCXJldHVybgoKLy8gbGlua1RvTkZEKG5mZEFwcElkOiB1aW50NjQsIG5mZE5hbWU6IHN0cmluZyk6IHZvaWQKbGlua1RvTkZEOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3ZlcmlmeV9uZmRfYWRkcicsIG5mZE5hbWUsIGl0b2IobmZkQXBwSWQpLCByYXdCeXRlcyh0aGlzLmFwcC5hZGRyZXNzKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNwoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTgKCS8vIGFwcGxpY2F0aW9uQXJnczogWyd2ZXJpZnlfbmZkX2FkZHInLCBuZmROYW1lLCBpdG9iKG5mZEFwcElkKSwgcmF3Qnl0ZXModGhpcy5hcHAuYWRkcmVzcyldCglieXRlIDB4NzY2NTcyNjk2Njc5NWY2ZTY2NjQ1ZjYxNjQ2NDcyIC8vICJ2ZXJpZnlfbmZkX2FkZHIiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxOQoJLy8gYXBwbGljYXRpb25zOiBbQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCldCglmcmFtZV9kaWcgLTEgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbnMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NFsyNF0sdWludDY0KQoqYWJpX3JvdXRlX3Byb3hpZWRTZXRUb2tlblBheW91dFJhdGlvOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBvb2xLZXkpIGZvciBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbyBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbygodWludDY0LHVpbnQ2NCx1aW50NjQpKSh1aW50NjRbMjRdLHVpbnQ2NCkKCWNhbGxzdWIgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbyhwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5KTogUG9vbFRva2VuUGF5b3V0UmF0aW8KLy8KLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8gaXMgbWVhbnQgdG8gYmUgY2FsbGVkIGJ5IHBvb2xzICE9IDEgLSBjYWxsaW5nIFVTLCBwb29sICMxCi8vIFdlIG5lZWQgdG8gdmVyaWZ5IHRoYXQgd2UgYXJlIGluIGZhY3QgYmVpbmcgY2FsbGVkIGJ5IGFub3RoZXIgb2YgT1VSIHBvb2xzIChub3QgdXMpCi8vIGFuZCB0aGVuIHdlJ2xsIGNhbGwgdGhlIHZhbGlkYXRvciBvbiB0aGVpciBiZWhhbGYgdG8gdXBkYXRlIHRoZSB0b2tlbiBwYXlvdXRzCi8vIEBwYXJhbSBwb29sS2V5IC0gVmFsaWRhdG9yUG9vbEtleSB0dXBsZQpwcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzMAoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9ySWQudmFsdWUgPT09IHBvb2xLZXkuaWQsICdjYWxsZXIgbXVzdCBiZSBwYXJ0IG9mIHNhbWUgdmFsaWRhdG9yIHNldCEnKQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCgkvLyBjYWxsZXIgbXVzdCBiZSBwYXJ0IG9mIHNhbWUgdmFsaWRhdG9yIHNldCEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzEKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ2NhbGxlZSBtdXN0IGJlIHBvb2wgMScpCglieXRlIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCT09CgoJLy8gY2FsbGVlIG11c3QgYmUgcG9vbCAxCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTMyCgkvLyBhc3NlcnQocG9vbEtleS5wb29sSWQgIT09IDEsICdjYWxsZXIgbXVzdCBOT1QgYmUgcG9vbCAxJykKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCSE9CgoJLy8gY2FsbGVyIG11c3QgTk9UIGJlIHBvb2wgMQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzNAoJLy8gY2FsbGVyUG9vbEFwcElEID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRQb29sQXBwSWQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3Bvb2xLZXkuaWQsIHBvb2xLZXkucG9vbElkXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM1CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzYKCS8vIG1ldGhvZEFyZ3M6IFtwb29sS2V5LmlkLCBwb29sS2V5LnBvb2xJZF0KCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBjYWxsZXJQb29sQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzgKCS8vIGFzc2VydChjYWxsZXJQb29sQXBwSUQgPT09IHBvb2xLZXkucG9vbEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gY2FsbGVyUG9vbEFwcElEOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM5CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0MQoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZSAweDYzNzI2NTYxNzQ2ZjcyNDE3MDcwIC8vICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDMKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGlzT3duZXJPck1hbmFnZXJDYWxsZXIoKTogYm9vbGVhbgppc093bmVyT3JNYW5hZ2VyQ2FsbGVyOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQ4CgkvLyBPd25lckFuZE1hbmFnZXIgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcj4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlIDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgLy8gImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk1MAoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludCAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyBPd25lckFuZE1hbmFnZXI6IChhZGRyZXNzLGFkZHJlc3MpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk1MgoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlciA9PT0gT3duZXJBbmRNYW5hZ2VyWzBdIHx8IHRoaXMudHhuLnNlbmRlciA9PT0gT3duZXJBbmRNYW5hZ2VyWzFdOwoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoJZXh0cmFjdCAwIDMyCgk9PQoJZHVwCglibnogKnNraXBfb3IyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBPd25lckFuZE1hbmFnZXI6IChhZGRyZXNzLGFkZHJlc3MpCglleHRyYWN0IDMyIDMyCgk9PQoJfHwKCipza2lwX29yMjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBnZXRGZWVTaW5rKCk6IEFkZHJlc3MKZ2V0RmVlU2luazoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTYKCS8vIHJldHVybiB0aGlzLmZlZVNpbmtBZGRyOwoJbG9hZCAyMDEgLy8gVE1QTF9mZWVTaW5rQWRkcgoJcmV0c3ViCgovLyBhbGdvU2F0dXJhdGlvbkxldmVsKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBtYXhpbXVtIGFsbG93ZWQgc3Rha2UgcGVyIHZhbGlkYXRvciBiYXNlZCBvbiBhIHBlcmNlbnRhZ2Ugb2YgYWxsIGN1cnJlbnQgb25saW5lIHN0YWtlIGJlZm9yZQovLyB0aGUgdmFsaWRhdG9yIGlzIGNvbnNpZGVyZWQgc2F0dXJhdGVkIC0gd2hlcmUgcmV3YXJkcyBhcmUgZGltaW5pc2hlZC4KYWxnb1NhdHVyYXRpb25MZXZlbDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk2NgoJLy8gb25saW5lID0gdGhpcy5nZXRDdXJyZW50T25saW5lU3Rha2UoKQoJY2FsbHN1YiBnZXRDdXJyZW50T25saW5lU3Rha2UKCWZyYW1lX2J1cnkgMCAvLyBvbmxpbmU6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NjgKCS8vIHJldHVybiB3aWRlUmF0aW8oW29ubGluZSwgTUFYX1ZBTElEQVRPUl9TT0ZUX1BDVF9PRl9PTkxJTkVfMURFQ0lNQUxdLCBbMTAwMF0pOwoJZnJhbWVfZGlnIDAgLy8gb25saW5lOiB1aW50NjQKCWludCAxMDAKCW11bHcKCWludCAwCglpbnQgMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0R29PbmxpbmVGZWUoKTogdWludDY0CmdldEdvT25saW5lRmVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc1CgkvLyBpc09ubGluZSA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGlzT25saW5lOiBib29sCgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc2CgkvLyAhaXNPbmxpbmUKCWZyYW1lX2RpZyAwIC8vIGlzT25saW5lOiBib29sCgkhCglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc4CgkvLyByZXR1cm4gMl8wMDBfMDAwOwoJaW50IDJfMDAwXzAwMAoJYiAqZ2V0R29PbmxpbmVGZWUqcmV0dXJuCgoqaWY0N19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTgwCgkvLyByZXR1cm4gMDsKCWludCAwCgoqZ2V0R29PbmxpbmVGZWUqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGdldEN1cnJlbnRPbmxpbmVTdGFrZSgpOiB1aW50NjQKZ2V0Q3VycmVudE9ubGluZVN0YWtlOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk4NQoJLy8gcmV0dXJuIDJfMDAwXzAwMF8wMDBfMDAwXzAwMDsKCWludCAyXzAwMF8wMDBfMDAwXzAwMF8wMDAKCXJldHN1YgoKLy8gY2hlY2tJZkJpbkNsb3NlZCgpOiB2b2lkCi8vCi8vIENoZWNrcyBpZiB0aGUgY3VycmVudCByb3VuZCBpcyBpbiBhICduZXcgY2FsY3VsYXRpb24gYmluJyAoYXBwcm94aW1hdGVseSBkYWlseSkKY2hlY2tJZkJpbkNsb3NlZDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTkyCgkvLyBjdXJyZW50QmluU2l6ZSA9IHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIGFzIHVpbnQxMjgKCWJ5dGUgMHg3MjZmNzU2ZTY0NzM1MDY1NzI0NDYxNzkgLy8gInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgoJLy8gKmlmNDhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTkzCgkvLyBnbG9iYWxzLnJvdW5kID49IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIChjdXJyZW50QmluU2l6ZSBhcyB1aW50NjQpCglnbG9iYWwgUm91bmQKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMCAvLyBjdXJyZW50QmluU2l6ZTogdW5zYWZlIHVpbnQxMjgKCWR1cAoJYml0bGVuCglpbnQgNjQKCTw9CgoJLy8gY3VycmVudEJpblNpemUgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCglidG9pCgkrCgk+PQoJYnogKmlmNDhfZW5kCgoJLy8gKmlmNDhfY29uc2VxdWVudAoJLy8gKmlmNDlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTk0CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50IDMwMAoJPAoJYnogKmlmNDlfZW5kCgoJLy8gKmlmNDlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NQoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmNDlfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NwoJLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOCA9IGN1cnJlbnRCaW5TaXplICogKDM2NSBhcyB1aW50MTI4KQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNmQKCWIqCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMSAvLyBhcHByb3hSb3VuZHNQZXJZZWFyOiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgLyBjdXJyZW50QmluU2l6ZQoJYnl0ZSAweDczNzQ2MTZiNjU0MTYzNjM3NTZkNzU2YzYxNzQ2ZjcyIC8vICJzdGFrZUFjY3VtdWxhdG9yIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoJYi8KCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSAvIGN1cnJlbnRCaW5TaXplIG92ZXJmbG93ZWQgMTI4IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDE2CgktCglzd2FwCglzdWJzdHJpbmczCglmcmFtZV9idXJ5IDIgLy8gYXZnU3Rha2U6IHVpbnQxMjgKCgkvLyAqaWY1MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTkKCS8vIGF2Z1N0YWtlICE9PSAwCglmcmFtZV9kaWcgMiAvLyBhdmdTdGFrZTogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliIT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDAzCgkvLyBhcHI6IHVpbnQxMjggPQoJLy8gICAgICAgICAgICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICoKCS8vICAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKQoJYnl0ZSAweDcyNjU3NzYxNzI2NDQxNjM2Mzc1NmQ3NTZjNjE3NDZmNzIgLy8gInJld2FyZEFjY3VtdWxhdG9yIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcxMAoJYioKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgliLwoJZnJhbWVfZGlnIDEgLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJYioKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICpcbiAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAzIC8vIGFwcjogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDA3CgkvLyBhbHBoYTogdWludDEyOCA9IDEwIGFzIHVpbnQxMjgKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYQoJZnJhbWVfYnVyeSA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoKCS8vICppZjUxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMDkKCS8vIGF2Z1N0YWtlID4gMzAwMDAwMDAwMDAwCglmcmFtZV9kaWcgMiAvLyBhdmdTdGFrZTogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NWQ5NjRiODAwCgliPgoJYnogKmlmNTFfZW5kCgoJLy8gKmlmNTFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMTAKCS8vIGFscGhhID0gOTAgYXMgdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoqaWY1MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAxMgoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPQoJLy8gICAgICAgICAgICh0aGlzLndlaWdodGVkTW92aW5nQXZlcmFnZS52YWx1ZSAqICgoMTAwIGFzIHVpbnQxMjgpIC0gYWxwaGEpKSAvICgxMDAgYXMgdWludDEyOCkgKwoJLy8gICAgICAgICAgIChhcHIgKiBhbHBoYSkgLyAoMTAwIGFzIHVpbnQxMjgpCglieXRlIDB4NjU3NzZkNjEgLy8gImV3bWEiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKCWZyYW1lX2RpZyA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoJYi0KCWIqCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKCWIvCglmcmFtZV9kaWcgMyAvLyBhcHI6IHVpbnQxMjgKCWZyYW1lX2RpZyA0IC8vIGFscGhhOiB1bnNhZmUgdWludDEyOAoJYioKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWIrCglkdXAKCWJpdGxlbgoJaW50IDEyOAoJPD0KCgkvLyAodGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgKiAoKDEwMCBhcyB1aW50MTI4KSAtIGFscGhhKSkgLyAoMTAwIGFzIHVpbnQxMjgpICtcbiAgICAgICAgICAoYXByICogYWxwaGEpIC8gKDEwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCippZjUwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE4CgkvLyB0aGlzLnNldFJvdW5kc1BlckRheSgpCgljYWxsc3ViIHNldFJvdW5kc1BlckRheQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAodGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgYXMgdWludDEyOCkgKiAodGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAvLyAic3Rha2VBY2N1bXVsYXRvciIKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYioKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vICh0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSBhcyB1aW50MTI4KSAqICh0aGlzLnJvdW5kc1BlckRheS52YWx1ZSBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAyMAoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IDAKCWJ5dGUgMHg3MjY1Nzc2MTcyNjQ0MTYzNjM3NTZkNzU2YzYxNzQ2ZjcyIC8vICJyZXdhcmRBY2N1bXVsYXRvciIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIxCgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGUgMHg2MjY5NmU1MjZmNzU2ZTY0NTM3NDYxNzI3NCAvLyAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJJQoJLQoJYXBwX2dsb2JhbF9wdXQKCippZjQ4X2VuZDoKCXJldHN1YgoKLy8gc2V0Um91bmRzUGVyRGF5KCk6IHZvaWQKc2V0Um91bmRzUGVyRGF5OgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEwMjYKCS8vIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlID0gQVZHX1JPVU5EU19QRVJfREFZCglieXRlIDB4NzI2Zjc1NmU2NDczNTA2NTcyNDQ2MTc5IC8vICJyb3VuZHNQZXJEYXkiCglpbnQgMzA4NTcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImdhcygpdm9pZCIKCW1ldGhvZCAiaW5pdFN0b3JhZ2UocGF5KXZvaWQiCgltZXRob2QgImFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NCIKCW1ldGhvZCAicmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZCIKCW1ldGhvZCAiY2xhaW1Ub2tlbnMoKXZvaWQiCgltZXRob2QgImdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJbWV0aG9kICJwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAidXBkYXRlQWxnb2RWZXIoc3RyaW5nKXZvaWQiCgltZXRob2QgImVwb2NoQmFsYW5jZVVwZGF0ZSgpdm9pZCIKCW1ldGhvZCAiZ29PbmxpbmUocGF5LGJ5dGVbXSxieXRlW10sYnl0ZVtdLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImdvT2ZmbGluZSgpdm9pZCIKCW1ldGhvZCAibGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZCIKCW1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nYXMgKmFiaV9yb3V0ZV9pbml0U3RvcmFnZSAqYWJpX3JvdXRlX2FkZFN0YWtlICphYmlfcm91dGVfcmVtb3ZlU3Rha2UgKmFiaV9yb3V0ZV9jbGFpbVRva2VucyAqYWJpX3JvdXRlX2dldFN0YWtlckluZm8gKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZCAqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyICphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlICphYmlfcm91dGVfZ29PbmxpbmUgKmFiaV9yb3V0ZV9nb09mZmxpbmUgKmFiaV9yb3V0ZV9saW5rVG9ORkQgKmFiaV9yb3V0ZV9wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfVXBkYXRlQXBwbGljYXRpb246CgltZXRob2QgInVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIFVwZGF0ZUFwcGxpY2F0aW9uCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"templateVariables": {
diff --git a/examples/reti/artifacts/ValidatorRegistry.approval.teal b/examples/reti/artifacts/ValidatorRegistry.approval.teal
index ee768f1f3..009e46d35 100644
--- a/examples/reti/artifacts/ValidatorRegistry.approval.teal
+++ b/examples/reti/artifacts/ValidatorRegistry.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/reti/artifacts/ValidatorRegistry.arc32.json b/examples/reti/artifacts/ValidatorRegistry.arc32.json
index 5e4e4353f..f1e94fc4b 100644
--- a/examples/reti/artifacts/ValidatorRegistry.arc32.json
+++ b/examples/reti/artifacts/ValidatorRegistry.arc32.json
@@ -221,7 +221,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9uZmRSZWdpc3RyeUFwcElkCmJ0b2kKc3RvcmUgMjAwCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjAyCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBZGRyZXNzLmZyb21BZGRyZXNzKCdMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRJykpCgl0eG4gU2VuZGVyCglhZGRyIExaNFYySVJWTENYRkpLNFJFSlY0VEFHRUtFWVRBMkdNUjZUQzIzNDRPQjNMM0FGM01XWFo2WkFGSVEKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjA0CgkvLyB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmRlbGV0ZSgpCglieXRlIDB4NzA2ZjZmNmM1NDY1NmQ3MDZjNjE3NDY1NDE3MDcwNzI2Zjc2NjE2YzQyNzk3NDY1NzMgLy8gInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglib3hfZGVsCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwNQoJLy8gdGhpcy5zdGFraW5nUG9vbEluaXRpYWxpemVkLnZhbHVlID0gZmFsc2UKCWJ5dGUgMHg2OTZlNjk3NCAvLyAiaW5pdCIKCWludCAwCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjA5CgkvLyB0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUgPSBmYWxzZQoJYnl0ZSAweDY5NmU2OTc0IC8vICJpbml0IgoJaW50IDAKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTAKCS8vIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSA9IDAKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTEKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTIKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlID0gMAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0OgoJLy8gYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbml0U3Rha2luZ0NvbnRyYWN0KHVpbnQ2NCl2b2lkCgljYWxsc3ViIGluaXRTdGFraW5nQ29udHJhY3QKCWludCAxCglyZXR1cm4KCi8vIGluaXRTdGFraW5nQ29udHJhY3QoYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0KTogdm9pZAppbml0U3Rha2luZ0NvbnRyYWN0OgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIxNwoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5jcmVhdGUoYXBwcm92YWxQcm9ncmFtU2l6ZSkKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWZyYW1lX2RpZyAtMSAvLyBhcHByb3ZhbFByb2dyYW1TaXplOiB1aW50NjQKCWJveF9jcmVhdGUKCXBvcAoJcmV0c3ViCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YSh1aW50NjQsYnl0ZVtdKXZvaWQKKmFiaV9yb3V0ZV9sb2FkU3Rha2luZ0NvbnRyYWN0RGF0YToKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBvZmZzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbG9hZFN0YWtpbmdDb250cmFjdERhdGEodWludDY0LGJ5dGVbXSl2b2lkCgljYWxsc3ViIGxvYWRTdGFraW5nQ29udHJhY3REYXRhCglpbnQgMQoJcmV0dXJuCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YShvZmZzZXQ6IHVpbnQ2NCwgZGF0YTogYnl0ZXMpOiB2b2lkCmxvYWRTdGFraW5nQ29udHJhY3REYXRhOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMQoJLy8gYXNzZXJ0KCF0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUpCglieXRlIDB4Njk2ZTY5NzQgLy8gImluaXQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDAKCWdldGJpdAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMgoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5yZXBsYWNlKG9mZnNldCwgZGF0YSkKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGRhdGE6IGJ5dGVzCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpdm9pZAoqYWJpX3JvdXRlX2ZpbmFsaXplU3Rha2luZ0NvbnRyYWN0OgoJLy8gZXhlY3V0ZSBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpdm9pZAoJY2FsbHN1YiBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdAoJaW50IDEKCXJldHVybgoKLy8gZmluYWxpemVTdGFraW5nQ29udHJhY3QoKTogdm9pZApmaW5hbGl6ZVN0YWtpbmdDb250cmFjdDoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMjYKCS8vIHRoaXMuc3Rha2luZ1Bvb2xJbml0aWFsaXplZC52YWx1ZSA9IHRydWUKCWJ5dGUgMHg2OTZlNjk3NCAvLyAiaW5pdCIKCWludCAxCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZ2FzKCl2b2lkCiphYmlfcm91dGVfZ2FzOgoJLy8gZXhlY3V0ZSBnYXMoKXZvaWQKCWNhbGxzdWIgZ2FzCglpbnQgMQoJcmV0dXJuCgovLyBnYXMoKTogdm9pZAovLwovLyBnYXMgaXMgYSBkdW1teSBuby1vcCBjYWxsIHRoYXQgY2FuIGJlIHVzZWQgdG8gcG9vbC11cCByZXNvdXJjZSByZWZlcmVuY2VzIGFuZCBvcGNvZGUgY29zdApnYXM6Cglwcm90byAwIDAKCXJldHN1YgoKLy8gZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRNYnJBbW91bnRzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE1ickFtb3VudHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldE1ickFtb3VudHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRNYnJBbW91bnRzKCk6IE1ickFtb3VudHMKLy8KLy8gUmV0dXJucyB0aGUgTUJSIGFtb3VudHMgbmVlZGVkIGZvciB2YXJpb3VzIGFjdGlvbnM6Ci8vIFsKLy8gYWRkVmFsaWRhdG9yTWJyOiB1aW50NjQgLSBtYnIgbmVlZGVkIHRvIGFkZCBhIG5ldyB2YWxpZGF0b3IgLSBwYWlkIHRvIHZhbGlkYXRvciBjb250cmFjdAovLyBhZGRQb29sTWJyOiB1aW50NjQgLSBtYnIgbmVlZGVkIHRvIGFkZCBhIG5ldyBwb29sIC0gcGFpZCB0byB2YWxpZGF0b3IKLy8gcG9vbEluaXRNYnI6IHVpbnQ2NCAtIG1iciBuZWVkZWQgdG8gaW5pdFN0b3JhZ2UoKSBvZiBwb29sIC0gcGFpZCB0byBwb29sIGl0c2VsZgovLyBhZGRTdGFrZXJNYnI6IHVpbnQ2NCAtIG1iciBzdGFrZXIgbmVlZHMgdG8gYWRkIHRvIGZpcnN0IHN0YWtpbmcgcGF5bWVudCAoc3RheXMgdy8gdmFsaWRhdG9yKQovLyBdCmdldE1ickFtb3VudHM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjQ2CgkvLyByZXR1cm4gewoJLy8gICAgICAgYWRkVmFsaWRhdG9yTWJyOiB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDEgLyogdiBwcmVmaXggKi8gKyBsZW48VmFsaWRhdG9ySWRUeXBlPigpICsgbGVuPFZhbGlkYXRvckluZm8+KCkpLAoJLy8gICAgICAgYWRkUG9vbE1icjogdGhpcy5taW5CYWxhbmNlRm9yQWNjb3VudCgKCS8vICAgICAgICAgMSwKCS8vICAgICAgICAgLy8gd2UgY291bGQgY2FsY3VsYXRlIHRoaXMgZGlyZWN0bHkgYnkgcmVmZXJlbmNpbmcgdGhlIHNpemUgb2Ygc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0gYnV0IGl0IHdvdWxkCgkvLyAgICAgICAgIC8vIG1lYW4gb3VyIGNhbGxlcnMgd291bGQgaGF2ZSB0byByZWZlcmVuY2UgdGhlIGJveCBBTkQgYnV5IHVwIGkvbyAtIHNvIGp1c3QgZ28gbWF4IG9uIGV4dHJhIHBhZ2VzCgkvLyAgICAgICAgIDMsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtVWludCwKCS8vICAgICAgICAgU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UKCS8vICAgICAgICksCgkvLyAgICAgICBwb29sSW5pdE1icjoKCS8vICAgICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICAgIHRoaXMuY29zdEZvckJveFN0b3JhZ2UoNyAvKiAnc3Rha2VycycgbmFtZSAqLyArIGxlbjxTdGFrZWRJbmZvPigpICogTUFYX1NUQUtFUlNfUEVSX1BPT0wpLAoJLy8gICAgICAgYWRkU3Rha2VyTWJyOgoJLy8gICAgICAgICAvLyBob3cgbXVjaCB0byBjaGFyZ2UgZm9yIGZpcnN0IHRpbWUgYSBzdGFrZXIgYWRkcyBzdGFrZSAtIHNpbmNlIHdlIGFkZCBhIHRyYWNraW5nIGJveCBwZXIgc3Rha2VyCgkvLyAgICAgICAgIHRoaXMuY29zdEZvckJveFN0b3JhZ2UoMyAvKiAnc3BzJyBwcmVmaXggKi8gKyBsZW48QWRkcmVzcz4oKSArIGxlbjxWYWxpZGF0b3JQb29sS2V5PigpICogTUFYX1BPT0xTX1BFUl9TVEFLRVIpLCAvLyBzaXplIG9mIGtleSArIGFsbCB2YWx1ZXMKCS8vICAgICB9OwoJaW50IDExMDEKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCWl0b2IKCWludCAzCglpbnQgMTEKCWludCAwCglkdXBuIDIKCWludCAzCglpbnQgMQoJY2FsbHN1YiBtaW5CYWxhbmNlRm9yQWNjb3VudAoJaXRvYgoJY29uY2F0CglpbnQgMTAwMDAwCglpbnQgMTI4MDcKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCSsKCWl0b2IKCWNvbmNhdAoJaW50IDE3OQoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJaXRvYgoJY29uY2F0CglyZXRzdWIKCi8vIGdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFByb3RvY29sQ29uc3RyYWludHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0UHJvdG9jb2xDb25zdHJhaW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFByb3RvY29sQ29uc3RyYWludHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRQcm90b2NvbENvbnN0cmFpbnRzKCk6IENvbnN0cmFpbnRzCi8vCi8vIFJldHVybnMgdGhlIHByb3RvY29sIGNvbnN0cmFpbnRzIHNvIHRoYXQgVUlzIGNhbiBsaW1pdCB3aGF0IHVzZXJzIHNwZWNpZnkgZm9yIHZhbGlkYXRvciBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMuCmdldFByb3RvY29sQ29uc3RyYWludHM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjcyCgkvLyByZXR1cm4gewoJLy8gICAgICAgZXBvY2hQYXlvdXRSb3VuZHNNaW46IE1JTl9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICBlcG9jaFBheW91dFJvdW5kc01heDogTUFYX0VQT0NIX0xFTkdUSCwKCS8vICAgICAgIG1pblBjdFRvVmFsaWRhdG9yV0ZvdXJEZWNpbWFsczogTUlOX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICBtYXhQY3RUb1ZhbGlkYXRvcldGb3VyRGVjaW1hbHM6IE1BWF9QQ1RfVE9fVkFMSURBVE9SLAoJLy8gICAgICAgbWluRW50cnlTdGFrZTogTUlOX0FMR09fU1RBS0VfUEVSX1BPT0wsCgkvLyAgICAgICBtYXhBbGdvUGVyUG9vbDogdGhpcy5tYXhBbGdvQWxsb3dlZFBlclBvb2woKSwKCS8vICAgICAgIG1heEFsZ29QZXJWYWxpZGF0b3I6IHRoaXMubWF4QWxsb3dlZFN0YWtlKCksCgkvLyAgICAgICBhbXRDb25zaWRlcmVkU2F0dXJhdGVkOiB0aGlzLmFsZ29TYXR1cmF0aW9uTGV2ZWwoKSwKCS8vICAgICAgIG1heE5vZGVzOiBNQVhfTk9ERVMsCgkvLyAgICAgICBtYXhQb29sc1Blck5vZGU6IE1BWF9QT09MU19QRVJfTk9ERSwKCS8vICAgICAgIG1heFN0YWtlcnNQZXJQb29sOiBNQVhfU1RBS0VSU19QRVJfUE9PTCwKCS8vICAgICB9OwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMGY0MjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZjQyNDAwMDAwMDAwMDAwMGY0MjQwCgljYWxsc3ViIG1heEFsZ29BbGxvd2VkUGVyUG9vbAoJaXRvYgoJY29uY2F0CgljYWxsc3ViIG1heEFsbG93ZWRTdGFrZQoJaXRvYgoJY29uY2F0CgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDgKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDMKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwYzgKCWNvbmNhdAoJcmV0c3ViCgovLyBnZXROdW1WYWxpZGF0b3JzKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXROdW1WYWxpZGF0b3JzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE51bVZhbGlkYXRvcnMoKXVpbnQ2NAoJY2FsbHN1YiBnZXROdW1WYWxpZGF0b3JzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0TnVtVmFsaWRhdG9ycygpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgY3VycmVudCBudW1iZXIgb2YgdmFsaWRhdG9ycwpnZXROdW1WYWxpZGF0b3JzOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjI5MgoJLy8gcmV0dXJuIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZTsKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yQ29uZmlnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JDb25maWcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRWYWxpZGF0b3JDb25maWcodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFZhbGlkYXRvckNvbmZpZwpnZXRWYWxpZGF0b3JDb25maWc6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mjk3CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWc7CglpbnQgMAoJaW50IDI0MgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yU3RhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFZhbGlkYXRvclN0YXRlKHVpbnQ2NCkodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JTdGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFZhbGlkYXRvclN0YXRlKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBWYWxpZGF0b3JDdXJTdGF0ZQpnZXRWYWxpZGF0b3JTdGF0ZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMDIKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlOwoJaW50IDI0MiAvLyBoZWFkT2Zmc2V0CglpbnQgMjYKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykKKmFiaV9yb3V0ZV9nZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykKCWNhbGxzdWIgZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBbQWRkcmVzcywgQWRkcmVzc10KZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMwNwoJLy8gcmV0dXJuIFt0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlcl07CglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJaW50IDQwCglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgljb25jYXQKCXJldHN1YgoKLy8gZ2V0UG9vbHModWludDY0KSh1aW50NjQsdWludDE2LHVpbnQ2NClbXQoqYWJpX3JvdXRlX2dldFBvb2xzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdCgljYWxsc3ViIGdldFBvb2xzCglkdXAKCWxlbgoJaW50IDE4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0UG9vbHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xJbmZvW10KLy8KLy8gUmV0dXJuIGxpc3Qgb2YgYWxsIHBvb2xzIGZvciB0aGlzIHZhbGlkYXRvci4KLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvcklkCi8vIEByZXR1cm4ge1Bvb2xJbmZvW119IC0gYXJyYXkgb2YgcG9vbHMKLy8gTm90IGNhbGxhYmxlIGZyb20gb3RoZXIgY29udHJhY3RzIGJlY2F1c2UgPjFLIHJldHVybiBidXQgY2FuIGJlIGNhbGxlZCB3LyBzaW11bGF0ZSB3aGljaCBidW1wcyBsb2cgcmV0dXJucwpnZXRQb29sczoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzE4CgkvLyByZXREYXRhOiBQb29sSW5mb1tdID0gW10KCWJ5dGUgMHgKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMxOQoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMpCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWludCA0MzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMAoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJPAoJYnogKmZvcl8wX2VuZAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIxCgkvLyBwb29sU2V0W2ldLnBvb2xBcHBJZCA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWludCAwCgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvcl8wX2VuZAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzI1CgkvLyByZXREYXRhLnB1c2gocG9vbFNldFtpXSkKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFBvb2xJbmZvW10KCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMTgKCWV4dHJhY3QzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyNwoJLy8gcmV0dXJuIHJldERhdGE7CglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGdldFBvb2xBcHBJZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFBvb2xBcHBJZCh2YWxpZGF0b3JJZDogdWludDY0LCBwb29sSWQ6IHVpbnQ2NCk6IHVpbnQ2NApnZXRQb29sQXBwSWQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzM1CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sSWQgIT09IDAgJiYgcG9vbElkIDw9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMubGVuZ3RoLAoJLy8gICAgICAgJ3Bvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3InCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMAoJIT0KCWR1cAoJYnogKnNraXBfYW5kMAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMjQKCTw9CgkmJgoKKnNraXBfYW5kMDoKCS8vIHBvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMzkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW3Bvb2xJZCAtIDFdLnBvb2xBcHBJZDsKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gZ2V0UG9vbEluZm8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0LHVpbnQxNix1aW50NjQpCiphYmlfcm91dGVfZ2V0UG9vbEluZm86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHBvb2xLZXk6ICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMjQKCT09CgoJLy8gYXJndW1lbnQgMCAocG9vbEtleSkgZm9yIGdldFBvb2xJbmZvIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KQoJY2FsbHN1YiBnZXRQb29sSW5mbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFBvb2xJbmZvKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiBQb29sSW5mbwpnZXRQb29sSW5mbzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNDQKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXTsKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldEN1ck1heFN0YWtlUGVyUG9vbCh1aW50NjQpdWludDY0CiphYmlfcm91dGVfZ2V0Q3VyTWF4U3Rha2VQZXJQb29sOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRDdXJNYXhTdGFrZVBlclBvb2wodWludDY0KXVpbnQ2NAoJY2FsbHN1YiBnZXRDdXJNYXhTdGFrZVBlclBvb2wKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRDdXJNYXhTdGFrZVBlclBvb2wodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IHVpbnQ2NAovLwovLyBDYWxjdWxhdGUgdGhlIG1heGltdW0gc3Rha2UgcGVyIHBvb2wgZm9yIGEgZ2l2ZW4gdmFsaWRhdG9yLgovLyBOb3JtYWxseSB0aGlzIHdvdWxkIGJlIG1heEFsZ29QZXJQb29sLCBidXQgaXQgc2hvdWxkIGFsc28gbmV2ZXIgZ28gYWJvdmUgTWF4QWxsb3dlZFN0YWtlIC8gbnVtUG9vbHMgc28KLy8gYXMgcG9vbHMgYXJlIGFkZGVkIHRoZSBtYXggYWxsb3dlZCBwZXIgcG9vbCBjYW4gcmVkdWNlLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KZ2V0Q3VyTWF4U3Rha2VQZXJQb29sOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTUKCS8vIG51bVBvb2xzID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludCAyNDIKCWludCAyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIG51bVBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU2CgkvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29scyA9IHRoaXMubWF4QWxsb3dlZFN0YWtlKCkgLyBudW1Qb29scwoJY2FsbHN1YiBtYXhBbGxvd2VkU3Rha2UKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMSAvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1NwoJLy8gbWF4UGVyUG9vbDogdWludDY0ID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWF4QWxnb1BlclBvb2wKCWludCAyMTcKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU4CgkvLyBtYXhQZXJQb29sID09PSAwCglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmMV9lbmQKCgkvLyAqaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTkKCS8vIG1heFBlclBvb2wgPSB0aGlzLm1heEFsZ29BbGxvd2VkUGVyUG9vbCgpCgljYWxsc3ViIG1heEFsZ29BbGxvd2VkUGVyUG9vbAoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKKmlmMV9lbmQ6CgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM2MQoJLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHMgPCBtYXhQZXJQb29sCglmcmFtZV9kaWcgMSAvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29sczogdWludDY0CglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCTwKCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzYyCgkvLyBtYXhQZXJQb29sID0gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHMKCWZyYW1lX2RpZyAxIC8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzOiB1aW50NjQKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCippZjJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM2NAoJLy8gcmV0dXJuIG1heFBlclBvb2w7CglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sCiphYmlfcm91dGVfZG9lc1N0YWtlck5lZWRUb1BheU1CUjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHN0YWtlcikgZm9yIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZG9lc1N0YWtlck5lZWRUb1BheU1CUihhZGRyZXNzKWJvb2wKCWNhbGxzdWIgZG9lc1N0YWtlck5lZWRUb1BheU1CUgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSKHN0YWtlcjogQWRkcmVzcyk6IGJvb2xlYW4KLy8KLy8gSGVscGVyIGNhbGxlcnMgY2FuIGNhbGwgdy8gc2ltdWxhdGUgdG8gZGV0ZXJtaW5lIGlmICdBZGRTdGFrZXInIE1CUiBzaG91bGQgYmUgaW5jbHVkZWQgdy8gc3Rha2luZyBhbW91bnQKLy8gQHBhcmFtIHN0YWtlcgpkb2VzU3Rha2VyTmVlZFRvUGF5TUJSOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM3MwoJLy8gcmV0dXJuICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHM7CglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJcmV0c3ViCgovLyBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10KKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KGFkZHJlc3MpKHVpbnQ2NCx1aW50NjQsdWludDY0KVtdCgljYWxsc3ViIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudAoJZHVwCglsZW4KCWludCAyNAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudChzdGFrZXI6IEFkZHJlc3MpOiBWYWxpZGF0b3JQb29sS2V5W10KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgcG9vbHMgZm9yIGFuIGFjY291bnQuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFjY291bnQgdG8gcmV0cmlldmUgc3Rha2VkIHBvb2xzIGZvci4KLy8gQHJldHVybiB7VmFsaWRhdG9yUG9vbEtleVtdfSAtIFRoZSBhcnJheSBvZiBzdGFrZWQgcG9vbHMgZm9yIHRoZSBhY2NvdW50LgpnZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODMKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4NAoJLy8gcmV0dXJuIFtdOwoJYnl0ZSAweAoJYiAqZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KnJldHVybgoKKmlmM19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg2CgkvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10gPSBbXQoJYnl0ZSAweAoJZnJhbWVfYnVyeSAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODcKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg4CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OAoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA2Cgk8CglieiAqZm9yXzFfZW5kCgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODkKCS8vIHBvb2xTZXRbaV0uaWQgIT09IDAKCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWludCAwCgkhPQoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozOTAKCS8vIHJldERhdGEucHVzaChwb29sU2V0W2ldKQoJZnJhbWVfZGlnIDAgLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdCglmcmFtZV9kaWcgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMjQKCWV4dHJhY3QzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10KCippZjRfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OAoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozOTMKCS8vIHJldHVybiByZXREYXRhOwoJZnJhbWVfZGlnIDAgLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdCgoqZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gZ2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoqYWJpX3JvdXRlX2dldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKCWNhbGxzdWIgZ2V0VG9rZW5QYXlvdXRSYXRpbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFRva2VuUGF5b3V0UmF0aW8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIFJldHJpZXZlcyB0aGUgdG9rZW4gcGF5b3V0IHJhdGlvIGZvciBhIGdpdmVuIHZhbGlkYXRvciAtIHJldHVybmluZyB0aGUgcG9vbCByYXRpb3Mgb2Ygd2hvbGUgc28gdGhhdCB0b2tlbgovLyBwYXlvdXRzIGFjcm9zcyBwb29scyBjYW4gYmUgYmFzZWQgb24gYSBzdGFibGUgc25hcGhvc3Qgb2Ygc3Rha2UuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcmV0dXJuIHtQb29sVG9rZW5QYXlvdXRSYXRpb30gLSBUaGUgdG9rZW4gcGF5b3V0IHJhdGlvIGZvciB0aGUgdmFsaWRhdG9yLgpnZXRUb2tlblBheW91dFJhdGlvOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQwNQoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpbzsKCWludCA3MDAgLy8gaGVhZE9mZnNldAoJaW50IDIwMAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh1aW50NjQpKCh1aW50NjRbM10pWzhdKQoqYWJpX3JvdXRlX2dldE5vZGVQb29sQXNzaWdubWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkKCWNhbGxzdWIgZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldE5vZGVQb29sQXNzaWdubWVudHModmFsaWRhdG9ySWQ6IHVpbnQ2NCk6IE5vZGVQb29sQXNzaWdubWVudENvbmZpZwpnZXROb2RlUG9vbEFzc2lnbm1lbnRzOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxMAoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAidGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgZG9lc24ndCBleGlzdCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyB0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBkb2Vzbid0IGV4aXN0Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDEyCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzOwoJaW50IDkwMCAvLyBoZWFkT2Zmc2V0CglpbnQgMTkyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRORkRSZWdpc3RyeUlEKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRORkRSZWdpc3RyeUlEOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NAoJY2FsbHN1YiBnZXRORkRSZWdpc3RyeUlECglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0TkZEUmVnaXN0cnlJRCgpOiB1aW50NjQKZ2V0TkZEUmVnaXN0cnlJRDoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MTYKCS8vIHJldHVybiB0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQ7Cglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCXJldHN1YgoKLy8gYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NAoqYWJpX3JvdXRlX2FkZFZhbGlkYXRvcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMjQyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGNvbmZpZykgZm9yIGFkZFZhbGlkYXRvciBtdXN0IGJlIGEgKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBuZmROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gbWJyUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAobWJyUGF5bWVudCkgZm9yIGFkZFZhbGlkYXRvciBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFZhbGlkYXRvcihwYXksc3RyaW5nLCh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSl1aW50NjQKCWNhbGxzdWIgYWRkVmFsaWRhdG9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkVmFsaWRhdG9yKG1iclBheW1lbnQ6IFBheVR4biwgbmZkTmFtZTogc3RyaW5nLCBjb25maWc6IFZhbGlkYXRvckNvbmZpZyk6IHVpbnQ2NAovLwovLyBBZGRzIGEgbmV3IHZhbGlkYXRvcgovLyBSZXF1aXJlcyBhdCBsZWFzdCAxMCBBTEdPIGFzIHRoZSAnZmVlJyBmb3IgdGhlIHRyYW5zYWN0aW9uIHRvIGhlbHAgZGlzc3VhZGUgc3BhbW1lZCB2YWxpZGF0b3IgYWRkcy4KLy8KLy8gQHBhcmFtIHtQYXlUeG59IG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIG5ldyB2YWxpZGF0b3Igc3RvcmFnZQovLyBAcGFyYW0ge3N0cmluZ30gbmZkTmFtZSAoT3B0aW9uYWwpIE5hbWUgb2YgbmZkICh1c2VkIGFzIGRvdWJsZS1jaGVjayBhZ2FpbnN0IGlkIHNwZWNpZmllZCBpbiBjb25maWcpCi8vIEBwYXJhbSB7VmFsaWRhdG9yQ29uZmlnfSBjb25maWcgVmFsaWRhdG9yQ29uZmlnIHN0cnVjdAovLyBAcmV0dXJucyB7dWludDY0fSB2YWxpZGF0b3IgaWQKYWRkVmFsaWRhdG9yOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDI4CgkvLyB0aGlzLnZhbGlkYXRlQ29uZmlnKGNvbmZpZykKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJY2FsbHN1YiB2YWxpZGF0ZUNvbmZpZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MjkKCS8vIGFzc2VydChjb25maWcub3duZXIgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMAoJLy8gYXNzZXJ0KGNvbmZpZy5tYW5hZ2VyICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDQwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMxCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBjb25maWcub3duZXIsICdzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcicpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJPT0KCgkvLyBzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMwoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgYW1vdW50OiB0aGlzLmdldE1ickFtb3VudHMoKS5hZGRWYWxpZGF0b3JNYnIgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkVmFsaWRhdG9yTWJyIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MzUKCS8vIGFzc2VydChtYnJQYXltZW50LmZlZSA+IDEwICogMTAwMDAwMCwgJ2ZlZSBtdXN0IGJlIDEwIEFMR08gb3IgbW9yZSB0byBwcmV2ZW50IHNwYW1taW5nIG9mIHZhbGlkYXRvcnMnKQoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgRmVlCglpbnQgMTAwMDAwMDAKCT4KCgkvLyBmZWUgbXVzdCBiZSAxMCBBTEdPIG9yIG1vcmUgdG8gcHJldmVudCBzcGFtbWluZyBvZiB2YWxpZGF0b3JzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM4CgkvLyB2YWxpZGF0b3JJZCA9IHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSArIDEKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM5CgkvLyB0aGlzLm51bVZhbGlkYXRvcnMudmFsdWUgPSB2YWxpZGF0b3JJZAoJYnl0ZSAweDZlNzU2ZDU2IC8vICJudW1WIgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmNyZWF0ZSgpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWludCAxMDkyCglib3hfY3JlYXRlCglwb3AKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQyCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZyA9IGNvbmZpZwoJaW50IDAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmlkID0gdmFsaWRhdG9ySWQKCWludCAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDYKCS8vIGNvbmZpZy5uZmRGb3JJbmZvICE9PSAwCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJaW50IDAKCSE9CglieiAqaWY1X2VuZAoKCS8vICppZjVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0OAoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMubmZkUmVnaXN0cnlBcHBJZCksCgkvLyAgICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKGNvbmZpZy5uZmRGb3JJbmZvKV0sCgkvLyAgICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pXSwKCS8vICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJbG9hZCAyMDAgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDUwCgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgbmZkTmFtZSwgaXRvYihjb25maWcubmZkRm9ySW5mbyldCglieXRlIDB4Njk3MzVmNzY2MTZjNjk2NDVmNmU2NjY0NWY2MTcwNzA2OTY0IC8vICJpc192YWxpZF9uZmRfYXBwaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA3MiA4CglidG9pCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTEKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pXQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTMKCS8vIGFzc2VydChidG9pKHRoaXMuaXR4bi5sYXN0TG9nKSA9PT0gMSwgInByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZCIpCglpdHhuIExhc3RMb2cKCWJ0b2kKCWludCAxCgk9PQoKCS8vIHByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ1NQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IChBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcyksCgkvLyAgICAgICAgICdJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXInCgkvLyAgICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0Cgk9PQoKCS8vIElmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcgoJYXNzZXJ0CgoqaWY1X2VuZDoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDYxCgkvLyBjb25maWcuZW50cnlHYXRpbmdUeXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMgfHwKCS8vICAgICAgIGNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPT09IEdBVElOR19UWVBFX1NFR01FTlRfT0ZfTkZECglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgODAgMQoJYnRvaQoJaW50IDMKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnQgNAoJPT0KCXx8Cgoqc2tpcF9vcjA6CglieiAqaWY2X2VuZAoKCS8vICppZjZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2NQoJLy8gYXNzZXJ0KHRoaXMuaXNORkRBcHBJRFZhbGlkKGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSksICdwcm92aWRlZCBORkQgQXBwIGlkIGZvciBnYXRpbmcgbXVzdCBiZSB2YWxpZCBORkQnKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzTkZEQXBwSURWYWxpZAoKCS8vIHByb3ZpZGVkIE5GRCBBcHAgaWQgZm9yIGdhdGluZyBtdXN0IGJlIHZhbGlkIE5GRAoJYXNzZXJ0CgoqaWY2X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NjgKCS8vIHJldHVybiB2YWxpZGF0b3JJZDsKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCS8vIG1hbmFnZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAobWFuYWdlcikgZm9yIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyCglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIG1hbmFnZXI6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIENoYW5nZXMgdGhlIFZhbGlkYXRvciBtYW5hZ2VyIGZvciBhIHNwZWNpZmljIFZhbGlkYXRvciBpZC4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB0byBjaGFuZ2UgdGhlIG1hbmFnZXIgZm9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IG1hbmFnZXIgLSBUaGUgbmV3IG1hbmFnZXIgYWRkcmVzcy4KY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NzkKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDgzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyID0gbWFuYWdlcgoJaW50IDQwCglmcmFtZV9kaWcgLTIgLy8gbWFuYWdlcjogQWRkcmVzcwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbzoKCS8vIHN1bnNldHRpbmdUbzogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gc3Vuc2V0dGluZ09uOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbwoJaW50IDEKCXJldHVybgoKLy8gY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBzdW5zZXR0aW5nT246IHVpbnQ2NCwgc3Vuc2V0dGluZ1RvOiBWYWxpZGF0b3JJZFR5cGUpOiB2b2lkCi8vCi8vIFVwZGF0ZXMgdGhlIHN1bnNldCBpbmZvcm1hdGlvbiBmb3IgYSBnaXZlbiB2YWxpZGF0b3IuCi8vIFsgT05MWSBPV05FUiBDQU4gQ0hBTkdFIF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IgdG8gdXBkYXRlLgovLyBAcGFyYW0ge3VpbnQ2NH0gc3Vuc2V0dGluZ09uIC0gVGhlIG5ldyBzdW5zZXQgdGltZXN0YW1wLgovLyBAcGFyYW0ge3VpbnQ2NH0gc3Vuc2V0dGluZ1RvIC0gVGhlIG5ldyBzdW5zZXQgdG8gdmFsaWRhdG9yIGlkLgpjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ5NQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludCA4CglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0OTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdPbiA9IHN1bnNldHRpbmdPbgoJaW50IDIyNgoJZnJhbWVfZGlnIC0yIC8vIHN1bnNldHRpbmdPbjogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MDAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdUbyA9IHN1bnNldHRpbmdUbwoJaW50IDIzNAoJZnJhbWVfZGlnIC0zIC8vIHN1bnNldHRpbmdUbzogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodWludDY0LHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJRDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yTkZEKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yTkZECglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbmZkQXBwSUQ6IHVpbnQ2NCwgbmZkTmFtZTogc3RyaW5nKTogdm9pZAovLwovLyBDaGFuZ2VzIHRoZSBORkQgZm9yIGEgdmFsaWRhdG9yIGluIHRoZSB2YWxpZGF0b3JMaXN0IGNvbnRyYWN0LgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIHVwZGF0ZS4KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElEIC0gVGhlIGFwcGxpY2F0aW9uIGlkIG9mIHRoZSBORkQgdG8gYXNzaWduIHRvIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7c3RyaW5nfSBuZmROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE5GRCAod2hpY2ggbXVzdCBtYXRjaCkKY2hhbmdlVmFsaWRhdG9yTkZEOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxMwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludCA4CglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MTgKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjAKCS8vIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGUgMHg2OTczNWY3NjYxNmM2OTY0NWY2ZTY2NjQ1ZjYxNzA3MDY5NjQgLy8gImlzX3ZhbGlkX25mZF9hcHBpZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTMgLy8gbmZkTmFtZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyMQoJLy8gYXBwbGljYXRpb25zOiBbQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCldCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbnMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSAoQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpIGFzIEFkZHJlc3MpLAoJLy8gICAgICAgJ0lmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0Cgk9PQoKCS8vIElmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyOAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IG5mZEFwcElECglpbnQgNzIKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3M6CgkvLyBjb21taXNzaW9uQWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjb21taXNzaW9uQWRkcmVzcykgZm9yIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzCglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQ2hhbmdlIHRoZSBjb21taXNzaW9uIGFkZHJlc3MgdGhhdCB2YWxpZGF0b3IgcmV3YXJkcyBhcmUgc2VudCB0by4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQpjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzczoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MzYKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTQwCgkvLyBhc3NlcnQoY29tbWlzc2lvbkFkZHJlc3MgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gY29tbWlzc2lvbkFkZHJlc3M6IEFkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NDEKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzID0gY29tbWlzc2lvbkFkZHJlc3MKCWludCAxNzcKCWZyYW1lX2RpZyAtMiAvLyBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyh1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbzoKCS8vIFJld2FyZFBlclBheW91dDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA2CglidG9pCgoJLy8gR2F0aW5nQXNzZXRNaW5CYWxhbmNlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWJ0b2kKCgkvLyBFbnRyeUdhdGluZ0Fzc2V0czogdWludDY0WzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDIgKEVudHJ5R2F0aW5nQXNzZXRzKSBmb3IgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyBtdXN0IGJlIGEgdWludDY0WzRdCglhc3NlcnQKCgkvLyBFbnRyeUdhdGluZ0FkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoRW50cnlHYXRpbmdBZGRyZXNzKSBmb3IgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gRW50cnlHYXRpbmdUeXBlOiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDQgKEVudHJ5R2F0aW5nVHlwZSkgZm9yIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8gbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbwoJaW50IDEKCXJldHVybgoKLy8gY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBFbnRyeUdhdGluZ1R5cGU6IHVpbnQ4LCBFbnRyeUdhdGluZ0FkZHJlc3M6IEFkZHJlc3MsIEVudHJ5R2F0aW5nQXNzZXRzOiBTdGF0aWNBcnJheTx1aW50NjQsIDQ+LCBHYXRpbmdBc3NldE1pbkJhbGFuY2U6IHVpbnQ2NCwgUmV3YXJkUGVyUGF5b3V0OiB1aW50NjQpOiB2b2lkCi8vCi8vIEFsbG93IHRoZSBhZGRpdGlvbmFsIHJld2FyZHMgKGdhdGluZyBlbnRyeSwgYWRkaXRpb25hbCB0b2tlbiByZXdhcmRzKSBpbmZvcm1hdGlvbiBiZSBjaGFuZ2VkIGF0IHdpbGwuCi8vIFsgT05MWSBPV05FUiBDQU4gQ0hBTkdFIF0KY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbzoKCXByb3RvIDYgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NTYKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTYxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPSBFbnRyeUdhdGluZ1R5cGUKCWludCA4MAoJZnJhbWVfZGlnIC0yIC8vIEVudHJ5R2F0aW5nVHlwZTogdWludDgKCWl0b2IKCWV4dHJhY3QgNyAxCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjIKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQWRkcmVzcyA9IEVudHJ5R2F0aW5nQWRkcmVzcwoJaW50IDgxCglmcmFtZV9kaWcgLTMgLy8gRW50cnlHYXRpbmdBZGRyZXNzOiBBZGRyZXNzCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzID0gRW50cnlHYXRpbmdBc3NldHMKCWludCAxMTMKCWZyYW1lX2RpZyAtNCAvLyBFbnRyeUdhdGluZ0Fzc2V0czogU3RhdGljQXJyYXk8dWludDY0LCA0PgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY0CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5nYXRpbmdBc3NldE1pbkJhbGFuY2UgPSBHYXRpbmdBc3NldE1pbkJhbGFuY2UKCWludCAxNDUKCWZyYW1lX2RpZyAtNSAvLyBHYXRpbmdBc3NldE1pbkJhbGFuY2U6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRQZXJQYXlvdXQgPSBSZXdhcmRQZXJQYXlvdXQKCWludCAxNjEKCWZyYW1lX2RpZyAtNiAvLyBSZXdhcmRQZXJQYXlvdXQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfYWRkUG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDIgKG1iclBheW1lbnQpIGZvciBhZGRQb29sIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGFkZFBvb2wKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhZGRQb29sKG1iclBheW1lbnQ6IFBheVR4biwgdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbm9kZU51bTogdWludDY0KTogVmFsaWRhdG9yUG9vbEtleQovLwovLyBBZGRzIGEgbmV3IHBvb2wgdG8gYSB2YWxpZGF0b3IncyBwb29sIHNldCwgcmV0dXJuaW5nIHRoZSAna2V5JyB0byByZWZlcmVuY2UgdGhlIHBvb2wgaW4gdGhlIGZ1dHVyZSBmb3Igc3Rha2luZywgZXRjLgovLyBUaGUgY2FsbGVyIG11c3QgcGF5IHRoZSBjb3N0IG9mIHRoZSB2YWxpZGF0b3JzIE1CUiBpbmNyZWFzZSBhcyB3ZWxsIGFzIHRoZSBNQlIgdGhhdCB3aWxsIGJlIG5lZWRlZCBmb3IgdGhlIHBvb2wgaXRzZWxmLgovLwovLyBbIE9OTFkgT1dORVIgT1IgTUFOQUdFUiBDQU4gY2FsbCBdCi8vIEBwYXJhbSB7UGF5VHhufSBtYnJQYXltZW50IHBheW1lbnQgZnJvbSBjYWxsZXIgd2hpY2ggY292ZXJzIG1iciBpbmNyZWFzZSBvZiBhZGRpbmcgYSBuZXcgcG9vbAovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgaXMgaWQgb2YgdmFsaWRhdG9yIHRvIHBvb2wgdG8gKG11c3QgYmUgb3duZXIgb3IgbWFuYWdlcikKLy8gQHBhcmFtIHt1aW50NjR9IG5vZGVOdW0gaXMgbm9kZSBudW1iZXIgdG8gYWRkIHRvCi8vIEByZXR1cm5zIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sIGtleSB0byBjcmVhdGVkIHBvb2wKYWRkUG9vbDoKCXByb3RvIDMgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyIHx8CgkvLyAgICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CglkdXAKCWJueiAqc2tpcF9vcjEKCXR4biBTZW5kZXIKCWludCA0MAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCXx8Cgoqc2tpcF9vcjE6CgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1ODgKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IGFtb3VudDogdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciwgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDggOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmV4aXN0cywgInNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQiKQoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5MgoJLy8gbnVtUG9vbHM6IHVpbnQ2NCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnQgMjQyCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gKmlmN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTMKCS8vIChudW1Qb29scyBhcyB1aW50NjQpID49IE1BWF9QT09MUwoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaW50IDI0Cgk+PQoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGFscmVhZHkgYXQgbWF4IHBvb2wgc2l6ZQoJZXJyCgoqaWY3X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTYKCS8vIG51bVBvb2xzICs9IDEKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTkKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IFsKCS8vICAgICAgICAgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5leHRyYWN0KDAsIDQwOTYpLAoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoNDA5NiwgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5zaXplIC0gNDA5NiksCgkvLyAgICAgICBdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpLAoJLy8gICAgICAgZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50LAoJLy8gICAgICAgZ2xvYmFsTnVtQnl0ZVNsaWNlOiBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZSwKCS8vICAgICAgIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbCgkvLyAgICAgICAgIC8vIGNyZWF0aW5nQ29udHJhY3RJRCwgdmFsaWRhdG9ySWQsIHBvb2xJZCwgbWluRW50cnlTdGFrZQoJLy8gICAgICAgICBtZXRob2QoJ2NyZWF0ZUFwcGxpY2F0aW9uKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkJyksCgkvLyAgICAgICAgIGl0b2IodGhpcy5hcHAuaWQpLAoJLy8gICAgICAgICBpdG9iKHZhbGlkYXRvcklkKSwKCS8vICAgICAgICAgaXRvYihudW1Qb29scyBhcyB1aW50NjQpLAoJLy8gICAgICAgICBpdG9iKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1pbkVudHJ5U3Rha2UpLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjAwCgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnQgMCAvLyBOb09wCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDEKCS8vIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoMCwgNDA5NiksCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCg0MDk2LCB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUgLSA0MDk2KSwKCS8vICAgICAgIF0KCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWludCAwCglpbnQgNDA5NgoJYm94X2V4dHJhY3QKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWludCA0MDk2CglieXRlIDB4NzA2ZjZmNmM1NDY1NmQ3MDZjNjE3NDY1NDE3MDcwNzI2Zjc2NjE2YzQyNzk3NDY1NzMgLy8gInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUKCWFzc2VydAoJaW50IDQwOTYKCS0KCWJveF9leHRyYWN0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNQoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNgoJLy8gZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50CglpbnQgMTEKCWl0eG5fZmllbGQgR2xvYmFsTnVtVWludAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDcKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UKCWludCAzCglpdHhuX2ZpZWxkIEdsb2JhbE51bUJ5dGVTbGljZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDgKCS8vIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzCglpbnQgMwoJaXR4bl9maWVsZCBFeHRyYVByb2dyYW1QYWdlcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDkKCS8vIGFwcGxpY2F0aW9uQXJnczogWwoJLy8gICAgICAgICAvLyBjcmVhdGluZ0NvbnRyYWN0SUQsIHZhbGlkYXRvcklkLCBwb29sSWQsIG1pbkVudHJ5U3Rha2UKCS8vICAgICAgICAgbWV0aG9kKCdjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCcpLAoJLy8gICAgICAgICBpdG9iKHRoaXMuYXBwLmlkKSwKCS8vICAgICAgICAgaXRvYih2YWxpZGF0b3JJZCksCgkvLyAgICAgICAgIGl0b2IobnVtUG9vbHMgYXMgdWludDY0KSwKCS8vICAgICAgICAgaXRvYih0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5taW5FbnRyeVN0YWtlKSwKCS8vICAgICAgIF0KCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWludCAyMDkKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYxOQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyA9IG51bVBvb2xzIGFzIHVpbnQxNgoJaW50IDI0MgoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyMgoJLy8gcG9vbEFwcElkID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklELmlkCglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjIzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW251bVBvb2xzIC0gMV0ucG9vbEFwcElkID0gcG9vbEFwcElkCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAxIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MjQKCS8vIHRoaXMuYWRkUG9vbFRvTm9kZSh2YWxpZGF0b3JJZCwgcG9vbEFwcElkLCBub2RlTnVtKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGFkZFBvb2xUb05vZGUKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjMyCgkvLyByZXR1cm4geyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogbnVtUG9vbHMgYXMgdWludDY0LCBwb29sQXBwSWQ6IHRoaXMuaXR4biEuY3JlYXRlZEFwcGxpY2F0aW9uSUQuaWQgfTsKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpdG9iCgljb25jYXQKCWl0eG4gQ3JlYXRlZEFwcGxpY2F0aW9uSUQKCWl0b2IKCWNvbmNhdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2FkZFN0YWtlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc3Rha2VkQW1vdW50UGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VkQW1vdW50UGF5bWVudCkgZm9yIGFkZFN0YWtlIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBhZGRTdGFrZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgdmFsdWVUb1ZlcmlmeTogdWludDY0KTogVmFsaWRhdG9yUG9vbEtleQovLwovLyBBZGRzIHN0YWtlIHRvIGEgdmFsaWRhdG9yIHBvb2wuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWx1ZVRvVmVyaWZ5IC0gb25seSBpZiB2YWxpZGF0b3IgaGFzIGdhdGluZyB0byBlbnRlciAtIHRoaXMgaXMgYXNzZXQgaWQgb3IgbmZkIGlkIHRoYXQgY29ycmVzcG9uZHMgdG8gZ2F0aW5nLgovLyBUeG4gc2VuZGVyIGlzIGZhY3RvcmVkIGluIGFzIHdlbGwgaWYgdGhhdCBpcyBwYXJ0IG9mIGdhdGluZy4KLy8gKiBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleX0gLSBUaGUga2V5IG9mIHRoZSB2YWxpZGF0b3IgcG9vbC4KYWRkU3Rha2U6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA1CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0NQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAic3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkCglhc3NlcnQKCgkvLyAqaWY4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uID4gMAoJaW50IDIyNgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJPgoJYnogKmlmOF9lbmQKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NDkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uIDwgZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAsCgkvLyAgICAgICAgICJjYW4ndCBzdGFrZSB3aXRoIGEgdmFsaWRhdG9yIHRoYXQgaXMgcGFzdCBpdHMgc3Vuc2V0dGluZyB0aW1lIgoJLy8gICAgICAgKQoJaW50IDIyNgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCgk8CgoJLy8gY2FuJ3Qgc3Rha2Ugd2l0aCBhIHZhbGlkYXRvciB0aGF0IGlzIHBhc3QgaXRzIHN1bnNldHRpbmcgdGltZQoJYXNzZXJ0CgoqaWY4X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTUKCS8vIHN0YWtlciA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfYnVyeSAwIC8vIHN0YWtlcjogYWRkcmVzcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTkKCS8vIHZlcmlmeVBheVR4bihzdGFrZWRBbW91bnRQYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IHN0YWtlciwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoic3Rha2VyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY2NgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS50b3RhbEFsZ29TdGFrZWQgPCB0aGlzLm1heEFsbG93ZWRTdGFrZSgpLAoJLy8gICAgICAgJ3RvdGFsIHN0YWtlZCBmb3IgYWxsIG9mIGEgdmFsaWRhdG9ycyBwb29scyBtYXkgbm90IGV4Y2VlZCBoYXJkIGNhcCcKCS8vICAgICApCglpbnQgMjUyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCgk8CgoJLy8gdG90YWwgc3Rha2VkIGZvciBhbGwgb2YgYSB2YWxpZGF0b3JzIHBvb2xzIG1heSBub3QgZXhjZWVkIGhhcmQgY2FwCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjczCgkvLyB0aGlzLmRvZXNTdGFrZXJNZWV0R2F0aW5nKHZhbGlkYXRvcklkLCB2YWx1ZVRvVmVyaWZ5KQoJZnJhbWVfZGlnIC0zIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZG9lc1N0YWtlck1lZXRHYXRpbmcKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njc1CgkvLyByZWFsQW1vdW50ID0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfYnVyeSAxIC8vIHJlYWxBbW91bnQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzYKCS8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0CgoJLy8gKmlmOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzgKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjlfZW5kCgoJLy8gKmlmOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgxCgkvLyBtYnJBbXRMZWZ0QmVoaW5kID0gdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkU3Rha2VyTWJyCgljYWxsc3ViIGdldE1ickFtb3VudHMKCWV4dHJhY3QgMjQgOAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODIKCS8vIHJlYWxBbW91bnQgLT0gbWJyQW10TGVmdEJlaGluZAoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMSAvLyByZWFsQW1vdW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgzCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5jcmVhdGUoKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCgljb25jYXQKCWludCAxNDQKCWJveF9jcmVhdGUKCXBvcAoKKmlmOV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg3CgkvLyBmaW5kUmV0ID0gdGhpcy5maW5kUG9vbEZvclN0YWtlcih2YWxpZGF0b3JJZCwgc3Rha2VyLCByZWFsQW1vdW50KQoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGZpbmRQb29sRm9yU3Rha2VyCglmcmFtZV9idXJ5IDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODgKCS8vIHBvb2xLZXkgPSBmaW5kUmV0WzBdCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg5CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmluZFJldFsxXQoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxOTIKCWdldGJpdAoJZnJhbWVfYnVyeSA0IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjkwCgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wgPSBmaW5kUmV0WzJdCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDE5MwoJZ2V0Yml0CglmcmFtZV9idXJ5IDUgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gKmlmMTBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjkxCgkvLyBwb29sS2V5LnBvb2xJZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjEwX2VuZAoKCS8vICppZjEwX2NvbnNlcXVlbnQKCS8vIE5vIHBvb2wgYXZhaWxhYmxlIHdpdGggZnJlZSBzdGFrZS4gIFZhbGlkYXRvciBuZWVkcyB0byBhZGQgYW5vdGhlciBwb29sCgllcnIKCippZjEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2OTYKCS8vIHRoaXMudXBkYXRlU3Rha2VyUG9vbFNldChzdGFrZXIsIHBvb2xLZXkpCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDI0CglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWNhbGxzdWIgdXBkYXRlU3Rha2VyUG9vbFNldAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2OTkKCS8vIHRoaXMuY2FsbFBvb2xBZGRTdGFrZSgKCS8vICAgICAgIHN0YWtlZEFtb3VudFBheW1lbnQsCgkvLyAgICAgICBwb29sS2V5LAoJLy8gICAgICAgbWJyQW10TGVmdEJlaGluZCwKCS8vICAgICAgIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsCgkvLyAgICAgICBpc05ld1N0YWtlclRvUHJvdG9jb2wKCS8vICAgICApCglmcmFtZV9kaWcgNSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCWZyYW1lX2RpZyA0IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCWZyYW1lX2RpZyAyIC8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyNAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJY2FsbHN1YiBjYWxsUG9vbEFkZFN0YWtlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjcxNAoJLy8gcmV0dXJuIHBvb2xLZXk7CglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDI0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNQoJcmV0c3ViCgovLyBzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpCiphYmlfcm91dGVfc2V0VG9rZW5QYXlvdXRSYXRpbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgc2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoJY2FsbHN1YiBzZXRUb2tlblBheW91dFJhdGlvCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2V0VG9rZW5QYXlvdXRSYXRpbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogUG9vbFRva2VuUGF5b3V0UmF0aW8KLy8KLy8gc2V0VG9rZW5QYXlvdXRSYXRpbyBpcyBjYWxsZWQgYnkgU3Rha2luZyBQb29sICMgMSAoT05MWSkgdG8gYXNrIHRoZSB2YWxpZGF0b3IgKHVzKSB0byBjYWxjdWxhdGUgdGhlIHJhdGlvcwovLyBvZiBzdGFrZSBpbiB0aGUgcG9vbHMgZm9yIHN1YnNlcXVlbnQgdG9rZW4gcGF5b3V0cyAoaWU6IDIgcG9vbHMsICcxMDAnIGFsZ28gdG90YWwgc3Rha2VkLCA2MCBpbiBwb29sIDEsIGFuZCA0MAovLyBpbiBwb29sIDIpICBUaGlzIGlzIGRvbmUgc28gd2UgaGF2ZSBhIHN0YWJsZSBzbmFwc2hvdCBvZiBzdGFrZSAtIHRha2VuIG9uY2UgcGVyIGVwb2NoIC0gb25seSB0cmlnZ2VyZWQgYnkKLy8gcG9vbCAxIGRvaW5nIHBheW91dC4gIHBvb2xzIG90aGVyIHRoYW4gMSBkb2luZyBwYXlvdXQgY2FsbCBwb29sIDEgdG8gYXNrIGl0IGRvIGl0IGZpcnN0LgovLyBJdCB3b3VsZCBiZSA2MC80MCUgaW4gdGhlIHBvb2xQY3RPZldob2xlIHZhbHVlcy4gIFRoZSB0b2tlbiByZXdhcmQgcGF5b3V0cyB0aGVuIHVzZSB0aGVzZSB2YWx1ZXMgaW5zdGVhZCBvZgovLyB0aGVpciAnY3VycmVudCcgc3Rha2Ugd2hpY2ggY2hhbmdlcyBhcyBwYXJ0IG9mIHRoZSBwYXlvdXRzIHRoZW1zZWx2ZXMgKGFuZCBwZW9wbGUgY291bGQgYmUgY2hhbmdpbmcgc3Rha2UKLy8gZHVyaW5nIHRoZSBlcG9jaCB1cGRhdGVzIGFjcm9zcyBwb29scykKLy8KLy8gTXVsdGlwbGUgcG9vbHMgd2lsbCBjYWxsIHVzIHZpYSBwb29sIDEgKHBvb2wyLT5wb29sMS0+dmFsaWRhdG9yLCBldGMuKSBzbyBkb24ndCBhc3NlcnQgb24gcG9vbDEgY2FsbGluZyBtdWx0aXBsZQovLyB0aW1lcyBpbiBzYW1lIGVwb2NoLiAgSnVzdCByZXR1cm4uCi8vCi8vIEBwYXJhbSB2YWxpZGF0b3JJZCAtIHZhbGlkYXRvciBpZCAoYW5kIHRodXMgcG9vbCkgY2FsbGluZyB1cy4gIFZlcmlmaWVkIHNvIHRoYXQgc2VuZGVyIE1VU1QgYmUgcG9vbCAxIG9mIHRoaXMgdmFsaWRhdG9yLgovLyBAcmV0dXJucyBQb29sVG9rZW5QYXlvdXRSYXRpbyAtIHRoZSBmaW5pc2hlZCByYXRpbyBkYXRhCnNldFRva2VuUGF5b3V0UmF0aW86Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjczNAoJLy8gcG9vbDFBcHBJRCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbMF0ucG9vbEFwcElkCglpbnQgMjY4CglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM1CgkvLyBhc3NlcnQocG9vbDFBcHBJRCAhPT0gMCkKCWZyYW1lX2RpZyAwIC8vIHBvb2wxQXBwSUQ6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzcKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5hZGRyZXNzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJIT0KCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzgKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0NAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMSAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0NQoJLy8gbGFzdFBheW91dFVwZGF0ZSA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpby51cGRhdGVkRm9yUGF5b3V0CglpbnQgODkyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCgkvLyAqaWYxMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDYKCS8vIGxhc3RQYXlvdXRVcGRhdGUgIT09IDAKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJaW50IDAKCSE9CglieiAqaWYxMl9lbmQKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyAqaWYxM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDgKCS8vIChBcHBJRC5mcm9tVWludDY0KHBvb2wxQXBwSUQpLmdsb2JhbFN0YXRlKCdsYXN0UGF5b3V0JykgYXMgdWludDY0KSA9PT0gbGFzdFBheW91dFVwZGF0ZQoJZnJhbWVfZGlnIDAgLy8gcG9vbDFBcHBJRDogdWludDY0CglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5nbG9iYWxTdGF0ZSgnbGFzdFBheW91dCcpCglhc3NlcnQKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1MQoJLy8gZXBvY2hSb3VuZExlbmd0aCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVwb2NoUm91bmRMZW5ndGggYXMgdWludDY0CglpbnQgMTY5CglpbnQgNAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzUyCgkvLyB0aGlzRXBvY2hCZWdpbiA9IGN1clJvdW5kIC0gKGN1clJvdW5kICUgZXBvY2hSb3VuZExlbmd0aCkKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfYnVyeSA0IC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCgkvLyAqaWYxNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTQKCS8vIGxhc3RQYXlvdXRVcGRhdGUgLSAobGFzdFBheW91dFVwZGF0ZSAlIGVwb2NoUm91bmRMZW5ndGgpID09PSB0aGlzRXBvY2hCZWdpbgoJZnJhbWVfZGlnIDIgLy8gbGFzdFBheW91dFVwZGF0ZTogdWludDY0CglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfZGlnIDQgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPT0KCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTUKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTRfZW5kOgoKKmlmMTJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnVwZGF0ZWRGb3JQYXlvdXQgPSBjdXJSb3VuZAoJaW50IDg5MgoJZnJhbWVfZGlnIDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYwCgkvLyBjdXJOdW1Qb29scyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnQgMjQyCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNSAvLyBjdXJOdW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MQoJLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvciA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkCglpbnQgMjUyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyB0b3RhbFN0YWtlRm9yVmFsaWRhdG9yOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA1IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfMl9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzY3CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW3RoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbaV0udG90YWxBbGdvU3Rha2VkLCAxXzAwMF8wMDBdLAoJLy8gICAgICAgICBbdG90YWxTdGFrZUZvclZhbGlkYXRvcl0KCS8vICAgICAgICkKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaW50IDFfMDAwXzAwMAoJbXVsdwoJaW50IDAKCWZyYW1lX2RpZyA2IC8vIHRvdGFsU3Rha2VGb3JWYWxpZGF0b3I6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgOCAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc3MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnBvb2xQY3RPZldob2xlW2ldID0gb3VyUG9vbFBjdE9mV2hvbGUKCWludCA3MDAKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIDggLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCipmb3JfMl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NjIKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzczCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50IDcwMCAvLyBoZWFkT2Zmc2V0CglpbnQgMjAwCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoKKnNldFRva2VuUGF5b3V0UmF0aW8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gOAoJcmV0c3ViCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzOgoJLy8gc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYWxnb1RvQWRkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIHN0YWtlVXBkYXRlZFZpYVJld2FyZHMoKHVpbnQ2NCx1aW50NjQsdWludDY0KSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzCglpbnQgMQoJcmV0dXJuCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIGFsZ29Ub0FkZDogdWludDY0LCByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkOiB1aW50NjQsIHZhbGlkYXRvckNvbW1pc3Npb246IHVpbnQ2NCwgc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0KTogdm9pZAovLwovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIGlzIGNhbGxlZCBieSBTdGFraW5nIHBvb2xzIHRvIGluZm9ybSB0aGUgdmFsaWRhdG9yICh1cykgdGhhdCBhIHBhcnRpY3VsYXIgYW1vdW50IG9mIHRvdGFsCi8vIHN0YWtlIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIFRoZSBjYWxsaW5nIEFwcCBpZCBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBvdXIgcG9vbCBsaXN0IGFzIHdlbGwuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHlwZQovLyBAcGFyYW0ge3VpbnQ2NH0gYWxnb1RvQWRkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzCi8vIEBwYXJhbSB7dWludDY0fSByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzICh0aGF0IHNob3VsZCBiZQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9yQ29tbWlzc2lvbiAtIHRoZSBjb21taXNzaW9uIGFtb3VudCB0aGUgdmFsaWRhdG9yIHdhcyBwYWlkLCBpZiBhbnkKLy8gQHBhcmFtIHt1aW50NjR9IHNhdHVyYXRlZEJ1cm5Ub0ZlZVNpbmsgLSBpZiB0aGUgcG9vbCB3YXMgaW4gc2F0dXJhdGVkIHN0YXRlLCB0aGUgYW1vdW50IHNlbnQgYmFjayB0byB0aGUgZmVlIHNpbmsuCi8vIHNlZW4gYXMgJ2FjY291bnRlZCBmb3IvcGVuZGluZyBzcGVudCcpCnN0YWtlVXBkYXRlZFZpYVJld2FyZHM6Cglwcm90byA1IDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk0CgkvLyB0aGlzLnZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CgljYWxsc3ViIHZlcmlmeVBvb2xLZXlDYWxsZXIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk3CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgKz0gYWxnb1RvQWRkCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBhbGdvVG9BZGQ6IHVpbnQ2NAoJKwoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCArPSBhbGdvVG9BZGQKCWludCAyNTIKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIGFsZ29Ub0FkZDogdWludDY0CgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk5CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjayArPSByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkCglpbnQgMjYwCglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkOiB1aW50NjQKCSsKCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MDEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGFsZ29Ub0FkZAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBhbGdvVG9BZGQ6IHVpbnQ2NAoJKwoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODA0CgkvLyB0aGlzLnJldmVyaWZ5TkZET3duZXJzaGlwKHBvb2xLZXkuaWQpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWNhbGxzdWIgcmV2ZXJpZnlORkRPd25lcnNoaXAKCXJldHN1YgoKLy8gc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoqYWJpX3JvdXRlX3N0YWtlUmVtb3ZlZDoKCS8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXJSZW1vdmVkKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoc3Rha2VyKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoJY2FsbHN1YiBzdGFrZVJlbW92ZWQKCWludCAxCglyZXR1cm4KCi8vIHN0YWtlUmVtb3ZlZChwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBzdGFrZXI6IEFkZHJlc3MsIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NCwgcmV3YXJkUmVtb3ZlZDogdWludDY0LCBzdGFrZXJSZW1vdmVkOiBib29sZWFuKTogdm9pZAovLwovLyBzdGFrZVJlbW92ZWQgaXMgY2FsbGVkIGJ5IFN0YWtpbmcgcG9vbHMgdG8gaW5mb3JtIHRoZSB2YWxpZGF0b3IgKHVzKSB0aGF0IGEgcGFydGljdWxhciBhbW91bnQgb2YgdG90YWwgc3Rha2UgaGFzIGJlZW4gcmVtb3ZlZAovLyBmcm9tIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIElmIGFueSBhbW91bnQgb2YgcmV3YXJkUmVtb3ZlZCBpcyBzcGVjaWZpZWQsIHRoZW4gdGhhdCBhbW91bnQgb2YgcmV3YXJkIGlzIHNlbnQgdG8gdGhlIHVzZQovLyBUaGUgY2FsbGluZyBBcHAgaWQgaXMgdmFsaWRhdGVkIGFnYWluc3Qgb3VyIHBvb2wgbGlzdCBhcyB3ZWxsLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2xLZXkgY2FsbGluZyB1cyBmcm9tIHdoaWNoIHN0YWtlIHdhcyByZW1vdmVkCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRSZW1vdmVkIC0gYWxnbyBhbW91bnQgcmVtb3ZlZAovLyBAcGFyYW0ge3VpbnQ2NH0gcmV3YXJkUmVtb3ZlZCAtIGlmIGFwcGxpY2FibGUsIGFtb3VudCBvZiB0b2tlbiByZXdhcmQgcmVtb3ZlZCAoYnkgcG9vbCAxIGNhbGxlcikgb3IgVE8gcmVtb3ZlIGFuZCBwYXkgb3V0ICh2aWEgcG9vbCAxIGZyb20gZGlmZmVyZW50IHBvb2wgY2FsbGVyKQovLyBAcGFyYW0ge2Jvb2xlYW59IHN0YWtlclJlbW92ZWQKc3Rha2VSZW1vdmVkOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vICppZjE1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjgzNgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MzcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MzkKCS8vIHRoaXMudmVyaWZ5UG9vbEtleUNhbGxlcihwb29sS2V5KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWNhbGxzdWIgdmVyaWZ5UG9vbEtleUNhbGxlcgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDMKCS8vIGFzc2VydChhbW91bnRSZW1vdmVkID4gMCB8fCByZXdhcmRSZW1vdmVkID4gMCwgJ3Nob3VsZCBvbmx5IGJlIGNhbGxlZCBpZiBhbGdvIG9yIHJld2FyZCB3YXMgcmVtb3ZlZCcpCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CglpbnQgMAoJPgoJZHVwCglibnogKnNraXBfb3IyCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0CglpbnQgMAoJPgoJfHwKCipza2lwX29yMjoKCS8vIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpZiBhbGdvIG9yIHJld2FyZCB3YXMgcmVtb3ZlZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0NgoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxBbGdvU3Rha2VkIC09IGFtb3VudFJlbW92ZWQKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxMCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJLQoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCAtPSBhbW91bnRSZW1vdmVkCglpbnQgMjUyCglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIC09IGFtb3VudFJlbW92ZWQKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CgktCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vICppZjE2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MAoJLy8gcmV3YXJkUmVtb3ZlZCA+IDAKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCWludCAwCgk+CglieiAqaWYxNl9lbHNlCgoJLy8gKmlmMTZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MQoJLy8gcmV3YXJkVG9rZW5JRCA9IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5jb25maWcucmV3YXJkVG9rZW5JZAoJaW50IDE1MwoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHJld2FyZFRva2VuSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTIKCS8vIGFzc2VydChyZXdhcmRUb2tlbklEICE9PSAwLCAicmV3YXJkUmVtb3ZlZCBjYW4ndCBiZSBzZXQgaWYgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSByZXdhcmQgdG9rZW4hIikKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSUQ6IHVpbnQ2NAoJaW50IDAKCSE9CgoJLy8gcmV3YXJkUmVtb3ZlZCBjYW4ndCBiZSBzZXQgaWYgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSByZXdhcmQgdG9rZW4hCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODUzCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrID49IHJld2FyZFJlbW92ZWQsCgkvLyAgICAgICAgICdyZXdhcmQgYmVpbmcgcmVtb3ZlZCBtdXN0IGJlIGNvdmVyZWQgYnkgaG9sZCBiYWNrIGFtb3VudCcKCS8vICAgICAgICkKCWludCAyNjAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCT49CgoJLy8gcmV3YXJkIGJlaW5nIHJlbW92ZWQgbXVzdCBiZSBjb3ZlcmVkIGJ5IGhvbGQgYmFjayBhbW91bnQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrIC09IHJld2FyZFJlbW92ZWQKCWludCAyNjAKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJLQoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY0CgkvLyBwb29sS2V5LnBvb2xJZCAhPT0gMQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJIT0KCWJ6ICppZjE3X2VuZAoKCS8vICppZjE3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucGF5VG9rZW5SZXdhcmQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFtzdGFrZXIsIHJld2FyZFRva2VuSUQsIHJld2FyZFJlbW92ZWRdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjYKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzWzBdLnBvb2xBcHBJZCkKCWludCAyNjgKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjcKCS8vIG1ldGhvZEFyZ3M6IFtzdGFrZXIsIHJld2FyZFRva2VuSUQsIHJld2FyZFJlbW92ZWRdCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYxN19lbmQ6CgliICppZjE2X2VuZAoKKmlmMTZfZWxzZToKCippZjE2X2VuZDoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg5MgoJLy8gc3Rha2VyUmVtb3ZlZAoJZnJhbWVfZGlnIC01IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2xlYW4KCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTQKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsU3Rha2VycyAtPSAxCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgOCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgOCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMQoJLQoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTYKCS8vIHJlbW92ZVJldCA9IHRoaXMucmVtb3ZlRnJvbVN0YWtlclBvb2xTZXQoc3Rha2VyLCA8VmFsaWRhdG9yUG9vbEtleT57CgkvLyAgICAgICAgIGlkOiBwb29sS2V5LmlkLAoJLy8gICAgICAgICBwb29sSWQ6IHBvb2xLZXkucG9vbElkLAoJLy8gICAgICAgICBwb29sQXBwSWQ6IHBvb2xLZXkucG9vbEFwcElkLAoJLy8gICAgICAgfSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJY2FsbHN1YiByZW1vdmVGcm9tU3Rha2VyUG9vbFNldAoJZnJhbWVfYnVyeSAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTAxCgkvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3IgPSByZW1vdmVSZXRbMF0KCWZyYW1lX2RpZyAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJZ2V0Yml0CglmcmFtZV9idXJ5IDIgLy8gc3Rha2VyT3V0T2ZUaGlzVmFsaWRhdG9yOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwMgoJLy8gc3Rha2VyT3V0T2ZQcm90b2NvbCA9IHJlbW92ZVJldFsxXQoJZnJhbWVfZGlnIDEgLy8gcmVtb3ZlUmV0OiAoYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxCglnZXRiaXQKCWZyYW1lX2J1cnkgMyAvLyBzdGFrZXJPdXRPZlByb3RvY29sOiBib29sCgoJLy8gKmlmMTlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTA0CgkvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3IKCWZyYW1lX2RpZyAyIC8vIHN0YWtlck91dE9mVGhpc1ZhbGlkYXRvcjogYm9vbAoJYnogKmlmMTlfZW5kCgoJLy8gKmlmMTlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwNQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsU3Rha2VycyAtPSAxCglpbnQgMjQ0CglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludCAxCgktCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjE5X2VuZDoKCS8vICppZjIwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOAoJLy8gc3Rha2VyT3V0T2ZQcm90b2NvbAoJZnJhbWVfZGlnIDMgLy8gc3Rha2VyT3V0T2ZQcm90b2NvbDogYm9vbAoJYnogKmlmMjBfZW5kCgoJLy8gKmlmMjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOQoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlIC09IDEKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJLQoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCippZjIwX2VuZDoKCippZjE4X2VuZDoKCXJldHN1YgoKLy8gZmluZFBvb2xGb3JTdGFrZXIodWludDY0LGFkZHJlc3MsdWludDY0KSgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9maW5kUG9vbEZvclN0YWtlcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYW1vdW50VG9TdGFrZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKHN0YWtlcikgZm9yIGZpbmRQb29sRm9yU3Rha2VyIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJY2FsbHN1YiBmaW5kUG9vbEZvclN0YWtlcgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGZpbmRQb29sRm9yU3Rha2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHN0YWtlcjogQWRkcmVzcywgYW1vdW50VG9TdGFrZTogdWludDY0KTogW1ZhbGlkYXRvclBvb2xLZXksIGJvb2xlYW4sIGJvb2xlYW5dCi8vCi8vIEZpbmRzIHRoZSBwb29sIGZvciBhIHN0YWtlciBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdmFsaWRhdG9yIGlkLCBzdGFrZXIgYWRkcmVzcywgYW5kIGFtb3VudCB0byBzdGFrZS4KLy8gRmlyc3QgY2hlY2tzIHRoZSBzdGFrZXJzICdhbHJlYWR5IHN0YWtlZCBsaXN0JyBmb3IgdGhlIHZhbGlkYXRvciBwcmVmZXJyaW5nIHRob3NlIChhZGRpbmcgaWYgcG9zc2libGUpIHRoZW4gYWRkcwovLyB0byBuZXcgcG9vbCBpZiBuZWNlc3NhcnkuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1N0YWtlIC0gVGhlIGFtb3VudCB0byBzdGFrZS4KLy8gQHJldHVybnMge1ZhbGlkYXRvclBvb2xLZXksIGJvb2xlYW4sIGJvb2xlYW59IC0gVGhlIHBvb2wgZm9yIHRoZSBzdGFrZXIsIHRydWUvZmFsc2Ugb24gd2hldGhlciB0aGUgc3Rha2VyIGlzICduZXcnCi8vIHRvIHRoaXMgVkFMSURBVE9SLCBhbmQgdHJ1ZS9mYWxzZSBpZiBzdGFrZXIgaXMgbmV3IHRvIHRoZSBwcm90b2NvbC4KZmluZFBvb2xGb3JTdGFrZXI6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA3CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzMAoJLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MzEKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzOQoJLy8gbWF4UGVyUG9vbCA9IHRoaXMuZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHZhbGlkYXRvcklkKQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZ2V0Q3VyTWF4U3Rha2VQZXJQb29sCglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoJLy8gKmlmMjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQyCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWYyMV9lbmQKCgkvLyAqaWYyMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQzCgkvLyBwb29sU2V0ID0gY2xvbmUodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUpCglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NAoJLy8gYXNzZXJ0KHZhbGlkYXRvcklkICE9PSAwKQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWludCAwCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBwb29sU2V0Lmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfMzoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDUKCS8vIGkgPCBwb29sU2V0Lmxlbmd0aAoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgNgoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjIyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjIyX2VuZDoKCS8vICppZjIzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0OQoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJaW50IDAKCT09CglieiAqaWYyM19lbmQKCgkvLyAqaWYyM19jb25zZXF1ZW50CgliICpmb3JfM19jb250aW51ZQoKKmlmMjNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1MgoJLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gKmlmMjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTUzCgkvLyBwb29sU2V0W2ldLmlkID09PSB2YWxpZGF0b3JJZAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCT09CglieiAqaWYyNF9lbmQKCgkvLyAqaWYyNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTU1CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1twb29sU2V0W2ldLnBvb2xJZCAtIDFdLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0KCS8vICAgICAgICAgICAgIG1heFBlclBvb2wKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDggLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxMCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRUb1N0YWtlOiB1aW50NjQKCSsKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJPD0KCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjAKCS8vIHJldHVybiBbcG9vbFNldFtpXSwgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwgaXNOZXdTdGFrZXJUb1Byb3RvY29sXTsKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCWIgKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybgoKKmlmMjVfZW5kOgoKKmlmMjRfZW5kOgoKKmZvcl8zX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgliICpmb3JfMwoKKmZvcl8zX2VuZDoKCippZjIxX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjcKCS8vIGFzc2VydCgKCS8vICAgICAgIGFtb3VudFRvU3Rha2UgPj0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSwKCS8vICAgICAgICdtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJaW50IDIwOQoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk+PQoKCS8vIG11c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3MwoJLy8gcG9vbHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzKQoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglpbnQgNDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA1IC8vIHBvb2xzOiAodWludDY0LHVpbnQxNix1aW50NjQpWzI0XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzQKCS8vIGN1ck51bVBvb2xzID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludCAyNDIKCWludCAyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWYyNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzYKCS8vIHBvb2xzW2ldLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0gbWF4UGVyUG9vbAoJZnJhbWVfZGlnIDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50VG9TdGFrZTogdWludDY0CgkrCglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCTw9CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc3CgkvLyByZXR1cm4gWwoJLy8gICAgICAgICAgIHsgaWQ6IHZhbGlkYXRvcklkLCBwb29sSWQ6IGkgKyAxLCBwb29sQXBwSWQ6IHBvb2xzW2ldLnBvb2xBcHBJZCB9LAoJLy8gICAgICAgICAgIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsCgkvLyAgICAgICAgICAgaXNOZXdTdGFrZXJUb1Byb3RvY29sLAoJLy8gICAgICAgICBdOwoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCWIgKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybgoKKmlmMjZfZW5kOgoKKmZvcl80X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDcgLy8gaTogdWludDY0CgliICpmb3JfNAoKKmZvcl80X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5ODUKCS8vIHJldHVybiBbeyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogMCwgcG9vbEFwcElkOiAwIH0sIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsIGlzTmV3U3Rha2VyVG9Qcm90b2NvbF07CglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwCglpbnQgMAoJZnJhbWVfZGlnIDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJc2V0Yml0CglpbnQgMQoJZnJhbWVfZGlnIDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglzZXRiaXQKCWNvbmNhdAoKKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDcKCXJldHN1YgoKLy8gbW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX21vdmVQb29sVG9Ob2RlOgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gcG9vbEFwcElkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBtb3ZlUG9vbFRvTm9kZSh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG1vdmVQb29sVG9Ob2RlCglpbnQgMQoJcmV0dXJuCgovLyBtb3ZlUG9vbFRvTm9kZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBwb29sQXBwSWQ6IHVpbnQ2NCwgbm9kZU51bTogdWludDY0KTogdm9pZAovLwovLyBGaW5kIHRoZSBzcGVjaWZpZWQgcG9vbCAoaW4gYW55IG5vZGUgbnVtYmVyKSBhbmQgbW92ZSBpdCB0byB0aGUgc3BlY2lmaWVkIG5vZGUuCi8vIFRoZSBwb29sIGFjY291bnQgaXMgZm9yY2VkIG9mZmxpbmUgaWYgbW92ZWQgc28gcHJpb3Igbm9kZSB3aWxsIHN0aWxsIHJ1biBmb3IgMzIwIHJvdW5kcyBidXQKLy8gbmV3IGtleSBnb2VzIG9ubGluZSBvbiBuZXcgbm9kZSBzb29uIGFmdGVyICgzMjAgcm91bmRzIGFmdGVyIGl0IGdvZXMgb25saW5lKQovLyBOby1vcCBpZiBzdWNjZXNzLCBhc3NlcnRzIGlmIG5vdCBmb3VuZCBvciBjYW4ndCBtb3ZlICAobm8gc3BhY2UgaW4gdGFyZ2V0KQovLyBbIE9OTFkgT1dORVIgT1IgTUFOQUdFUiBDQU4gQ0hBTkdFIF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSBwb29sQXBwSWQKLy8gQHBhcmFtIHt1aW50NjR9IG5vZGVOdW0KbW92ZVBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIgfHwKCS8vICAgICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCWR1cAoJYm56ICpza2lwX29yMwoJdHhuIFNlbmRlcgoJaW50IDQwCglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoJfHwKCipza2lwX29yMzoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDcKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnQgOTAwIC8vIGhlYWRPZmZzZXQKCWludCAxOTIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDA4CgkvLyBhc3NlcnQobm9kZU51bSA+PSAxICYmIG5vZGVOdW0gPD0gTUFYX05PREVTLCAnbm9kZSBudW1iZXIgb3V0IG9mIGFsbG93YWJsZSByYW5nZScpCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnQgMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50IDgKCTw9CgkmJgoKKnNraXBfYW5kMToKCS8vIG5vZGUgbnVtYmVyIG91dCBvZiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBmb3IgKGxldCBzcmNOb2RlSWR4ID0gMDsgc3JjTm9kZUlkeCA8IE1BWF9OT0RFUzsgc3JjTm9kZUlkeCArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCipmb3JfNToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBzcmNOb2RlSWR4IDwgTUFYX05PREVTCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludCA4Cgk8CglieiAqZm9yXzVfZW5kCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgTUFYX1BPT0xTX1BFUl9OT0RFOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl82OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGkgPCBNQVhfUE9PTFNfUEVSX05PREUKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDMKCTwKCWJ6ICpmb3JfNl9lbmQKCgkvLyAqaWYyN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEyCgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW3NyY05vZGVJZHhdLnBvb2xBcHBJZHNbaV0gPT09IHBvb2xBcHBJZAoJZnJhbWVfZGlnIDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoJaW50IDAKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0Cgk9PQoJYnogKmlmMjdfZW5kCgoJLy8gKmlmMjdfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTMKCS8vIGFzc2VydChub2RlTnVtIC0gMSAhPT0gc3JjTm9kZUlkeCwgImNhbid0IG1vdmUgdG8gc2FtZSBub2RlIikKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCSE9CgoJLy8gY2FuJ3QgbW92ZSB0byBzYW1lIG5vZGUKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbc3JjTm9kZUlkeF0ucG9vbEFwcElkc1tpXSA9IDAKCWludCA5MDAKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE4CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLmdvT2ZmbGluZT4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLAoJLy8gICAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJnb09mZmxpbmUoKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE5CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDIzCgkvLyB0aGlzLmFkZFBvb2xUb05vZGUodmFsaWRhdG9ySWQsIHBvb2xBcHBJZCwgbm9kZU51bSkKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgYWRkUG9vbFRvTm9kZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDI0CgkvLyByZXR1cm47CglyZXRzdWIKCippZjI3X2VuZDoKCipmb3JfNl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDExCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl82CgoqZm9yXzZfZW5kOgoKKmZvcl81X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTAKCS8vIHNyY05vZGVJZHggKz0gMQoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJYiAqZm9yXzUKCipmb3JfNV9lbmQ6CgkvLyBjb3VsZG4ndCBmaW5kIHBvb2wgYXBwIGlkIGluIG5vZGVzIHRvIG1vdmUKCWVycgoJcmV0c3ViCgovLyBlbXB0eVRva2VuUmV3YXJkcyh1aW50NjQsYWRkcmVzcyl1aW50NjQKKmFiaV9yb3V0ZV9lbXB0eVRva2VuUmV3YXJkczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gcmVjZWl2ZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciBlbXB0eVRva2VuUmV3YXJkcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0CgljYWxsc3ViIGVtcHR5VG9rZW5SZXdhcmRzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZW1wdHlUb2tlblJld2FyZHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgcmVjZWl2ZXI6IEFkZHJlc3MpOiB1aW50NjQKLy8KLy8gU2VuZHMgdGhlIHJld2FyZCB0b2tlbnMgaGVsZCBpbiBwb29sIDEgdG8gc3BlY2lmaWVkIHJlY2VpdmVyLgovLyBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgdGhlIG93bmVyIHdoZW4gdGhleSB3YW50IHRvIGdldCByZXdhcmQgdG9rZW5zICdiYWNrJyB3aGljaCB0aGV5IHNlbnQgdG8KLy8gdGhlIGZpcnN0IHBvb2wgKGxpa2VseSBiZWNhdXNlIHZhbGlkYXRvciBpcyBzdW5zZXR0aW5nLiAgQW55IHRva2VucyBjdXJyZW50bHkgJ3Jlc2VydmVkJyBmb3Igc3Rha2VycyB0byBjbGFpbSB3aWxsCi8vIE5PVCBiZSBzZW50IGFzIHRoZXkgbXVzdCBiZSBoZWxkIGJhY2sgZm9yIHN0YWtlcnMgdG8gbGF0ZXIgY2xhaW0uCi8vIFsgT05MWSBPV05FUiBDQU4gQ0FMTF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7QWRkcmVzc30gcmVjZWl2ZXIgLSB0aGUgYWNjb3VudCB0byBzZW5kIHRoZSB0b2tlbnMgdG8gKG11c3QgYWxyZWFkeSBiZSBvcHRlZC1pbiB0byB0aGUgcmV3YXJkIHRva2VuKQovLyBAcmV0dXJucyB7dWludDY0fSB0aGUgYW1vdW50IG9mIHJld2FyZCB0b2tlbiBzZW50CmVtcHR5VG9rZW5SZXdhcmRzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQzCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDcKCS8vIHJld2FyZFRva2VuSWQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRUb2tlbklkCglpbnQgMTUzCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA0OAoJLy8gcmV3YXJkVG9rZW5IZWxkQmFjayA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjawoJaW50IDI2MAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDkKCS8vIGFzc2VydChyZXdhcmRUb2tlbklkICE9PSAwLCAidGhpcyB2YWxpZGF0b3IgZG9lc24ndCBoYXZlIGEgcmV3YXJkIHRva2VuIGRlZmluZWQiKQoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0CglpbnQgMAoJIT0KCgkvLyB0aGlzIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgYSByZXdhcmQgdG9rZW4gZGVmaW5lZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTAKCS8vIHBvb2xPbmVBcHBJZCA9IEFwcElELmZyb21VaW50NjQodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpCglpbnQgMjY4CglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDUyCgkvLyB0b2tlblJld2FyZEJhbCA9IHBvb2xPbmVBcHBJZC5hZGRyZXNzLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDIgLy8gcG9vbE9uZUFwcElkOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgktCglmcmFtZV9idXJ5IDMgLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU1CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLnBheVRva2VuUmV3YXJkPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbcmVjZWl2ZXIsIHJld2FyZFRva2VuSWQsIHRva2VuUmV3YXJkQmFsXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU2CgkvLyBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQKCWZyYW1lX2RpZyAyIC8vIHBvb2xPbmVBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1NwoJLy8gbWV0aG9kQXJnczogW3JlY2VpdmVyLCByZXdhcmRUb2tlbklkLCB0b2tlblJld2FyZEJhbF0KCWZyYW1lX2RpZyAtMiAvLyByZWNlaXZlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAzIC8vIHRva2VuUmV3YXJkQmFsOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU5CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sT25lQXBwSWQuYWRkcmVzcy5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHJld2FyZFRva2VuSWQpKSA9PT0gcmV3YXJkVG9rZW5IZWxkQmFjaywKCS8vICAgICAgICdiYWxhbmNlIG9mIHJlbWFpbmluZyByZXdhcmQgdG9rZW5zIHNob3VsZCBtYXRjaCB0aGUgaGVsZCBiYWNrIGFtb3VudCcKCS8vICAgICApCglmcmFtZV9kaWcgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMSAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCT09CgoJLy8gYmFsYW5jZSBvZiByZW1haW5pbmcgcmV3YXJkIHRva2VucyBzaG91bGQgbWF0Y2ggdGhlIGhlbGQgYmFjayBhbW91bnQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDYzCgkvLyByZXR1cm4gdG9rZW5SZXdhcmRCYWw7CglmcmFtZV9kaWcgMyAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiB2b2lkCi8vCi8vIExvZ3MgdGhlIGFkZGl0aW9uIG9mIGEgbmV3IHZhbGlkYXRvciB0byB0aGUgc3lzdGVtLCBpdHMgaW5pdGlhbCBvd25lciBhbmQgbWFuYWdlcgovLwovLwovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyIHZlcmlmaWVzIHRoZSBwYXNzZWQgaW4ga2V5IChmcm9tIGEgc3Rha2luZyBwb29sIGNhbGxpbmcgdXMgdG8gdXBkYXRlIG1ldHJpY3MpIGlzIHZhbGlkCi8vIGFuZCBtYXRjaGVzIHRoZSBpbmZvcm1hdGlvbiB3ZSBoYXZlIGluIG91ciBzdGF0ZS4gICdGYWtlJyBwb29scyBjb3VsZCBjYWxsIHVzIHRvIHVwZGF0ZSBvdXIgZGF0YSwgYnV0IHRoZXkKLy8gY2FuJ3QgZmFrZSB0aGUgaWRzIGFuZCBtb3N0IGltcG9ydGFudGx5IGFwcGxpY2F0aW9uIGlkKCEpIG9mIHRoZSBjYWxsZXIgdGhhdCBoYXMgdG8gbWF0Y2guCnZlcmlmeVBvb2xLZXlDYWxsZXI6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2MQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS5leGlzdHMsICJ0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gdGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYyCgkvLyBhc3NlcnQocG9vbEtleS5wb29sSWQgPD0gTUFYX1BPT0xTLCAncG9vbCBpZCBub3QgaW4gdmFsaWQgcmFuZ2UnKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMjQKCTw9CgoJLy8gcG9vbCBpZCBub3QgaW4gdmFsaWQgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYzCgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sS2V5LnBvb2xJZCA+IDAgJiYgKHBvb2xLZXkucG9vbElkIGFzIHVpbnQxNikgPD0gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzLAoJLy8gICAgICAgJ3Bvb2wgaWQgb3V0c2lkZSBvZiByYW5nZSBvZiBwb29scyBjcmVhdGVkIGZvciB0aGlzIHZhbGlkYXRvcicKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAwCgk+CglkdXAKCWJ6ICpza2lwX2FuZDIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDI0MgoJaW50IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJPD0KCSYmCgoqc2tpcF9hbmQyOgoJLy8gcG9vbCBpZCBvdXRzaWRlIG9mIHJhbmdlIG9mIHBvb2xzIGNyZWF0ZWQgZm9yIHRoaXMgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgcG9vbEtleS5wb29sQXBwSWQgPT09IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnBvb2xBcHBJZCwKCS8vICAgICAgICJUaGUgcGFzc2VkIGluIGFwcCBpZCBkb2Vzbid0IG1hdGNoIHRoZSBwYXNzZWQgaW4gaWRzIgoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk9PQoKCS8vIFRoZSBwYXNzZWQgaW4gYXBwIGlkIGRvZXNuJ3QgbWF0Y2ggdGhlIHBhc3NlZCBpbiBpZHMKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTc0CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNzYKCS8vIGFzc2VydChwb29sS2V5LmlkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3ZhbGlkYXRvcklkJykgYXMgdWludDY0KSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmdsb2JhbFN0YXRlKCd2YWxpZGF0b3JJZCcpCglhc3NlcnQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE3NwoJLy8gYXNzZXJ0KHBvb2xLZXkucG9vbElkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3Bvb2xJZCcpIGFzIHVpbnQ2NCkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgncG9vbElkJykKCWFzc2VydAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyByZXZlcmlmeU5GRE93bmVyc2hpcCh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogdm9pZAovLwovLyBUaGlzIG1ldGhvZCB2ZXJpZmllcyB0aGUgb3duZXJzaGlwIG9mIE5GRCAoTmFtZWQgRnVuY3Rpb24gRGF0YSkgYnkgYSB2YWxpZGF0b3IuCi8vIElmIHRoZSBvd25lcnNoaXAgaXMgbm8gbG9uZ2VyIHZhbGlkLCBpdCByZW1vdmVzIHRoZSBORkQgZnJvbSB0aGUgdmFsaWRhdG9yJ3MgY29uZmlndXJhdGlvbi4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3Igd2hvc2UgZGF0YSBzaG91bGQgYmUgcmUtZXZhbHVhdGVkLgpyZXZlcmlmeU5GRE93bmVyc2hpcDoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE4NwoJLy8gdmFsaWRhdG9yQ29uZmlnID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsaWRhdG9yQ29uZmlnCgoJLy8gKmlmMjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE4OAoJLy8gdmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8gIT09IDAKCWludCA3MgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJIT0KCWJ6ICppZjI4X2VuZAoKCS8vICppZjI4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTkxCgkvLyBuZmRPd25lciA9IEFwcElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKSBhcyBBZGRyZXNzCglpbnQgNzIKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEgLy8gbmZkT3duZXI6IGFkZHJlc3MKCgkvLyAqaWYyOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTkzCgkvLyB2YWxpZGF0b3JDb25maWcub3duZXIgIT09IG5mZE93bmVyICYmIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyICE9PSBuZmRPd25lcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQzCglpbnQgNDAKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJJiYKCipza2lwX2FuZDM6CglieiAqaWYyOV9lbmQKCgkvLyAqaWYyOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE5NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IDAKCWludCA3MgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYyOV9lbmQ6CgoqaWYyOF9lbmQ6CglyZXRzdWIKCi8vIHZhbGlkYXRlQ29uZmlnKGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnKTogdm9pZAp2YWxpZGF0ZUNvbmZpZzoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjAyCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcuZW50cnlHYXRpbmdUeXBlID49IEdBVElOR19UWVBFX05PTkUgJiYgY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA8PSBHQVRJTkdfVFlQRV9DT05TVF9NQVgsCgkvLyAgICAgICAnZ2F0aW5nIHR5cGUgbm90IHZhbGlkJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnQgMAoJPj0KCWR1cAoJYnogKnNraXBfYW5kNAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludCA0Cgk8PQoJJiYKCipza2lwX2FuZDQ6CgkvLyBnYXRpbmcgdHlwZSBub3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjA2CgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcuZXBvY2hSb3VuZExlbmd0aCA+PSBNSU5fRVBPQ0hfTEVOR1RIICYmIGNvbmZpZy5lcG9jaFJvdW5kTGVuZ3RoIDw9IE1BWF9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICAnZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnQgMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kNQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnQgMTAwMDAwMAoJPD0KCSYmCgoqc2tpcF9hbmQ1OgoJLy8gZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjEwCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yID49IE1JTl9QQ1RfVE9fVkFMSURBVE9SICYmIGNvbmZpZy5wZXJjZW50VG9WYWxpZGF0b3IgPD0gTUFYX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICAnY29tbWlzc2lvbiBwZXJjZW50YWdlIG5vdCB2YWxpZCcKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAwCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ2CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAxMDAwMDAwCgk8PQoJJiYKCipza2lwX2FuZDY6CgkvLyBjb21taXNzaW9uIHBlcmNlbnRhZ2Ugbm90IHZhbGlkCglhc3NlcnQKCgkvLyAqaWYzMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjE0CgkvLyBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yICE9PSAwCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAwCgkhPQoJYnogKmlmMzBfZW5kCgoJLy8gKmlmMzBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMTUKCS8vIGFzc2VydCgKCS8vICAgICAgICAgY29uZmlnLnZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzLAoJLy8gICAgICAgICAndmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBzZXQgaWYgcGVyY2VudCB0byB2YWxpZGF0b3IgaXMgbm90IDAnCgkvLyAgICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTc3IDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBzZXQgaWYgcGVyY2VudCB0byB2YWxpZGF0b3IgaXMgbm90IDAKCWFzc2VydAoKKmlmMzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMjAKCS8vIGFzc2VydChjb25maWcubWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIwOSA4CglidG9pCglpbnQgMTAwMDAwMAoJPj0KCgkvLyBzdGFraW5nIHBvb2wgbXVzdCBoYXZlIG1pbmltdW0gZW50cnkgb2YgMSBhbGdvCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyMgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgY29uZmlnLnBvb2xzUGVyTm9kZSA+IDAgJiYgY29uZmlnLnBvb2xzUGVyTm9kZSA8PSBNQVhfUE9PTFNfUEVSX05PREUsCgkvLyAgICAgICAnbnVtYmVyIG9mIHBvb2xzIHBlciBub2RlIGV4Y2VlZHMgYWxsb3dlZCBudW1iZXInCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNSAxCglidG9pCglpbnQgMAoJPgoJZHVwCglieiAqc2tpcF9hbmQ3CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjI1IDEKCWJ0b2kKCWludCAzCgk8PQoJJiYKCipza2lwX2FuZDc6CgkvLyBudW1iZXIgb2YgcG9vbHMgcGVyIG5vZGUgZXhjZWVkcyBhbGxvd2VkIG51bWJlcgoJYXNzZXJ0CgoJLy8gKmlmMzFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyNgoJLy8gY29uZmlnLnN1bnNldHRpbmdPbiAhPT0gMAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNiA4CglidG9pCglpbnQgMAoJIT0KCWJ6ICppZjMxX2VuZAoKCS8vICppZjMxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjI3CgkvLyBhc3NlcnQoY29uZmlnLnN1bnNldHRpbmdPbiA+IGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wLCAnc3Vuc2V0dGluZ09uIG11c3QgYmUgbGF0ZXIgdGhhbiBub3cgaWYgc2V0JykKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMjYgOAoJYnRvaQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJPgoKCS8vIHN1bnNldHRpbmdPbiBtdXN0IGJlIGxhdGVyIHRoYW4gbm93IGlmIHNldAoJYXNzZXJ0CgoqaWYzMV9lbmQ6CglyZXRzdWIKCi8vIGNhbGxQb29sQWRkU3Rha2Uoc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuLCBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBtYnJBbXRQYWlkOiB1aW50NjQsIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2xlYW4sIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbik6IHZvaWQKLy8KLy8gQWRkcyBhIHN0YWtlcnMgYW1vdW50IG9mIGFsZ28gdG8gYSB2YWxpZGF0b3IgcG9vbCwgdHJhbnNmZXJyaW5nIHRoZSBhbGdvIHdlIHJlY2VpdmVkIGZyb20gdGhlbSAoYWxyZWFkeSB2ZXJpZmllZAovLyBieSBvdXIgY2FsbGVyKSB0byB0aGUgc3Rha2luZyBwb29sIGFjY291bnQsIGFuZCB0aGVuIHRlbGxpbmcgaXQgYWJvdXQgdGhlIGFtb3VudCBiZWluZyBhZGRlZCBmb3IgdGhlIHNwZWNpZmllZAovLyBzdGFrZXIuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sS2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsaWRhdG9yIHBvb2wuCi8vIEBwYXJhbSB7dWludDY0fSBtYnJBbXRQYWlkIC0gQW1vdW50IHRoZSB1c2VyIGlzIGxlYXZpbmcgYmVoaW5kIGluIHRoZSB2YWxpZGF0b3IgdG8gcGF5IGZvciB0aGVpciBzdGFrZXIgTUJSIGNvc3QKLy8gQHBhcmFtIHtib29sZWFufSBpc05ld1N0YWtlclRvVmFsaWRhdG9yIC0gaWYgdGhpcyBpcyBhIG5ldywgZmlyc3QtdGltZSBzdGFrZXIgdG8gdGhlIHZhbGlkYXRvcgovLyBAcGFyYW0ge2Jvb2xlYW59IGlzTmV3U3Rha2VyVG9Qcm90b2NvbCAtIGlmIHRoaXMgaXMgYSBuZXcsIGZpcnN0LXRpbWUgc3Rha2VyIHRvIHRoZSBwcm90b2NvbApjYWxsUG9vbEFkZFN0YWtlOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjQ5CgkvLyBwb29sQXBwSWQgPSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS5wb29sQXBwSWQKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1MwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5hZGRTdGFrZSwgdWludDY0Pih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgLy8gVEhJUyBJUyBBIFNFTkQgb2YgdGhlIGFtb3VudCByZWNlaXZlZCByaWdodCBiYWNrIG91dCBhbmQgaW50byB0aGUgc3Rha2luZyBwb29sIGNvbnRyYWN0IGFjY291bnQuCgkvLyAgICAgICAgIHsgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQsIHJlY2VpdmVyOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuYWRkcmVzcyB9LAoJLy8gICAgICAgICAvLyA9PT09PT09CgkvLyAgICAgICAgIHN0YWtlZEFtb3VudFBheW1lbnQuc2VuZGVyLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyByZWNlaXZlcjogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1NAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpCglmcmFtZV9kaWcgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTUKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgLy8gPT09PT09PQoJLy8gICAgICAgICAvLyBUSElTIElTIEEgU0VORCBvZiB0aGUgYW1vdW50IHJlY2VpdmVkIHJpZ2h0IGJhY2sgb3V0IGFuZCBpbnRvIHRoZSBzdGFraW5nIHBvb2wgY29udHJhY3QgYWNjb3VudC4KCS8vICAgICAgICAgeyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZCwgcmVjZWl2ZXI6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5hZGRyZXNzIH0sCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgc3Rha2VkQW1vdW50UGF5bWVudC5zZW5kZXIsCgkvLyAgICAgICBdCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglidG9pCgoJLy8gKmlmMzJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2MwoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCA1MDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCA1MDAKCTwKCWJ6ICppZjMyX2VuZAoKCS8vICppZjMyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjY0CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWYzMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2OAoJLy8gcG9vbE51bVN0YWtlcnMgPSBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ251bVN0YWtlcnMnKSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdudW1TdGFrZXJzJykKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xOdW1TdGFrZXJzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2OQoJLy8gcG9vbEFsZ29TdGFrZWQgPSBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3N0YWtlZCcpIGFzIHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3N0YWtlZCcpCglhc3NlcnQKCWZyYW1lX2J1cnkgMiAvLyBwb29sQWxnb1N0YWtlZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsU3Rha2VycyA9IHBvb2xOdW1TdGFrZXJzIGFzIHVpbnQxNgoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDggLy8gaGVhZE9mZnNldAoJKwoJZnJhbWVfZGlnIDEgLy8gcG9vbE51bVN0YWtlcnM6IHVpbnQ2NAoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjcxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgPSBwb29sQWxnb1N0YWtlZAoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWZyYW1lX2RpZyAyIC8vIHBvb2xBbGdvU3Rha2VkOiB1aW50NjQKCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vICppZjMzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzQKCS8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IKCWZyYW1lX2RpZyAtNCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sZWFuCglieiAqaWYzM19lbmQKCgkvLyAqaWYzM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsU3Rha2VycyArPSAxCglpbnQgMjQ0CglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludCAxCgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjMzX2VuZDoKCS8vICppZjM0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzcKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbAoJZnJhbWVfZGlnIC01IC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbgoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzgKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSArPSAxCglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCSsKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoqaWYzNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4MAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCArPSBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQKCWludCAyNTIKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4MQoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyB1cGRhdGVTdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IHZvaWQKdXBkYXRlU3Rha2VyUG9vbFNldDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NQoJLy8gYXNzZXJ0KHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cykKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NwoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDAgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg4CgkvLyBmaXJzdEVtcHR5ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzc6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OQoJLy8gaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgNgoJPAoJYnogKmZvcl83X2VuZAoKCS8vICppZjM1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTAKCS8vIHBvb2xTZXRbaV0gPT09IHBvb2xLZXkKCWZyYW1lX2RpZyAwIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5Cgk9PQoJYnogKmlmMzVfZW5kCgoJLy8gKmlmMzVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTIKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmMzVfZW5kOgoJLy8gKmlmMzZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5NAoJLy8gZmlyc3RFbXB0eSA9PT0gMCAmJiBwb29sU2V0W2ldLmlkID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJZHVwCglieiAqc2tpcF9hbmQ4CglmcmFtZV9kaWcgMCAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMAoJPT0KCSYmCgoqc2tpcF9hbmQ4OgoJYnogKmlmMzZfZW5kCgoJLy8gKmlmMzZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTUKCS8vIGZpcnN0RW1wdHkgPSBpICsgMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoKKmlmMzZfZW5kOgoKKmZvcl83X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODkKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzcKCipmb3JfN19lbmQ6CgkvLyAqaWYzN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjk4CgkvLyBmaXJzdEVtcHR5ID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmMzdfZW5kCgoJLy8gKmlmMzdfY29uc2VxdWVudAoJLy8gTm8gZW1wdHkgc2xvdCBhdmFpbGFibGUgaW4gdGhlIHN0YWtlciBwb29sIHNldAoJZXJyCgoqaWYzN19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMwMQoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWVbZmlyc3RFbXB0eSAtIDFdID0gcG9vbEtleQoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnQgMQoJLQoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIHJlbW92ZUZyb21TdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFtib29sZWFuLCBib29sZWFuXQovLwovLyBSZW1vdmVzIGEgcG9vbCBrZXkgZnJvbSB0aGUgc3Rha2VyJ3MgYWN0aXZlIHBvb2wgc2V0IC0gZmFpbHMgaWYgbm90IGZvdW5kICghKQovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFRoZSBwb29sIGtleSB0aGV5IHNob3VsZCBiZSBzdG9yZWQgaW4KLy8KLy8gQHJldHVybiBbYm9vbGVhbiwgYm9vbGVhbl0gW2lzIHRoZSBzdGFrZXIgZ29uZSBmcm9tIEFMTCBwb29scyBvZiB0aGUgZ2l2ZW4gVkFMSURBVE9SLCBhbmQgaXMgc3Rha2VyIGdvbmUgZnJvbSBBTEwgcG9vbHNdCnJlbW92ZUZyb21TdGFrZXJQb29sU2V0OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE0CgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTUKCS8vIGluQW55UG9vbENvdW50ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTYKCS8vIGZvdW5kID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOAoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfODoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpIDwgdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCA2Cgk8CglieiAqZm9yXzhfZW5kCgoJLy8gKmlmMzhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyMAoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJaW50IDAKCT09CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgliICpmb3JfOF9jb250aW51ZQoKKmlmMzhfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjMKCS8vIGluQW55UG9vbENvdW50ICs9IDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gaW5BbnlQb29sQ291bnQ6IHVpbnQ2NAoKCS8vICppZjM5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjQKCS8vIHBvb2xTZXRbaV0uaWQgPT09IHBvb2xLZXkuaWQKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vICppZjQwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjUKCS8vIHBvb2xTZXRbaV0gPT09IHBvb2xLZXkKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5Cgk9PQoJYnogKmlmNDBfZWxzZQoKCS8vICppZjQwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI2CgkvLyBmb3VuZCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyOAoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWVbaV0gPSB7IGlkOiAwLCBwb29sSWQ6IDAsIHBvb2xBcHBJZDogMCB9CglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgliICppZjQwX2VuZAoKKmlmNDBfZWxzZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzMwCgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCippZjQwX2VuZDoKCippZjM5X2VuZDoKCipmb3JfOF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpICs9IDEKCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCWIgKmZvcl84CgoqZm9yXzhfZW5kOgoJLy8gKmlmNDFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzNAoJLy8gIWZvdW5kCglmcmFtZV9kaWcgMiAvLyBmb3VuZDogYm9vbAoJIQoJYnogKmlmNDFfZW5kCgoJLy8gKmlmNDFfY29uc2VxdWVudAoJLy8gTm8gbWF0Y2hpbmcgc2xvdCBmb3VuZCB3aGVuIHRvbGQgdG8gcmVtb3ZlIGEgcG9vbCBmcm9tIHRoZSBzdGFrZXJzIHNldAoJZXJyCgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzOAoJLy8gcmV0dXJuIFtpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPT09IDAsIGluQW55UG9vbENvdW50ID09PSAwXTsKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CglpbnQgMAoJPT0KCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludCAwCgk9PQoJc2V0Yml0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgovLyBhZGRQb29sVG9Ob2RlKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHBvb2xBcHBJZDogdWludDY0LCBub2RlTnVtOiB1aW50NjQpOiB2b2lkCmFkZFBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDIKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnQgOTAwIC8vIGhlYWRPZmZzZXQKCWludCAxOTIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQzCgkvLyBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcucG9vbHNQZXJOb2RlIGFzIHVpbnQ2NAoJaW50IDIyNQoJaW50IDEKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDUKCS8vIGFzc2VydChub2RlTnVtID49IDEgJiYgbm9kZU51bSA8PSBNQVhfTk9ERVMsICdub2RlIG51bWJlciBub3QgaW4gdmFsaWQgcmFuZ2UnKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50IDEKCT49CglkdXAKCWJ6ICpza2lwX2FuZDkKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCA4Cgk8PQoJJiYKCipza2lwX2FuZDk6CgkvLyBub2RlIG51bWJlciBub3QgaW4gdmFsaWQgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3I7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzk6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0NwoJLy8gaSA8IG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3IKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcjogdWludDY0Cgk8CglieiAqZm9yXzlfZW5kCgoJLy8gKmlmNDJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0OAoJLy8gbm9kZVBvb2xBc3NpZ25tZW50cy5ub2Rlc1tub2RlTnVtIC0gMV0ucG9vbEFwcElkc1tpXSA9PT0gMAoJZnJhbWVfZGlnIDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoJaW50IDAKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjQyX2VuZAoKCS8vICppZjQyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzUwCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbbm9kZU51bSAtIDFdLnBvb2xBcHBJZHNbaV0gPSBwb29sQXBwSWQKCWludCA5MDAKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzUxCgkvLyByZXR1cm47CglyZXRzdWIKCippZjQyX2VuZDoKCipmb3JfOV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl85CgoqZm9yXzlfZW5kOgoJLy8gbm8gYXZhaWxhYmxlIHNwYWNlIGluIHNwZWNpZmllZCBub2RlIGZvciB0aGlzIHBvb2wKCWVycgoJcmV0c3ViCgovLyBkb2VzU3Rha2VyTWVldEdhdGluZyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQpOiB2b2lkCi8vCi8vIENoZWNrcyBpZiBhIHN0YWtlciBtZWV0cyB0aGUgZ2F0aW5nIHJlcXVpcmVtZW50cyBzcGVjaWZpZWQgYnkgdGhlIHZhbGlkYXRvci4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWx1ZVRvVmVyaWZ5IC0gVGhlIHZhbHVlIHRvIHZlcmlmeSBhZ2FpbnN0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzLgovLyBAcmV0dXJucyB7dm9pZH0gb3IgYXNzZXJ0cyBpZiByZXF1aXJlbWVudHMgbm90IG1ldC4KZG9lc1N0YWtlck1lZXRHYXRpbmc6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNjUKCS8vIHR5cGUgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ1R5cGUKCWludCA4MAoJaW50IDEKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gdHlwZTogdWludDgKCgkvLyAqaWY0M19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY2CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9OT05FCglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDAKCT09CglieiAqaWY0M19lbmQKCgkvLyAqaWY0M19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2NwoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWY0M19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2OQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDEgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNzAKCS8vIGNvbmZpZyA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnKQoJaW50IDAKCWludCAyNDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzc0CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVFNfQ1JFQVRFRF9CWSB8fAoJLy8gICAgICAgdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRfSUQgfHwKCS8vICAgICAgIHR5cGUgPT09IEdBVElOR19UWVBFX0NSRUFURURfQllfTkZEX0FERFJFU1NFUwoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludCAxCgk9PQoJZHVwCglibnogKnNraXBfb3I0CglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDIKCT09Cgl8fAoKKnNraXBfb3I0OgoJZHVwCglibnogKnNraXBfb3I1CglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDMKCT09Cgl8fAoKKnNraXBfb3I1OgoJYnogKmlmNDRfZW5kCgoJLy8gKmlmNDRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNzgKCS8vIGFzc2VydCh2YWx1ZVRvVmVyaWZ5ICE9PSAwKQoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3OQoJLy8gYmFsUmVxdWlyZWQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5nYXRpbmdBc3NldE1pbkJhbGFuY2UKCWludCAxNDUKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCgkvLyAqaWY0NV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzgwCgkvLyBiYWxSZXF1aXJlZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWY0NV9lbmQKCgkvLyAqaWY0NV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4MQoJLy8gYmFsUmVxdWlyZWQgPSAxCglpbnQgMQoJZnJhbWVfYnVyeSAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCippZjQ1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzgzCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHN0YWtlci5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpKSA+PSBiYWxSZXF1aXJlZCwKCS8vICAgICAgICAgJ211c3QgaGF2ZSByZXF1aXJlZCBtaW5pbXVtIGJhbGFuY2Ugb2YgdmFsaWRhdG9yIGRlZmluZWQgdG9rZW4gdG8gYWRkIHN0YWtlJwoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDEgLy8gc3Rha2VyOiBhZGRyZXNzCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoJPj0KCgkvLyBtdXN0IGhhdmUgcmVxdWlyZWQgbWluaW11bSBiYWxhbmNlIG9mIHZhbGlkYXRvciBkZWZpbmVkIHRva2VuIHRvIGFkZCBzdGFrZQoJYXNzZXJ0CgoqaWY0NF9lbmQ6CgkvLyAqaWY0Nl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzg4CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVFNfQ1JFQVRFRF9CWQoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludCAxCgk9PQoJYnogKmlmNDZfZW5kCgoJLy8gKmlmNDZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpLmNyZWF0b3IgPT09IGNvbmZpZy5lbnRyeUdhdGluZ0FkZHJlc3MsCgkvLyAgICAgICAgICdzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBjcmVhdGVkIGJ5IGNyZWF0b3IgdGhhdCB0aGUgdmFsaWRhdG9yIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZScKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDgxIDMyCgk9PQoKCS8vIHNwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IHRoZSB2YWxpZGF0b3IgZGVmaW5lZCBhcyBhIHJlcXVpcmVtZW50IHRvIHN0YWtlCglhc3NlcnQKCippZjQ2X2VuZDoKCS8vICppZjQ3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTQKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX0FTU0VUX0lECglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDIKCT09CglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NQoJLy8gYXNzZXJ0KHZhbHVlVG9WZXJpZnkgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglpbnQgMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk2CgkvLyBmb3VuZCA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSA0IC8vIGZvdW5kOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTcKCS8vIGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0cwoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTEzIDMyCglkdXAKCWZyYW1lX2J1cnkgNSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTgKCS8vIHZhbHVlVG9WZXJpZnkgPT09IGFzc2V0SWQKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGFzc2V0SWQ6IHVpbnQ2NAoJPT0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk5CgkvLyBmb3VuZCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDQgLy8gZm91bmQ6IGJvb2wKCWIgKmZvck9mXzBfZW5kCgoqaWY0OF9lbmQ6CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMzIgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyA1IC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwMwoJLy8gYXNzZXJ0KGZvdW5kLCAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgaWRlbnRpY2FsIHRvIHRoZSBhc3NldCBpZCBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UnKQoJZnJhbWVfZGlnIDQgLy8gZm91bmQ6IGJvb2wKCgkvLyBzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBpZGVudGljYWwgdG8gdGhlIGFzc2V0IGlkIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZQoJYXNzZXJ0CgoqaWY0N19lbmQ6CgkvLyAqaWY0OV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA1CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnQgMwoJPT0KCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA4CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSwgQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpLmNyZWF0b3IpLAoJLy8gICAgICAgICAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgY3JlYXRlZCBieSBjcmVhdG9yIHRoYXQgaXMgb25lIG9mIHRoZSBsaW5rZWQgYWRkcmVzc2VzIGluIGFuIG5mZCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoKCS8vIHNwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IGlzIG9uZSBvZiB0aGUgbGlua2VkIGFkZHJlc3NlcyBpbiBhbiBuZmQKCWFzc2VydAoKKmlmNDlfZW5kOgoJLy8gKmlmNTBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxMwoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfU0VHTUVOVF9PRl9ORkQKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnQgNAoJPT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE1CgkvLyB1c2VyT2ZmZXJlZE5GREFwcElEID0gdmFsdWVUb1ZlcmlmeQoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfYnVyeSA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE2CgkvLyBhc3NlcnQodGhpcy5pc05GREFwcElEVmFsaWQodXNlck9mZmVyZWRORkRBcHBJRCksICdwcm92aWRlZCBORkQgbXVzdCBiZSB2YWxpZCcpCglmcmFtZV9kaWcgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCWNhbGxzdWIgaXNORkRBcHBJRFZhbGlkCgoJLy8gcHJvdmlkZWQgTkZEIG11c3QgYmUgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE5CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHJhd0J5dGVzKEFwcElELmZyb21VaW50NjQodXNlck9mZmVyZWRORkRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpIGFzIEFkZHJlc3MpID09PSByYXdCeXRlcyhzdGFrZXIpIHx8CgkvLyAgICAgICAgICAgdGhpcy5pc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QodXNlck9mZmVyZWRORkRBcHBJRCwgc3Rha2VyKSwKCS8vICAgICAgICAgInByb3ZpZGVkIG5mZCBmb3IgZW50cnkgaXNuJ3Qgb3duZWQgb3IgbGlua2VkIHRvIHRoZSBzdGFrZXIiCgkvLyAgICAgICApCglmcmFtZV9kaWcgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCWJ5dGUgMHg2OTJlNmY3NzZlNjU3MjJlNjEgLy8gImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9kaWcgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjYKCWZyYW1lX2RpZyAxIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoJfHwKCipza2lwX29yNjoKCS8vIHByb3ZpZGVkIG5mZCBmb3IgZW50cnkgaXNuJ3Qgb3duZWQgb3IgbGlua2VkIHRvIHRoZSBzdGFrZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDI2CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIGJ0b2koQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5wYXJlbnRBcHBJRCcpIGFzIGJ5dGVzKSA9PT0KCS8vICAgICAgICAgICBjb25maWcuZW50cnlHYXRpbmdBc3NldHNbMF0sCgkvLyAgICAgICAgICdzcGVjaWZpZWQgbmZkIG11c3QgYmUgYSBzZWdtZW50IG9mIHRoZSBuZmQgdGhlIHZhbGlkYXRvciBzcGVjaWZpZWQgYXMgYSByZXF1aXJlbWVudCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJYnl0ZSAweDY5MmU3MDYxNzI2NTZlNzQ0MTcwNzA0OTQ0IC8vICJpLnBhcmVudEFwcElEIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodXNlck9mZmVyZWRORkRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kucGFyZW50QXBwSUQnKQoJYXNzZXJ0CglidG9pCglmcmFtZV9kaWcgMiAvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMTMgOAoJYnRvaQoJPT0KCgkvLyBzcGVjaWZpZWQgbmZkIG11c3QgYmUgYSBzZWdtZW50IG9mIHRoZSBuZmQgdGhlIHZhbGlkYXRvciBzcGVjaWZpZWQgYXMgYSByZXF1aXJlbWVudAoJYXNzZXJ0CgoqaWY1MF9lbmQ6CglyZXRzdWIKCi8vIGlzTkZEQXBwSURWYWxpZChuZmRBcHBJRDogdWludDY0KTogYm9vbGVhbgovLwovLyBDaGVja3MgaWYgdGhlIGdpdmVuIE5GRCBBcHAgaWQgaXMgdmFsaWQuICBVc2luZyBvbmx5IHRoZSBBcHAgaWQgdGhlcmUncyBubyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIG5hbWUgKGllOiB0aGF0IG5mZCBYIGlzIG5hbWUgWSkKLy8gU28gaXQncyBhc3N1bWVkIGZvciB0aGUgY2FsbGVyLCB0aGUgYXBwIGlkIGFsb25lIGlzIGZpbmUuICBUaGUgbmFtZSBpcyBmZXRjaGVkIGZyb20gdGhlIHNwZWNpZmllZCBhcHAgaWQgYW5kIHRoZSB0d28KLy8gdG9nZXRoZXIgYXJlIHVzZWQgZm9yIHZhbGlkaXR5IGNoZWNrIGNhbGwgdG8gdGhlIG5mZCByZWdpc3RyeS4KLy8KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElEIC0gVGhlIE5GRCBBcHAgaWQgdG8gdmVyaWZ5LgovLwovLyBAcmV0dXJucyB7Ym9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIE5GRCBBcHAgaWQgaXMgdmFsaWQsIG90aGVyd2lzZSBmYWxzZS4KaXNORkRBcHBJRFZhbGlkOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ0NQoJLy8gdXNlck9mZmVyZWRORkROYW1lID0gQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kubmFtZScpIGFzIHN0cmluZwoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWJ5dGUgMHg2OTJlNmU2MTZkNjUgLy8gImkubmFtZSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKS5nbG9iYWxTdGF0ZSgnaS5uYW1lJykKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIHVzZXJPZmZlcmVkTkZETmFtZTogc3RyaW5nCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NDcKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCB1c2VyT2ZmZXJlZE5GRE5hbWUsIGl0b2IobmZkQXBwSUQpXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ0OAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ5CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgdXNlck9mZmVyZWRORkROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGUgMHg2OTczNWY3NjYxNmM2OTY0NWY2ZTY2NjQ1ZjYxNzA3MDY5NjQgLy8gImlzX3ZhbGlkX25mZF9hcHBpZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyB1c2VyT2ZmZXJlZE5GRE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDUwCgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ1MgoJLy8gcmV0dXJuIGJ0b2kodGhpcy5pdHhuLmxhc3RMb2cpID09PSAxOwoJaXR4biBMYXN0TG9nCglidG9pCglpbnQgMQoJPT0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KG5mZEFwcElEOiB1aW50NjQsIGFkZHJUb0ZpbmQ6IEFkZHJlc3MpOiBib29sZWFuCi8vCi8vIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIGFkZHJlc3MgaXMgcHJlc2VudCBpbiBhbiBORkRzIGxpc3Qgb2YgdmVyaWZpZWQgYWRkcmVzc2VzLgovLyBUaGUgTkZEIGlzIGFzc3VtZWQgdG8gaGF2ZSBhbHJlYWR5IGJlZW4gdmFsaWRhdGVkIGFzIG9mZmljaWFsLgovLwovLyBAcGFyYW0ge3VpbnQ2NH0gbmZkQXBwSUQgLSBUaGUgTkZEIGFwcGxpY2F0aW9uIGlkLgovLyBAcGFyYW0ge0FkZHJlc3N9IGFkZHJUb0ZpbmQgLSBUaGUgYWRkcmVzcyB0byBmaW5kIGluIHRoZSB2LmNhQWxnby4wLmFzIHByb3BlcnR5Ci8vIEByZXR1cm4ge2Jvb2xlYW59IC0gYHRydWVgIGlmIHRoZSBhZGRyZXNzIGlzIHByZXNlbnQsIGBmYWxzZWAgb3RoZXJ3aXNlLgppc0FkZHJlc3NJbk5GRENBQWxnb0xpc3Q6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3JlYWRfcHJvcGVydHknLCAndi5jYUFsZ28uMC5hcyddLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY1CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY2CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsncmVhZF9wcm9wZXJ0eScsICd2LmNhQWxnby4wLmFzJ10KCWJ5dGUgMHg3MjY1NjE2NDVmNzA3MjZmNzA2NTcyNzQ3OSAvLyAicmVhZF9wcm9wZXJ0eSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4NzYyZTYzNjE0MTZjNjc2ZjJlMzAyZTYxNzMgLy8gInYuY2FBbGdvLjAuYXMiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OAoJLy8gY2FBbGdvRGF0YSA9IHRoaXMuaXR4bi5sYXN0TG9nCglpdHhuIExhc3RMb2cKCWZyYW1lX2J1cnkgMCAvLyBjYUFsZ29EYXRhOiBieXRlW10KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBjYUFsZ29EYXRhLmxlbmd0aDsgaSArPSAzMikKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzEwOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjkKCS8vIGkgPCBjYUFsZ29EYXRhLmxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBjYUFsZ29EYXRhOiBieXRlW10KCWxlbgoJPAoJYnogKmZvcl8xMF9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3MAoJLy8gYWRkciA9IGV4dHJhY3QzKGNhQWxnb0RhdGEsIGksIDMyKQoJZnJhbWVfZGlnIDAgLy8gY2FBbGdvRGF0YTogYnl0ZVtdCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludCAzMgoJZXh0cmFjdDMKCWZyYW1lX2J1cnkgMiAvLyBhZGRyOiBieXRlW10KCgkvLyAqaWY1MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDcxCgkvLyBhZGRyICE9PSByYXdCeXRlcyhnbG9iYWxzLnplcm9BZGRyZXNzKSAmJiBhZGRyID09PSByYXdCeXRlcyhhZGRyVG9GaW5kKQoJZnJhbWVfZGlnIDIgLy8gYWRkcjogYnl0ZVtdCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDEwCglmcmFtZV9kaWcgMiAvLyBhZGRyOiBieXRlW10KCWZyYW1lX2RpZyAtMiAvLyBhZGRyVG9GaW5kOiBBZGRyZXNzCgk9PQoJJiYKCipza2lwX2FuZDEwOgoJYnogKmlmNTFfZW5kCgoJLy8gKmlmNTFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NzIKCS8vIHJldHVybiB0cnVlOwoJaW50IDEKCWIgKmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdCpyZXR1cm4KCippZjUxX2VuZDoKCipmb3JfMTBfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OQoJLy8gaSArPSAzMgoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnQgMzIKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8xMAoKKmZvcl8xMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3NQoJLy8gcmV0dXJuIGZhbHNlOwoJaW50IDAKCippc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBhbGdvU2F0dXJhdGlvbkxldmVsKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBtYXhpbXVtIGFsbG93ZWQgc3Rha2UgcGVyIHZhbGlkYXRvciBiYXNlZCBvbiBhIHBlcmNlbnRhZ2Ugb2YgYWxsIGN1cnJlbnQgb25saW5lIHN0YWtlIGJlZm9yZQovLyB0aGUgdmFsaWRhdG9yIGlzIGNvbnNpZGVyZWQgc2F0dXJhdGVkIC0gd2hlcmUgcmV3YXJkcyBhcmUgZGltaW5pc2hlZC4KLy8gTk9URTogdGhpcyBmdW5jdGlvbiBpcyBkZWZpbmVkIHR3aWNlIC0gaGVyZSBhbmQgaW4gc3Rha2luZyBwb29sIGNvbnRyYWN0LiAgQm90aCBtdXN0IGJlIGlkZW50aWNhbC4KYWxnb1NhdHVyYXRpb25MZXZlbDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0ODQKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ4NgoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbb25saW5lLCBNQVhfVkFMSURBVE9SX1NPRlRfUENUX09GX09OTElORV8xREVDSU1BTF0sIFsxMDAwXSk7CglmcmFtZV9kaWcgMCAvLyBvbmxpbmU6IHVpbnQ2NAoJaW50IDEwMAoJbXVsdwoJaW50IDAKCWludCAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGxvd2VkU3Rha2UoKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgdmFsaWRhdG9yIGJhc2VkIG9uIGEgcGVyY2VudGFnZSBvZiBhbGwgY3VycmVudCBvbmxpbmUgc3Rha2UuCi8vIEFkZGluZyBzdGFrZSBpcyBjb21wbGV0ZWx5IGJsb2NrZWQgYXQgdGhpcyBhbW91bnQuCm1heEFsbG93ZWRTdGFrZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0OTQKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ5NgoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbb25saW5lLCBNQVhfVkFMSURBVE9SX0hBUkRfUENUX09GX09OTElORV8xREVDSU1BTF0sIFsxMDAwXSk7CglmcmFtZV9kaWcgMCAvLyBvbmxpbmU6IHVpbnQ2NAoJaW50IDE1MAoJbXVsdwoJaW50IDAKCWludCAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGdvQWxsb3dlZFBlclBvb2woKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgcG9vbCBhbmQgc3RpbGwgcmVjZWl2ZSBpbmNlbnRpdmVzIC0gd2UnbGwgdHJlYXQgdGhpcyBhcyB0aGUgJ21heCBwZXIgcG9vbCcKbWF4QWxnb0FsbG93ZWRQZXJQb29sOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDQKCS8vIHJldHVybiA3MF8wMDBfMDAwXzAwMF8wMDA7CglpbnQgNzBfMDAwXzAwMF8wMDBfMDAwCglyZXRzdWIKCi8vIGdldEN1cnJlbnRPbmxpbmVTdGFrZSgpOiB1aW50NjQKZ2V0Q3VycmVudE9ubGluZVN0YWtlOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDkKCS8vIHJldHVybiAyXzAwMF8wMDBfMDAwXzAwMF8wMDA7CglpbnQgMl8wMDBfMDAwXzAwMF8wMDBfMDAwCglyZXRzdWIKCi8vIG1pbkJhbGFuY2VGb3JBY2NvdW50KGNvbnRyYWN0czogdWludDY0LCBleHRyYVBhZ2VzOiB1aW50NjQsIGFzc2V0czogdWludDY0LCBsb2NhbEludHM6IHVpbnQ2NCwgbG9jYWxCeXRlczogdWludDY0LCBnbG9iYWxJbnRzOiB1aW50NjQsIGdsb2JhbEJ5dGVzOiB1aW50NjQpOiB1aW50NjQKbWluQmFsYW5jZUZvckFjY291bnQ6Cglwcm90byA3IDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTIxCgkvLyBtaW5CYWwgPSBBTEdPUkFORF9BQ0NPVU5UX01JTl9CQUxBTkNFCglpbnQgMTAwMDAwCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMgoJLy8gbWluQmFsICs9IGNvbnRyYWN0cyAqIEFQUExJQ0FUSU9OX0JBU0VfRkVFCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGNvbnRyYWN0czogdWludDY0CglpbnQgMTAwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMwoJLy8gbWluQmFsICs9IGV4dHJhUGFnZXMgKiBBUFBMSUNBVElPTl9CQVNFX0ZFRQoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBleHRyYVBhZ2VzOiB1aW50NjQKCWludCAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI0CgkvLyBtaW5CYWwgKz0gYXNzZXRzICogQVNTRVRfSE9MRElOR19GRUUKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYXNzZXRzOiB1aW50NjQKCWludCAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI1CgkvLyBtaW5CYWwgKz0gbG9jYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gbG9jYWxJbnRzOiB1aW50NjQKCWludCAyODUwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjYKCS8vIG1pbkJhbCArPSBnbG9iYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTYgLy8gZ2xvYmFsSW50czogdWludDY0CglpbnQgMjg1MDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI3CgkvLyBtaW5CYWwgKz0gbG9jYWxCeXRlcyAqIFNTQ19WQUxVRV9CWVRFUwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNSAvLyBsb2NhbEJ5dGVzOiB1aW50NjQKCWludCA1MDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjgKCS8vIG1pbkJhbCArPSBnbG9iYWxCeXRlcyAqIFNTQ19WQUxVRV9CWVRFUwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNyAvLyBnbG9iYWxCeXRlczogdWludDY0CglpbnQgNTAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI5CgkvLyByZXR1cm4gbWluQmFsOwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY29zdEZvckJveFN0b3JhZ2UodG90YWxOdW1CeXRlczogdWludDY0KTogdWludDY0CmNvc3RGb3JCb3hTdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MzYKCS8vIHJldHVybiBTQ0JPWF9QRVJCT1ggKyB0b3RhbE51bUJ5dGVzICogU0NCT1hfUEVSQllURTsKCWludCAyNTAwCglmcmFtZV9kaWcgLTEgLy8gdG90YWxOdW1CeXRlczogdWludDY0CglpbnQgNDAwCgkqCgkrCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQiCgltZXRob2QgImxvYWRTdGFraW5nQ29udHJhY3REYXRhKHVpbnQ2NCxieXRlW10pdm9pZCIKCW1ldGhvZCAiZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQiCgltZXRob2QgImdhcygpdm9pZCIKCW1ldGhvZCAiZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCgltZXRob2QgImdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiZ2V0TnVtVmFsaWRhdG9ycygpdWludDY0IgoJbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJbWV0aG9kICJnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpIgoJbWV0aG9kICJnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdIgoJbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KSIKCW1ldGhvZCAiZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sIgoJbWV0aG9kICJnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10iCgltZXRob2QgImdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCgltZXRob2QgImdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkiCgltZXRob2QgImdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NCIKCW1ldGhvZCAiYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NCIKCW1ldGhvZCAiY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImNoYW5nZVZhbGlkYXRvck5GRCh1aW50NjQsdWludDY0LHN0cmluZyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAic2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KSIKCW1ldGhvZCAic3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJbWV0aG9kICJmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKSIKCW1ldGhvZCAibW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0ICphYmlfcm91dGVfbG9hZFN0YWtpbmdDb250cmFjdERhdGEgKmFiaV9yb3V0ZV9maW5hbGl6ZVN0YWtpbmdDb250cmFjdCAqYWJpX3JvdXRlX2dhcyAqYWJpX3JvdXRlX2dldE1ickFtb3VudHMgKmFiaV9yb3V0ZV9nZXRQcm90b2NvbENvbnN0cmFpbnRzICphYmlfcm91dGVfZ2V0TnVtVmFsaWRhdG9ycyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvckNvbmZpZyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvclN0YXRlICphYmlfcm91dGVfZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyICphYmlfcm91dGVfZ2V0UG9vbHMgKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQgKmFiaV9yb3V0ZV9nZXRQb29sSW5mbyAqYWJpX3JvdXRlX2dldEN1ck1heFN0YWtlUGVyUG9vbCAqYWJpX3JvdXRlX2RvZXNTdGFrZXJOZWVkVG9QYXlNQlIgKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQgKmFiaV9yb3V0ZV9nZXRUb2tlblBheW91dFJhdGlvICphYmlfcm91dGVfZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyAqYWJpX3JvdXRlX2dldE5GRFJlZ2lzdHJ5SUQgKmFiaV9yb3V0ZV9hZGRWYWxpZGF0b3IgKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRCAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyAqYWJpX3JvdXRlX2FkZFBvb2wgKmFiaV9yb3V0ZV9hZGRTdGFrZSAqYWJpX3JvdXRlX3NldFRva2VuUGF5b3V0UmF0aW8gKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzICphYmlfcm91dGVfc3Rha2VSZW1vdmVkICphYmlfcm91dGVfZmluZFBvb2xGb3JTdGFrZXIgKmFiaV9yb3V0ZV9tb3ZlUG9vbFRvTm9kZSAqYWJpX3JvdXRlX2VtcHR5VG9rZW5SZXdhcmRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbjoKCW1ldGhvZCAidXBkYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgVXBkYXRlQXBwbGljYXRpb24KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9uZmRSZWdpc3RyeUFwcElkCmJ0b2kKc3RvcmUgMjAwCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjAyCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBZGRyZXNzLmZyb21BZGRyZXNzKCdMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRJykpCgl0eG4gU2VuZGVyCglhZGRyIExaNFYySVJWTENYRkpLNFJFSlY0VEFHRUtFWVRBMkdNUjZUQzIzNDRPQjNMM0FGM01XWFo2WkFGSVEKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjA0CgkvLyB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmRlbGV0ZSgpCglieXRlIDB4NzA2ZjZmNmM1NDY1NmQ3MDZjNjE3NDY1NDE3MDcwNzI2Zjc2NjE2YzQyNzk3NDY1NzMgLy8gInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglib3hfZGVsCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwNQoJLy8gdGhpcy5zdGFraW5nUG9vbEluaXRpYWxpemVkLnZhbHVlID0gZmFsc2UKCWJ5dGUgMHg2OTZlNjk3NCAvLyAiaW5pdCIKCWludCAwCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjA5CgkvLyB0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUgPSBmYWxzZQoJYnl0ZSAweDY5NmU2OTc0IC8vICJpbml0IgoJaW50IDAKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTAKCS8vIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSA9IDAKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTEKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTIKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlID0gMAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0OgoJLy8gYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbml0U3Rha2luZ0NvbnRyYWN0KHVpbnQ2NCl2b2lkCgljYWxsc3ViIGluaXRTdGFraW5nQ29udHJhY3QKCWludCAxCglyZXR1cm4KCi8vIGluaXRTdGFraW5nQ29udHJhY3QoYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0KTogdm9pZAppbml0U3Rha2luZ0NvbnRyYWN0OgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIxNwoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5jcmVhdGUoYXBwcm92YWxQcm9ncmFtU2l6ZSkKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWZyYW1lX2RpZyAtMSAvLyBhcHByb3ZhbFByb2dyYW1TaXplOiB1aW50NjQKCWJveF9jcmVhdGUKCXBvcAoJcmV0c3ViCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YSh1aW50NjQsYnl0ZVtdKXZvaWQKKmFiaV9yb3V0ZV9sb2FkU3Rha2luZ0NvbnRyYWN0RGF0YToKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBvZmZzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbG9hZFN0YWtpbmdDb250cmFjdERhdGEodWludDY0LGJ5dGVbXSl2b2lkCgljYWxsc3ViIGxvYWRTdGFraW5nQ29udHJhY3REYXRhCglpbnQgMQoJcmV0dXJuCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YShvZmZzZXQ6IHVpbnQ2NCwgZGF0YTogYnl0ZXMpOiB2b2lkCmxvYWRTdGFraW5nQ29udHJhY3REYXRhOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMQoJLy8gYXNzZXJ0KCF0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUpCglieXRlIDB4Njk2ZTY5NzQgLy8gImluaXQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDAKCWdldGJpdAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMgoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5yZXBsYWNlKG9mZnNldCwgZGF0YSkKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGRhdGE6IGJ5dGVzCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpdm9pZAoqYWJpX3JvdXRlX2ZpbmFsaXplU3Rha2luZ0NvbnRyYWN0OgoJLy8gZXhlY3V0ZSBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpdm9pZAoJY2FsbHN1YiBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdAoJaW50IDEKCXJldHVybgoKLy8gZmluYWxpemVTdGFraW5nQ29udHJhY3QoKTogdm9pZApmaW5hbGl6ZVN0YWtpbmdDb250cmFjdDoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMjYKCS8vIHRoaXMuc3Rha2luZ1Bvb2xJbml0aWFsaXplZC52YWx1ZSA9IHRydWUKCWJ5dGUgMHg2OTZlNjk3NCAvLyAiaW5pdCIKCWludCAxCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZ2FzKCl2b2lkCiphYmlfcm91dGVfZ2FzOgoJLy8gZXhlY3V0ZSBnYXMoKXZvaWQKCWNhbGxzdWIgZ2FzCglpbnQgMQoJcmV0dXJuCgovLyBnYXMoKTogdm9pZAovLwovLyBnYXMgaXMgYSBkdW1teSBuby1vcCBjYWxsIHRoYXQgY2FuIGJlIHVzZWQgdG8gcG9vbC11cCByZXNvdXJjZSByZWZlcmVuY2VzIGFuZCBvcGNvZGUgY29zdApnYXM6Cglwcm90byAwIDAKCXJldHN1YgoKLy8gZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRNYnJBbW91bnRzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE1ickFtb3VudHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldE1ickFtb3VudHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRNYnJBbW91bnRzKCk6IE1ickFtb3VudHMKLy8KLy8gUmV0dXJucyB0aGUgTUJSIGFtb3VudHMgbmVlZGVkIGZvciB2YXJpb3VzIGFjdGlvbnM6Ci8vIFsKLy8gYWRkVmFsaWRhdG9yTWJyOiB1aW50NjQgLSBtYnIgbmVlZGVkIHRvIGFkZCBhIG5ldyB2YWxpZGF0b3IgLSBwYWlkIHRvIHZhbGlkYXRvciBjb250cmFjdAovLyBhZGRQb29sTWJyOiB1aW50NjQgLSBtYnIgbmVlZGVkIHRvIGFkZCBhIG5ldyBwb29sIC0gcGFpZCB0byB2YWxpZGF0b3IKLy8gcG9vbEluaXRNYnI6IHVpbnQ2NCAtIG1iciBuZWVkZWQgdG8gaW5pdFN0b3JhZ2UoKSBvZiBwb29sIC0gcGFpZCB0byBwb29sIGl0c2VsZgovLyBhZGRTdGFrZXJNYnI6IHVpbnQ2NCAtIG1iciBzdGFrZXIgbmVlZHMgdG8gYWRkIHRvIGZpcnN0IHN0YWtpbmcgcGF5bWVudCAoc3RheXMgdy8gdmFsaWRhdG9yKQovLyBdCmdldE1ickFtb3VudHM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjQ2CgkvLyByZXR1cm4gewoJLy8gICAgICAgYWRkVmFsaWRhdG9yTWJyOiB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDEgLyogdiBwcmVmaXggKi8gKyBsZW48VmFsaWRhdG9ySWRUeXBlPigpICsgbGVuPFZhbGlkYXRvckluZm8+KCkpLAoJLy8gICAgICAgYWRkUG9vbE1icjogdGhpcy5taW5CYWxhbmNlRm9yQWNjb3VudCgKCS8vICAgICAgICAgMSwKCS8vICAgICAgICAgLy8gd2UgY291bGQgY2FsY3VsYXRlIHRoaXMgZGlyZWN0bHkgYnkgcmVmZXJlbmNpbmcgdGhlIHNpemUgb2Ygc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0gYnV0IGl0IHdvdWxkCgkvLyAgICAgICAgIC8vIG1lYW4gb3VyIGNhbGxlcnMgd291bGQgaGF2ZSB0byByZWZlcmVuY2UgdGhlIGJveCBBTkQgYnV5IHVwIGkvbyAtIHNvIGp1c3QgZ28gbWF4IG9uIGV4dHJhIHBhZ2VzCgkvLyAgICAgICAgIDMsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtVWludCwKCS8vICAgICAgICAgU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UKCS8vICAgICAgICksCgkvLyAgICAgICBwb29sSW5pdE1icjoKCS8vICAgICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICAgIHRoaXMuY29zdEZvckJveFN0b3JhZ2UoNyAvKiAnc3Rha2VycycgbmFtZSAqLyArIGxlbjxTdGFrZWRJbmZvPigpICogTUFYX1NUQUtFUlNfUEVSX1BPT0wpLAoJLy8gICAgICAgYWRkU3Rha2VyTWJyOgoJLy8gICAgICAgICAvLyBob3cgbXVjaCB0byBjaGFyZ2UgZm9yIGZpcnN0IHRpbWUgYSBzdGFrZXIgYWRkcyBzdGFrZSAtIHNpbmNlIHdlIGFkZCBhIHRyYWNraW5nIGJveCBwZXIgc3Rha2VyCgkvLyAgICAgICAgIHRoaXMuY29zdEZvckJveFN0b3JhZ2UoMyAvKiAnc3BzJyBwcmVmaXggKi8gKyBsZW48QWRkcmVzcz4oKSArIGxlbjxWYWxpZGF0b3JQb29sS2V5PigpICogTUFYX1BPT0xTX1BFUl9TVEFLRVIpLCAvLyBzaXplIG9mIGtleSArIGFsbCB2YWx1ZXMKCS8vICAgICB9OwoJaW50IDExMDEKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCWl0b2IKCWludCAzCglpbnQgMTEKCWludCAwCglkdXBuIDIKCWludCAzCglpbnQgMQoJY2FsbHN1YiBtaW5CYWxhbmNlRm9yQWNjb3VudAoJaXRvYgoJY29uY2F0CglpbnQgMTAwMDAwCglpbnQgMTI4MDcKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCSsKCWl0b2IKCWNvbmNhdAoJaW50IDE3OQoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJaXRvYgoJY29uY2F0CglyZXRzdWIKCi8vIGdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFByb3RvY29sQ29uc3RyYWludHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0UHJvdG9jb2xDb25zdHJhaW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFByb3RvY29sQ29uc3RyYWludHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRQcm90b2NvbENvbnN0cmFpbnRzKCk6IENvbnN0cmFpbnRzCi8vCi8vIFJldHVybnMgdGhlIHByb3RvY29sIGNvbnN0cmFpbnRzIHNvIHRoYXQgVUlzIGNhbiBsaW1pdCB3aGF0IHVzZXJzIHNwZWNpZnkgZm9yIHZhbGlkYXRvciBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMuCmdldFByb3RvY29sQ29uc3RyYWludHM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjcyCgkvLyByZXR1cm4gewoJLy8gICAgICAgZXBvY2hQYXlvdXRSb3VuZHNNaW46IE1JTl9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICBlcG9jaFBheW91dFJvdW5kc01heDogTUFYX0VQT0NIX0xFTkdUSCwKCS8vICAgICAgIG1pblBjdFRvVmFsaWRhdG9yV0ZvdXJEZWNpbWFsczogTUlOX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICBtYXhQY3RUb1ZhbGlkYXRvcldGb3VyRGVjaW1hbHM6IE1BWF9QQ1RfVE9fVkFMSURBVE9SLAoJLy8gICAgICAgbWluRW50cnlTdGFrZTogTUlOX0FMR09fU1RBS0VfUEVSX1BPT0wsCgkvLyAgICAgICBtYXhBbGdvUGVyUG9vbDogdGhpcy5tYXhBbGdvQWxsb3dlZFBlclBvb2woKSwKCS8vICAgICAgIG1heEFsZ29QZXJWYWxpZGF0b3I6IHRoaXMubWF4QWxsb3dlZFN0YWtlKCksCgkvLyAgICAgICBhbXRDb25zaWRlcmVkU2F0dXJhdGVkOiB0aGlzLmFsZ29TYXR1cmF0aW9uTGV2ZWwoKSwKCS8vICAgICAgIG1heE5vZGVzOiBNQVhfTk9ERVMsCgkvLyAgICAgICBtYXhQb29sc1Blck5vZGU6IE1BWF9QT09MU19QRVJfTk9ERSwKCS8vICAgICAgIG1heFN0YWtlcnNQZXJQb29sOiBNQVhfU1RBS0VSU19QRVJfUE9PTCwKCS8vICAgICB9OwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMGY0MjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZjQyNDAwMDAwMDAwMDAwMGY0MjQwCgljYWxsc3ViIG1heEFsZ29BbGxvd2VkUGVyUG9vbAoJaXRvYgoJY29uY2F0CgljYWxsc3ViIG1heEFsbG93ZWRTdGFrZQoJaXRvYgoJY29uY2F0CgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDgKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDMKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwYzgKCWNvbmNhdAoJcmV0c3ViCgovLyBnZXROdW1WYWxpZGF0b3JzKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXROdW1WYWxpZGF0b3JzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE51bVZhbGlkYXRvcnMoKXVpbnQ2NAoJY2FsbHN1YiBnZXROdW1WYWxpZGF0b3JzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0TnVtVmFsaWRhdG9ycygpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgY3VycmVudCBudW1iZXIgb2YgdmFsaWRhdG9ycwpnZXROdW1WYWxpZGF0b3JzOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjI5MgoJLy8gcmV0dXJuIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZTsKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yQ29uZmlnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JDb25maWcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRWYWxpZGF0b3JDb25maWcodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFZhbGlkYXRvckNvbmZpZwpnZXRWYWxpZGF0b3JDb25maWc6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mjk3CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWc7CglpbnQgMAoJaW50IDI0MgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yU3RhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFZhbGlkYXRvclN0YXRlKHVpbnQ2NCkodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JTdGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFZhbGlkYXRvclN0YXRlKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBWYWxpZGF0b3JDdXJTdGF0ZQpnZXRWYWxpZGF0b3JTdGF0ZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMDIKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlOwoJaW50IDI0MiAvLyBoZWFkT2Zmc2V0CglpbnQgMjYKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykKKmFiaV9yb3V0ZV9nZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykKCWNhbGxzdWIgZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBbQWRkcmVzcywgQWRkcmVzc10KZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMwNwoJLy8gcmV0dXJuIFt0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlcl07CglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJaW50IDQwCglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgljb25jYXQKCXJldHN1YgoKLy8gZ2V0UG9vbHModWludDY0KSh1aW50NjQsdWludDE2LHVpbnQ2NClbXQoqYWJpX3JvdXRlX2dldFBvb2xzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdCgljYWxsc3ViIGdldFBvb2xzCglkdXAKCWxlbgoJaW50IDE4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0UG9vbHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xJbmZvW10KLy8KLy8gUmV0dXJuIGxpc3Qgb2YgYWxsIHBvb2xzIGZvciB0aGlzIHZhbGlkYXRvci4KLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvcklkCi8vIEByZXR1cm4ge1Bvb2xJbmZvW119IC0gYXJyYXkgb2YgcG9vbHMKLy8gTm90IGNhbGxhYmxlIGZyb20gb3RoZXIgY29udHJhY3RzIGJlY2F1c2UgPjFLIHJldHVybiBidXQgY2FuIGJlIGNhbGxlZCB3LyBzaW11bGF0ZSB3aGljaCBidW1wcyBsb2cgcmV0dXJucwpnZXRQb29sczoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzE4CgkvLyByZXREYXRhOiBQb29sSW5mb1tdID0gW10KCWJ5dGUgMHgKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMxOQoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMpCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWludCA0MzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMAoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJPAoJYnogKmZvcl8wX2VuZAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIxCgkvLyBwb29sU2V0W2ldLnBvb2xBcHBJZCA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWludCAwCgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvcl8wX2VuZAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzI1CgkvLyByZXREYXRhLnB1c2gocG9vbFNldFtpXSkKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFBvb2xJbmZvW10KCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMTgKCWV4dHJhY3QzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyNwoJLy8gcmV0dXJuIHJldERhdGE7CglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGdldFBvb2xBcHBJZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFBvb2xBcHBJZCh2YWxpZGF0b3JJZDogdWludDY0LCBwb29sSWQ6IHVpbnQ2NCk6IHVpbnQ2NApnZXRQb29sQXBwSWQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzM1CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sSWQgIT09IDAgJiYgcG9vbElkIDw9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMubGVuZ3RoLAoJLy8gICAgICAgJ3Bvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3InCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMAoJIT0KCWR1cAoJYnogKnNraXBfYW5kMAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMjQKCTw9CgkmJgoKKnNraXBfYW5kMDoKCS8vIHBvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMzkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW3Bvb2xJZCAtIDFdLnBvb2xBcHBJZDsKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gZ2V0UG9vbEluZm8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0LHVpbnQxNix1aW50NjQpCiphYmlfcm91dGVfZ2V0UG9vbEluZm86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHBvb2xLZXk6ICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMjQKCT09CgoJLy8gYXJndW1lbnQgMCAocG9vbEtleSkgZm9yIGdldFBvb2xJbmZvIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KQoJY2FsbHN1YiBnZXRQb29sSW5mbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFBvb2xJbmZvKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiBQb29sSW5mbwpnZXRQb29sSW5mbzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNDQKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXTsKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldEN1ck1heFN0YWtlUGVyUG9vbCh1aW50NjQpdWludDY0CiphYmlfcm91dGVfZ2V0Q3VyTWF4U3Rha2VQZXJQb29sOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRDdXJNYXhTdGFrZVBlclBvb2wodWludDY0KXVpbnQ2NAoJY2FsbHN1YiBnZXRDdXJNYXhTdGFrZVBlclBvb2wKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRDdXJNYXhTdGFrZVBlclBvb2wodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IHVpbnQ2NAovLwovLyBDYWxjdWxhdGUgdGhlIG1heGltdW0gc3Rha2UgcGVyIHBvb2wgZm9yIGEgZ2l2ZW4gdmFsaWRhdG9yLgovLyBOb3JtYWxseSB0aGlzIHdvdWxkIGJlIG1heEFsZ29QZXJQb29sLCBidXQgaXQgc2hvdWxkIGFsc28gbmV2ZXIgZ28gYWJvdmUgTWF4QWxsb3dlZFN0YWtlIC8gbnVtUG9vbHMgc28KLy8gYXMgcG9vbHMgYXJlIGFkZGVkIHRoZSBtYXggYWxsb3dlZCBwZXIgcG9vbCBjYW4gcmVkdWNlLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KZ2V0Q3VyTWF4U3Rha2VQZXJQb29sOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTUKCS8vIG51bVBvb2xzID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludCAyNDIKCWludCAyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIG51bVBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU2CgkvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29scyA9IHRoaXMubWF4QWxsb3dlZFN0YWtlKCkgLyBudW1Qb29scwoJY2FsbHN1YiBtYXhBbGxvd2VkU3Rha2UKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMSAvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1NwoJLy8gbWF4UGVyUG9vbDogdWludDY0ID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWF4QWxnb1BlclBvb2wKCWludCAyMTcKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU4CgkvLyBtYXhQZXJQb29sID09PSAwCglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmMV9lbmQKCgkvLyAqaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTkKCS8vIG1heFBlclBvb2wgPSB0aGlzLm1heEFsZ29BbGxvd2VkUGVyUG9vbCgpCgljYWxsc3ViIG1heEFsZ29BbGxvd2VkUGVyUG9vbAoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKKmlmMV9lbmQ6CgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM2MQoJLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHMgPCBtYXhQZXJQb29sCglmcmFtZV9kaWcgMSAvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29sczogdWludDY0CglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCTwKCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzYyCgkvLyBtYXhQZXJQb29sID0gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHMKCWZyYW1lX2RpZyAxIC8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzOiB1aW50NjQKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCippZjJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM2NAoJLy8gcmV0dXJuIG1heFBlclBvb2w7CglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sCiphYmlfcm91dGVfZG9lc1N0YWtlck5lZWRUb1BheU1CUjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHN0YWtlcikgZm9yIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZG9lc1N0YWtlck5lZWRUb1BheU1CUihhZGRyZXNzKWJvb2wKCWNhbGxzdWIgZG9lc1N0YWtlck5lZWRUb1BheU1CUgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSKHN0YWtlcjogQWRkcmVzcyk6IGJvb2xlYW4KLy8KLy8gSGVscGVyIGNhbGxlcnMgY2FuIGNhbGwgdy8gc2ltdWxhdGUgdG8gZGV0ZXJtaW5lIGlmICdBZGRTdGFrZXInIE1CUiBzaG91bGQgYmUgaW5jbHVkZWQgdy8gc3Rha2luZyBhbW91bnQKLy8gQHBhcmFtIHN0YWtlcgpkb2VzU3Rha2VyTmVlZFRvUGF5TUJSOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM3MwoJLy8gcmV0dXJuICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHM7CglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJcmV0c3ViCgovLyBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10KKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KGFkZHJlc3MpKHVpbnQ2NCx1aW50NjQsdWludDY0KVtdCgljYWxsc3ViIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudAoJZHVwCglsZW4KCWludCAyNAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudChzdGFrZXI6IEFkZHJlc3MpOiBWYWxpZGF0b3JQb29sS2V5W10KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgcG9vbHMgZm9yIGFuIGFjY291bnQuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFjY291bnQgdG8gcmV0cmlldmUgc3Rha2VkIHBvb2xzIGZvci4KLy8gQHJldHVybiB7VmFsaWRhdG9yUG9vbEtleVtdfSAtIFRoZSBhcnJheSBvZiBzdGFrZWQgcG9vbHMgZm9yIHRoZSBhY2NvdW50LgpnZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODMKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4NAoJLy8gcmV0dXJuIFtdOwoJYnl0ZSAweAoJYiAqZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KnJldHVybgoKKmlmM19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg2CgkvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10gPSBbXQoJYnl0ZSAweAoJZnJhbWVfYnVyeSAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODcKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg4CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OAoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA2Cgk8CglieiAqZm9yXzFfZW5kCgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODkKCS8vIHBvb2xTZXRbaV0uaWQgIT09IDAKCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWludCAwCgkhPQoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozOTAKCS8vIHJldERhdGEucHVzaChwb29sU2V0W2ldKQoJZnJhbWVfZGlnIDAgLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdCglmcmFtZV9kaWcgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMjQKCWV4dHJhY3QzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10KCippZjRfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OAoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozOTMKCS8vIHJldHVybiByZXREYXRhOwoJZnJhbWVfZGlnIDAgLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdCgoqZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gZ2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoqYWJpX3JvdXRlX2dldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKCWNhbGxzdWIgZ2V0VG9rZW5QYXlvdXRSYXRpbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFRva2VuUGF5b3V0UmF0aW8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIFJldHJpZXZlcyB0aGUgdG9rZW4gcGF5b3V0IHJhdGlvIGZvciBhIGdpdmVuIHZhbGlkYXRvciAtIHJldHVybmluZyB0aGUgcG9vbCByYXRpb3Mgb2Ygd2hvbGUgc28gdGhhdCB0b2tlbgovLyBwYXlvdXRzIGFjcm9zcyBwb29scyBjYW4gYmUgYmFzZWQgb24gYSBzdGFibGUgc25hcGhvc3Qgb2Ygc3Rha2UuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcmV0dXJuIHtQb29sVG9rZW5QYXlvdXRSYXRpb30gLSBUaGUgdG9rZW4gcGF5b3V0IHJhdGlvIGZvciB0aGUgdmFsaWRhdG9yLgpnZXRUb2tlblBheW91dFJhdGlvOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQwNQoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpbzsKCWludCA3MDAgLy8gaGVhZE9mZnNldAoJaW50IDIwMAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh1aW50NjQpKCh1aW50NjRbM10pWzhdKQoqYWJpX3JvdXRlX2dldE5vZGVQb29sQXNzaWdubWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkKCWNhbGxzdWIgZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldE5vZGVQb29sQXNzaWdubWVudHModmFsaWRhdG9ySWQ6IHVpbnQ2NCk6IE5vZGVQb29sQXNzaWdubWVudENvbmZpZwpnZXROb2RlUG9vbEFzc2lnbm1lbnRzOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxMAoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAidGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgZG9lc24ndCBleGlzdCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyB0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBkb2Vzbid0IGV4aXN0Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDEyCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzOwoJaW50IDkwMCAvLyBoZWFkT2Zmc2V0CglpbnQgMTkyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRORkRSZWdpc3RyeUlEKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRORkRSZWdpc3RyeUlEOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NAoJY2FsbHN1YiBnZXRORkRSZWdpc3RyeUlECglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0TkZEUmVnaXN0cnlJRCgpOiB1aW50NjQKZ2V0TkZEUmVnaXN0cnlJRDoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MTYKCS8vIHJldHVybiB0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQ7Cglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCXJldHN1YgoKLy8gYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NAoqYWJpX3JvdXRlX2FkZFZhbGlkYXRvcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMjQyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGNvbmZpZykgZm9yIGFkZFZhbGlkYXRvciBtdXN0IGJlIGEgKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBuZmROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gbWJyUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAobWJyUGF5bWVudCkgZm9yIGFkZFZhbGlkYXRvciBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFZhbGlkYXRvcihwYXksc3RyaW5nLCh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSl1aW50NjQKCWNhbGxzdWIgYWRkVmFsaWRhdG9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkVmFsaWRhdG9yKG1iclBheW1lbnQ6IFBheVR4biwgbmZkTmFtZTogc3RyaW5nLCBjb25maWc6IFZhbGlkYXRvckNvbmZpZyk6IHVpbnQ2NAovLwovLyBBZGRzIGEgbmV3IHZhbGlkYXRvcgovLyBSZXF1aXJlcyBhdCBsZWFzdCAxMCBBTEdPIGFzIHRoZSAnZmVlJyBmb3IgdGhlIHRyYW5zYWN0aW9uIHRvIGhlbHAgZGlzc3VhZGUgc3BhbW1lZCB2YWxpZGF0b3IgYWRkcy4KLy8KLy8gQHBhcmFtIHtQYXlUeG59IG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIG5ldyB2YWxpZGF0b3Igc3RvcmFnZQovLyBAcGFyYW0ge3N0cmluZ30gbmZkTmFtZSAoT3B0aW9uYWwpIE5hbWUgb2YgbmZkICh1c2VkIGFzIGRvdWJsZS1jaGVjayBhZ2FpbnN0IGlkIHNwZWNpZmllZCBpbiBjb25maWcpCi8vIEBwYXJhbSB7VmFsaWRhdG9yQ29uZmlnfSBjb25maWcgVmFsaWRhdG9yQ29uZmlnIHN0cnVjdAovLyBAcmV0dXJucyB7dWludDY0fSB2YWxpZGF0b3IgaWQKYWRkVmFsaWRhdG9yOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDI4CgkvLyB0aGlzLnZhbGlkYXRlQ29uZmlnKGNvbmZpZykKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJY2FsbHN1YiB2YWxpZGF0ZUNvbmZpZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MjkKCS8vIGFzc2VydChjb25maWcub3duZXIgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMAoJLy8gYXNzZXJ0KGNvbmZpZy5tYW5hZ2VyICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDQwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMxCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBjb25maWcub3duZXIsICdzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcicpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJPT0KCgkvLyBzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMwoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgYW1vdW50OiB0aGlzLmdldE1ickFtb3VudHMoKS5hZGRWYWxpZGF0b3JNYnIgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkVmFsaWRhdG9yTWJyIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MzUKCS8vIGFzc2VydChtYnJQYXltZW50LmZlZSA+IDEwICogMTAwMDAwMCwgJ2ZlZSBtdXN0IGJlIDEwIEFMR08gb3IgbW9yZSB0byBwcmV2ZW50IHNwYW1taW5nIG9mIHZhbGlkYXRvcnMnKQoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgRmVlCglpbnQgMTAwMDAwMDAKCT4KCgkvLyBmZWUgbXVzdCBiZSAxMCBBTEdPIG9yIG1vcmUgdG8gcHJldmVudCBzcGFtbWluZyBvZiB2YWxpZGF0b3JzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM4CgkvLyB2YWxpZGF0b3JJZCA9IHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSArIDEKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM5CgkvLyB0aGlzLm51bVZhbGlkYXRvcnMudmFsdWUgPSB2YWxpZGF0b3JJZAoJYnl0ZSAweDZlNzU2ZDU2IC8vICJudW1WIgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmNyZWF0ZSgpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWludCAxMDkyCglib3hfY3JlYXRlCglwb3AKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQyCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZyA9IGNvbmZpZwoJaW50IDAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmlkID0gdmFsaWRhdG9ySWQKCWludCAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDYKCS8vIGNvbmZpZy5uZmRGb3JJbmZvICE9PSAwCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJaW50IDAKCSE9CglieiAqaWY1X2VuZAoKCS8vICppZjVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0OAoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMubmZkUmVnaXN0cnlBcHBJZCksCgkvLyAgICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKGNvbmZpZy5uZmRGb3JJbmZvKV0sCgkvLyAgICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pXSwKCS8vICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJbG9hZCAyMDAgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDUwCgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgbmZkTmFtZSwgaXRvYihjb25maWcubmZkRm9ySW5mbyldCglieXRlIDB4Njk3MzVmNzY2MTZjNjk2NDVmNmU2NjY0NWY2MTcwNzA2OTY0IC8vICJpc192YWxpZF9uZmRfYXBwaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA3MiA4CglidG9pCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTEKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pXQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTMKCS8vIGFzc2VydChidG9pKHRoaXMuaXR4bi5sYXN0TG9nKSA9PT0gMSwgInByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZCIpCglpdHhuIExhc3RMb2cKCWJ0b2kKCWludCAxCgk9PQoKCS8vIHByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ1NQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IChBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcyksCgkvLyAgICAgICAgICdJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXInCgkvLyAgICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0Cgk9PQoKCS8vIElmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcgoJYXNzZXJ0CgoqaWY1X2VuZDoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDYxCgkvLyBjb25maWcuZW50cnlHYXRpbmdUeXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMgfHwKCS8vICAgICAgIGNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPT09IEdBVElOR19UWVBFX1NFR01FTlRfT0ZfTkZECglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgODAgMQoJYnRvaQoJaW50IDMKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnQgNAoJPT0KCXx8Cgoqc2tpcF9vcjA6CglieiAqaWY2X2VuZAoKCS8vICppZjZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2NQoJLy8gYXNzZXJ0KHRoaXMuaXNORkRBcHBJRFZhbGlkKGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSksICdwcm92aWRlZCBORkQgQXBwIGlkIGZvciBnYXRpbmcgbXVzdCBiZSB2YWxpZCBORkQnKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzTkZEQXBwSURWYWxpZAoKCS8vIHByb3ZpZGVkIE5GRCBBcHAgaWQgZm9yIGdhdGluZyBtdXN0IGJlIHZhbGlkIE5GRAoJYXNzZXJ0CgoqaWY2X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NjgKCS8vIHJldHVybiB2YWxpZGF0b3JJZDsKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCS8vIG1hbmFnZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAobWFuYWdlcikgZm9yIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyCglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIG1hbmFnZXI6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIENoYW5nZXMgdGhlIFZhbGlkYXRvciBtYW5hZ2VyIGZvciBhIHNwZWNpZmljIFZhbGlkYXRvciBpZC4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB0byBjaGFuZ2UgdGhlIG1hbmFnZXIgZm9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IG1hbmFnZXIgLSBUaGUgbmV3IG1hbmFnZXIgYWRkcmVzcy4KY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NzkKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDgzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyID0gbWFuYWdlcgoJaW50IDQwCglmcmFtZV9kaWcgLTIgLy8gbWFuYWdlcjogQWRkcmVzcwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbzoKCS8vIHN1bnNldHRpbmdUbzogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gc3Vuc2V0dGluZ09uOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbwoJaW50IDEKCXJldHVybgoKLy8gY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBzdW5zZXR0aW5nT246IHVpbnQ2NCwgc3Vuc2V0dGluZ1RvOiBWYWxpZGF0b3JJZFR5cGUpOiB2b2lkCi8vCi8vIFVwZGF0ZXMgdGhlIHN1bnNldCBpbmZvcm1hdGlvbiBmb3IgYSBnaXZlbiB2YWxpZGF0b3IuCi8vIFsgT05MWSBPV05FUiBDQU4gQ0hBTkdFIF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IgdG8gdXBkYXRlLgovLyBAcGFyYW0ge3VpbnQ2NH0gc3Vuc2V0dGluZ09uIC0gVGhlIG5ldyBzdW5zZXQgdGltZXN0YW1wLgovLyBAcGFyYW0ge3VpbnQ2NH0gc3Vuc2V0dGluZ1RvIC0gVGhlIG5ldyBzdW5zZXQgdG8gdmFsaWRhdG9yIGlkLgpjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ5NQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludCA4CglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0OTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdPbiA9IHN1bnNldHRpbmdPbgoJaW50IDIyNgoJZnJhbWVfZGlnIC0yIC8vIHN1bnNldHRpbmdPbjogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MDAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdUbyA9IHN1bnNldHRpbmdUbwoJaW50IDIzNAoJZnJhbWVfZGlnIC0zIC8vIHN1bnNldHRpbmdUbzogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodWludDY0LHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJRDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yTkZEKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yTkZECglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbmZkQXBwSUQ6IHVpbnQ2NCwgbmZkTmFtZTogc3RyaW5nKTogdm9pZAovLwovLyBDaGFuZ2VzIHRoZSBORkQgZm9yIGEgdmFsaWRhdG9yIGluIHRoZSB2YWxpZGF0b3JMaXN0IGNvbnRyYWN0LgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIHVwZGF0ZS4KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElEIC0gVGhlIGFwcGxpY2F0aW9uIGlkIG9mIHRoZSBORkQgdG8gYXNzaWduIHRvIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7c3RyaW5nfSBuZmROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE5GRCAod2hpY2ggbXVzdCBtYXRjaCkKY2hhbmdlVmFsaWRhdG9yTkZEOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxMwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludCA4CglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MTgKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjAKCS8vIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGUgMHg2OTczNWY3NjYxNmM2OTY0NWY2ZTY2NjQ1ZjYxNzA3MDY5NjQgLy8gImlzX3ZhbGlkX25mZF9hcHBpZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTMgLy8gbmZkTmFtZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyMQoJLy8gYXBwbGljYXRpb25zOiBbQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCldCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbnMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSAoQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpIGFzIEFkZHJlc3MpLAoJLy8gICAgICAgJ0lmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0Cgk9PQoKCS8vIElmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyOAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IG5mZEFwcElECglpbnQgNzIKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3M6CgkvLyBjb21taXNzaW9uQWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjb21taXNzaW9uQWRkcmVzcykgZm9yIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzCglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQ2hhbmdlIHRoZSBjb21taXNzaW9uIGFkZHJlc3MgdGhhdCB2YWxpZGF0b3IgcmV3YXJkcyBhcmUgc2VudCB0by4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQpjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzczoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MzYKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTQwCgkvLyBhc3NlcnQoY29tbWlzc2lvbkFkZHJlc3MgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gY29tbWlzc2lvbkFkZHJlc3M6IEFkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NDEKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzID0gY29tbWlzc2lvbkFkZHJlc3MKCWludCAxNzcKCWZyYW1lX2RpZyAtMiAvLyBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyh1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbzoKCS8vIFJld2FyZFBlclBheW91dDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA2CglidG9pCgoJLy8gR2F0aW5nQXNzZXRNaW5CYWxhbmNlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWJ0b2kKCgkvLyBFbnRyeUdhdGluZ0Fzc2V0czogdWludDY0WzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDIgKEVudHJ5R2F0aW5nQXNzZXRzKSBmb3IgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyBtdXN0IGJlIGEgdWludDY0WzRdCglhc3NlcnQKCgkvLyBFbnRyeUdhdGluZ0FkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoRW50cnlHYXRpbmdBZGRyZXNzKSBmb3IgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gRW50cnlHYXRpbmdUeXBlOiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDQgKEVudHJ5R2F0aW5nVHlwZSkgZm9yIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8gbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbwoJaW50IDEKCXJldHVybgoKLy8gY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBFbnRyeUdhdGluZ1R5cGU6IHVpbnQ4LCBFbnRyeUdhdGluZ0FkZHJlc3M6IEFkZHJlc3MsIEVudHJ5R2F0aW5nQXNzZXRzOiBTdGF0aWNBcnJheTx1aW50NjQsIDQ+LCBHYXRpbmdBc3NldE1pbkJhbGFuY2U6IHVpbnQ2NCwgUmV3YXJkUGVyUGF5b3V0OiB1aW50NjQpOiB2b2lkCi8vCi8vIEFsbG93IHRoZSBhZGRpdGlvbmFsIHJld2FyZHMgKGdhdGluZyBlbnRyeSwgYWRkaXRpb25hbCB0b2tlbiByZXdhcmRzKSBpbmZvcm1hdGlvbiBiZSBjaGFuZ2VkIGF0IHdpbGwuCi8vIFsgT05MWSBPV05FUiBDQU4gQ0hBTkdFIF0KY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbzoKCXByb3RvIDYgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NTYKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTYxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPSBFbnRyeUdhdGluZ1R5cGUKCWludCA4MAoJZnJhbWVfZGlnIC0yIC8vIEVudHJ5R2F0aW5nVHlwZTogdWludDgKCWl0b2IKCWV4dHJhY3QgNyAxCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjIKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQWRkcmVzcyA9IEVudHJ5R2F0aW5nQWRkcmVzcwoJaW50IDgxCglmcmFtZV9kaWcgLTMgLy8gRW50cnlHYXRpbmdBZGRyZXNzOiBBZGRyZXNzCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzID0gRW50cnlHYXRpbmdBc3NldHMKCWludCAxMTMKCWZyYW1lX2RpZyAtNCAvLyBFbnRyeUdhdGluZ0Fzc2V0czogU3RhdGljQXJyYXk8dWludDY0LCA0PgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY0CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5nYXRpbmdBc3NldE1pbkJhbGFuY2UgPSBHYXRpbmdBc3NldE1pbkJhbGFuY2UKCWludCAxNDUKCWZyYW1lX2RpZyAtNSAvLyBHYXRpbmdBc3NldE1pbkJhbGFuY2U6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRQZXJQYXlvdXQgPSBSZXdhcmRQZXJQYXlvdXQKCWludCAxNjEKCWZyYW1lX2RpZyAtNiAvLyBSZXdhcmRQZXJQYXlvdXQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfYWRkUG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDIgKG1iclBheW1lbnQpIGZvciBhZGRQb29sIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGFkZFBvb2wKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhZGRQb29sKG1iclBheW1lbnQ6IFBheVR4biwgdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbm9kZU51bTogdWludDY0KTogVmFsaWRhdG9yUG9vbEtleQovLwovLyBBZGRzIGEgbmV3IHBvb2wgdG8gYSB2YWxpZGF0b3IncyBwb29sIHNldCwgcmV0dXJuaW5nIHRoZSAna2V5JyB0byByZWZlcmVuY2UgdGhlIHBvb2wgaW4gdGhlIGZ1dHVyZSBmb3Igc3Rha2luZywgZXRjLgovLyBUaGUgY2FsbGVyIG11c3QgcGF5IHRoZSBjb3N0IG9mIHRoZSB2YWxpZGF0b3JzIE1CUiBpbmNyZWFzZSBhcyB3ZWxsIGFzIHRoZSBNQlIgdGhhdCB3aWxsIGJlIG5lZWRlZCBmb3IgdGhlIHBvb2wgaXRzZWxmLgovLwovLyBbIE9OTFkgT1dORVIgT1IgTUFOQUdFUiBDQU4gY2FsbCBdCi8vIEBwYXJhbSB7UGF5VHhufSBtYnJQYXltZW50IHBheW1lbnQgZnJvbSBjYWxsZXIgd2hpY2ggY292ZXJzIG1iciBpbmNyZWFzZSBvZiBhZGRpbmcgYSBuZXcgcG9vbAovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgaXMgaWQgb2YgdmFsaWRhdG9yIHRvIHBvb2wgdG8gKG11c3QgYmUgb3duZXIgb3IgbWFuYWdlcikKLy8gQHBhcmFtIHt1aW50NjR9IG5vZGVOdW0gaXMgbm9kZSBudW1iZXIgdG8gYWRkIHRvCi8vIEByZXR1cm5zIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sIGtleSB0byBjcmVhdGVkIHBvb2wKYWRkUG9vbDoKCXByb3RvIDMgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyIHx8CgkvLyAgICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CglkdXAKCWJueiAqc2tpcF9vcjEKCXR4biBTZW5kZXIKCWludCA0MAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCXx8Cgoqc2tpcF9vcjE6CgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1ODgKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IGFtb3VudDogdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciwgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDggOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmV4aXN0cywgInNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQiKQoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5MgoJLy8gbnVtUG9vbHM6IHVpbnQ2NCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnQgMjQyCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gKmlmN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTMKCS8vIChudW1Qb29scyBhcyB1aW50NjQpID49IE1BWF9QT09MUwoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaW50IDI0Cgk+PQoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGFscmVhZHkgYXQgbWF4IHBvb2wgc2l6ZQoJZXJyCgoqaWY3X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTYKCS8vIG51bVBvb2xzICs9IDEKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTkKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IFsKCS8vICAgICAgICAgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5leHRyYWN0KDAsIDQwOTYpLAoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoNDA5NiwgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5zaXplIC0gNDA5NiksCgkvLyAgICAgICBdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpLAoJLy8gICAgICAgZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50LAoJLy8gICAgICAgZ2xvYmFsTnVtQnl0ZVNsaWNlOiBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZSwKCS8vICAgICAgIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbCgkvLyAgICAgICAgIC8vIGNyZWF0aW5nQ29udHJhY3RJRCwgdmFsaWRhdG9ySWQsIHBvb2xJZCwgbWluRW50cnlTdGFrZQoJLy8gICAgICAgICBtZXRob2QoJ2NyZWF0ZUFwcGxpY2F0aW9uKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkJyksCgkvLyAgICAgICAgIGl0b2IodGhpcy5hcHAuaWQpLAoJLy8gICAgICAgICBpdG9iKHZhbGlkYXRvcklkKSwKCS8vICAgICAgICAgaXRvYihudW1Qb29scyBhcyB1aW50NjQpLAoJLy8gICAgICAgICBpdG9iKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1pbkVudHJ5U3Rha2UpLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjAwCgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnQgMCAvLyBOb09wCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDEKCS8vIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoMCwgNDA5NiksCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCg0MDk2LCB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUgLSA0MDk2KSwKCS8vICAgICAgIF0KCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWludCAwCglpbnQgNDA5NgoJYm94X2V4dHJhY3QKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWludCA0MDk2CglieXRlIDB4NzA2ZjZmNmM1NDY1NmQ3MDZjNjE3NDY1NDE3MDcwNzI2Zjc2NjE2YzQyNzk3NDY1NzMgLy8gInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUKCWFzc2VydAoJaW50IDQwOTYKCS0KCWJveF9leHRyYWN0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNQoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNgoJLy8gZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50CglpbnQgMTEKCWl0eG5fZmllbGQgR2xvYmFsTnVtVWludAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDcKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UKCWludCAzCglpdHhuX2ZpZWxkIEdsb2JhbE51bUJ5dGVTbGljZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDgKCS8vIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzCglpbnQgMwoJaXR4bl9maWVsZCBFeHRyYVByb2dyYW1QYWdlcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDkKCS8vIGFwcGxpY2F0aW9uQXJnczogWwoJLy8gICAgICAgICAvLyBjcmVhdGluZ0NvbnRyYWN0SUQsIHZhbGlkYXRvcklkLCBwb29sSWQsIG1pbkVudHJ5U3Rha2UKCS8vICAgICAgICAgbWV0aG9kKCdjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCcpLAoJLy8gICAgICAgICBpdG9iKHRoaXMuYXBwLmlkKSwKCS8vICAgICAgICAgaXRvYih2YWxpZGF0b3JJZCksCgkvLyAgICAgICAgIGl0b2IobnVtUG9vbHMgYXMgdWludDY0KSwKCS8vICAgICAgICAgaXRvYih0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5taW5FbnRyeVN0YWtlKSwKCS8vICAgICAgIF0KCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWludCAyMDkKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYxOQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyA9IG51bVBvb2xzIGFzIHVpbnQxNgoJaW50IDI0MgoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyMgoJLy8gcG9vbEFwcElkID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklELmlkCglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjIzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW251bVBvb2xzIC0gMV0ucG9vbEFwcElkID0gcG9vbEFwcElkCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAxIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MjQKCS8vIHRoaXMuYWRkUG9vbFRvTm9kZSh2YWxpZGF0b3JJZCwgcG9vbEFwcElkLCBub2RlTnVtKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGFkZFBvb2xUb05vZGUKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjMyCgkvLyByZXR1cm4geyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogbnVtUG9vbHMgYXMgdWludDY0LCBwb29sQXBwSWQ6IHRoaXMuaXR4biEuY3JlYXRlZEFwcGxpY2F0aW9uSUQuaWQgfTsKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpdG9iCgljb25jYXQKCWl0eG4gQ3JlYXRlZEFwcGxpY2F0aW9uSUQKCWl0b2IKCWNvbmNhdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2FkZFN0YWtlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc3Rha2VkQW1vdW50UGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VkQW1vdW50UGF5bWVudCkgZm9yIGFkZFN0YWtlIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBhZGRTdGFrZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgdmFsdWVUb1ZlcmlmeTogdWludDY0KTogVmFsaWRhdG9yUG9vbEtleQovLwovLyBBZGRzIHN0YWtlIHRvIGEgdmFsaWRhdG9yIHBvb2wuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWx1ZVRvVmVyaWZ5IC0gb25seSBpZiB2YWxpZGF0b3IgaGFzIGdhdGluZyB0byBlbnRlciAtIHRoaXMgaXMgYXNzZXQgaWQgb3IgbmZkIGlkIHRoYXQgY29ycmVzcG9uZHMgdG8gZ2F0aW5nLgovLyBUeG4gc2VuZGVyIGlzIGZhY3RvcmVkIGluIGFzIHdlbGwgaWYgdGhhdCBpcyBwYXJ0IG9mIGdhdGluZy4KLy8gKiBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleX0gLSBUaGUga2V5IG9mIHRoZSB2YWxpZGF0b3IgcG9vbC4KYWRkU3Rha2U6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA1CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0NQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAic3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkCglhc3NlcnQKCgkvLyAqaWY4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uID4gMAoJaW50IDIyNgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJPgoJYnogKmlmOF9lbmQKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NDkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uIDwgZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAsCgkvLyAgICAgICAgICJjYW4ndCBzdGFrZSB3aXRoIGEgdmFsaWRhdG9yIHRoYXQgaXMgcGFzdCBpdHMgc3Vuc2V0dGluZyB0aW1lIgoJLy8gICAgICAgKQoJaW50IDIyNgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCgk8CgoJLy8gY2FuJ3Qgc3Rha2Ugd2l0aCBhIHZhbGlkYXRvciB0aGF0IGlzIHBhc3QgaXRzIHN1bnNldHRpbmcgdGltZQoJYXNzZXJ0CgoqaWY4X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTUKCS8vIHN0YWtlciA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfYnVyeSAwIC8vIHN0YWtlcjogYWRkcmVzcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTkKCS8vIHZlcmlmeVBheVR4bihzdGFrZWRBbW91bnRQYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IHN0YWtlciwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoic3Rha2VyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY2NgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS50b3RhbEFsZ29TdGFrZWQgPCB0aGlzLm1heEFsbG93ZWRTdGFrZSgpLAoJLy8gICAgICAgJ3RvdGFsIHN0YWtlZCBmb3IgYWxsIG9mIGEgdmFsaWRhdG9ycyBwb29scyBtYXkgbm90IGV4Y2VlZCBoYXJkIGNhcCcKCS8vICAgICApCglpbnQgMjUyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCgk8CgoJLy8gdG90YWwgc3Rha2VkIGZvciBhbGwgb2YgYSB2YWxpZGF0b3JzIHBvb2xzIG1heSBub3QgZXhjZWVkIGhhcmQgY2FwCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjczCgkvLyB0aGlzLmRvZXNTdGFrZXJNZWV0R2F0aW5nKHZhbGlkYXRvcklkLCB2YWx1ZVRvVmVyaWZ5KQoJZnJhbWVfZGlnIC0zIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZG9lc1N0YWtlck1lZXRHYXRpbmcKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njc1CgkvLyByZWFsQW1vdW50ID0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfYnVyeSAxIC8vIHJlYWxBbW91bnQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzYKCS8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0CgoJLy8gKmlmOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzgKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjlfZW5kCgoJLy8gKmlmOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgxCgkvLyBtYnJBbXRMZWZ0QmVoaW5kID0gdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkU3Rha2VyTWJyCgljYWxsc3ViIGdldE1ickFtb3VudHMKCWV4dHJhY3QgMjQgOAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODIKCS8vIHJlYWxBbW91bnQgLT0gbWJyQW10TGVmdEJlaGluZAoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMSAvLyByZWFsQW1vdW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgzCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5jcmVhdGUoKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCgljb25jYXQKCWludCAxNDQKCWJveF9jcmVhdGUKCXBvcAoKKmlmOV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg3CgkvLyBmaW5kUmV0ID0gdGhpcy5maW5kUG9vbEZvclN0YWtlcih2YWxpZGF0b3JJZCwgc3Rha2VyLCByZWFsQW1vdW50KQoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGZpbmRQb29sRm9yU3Rha2VyCglmcmFtZV9idXJ5IDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODgKCS8vIHBvb2xLZXkgPSBmaW5kUmV0WzBdCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg5CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmluZFJldFsxXQoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxOTIKCWdldGJpdAoJZnJhbWVfYnVyeSA0IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjkwCgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wgPSBmaW5kUmV0WzJdCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDE5MwoJZ2V0Yml0CglmcmFtZV9idXJ5IDUgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gKmlmMTBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjkxCgkvLyBwb29sS2V5LnBvb2xJZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjEwX2VuZAoKCS8vICppZjEwX2NvbnNlcXVlbnQKCS8vIE5vIHBvb2wgYXZhaWxhYmxlIHdpdGggZnJlZSBzdGFrZS4gIFZhbGlkYXRvciBuZWVkcyB0byBhZGQgYW5vdGhlciBwb29sCgllcnIKCippZjEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2OTYKCS8vIHRoaXMudXBkYXRlU3Rha2VyUG9vbFNldChzdGFrZXIsIHBvb2xLZXkpCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDI0CglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWNhbGxzdWIgdXBkYXRlU3Rha2VyUG9vbFNldAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2OTkKCS8vIHRoaXMuY2FsbFBvb2xBZGRTdGFrZSgKCS8vICAgICAgIHN0YWtlZEFtb3VudFBheW1lbnQsCgkvLyAgICAgICBwb29sS2V5LAoJLy8gICAgICAgbWJyQW10TGVmdEJlaGluZCwKCS8vICAgICAgIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsCgkvLyAgICAgICBpc05ld1N0YWtlclRvUHJvdG9jb2wKCS8vICAgICApCglmcmFtZV9kaWcgNSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCWZyYW1lX2RpZyA0IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCWZyYW1lX2RpZyAyIC8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyNAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJY2FsbHN1YiBjYWxsUG9vbEFkZFN0YWtlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjcxNAoJLy8gcmV0dXJuIHBvb2xLZXk7CglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDI0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNQoJcmV0c3ViCgovLyBzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpCiphYmlfcm91dGVfc2V0VG9rZW5QYXlvdXRSYXRpbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgc2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoJY2FsbHN1YiBzZXRUb2tlblBheW91dFJhdGlvCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2V0VG9rZW5QYXlvdXRSYXRpbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogUG9vbFRva2VuUGF5b3V0UmF0aW8KLy8KLy8gc2V0VG9rZW5QYXlvdXRSYXRpbyBpcyBjYWxsZWQgYnkgU3Rha2luZyBQb29sICMgMSAoT05MWSkgdG8gYXNrIHRoZSB2YWxpZGF0b3IgKHVzKSB0byBjYWxjdWxhdGUgdGhlIHJhdGlvcwovLyBvZiBzdGFrZSBpbiB0aGUgcG9vbHMgZm9yIHN1YnNlcXVlbnQgdG9rZW4gcGF5b3V0cyAoaWU6IDIgcG9vbHMsICcxMDAnIGFsZ28gdG90YWwgc3Rha2VkLCA2MCBpbiBwb29sIDEsIGFuZCA0MAovLyBpbiBwb29sIDIpICBUaGlzIGlzIGRvbmUgc28gd2UgaGF2ZSBhIHN0YWJsZSBzbmFwc2hvdCBvZiBzdGFrZSAtIHRha2VuIG9uY2UgcGVyIGVwb2NoIC0gb25seSB0cmlnZ2VyZWQgYnkKLy8gcG9vbCAxIGRvaW5nIHBheW91dC4gIHBvb2xzIG90aGVyIHRoYW4gMSBkb2luZyBwYXlvdXQgY2FsbCBwb29sIDEgdG8gYXNrIGl0IGRvIGl0IGZpcnN0LgovLyBJdCB3b3VsZCBiZSA2MC80MCUgaW4gdGhlIHBvb2xQY3RPZldob2xlIHZhbHVlcy4gIFRoZSB0b2tlbiByZXdhcmQgcGF5b3V0cyB0aGVuIHVzZSB0aGVzZSB2YWx1ZXMgaW5zdGVhZCBvZgovLyB0aGVpciAnY3VycmVudCcgc3Rha2Ugd2hpY2ggY2hhbmdlcyBhcyBwYXJ0IG9mIHRoZSBwYXlvdXRzIHRoZW1zZWx2ZXMgKGFuZCBwZW9wbGUgY291bGQgYmUgY2hhbmdpbmcgc3Rha2UKLy8gZHVyaW5nIHRoZSBlcG9jaCB1cGRhdGVzIGFjcm9zcyBwb29scykKLy8KLy8gTXVsdGlwbGUgcG9vbHMgd2lsbCBjYWxsIHVzIHZpYSBwb29sIDEgKHBvb2wyLT5wb29sMS0+dmFsaWRhdG9yLCBldGMuKSBzbyBkb24ndCBhc3NlcnQgb24gcG9vbDEgY2FsbGluZyBtdWx0aXBsZQovLyB0aW1lcyBpbiBzYW1lIGVwb2NoLiAgSnVzdCByZXR1cm4uCi8vCi8vIEBwYXJhbSB2YWxpZGF0b3JJZCAtIHZhbGlkYXRvciBpZCAoYW5kIHRodXMgcG9vbCkgY2FsbGluZyB1cy4gIFZlcmlmaWVkIHNvIHRoYXQgc2VuZGVyIE1VU1QgYmUgcG9vbCAxIG9mIHRoaXMgdmFsaWRhdG9yLgovLyBAcmV0dXJucyBQb29sVG9rZW5QYXlvdXRSYXRpbyAtIHRoZSBmaW5pc2hlZCByYXRpbyBkYXRhCnNldFRva2VuUGF5b3V0UmF0aW86Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjczNAoJLy8gcG9vbDFBcHBJRCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbMF0ucG9vbEFwcElkCglpbnQgMjY4CglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM1CgkvLyBhc3NlcnQocG9vbDFBcHBJRCAhPT0gMCkKCWZyYW1lX2RpZyAwIC8vIHBvb2wxQXBwSUQ6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzcKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5hZGRyZXNzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJIT0KCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzgKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0NAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMSAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0NQoJLy8gbGFzdFBheW91dFVwZGF0ZSA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpby51cGRhdGVkRm9yUGF5b3V0CglpbnQgODkyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCgkvLyAqaWYxMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDYKCS8vIGxhc3RQYXlvdXRVcGRhdGUgIT09IDAKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJaW50IDAKCSE9CglieiAqaWYxMl9lbmQKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyAqaWYxM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDgKCS8vIChBcHBJRC5mcm9tVWludDY0KHBvb2wxQXBwSUQpLmdsb2JhbFN0YXRlKCdsYXN0UGF5b3V0JykgYXMgdWludDY0KSA9PT0gbGFzdFBheW91dFVwZGF0ZQoJZnJhbWVfZGlnIDAgLy8gcG9vbDFBcHBJRDogdWludDY0CglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5nbG9iYWxTdGF0ZSgnbGFzdFBheW91dCcpCglhc3NlcnQKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1MQoJLy8gZXBvY2hSb3VuZExlbmd0aCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVwb2NoUm91bmRMZW5ndGggYXMgdWludDY0CglpbnQgMTY5CglpbnQgNAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzUyCgkvLyB0aGlzRXBvY2hCZWdpbiA9IGN1clJvdW5kIC0gKGN1clJvdW5kICUgZXBvY2hSb3VuZExlbmd0aCkKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfYnVyeSA0IC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCgkvLyAqaWYxNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTQKCS8vIGxhc3RQYXlvdXRVcGRhdGUgLSAobGFzdFBheW91dFVwZGF0ZSAlIGVwb2NoUm91bmRMZW5ndGgpID09PSB0aGlzRXBvY2hCZWdpbgoJZnJhbWVfZGlnIDIgLy8gbGFzdFBheW91dFVwZGF0ZTogdWludDY0CglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfZGlnIDQgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPT0KCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTUKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTRfZW5kOgoKKmlmMTJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnVwZGF0ZWRGb3JQYXlvdXQgPSBjdXJSb3VuZAoJaW50IDg5MgoJZnJhbWVfZGlnIDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYwCgkvLyBjdXJOdW1Qb29scyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnQgMjQyCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNSAvLyBjdXJOdW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MQoJLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvciA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkCglpbnQgMjUyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyB0b3RhbFN0YWtlRm9yVmFsaWRhdG9yOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA1IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfMl9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzY3CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW3RoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbaV0udG90YWxBbGdvU3Rha2VkLCAxXzAwMF8wMDBdLAoJLy8gICAgICAgICBbdG90YWxTdGFrZUZvclZhbGlkYXRvcl0KCS8vICAgICAgICkKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaW50IDFfMDAwXzAwMAoJbXVsdwoJaW50IDAKCWZyYW1lX2RpZyA2IC8vIHRvdGFsU3Rha2VGb3JWYWxpZGF0b3I6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgOCAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc3MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnBvb2xQY3RPZldob2xlW2ldID0gb3VyUG9vbFBjdE9mV2hvbGUKCWludCA3MDAKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIDggLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCipmb3JfMl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NjIKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzczCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50IDcwMCAvLyBoZWFkT2Zmc2V0CglpbnQgMjAwCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoKKnNldFRva2VuUGF5b3V0UmF0aW8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gOAoJcmV0c3ViCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzOgoJLy8gc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYWxnb1RvQWRkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIHN0YWtlVXBkYXRlZFZpYVJld2FyZHMoKHVpbnQ2NCx1aW50NjQsdWludDY0KSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzCglpbnQgMQoJcmV0dXJuCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIGFsZ29Ub0FkZDogdWludDY0LCByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkOiB1aW50NjQsIHZhbGlkYXRvckNvbW1pc3Npb246IHVpbnQ2NCwgc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0KTogdm9pZAovLwovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIGlzIGNhbGxlZCBieSBTdGFraW5nIHBvb2xzIHRvIGluZm9ybSB0aGUgdmFsaWRhdG9yICh1cykgdGhhdCBhIHBhcnRpY3VsYXIgYW1vdW50IG9mIHRvdGFsCi8vIHN0YWtlIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIFRoZSBjYWxsaW5nIEFwcCBpZCBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBvdXIgcG9vbCBsaXN0IGFzIHdlbGwuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHlwZQovLyBAcGFyYW0ge3VpbnQ2NH0gYWxnb1RvQWRkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzCi8vIEBwYXJhbSB7dWludDY0fSByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzICh0aGF0IHNob3VsZCBiZQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9yQ29tbWlzc2lvbiAtIHRoZSBjb21taXNzaW9uIGFtb3VudCB0aGUgdmFsaWRhdG9yIHdhcyBwYWlkLCBpZiBhbnkKLy8gQHBhcmFtIHt1aW50NjR9IHNhdHVyYXRlZEJ1cm5Ub0ZlZVNpbmsgLSBpZiB0aGUgcG9vbCB3YXMgaW4gc2F0dXJhdGVkIHN0YXRlLCB0aGUgYW1vdW50IHNlbnQgYmFjayB0byB0aGUgZmVlIHNpbmsuCi8vIHNlZW4gYXMgJ2FjY291bnRlZCBmb3IvcGVuZGluZyBzcGVudCcpCnN0YWtlVXBkYXRlZFZpYVJld2FyZHM6Cglwcm90byA1IDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk0CgkvLyB0aGlzLnZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CgljYWxsc3ViIHZlcmlmeVBvb2xLZXlDYWxsZXIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk3CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgKz0gYWxnb1RvQWRkCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBhbGdvVG9BZGQ6IHVpbnQ2NAoJKwoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCArPSBhbGdvVG9BZGQKCWludCAyNTIKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIGFsZ29Ub0FkZDogdWludDY0CgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk5CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjayArPSByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkCglpbnQgMjYwCglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkOiB1aW50NjQKCSsKCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MDEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGFsZ29Ub0FkZAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBhbGdvVG9BZGQ6IHVpbnQ2NAoJKwoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODA0CgkvLyB0aGlzLnJldmVyaWZ5TkZET3duZXJzaGlwKHBvb2xLZXkuaWQpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWNhbGxzdWIgcmV2ZXJpZnlORkRPd25lcnNoaXAKCXJldHN1YgoKLy8gc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoqYWJpX3JvdXRlX3N0YWtlUmVtb3ZlZDoKCS8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXJSZW1vdmVkKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoc3Rha2VyKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoJY2FsbHN1YiBzdGFrZVJlbW92ZWQKCWludCAxCglyZXR1cm4KCi8vIHN0YWtlUmVtb3ZlZChwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBzdGFrZXI6IEFkZHJlc3MsIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NCwgcmV3YXJkUmVtb3ZlZDogdWludDY0LCBzdGFrZXJSZW1vdmVkOiBib29sZWFuKTogdm9pZAovLwovLyBzdGFrZVJlbW92ZWQgaXMgY2FsbGVkIGJ5IFN0YWtpbmcgcG9vbHMgdG8gaW5mb3JtIHRoZSB2YWxpZGF0b3IgKHVzKSB0aGF0IGEgcGFydGljdWxhciBhbW91bnQgb2YgdG90YWwgc3Rha2UgaGFzIGJlZW4gcmVtb3ZlZAovLyBmcm9tIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIElmIGFueSBhbW91bnQgb2YgcmV3YXJkUmVtb3ZlZCBpcyBzcGVjaWZpZWQsIHRoZW4gdGhhdCBhbW91bnQgb2YgcmV3YXJkIGlzIHNlbnQgdG8gdGhlIHVzZQovLyBUaGUgY2FsbGluZyBBcHAgaWQgaXMgdmFsaWRhdGVkIGFnYWluc3Qgb3VyIHBvb2wgbGlzdCBhcyB3ZWxsLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2xLZXkgY2FsbGluZyB1cyBmcm9tIHdoaWNoIHN0YWtlIHdhcyByZW1vdmVkCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRSZW1vdmVkIC0gYWxnbyBhbW91bnQgcmVtb3ZlZAovLyBAcGFyYW0ge3VpbnQ2NH0gcmV3YXJkUmVtb3ZlZCAtIGlmIGFwcGxpY2FibGUsIGFtb3VudCBvZiB0b2tlbiByZXdhcmQgcmVtb3ZlZCAoYnkgcG9vbCAxIGNhbGxlcikgb3IgVE8gcmVtb3ZlIGFuZCBwYXkgb3V0ICh2aWEgcG9vbCAxIGZyb20gZGlmZmVyZW50IHBvb2wgY2FsbGVyKQovLyBAcGFyYW0ge2Jvb2xlYW59IHN0YWtlclJlbW92ZWQKc3Rha2VSZW1vdmVkOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vICppZjE1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjgzNgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MzcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MzkKCS8vIHRoaXMudmVyaWZ5UG9vbEtleUNhbGxlcihwb29sS2V5KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWNhbGxzdWIgdmVyaWZ5UG9vbEtleUNhbGxlcgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDMKCS8vIGFzc2VydChhbW91bnRSZW1vdmVkID4gMCB8fCByZXdhcmRSZW1vdmVkID4gMCwgJ3Nob3VsZCBvbmx5IGJlIGNhbGxlZCBpZiBhbGdvIG9yIHJld2FyZCB3YXMgcmVtb3ZlZCcpCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CglpbnQgMAoJPgoJZHVwCglibnogKnNraXBfb3IyCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0CglpbnQgMAoJPgoJfHwKCipza2lwX29yMjoKCS8vIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpZiBhbGdvIG9yIHJld2FyZCB3YXMgcmVtb3ZlZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0NgoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxBbGdvU3Rha2VkIC09IGFtb3VudFJlbW92ZWQKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxMCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJLQoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCAtPSBhbW91bnRSZW1vdmVkCglpbnQgMjUyCglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIC09IGFtb3VudFJlbW92ZWQKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CgktCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vICppZjE2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MAoJLy8gcmV3YXJkUmVtb3ZlZCA+IDAKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCWludCAwCgk+CglieiAqaWYxNl9lbHNlCgoJLy8gKmlmMTZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MQoJLy8gcmV3YXJkVG9rZW5JRCA9IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5jb25maWcucmV3YXJkVG9rZW5JZAoJaW50IDE1MwoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHJld2FyZFRva2VuSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTIKCS8vIGFzc2VydChyZXdhcmRUb2tlbklEICE9PSAwLCAicmV3YXJkUmVtb3ZlZCBjYW4ndCBiZSBzZXQgaWYgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSByZXdhcmQgdG9rZW4hIikKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSUQ6IHVpbnQ2NAoJaW50IDAKCSE9CgoJLy8gcmV3YXJkUmVtb3ZlZCBjYW4ndCBiZSBzZXQgaWYgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSByZXdhcmQgdG9rZW4hCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODUzCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrID49IHJld2FyZFJlbW92ZWQsCgkvLyAgICAgICAgICdyZXdhcmQgYmVpbmcgcmVtb3ZlZCBtdXN0IGJlIGNvdmVyZWQgYnkgaG9sZCBiYWNrIGFtb3VudCcKCS8vICAgICAgICkKCWludCAyNjAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCT49CgoJLy8gcmV3YXJkIGJlaW5nIHJlbW92ZWQgbXVzdCBiZSBjb3ZlcmVkIGJ5IGhvbGQgYmFjayBhbW91bnQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrIC09IHJld2FyZFJlbW92ZWQKCWludCAyNjAKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJLQoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY0CgkvLyBwb29sS2V5LnBvb2xJZCAhPT0gMQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJIT0KCWJ6ICppZjE3X2VuZAoKCS8vICppZjE3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucGF5VG9rZW5SZXdhcmQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFtzdGFrZXIsIHJld2FyZFRva2VuSUQsIHJld2FyZFJlbW92ZWRdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjYKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzWzBdLnBvb2xBcHBJZCkKCWludCAyNjgKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjcKCS8vIG1ldGhvZEFyZ3M6IFtzdGFrZXIsIHJld2FyZFRva2VuSUQsIHJld2FyZFJlbW92ZWRdCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYxN19lbmQ6CgliICppZjE2X2VuZAoKKmlmMTZfZWxzZToKCippZjE2X2VuZDoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg5MgoJLy8gc3Rha2VyUmVtb3ZlZAoJZnJhbWVfZGlnIC01IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2xlYW4KCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTQKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsU3Rha2VycyAtPSAxCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgOCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgOCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMQoJLQoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTYKCS8vIHJlbW92ZVJldCA9IHRoaXMucmVtb3ZlRnJvbVN0YWtlclBvb2xTZXQoc3Rha2VyLCA8VmFsaWRhdG9yUG9vbEtleT57CgkvLyAgICAgICAgIGlkOiBwb29sS2V5LmlkLAoJLy8gICAgICAgICBwb29sSWQ6IHBvb2xLZXkucG9vbElkLAoJLy8gICAgICAgICBwb29sQXBwSWQ6IHBvb2xLZXkucG9vbEFwcElkLAoJLy8gICAgICAgfSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJY2FsbHN1YiByZW1vdmVGcm9tU3Rha2VyUG9vbFNldAoJZnJhbWVfYnVyeSAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTAxCgkvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3IgPSByZW1vdmVSZXRbMF0KCWZyYW1lX2RpZyAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJZ2V0Yml0CglmcmFtZV9idXJ5IDIgLy8gc3Rha2VyT3V0T2ZUaGlzVmFsaWRhdG9yOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwMgoJLy8gc3Rha2VyT3V0T2ZQcm90b2NvbCA9IHJlbW92ZVJldFsxXQoJZnJhbWVfZGlnIDEgLy8gcmVtb3ZlUmV0OiAoYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxCglnZXRiaXQKCWZyYW1lX2J1cnkgMyAvLyBzdGFrZXJPdXRPZlByb3RvY29sOiBib29sCgoJLy8gKmlmMTlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTA0CgkvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3IKCWZyYW1lX2RpZyAyIC8vIHN0YWtlck91dE9mVGhpc1ZhbGlkYXRvcjogYm9vbAoJYnogKmlmMTlfZW5kCgoJLy8gKmlmMTlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwNQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsU3Rha2VycyAtPSAxCglpbnQgMjQ0CglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludCAxCgktCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjE5X2VuZDoKCS8vICppZjIwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOAoJLy8gc3Rha2VyT3V0T2ZQcm90b2NvbAoJZnJhbWVfZGlnIDMgLy8gc3Rha2VyT3V0T2ZQcm90b2NvbDogYm9vbAoJYnogKmlmMjBfZW5kCgoJLy8gKmlmMjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOQoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlIC09IDEKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJLQoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCippZjIwX2VuZDoKCippZjE4X2VuZDoKCXJldHN1YgoKLy8gZmluZFBvb2xGb3JTdGFrZXIodWludDY0LGFkZHJlc3MsdWludDY0KSgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9maW5kUG9vbEZvclN0YWtlcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYW1vdW50VG9TdGFrZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKHN0YWtlcikgZm9yIGZpbmRQb29sRm9yU3Rha2VyIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJY2FsbHN1YiBmaW5kUG9vbEZvclN0YWtlcgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGZpbmRQb29sRm9yU3Rha2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHN0YWtlcjogQWRkcmVzcywgYW1vdW50VG9TdGFrZTogdWludDY0KTogW1ZhbGlkYXRvclBvb2xLZXksIGJvb2xlYW4sIGJvb2xlYW5dCi8vCi8vIEZpbmRzIHRoZSBwb29sIGZvciBhIHN0YWtlciBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdmFsaWRhdG9yIGlkLCBzdGFrZXIgYWRkcmVzcywgYW5kIGFtb3VudCB0byBzdGFrZS4KLy8gRmlyc3QgY2hlY2tzIHRoZSBzdGFrZXJzICdhbHJlYWR5IHN0YWtlZCBsaXN0JyBmb3IgdGhlIHZhbGlkYXRvciBwcmVmZXJyaW5nIHRob3NlIChhZGRpbmcgaWYgcG9zc2libGUpIHRoZW4gYWRkcwovLyB0byBuZXcgcG9vbCBpZiBuZWNlc3NhcnkuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1N0YWtlIC0gVGhlIGFtb3VudCB0byBzdGFrZS4KLy8gQHJldHVybnMge1ZhbGlkYXRvclBvb2xLZXksIGJvb2xlYW4sIGJvb2xlYW59IC0gVGhlIHBvb2wgZm9yIHRoZSBzdGFrZXIsIHRydWUvZmFsc2Ugb24gd2hldGhlciB0aGUgc3Rha2VyIGlzICduZXcnCi8vIHRvIHRoaXMgVkFMSURBVE9SLCBhbmQgdHJ1ZS9mYWxzZSBpZiBzdGFrZXIgaXMgbmV3IHRvIHRoZSBwcm90b2NvbC4KZmluZFBvb2xGb3JTdGFrZXI6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA3CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzMAoJLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MzEKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzOQoJLy8gbWF4UGVyUG9vbCA9IHRoaXMuZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHZhbGlkYXRvcklkKQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZ2V0Q3VyTWF4U3Rha2VQZXJQb29sCglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoJLy8gKmlmMjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQyCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWYyMV9lbmQKCgkvLyAqaWYyMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQzCgkvLyBwb29sU2V0ID0gY2xvbmUodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUpCglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NAoJLy8gYXNzZXJ0KHZhbGlkYXRvcklkICE9PSAwKQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWludCAwCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBwb29sU2V0Lmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfMzoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDUKCS8vIGkgPCBwb29sU2V0Lmxlbmd0aAoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgNgoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjIyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjIyX2VuZDoKCS8vICppZjIzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0OQoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJaW50IDAKCT09CglieiAqaWYyM19lbmQKCgkvLyAqaWYyM19jb25zZXF1ZW50CgliICpmb3JfM19jb250aW51ZQoKKmlmMjNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1MgoJLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gKmlmMjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTUzCgkvLyBwb29sU2V0W2ldLmlkID09PSB2YWxpZGF0b3JJZAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCT09CglieiAqaWYyNF9lbmQKCgkvLyAqaWYyNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTU1CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1twb29sU2V0W2ldLnBvb2xJZCAtIDFdLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0KCS8vICAgICAgICAgICAgIG1heFBlclBvb2wKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDggLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxMCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRUb1N0YWtlOiB1aW50NjQKCSsKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJPD0KCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjAKCS8vIHJldHVybiBbcG9vbFNldFtpXSwgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwgaXNOZXdTdGFrZXJUb1Byb3RvY29sXTsKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCWIgKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybgoKKmlmMjVfZW5kOgoKKmlmMjRfZW5kOgoKKmZvcl8zX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgliICpmb3JfMwoKKmZvcl8zX2VuZDoKCippZjIxX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjcKCS8vIGFzc2VydCgKCS8vICAgICAgIGFtb3VudFRvU3Rha2UgPj0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSwKCS8vICAgICAgICdtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJaW50IDIwOQoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk+PQoKCS8vIG11c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3MwoJLy8gcG9vbHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzKQoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglpbnQgNDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA1IC8vIHBvb2xzOiAodWludDY0LHVpbnQxNix1aW50NjQpWzI0XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzQKCS8vIGN1ck51bVBvb2xzID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludCAyNDIKCWludCAyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWYyNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzYKCS8vIHBvb2xzW2ldLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0gbWF4UGVyUG9vbAoJZnJhbWVfZGlnIDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50VG9TdGFrZTogdWludDY0CgkrCglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCTw9CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc3CgkvLyByZXR1cm4gWwoJLy8gICAgICAgICAgIHsgaWQ6IHZhbGlkYXRvcklkLCBwb29sSWQ6IGkgKyAxLCBwb29sQXBwSWQ6IHBvb2xzW2ldLnBvb2xBcHBJZCB9LAoJLy8gICAgICAgICAgIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsCgkvLyAgICAgICAgICAgaXNOZXdTdGFrZXJUb1Byb3RvY29sLAoJLy8gICAgICAgICBdOwoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCWIgKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybgoKKmlmMjZfZW5kOgoKKmZvcl80X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDcgLy8gaTogdWludDY0CgliICpmb3JfNAoKKmZvcl80X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5ODUKCS8vIHJldHVybiBbeyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogMCwgcG9vbEFwcElkOiAwIH0sIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsIGlzTmV3U3Rha2VyVG9Qcm90b2NvbF07CglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwCglpbnQgMAoJZnJhbWVfZGlnIDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJc2V0Yml0CglpbnQgMQoJZnJhbWVfZGlnIDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglzZXRiaXQKCWNvbmNhdAoKKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDcKCXJldHN1YgoKLy8gbW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX21vdmVQb29sVG9Ob2RlOgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gcG9vbEFwcElkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBtb3ZlUG9vbFRvTm9kZSh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG1vdmVQb29sVG9Ob2RlCglpbnQgMQoJcmV0dXJuCgovLyBtb3ZlUG9vbFRvTm9kZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBwb29sQXBwSWQ6IHVpbnQ2NCwgbm9kZU51bTogdWludDY0KTogdm9pZAovLwovLyBGaW5kIHRoZSBzcGVjaWZpZWQgcG9vbCAoaW4gYW55IG5vZGUgbnVtYmVyKSBhbmQgbW92ZSBpdCB0byB0aGUgc3BlY2lmaWVkIG5vZGUuCi8vIFRoZSBwb29sIGFjY291bnQgaXMgZm9yY2VkIG9mZmxpbmUgaWYgbW92ZWQgc28gcHJpb3Igbm9kZSB3aWxsIHN0aWxsIHJ1biBmb3IgMzIwIHJvdW5kcyBidXQKLy8gbmV3IGtleSBnb2VzIG9ubGluZSBvbiBuZXcgbm9kZSBzb29uIGFmdGVyICgzMjAgcm91bmRzIGFmdGVyIGl0IGdvZXMgb25saW5lKQovLyBOby1vcCBpZiBzdWNjZXNzLCBhc3NlcnRzIGlmIG5vdCBmb3VuZCBvciBjYW4ndCBtb3ZlICAobm8gc3BhY2UgaW4gdGFyZ2V0KQovLyBbIE9OTFkgT1dORVIgT1IgTUFOQUdFUiBDQU4gQ0hBTkdFIF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSBwb29sQXBwSWQKLy8gQHBhcmFtIHt1aW50NjR9IG5vZGVOdW0KbW92ZVBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIgfHwKCS8vICAgICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCWR1cAoJYm56ICpza2lwX29yMwoJdHhuIFNlbmRlcgoJaW50IDQwCglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoJfHwKCipza2lwX29yMzoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDcKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnQgOTAwIC8vIGhlYWRPZmZzZXQKCWludCAxOTIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDA4CgkvLyBhc3NlcnQobm9kZU51bSA+PSAxICYmIG5vZGVOdW0gPD0gTUFYX05PREVTLCAnbm9kZSBudW1iZXIgb3V0IG9mIGFsbG93YWJsZSByYW5nZScpCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnQgMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50IDgKCTw9CgkmJgoKKnNraXBfYW5kMToKCS8vIG5vZGUgbnVtYmVyIG91dCBvZiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBmb3IgKGxldCBzcmNOb2RlSWR4ID0gMDsgc3JjTm9kZUlkeCA8IE1BWF9OT0RFUzsgc3JjTm9kZUlkeCArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCipmb3JfNToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBzcmNOb2RlSWR4IDwgTUFYX05PREVTCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludCA4Cgk8CglieiAqZm9yXzVfZW5kCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgTUFYX1BPT0xTX1BFUl9OT0RFOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl82OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGkgPCBNQVhfUE9PTFNfUEVSX05PREUKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDMKCTwKCWJ6ICpmb3JfNl9lbmQKCgkvLyAqaWYyN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEyCgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW3NyY05vZGVJZHhdLnBvb2xBcHBJZHNbaV0gPT09IHBvb2xBcHBJZAoJZnJhbWVfZGlnIDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoJaW50IDAKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0Cgk9PQoJYnogKmlmMjdfZW5kCgoJLy8gKmlmMjdfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTMKCS8vIGFzc2VydChub2RlTnVtIC0gMSAhPT0gc3JjTm9kZUlkeCwgImNhbid0IG1vdmUgdG8gc2FtZSBub2RlIikKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCSE9CgoJLy8gY2FuJ3QgbW92ZSB0byBzYW1lIG5vZGUKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbc3JjTm9kZUlkeF0ucG9vbEFwcElkc1tpXSA9IDAKCWludCA5MDAKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE4CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLmdvT2ZmbGluZT4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLAoJLy8gICAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJnb09mZmxpbmUoKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE5CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDIzCgkvLyB0aGlzLmFkZFBvb2xUb05vZGUodmFsaWRhdG9ySWQsIHBvb2xBcHBJZCwgbm9kZU51bSkKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgYWRkUG9vbFRvTm9kZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDI0CgkvLyByZXR1cm47CglyZXRzdWIKCippZjI3X2VuZDoKCipmb3JfNl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDExCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl82CgoqZm9yXzZfZW5kOgoKKmZvcl81X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTAKCS8vIHNyY05vZGVJZHggKz0gMQoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJYiAqZm9yXzUKCipmb3JfNV9lbmQ6CgkvLyBjb3VsZG4ndCBmaW5kIHBvb2wgYXBwIGlkIGluIG5vZGVzIHRvIG1vdmUKCWVycgoJcmV0c3ViCgovLyBlbXB0eVRva2VuUmV3YXJkcyh1aW50NjQsYWRkcmVzcyl1aW50NjQKKmFiaV9yb3V0ZV9lbXB0eVRva2VuUmV3YXJkczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gcmVjZWl2ZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciBlbXB0eVRva2VuUmV3YXJkcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0CgljYWxsc3ViIGVtcHR5VG9rZW5SZXdhcmRzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZW1wdHlUb2tlblJld2FyZHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgcmVjZWl2ZXI6IEFkZHJlc3MpOiB1aW50NjQKLy8KLy8gU2VuZHMgdGhlIHJld2FyZCB0b2tlbnMgaGVsZCBpbiBwb29sIDEgdG8gc3BlY2lmaWVkIHJlY2VpdmVyLgovLyBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgdGhlIG93bmVyIHdoZW4gdGhleSB3YW50IHRvIGdldCByZXdhcmQgdG9rZW5zICdiYWNrJyB3aGljaCB0aGV5IHNlbnQgdG8KLy8gdGhlIGZpcnN0IHBvb2wgKGxpa2VseSBiZWNhdXNlIHZhbGlkYXRvciBpcyBzdW5zZXR0aW5nLiAgQW55IHRva2VucyBjdXJyZW50bHkgJ3Jlc2VydmVkJyBmb3Igc3Rha2VycyB0byBjbGFpbSB3aWxsCi8vIE5PVCBiZSBzZW50IGFzIHRoZXkgbXVzdCBiZSBoZWxkIGJhY2sgZm9yIHN0YWtlcnMgdG8gbGF0ZXIgY2xhaW0uCi8vIFsgT05MWSBPV05FUiBDQU4gQ0FMTF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7QWRkcmVzc30gcmVjZWl2ZXIgLSB0aGUgYWNjb3VudCB0byBzZW5kIHRoZSB0b2tlbnMgdG8gKG11c3QgYWxyZWFkeSBiZSBvcHRlZC1pbiB0byB0aGUgcmV3YXJkIHRva2VuKQovLyBAcmV0dXJucyB7dWludDY0fSB0aGUgYW1vdW50IG9mIHJld2FyZCB0b2tlbiBzZW50CmVtcHR5VG9rZW5SZXdhcmRzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQzCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDcKCS8vIHJld2FyZFRva2VuSWQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRUb2tlbklkCglpbnQgMTUzCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA0OAoJLy8gcmV3YXJkVG9rZW5IZWxkQmFjayA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjawoJaW50IDI2MAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDkKCS8vIGFzc2VydChyZXdhcmRUb2tlbklkICE9PSAwLCAidGhpcyB2YWxpZGF0b3IgZG9lc24ndCBoYXZlIGEgcmV3YXJkIHRva2VuIGRlZmluZWQiKQoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0CglpbnQgMAoJIT0KCgkvLyB0aGlzIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgYSByZXdhcmQgdG9rZW4gZGVmaW5lZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTAKCS8vIHBvb2xPbmVBcHBJZCA9IEFwcElELmZyb21VaW50NjQodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpCglpbnQgMjY4CglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDUyCgkvLyB0b2tlblJld2FyZEJhbCA9IHBvb2xPbmVBcHBJZC5hZGRyZXNzLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDIgLy8gcG9vbE9uZUFwcElkOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgktCglmcmFtZV9idXJ5IDMgLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU1CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLnBheVRva2VuUmV3YXJkPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbcmVjZWl2ZXIsIHJld2FyZFRva2VuSWQsIHRva2VuUmV3YXJkQmFsXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU2CgkvLyBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQKCWZyYW1lX2RpZyAyIC8vIHBvb2xPbmVBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1NwoJLy8gbWV0aG9kQXJnczogW3JlY2VpdmVyLCByZXdhcmRUb2tlbklkLCB0b2tlblJld2FyZEJhbF0KCWZyYW1lX2RpZyAtMiAvLyByZWNlaXZlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAzIC8vIHRva2VuUmV3YXJkQmFsOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU5CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sT25lQXBwSWQuYWRkcmVzcy5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHJld2FyZFRva2VuSWQpKSA9PT0gcmV3YXJkVG9rZW5IZWxkQmFjaywKCS8vICAgICAgICdiYWxhbmNlIG9mIHJlbWFpbmluZyByZXdhcmQgdG9rZW5zIHNob3VsZCBtYXRjaCB0aGUgaGVsZCBiYWNrIGFtb3VudCcKCS8vICAgICApCglmcmFtZV9kaWcgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMSAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCT09CgoJLy8gYmFsYW5jZSBvZiByZW1haW5pbmcgcmV3YXJkIHRva2VucyBzaG91bGQgbWF0Y2ggdGhlIGhlbGQgYmFjayBhbW91bnQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDYzCgkvLyByZXR1cm4gdG9rZW5SZXdhcmRCYWw7CglmcmFtZV9kaWcgMyAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiB2b2lkCi8vCi8vIExvZ3MgdGhlIGFkZGl0aW9uIG9mIGEgbmV3IHZhbGlkYXRvciB0byB0aGUgc3lzdGVtLCBpdHMgaW5pdGlhbCBvd25lciBhbmQgbWFuYWdlcgovLwovLwovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyIHZlcmlmaWVzIHRoZSBwYXNzZWQgaW4ga2V5IChmcm9tIGEgc3Rha2luZyBwb29sIGNhbGxpbmcgdXMgdG8gdXBkYXRlIG1ldHJpY3MpIGlzIHZhbGlkCi8vIGFuZCBtYXRjaGVzIHRoZSBpbmZvcm1hdGlvbiB3ZSBoYXZlIGluIG91ciBzdGF0ZS4gICdGYWtlJyBwb29scyBjb3VsZCBjYWxsIHVzIHRvIHVwZGF0ZSBvdXIgZGF0YSwgYnV0IHRoZXkKLy8gY2FuJ3QgZmFrZSB0aGUgaWRzIGFuZCBtb3N0IGltcG9ydGFudGx5IGFwcGxpY2F0aW9uIGlkKCEpIG9mIHRoZSBjYWxsZXIgdGhhdCBoYXMgdG8gbWF0Y2guCnZlcmlmeVBvb2xLZXlDYWxsZXI6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2MQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS5leGlzdHMsICJ0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gdGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYyCgkvLyBhc3NlcnQocG9vbEtleS5wb29sSWQgPD0gTUFYX1BPT0xTLCAncG9vbCBpZCBub3QgaW4gdmFsaWQgcmFuZ2UnKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMjQKCTw9CgoJLy8gcG9vbCBpZCBub3QgaW4gdmFsaWQgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYzCgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sS2V5LnBvb2xJZCA+IDAgJiYgKHBvb2xLZXkucG9vbElkIGFzIHVpbnQxNikgPD0gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzLAoJLy8gICAgICAgJ3Bvb2wgaWQgb3V0c2lkZSBvZiByYW5nZSBvZiBwb29scyBjcmVhdGVkIGZvciB0aGlzIHZhbGlkYXRvcicKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAwCgk+CglkdXAKCWJ6ICpza2lwX2FuZDIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDI0MgoJaW50IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJPD0KCSYmCgoqc2tpcF9hbmQyOgoJLy8gcG9vbCBpZCBvdXRzaWRlIG9mIHJhbmdlIG9mIHBvb2xzIGNyZWF0ZWQgZm9yIHRoaXMgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgcG9vbEtleS5wb29sQXBwSWQgPT09IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnBvb2xBcHBJZCwKCS8vICAgICAgICJUaGUgcGFzc2VkIGluIGFwcCBpZCBkb2Vzbid0IG1hdGNoIHRoZSBwYXNzZWQgaW4gaWRzIgoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk9PQoKCS8vIFRoZSBwYXNzZWQgaW4gYXBwIGlkIGRvZXNuJ3QgbWF0Y2ggdGhlIHBhc3NlZCBpbiBpZHMKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTc0CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNzYKCS8vIGFzc2VydChwb29sS2V5LmlkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3ZhbGlkYXRvcklkJykgYXMgdWludDY0KSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmdsb2JhbFN0YXRlKCd2YWxpZGF0b3JJZCcpCglhc3NlcnQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE3NwoJLy8gYXNzZXJ0KHBvb2xLZXkucG9vbElkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3Bvb2xJZCcpIGFzIHVpbnQ2NCkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgncG9vbElkJykKCWFzc2VydAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyByZXZlcmlmeU5GRE93bmVyc2hpcCh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogdm9pZAovLwovLyBUaGlzIG1ldGhvZCB2ZXJpZmllcyB0aGUgb3duZXJzaGlwIG9mIE5GRCAoTmFtZWQgRnVuY3Rpb24gRGF0YSkgYnkgYSB2YWxpZGF0b3IuCi8vIElmIHRoZSBvd25lcnNoaXAgaXMgbm8gbG9uZ2VyIHZhbGlkLCBpdCByZW1vdmVzIHRoZSBORkQgZnJvbSB0aGUgdmFsaWRhdG9yJ3MgY29uZmlndXJhdGlvbi4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3Igd2hvc2UgZGF0YSBzaG91bGQgYmUgcmUtZXZhbHVhdGVkLgpyZXZlcmlmeU5GRE93bmVyc2hpcDoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE4NwoJLy8gdmFsaWRhdG9yQ29uZmlnID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsaWRhdG9yQ29uZmlnCgoJLy8gKmlmMjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE4OAoJLy8gdmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8gIT09IDAKCWludCA3MgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJIT0KCWJ6ICppZjI4X2VuZAoKCS8vICppZjI4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTkxCgkvLyBuZmRPd25lciA9IEFwcElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKSBhcyBBZGRyZXNzCglpbnQgNzIKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEgLy8gbmZkT3duZXI6IGFkZHJlc3MKCgkvLyAqaWYyOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTkzCgkvLyB2YWxpZGF0b3JDb25maWcub3duZXIgIT09IG5mZE93bmVyICYmIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyICE9PSBuZmRPd25lcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQzCglpbnQgNDAKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJJiYKCipza2lwX2FuZDM6CglieiAqaWYyOV9lbmQKCgkvLyAqaWYyOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE5NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IDAKCWludCA3MgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYyOV9lbmQ6CgoqaWYyOF9lbmQ6CglyZXRzdWIKCi8vIHZhbGlkYXRlQ29uZmlnKGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnKTogdm9pZAp2YWxpZGF0ZUNvbmZpZzoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjAyCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcuZW50cnlHYXRpbmdUeXBlID49IEdBVElOR19UWVBFX05PTkUgJiYgY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA8PSBHQVRJTkdfVFlQRV9DT05TVF9NQVgsCgkvLyAgICAgICAnZ2F0aW5nIHR5cGUgbm90IHZhbGlkJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnQgMAoJPj0KCWR1cAoJYnogKnNraXBfYW5kNAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludCA0Cgk8PQoJJiYKCipza2lwX2FuZDQ6CgkvLyBnYXRpbmcgdHlwZSBub3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjA2CgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcuZXBvY2hSb3VuZExlbmd0aCA+PSBNSU5fRVBPQ0hfTEVOR1RIICYmIGNvbmZpZy5lcG9jaFJvdW5kTGVuZ3RoIDw9IE1BWF9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICAnZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnQgMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kNQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnQgMTAwMDAwMAoJPD0KCSYmCgoqc2tpcF9hbmQ1OgoJLy8gZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjEwCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yID49IE1JTl9QQ1RfVE9fVkFMSURBVE9SICYmIGNvbmZpZy5wZXJjZW50VG9WYWxpZGF0b3IgPD0gTUFYX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICAnY29tbWlzc2lvbiBwZXJjZW50YWdlIG5vdCB2YWxpZCcKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAwCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ2CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAxMDAwMDAwCgk8PQoJJiYKCipza2lwX2FuZDY6CgkvLyBjb21taXNzaW9uIHBlcmNlbnRhZ2Ugbm90IHZhbGlkCglhc3NlcnQKCgkvLyAqaWYzMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjE0CgkvLyBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yICE9PSAwCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAwCgkhPQoJYnogKmlmMzBfZW5kCgoJLy8gKmlmMzBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMTUKCS8vIGFzc2VydCgKCS8vICAgICAgICAgY29uZmlnLnZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzLAoJLy8gICAgICAgICAndmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBzZXQgaWYgcGVyY2VudCB0byB2YWxpZGF0b3IgaXMgbm90IDAnCgkvLyAgICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTc3IDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBzZXQgaWYgcGVyY2VudCB0byB2YWxpZGF0b3IgaXMgbm90IDAKCWFzc2VydAoKKmlmMzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMjAKCS8vIGFzc2VydChjb25maWcubWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIwOSA4CglidG9pCglpbnQgMTAwMDAwMAoJPj0KCgkvLyBzdGFraW5nIHBvb2wgbXVzdCBoYXZlIG1pbmltdW0gZW50cnkgb2YgMSBhbGdvCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyMgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgY29uZmlnLnBvb2xzUGVyTm9kZSA+IDAgJiYgY29uZmlnLnBvb2xzUGVyTm9kZSA8PSBNQVhfUE9PTFNfUEVSX05PREUsCgkvLyAgICAgICAnbnVtYmVyIG9mIHBvb2xzIHBlciBub2RlIGV4Y2VlZHMgYWxsb3dlZCBudW1iZXInCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNSAxCglidG9pCglpbnQgMAoJPgoJZHVwCglieiAqc2tpcF9hbmQ3CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjI1IDEKCWJ0b2kKCWludCAzCgk8PQoJJiYKCipza2lwX2FuZDc6CgkvLyBudW1iZXIgb2YgcG9vbHMgcGVyIG5vZGUgZXhjZWVkcyBhbGxvd2VkIG51bWJlcgoJYXNzZXJ0CgoJLy8gKmlmMzFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyNgoJLy8gY29uZmlnLnN1bnNldHRpbmdPbiAhPT0gMAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNiA4CglidG9pCglpbnQgMAoJIT0KCWJ6ICppZjMxX2VuZAoKCS8vICppZjMxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjI3CgkvLyBhc3NlcnQoY29uZmlnLnN1bnNldHRpbmdPbiA+IGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wLCAnc3Vuc2V0dGluZ09uIG11c3QgYmUgbGF0ZXIgdGhhbiBub3cgaWYgc2V0JykKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMjYgOAoJYnRvaQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJPgoKCS8vIHN1bnNldHRpbmdPbiBtdXN0IGJlIGxhdGVyIHRoYW4gbm93IGlmIHNldAoJYXNzZXJ0CgoqaWYzMV9lbmQ6CglyZXRzdWIKCi8vIGNhbGxQb29sQWRkU3Rha2Uoc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuLCBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBtYnJBbXRQYWlkOiB1aW50NjQsIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2xlYW4sIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbik6IHZvaWQKLy8KLy8gQWRkcyBhIHN0YWtlcnMgYW1vdW50IG9mIGFsZ28gdG8gYSB2YWxpZGF0b3IgcG9vbCwgdHJhbnNmZXJyaW5nIHRoZSBhbGdvIHdlIHJlY2VpdmVkIGZyb20gdGhlbSAoYWxyZWFkeSB2ZXJpZmllZAovLyBieSBvdXIgY2FsbGVyKSB0byB0aGUgc3Rha2luZyBwb29sIGFjY291bnQsIGFuZCB0aGVuIHRlbGxpbmcgaXQgYWJvdXQgdGhlIGFtb3VudCBiZWluZyBhZGRlZCBmb3IgdGhlIHNwZWNpZmllZAovLyBzdGFrZXIuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sS2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsaWRhdG9yIHBvb2wuCi8vIEBwYXJhbSB7dWludDY0fSBtYnJBbXRQYWlkIC0gQW1vdW50IHRoZSB1c2VyIGlzIGxlYXZpbmcgYmVoaW5kIGluIHRoZSB2YWxpZGF0b3IgdG8gcGF5IGZvciB0aGVpciBzdGFrZXIgTUJSIGNvc3QKLy8gQHBhcmFtIHtib29sZWFufSBpc05ld1N0YWtlclRvVmFsaWRhdG9yIC0gaWYgdGhpcyBpcyBhIG5ldywgZmlyc3QtdGltZSBzdGFrZXIgdG8gdGhlIHZhbGlkYXRvcgovLyBAcGFyYW0ge2Jvb2xlYW59IGlzTmV3U3Rha2VyVG9Qcm90b2NvbCAtIGlmIHRoaXMgaXMgYSBuZXcsIGZpcnN0LXRpbWUgc3Rha2VyIHRvIHRoZSBwcm90b2NvbApjYWxsUG9vbEFkZFN0YWtlOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjQ5CgkvLyBwb29sQXBwSWQgPSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS5wb29sQXBwSWQKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1MwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5hZGRTdGFrZSwgdWludDY0Pih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgLy8gVEhJUyBJUyBBIFNFTkQgb2YgdGhlIGFtb3VudCByZWNlaXZlZCByaWdodCBiYWNrIG91dCBhbmQgaW50byB0aGUgc3Rha2luZyBwb29sIGNvbnRyYWN0IGFjY291bnQuCgkvLyAgICAgICAgIHsgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQsIHJlY2VpdmVyOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuYWRkcmVzcyB9LAoJLy8gICAgICAgICAvLyA9PT09PT09CgkvLyAgICAgICAgIHN0YWtlZEFtb3VudFBheW1lbnQuc2VuZGVyLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyByZWNlaXZlcjogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1NAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpCglmcmFtZV9kaWcgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTUKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgLy8gPT09PT09PQoJLy8gICAgICAgICAvLyBUSElTIElTIEEgU0VORCBvZiB0aGUgYW1vdW50IHJlY2VpdmVkIHJpZ2h0IGJhY2sgb3V0IGFuZCBpbnRvIHRoZSBzdGFraW5nIHBvb2wgY29udHJhY3QgYWNjb3VudC4KCS8vICAgICAgICAgeyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZCwgcmVjZWl2ZXI6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5hZGRyZXNzIH0sCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgc3Rha2VkQW1vdW50UGF5bWVudC5zZW5kZXIsCgkvLyAgICAgICBdCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglidG9pCgoJLy8gKmlmMzJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2MwoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCA1MDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCA1MDAKCTwKCWJ6ICppZjMyX2VuZAoKCS8vICppZjMyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjY0CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWYzMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2OAoJLy8gcG9vbE51bVN0YWtlcnMgPSBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ251bVN0YWtlcnMnKSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdudW1TdGFrZXJzJykKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xOdW1TdGFrZXJzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2OQoJLy8gcG9vbEFsZ29TdGFrZWQgPSBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3N0YWtlZCcpIGFzIHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3N0YWtlZCcpCglhc3NlcnQKCWZyYW1lX2J1cnkgMiAvLyBwb29sQWxnb1N0YWtlZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsU3Rha2VycyA9IHBvb2xOdW1TdGFrZXJzIGFzIHVpbnQxNgoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDggLy8gaGVhZE9mZnNldAoJKwoJZnJhbWVfZGlnIDEgLy8gcG9vbE51bVN0YWtlcnM6IHVpbnQ2NAoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjcxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgPSBwb29sQWxnb1N0YWtlZAoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWZyYW1lX2RpZyAyIC8vIHBvb2xBbGdvU3Rha2VkOiB1aW50NjQKCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vICppZjMzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzQKCS8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IKCWZyYW1lX2RpZyAtNCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sZWFuCglieiAqaWYzM19lbmQKCgkvLyAqaWYzM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsU3Rha2VycyArPSAxCglpbnQgMjQ0CglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludCAxCgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjMzX2VuZDoKCS8vICppZjM0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzcKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbAoJZnJhbWVfZGlnIC01IC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbgoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzgKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSArPSAxCglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCSsKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoqaWYzNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4MAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCArPSBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQKCWludCAyNTIKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4MQoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyB1cGRhdGVTdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IHZvaWQKdXBkYXRlU3Rha2VyUG9vbFNldDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NQoJLy8gYXNzZXJ0KHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cykKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NwoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDAgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg4CgkvLyBmaXJzdEVtcHR5ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzc6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OQoJLy8gaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgNgoJPAoJYnogKmZvcl83X2VuZAoKCS8vICppZjM1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTAKCS8vIHBvb2xTZXRbaV0gPT09IHBvb2xLZXkKCWZyYW1lX2RpZyAwIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5Cgk9PQoJYnogKmlmMzVfZW5kCgoJLy8gKmlmMzVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTIKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmMzVfZW5kOgoJLy8gKmlmMzZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5NAoJLy8gZmlyc3RFbXB0eSA9PT0gMCAmJiBwb29sU2V0W2ldLmlkID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJZHVwCglieiAqc2tpcF9hbmQ4CglmcmFtZV9kaWcgMCAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMAoJPT0KCSYmCgoqc2tpcF9hbmQ4OgoJYnogKmlmMzZfZW5kCgoJLy8gKmlmMzZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTUKCS8vIGZpcnN0RW1wdHkgPSBpICsgMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoKKmlmMzZfZW5kOgoKKmZvcl83X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODkKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzcKCipmb3JfN19lbmQ6CgkvLyAqaWYzN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjk4CgkvLyBmaXJzdEVtcHR5ID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmMzdfZW5kCgoJLy8gKmlmMzdfY29uc2VxdWVudAoJLy8gTm8gZW1wdHkgc2xvdCBhdmFpbGFibGUgaW4gdGhlIHN0YWtlciBwb29sIHNldAoJZXJyCgoqaWYzN19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMwMQoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWVbZmlyc3RFbXB0eSAtIDFdID0gcG9vbEtleQoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnQgMQoJLQoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIHJlbW92ZUZyb21TdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFtib29sZWFuLCBib29sZWFuXQovLwovLyBSZW1vdmVzIGEgcG9vbCBrZXkgZnJvbSB0aGUgc3Rha2VyJ3MgYWN0aXZlIHBvb2wgc2V0IC0gZmFpbHMgaWYgbm90IGZvdW5kICghKQovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFRoZSBwb29sIGtleSB0aGV5IHNob3VsZCBiZSBzdG9yZWQgaW4KLy8KLy8gQHJldHVybiBbYm9vbGVhbiwgYm9vbGVhbl0gW2lzIHRoZSBzdGFrZXIgZ29uZSBmcm9tIEFMTCBwb29scyBvZiB0aGUgZ2l2ZW4gVkFMSURBVE9SLCBhbmQgaXMgc3Rha2VyIGdvbmUgZnJvbSBBTEwgcG9vbHNdCnJlbW92ZUZyb21TdGFrZXJQb29sU2V0OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE0CgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTUKCS8vIGluQW55UG9vbENvdW50ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTYKCS8vIGZvdW5kID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOAoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfODoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpIDwgdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCA2Cgk8CglieiAqZm9yXzhfZW5kCgoJLy8gKmlmMzhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyMAoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJaW50IDAKCT09CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgliICpmb3JfOF9jb250aW51ZQoKKmlmMzhfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjMKCS8vIGluQW55UG9vbENvdW50ICs9IDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gaW5BbnlQb29sQ291bnQ6IHVpbnQ2NAoKCS8vICppZjM5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjQKCS8vIHBvb2xTZXRbaV0uaWQgPT09IHBvb2xLZXkuaWQKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vICppZjQwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjUKCS8vIHBvb2xTZXRbaV0gPT09IHBvb2xLZXkKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5Cgk9PQoJYnogKmlmNDBfZWxzZQoKCS8vICppZjQwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI2CgkvLyBmb3VuZCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyOAoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWVbaV0gPSB7IGlkOiAwLCBwb29sSWQ6IDAsIHBvb2xBcHBJZDogMCB9CglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgliICppZjQwX2VuZAoKKmlmNDBfZWxzZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzMwCgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCippZjQwX2VuZDoKCippZjM5X2VuZDoKCipmb3JfOF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpICs9IDEKCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCWIgKmZvcl84CgoqZm9yXzhfZW5kOgoJLy8gKmlmNDFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzNAoJLy8gIWZvdW5kCglmcmFtZV9kaWcgMiAvLyBmb3VuZDogYm9vbAoJIQoJYnogKmlmNDFfZW5kCgoJLy8gKmlmNDFfY29uc2VxdWVudAoJLy8gTm8gbWF0Y2hpbmcgc2xvdCBmb3VuZCB3aGVuIHRvbGQgdG8gcmVtb3ZlIGEgcG9vbCBmcm9tIHRoZSBzdGFrZXJzIHNldAoJZXJyCgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzOAoJLy8gcmV0dXJuIFtpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPT09IDAsIGluQW55UG9vbENvdW50ID09PSAwXTsKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CglpbnQgMAoJPT0KCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludCAwCgk9PQoJc2V0Yml0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgovLyBhZGRQb29sVG9Ob2RlKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHBvb2xBcHBJZDogdWludDY0LCBub2RlTnVtOiB1aW50NjQpOiB2b2lkCmFkZFBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDIKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnQgOTAwIC8vIGhlYWRPZmZzZXQKCWludCAxOTIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQzCgkvLyBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcucG9vbHNQZXJOb2RlIGFzIHVpbnQ2NAoJaW50IDIyNQoJaW50IDEKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDUKCS8vIGFzc2VydChub2RlTnVtID49IDEgJiYgbm9kZU51bSA8PSBNQVhfTk9ERVMsICdub2RlIG51bWJlciBub3QgaW4gdmFsaWQgcmFuZ2UnKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50IDEKCT49CglkdXAKCWJ6ICpza2lwX2FuZDkKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCA4Cgk8PQoJJiYKCipza2lwX2FuZDk6CgkvLyBub2RlIG51bWJlciBub3QgaW4gdmFsaWQgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3I7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzk6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0NwoJLy8gaSA8IG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3IKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcjogdWludDY0Cgk8CglieiAqZm9yXzlfZW5kCgoJLy8gKmlmNDJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0OAoJLy8gbm9kZVBvb2xBc3NpZ25tZW50cy5ub2Rlc1tub2RlTnVtIC0gMV0ucG9vbEFwcElkc1tpXSA9PT0gMAoJZnJhbWVfZGlnIDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoJaW50IDAKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjQyX2VuZAoKCS8vICppZjQyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzUwCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbbm9kZU51bSAtIDFdLnBvb2xBcHBJZHNbaV0gPSBwb29sQXBwSWQKCWludCA5MDAKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzUxCgkvLyByZXR1cm47CglyZXRzdWIKCippZjQyX2VuZDoKCipmb3JfOV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl85CgoqZm9yXzlfZW5kOgoJLy8gbm8gYXZhaWxhYmxlIHNwYWNlIGluIHNwZWNpZmllZCBub2RlIGZvciB0aGlzIHBvb2wKCWVycgoJcmV0c3ViCgovLyBkb2VzU3Rha2VyTWVldEdhdGluZyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQpOiB2b2lkCi8vCi8vIENoZWNrcyBpZiBhIHN0YWtlciBtZWV0cyB0aGUgZ2F0aW5nIHJlcXVpcmVtZW50cyBzcGVjaWZpZWQgYnkgdGhlIHZhbGlkYXRvci4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWx1ZVRvVmVyaWZ5IC0gVGhlIHZhbHVlIHRvIHZlcmlmeSBhZ2FpbnN0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzLgovLyBAcmV0dXJucyB7dm9pZH0gb3IgYXNzZXJ0cyBpZiByZXF1aXJlbWVudHMgbm90IG1ldC4KZG9lc1N0YWtlck1lZXRHYXRpbmc6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNjUKCS8vIHR5cGUgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ1R5cGUKCWludCA4MAoJaW50IDEKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gdHlwZTogdWludDgKCgkvLyAqaWY0M19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY2CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9OT05FCglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDAKCT09CglieiAqaWY0M19lbmQKCgkvLyAqaWY0M19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2NwoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWY0M19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2OQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDEgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNzAKCS8vIGNvbmZpZyA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnKQoJaW50IDAKCWludCAyNDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzc0CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVFNfQ1JFQVRFRF9CWSB8fAoJLy8gICAgICAgdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRfSUQgfHwKCS8vICAgICAgIHR5cGUgPT09IEdBVElOR19UWVBFX0NSRUFURURfQllfTkZEX0FERFJFU1NFUwoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludCAxCgk9PQoJZHVwCglibnogKnNraXBfb3I0CglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDIKCT09Cgl8fAoKKnNraXBfb3I0OgoJZHVwCglibnogKnNraXBfb3I1CglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDMKCT09Cgl8fAoKKnNraXBfb3I1OgoJYnogKmlmNDRfZW5kCgoJLy8gKmlmNDRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNzgKCS8vIGFzc2VydCh2YWx1ZVRvVmVyaWZ5ICE9PSAwKQoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3OQoJLy8gYmFsUmVxdWlyZWQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5nYXRpbmdBc3NldE1pbkJhbGFuY2UKCWludCAxNDUKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCgkvLyAqaWY0NV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzgwCgkvLyBiYWxSZXF1aXJlZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWY0NV9lbmQKCgkvLyAqaWY0NV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4MQoJLy8gYmFsUmVxdWlyZWQgPSAxCglpbnQgMQoJZnJhbWVfYnVyeSAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCippZjQ1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzgzCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHN0YWtlci5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpKSA+PSBiYWxSZXF1aXJlZCwKCS8vICAgICAgICAgJ211c3QgaGF2ZSByZXF1aXJlZCBtaW5pbXVtIGJhbGFuY2Ugb2YgdmFsaWRhdG9yIGRlZmluZWQgdG9rZW4gdG8gYWRkIHN0YWtlJwoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDEgLy8gc3Rha2VyOiBhZGRyZXNzCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoJPj0KCgkvLyBtdXN0IGhhdmUgcmVxdWlyZWQgbWluaW11bSBiYWxhbmNlIG9mIHZhbGlkYXRvciBkZWZpbmVkIHRva2VuIHRvIGFkZCBzdGFrZQoJYXNzZXJ0CgoqaWY0NF9lbmQ6CgkvLyAqaWY0Nl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzg4CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVFNfQ1JFQVRFRF9CWQoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludCAxCgk9PQoJYnogKmlmNDZfZW5kCgoJLy8gKmlmNDZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpLmNyZWF0b3IgPT09IGNvbmZpZy5lbnRyeUdhdGluZ0FkZHJlc3MsCgkvLyAgICAgICAgICdzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBjcmVhdGVkIGJ5IGNyZWF0b3IgdGhhdCB0aGUgdmFsaWRhdG9yIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZScKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDgxIDMyCgk9PQoKCS8vIHNwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IHRoZSB2YWxpZGF0b3IgZGVmaW5lZCBhcyBhIHJlcXVpcmVtZW50IHRvIHN0YWtlCglhc3NlcnQKCippZjQ2X2VuZDoKCS8vICppZjQ3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTQKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX0FTU0VUX0lECglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDIKCT09CglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NQoJLy8gYXNzZXJ0KHZhbHVlVG9WZXJpZnkgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglpbnQgMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk2CgkvLyBmb3VuZCA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSA0IC8vIGZvdW5kOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTcKCS8vIGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0cwoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTEzIDMyCglkdXAKCWZyYW1lX2J1cnkgNSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTgKCS8vIHZhbHVlVG9WZXJpZnkgPT09IGFzc2V0SWQKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGFzc2V0SWQ6IHVpbnQ2NAoJPT0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk5CgkvLyBmb3VuZCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDQgLy8gZm91bmQ6IGJvb2wKCWIgKmZvck9mXzBfZW5kCgoqaWY0OF9lbmQ6CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMzIgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyA1IC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwMwoJLy8gYXNzZXJ0KGZvdW5kLCAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgaWRlbnRpY2FsIHRvIHRoZSBhc3NldCBpZCBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UnKQoJZnJhbWVfZGlnIDQgLy8gZm91bmQ6IGJvb2wKCgkvLyBzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBpZGVudGljYWwgdG8gdGhlIGFzc2V0IGlkIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZQoJYXNzZXJ0CgoqaWY0N19lbmQ6CgkvLyAqaWY0OV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA1CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnQgMwoJPT0KCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA4CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSwgQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpLmNyZWF0b3IpLAoJLy8gICAgICAgICAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgY3JlYXRlZCBieSBjcmVhdG9yIHRoYXQgaXMgb25lIG9mIHRoZSBsaW5rZWQgYWRkcmVzc2VzIGluIGFuIG5mZCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoKCS8vIHNwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IGlzIG9uZSBvZiB0aGUgbGlua2VkIGFkZHJlc3NlcyBpbiBhbiBuZmQKCWFzc2VydAoKKmlmNDlfZW5kOgoJLy8gKmlmNTBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxMwoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfU0VHTUVOVF9PRl9ORkQKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnQgNAoJPT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE1CgkvLyB1c2VyT2ZmZXJlZE5GREFwcElEID0gdmFsdWVUb1ZlcmlmeQoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfYnVyeSA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE2CgkvLyBhc3NlcnQodGhpcy5pc05GREFwcElEVmFsaWQodXNlck9mZmVyZWRORkRBcHBJRCksICdwcm92aWRlZCBORkQgbXVzdCBiZSB2YWxpZCcpCglmcmFtZV9kaWcgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCWNhbGxzdWIgaXNORkRBcHBJRFZhbGlkCgoJLy8gcHJvdmlkZWQgTkZEIG11c3QgYmUgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE5CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHJhd0J5dGVzKEFwcElELmZyb21VaW50NjQodXNlck9mZmVyZWRORkRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpIGFzIEFkZHJlc3MpID09PSByYXdCeXRlcyhzdGFrZXIpIHx8CgkvLyAgICAgICAgICAgdGhpcy5pc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QodXNlck9mZmVyZWRORkRBcHBJRCwgc3Rha2VyKSwKCS8vICAgICAgICAgInByb3ZpZGVkIG5mZCBmb3IgZW50cnkgaXNuJ3Qgb3duZWQgb3IgbGlua2VkIHRvIHRoZSBzdGFrZXIiCgkvLyAgICAgICApCglmcmFtZV9kaWcgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCWJ5dGUgMHg2OTJlNmY3NzZlNjU3MjJlNjEgLy8gImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9kaWcgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjYKCWZyYW1lX2RpZyAxIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoJfHwKCipza2lwX29yNjoKCS8vIHByb3ZpZGVkIG5mZCBmb3IgZW50cnkgaXNuJ3Qgb3duZWQgb3IgbGlua2VkIHRvIHRoZSBzdGFrZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDI2CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIGJ0b2koQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5wYXJlbnRBcHBJRCcpIGFzIGJ5dGVzKSA9PT0KCS8vICAgICAgICAgICBjb25maWcuZW50cnlHYXRpbmdBc3NldHNbMF0sCgkvLyAgICAgICAgICdzcGVjaWZpZWQgbmZkIG11c3QgYmUgYSBzZWdtZW50IG9mIHRoZSBuZmQgdGhlIHZhbGlkYXRvciBzcGVjaWZpZWQgYXMgYSByZXF1aXJlbWVudCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJYnl0ZSAweDY5MmU3MDYxNzI2NTZlNzQ0MTcwNzA0OTQ0IC8vICJpLnBhcmVudEFwcElEIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodXNlck9mZmVyZWRORkRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kucGFyZW50QXBwSUQnKQoJYXNzZXJ0CglidG9pCglmcmFtZV9kaWcgMiAvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMTMgOAoJYnRvaQoJPT0KCgkvLyBzcGVjaWZpZWQgbmZkIG11c3QgYmUgYSBzZWdtZW50IG9mIHRoZSBuZmQgdGhlIHZhbGlkYXRvciBzcGVjaWZpZWQgYXMgYSByZXF1aXJlbWVudAoJYXNzZXJ0CgoqaWY1MF9lbmQ6CglyZXRzdWIKCi8vIGlzTkZEQXBwSURWYWxpZChuZmRBcHBJRDogdWludDY0KTogYm9vbGVhbgovLwovLyBDaGVja3MgaWYgdGhlIGdpdmVuIE5GRCBBcHAgaWQgaXMgdmFsaWQuICBVc2luZyBvbmx5IHRoZSBBcHAgaWQgdGhlcmUncyBubyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIG5hbWUgKGllOiB0aGF0IG5mZCBYIGlzIG5hbWUgWSkKLy8gU28gaXQncyBhc3N1bWVkIGZvciB0aGUgY2FsbGVyLCB0aGUgYXBwIGlkIGFsb25lIGlzIGZpbmUuICBUaGUgbmFtZSBpcyBmZXRjaGVkIGZyb20gdGhlIHNwZWNpZmllZCBhcHAgaWQgYW5kIHRoZSB0d28KLy8gdG9nZXRoZXIgYXJlIHVzZWQgZm9yIHZhbGlkaXR5IGNoZWNrIGNhbGwgdG8gdGhlIG5mZCByZWdpc3RyeS4KLy8KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElEIC0gVGhlIE5GRCBBcHAgaWQgdG8gdmVyaWZ5LgovLwovLyBAcmV0dXJucyB7Ym9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIE5GRCBBcHAgaWQgaXMgdmFsaWQsIG90aGVyd2lzZSBmYWxzZS4KaXNORkRBcHBJRFZhbGlkOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ0NQoJLy8gdXNlck9mZmVyZWRORkROYW1lID0gQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kubmFtZScpIGFzIHN0cmluZwoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWJ5dGUgMHg2OTJlNmU2MTZkNjUgLy8gImkubmFtZSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKS5nbG9iYWxTdGF0ZSgnaS5uYW1lJykKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIHVzZXJPZmZlcmVkTkZETmFtZTogc3RyaW5nCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NDcKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCB1c2VyT2ZmZXJlZE5GRE5hbWUsIGl0b2IobmZkQXBwSUQpXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ0OAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ5CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgdXNlck9mZmVyZWRORkROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGUgMHg2OTczNWY3NjYxNmM2OTY0NWY2ZTY2NjQ1ZjYxNzA3MDY5NjQgLy8gImlzX3ZhbGlkX25mZF9hcHBpZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyB1c2VyT2ZmZXJlZE5GRE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDUwCgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ1MgoJLy8gcmV0dXJuIGJ0b2kodGhpcy5pdHhuLmxhc3RMb2cpID09PSAxOwoJaXR4biBMYXN0TG9nCglidG9pCglpbnQgMQoJPT0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KG5mZEFwcElEOiB1aW50NjQsIGFkZHJUb0ZpbmQ6IEFkZHJlc3MpOiBib29sZWFuCi8vCi8vIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIGFkZHJlc3MgaXMgcHJlc2VudCBpbiBhbiBORkRzIGxpc3Qgb2YgdmVyaWZpZWQgYWRkcmVzc2VzLgovLyBUaGUgTkZEIGlzIGFzc3VtZWQgdG8gaGF2ZSBhbHJlYWR5IGJlZW4gdmFsaWRhdGVkIGFzIG9mZmljaWFsLgovLwovLyBAcGFyYW0ge3VpbnQ2NH0gbmZkQXBwSUQgLSBUaGUgTkZEIGFwcGxpY2F0aW9uIGlkLgovLyBAcGFyYW0ge0FkZHJlc3N9IGFkZHJUb0ZpbmQgLSBUaGUgYWRkcmVzcyB0byBmaW5kIGluIHRoZSB2LmNhQWxnby4wLmFzIHByb3BlcnR5Ci8vIEByZXR1cm4ge2Jvb2xlYW59IC0gYHRydWVgIGlmIHRoZSBhZGRyZXNzIGlzIHByZXNlbnQsIGBmYWxzZWAgb3RoZXJ3aXNlLgppc0FkZHJlc3NJbk5GRENBQWxnb0xpc3Q6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3JlYWRfcHJvcGVydHknLCAndi5jYUFsZ28uMC5hcyddLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY1CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY2CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsncmVhZF9wcm9wZXJ0eScsICd2LmNhQWxnby4wLmFzJ10KCWJ5dGUgMHg3MjY1NjE2NDVmNzA3MjZmNzA2NTcyNzQ3OSAvLyAicmVhZF9wcm9wZXJ0eSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4NzYyZTYzNjE0MTZjNjc2ZjJlMzAyZTYxNzMgLy8gInYuY2FBbGdvLjAuYXMiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OAoJLy8gY2FBbGdvRGF0YSA9IHRoaXMuaXR4bi5sYXN0TG9nCglpdHhuIExhc3RMb2cKCWZyYW1lX2J1cnkgMCAvLyBjYUFsZ29EYXRhOiBieXRlW10KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBjYUFsZ29EYXRhLmxlbmd0aDsgaSArPSAzMikKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzEwOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjkKCS8vIGkgPCBjYUFsZ29EYXRhLmxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBjYUFsZ29EYXRhOiBieXRlW10KCWxlbgoJPAoJYnogKmZvcl8xMF9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3MAoJLy8gYWRkciA9IGV4dHJhY3QzKGNhQWxnb0RhdGEsIGksIDMyKQoJZnJhbWVfZGlnIDAgLy8gY2FBbGdvRGF0YTogYnl0ZVtdCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludCAzMgoJZXh0cmFjdDMKCWZyYW1lX2J1cnkgMiAvLyBhZGRyOiBieXRlW10KCgkvLyAqaWY1MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDcxCgkvLyBhZGRyICE9PSByYXdCeXRlcyhnbG9iYWxzLnplcm9BZGRyZXNzKSAmJiBhZGRyID09PSByYXdCeXRlcyhhZGRyVG9GaW5kKQoJZnJhbWVfZGlnIDIgLy8gYWRkcjogYnl0ZVtdCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDEwCglmcmFtZV9kaWcgMiAvLyBhZGRyOiBieXRlW10KCWZyYW1lX2RpZyAtMiAvLyBhZGRyVG9GaW5kOiBBZGRyZXNzCgk9PQoJJiYKCipza2lwX2FuZDEwOgoJYnogKmlmNTFfZW5kCgoJLy8gKmlmNTFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NzIKCS8vIHJldHVybiB0cnVlOwoJaW50IDEKCWIgKmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdCpyZXR1cm4KCippZjUxX2VuZDoKCipmb3JfMTBfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OQoJLy8gaSArPSAzMgoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnQgMzIKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8xMAoKKmZvcl8xMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3NQoJLy8gcmV0dXJuIGZhbHNlOwoJaW50IDAKCippc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBhbGdvU2F0dXJhdGlvbkxldmVsKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBtYXhpbXVtIGFsbG93ZWQgc3Rha2UgcGVyIHZhbGlkYXRvciBiYXNlZCBvbiBhIHBlcmNlbnRhZ2Ugb2YgYWxsIGN1cnJlbnQgb25saW5lIHN0YWtlIGJlZm9yZQovLyB0aGUgdmFsaWRhdG9yIGlzIGNvbnNpZGVyZWQgc2F0dXJhdGVkIC0gd2hlcmUgcmV3YXJkcyBhcmUgZGltaW5pc2hlZC4KLy8gTk9URTogdGhpcyBmdW5jdGlvbiBpcyBkZWZpbmVkIHR3aWNlIC0gaGVyZSBhbmQgaW4gc3Rha2luZyBwb29sIGNvbnRyYWN0LiAgQm90aCBtdXN0IGJlIGlkZW50aWNhbC4KYWxnb1NhdHVyYXRpb25MZXZlbDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0ODQKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ4NgoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbb25saW5lLCBNQVhfVkFMSURBVE9SX1NPRlRfUENUX09GX09OTElORV8xREVDSU1BTF0sIFsxMDAwXSk7CglmcmFtZV9kaWcgMCAvLyBvbmxpbmU6IHVpbnQ2NAoJaW50IDEwMAoJbXVsdwoJaW50IDAKCWludCAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGxvd2VkU3Rha2UoKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgdmFsaWRhdG9yIGJhc2VkIG9uIGEgcGVyY2VudGFnZSBvZiBhbGwgY3VycmVudCBvbmxpbmUgc3Rha2UuCi8vIEFkZGluZyBzdGFrZSBpcyBjb21wbGV0ZWx5IGJsb2NrZWQgYXQgdGhpcyBhbW91bnQuCm1heEFsbG93ZWRTdGFrZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0OTQKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ5NgoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbb25saW5lLCBNQVhfVkFMSURBVE9SX0hBUkRfUENUX09GX09OTElORV8xREVDSU1BTF0sIFsxMDAwXSk7CglmcmFtZV9kaWcgMCAvLyBvbmxpbmU6IHVpbnQ2NAoJaW50IDE1MAoJbXVsdwoJaW50IDAKCWludCAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGdvQWxsb3dlZFBlclBvb2woKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgcG9vbCBhbmQgc3RpbGwgcmVjZWl2ZSBpbmNlbnRpdmVzIC0gd2UnbGwgdHJlYXQgdGhpcyBhcyB0aGUgJ21heCBwZXIgcG9vbCcKbWF4QWxnb0FsbG93ZWRQZXJQb29sOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDQKCS8vIHJldHVybiA3MF8wMDBfMDAwXzAwMF8wMDA7CglpbnQgNzBfMDAwXzAwMF8wMDBfMDAwCglyZXRzdWIKCi8vIGdldEN1cnJlbnRPbmxpbmVTdGFrZSgpOiB1aW50NjQKZ2V0Q3VycmVudE9ubGluZVN0YWtlOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDkKCS8vIHJldHVybiAyXzAwMF8wMDBfMDAwXzAwMF8wMDA7CglpbnQgMl8wMDBfMDAwXzAwMF8wMDBfMDAwCglyZXRzdWIKCi8vIG1pbkJhbGFuY2VGb3JBY2NvdW50KGNvbnRyYWN0czogdWludDY0LCBleHRyYVBhZ2VzOiB1aW50NjQsIGFzc2V0czogdWludDY0LCBsb2NhbEludHM6IHVpbnQ2NCwgbG9jYWxCeXRlczogdWludDY0LCBnbG9iYWxJbnRzOiB1aW50NjQsIGdsb2JhbEJ5dGVzOiB1aW50NjQpOiB1aW50NjQKbWluQmFsYW5jZUZvckFjY291bnQ6Cglwcm90byA3IDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTIxCgkvLyBtaW5CYWwgPSBBTEdPUkFORF9BQ0NPVU5UX01JTl9CQUxBTkNFCglpbnQgMTAwMDAwCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMgoJLy8gbWluQmFsICs9IGNvbnRyYWN0cyAqIEFQUExJQ0FUSU9OX0JBU0VfRkVFCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGNvbnRyYWN0czogdWludDY0CglpbnQgMTAwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMwoJLy8gbWluQmFsICs9IGV4dHJhUGFnZXMgKiBBUFBMSUNBVElPTl9CQVNFX0ZFRQoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBleHRyYVBhZ2VzOiB1aW50NjQKCWludCAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI0CgkvLyBtaW5CYWwgKz0gYXNzZXRzICogQVNTRVRfSE9MRElOR19GRUUKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYXNzZXRzOiB1aW50NjQKCWludCAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI1CgkvLyBtaW5CYWwgKz0gbG9jYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gbG9jYWxJbnRzOiB1aW50NjQKCWludCAyODUwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjYKCS8vIG1pbkJhbCArPSBnbG9iYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTYgLy8gZ2xvYmFsSW50czogdWludDY0CglpbnQgMjg1MDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI3CgkvLyBtaW5CYWwgKz0gbG9jYWxCeXRlcyAqIFNTQ19WQUxVRV9CWVRFUwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNSAvLyBsb2NhbEJ5dGVzOiB1aW50NjQKCWludCA1MDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjgKCS8vIG1pbkJhbCArPSBnbG9iYWxCeXRlcyAqIFNTQ19WQUxVRV9CWVRFUwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNyAvLyBnbG9iYWxCeXRlczogdWludDY0CglpbnQgNTAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI5CgkvLyByZXR1cm4gbWluQmFsOwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY29zdEZvckJveFN0b3JhZ2UodG90YWxOdW1CeXRlczogdWludDY0KTogdWludDY0CmNvc3RGb3JCb3hTdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MzYKCS8vIHJldHVybiBTQ0JPWF9QRVJCT1ggKyB0b3RhbE51bUJ5dGVzICogU0NCT1hfUEVSQllURTsKCWludCAyNTAwCglmcmFtZV9kaWcgLTEgLy8gdG90YWxOdW1CeXRlczogdWludDY0CglpbnQgNDAwCgkqCgkrCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQiCgltZXRob2QgImxvYWRTdGFraW5nQ29udHJhY3REYXRhKHVpbnQ2NCxieXRlW10pdm9pZCIKCW1ldGhvZCAiZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQiCgltZXRob2QgImdhcygpdm9pZCIKCW1ldGhvZCAiZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCgltZXRob2QgImdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiZ2V0TnVtVmFsaWRhdG9ycygpdWludDY0IgoJbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJbWV0aG9kICJnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpIgoJbWV0aG9kICJnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdIgoJbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KSIKCW1ldGhvZCAiZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sIgoJbWV0aG9kICJnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10iCgltZXRob2QgImdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCgltZXRob2QgImdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkiCgltZXRob2QgImdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NCIKCW1ldGhvZCAiYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NCIKCW1ldGhvZCAiY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImNoYW5nZVZhbGlkYXRvck5GRCh1aW50NjQsdWludDY0LHN0cmluZyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAic2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KSIKCW1ldGhvZCAic3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJbWV0aG9kICJmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKSIKCW1ldGhvZCAibW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0ICphYmlfcm91dGVfbG9hZFN0YWtpbmdDb250cmFjdERhdGEgKmFiaV9yb3V0ZV9maW5hbGl6ZVN0YWtpbmdDb250cmFjdCAqYWJpX3JvdXRlX2dhcyAqYWJpX3JvdXRlX2dldE1ickFtb3VudHMgKmFiaV9yb3V0ZV9nZXRQcm90b2NvbENvbnN0cmFpbnRzICphYmlfcm91dGVfZ2V0TnVtVmFsaWRhdG9ycyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvckNvbmZpZyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvclN0YXRlICphYmlfcm91dGVfZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyICphYmlfcm91dGVfZ2V0UG9vbHMgKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQgKmFiaV9yb3V0ZV9nZXRQb29sSW5mbyAqYWJpX3JvdXRlX2dldEN1ck1heFN0YWtlUGVyUG9vbCAqYWJpX3JvdXRlX2RvZXNTdGFrZXJOZWVkVG9QYXlNQlIgKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQgKmFiaV9yb3V0ZV9nZXRUb2tlblBheW91dFJhdGlvICphYmlfcm91dGVfZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyAqYWJpX3JvdXRlX2dldE5GRFJlZ2lzdHJ5SUQgKmFiaV9yb3V0ZV9hZGRWYWxpZGF0b3IgKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRCAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyAqYWJpX3JvdXRlX2FkZFBvb2wgKmFiaV9yb3V0ZV9hZGRTdGFrZSAqYWJpX3JvdXRlX3NldFRva2VuUGF5b3V0UmF0aW8gKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzICphYmlfcm91dGVfc3Rha2VSZW1vdmVkICphYmlfcm91dGVfZmluZFBvb2xGb3JTdGFrZXIgKmFiaV9yb3V0ZV9tb3ZlUG9vbFRvTm9kZSAqYWJpX3JvdXRlX2VtcHR5VG9rZW5SZXdhcmRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbjoKCW1ldGhvZCAidXBkYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgVXBkYXRlQXBwbGljYXRpb24KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/reti/artifacts/ValidatorRegistry.arc56_draft.json b/examples/reti/artifacts/ValidatorRegistry.arc56_draft.json
index c831ddd26..139e8b445 100644
--- a/examples/reti/artifacts/ValidatorRegistry.arc56_draft.json
+++ b/examples/reti/artifacts/ValidatorRegistry.arc56_draft.json
@@ -805,104 +805,332 @@
56
],
"structs": {
- "ValidatorInfo": {
- "config": {
- "id": "uint64",
- "owner": "address",
- "manager": "address",
- "nfdForInfo": "uint64",
- "entryGatingType": "uint8",
- "entryGatingAddress": "address",
- "entryGatingAssets": "uint64[4]",
- "gatingAssetMinBalance": "uint64",
- "rewardTokenId": "uint64",
- "rewardPerPayout": "uint64",
- "epochRoundLength": "uint32",
- "percentToValidator": "uint32",
- "validatorCommissionAddress": "address",
- "minEntryStake": "uint64",
- "maxAlgoPerPool": "uint64",
- "poolsPerNode": "uint8",
- "sunsettingOn": "uint64",
- "sunsettingTo": "uint64"
- },
- "state": {
- "numPools": "uint16",
- "totalStakers": "uint64",
- "totalAlgoStaked": "uint64",
- "rewardTokenHeldBack": "uint64"
- },
- "pools": "(uint64,uint16,uint64)[24]",
- "tokenPayoutRatio": {
- "poolPctOfWhole": "uint64[24]",
- "updatedForPayout": "uint64"
- },
- "nodePoolAssignments": {
- "nodes": "(uint64[3])[8]"
+ "ValidatorInfo": [
+ {
+ "name": "config",
+ "type": [
+ {
+ "name": "id",
+ "type": "uint64"
+ },
+ {
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "name": "manager",
+ "type": "address"
+ },
+ {
+ "name": "nfdForInfo",
+ "type": "uint64"
+ },
+ {
+ "name": "entryGatingType",
+ "type": "uint8"
+ },
+ {
+ "name": "entryGatingAddress",
+ "type": "address"
+ },
+ {
+ "name": "entryGatingAssets",
+ "type": "uint64[4]"
+ },
+ {
+ "name": "gatingAssetMinBalance",
+ "type": "uint64"
+ },
+ {
+ "name": "rewardTokenId",
+ "type": "uint64"
+ },
+ {
+ "name": "rewardPerPayout",
+ "type": "uint64"
+ },
+ {
+ "name": "epochRoundLength",
+ "type": "uint32"
+ },
+ {
+ "name": "percentToValidator",
+ "type": "uint32"
+ },
+ {
+ "name": "validatorCommissionAddress",
+ "type": "address"
+ },
+ {
+ "name": "minEntryStake",
+ "type": "uint64"
+ },
+ {
+ "name": "maxAlgoPerPool",
+ "type": "uint64"
+ },
+ {
+ "name": "poolsPerNode",
+ "type": "uint8"
+ },
+ {
+ "name": "sunsettingOn",
+ "type": "uint64"
+ },
+ {
+ "name": "sunsettingTo",
+ "type": "uint64"
+ }
+ ]
+ },
+ {
+ "name": "state",
+ "type": [
+ {
+ "name": "numPools",
+ "type": "uint16"
+ },
+ {
+ "name": "totalStakers",
+ "type": "uint64"
+ },
+ {
+ "name": "totalAlgoStaked",
+ "type": "uint64"
+ },
+ {
+ "name": "rewardTokenHeldBack",
+ "type": "uint64"
+ }
+ ]
+ },
+ {
+ "name": "pools",
+ "type": "(uint64,uint16,uint64)[24]"
+ },
+ {
+ "name": "tokenPayoutRatio",
+ "type": [
+ {
+ "name": "poolPctOfWhole",
+ "type": "uint64[24]"
+ },
+ {
+ "name": "updatedForPayout",
+ "type": "uint64"
+ }
+ ]
+ },
+ {
+ "name": "nodePoolAssignments",
+ "type": [
+ {
+ "name": "nodes",
+ "type": "(uint64[3])[8]"
+ }
+ ]
}
- },
- "MbrAmounts": {
- "addValidatorMbr": "uint64",
- "addPoolMbr": "uint64",
- "poolInitMbr": "uint64",
- "addStakerMbr": "uint64"
- },
- "Constraints": {
- "epochPayoutRoundsMin": "uint64",
- "epochPayoutRoundsMax": "uint64",
- "minPctToValidatorWFourDecimals": "uint64",
- "maxPctToValidatorWFourDecimals": "uint64",
- "minEntryStake": "uint64",
- "maxAlgoPerPool": "uint64",
- "maxAlgoPerValidator": "uint64",
- "amtConsideredSaturated": "uint64",
- "maxNodes": "uint64",
- "maxPoolsPerNode": "uint64",
- "maxStakersPerPool": "uint64"
- },
- "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/validatorRegistry.algo\").ValidatorConfig": {
- "id": "uint64",
- "owner": "address",
- "manager": "address",
- "nfdForInfo": "uint64",
- "entryGatingType": "uint8",
- "entryGatingAddress": "address",
- "entryGatingAssets": "uint64[4]",
- "gatingAssetMinBalance": "uint64",
- "rewardTokenId": "uint64",
- "rewardPerPayout": "uint64",
- "epochRoundLength": "uint32",
- "percentToValidator": "uint32",
- "validatorCommissionAddress": "address",
- "minEntryStake": "uint64",
- "maxAlgoPerPool": "uint64",
- "poolsPerNode": "uint8",
- "sunsettingOn": "uint64",
- "sunsettingTo": "uint64"
- },
- "ValidatorCurState": {
- "numPools": "uint16",
- "totalStakers": "uint64",
- "totalAlgoStaked": "uint64",
- "rewardTokenHeldBack": "uint64"
- },
- "PoolInfo": {
- "poolAppId": "uint64",
- "totalStakers": "uint16",
- "totalAlgoStaked": "uint64"
- },
- "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/validatorRegistry.algo\").ValidatorPoolKey": {
- "id": "uint64",
- "poolId": "uint64",
- "poolAppId": "uint64"
- },
- "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/validatorRegistry.algo\").PoolTokenPayoutRatio": {
- "poolPctOfWhole": "uint64[24]",
- "updatedForPayout": "uint64"
- },
- "NodePoolAssignmentConfig": {
- "nodes": "(uint64[3])[8]"
- }
+ ],
+ "MbrAmounts": [
+ {
+ "name": "addValidatorMbr",
+ "type": "uint64"
+ },
+ {
+ "name": "addPoolMbr",
+ "type": "uint64"
+ },
+ {
+ "name": "poolInitMbr",
+ "type": "uint64"
+ },
+ {
+ "name": "addStakerMbr",
+ "type": "uint64"
+ }
+ ],
+ "Constraints": [
+ {
+ "name": "epochPayoutRoundsMin",
+ "type": "uint64"
+ },
+ {
+ "name": "epochPayoutRoundsMax",
+ "type": "uint64"
+ },
+ {
+ "name": "minPctToValidatorWFourDecimals",
+ "type": "uint64"
+ },
+ {
+ "name": "maxPctToValidatorWFourDecimals",
+ "type": "uint64"
+ },
+ {
+ "name": "minEntryStake",
+ "type": "uint64"
+ },
+ {
+ "name": "maxAlgoPerPool",
+ "type": "uint64"
+ },
+ {
+ "name": "maxAlgoPerValidator",
+ "type": "uint64"
+ },
+ {
+ "name": "amtConsideredSaturated",
+ "type": "uint64"
+ },
+ {
+ "name": "maxNodes",
+ "type": "uint64"
+ },
+ {
+ "name": "maxPoolsPerNode",
+ "type": "uint64"
+ },
+ {
+ "name": "maxStakersPerPool",
+ "type": "uint64"
+ }
+ ],
+ "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/validatorRegistry.algo\").ValidatorConfig": [
+ {
+ "name": "id",
+ "type": "uint64"
+ },
+ {
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "name": "manager",
+ "type": "address"
+ },
+ {
+ "name": "nfdForInfo",
+ "type": "uint64"
+ },
+ {
+ "name": "entryGatingType",
+ "type": "uint8"
+ },
+ {
+ "name": "entryGatingAddress",
+ "type": "address"
+ },
+ {
+ "name": "entryGatingAssets",
+ "type": "uint64[4]"
+ },
+ {
+ "name": "gatingAssetMinBalance",
+ "type": "uint64"
+ },
+ {
+ "name": "rewardTokenId",
+ "type": "uint64"
+ },
+ {
+ "name": "rewardPerPayout",
+ "type": "uint64"
+ },
+ {
+ "name": "epochRoundLength",
+ "type": "uint32"
+ },
+ {
+ "name": "percentToValidator",
+ "type": "uint32"
+ },
+ {
+ "name": "validatorCommissionAddress",
+ "type": "address"
+ },
+ {
+ "name": "minEntryStake",
+ "type": "uint64"
+ },
+ {
+ "name": "maxAlgoPerPool",
+ "type": "uint64"
+ },
+ {
+ "name": "poolsPerNode",
+ "type": "uint8"
+ },
+ {
+ "name": "sunsettingOn",
+ "type": "uint64"
+ },
+ {
+ "name": "sunsettingTo",
+ "type": "uint64"
+ }
+ ],
+ "ValidatorCurState": [
+ {
+ "name": "numPools",
+ "type": "uint16"
+ },
+ {
+ "name": "totalStakers",
+ "type": "uint64"
+ },
+ {
+ "name": "totalAlgoStaked",
+ "type": "uint64"
+ },
+ {
+ "name": "rewardTokenHeldBack",
+ "type": "uint64"
+ }
+ ],
+ "PoolInfo": [
+ {
+ "name": "poolAppId",
+ "type": "uint64"
+ },
+ {
+ "name": "totalStakers",
+ "type": "uint16"
+ },
+ {
+ "name": "totalAlgoStaked",
+ "type": "uint64"
+ }
+ ],
+ "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/validatorRegistry.algo\").ValidatorPoolKey": [
+ {
+ "name": "id",
+ "type": "uint64"
+ },
+ {
+ "name": "poolId",
+ "type": "uint64"
+ },
+ {
+ "name": "poolAppId",
+ "type": "uint64"
+ }
+ ],
+ "import(\"/Users/joe/git/algorandfoundation/tealscript/examples/reti/validatorRegistry.algo\").PoolTokenPayoutRatio": [
+ {
+ "name": "poolPctOfWhole",
+ "type": "uint64[24]"
+ },
+ {
+ "name": "updatedForPayout",
+ "type": "uint64"
+ }
+ ],
+ "NodePoolAssignmentConfig": [
+ {
+ "name": "nodes",
+ "type": "(uint64[3])[8]"
+ }
+ ]
},
"state": {
"schema": {
@@ -968,27574 +1196,27577 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 168,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183
- ]
- },
- {
- "teal": 9,
- "source": 168,
- "pc": [
- 184,
- 185
- ]
- },
- {
- "teal": 10,
- "source": 168,
- "pc": [
- 186
- ]
- },
- {
- "teal": 11,
- "source": 168,
- "pc": [
- 187,
- 188
- ]
- },
- {
- "teal": 18,
- "source": 168,
- "pc": [
- 189,
- 190
- ]
- },
- {
- "teal": 19,
- "source": 168,
- "pc": [
- 191
- ]
- },
- {
- "teal": 20,
- "source": 168,
- "pc": [
- 192,
- 193
- ]
- },
- {
- "teal": 21,
- "source": 168,
- "pc": [
- 194
- ]
- },
- {
- "teal": 22,
- "source": 168,
- "pc": [
- 195,
- 196
- ]
- },
- {
- "teal": 23,
- "source": 168,
- "pc": [
- 197
- ]
- },
- {
- "teal": 24,
- "source": 168,
- "pc": [
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 210,
- 211,
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 223
- ]
- },
- {
- "teal": 28,
- "source": 168,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 224
- ]
- },
- {
- "teal": 33,
- "source": 201,
- "pc": [
- 225,
- 226,
- 227
- ]
- },
- {
- "teal": 34,
- "source": 201,
- "pc": [
- 228
- ]
- },
- {
- "teal": 35,
- "source": 201,
- "pc": [
- 229
- ]
- },
- {
- "teal": 39,
- "source": 201,
- "pc": [
- 230,
- 231,
- 232
- ]
- },
- {
- "teal": 43,
- "source": 202,
- "pc": [
- 233,
- 234
- ]
- },
- {
- "teal": 44,
- "source": 202,
- "pc": [
- 235,
- 236,
- 237,
- 238,
- 239,
- 240,
- 241,
- 242,
- 243,
- 244,
- 245,
- 246,
- 247,
- 248,
- 249,
- 250,
- 251,
- 252,
- 253,
- 254,
- 255,
- 256,
- 257,
- 258,
- 259,
- 260,
- 261,
- 262,
- 263,
- 264,
- 265,
- 266,
- 267,
- 268
- ]
- },
- {
- "teal": 45,
- "source": 202,
- "pc": [
- 269
- ]
- },
- {
- "teal": 46,
- "source": 202,
- "pc": [
- 270
- ]
- },
- {
- "teal": 50,
- "source": 204,
- "pc": [
- 271,
- 272
- ]
- },
- {
- "teal": 51,
- "source": 204,
- "pc": [
- 273
- ]
- },
- {
- "teal": 55,
- "source": 205,
- "pc": [
- 274,
- 275
- ]
- },
- {
- "teal": 56,
- "source": 205,
- "pc": [
- 276
- ]
- },
- {
- "teal": 57,
- "source": 205,
- "pc": [
- 277,
- 278
- ]
- },
- {
- "teal": 58,
- "source": 205,
- "pc": [
- 279
- ]
- },
- {
- "teal": 59,
- "source": 205,
- "pc": [
- 280,
- 281
- ]
- },
- {
- "teal": 60,
- "source": 205,
- "pc": [
- 282
- ]
- },
- {
- "teal": 61,
- "source": 205,
- "pc": [
- 283
- ]
- },
- {
- "teal": 62,
- "source": 201,
- "pc": [
- 284
- ]
- },
- {
- "teal": 67,
- "source": 208,
- "pc": [
- 285,
- 286,
- 287
- ]
- },
- {
- "teal": 68,
- "source": 208,
- "pc": [
- 288
- ]
- },
- {
- "teal": 69,
- "source": 208,
- "pc": [
- 289
- ]
- },
- {
- "teal": 73,
- "source": 208,
- "pc": [
- 290,
- 291,
- 292
- ]
- },
- {
- "teal": 77,
- "source": 209,
- "pc": [
- 293,
- 294
- ]
- },
- {
- "teal": 78,
- "source": 209,
- "pc": [
- 295
- ]
- },
- {
- "teal": 79,
- "source": 209,
- "pc": [
- 296,
- 297
- ]
- },
- {
- "teal": 80,
- "source": 209,
- "pc": [
- 298
- ]
- },
- {
- "teal": 81,
- "source": 209,
- "pc": [
- 299,
- 300
- ]
- },
- {
- "teal": 82,
- "source": 209,
- "pc": [
- 301
- ]
- },
- {
- "teal": 83,
- "source": 209,
- "pc": [
- 302
- ]
- },
- {
- "teal": 87,
- "source": 210,
- "pc": [
- 303,
- 304
- ]
- },
- {
- "teal": 88,
- "source": 210,
- "pc": [
- 305
- ]
- },
- {
- "teal": 89,
- "source": 210,
- "pc": [
- 306
- ]
- },
- {
- "teal": 93,
- "source": 211,
- "pc": [
- 307,
- 308
- ]
- },
- {
- "teal": 94,
- "source": 211,
- "pc": [
- 309
- ]
- },
- {
- "teal": 95,
- "source": 211,
- "pc": [
- 310
- ]
- },
- {
- "teal": 99,
- "source": 212,
- "pc": [
- 311,
- 312
- ]
- },
- {
- "teal": 100,
- "source": 212,
- "pc": [
- 313
- ]
- },
- {
- "teal": 101,
- "source": 212,
- "pc": [
- 314
- ]
- },
- {
- "teal": 102,
- "source": 208,
- "pc": [
- 315
- ]
- },
- {
- "teal": 107,
- "source": 215,
- "pc": [
- 316,
- 317,
- 318
- ]
- },
- {
- "teal": 108,
- "source": 215,
- "pc": [
- 319
- ]
- },
- {
- "teal": 111,
- "source": 215,
- "pc": [
- 320,
- 321,
- 322
- ]
- },
- {
- "teal": 112,
- "source": 215,
- "pc": [
- 323
- ]
- },
- {
- "teal": 113,
- "source": 215,
- "pc": [
- 324
- ]
- },
- {
- "teal": 117,
- "source": 215,
- "pc": [
- 325,
- 326,
- 327
- ]
- },
- {
- "teal": 121,
- "source": 217,
- "pc": [
- 328,
- 329
- ]
- },
- {
- "teal": 122,
- "source": 217,
- "pc": [
- 330,
- 331
- ]
- },
- {
- "teal": 123,
- "source": 217,
- "pc": [
- 332
- ]
- },
- {
- "teal": 124,
- "source": 217,
- "pc": [
- 333
- ]
- },
- {
- "teal": 125,
- "source": 215,
- "pc": [
- 334
- ]
- },
- {
- "teal": 130,
- "source": 220,
- "pc": [
- 335,
- 336,
- 337
- ]
- },
- {
- "teal": 131,
- "source": 220,
- "pc": [
- 338,
- 339,
- 340
- ]
- },
- {
- "teal": 134,
- "source": 220,
- "pc": [
- 341,
- 342,
- 343
- ]
- },
- {
- "teal": 135,
- "source": 220,
- "pc": [
- 344
- ]
- },
- {
- "teal": 138,
- "source": 220,
- "pc": [
- 345,
- 346,
- 347
- ]
- },
- {
- "teal": 139,
- "source": 220,
- "pc": [
- 348
- ]
- },
- {
- "teal": 140,
- "source": 220,
- "pc": [
- 349
- ]
- },
- {
- "teal": 144,
- "source": 220,
- "pc": [
- 350,
- 351,
- 352
- ]
- },
- {
- "teal": 148,
- "source": 221,
- "pc": [
- 353,
- 354
- ]
- },
- {
- "teal": 149,
- "source": 221,
- "pc": [
- 355
- ]
- },
- {
- "teal": 150,
- "source": 221,
- "pc": [
- 356
- ]
- },
- {
- "teal": 151,
- "source": 221,
- "pc": [
- 357
- ]
- },
- {
- "teal": 152,
- "source": 221,
- "pc": [
- 358
- ]
- },
- {
- "teal": 153,
- "source": 221,
- "pc": [
- 359
- ]
- },
- {
- "teal": 157,
- "source": 222,
- "pc": [
- 360,
- 361
- ]
- },
- {
- "teal": 158,
- "source": 222,
- "pc": [
- 362,
- 363
- ]
- },
- {
- "teal": 159,
- "source": 222,
- "pc": [
- 364,
- 365
- ]
- },
- {
- "teal": 160,
- "source": 222,
- "pc": [
- 366
- ]
- },
- {
- "teal": 161,
- "source": 220,
- "pc": [
- 367
- ]
- },
- {
- "teal": 166,
- "source": 225,
- "pc": [
- 368,
- 369,
- 370
- ]
- },
- {
- "teal": 167,
- "source": 225,
- "pc": [
- 371
- ]
- },
- {
- "teal": 168,
- "source": 225,
- "pc": [
- 372
- ]
- },
- {
- "teal": 172,
- "source": 225,
- "pc": [
- 373,
- 374,
- 375
- ]
- },
- {
- "teal": 176,
- "source": 226,
- "pc": [
- 376,
- 377
- ]
- },
- {
- "teal": 177,
- "source": 226,
- "pc": [
- 378
- ]
- },
- {
- "teal": 178,
- "source": 226,
- "pc": [
- 379,
- 380
- ]
- },
- {
- "teal": 179,
- "source": 226,
- "pc": [
- 381
- ]
- },
- {
- "teal": 180,
- "source": 226,
- "pc": [
- 382,
- 383
- ]
- },
- {
- "teal": 181,
- "source": 226,
- "pc": [
- 384
- ]
- },
- {
- "teal": 182,
- "source": 226,
- "pc": [
- 385
- ]
- },
- {
- "teal": 183,
- "source": 225,
- "pc": [
- 386
- ]
- },
- {
- "teal": 188,
- "source": 232,
- "pc": [
- 387,
- 388,
- 389
- ]
- },
- {
- "teal": 189,
- "source": 232,
- "pc": [
- 390
- ]
- },
- {
- "teal": 190,
- "source": 232,
- "pc": [
- 391
- ]
- },
- {
- "teal": 196,
- "source": 232,
- "pc": [
- 392,
- 393,
- 394
- ]
- },
- {
- "teal": 197,
- "source": 232,
- "pc": [
- 395
- ]
- },
- {
- "teal": 202,
- "source": 243,
- "pc": [
- 396
- ]
- },
- {
- "teal": 205,
- "source": 243,
- "pc": [
- 397,
- 398,
- 399
- ]
- },
- {
- "teal": 206,
- "source": 243,
- "pc": [
- 400
- ]
- },
- {
- "teal": 207,
- "source": 243,
- "pc": [
- 401
- ]
- },
- {
- "teal": 208,
- "source": 243,
- "pc": [
- 402
- ]
- },
- {
- "teal": 209,
- "source": 243,
- "pc": [
- 403
- ]
- },
- {
- "teal": 221,
- "source": 243,
- "pc": [
- 404,
- 405,
- 406
- ]
- },
- {
- "teal": 244,
- "source": 247,
- "pc": [
- 407,
- 408,
- 409
- ]
- },
- {
- "teal": 245,
- "source": 247,
- "pc": [
- 410,
- 411,
- 412
- ]
- },
- {
- "teal": 246,
- "source": 247,
- "pc": [
- 413
- ]
- },
- {
- "teal": 247,
- "source": 257,
- "pc": [
- 414,
- 415
- ]
- },
- {
- "teal": 248,
- "source": 256,
- "pc": [
- 416,
- 417
- ]
- },
- {
- "teal": 249,
- "source": 255,
- "pc": [
- 418
- ]
- },
- {
- "teal": 250,
- "source": 255,
- "pc": [
- 419,
- 420
- ]
- },
- {
- "teal": 251,
- "source": 252,
- "pc": [
- 421,
- 422
- ]
- },
- {
- "teal": 252,
- "source": 249,
- "pc": [
- 423
- ]
- },
- {
- "teal": 253,
- "source": 248,
- "pc": [
- 424,
- 425,
- 426
- ]
- },
- {
- "teal": 254,
- "source": 248,
- "pc": [
- 427
- ]
- },
- {
- "teal": 255,
- "source": 248,
- "pc": [
- 428
- ]
- },
- {
- "teal": 256,
- "source": 260,
- "pc": [
- 429,
- 430
- ]
- },
- {
- "teal": 257,
- "source": 261,
- "pc": [
- 431,
- 432,
- 433
- ]
- },
- {
- "teal": 258,
- "source": 261,
- "pc": [
- 434,
- 435,
- 436
- ]
- },
- {
- "teal": 259,
- "source": 260,
- "pc": [
- 437
- ]
- },
- {
- "teal": 260,
- "source": 260,
- "pc": [
- 438
- ]
- },
- {
- "teal": 261,
- "source": 260,
- "pc": [
- 439
- ]
- },
- {
- "teal": 262,
- "source": 264,
- "pc": [
- 440,
- 441,
- 442
- ]
- },
- {
- "teal": 263,
- "source": 264,
- "pc": [
- 443,
- 444,
- 445
- ]
- },
- {
- "teal": 264,
- "source": 264,
- "pc": [
- 446
- ]
- },
- {
- "teal": 265,
- "source": 264,
- "pc": [
- 447
- ]
- },
- {
- "teal": 266,
- "source": 243,
- "pc": [
- 448
- ]
- },
- {
- "teal": 271,
- "source": 271,
- "pc": [
- 449
- ]
- },
- {
- "teal": 274,
- "source": 271,
- "pc": [
- 450,
- 451,
- 452
- ]
- },
- {
- "teal": 275,
- "source": 271,
- "pc": [
- 453
- ]
- },
- {
- "teal": 276,
- "source": 271,
- "pc": [
- 454
- ]
- },
- {
- "teal": 277,
- "source": 271,
- "pc": [
- 455
- ]
- },
- {
- "teal": 278,
- "source": 271,
- "pc": [
- 456
- ]
- },
- {
- "teal": 284,
- "source": 271,
- "pc": [
- 457,
- 458,
- 459
- ]
- },
- {
- "teal": 300,
- "source": 277,
- "pc": [
- 460,
- 461,
- 462,
- 463,
- 464,
- 465,
- 466,
- 467,
- 468,
- 469,
- 470,
- 471,
- 472,
- 473,
- 474,
- 475,
- 476,
- 477,
- 478,
- 479,
- 480,
- 481,
- 482,
- 483,
- 484,
- 485,
- 486,
- 487,
- 488,
- 489,
- 490,
- 491,
- 492,
- 493,
- 494,
- 495,
- 496,
- 497,
- 498,
- 499,
- 500,
- 501
- ]
- },
- {
- "teal": 301,
- "source": 278,
- "pc": [
- 502,
- 503,
- 504
- ]
- },
- {
- "teal": 302,
- "source": 278,
- "pc": [
- 505
- ]
- },
- {
- "teal": 303,
- "source": 278,
- "pc": [
- 506
- ]
- },
- {
- "teal": 304,
- "source": 279,
- "pc": [
- 507,
- 508,
- 509
- ]
- },
- {
- "teal": 305,
- "source": 279,
- "pc": [
- 510
- ]
- },
- {
- "teal": 306,
- "source": 279,
- "pc": [
- 511
- ]
- },
- {
- "teal": 307,
- "source": 280,
- "pc": [
- 512,
- 513,
- 514
- ]
- },
- {
- "teal": 308,
- "source": 280,
- "pc": [
- 515
- ]
- },
- {
- "teal": 309,
- "source": 280,
- "pc": [
- 516
- ]
- },
- {
- "teal": 310,
- "source": 281,
- "pc": [
- 517,
- 518,
- 519,
- 520,
- 521,
- 522,
- 523,
- 524,
- 525,
- 526
- ]
- },
- {
- "teal": 311,
- "source": 281,
- "pc": [
- 527
- ]
- },
- {
- "teal": 312,
- "source": 282,
- "pc": [
- 528,
- 529,
- 530,
- 531,
- 532,
- 533,
- 534,
- 535,
- 536,
- 537
- ]
- },
- {
- "teal": 313,
- "source": 282,
- "pc": [
- 538
- ]
- },
- {
- "teal": 314,
- "source": 283,
- "pc": [
- 539,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548
- ]
- },
- {
- "teal": 315,
- "source": 283,
- "pc": [
- 549
- ]
- },
- {
- "teal": 316,
- "source": 271,
- "pc": [
- 550
- ]
- },
- {
- "teal": 321,
- "source": 291,
- "pc": [
- 551
- ]
- },
- {
- "teal": 324,
- "source": 291,
- "pc": [
- 552,
- 553,
- 554
- ]
- },
- {
- "teal": 325,
- "source": 291,
- "pc": [
- 555
- ]
- },
- {
- "teal": 326,
- "source": 291,
- "pc": [
- 556
- ]
- },
- {
- "teal": 327,
- "source": 291,
- "pc": [
- 557
- ]
- },
- {
- "teal": 328,
- "source": 291,
- "pc": [
- 558
- ]
- },
- {
- "teal": 329,
- "source": 291,
- "pc": [
- 559
- ]
- },
- {
- "teal": 335,
- "source": 291,
- "pc": [
- 560,
- 561,
- 562
- ]
- },
- {
- "teal": 339,
- "source": 292,
- "pc": [
- 563,
- 564
- ]
- },
- {
- "teal": 340,
- "source": 292,
- "pc": [
- 565
- ]
- },
- {
- "teal": 341,
- "source": 291,
- "pc": [
- 566
- ]
- },
- {
- "teal": 346,
- "source": 296,
- "pc": [
- 567
- ]
- },
- {
- "teal": 349,
- "source": 296,
- "pc": [
- 568,
- 569,
- 570
- ]
- },
- {
- "teal": 350,
- "source": 296,
- "pc": [
- 571
- ]
- },
- {
- "teal": 353,
- "source": 296,
- "pc": [
- 572,
- 573,
- 574
- ]
- },
- {
- "teal": 354,
- "source": 296,
- "pc": [
- 575
- ]
- },
- {
- "teal": 355,
- "source": 296,
- "pc": [
- 576
- ]
- },
- {
- "teal": 356,
- "source": 296,
- "pc": [
- 577
- ]
- },
- {
- "teal": 357,
- "source": 296,
- "pc": [
- 578
- ]
- },
- {
- "teal": 361,
- "source": 296,
- "pc": [
- 579,
- 580,
- 581
- ]
- },
- {
- "teal": 365,
- "source": 297,
- "pc": [
- 582
- ]
- },
- {
- "teal": 366,
- "source": 297,
- "pc": [
- 583,
- 584
- ]
- },
- {
- "teal": 367,
- "source": 297,
- "pc": [
- 585
- ]
- },
- {
- "teal": 368,
- "source": 297,
- "pc": [
- 586,
- 587
- ]
- },
- {
- "teal": 369,
- "source": 297,
- "pc": [
- 588
- ]
- },
- {
- "teal": 370,
- "source": 297,
- "pc": [
- 589
- ]
- },
- {
- "teal": 371,
- "source": 297,
- "pc": [
- 590,
- 591
- ]
- },
- {
- "teal": 372,
- "source": 297,
- "pc": [
- 592
- ]
- },
- {
- "teal": 373,
- "source": 296,
- "pc": [
- 593
- ]
- },
- {
- "teal": 378,
- "source": 301,
- "pc": [
- 594
- ]
- },
- {
- "teal": 381,
- "source": 301,
- "pc": [
- 595,
- 596,
- 597
- ]
- },
- {
- "teal": 382,
- "source": 301,
- "pc": [
- 598
- ]
- },
- {
- "teal": 385,
- "source": 301,
- "pc": [
- 599,
- 600,
- 601
- ]
- },
- {
- "teal": 386,
- "source": 301,
- "pc": [
- 602
- ]
- },
- {
- "teal": 387,
- "source": 301,
- "pc": [
- 603
- ]
- },
- {
- "teal": 388,
- "source": 301,
- "pc": [
- 604
- ]
- },
- {
- "teal": 389,
- "source": 301,
- "pc": [
- 605
- ]
- },
- {
- "teal": 393,
- "source": 301,
- "pc": [
- 606,
- 607,
- 608
- ]
- },
- {
- "teal": 397,
- "source": 302,
- "pc": [
- 609,
- 610
- ]
- },
- {
- "teal": 398,
- "source": 302,
- "pc": [
- 611,
- 612
- ]
- },
- {
- "teal": 399,
- "source": 302,
- "pc": [
- 613
- ]
- },
- {
- "teal": 400,
- "source": 302,
- "pc": [
- 614,
- 615
- ]
- },
- {
- "teal": 401,
- "source": 302,
- "pc": [
- 616
- ]
- },
- {
- "teal": 402,
- "source": 302,
- "pc": [
- 617
- ]
- },
- {
- "teal": 403,
- "source": 302,
- "pc": [
- 618,
- 619
- ]
- },
- {
- "teal": 404,
- "source": 302,
- "pc": [
- 620
- ]
- },
- {
- "teal": 405,
- "source": 301,
- "pc": [
- 621
- ]
- },
- {
- "teal": 410,
- "source": 306,
- "pc": [
- 622
- ]
- },
- {
- "teal": 413,
- "source": 306,
- "pc": [
- 623,
- 624,
- 625
- ]
- },
- {
- "teal": 414,
- "source": 306,
- "pc": [
- 626
- ]
- },
- {
- "teal": 417,
- "source": 306,
- "pc": [
- 627,
- 628,
- 629
- ]
- },
- {
- "teal": 418,
- "source": 306,
- "pc": [
- 630
- ]
- },
- {
- "teal": 419,
- "source": 306,
- "pc": [
- 631
- ]
- },
- {
- "teal": 420,
- "source": 306,
- "pc": [
- 632
- ]
- },
- {
- "teal": 421,
- "source": 306,
- "pc": [
- 633
- ]
- },
- {
- "teal": 425,
- "source": 306,
- "pc": [
- 634,
- 635,
- 636
- ]
- },
- {
- "teal": 429,
- "source": 307,
- "pc": [
- 637
- ]
- },
- {
- "teal": 430,
- "source": 307,
- "pc": [
- 638,
- 639
- ]
- },
- {
- "teal": 431,
- "source": 307,
- "pc": [
- 640
- ]
- },
- {
- "teal": 432,
- "source": 307,
- "pc": [
- 641,
- 642
- ]
- },
- {
- "teal": 433,
- "source": 307,
- "pc": [
- 643
- ]
- },
- {
- "teal": 434,
- "source": 307,
- "pc": [
- 644
- ]
- },
- {
- "teal": 435,
- "source": 307,
- "pc": [
- 645,
- 646
- ]
- },
- {
- "teal": 436,
- "source": 307,
- "pc": [
- 647
- ]
- },
- {
- "teal": 437,
- "source": 307,
- "pc": [
- 648,
- 649
- ]
- },
- {
- "teal": 438,
- "source": 307,
- "pc": [
- 650,
- 651
- ]
- },
- {
- "teal": 439,
- "source": 307,
- "pc": [
- 652
- ]
- },
- {
- "teal": 440,
- "source": 307,
- "pc": [
- 653,
- 654
- ]
- },
- {
- "teal": 441,
- "source": 307,
- "pc": [
- 655
- ]
- },
- {
- "teal": 442,
- "source": 307,
- "pc": [
- 656
- ]
- },
- {
- "teal": 443,
- "source": 307,
- "pc": [
- 657,
- 658
- ]
- },
- {
- "teal": 444,
- "source": 307,
- "pc": [
- 659
- ]
- },
- {
- "teal": 445,
- "source": 307,
- "pc": [
- 660
- ]
- },
- {
- "teal": 446,
- "source": 306,
- "pc": [
- 661
- ]
- },
- {
- "teal": 451,
- "source": 317,
- "pc": [
- 662
- ]
- },
- {
- "teal": 454,
- "source": 317,
- "pc": [
- 663,
- 664,
- 665
- ]
- },
- {
- "teal": 455,
- "source": 317,
- "pc": [
- 666
- ]
- },
- {
- "teal": 458,
- "source": 317,
- "pc": [
- 667,
- 668,
- 669
- ]
- },
- {
- "teal": 459,
- "source": 317,
- "pc": [
- 670
- ]
- },
- {
- "teal": 460,
- "source": 317,
- "pc": [
- 671
- ]
- },
- {
- "teal": 461,
- "source": 317,
- "pc": [
- 672,
- 673
- ]
- },
- {
- "teal": 462,
- "source": 317,
- "pc": [
- 674
- ]
- },
- {
- "teal": 463,
- "source": 317,
- "pc": [
- 675
- ]
- },
- {
- "teal": 464,
- "source": 317,
- "pc": [
- 676,
- 677,
- 678
- ]
- },
- {
- "teal": 465,
- "source": 317,
- "pc": [
- 679
- ]
- },
- {
- "teal": 466,
- "source": 317,
- "pc": [
- 680
- ]
- },
- {
- "teal": 467,
- "source": 317,
- "pc": [
- 681
- ]
- },
- {
- "teal": 468,
- "source": 317,
- "pc": [
- 682
- ]
- },
- {
- "teal": 469,
- "source": 317,
- "pc": [
- 683
- ]
- },
- {
- "teal": 470,
- "source": 317,
- "pc": [
- 684
- ]
- },
- {
- "teal": 479,
- "source": 317,
- "pc": [
- 685,
- 686,
- 687
- ]
- },
- {
- "teal": 482,
- "source": 317,
- "pc": [
- 688
- ]
- },
- {
- "teal": 483,
- "source": 317,
- "pc": [
- 689,
- 690
- ]
- },
- {
- "teal": 487,
- "source": 318,
- "pc": [
- 691
- ]
- },
- {
- "teal": 488,
- "source": 318,
- "pc": [
- 692,
- 693
- ]
- },
- {
- "teal": 492,
- "source": 319,
- "pc": [
- 694,
- 695
- ]
- },
- {
- "teal": 493,
- "source": 319,
- "pc": [
- 696,
- 697
- ]
- },
- {
- "teal": 494,
- "source": 319,
- "pc": [
- 698
- ]
- },
- {
- "teal": 495,
- "source": 319,
- "pc": [
- 699,
- 700
- ]
- },
- {
- "teal": 496,
- "source": 319,
- "pc": [
- 701
- ]
- },
- {
- "teal": 497,
- "source": 319,
- "pc": [
- 702
- ]
- },
- {
- "teal": 498,
- "source": 319,
- "pc": [
- 703,
- 704
- ]
- },
- {
- "teal": 499,
- "source": 319,
- "pc": [
- 705
- ]
- },
- {
- "teal": 500,
- "source": 319,
- "pc": [
- 706,
- 707
- ]
- },
- {
- "teal": 504,
- "source": 320,
- "pc": [
- 708
- ]
- },
- {
- "teal": 505,
- "source": 320,
- "pc": [
- 709,
- 710
- ]
- },
- {
- "teal": 510,
- "source": 320,
- "pc": [
- 711,
- 712
- ]
- },
- {
- "teal": 511,
- "source": 320,
- "pc": [
- 713
- ]
- },
- {
- "teal": 512,
- "source": 320,
- "pc": [
- 714
- ]
- },
- {
- "teal": 513,
- "source": 320,
- "pc": [
- 715,
- 716,
- 717
- ]
- },
- {
- "teal": 518,
- "source": 321,
- "pc": [
- 718,
- 719
- ]
- },
- {
- "teal": 519,
- "source": 321,
- "pc": [
- 720,
- 721
- ]
- },
- {
- "teal": 520,
- "source": 321,
- "pc": [
- 722,
- 723
- ]
- },
- {
- "teal": 521,
- "source": 321,
- "pc": [
- 724
- ]
- },
- {
- "teal": 522,
- "source": 321,
- "pc": [
- 725
- ]
- },
- {
- "teal": 523,
- "source": 321,
- "pc": [
- 726
- ]
- },
- {
- "teal": 524,
- "source": 321,
- "pc": [
- 727
- ]
- },
- {
- "teal": 525,
- "source": 321,
- "pc": [
- 728
- ]
- },
- {
- "teal": 526,
- "source": 321,
- "pc": [
- 729
- ]
- },
- {
- "teal": 527,
- "source": 321,
- "pc": [
- 730
- ]
- },
- {
- "teal": 528,
- "source": 321,
- "pc": [
- 731
- ]
- },
- {
- "teal": 529,
- "source": 321,
- "pc": [
- 732,
- 733,
- 734
- ]
- },
- {
- "teal": 532,
- "source": 323,
- "pc": [
- 735,
- 736,
- 737
- ]
- },
- {
- "teal": 537,
- "source": 325,
- "pc": [
- 738,
- 739
- ]
- },
- {
- "teal": 538,
- "source": 325,
- "pc": [
- 740,
- 741
- ]
- },
- {
- "teal": 539,
- "source": 325,
- "pc": [
- 742,
- 743
- ]
- },
- {
- "teal": 540,
- "source": 325,
- "pc": [
- 744,
- 745
- ]
- },
- {
- "teal": 541,
- "source": 325,
- "pc": [
- 746
- ]
- },
- {
- "teal": 542,
- "source": 325,
- "pc": [
- 747,
- 748
- ]
- },
- {
- "teal": 543,
- "source": 325,
- "pc": [
- 749
- ]
- },
- {
- "teal": 544,
- "source": 325,
- "pc": [
- 750
- ]
- },
- {
- "teal": 545,
- "source": 325,
- "pc": [
- 751,
- 752
- ]
- },
- {
- "teal": 550,
- "source": 320,
- "pc": [
- 753,
- 754
- ]
- },
- {
- "teal": 551,
- "source": 320,
- "pc": [
- 755
- ]
- },
- {
- "teal": 552,
- "source": 320,
- "pc": [
- 756
- ]
- },
- {
- "teal": 553,
- "source": 320,
- "pc": [
- 757,
- 758
- ]
- },
- {
- "teal": 554,
- "source": 320,
- "pc": [
- 759,
- 760,
- 761
- ]
- },
- {
- "teal": 559,
- "source": 327,
- "pc": [
- 762,
- 763
- ]
- },
- {
- "teal": 562,
- "source": 317,
- "pc": [
- 764,
- 765
- ]
- },
- {
- "teal": 565,
- "source": 317,
- "pc": [
- 766,
- 767
- ]
- },
- {
- "teal": 566,
- "source": 317,
- "pc": [
- 768
- ]
- },
- {
- "teal": 571,
- "source": 334,
- "pc": [
- 769
- ]
- },
- {
- "teal": 574,
- "source": 334,
- "pc": [
- 770,
- 771,
- 772
- ]
- },
- {
- "teal": 575,
- "source": 334,
- "pc": [
- 773
- ]
- },
- {
- "teal": 578,
- "source": 334,
- "pc": [
- 774,
- 775,
- 776
- ]
- },
- {
- "teal": 579,
- "source": 334,
- "pc": [
- 777
- ]
- },
- {
- "teal": 582,
- "source": 334,
- "pc": [
- 778,
- 779,
- 780
- ]
- },
- {
- "teal": 583,
- "source": 334,
- "pc": [
- 781
- ]
- },
- {
- "teal": 584,
- "source": 334,
- "pc": [
- 782
- ]
- },
- {
- "teal": 585,
- "source": 334,
- "pc": [
- 783
- ]
- },
- {
- "teal": 586,
- "source": 334,
- "pc": [
- 784
- ]
- },
- {
- "teal": 587,
- "source": 334,
- "pc": [
- 785
- ]
- },
- {
- "teal": 591,
- "source": 334,
- "pc": [
- 786,
- 787,
- 788
- ]
- },
- {
- "teal": 598,
- "source": 336,
- "pc": [
- 789,
- 790
- ]
- },
- {
- "teal": 599,
- "source": 336,
- "pc": [
- 791
- ]
- },
- {
- "teal": 600,
- "source": 336,
- "pc": [
- 792
- ]
- },
- {
- "teal": 601,
- "source": 336,
- "pc": [
- 793
- ]
- },
- {
- "teal": 602,
- "source": 336,
- "pc": [
- 794,
- 795,
- 796
- ]
- },
- {
- "teal": 603,
- "source": 336,
- "pc": [
- 797,
- 798
- ]
- },
- {
- "teal": 604,
- "source": 336,
- "pc": [
- 799
- ]
- },
- {
- "teal": 605,
- "source": 336,
- "pc": [
- 800
- ]
- },
- {
- "teal": 606,
- "source": 336,
- "pc": [
- 801
- ]
- },
- {
- "teal": 610,
- "source": 335,
- "errorMessage": "pool id must be between 1 and number of pools for this validator",
- "pc": [
- 802
- ]
- },
- {
- "teal": 614,
- "source": 339,
- "pc": [
- 803,
- 804
- ]
- },
- {
- "teal": 615,
- "source": 339,
- "pc": [
- 805,
- 806
- ]
- },
- {
- "teal": 616,
- "source": 339,
- "pc": [
- 807
- ]
- },
- {
- "teal": 617,
- "source": 339,
- "pc": [
- 808
- ]
- },
- {
- "teal": 618,
- "source": 339,
- "pc": [
- 809,
- 810
- ]
- },
- {
- "teal": 619,
- "source": 339,
- "pc": [
- 811
- ]
- },
- {
- "teal": 620,
- "source": 339,
- "pc": [
- 812
- ]
- },
- {
- "teal": 621,
- "source": 339,
- "pc": [
- 813
- ]
- },
- {
- "teal": 622,
- "source": 339,
- "pc": [
- 814
- ]
- },
- {
- "teal": 623,
- "source": 339,
- "pc": [
- 815
- ]
- },
- {
- "teal": 624,
- "source": 339,
- "pc": [
- 816
- ]
- },
- {
- "teal": 625,
- "source": 339,
- "pc": [
- 817,
- 818
- ]
- },
- {
- "teal": 626,
- "source": 339,
- "pc": [
- 819
- ]
- },
- {
- "teal": 627,
- "source": 339,
- "pc": [
- 820
- ]
- },
- {
- "teal": 628,
- "source": 339,
- "pc": [
- 821,
- 822
- ]
- },
- {
- "teal": 629,
- "source": 339,
- "pc": [
- 823
- ]
- },
- {
- "teal": 630,
- "source": 339,
- "pc": [
- 824
- ]
- },
- {
- "teal": 631,
- "source": 334,
- "pc": [
- 825
- ]
- },
- {
- "teal": 636,
- "source": 343,
- "pc": [
- 826
- ]
- },
- {
- "teal": 639,
- "source": 343,
- "pc": [
- 827,
- 828,
- 829
- ]
- },
- {
- "teal": 640,
- "source": 343,
- "pc": [
- 830
- ]
- },
- {
- "teal": 641,
- "source": 343,
- "pc": [
- 831
- ]
- },
- {
- "teal": 642,
- "source": 343,
- "pc": [
- 832
- ]
- },
- {
- "teal": 643,
- "source": 343,
- "pc": [
- 833
- ]
- },
- {
- "teal": 646,
- "source": 343,
- "errorMessage": "argument 0 (poolKey) for getPoolInfo must be a (uint64,uint64,uint64)",
- "pc": [
- 834
- ]
- },
- {
- "teal": 649,
- "source": 343,
- "pc": [
- 835,
- 836,
- 837
- ]
- },
- {
- "teal": 650,
- "source": 343,
- "pc": [
- 838
- ]
- },
- {
- "teal": 651,
- "source": 343,
- "pc": [
- 839
- ]
- },
- {
- "teal": 652,
- "source": 343,
- "pc": [
- 840
- ]
- },
- {
- "teal": 653,
- "source": 343,
- "pc": [
- 841
- ]
- },
- {
- "teal": 657,
- "source": 343,
- "pc": [
- 842,
- 843,
- 844
- ]
- },
- {
- "teal": 661,
- "source": 344,
- "pc": [
- 845,
- 846
- ]
- },
- {
- "teal": 662,
- "source": 344,
- "pc": [
- 847,
- 848
- ]
- },
- {
- "teal": 663,
- "source": 344,
- "pc": [
- 849,
- 850,
- 851
- ]
- },
- {
- "teal": 664,
- "source": 344,
- "pc": [
- 852
- ]
- },
- {
- "teal": 665,
- "source": 344,
- "pc": [
- 853
- ]
- },
- {
- "teal": 666,
- "source": 344,
- "pc": [
- 854
- ]
- },
- {
- "teal": 667,
- "source": 344,
- "pc": [
- 855,
- 856
- ]
- },
- {
- "teal": 668,
- "source": 344,
- "pc": [
- 857
- ]
- },
- {
- "teal": 669,
- "source": 344,
- "pc": [
- 858
- ]
- },
- {
- "teal": 670,
- "source": 344,
- "pc": [
- 859,
- 860
- ]
- },
- {
- "teal": 671,
- "source": 344,
- "pc": [
- 861
- ]
- },
- {
- "teal": 672,
- "source": 344,
- "pc": [
- 862,
- 863
- ]
- },
- {
- "teal": 673,
- "source": 344,
- "pc": [
- 864,
- 865,
- 866
- ]
- },
- {
- "teal": 674,
- "source": 344,
- "pc": [
- 867
- ]
- },
- {
- "teal": 675,
- "source": 344,
- "pc": [
- 868
- ]
- },
- {
- "teal": 676,
- "source": 344,
- "pc": [
- 869
- ]
- },
- {
- "teal": 677,
- "source": 344,
- "pc": [
- 870,
- 871
- ]
- },
- {
- "teal": 678,
- "source": 344,
- "pc": [
- 872
- ]
- },
- {
- "teal": 679,
- "source": 343,
- "pc": [
- 873
- ]
- },
- {
- "teal": 684,
- "source": 354,
- "pc": [
- 874
- ]
- },
- {
- "teal": 687,
- "source": 354,
- "pc": [
- 875,
- 876,
- 877
- ]
- },
- {
- "teal": 688,
- "source": 354,
- "pc": [
- 878
- ]
- },
- {
- "teal": 691,
- "source": 354,
- "pc": [
- 879,
- 880,
- 881
- ]
- },
- {
- "teal": 692,
- "source": 354,
- "pc": [
- 882
- ]
- },
- {
- "teal": 693,
- "source": 354,
- "pc": [
- 883
- ]
- },
- {
- "teal": 694,
- "source": 354,
- "pc": [
- 884
- ]
- },
- {
- "teal": 695,
- "source": 354,
- "pc": [
- 885
- ]
- },
- {
- "teal": 696,
- "source": 354,
- "pc": [
- 886
- ]
- },
- {
- "teal": 706,
- "source": 354,
- "pc": [
- 887,
- 888,
- 889
- ]
- },
- {
- "teal": 709,
- "source": 354,
- "pc": [
- 890
- ]
- },
- {
- "teal": 710,
- "source": 354,
- "pc": [
- 891,
- 892
- ]
- },
- {
- "teal": 714,
- "source": 355,
- "pc": [
- 893,
- 894
- ]
- },
- {
- "teal": 715,
- "source": 355,
- "pc": [
- 895,
- 896
- ]
- },
- {
- "teal": 716,
- "source": 355,
- "pc": [
- 897
- ]
- },
- {
- "teal": 717,
- "source": 355,
- "pc": [
- 898,
- 899
- ]
- },
- {
- "teal": 718,
- "source": 355,
- "pc": [
- 900
- ]
- },
- {
- "teal": 719,
- "source": 355,
- "pc": [
- 901
- ]
- },
- {
- "teal": 720,
- "source": 355,
- "pc": [
- 902,
- 903
- ]
- },
- {
- "teal": 721,
- "source": 355,
- "pc": [
- 904
- ]
- },
- {
- "teal": 722,
- "source": 355,
- "pc": [
- 905
- ]
- },
- {
- "teal": 723,
- "source": 355,
- "pc": [
- 906,
- 907
- ]
- },
- {
- "teal": 727,
- "source": 356,
- "pc": [
- 908,
- 909,
- 910
- ]
- },
- {
- "teal": 728,
- "source": 356,
- "pc": [
- 911,
- 912
- ]
- },
- {
- "teal": 729,
- "source": 356,
- "pc": [
- 913
- ]
- },
- {
- "teal": 730,
- "source": 356,
- "pc": [
- 914,
- 915
- ]
- },
- {
- "teal": 734,
- "source": 357,
- "pc": [
- 916,
- 917,
- 918
- ]
- },
- {
- "teal": 735,
- "source": 357,
- "pc": [
- 919
- ]
- },
- {
- "teal": 736,
- "source": 357,
- "pc": [
- 920
- ]
- },
- {
- "teal": 737,
- "source": 357,
- "pc": [
- 921,
- 922
- ]
- },
- {
- "teal": 738,
- "source": 357,
- "pc": [
- 923
- ]
- },
- {
- "teal": 739,
- "source": 357,
- "pc": [
- 924
- ]
- },
- {
- "teal": 740,
- "source": 357,
- "pc": [
- 925,
- 926
- ]
- },
- {
- "teal": 741,
- "source": 357,
- "pc": [
- 927
- ]
- },
- {
- "teal": 742,
- "source": 357,
- "pc": [
- 928
- ]
- },
- {
- "teal": 743,
- "source": 357,
- "pc": [
- 929,
- 930
- ]
- },
- {
- "teal": 748,
- "source": 358,
- "pc": [
- 931,
- 932
- ]
- },
- {
- "teal": 749,
- "source": 358,
- "pc": [
- 933
- ]
- },
- {
- "teal": 750,
- "source": 358,
- "pc": [
- 934
- ]
- },
- {
- "teal": 751,
- "source": 358,
- "pc": [
- 935,
- 936,
- 937
- ]
- },
- {
- "teal": 756,
- "source": 359,
- "pc": [
- 938,
- 939,
- 940
- ]
- },
- {
- "teal": 757,
- "source": 359,
- "pc": [
- 941,
- 942
- ]
- },
- {
- "teal": 763,
- "source": 361,
- "pc": [
- 943,
- 944
- ]
- },
- {
- "teal": 764,
- "source": 361,
- "pc": [
- 945,
- 946
- ]
- },
- {
- "teal": 765,
- "source": 361,
- "pc": [
- 947
- ]
- },
- {
- "teal": 766,
- "source": 361,
- "pc": [
- 948,
- 949,
- 950
- ]
- },
- {
- "teal": 771,
- "source": 362,
- "pc": [
- 951,
- 952
- ]
- },
- {
- "teal": 772,
- "source": 362,
- "pc": [
- 953,
- 954
- ]
- },
- {
- "teal": 777,
- "source": 364,
- "pc": [
- 955,
- 956
- ]
- },
- {
- "teal": 780,
- "source": 354,
- "pc": [
- 957,
- 958
- ]
- },
- {
- "teal": 783,
- "source": 354,
- "pc": [
- 959,
- 960
- ]
- },
- {
- "teal": 784,
- "source": 354,
- "pc": [
- 961
- ]
- },
- {
- "teal": 789,
- "source": 372,
- "pc": [
- 962
- ]
- },
- {
- "teal": 792,
- "source": 372,
- "pc": [
- 963,
- 964,
- 965
- ]
- },
- {
- "teal": 793,
- "source": 372,
- "pc": [
- 966
- ]
- },
- {
- "teal": 794,
- "source": 372,
- "pc": [
- 967
- ]
- },
- {
- "teal": 795,
- "source": 372,
- "pc": [
- 968,
- 969
- ]
- },
- {
- "teal": 796,
- "source": 372,
- "pc": [
- 970
- ]
- },
- {
- "teal": 799,
- "source": 372,
- "errorMessage": "argument 0 (staker) for doesStakerNeedToPayMBR must be a address",
- "pc": [
- 971
- ]
- },
- {
- "teal": 802,
- "source": 372,
- "pc": [
- 972,
- 973,
- 974
- ]
- },
- {
- "teal": 803,
- "source": 372,
- "pc": [
- 975,
- 976
- ]
- },
- {
- "teal": 804,
- "source": 372,
- "pc": [
- 977
- ]
- },
- {
- "teal": 805,
- "source": 372,
- "pc": [
- 978,
- 979
- ]
- },
- {
- "teal": 806,
- "source": 372,
- "pc": [
- 980
- ]
- },
- {
- "teal": 807,
- "source": 372,
- "pc": [
- 981
- ]
- },
- {
- "teal": 808,
- "source": 372,
- "pc": [
- 982
- ]
- },
- {
- "teal": 809,
- "source": 372,
- "pc": [
- 983
- ]
- },
- {
- "teal": 810,
- "source": 372,
- "pc": [
- 984
- ]
- },
- {
- "teal": 817,
- "source": 372,
- "pc": [
- 985,
- 986,
- 987
- ]
- },
- {
- "teal": 821,
- "source": 373,
- "pc": [
- 988
- ]
- },
- {
- "teal": 822,
- "source": 373,
- "pc": [
- 989,
- 990
- ]
- },
- {
- "teal": 823,
- "source": 373,
- "pc": [
- 991
- ]
- },
- {
- "teal": 824,
- "source": 373,
- "pc": [
- 992
- ]
- },
- {
- "teal": 825,
- "source": 373,
- "pc": [
- 993
- ]
- },
- {
- "teal": 826,
- "source": 373,
- "pc": [
- 994
- ]
- },
- {
- "teal": 827,
- "source": 373,
- "pc": [
- 995
- ]
- },
- {
- "teal": 828,
- "source": 372,
- "pc": [
- 996
- ]
- },
- {
- "teal": 833,
- "source": 382,
- "pc": [
- 997
- ]
- },
- {
- "teal": 836,
- "source": 382,
- "pc": [
- 998,
- 999,
- 1000
- ]
- },
- {
- "teal": 837,
- "source": 382,
- "pc": [
- 1001
- ]
- },
- {
- "teal": 838,
- "source": 382,
- "pc": [
- 1002
- ]
- },
- {
- "teal": 839,
- "source": 382,
- "pc": [
- 1003,
- 1004
- ]
- },
- {
- "teal": 840,
- "source": 382,
- "pc": [
- 1005
- ]
- },
- {
- "teal": 843,
- "source": 382,
- "errorMessage": "argument 0 (staker) for getStakedPoolsForAccount must be a address",
- "pc": [
- 1006
- ]
- },
- {
- "teal": 846,
- "source": 382,
- "pc": [
- 1007,
- 1008,
- 1009
- ]
- },
- {
- "teal": 847,
- "source": 382,
- "pc": [
- 1010
- ]
- },
- {
- "teal": 848,
- "source": 382,
- "pc": [
- 1011
- ]
- },
- {
- "teal": 849,
- "source": 382,
- "pc": [
- 1012
- ]
- },
- {
- "teal": 850,
- "source": 382,
- "pc": [
- 1013
- ]
- },
- {
- "teal": 851,
- "source": 382,
- "pc": [
- 1014
- ]
- },
- {
- "teal": 852,
- "source": 382,
- "pc": [
- 1015,
- 1016,
- 1017
- ]
- },
- {
- "teal": 853,
- "source": 382,
- "pc": [
- 1018
- ]
- },
- {
- "teal": 854,
- "source": 382,
- "pc": [
- 1019
- ]
- },
- {
- "teal": 855,
- "source": 382,
- "pc": [
- 1020
- ]
- },
- {
- "teal": 856,
- "source": 382,
- "pc": [
- 1021
- ]
- },
- {
- "teal": 857,
- "source": 382,
- "pc": [
- 1022
- ]
- },
- {
- "teal": 858,
- "source": 382,
- "pc": [
- 1023
- ]
- },
- {
- "teal": 867,
- "source": 382,
- "pc": [
- 1024,
- 1025,
- 1026
- ]
- },
- {
- "teal": 870,
- "source": 382,
- "pc": [
- 1027
- ]
- },
- {
- "teal": 871,
- "source": 382,
- "pc": [
- 1028,
- 1029
- ]
- },
- {
- "teal": 876,
- "source": 383,
- "pc": [
- 1030
- ]
- },
- {
- "teal": 877,
- "source": 383,
- "pc": [
- 1031,
- 1032
- ]
- },
- {
- "teal": 878,
- "source": 383,
- "pc": [
- 1033
- ]
- },
- {
- "teal": 879,
- "source": 383,
- "pc": [
- 1034
- ]
- },
- {
- "teal": 880,
- "source": 383,
- "pc": [
- 1035
- ]
- },
- {
- "teal": 881,
- "source": 383,
- "pc": [
- 1036
- ]
- },
- {
- "teal": 882,
- "source": 383,
- "pc": [
- 1037
- ]
- },
- {
- "teal": 883,
- "source": 383,
- "pc": [
- 1038,
- 1039,
- 1040
- ]
- },
- {
- "teal": 888,
- "source": 384,
- "pc": [
- 1041
- ]
- },
- {
- "teal": 889,
- "source": 384,
- "pc": [
- 1042,
- 1043,
- 1044
- ]
- },
- {
- "teal": 894,
- "source": 386,
- "pc": [
- 1045
- ]
- },
- {
- "teal": 895,
- "source": 386,
- "pc": [
- 1046,
- 1047
- ]
- },
- {
- "teal": 899,
- "source": 387,
- "pc": [
- 1048
- ]
- },
- {
- "teal": 900,
- "source": 387,
- "pc": [
- 1049,
- 1050
- ]
- },
- {
- "teal": 901,
- "source": 387,
- "pc": [
- 1051
- ]
- },
- {
- "teal": 902,
- "source": 387,
- "pc": [
- 1052
- ]
- },
- {
- "teal": 905,
- "source": 387,
- "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value",
- "pc": [
- 1053
- ]
- },
- {
- "teal": 906,
- "source": 387,
- "pc": [
- 1054,
- 1055
- ]
- },
- {
- "teal": 910,
- "source": 388,
- "pc": [
- 1056
- ]
- },
- {
- "teal": 911,
- "source": 388,
- "pc": [
- 1057,
- 1058
- ]
- },
- {
- "teal": 916,
- "source": 388,
- "pc": [
- 1059,
- 1060
- ]
- },
- {
- "teal": 917,
- "source": 388,
- "pc": [
- 1061,
- 1062
- ]
- },
- {
- "teal": 918,
- "source": 388,
- "pc": [
- 1063
- ]
- },
- {
- "teal": 919,
- "source": 388,
- "pc": [
- 1064,
- 1065,
- 1066
- ]
- },
- {
- "teal": 924,
- "source": 389,
- "pc": [
- 1067,
- 1068
- ]
- },
- {
- "teal": 925,
- "source": 389,
- "pc": [
- 1069,
- 1070
- ]
- },
- {
- "teal": 926,
- "source": 389,
- "pc": [
- 1071
- ]
- },
- {
- "teal": 927,
- "source": 389,
- "pc": [
- 1072
- ]
- },
- {
- "teal": 928,
- "source": 389,
- "pc": [
- 1073
- ]
- },
- {
- "teal": 929,
- "source": 389,
- "pc": [
- 1074
- ]
- },
- {
- "teal": 930,
- "source": 389,
- "pc": [
- 1075
- ]
- },
- {
- "teal": 931,
- "source": 389,
- "pc": [
- 1076
- ]
- },
- {
- "teal": 932,
- "source": 389,
- "pc": [
- 1077
- ]
- },
- {
- "teal": 933,
- "source": 389,
- "pc": [
- 1078
- ]
- },
- {
- "teal": 934,
- "source": 389,
- "pc": [
- 1079
- ]
- },
- {
- "teal": 935,
- "source": 389,
- "pc": [
- 1080,
- 1081,
- 1082
- ]
- },
- {
- "teal": 940,
- "source": 390,
- "pc": [
- 1083,
- 1084
- ]
- },
- {
- "teal": 941,
- "source": 390,
- "pc": [
- 1085,
- 1086
- ]
- },
- {
- "teal": 942,
- "source": 390,
- "pc": [
- 1087,
- 1088
- ]
- },
- {
- "teal": 943,
- "source": 390,
- "pc": [
- 1089
- ]
- },
- {
- "teal": 944,
- "source": 390,
- "pc": [
- 1090
- ]
- },
- {
- "teal": 945,
- "source": 390,
- "pc": [
- 1091
- ]
- },
- {
- "teal": 946,
- "source": 390,
- "pc": [
- 1092
- ]
- },
- {
- "teal": 947,
- "source": 390,
- "pc": [
- 1093
- ]
- },
- {
- "teal": 948,
- "source": 390,
- "pc": [
- 1094,
- 1095
- ]
- },
- {
- "teal": 955,
- "source": 388,
- "pc": [
- 1096,
- 1097
- ]
- },
- {
- "teal": 956,
- "source": 388,
- "pc": [
- 1098
- ]
- },
- {
- "teal": 957,
- "source": 388,
- "pc": [
- 1099
- ]
- },
- {
- "teal": 958,
- "source": 388,
- "pc": [
- 1100,
- 1101
- ]
- },
- {
- "teal": 959,
- "source": 388,
- "pc": [
- 1102,
- 1103,
- 1104
- ]
- },
- {
- "teal": 964,
- "source": 393,
- "pc": [
- 1105,
- 1106
- ]
- },
- {
- "teal": 968,
- "source": 382,
- "pc": [
- 1107,
- 1108
- ]
- },
- {
- "teal": 971,
- "source": 382,
- "pc": [
- 1109,
- 1110
- ]
- },
- {
- "teal": 972,
- "source": 382,
- "pc": [
- 1111
- ]
- },
- {
- "teal": 977,
- "source": 404,
- "pc": [
- 1112
- ]
- },
- {
- "teal": 980,
- "source": 404,
- "pc": [
- 1113,
- 1114,
- 1115
- ]
- },
- {
- "teal": 981,
- "source": 404,
- "pc": [
- 1116
- ]
- },
- {
- "teal": 984,
- "source": 404,
- "pc": [
- 1117,
- 1118,
- 1119
- ]
- },
- {
- "teal": 985,
- "source": 404,
- "pc": [
- 1120
- ]
- },
- {
- "teal": 986,
- "source": 404,
- "pc": [
- 1121
- ]
- },
- {
- "teal": 987,
- "source": 404,
- "pc": [
- 1122
- ]
- },
- {
- "teal": 988,
- "source": 404,
- "pc": [
- 1123
- ]
- },
- {
- "teal": 998,
- "source": 404,
- "pc": [
- 1124,
- 1125,
- 1126
- ]
- },
- {
- "teal": 1002,
- "source": 405,
- "pc": [
- 1127,
- 1128
- ]
- },
- {
- "teal": 1003,
- "source": 405,
- "pc": [
- 1129,
- 1130
- ]
- },
- {
- "teal": 1004,
- "source": 405,
- "pc": [
- 1131
- ]
- },
- {
- "teal": 1005,
- "source": 405,
- "pc": [
- 1132,
- 1133
- ]
- },
- {
- "teal": 1006,
- "source": 405,
- "pc": [
- 1134
- ]
- },
- {
- "teal": 1007,
- "source": 405,
- "pc": [
- 1135
- ]
- },
- {
- "teal": 1008,
- "source": 405,
- "pc": [
- 1136,
- 1137
- ]
- },
- {
- "teal": 1009,
- "source": 405,
- "pc": [
- 1138
- ]
- },
- {
- "teal": 1010,
- "source": 404,
- "pc": [
- 1139
- ]
- },
- {
- "teal": 1015,
- "source": 409,
- "pc": [
- 1140
- ]
- },
- {
- "teal": 1018,
- "source": 409,
- "pc": [
- 1141,
- 1142,
- 1143
- ]
- },
- {
- "teal": 1019,
- "source": 409,
- "pc": [
- 1144
- ]
- },
- {
- "teal": 1022,
- "source": 409,
- "pc": [
- 1145,
- 1146,
- 1147
- ]
- },
- {
- "teal": 1023,
- "source": 409,
- "pc": [
- 1148
- ]
- },
- {
- "teal": 1024,
- "source": 409,
- "pc": [
- 1149
- ]
- },
- {
- "teal": 1025,
- "source": 409,
- "pc": [
- 1150
- ]
- },
- {
- "teal": 1026,
- "source": 409,
- "pc": [
- 1151
- ]
- },
- {
- "teal": 1030,
- "source": 409,
- "pc": [
- 1152,
- 1153,
- 1154
- ]
- },
- {
- "teal": 1034,
- "source": 410,
- "pc": [
- 1155
- ]
- },
- {
- "teal": 1035,
- "source": 410,
- "pc": [
- 1156,
- 1157
- ]
- },
- {
- "teal": 1036,
- "source": 410,
- "pc": [
- 1158
- ]
- },
- {
- "teal": 1037,
- "source": 410,
- "pc": [
- 1159
- ]
- },
- {
- "teal": 1038,
- "source": 410,
- "pc": [
- 1160
- ]
- },
- {
- "teal": 1039,
- "source": 410,
- "pc": [
- 1161
- ]
- },
- {
- "teal": 1040,
- "source": 410,
- "pc": [
- 1162
- ]
- },
- {
- "teal": 1043,
- "source": 410,
- "errorMessage": "the specified validator id doesn't exist",
- "pc": [
- 1163
- ]
- },
- {
- "teal": 1047,
- "source": 412,
- "pc": [
- 1164,
- 1165
- ]
- },
- {
- "teal": 1048,
- "source": 412,
- "pc": [
- 1166,
- 1167
- ]
- },
- {
- "teal": 1049,
- "source": 412,
- "pc": [
- 1168
- ]
- },
- {
- "teal": 1050,
- "source": 412,
- "pc": [
- 1169,
- 1170
- ]
- },
- {
- "teal": 1051,
- "source": 412,
- "pc": [
- 1171
- ]
- },
- {
- "teal": 1052,
- "source": 412,
- "pc": [
- 1172
- ]
- },
- {
- "teal": 1053,
- "source": 412,
- "pc": [
- 1173,
- 1174
- ]
- },
- {
- "teal": 1054,
- "source": 412,
- "pc": [
- 1175
- ]
- },
- {
- "teal": 1055,
- "source": 409,
- "pc": [
- 1176
- ]
- },
- {
- "teal": 1060,
- "source": 415,
- "pc": [
- 1177
- ]
- },
- {
- "teal": 1063,
- "source": 415,
- "pc": [
- 1178,
- 1179,
- 1180
- ]
- },
- {
- "teal": 1064,
- "source": 415,
- "pc": [
- 1181
- ]
- },
- {
- "teal": 1065,
- "source": 415,
- "pc": [
- 1182
- ]
- },
- {
- "teal": 1066,
- "source": 415,
- "pc": [
- 1183
- ]
- },
- {
- "teal": 1067,
- "source": 415,
- "pc": [
- 1184
- ]
- },
- {
- "teal": 1068,
- "source": 415,
- "pc": [
- 1185
- ]
- },
- {
- "teal": 1072,
- "source": 415,
- "pc": [
- 1186,
- 1187,
- 1188
- ]
- },
- {
- "teal": 1076,
- "source": 416,
- "pc": [
- 1189,
- 1190
- ]
- },
- {
- "teal": 1077,
- "source": 415,
- "pc": [
- 1191
- ]
- },
- {
- "teal": 1082,
- "source": 427,
- "pc": [
- 1192
- ]
- },
- {
- "teal": 1085,
- "source": 427,
- "pc": [
- 1193,
- 1194,
- 1195
- ]
- },
- {
- "teal": 1086,
- "source": 427,
- "pc": [
- 1196
- ]
- },
- {
- "teal": 1087,
- "source": 427,
- "pc": [
- 1197
- ]
- },
- {
- "teal": 1088,
- "source": 427,
- "pc": [
- 1198,
- 1199
- ]
- },
- {
- "teal": 1089,
- "source": 427,
- "pc": [
- 1200
- ]
- },
- {
- "teal": 1092,
- "source": 427,
- "errorMessage": "argument 0 (config) for addValidator must be a (uint64,address,address,uint64,uint8,address,uint64[4],uint64,uint64,uint64,uint32,uint32,address,uint64,uint64,uint8,uint64,uint64)",
- "pc": [
- 1201
- ]
- },
- {
- "teal": 1095,
- "source": 427,
- "pc": [
- 1202,
- 1203,
- 1204
- ]
- },
- {
- "teal": 1096,
- "source": 427,
- "pc": [
- 1205,
- 1206,
- 1207
- ]
- },
- {
- "teal": 1099,
- "source": 427,
- "pc": [
- 1208,
- 1209
- ]
- },
- {
- "teal": 1100,
- "source": 427,
- "pc": [
- 1210
- ]
- },
- {
- "teal": 1101,
- "source": 427,
- "pc": [
- 1211
- ]
- },
- {
- "teal": 1102,
- "source": 427,
- "pc": [
- 1212
- ]
- },
- {
- "teal": 1103,
- "source": 427,
- "pc": [
- 1213,
- 1214
- ]
- },
- {
- "teal": 1104,
- "source": 427,
- "pc": [
- 1215
- ]
- },
- {
- "teal": 1105,
- "source": 427,
- "pc": [
- 1216
- ]
- },
- {
- "teal": 1108,
- "source": 427,
- "errorMessage": "argument 2 (mbrPayment) for addValidator must be a pay transaction",
- "pc": [
- 1217
- ]
- },
- {
- "teal": 1111,
- "source": 427,
- "pc": [
- 1218,
- 1219,
- 1220
- ]
- },
- {
- "teal": 1112,
- "source": 427,
- "pc": [
- 1221
- ]
- },
- {
- "teal": 1113,
- "source": 427,
- "pc": [
- 1222
- ]
- },
- {
- "teal": 1114,
- "source": 427,
- "pc": [
- 1223
- ]
- },
- {
- "teal": 1115,
- "source": 427,
- "pc": [
- 1224
- ]
- },
- {
- "teal": 1116,
- "source": 427,
- "pc": [
- 1225
- ]
- },
- {
- "teal": 1128,
- "source": 427,
- "pc": [
- 1226,
- 1227,
- 1228
- ]
- },
- {
- "teal": 1131,
- "source": 427,
- "pc": [
- 1229
- ]
- },
- {
- "teal": 1135,
- "source": 428,
- "pc": [
- 1230,
- 1231
- ]
- },
- {
- "teal": 1136,
- "source": 428,
- "pc": [
- 1232,
- 1233,
- 1234
- ]
- },
- {
- "teal": 1140,
- "source": 429,
- "pc": [
- 1235,
- 1236
- ]
- },
- {
- "teal": 1141,
- "source": 429,
- "pc": [
- 1237,
- 1238,
- 1239
- ]
- },
- {
- "teal": 1142,
- "source": 429,
- "pc": [
- 1240,
- 1241
- ]
- },
- {
- "teal": 1143,
- "source": 429,
- "pc": [
- 1242
- ]
- },
- {
- "teal": 1144,
- "source": 429,
- "pc": [
- 1243
- ]
- },
- {
- "teal": 1148,
- "source": 430,
- "pc": [
- 1244,
- 1245
- ]
- },
- {
- "teal": 1149,
- "source": 430,
- "pc": [
- 1246,
- 1247,
- 1248
- ]
- },
- {
- "teal": 1150,
- "source": 430,
- "pc": [
- 1249,
- 1250
- ]
- },
- {
- "teal": 1151,
- "source": 430,
- "pc": [
- 1251
- ]
- },
- {
- "teal": 1152,
- "source": 430,
- "pc": [
- 1252
- ]
- },
- {
- "teal": 1156,
- "source": 431,
- "pc": [
- 1253,
- 1254
- ]
- },
- {
- "teal": 1157,
- "source": 431,
- "pc": [
- 1255,
- 1256
- ]
- },
- {
- "teal": 1158,
- "source": 431,
- "pc": [
- 1257,
- 1258,
- 1259
- ]
- },
- {
- "teal": 1159,
- "source": 431,
- "pc": [
- 1260
- ]
- },
- {
- "teal": 1162,
- "source": 431,
- "errorMessage": "sender must be owner to add new validator",
- "pc": [
- 1261
- ]
- },
- {
- "teal": 1167,
- "source": 433,
- "pc": [
- 1262,
- 1263
- ]
- },
- {
- "teal": 1168,
- "source": 433,
- "pc": [
- 1264,
- 1265
- ]
- },
- {
- "teal": 1169,
- "source": 433,
- "pc": [
- 1266,
- 1267,
- 1268
- ]
- },
- {
- "teal": 1170,
- "source": 433,
- "pc": [
- 1269,
- 1270,
- 1271
- ]
- },
- {
- "teal": 1171,
- "source": 433,
- "pc": [
- 1272
- ]
- },
- {
- "teal": 1172,
- "source": 433,
- "pc": [
- 1273
- ]
- },
- {
- "teal": 1175,
- "source": 433,
- "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addValidatorMbr\"}",
- "pc": [
- 1274
- ]
- },
- {
- "teal": 1179,
- "source": 435,
- "pc": [
- 1275,
- 1276
- ]
- },
- {
- "teal": 1180,
- "source": 435,
- "pc": [
- 1277,
- 1278
- ]
- },
- {
- "teal": 1181,
- "source": 435,
- "pc": [
- 1279,
- 1280,
- 1281,
- 1282,
- 1283
- ]
- },
- {
- "teal": 1182,
- "source": 435,
- "pc": [
- 1284
- ]
- },
- {
- "teal": 1185,
- "source": 435,
- "errorMessage": "fee must be 10 ALGO or more to prevent spamming of validators",
- "pc": [
- 1285
- ]
- },
- {
- "teal": 1189,
- "source": 438,
- "pc": [
- 1286,
- 1287
- ]
- },
- {
- "teal": 1190,
- "source": 438,
- "pc": [
- 1288
- ]
- },
- {
- "teal": 1191,
- "source": 438,
- "pc": [
- 1289
- ]
- },
- {
- "teal": 1192,
- "source": 438,
- "pc": [
- 1290
- ]
- },
- {
- "teal": 1193,
- "source": 438,
- "pc": [
- 1291,
- 1292
- ]
- },
- {
- "teal": 1197,
- "source": 439,
- "pc": [
- 1293,
- 1294
- ]
- },
- {
- "teal": 1198,
- "source": 439,
- "pc": [
- 1295,
- 1296
- ]
- },
- {
- "teal": 1199,
- "source": 439,
- "pc": [
- 1297
- ]
- },
- {
- "teal": 1203,
- "source": 441,
- "pc": [
- 1298
- ]
- },
- {
- "teal": 1204,
- "source": 441,
- "pc": [
- 1299,
- 1300
- ]
- },
- {
- "teal": 1205,
- "source": 441,
- "pc": [
- 1301
- ]
- },
- {
- "teal": 1206,
- "source": 441,
- "pc": [
- 1302
- ]
- },
- {
- "teal": 1207,
- "source": 441,
- "pc": [
- 1303,
- 1304,
- 1305
- ]
- },
- {
- "teal": 1208,
- "source": 441,
- "pc": [
- 1306
- ]
- },
- {
- "teal": 1209,
- "source": 441,
- "pc": [
- 1307
- ]
- },
- {
- "teal": 1213,
- "source": 442,
- "pc": [
- 1308
- ]
- },
- {
- "teal": 1214,
- "source": 442,
- "pc": [
- 1309,
- 1310
- ]
- },
- {
- "teal": 1215,
- "source": 442,
- "pc": [
- 1311
- ]
- },
- {
- "teal": 1216,
- "source": 442,
- "pc": [
- 1312,
- 1313
- ]
- },
- {
- "teal": 1217,
- "source": 442,
- "pc": [
- 1314
- ]
- },
- {
- "teal": 1218,
- "source": 442,
- "pc": [
- 1315
- ]
- },
- {
- "teal": 1219,
- "source": 442,
- "pc": [
- 1316,
- 1317
- ]
- },
- {
- "teal": 1220,
- "source": 442,
- "pc": [
- 1318
- ]
- },
- {
- "teal": 1224,
- "source": 443,
- "pc": [
- 1319
- ]
- },
- {
- "teal": 1225,
- "source": 443,
- "pc": [
- 1320,
- 1321
- ]
- },
- {
- "teal": 1226,
- "source": 443,
- "pc": [
- 1322
- ]
- },
- {
- "teal": 1227,
- "source": 443,
- "pc": [
- 1323
- ]
- },
- {
- "teal": 1228,
- "source": 443,
- "pc": [
- 1324,
- 1325
- ]
- },
- {
- "teal": 1229,
- "source": 443,
- "pc": [
- 1326
- ]
- },
- {
- "teal": 1230,
- "source": 443,
- "pc": [
- 1327
- ]
- },
- {
- "teal": 1231,
- "source": 443,
- "pc": [
- 1328,
- 1329
- ]
- },
- {
- "teal": 1232,
- "source": 443,
- "pc": [
- 1330
- ]
- },
- {
- "teal": 1237,
- "source": 446,
- "pc": [
- 1331,
- 1332
- ]
- },
- {
- "teal": 1238,
- "source": 446,
- "pc": [
- 1333,
- 1334,
- 1335
- ]
- },
- {
- "teal": 1239,
- "source": 446,
- "pc": [
- 1336
- ]
- },
- {
- "teal": 1240,
- "source": 446,
- "pc": [
- 1337
- ]
- },
- {
- "teal": 1241,
- "source": 446,
- "pc": [
- 1338
- ]
- },
- {
- "teal": 1242,
- "source": 446,
- "pc": [
- 1339,
- 1340,
- 1341
- ]
- },
- {
- "teal": 1251,
- "source": 448,
- "pc": [
- 1342
- ]
- },
- {
- "teal": 1252,
- "source": 448,
- "pc": [
- 1343,
- 1344
- ]
- },
- {
- "teal": 1253,
- "source": 448,
- "pc": [
- 1345,
- 1346
- ]
- },
- {
- "teal": 1257,
- "source": 449,
- "pc": [
- 1347,
- 1348
- ]
- },
- {
- "teal": 1258,
- "source": 449,
- "pc": [
- 1349,
- 1350
- ]
- },
- {
- "teal": 1262,
- "source": 450,
- "pc": [
- 1351,
- 1352
- ]
- },
- {
- "teal": 1263,
- "source": 450,
- "pc": [
- 1353,
- 1354
- ]
- },
- {
- "teal": 1264,
- "source": 450,
- "pc": [
- 1355,
- 1356
- ]
- },
- {
- "teal": 1265,
- "source": 450,
- "pc": [
- 1357,
- 1358
- ]
- },
- {
- "teal": 1266,
- "source": 450,
- "pc": [
- 1359,
- 1360
- ]
- },
- {
- "teal": 1267,
- "source": 450,
- "pc": [
- 1361,
- 1362,
- 1363
- ]
- },
- {
- "teal": 1268,
- "source": 450,
- "pc": [
- 1364
- ]
- },
- {
- "teal": 1269,
- "source": 450,
- "pc": [
- 1365
- ]
- },
- {
- "teal": 1270,
- "source": 450,
- "pc": [
- 1366,
- 1367
- ]
- },
- {
- "teal": 1274,
- "source": 451,
- "pc": [
- 1368,
- 1369
- ]
- },
- {
- "teal": 1275,
- "source": 451,
- "pc": [
- 1370,
- 1371,
- 1372
- ]
- },
- {
- "teal": 1276,
- "source": 451,
- "pc": [
- 1373
- ]
- },
- {
- "teal": 1277,
- "source": 451,
- "pc": [
- 1374,
- 1375
- ]
- },
- {
- "teal": 1280,
- "source": 448,
- "pc": [
- 1376
- ]
- },
- {
- "teal": 1281,
- "source": 448,
- "pc": [
- 1377,
- 1378
- ]
- },
- {
- "teal": 1284,
- "source": 448,
- "pc": [
- 1379
- ]
- },
- {
- "teal": 1288,
- "source": 453,
- "pc": [
- 1380,
- 1381
- ]
- },
- {
- "teal": 1289,
- "source": 453,
- "pc": [
- 1382
- ]
- },
- {
- "teal": 1290,
- "source": 453,
- "pc": [
- 1383
- ]
- },
- {
- "teal": 1291,
- "source": 453,
- "pc": [
- 1384
- ]
- },
- {
- "teal": 1294,
- "source": 453,
- "errorMessage": "provided NFD isn't valid",
- "pc": [
- 1385
- ]
- },
- {
- "teal": 1301,
- "source": 456,
- "pc": [
- 1386,
- 1387
- ]
- },
- {
- "teal": 1302,
- "source": 456,
- "pc": [
- 1388,
- 1389
- ]
- },
- {
- "teal": 1303,
- "source": 456,
- "pc": [
- 1390,
- 1391,
- 1392
- ]
- },
- {
- "teal": 1304,
- "source": 456,
- "pc": [
- 1393
- ]
- },
- {
- "teal": 1305,
- "source": 456,
- "pc": [
- 1394,
- 1395
- ]
- },
- {
- "teal": 1306,
- "source": 456,
- "pc": [
- 1396
- ]
- },
- {
- "teal": 1309,
- "source": 456,
- "errorMessage": "global state value does not exist: AppID.fromUint64(config.nfdForInfo).globalState('i.owner.a')",
- "pc": [
- 1397
- ]
- },
- {
- "teal": 1310,
- "source": 456,
- "pc": [
- 1398
- ]
- },
- {
- "teal": 1313,
- "source": 455,
- "errorMessage": "If specifying NFD, account adding validator must be owner",
- "pc": [
- 1399
- ]
- },
- {
- "teal": 1320,
- "source": 461,
- "pc": [
- 1400,
- 1401
- ]
- },
- {
- "teal": 1321,
- "source": 461,
- "pc": [
- 1402,
- 1403,
- 1404
- ]
- },
- {
- "teal": 1322,
- "source": 461,
- "pc": [
- 1405
- ]
- },
- {
- "teal": 1323,
- "source": 461,
- "pc": [
- 1406,
- 1407
- ]
- },
- {
- "teal": 1324,
- "source": 461,
- "pc": [
- 1408
- ]
- },
- {
- "teal": 1325,
- "source": 461,
- "pc": [
- 1409
- ]
- },
- {
- "teal": 1326,
- "source": 461,
- "pc": [
- 1410,
- 1411,
- 1412
- ]
- },
- {
- "teal": 1327,
- "source": 462,
- "pc": [
- 1413,
- 1414
- ]
- },
- {
- "teal": 1328,
- "source": 462,
- "pc": [
- 1415,
- 1416,
- 1417
- ]
- },
- {
- "teal": 1329,
- "source": 462,
- "pc": [
- 1418
- ]
- },
- {
- "teal": 1330,
- "source": 462,
- "pc": [
- 1419,
- 1420
- ]
- },
- {
- "teal": 1331,
- "source": 462,
- "pc": [
- 1421
- ]
- },
- {
- "teal": 1332,
- "source": 461,
- "pc": [
- 1422
- ]
- },
- {
- "teal": 1335,
- "source": 460,
- "pc": [
- 1423,
- 1424,
- 1425
- ]
- },
- {
- "teal": 1340,
- "source": 465,
- "pc": [
- 1426,
- 1427
- ]
- },
- {
- "teal": 1341,
- "source": 465,
- "pc": [
- 1428,
- 1429,
- 1430
- ]
- },
- {
- "teal": 1342,
- "source": 465,
- "pc": [
- 1431
- ]
- },
- {
- "teal": 1343,
- "source": 465,
- "pc": [
- 1432,
- 1433,
- 1434
- ]
- },
- {
- "teal": 1346,
- "source": 465,
- "errorMessage": "provided NFD App id for gating must be valid NFD",
- "pc": [
- 1435
- ]
- },
- {
- "teal": 1351,
- "source": 468,
- "pc": [
- 1436,
- 1437
- ]
- },
- {
- "teal": 1354,
- "source": 427,
- "pc": [
- 1438,
- 1439
- ]
- },
- {
- "teal": 1355,
- "source": 427,
- "pc": [
- 1440
- ]
- },
- {
- "teal": 1360,
- "source": 478,
- "pc": [
- 1441,
- 1442,
- 1443
- ]
- },
- {
- "teal": 1361,
- "source": 478,
- "pc": [
- 1444
- ]
- },
- {
- "teal": 1362,
- "source": 478,
- "pc": [
- 1445
- ]
- },
- {
- "teal": 1363,
- "source": 478,
- "pc": [
- 1446,
- 1447
- ]
- },
- {
- "teal": 1364,
- "source": 478,
- "pc": [
- 1448
- ]
- },
- {
- "teal": 1367,
- "source": 478,
- "errorMessage": "argument 0 (manager) for changeValidatorManager must be a address",
- "pc": [
- 1449
- ]
- },
- {
- "teal": 1370,
- "source": 478,
- "pc": [
- 1450,
- 1451,
- 1452
- ]
- },
- {
- "teal": 1371,
- "source": 478,
- "pc": [
- 1453
- ]
- },
- {
- "teal": 1374,
- "source": 478,
- "pc": [
- 1454,
- 1455,
- 1456
- ]
- },
- {
- "teal": 1375,
- "source": 478,
- "pc": [
- 1457
- ]
- },
- {
- "teal": 1376,
- "source": 478,
- "pc": [
- 1458
- ]
- },
- {
- "teal": 1386,
- "source": 478,
- "pc": [
- 1459,
- 1460,
- 1461
- ]
- },
- {
- "teal": 1393,
- "source": 480,
- "pc": [
- 1462,
- 1463
- ]
- },
- {
- "teal": 1394,
- "source": 480,
- "pc": [
- 1464
- ]
- },
- {
- "teal": 1395,
- "source": 480,
- "pc": [
- 1465,
- 1466
- ]
- },
- {
- "teal": 1396,
- "source": 480,
- "pc": [
- 1467
- ]
- },
- {
- "teal": 1397,
- "source": 480,
- "pc": [
- 1468,
- 1469
- ]
- },
- {
- "teal": 1398,
- "source": 480,
- "pc": [
- 1470
- ]
- },
- {
- "teal": 1399,
- "source": 480,
- "pc": [
- 1471
- ]
- },
- {
- "teal": 1400,
- "source": 480,
- "pc": [
- 1472,
- 1473
- ]
- },
- {
- "teal": 1401,
- "source": 480,
- "pc": [
- 1474
- ]
- },
- {
- "teal": 1402,
- "source": 480,
- "pc": [
- 1475
- ]
- },
- {
- "teal": 1405,
- "source": 479,
- "errorMessage": "can only be called by validator owner",
- "pc": [
- 1476
- ]
- },
- {
- "teal": 1409,
- "source": 483,
- "pc": [
- 1477,
- 1478
- ]
- },
- {
- "teal": 1410,
- "source": 483,
- "pc": [
- 1479,
- 1480
- ]
- },
- {
- "teal": 1411,
- "source": 483,
- "pc": [
- 1481
- ]
- },
- {
- "teal": 1412,
- "source": 483,
- "pc": [
- 1482,
- 1483
- ]
- },
- {
- "teal": 1413,
- "source": 483,
- "pc": [
- 1484
- ]
- },
- {
- "teal": 1414,
- "source": 483,
- "pc": [
- 1485
- ]
- },
- {
- "teal": 1415,
- "source": 483,
- "pc": [
- 1486,
- 1487
- ]
- },
- {
- "teal": 1416,
- "source": 483,
- "pc": [
- 1488
- ]
- },
- {
- "teal": 1417,
- "source": 478,
- "pc": [
- 1489
- ]
- },
- {
- "teal": 1422,
- "source": 494,
- "pc": [
- 1490,
- 1491,
- 1492
- ]
- },
- {
- "teal": 1423,
- "source": 494,
- "pc": [
- 1493
- ]
- },
- {
- "teal": 1426,
- "source": 494,
- "pc": [
- 1494,
- 1495,
- 1496
- ]
- },
- {
- "teal": 1427,
- "source": 494,
- "pc": [
- 1497
- ]
- },
- {
- "teal": 1430,
- "source": 494,
- "pc": [
- 1498,
- 1499,
- 1500
- ]
- },
- {
- "teal": 1431,
- "source": 494,
- "pc": [
- 1501
- ]
- },
- {
- "teal": 1434,
- "source": 494,
- "pc": [
- 1502,
- 1503,
- 1504
- ]
- },
- {
- "teal": 1435,
- "source": 494,
- "pc": [
- 1505
- ]
- },
- {
- "teal": 1436,
- "source": 494,
- "pc": [
- 1506
- ]
- },
- {
- "teal": 1447,
- "source": 494,
- "pc": [
- 1507,
- 1508,
- 1509
- ]
- },
- {
- "teal": 1454,
- "source": 496,
- "pc": [
- 1510,
- 1511
- ]
- },
- {
- "teal": 1455,
- "source": 496,
- "pc": [
- 1512
- ]
- },
- {
- "teal": 1456,
- "source": 496,
- "pc": [
- 1513,
- 1514
- ]
- },
- {
- "teal": 1457,
- "source": 496,
- "pc": [
- 1515
- ]
- },
- {
- "teal": 1458,
- "source": 496,
- "pc": [
- 1516,
- 1517
- ]
- },
- {
- "teal": 1459,
- "source": 496,
- "pc": [
- 1518
- ]
- },
- {
- "teal": 1460,
- "source": 496,
- "pc": [
- 1519
- ]
- },
- {
- "teal": 1461,
- "source": 496,
- "pc": [
- 1520,
- 1521
- ]
- },
- {
- "teal": 1462,
- "source": 496,
- "pc": [
- 1522
- ]
- },
- {
- "teal": 1463,
- "source": 496,
- "pc": [
- 1523
- ]
- },
- {
- "teal": 1466,
- "source": 495,
- "errorMessage": "can only be called by validator owner",
- "pc": [
- 1524
- ]
- },
- {
- "teal": 1470,
- "source": 499,
- "pc": [
- 1525,
- 1526
- ]
- },
- {
- "teal": 1471,
- "source": 499,
- "pc": [
- 1527,
- 1528
- ]
- },
- {
- "teal": 1472,
- "source": 499,
- "pc": [
- 1529
- ]
- },
- {
- "teal": 1473,
- "source": 499,
- "pc": [
- 1530
- ]
- },
- {
- "teal": 1474,
- "source": 499,
- "pc": [
- 1531,
- 1532
- ]
- },
- {
- "teal": 1475,
- "source": 499,
- "pc": [
- 1533
- ]
- },
- {
- "teal": 1476,
- "source": 499,
- "pc": [
- 1534
- ]
- },
- {
- "teal": 1477,
- "source": 499,
- "pc": [
- 1535,
- 1536
- ]
- },
- {
- "teal": 1478,
- "source": 499,
- "pc": [
- 1537
- ]
- },
- {
- "teal": 1482,
- "source": 500,
- "pc": [
- 1538,
- 1539,
- 1540
- ]
- },
- {
- "teal": 1483,
- "source": 500,
- "pc": [
- 1541,
- 1542
- ]
- },
- {
- "teal": 1484,
- "source": 500,
- "pc": [
- 1543
- ]
- },
- {
- "teal": 1485,
- "source": 500,
- "pc": [
- 1544
- ]
- },
- {
- "teal": 1486,
- "source": 500,
- "pc": [
- 1545,
- 1546
- ]
- },
- {
- "teal": 1487,
- "source": 500,
- "pc": [
- 1547
- ]
- },
- {
- "teal": 1488,
- "source": 500,
- "pc": [
- 1548
- ]
- },
- {
- "teal": 1489,
- "source": 500,
- "pc": [
- 1549,
- 1550
- ]
- },
- {
- "teal": 1490,
- "source": 500,
- "pc": [
- 1551
- ]
- },
- {
- "teal": 1491,
- "source": 494,
- "pc": [
- 1552
- ]
- },
- {
- "teal": 1496,
- "source": 511,
- "pc": [
- 1553,
- 1554,
- 1555
- ]
- },
- {
- "teal": 1497,
- "source": 511,
- "pc": [
- 1556,
- 1557,
- 1558
- ]
- },
- {
- "teal": 1500,
- "source": 511,
- "pc": [
- 1559,
- 1560,
- 1561
- ]
- },
- {
- "teal": 1501,
- "source": 511,
- "pc": [
- 1562
- ]
- },
- {
- "teal": 1504,
- "source": 511,
- "pc": [
- 1563,
- 1564,
- 1565
- ]
- },
- {
- "teal": 1505,
- "source": 511,
- "pc": [
- 1566
- ]
- },
- {
- "teal": 1508,
- "source": 511,
- "pc": [
- 1567,
- 1568,
- 1569
- ]
- },
- {
- "teal": 1509,
- "source": 511,
- "pc": [
- 1570
- ]
- },
- {
- "teal": 1510,
- "source": 511,
- "pc": [
- 1571
- ]
- },
- {
- "teal": 1521,
- "source": 511,
- "pc": [
- 1572,
- 1573,
- 1574
- ]
- },
- {
- "teal": 1528,
- "source": 514,
- "pc": [
- 1575,
- 1576
- ]
- },
- {
- "teal": 1529,
- "source": 514,
- "pc": [
- 1577
- ]
- },
- {
- "teal": 1530,
- "source": 514,
- "pc": [
- 1578,
- 1579
- ]
- },
- {
- "teal": 1531,
- "source": 514,
- "pc": [
- 1580
- ]
- },
- {
- "teal": 1532,
- "source": 514,
- "pc": [
- 1581,
- 1582
- ]
- },
- {
- "teal": 1533,
- "source": 514,
- "pc": [
- 1583
- ]
- },
- {
- "teal": 1534,
- "source": 514,
- "pc": [
- 1584
- ]
- },
- {
- "teal": 1535,
- "source": 514,
- "pc": [
- 1585,
- 1586
- ]
- },
- {
- "teal": 1536,
- "source": 514,
- "pc": [
- 1587
- ]
- },
- {
- "teal": 1537,
- "source": 514,
- "pc": [
- 1588
- ]
- },
- {
- "teal": 1540,
- "source": 513,
- "errorMessage": "can only be called by validator owner",
- "pc": [
- 1589
- ]
- },
- {
- "teal": 1548,
- "source": 518,
- "pc": [
- 1590
- ]
- },
- {
- "teal": 1549,
- "source": 518,
- "pc": [
- 1591,
- 1592
- ]
- },
- {
- "teal": 1550,
- "source": 518,
- "pc": [
- 1593,
- 1594
- ]
- },
- {
- "teal": 1554,
- "source": 519,
- "pc": [
- 1595,
- 1596
- ]
- },
- {
- "teal": 1555,
- "source": 519,
- "pc": [
- 1597,
- 1598
- ]
- },
- {
- "teal": 1559,
- "source": 520,
- "pc": [
- 1599,
- 1600
- ]
- },
- {
- "teal": 1560,
- "source": 520,
- "pc": [
- 1601,
- 1602
- ]
- },
- {
- "teal": 1561,
- "source": 520,
- "pc": [
- 1603,
- 1604
- ]
- },
- {
- "teal": 1562,
- "source": 520,
- "pc": [
- 1605,
- 1606
- ]
- },
- {
- "teal": 1563,
- "source": 520,
- "pc": [
- 1607,
- 1608
- ]
- },
- {
- "teal": 1564,
- "source": 520,
- "pc": [
- 1609
- ]
- },
- {
- "teal": 1565,
- "source": 520,
- "pc": [
- 1610,
- 1611
- ]
- },
- {
- "teal": 1569,
- "source": 521,
- "pc": [
- 1612,
- 1613
- ]
- },
- {
- "teal": 1570,
- "source": 521,
- "pc": [
- 1614,
- 1615
- ]
- },
- {
- "teal": 1573,
- "source": 518,
- "pc": [
- 1616
- ]
- },
- {
- "teal": 1574,
- "source": 518,
- "pc": [
- 1617,
- 1618
- ]
- },
- {
- "teal": 1577,
- "source": 518,
- "pc": [
- 1619
- ]
- },
- {
- "teal": 1584,
- "source": 525,
- "pc": [
- 1620,
- 1621
- ]
- },
- {
- "teal": 1585,
- "source": 525,
- "pc": [
- 1622,
- 1623
- ]
- },
- {
- "teal": 1586,
- "source": 525,
- "pc": [
- 1624,
- 1625
- ]
- },
- {
- "teal": 1587,
- "source": 525,
- "pc": [
- 1626
- ]
- },
- {
- "teal": 1590,
- "source": 525,
- "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.owner.a')",
- "pc": [
- 1627
- ]
- },
- {
- "teal": 1591,
- "source": 525,
- "pc": [
- 1628
- ]
- },
- {
- "teal": 1594,
- "source": 524,
- "errorMessage": "If specifying NFD, account adding validator must be owner",
- "pc": [
- 1629
- ]
- },
- {
- "teal": 1598,
- "source": 528,
- "pc": [
- 1630,
- 1631
- ]
- },
- {
- "teal": 1599,
- "source": 528,
- "pc": [
- 1632,
- 1633
- ]
- },
- {
- "teal": 1600,
- "source": 528,
- "pc": [
- 1634
- ]
- },
- {
- "teal": 1601,
- "source": 528,
- "pc": [
- 1635
- ]
- },
- {
- "teal": 1602,
- "source": 528,
- "pc": [
- 1636,
- 1637
- ]
- },
- {
- "teal": 1603,
- "source": 528,
- "pc": [
- 1638
- ]
- },
- {
- "teal": 1604,
- "source": 528,
- "pc": [
- 1639
- ]
- },
- {
- "teal": 1605,
- "source": 528,
- "pc": [
- 1640,
- 1641
- ]
- },
- {
- "teal": 1606,
- "source": 528,
- "pc": [
- 1642
- ]
- },
- {
- "teal": 1607,
- "source": 511,
- "pc": [
- 1643
- ]
- },
- {
- "teal": 1612,
- "source": 535,
- "pc": [
- 1644,
- 1645,
- 1646
- ]
- },
- {
- "teal": 1613,
- "source": 535,
- "pc": [
- 1647
- ]
- },
- {
- "teal": 1614,
- "source": 535,
- "pc": [
- 1648
- ]
- },
- {
- "teal": 1615,
- "source": 535,
- "pc": [
- 1649,
- 1650
- ]
- },
- {
- "teal": 1616,
- "source": 535,
- "pc": [
- 1651
- ]
- },
- {
- "teal": 1619,
- "source": 535,
- "errorMessage": "argument 0 (commissionAddress) for changeValidatorCommissionAddress must be a address",
- "pc": [
- 1652
- ]
- },
- {
- "teal": 1622,
- "source": 535,
- "pc": [
- 1653,
- 1654,
- 1655
- ]
- },
- {
- "teal": 1623,
- "source": 535,
- "pc": [
- 1656
- ]
- },
- {
- "teal": 1626,
- "source": 535,
- "pc": [
- 1657,
- 1658,
- 1659
- ]
- },
- {
- "teal": 1627,
- "source": 535,
- "pc": [
- 1660
- ]
- },
- {
- "teal": 1628,
- "source": 535,
- "pc": [
- 1661
- ]
- },
- {
- "teal": 1635,
- "source": 535,
- "pc": [
- 1662,
- 1663,
- 1664
- ]
- },
- {
- "teal": 1642,
- "source": 537,
- "pc": [
- 1665,
- 1666
- ]
- },
- {
- "teal": 1643,
- "source": 537,
- "pc": [
- 1667
- ]
- },
- {
- "teal": 1644,
- "source": 537,
- "pc": [
- 1668,
- 1669
- ]
- },
- {
- "teal": 1645,
- "source": 537,
- "pc": [
- 1670
- ]
- },
- {
- "teal": 1646,
- "source": 537,
- "pc": [
- 1671,
- 1672
- ]
- },
- {
- "teal": 1647,
- "source": 537,
- "pc": [
- 1673
- ]
- },
- {
- "teal": 1648,
- "source": 537,
- "pc": [
- 1674
- ]
- },
- {
- "teal": 1649,
- "source": 537,
- "pc": [
- 1675,
- 1676
- ]
- },
- {
- "teal": 1650,
- "source": 537,
- "pc": [
- 1677
- ]
- },
- {
- "teal": 1651,
- "source": 537,
- "pc": [
- 1678
- ]
- },
- {
- "teal": 1654,
- "source": 536,
- "errorMessage": "can only be called by validator owner",
- "pc": [
- 1679
- ]
- },
- {
- "teal": 1658,
- "source": 540,
- "pc": [
- 1680,
- 1681
- ]
- },
- {
- "teal": 1659,
- "source": 540,
- "pc": [
- 1682,
- 1683
- ]
- },
- {
- "teal": 1660,
- "source": 540,
- "pc": [
- 1684
- ]
- },
- {
- "teal": 1661,
- "source": 540,
- "pc": [
- 1685
- ]
- },
- {
- "teal": 1665,
- "source": 541,
- "pc": [
- 1686,
- 1687,
- 1688
- ]
- },
- {
- "teal": 1666,
- "source": 541,
- "pc": [
- 1689,
- 1690
- ]
- },
- {
- "teal": 1667,
- "source": 541,
- "pc": [
- 1691
- ]
- },
- {
- "teal": 1668,
- "source": 541,
- "pc": [
- 1692,
- 1693
- ]
- },
- {
- "teal": 1669,
- "source": 541,
- "pc": [
- 1694
- ]
- },
- {
- "teal": 1670,
- "source": 541,
- "pc": [
- 1695
- ]
- },
- {
- "teal": 1671,
- "source": 541,
- "pc": [
- 1696,
- 1697
- ]
- },
- {
- "teal": 1672,
- "source": 541,
- "pc": [
- 1698
- ]
- },
- {
- "teal": 1673,
- "source": 535,
- "pc": [
- 1699
- ]
- },
- {
- "teal": 1678,
- "source": 554,
- "pc": [
- 1700,
- 1701,
- 1702
- ]
- },
- {
- "teal": 1679,
- "source": 554,
- "pc": [
- 1703
- ]
- },
- {
- "teal": 1682,
- "source": 553,
- "pc": [
- 1704,
- 1705,
- 1706
- ]
- },
- {
- "teal": 1683,
- "source": 553,
- "pc": [
- 1707
- ]
- },
- {
- "teal": 1686,
- "source": 552,
- "pc": [
- 1708,
- 1709,
- 1710
- ]
- },
- {
- "teal": 1687,
- "source": 552,
- "pc": [
- 1711
- ]
- },
- {
- "teal": 1688,
- "source": 552,
- "pc": [
- 1712
- ]
- },
- {
- "teal": 1689,
- "source": 552,
- "pc": [
- 1713,
- 1714
- ]
- },
- {
- "teal": 1690,
- "source": 552,
- "pc": [
- 1715
- ]
- },
- {
- "teal": 1693,
- "source": 552,
- "errorMessage": "argument 2 (EntryGatingAssets) for changeValidatorRewardInfo must be a uint64[4]",
- "pc": [
- 1716
- ]
- },
- {
- "teal": 1696,
- "source": 551,
- "pc": [
- 1717,
- 1718,
- 1719
- ]
- },
- {
- "teal": 1697,
- "source": 551,
- "pc": [
- 1720
- ]
- },
- {
- "teal": 1698,
- "source": 551,
- "pc": [
- 1721
- ]
- },
- {
- "teal": 1699,
- "source": 551,
- "pc": [
- 1722,
- 1723
- ]
- },
- {
- "teal": 1700,
- "source": 551,
- "pc": [
- 1724
- ]
- },
- {
- "teal": 1703,
- "source": 551,
- "errorMessage": "argument 3 (EntryGatingAddress) for changeValidatorRewardInfo must be a address",
- "pc": [
- 1725
- ]
- },
- {
- "teal": 1706,
- "source": 550,
- "pc": [
- 1726,
- 1727,
- 1728
- ]
- },
- {
- "teal": 1707,
- "source": 550,
- "pc": [
- 1729
- ]
- },
- {
- "teal": 1708,
- "source": 550,
- "pc": [
- 1730
- ]
- },
- {
- "teal": 1709,
- "source": 550,
- "pc": [
- 1731
- ]
- },
- {
- "teal": 1710,
- "source": 550,
- "pc": [
- 1732
- ]
- },
- {
- "teal": 1713,
- "source": 550,
- "errorMessage": "argument 4 (EntryGatingType) for changeValidatorRewardInfo must be a uint8",
- "pc": [
- 1733
- ]
- },
- {
- "teal": 1714,
- "source": 550,
- "pc": [
- 1734
- ]
- },
- {
- "teal": 1717,
- "source": 549,
- "pc": [
- 1735,
- 1736,
- 1737
- ]
- },
- {
- "teal": 1718,
- "source": 549,
- "pc": [
- 1738
- ]
- },
- {
- "teal": 1721,
- "source": 548,
- "pc": [
- 1739,
- 1740,
- 1741
- ]
- },
- {
- "teal": 1722,
- "source": 548,
- "pc": [
- 1742
- ]
- },
- {
- "teal": 1723,
- "source": 548,
- "pc": [
- 1743
- ]
- },
- {
- "teal": 1730,
- "source": 548,
- "pc": [
- 1744,
- 1745,
- 1746
- ]
- },
- {
- "teal": 1737,
- "source": 557,
- "pc": [
- 1747,
- 1748
- ]
- },
- {
- "teal": 1738,
- "source": 557,
- "pc": [
- 1749
- ]
- },
- {
- "teal": 1739,
- "source": 557,
- "pc": [
- 1750,
- 1751
- ]
- },
- {
- "teal": 1740,
- "source": 557,
- "pc": [
- 1752
- ]
- },
- {
- "teal": 1741,
- "source": 557,
- "pc": [
- 1753,
- 1754
- ]
- },
- {
- "teal": 1742,
- "source": 557,
- "pc": [
- 1755
- ]
- },
- {
- "teal": 1743,
- "source": 557,
- "pc": [
- 1756
- ]
- },
- {
- "teal": 1744,
- "source": 557,
- "pc": [
- 1757,
- 1758
- ]
- },
- {
- "teal": 1745,
- "source": 557,
- "pc": [
- 1759
- ]
- },
- {
- "teal": 1746,
- "source": 557,
- "pc": [
- 1760
- ]
- },
- {
- "teal": 1749,
- "source": 556,
- "errorMessage": "can only be called by validator owner",
- "pc": [
- 1761
- ]
- },
- {
- "teal": 1753,
- "source": 561,
- "pc": [
- 1762,
- 1763
- ]
- },
- {
- "teal": 1754,
- "source": 561,
- "pc": [
- 1764,
- 1765
- ]
- },
- {
- "teal": 1755,
- "source": 561,
- "pc": [
- 1766
- ]
- },
- {
- "teal": 1756,
- "source": 561,
- "pc": [
- 1767,
- 1768,
- 1769
- ]
- },
- {
- "teal": 1757,
- "source": 561,
- "pc": [
- 1770
- ]
- },
- {
- "teal": 1758,
- "source": 561,
- "pc": [
- 1771,
- 1772
- ]
- },
- {
- "teal": 1759,
- "source": 561,
- "pc": [
- 1773
- ]
- },
- {
- "teal": 1760,
- "source": 561,
- "pc": [
- 1774
- ]
- },
- {
- "teal": 1761,
- "source": 561,
- "pc": [
- 1775,
- 1776
- ]
- },
- {
- "teal": 1762,
- "source": 561,
- "pc": [
- 1777
- ]
- },
- {
- "teal": 1766,
- "source": 562,
- "pc": [
- 1778,
- 1779
- ]
- },
- {
- "teal": 1767,
- "source": 562,
- "pc": [
- 1780,
- 1781
- ]
- },
- {
- "teal": 1768,
- "source": 562,
- "pc": [
- 1782
- ]
- },
- {
- "teal": 1769,
- "source": 562,
- "pc": [
- 1783,
- 1784
- ]
- },
- {
- "teal": 1770,
- "source": 562,
- "pc": [
- 1785
- ]
- },
- {
- "teal": 1771,
- "source": 562,
- "pc": [
- 1786
- ]
- },
- {
- "teal": 1772,
- "source": 562,
- "pc": [
- 1787,
- 1788
- ]
- },
- {
- "teal": 1773,
- "source": 562,
- "pc": [
- 1789
- ]
- },
- {
- "teal": 1777,
- "source": 563,
- "pc": [
- 1790,
- 1791
- ]
- },
- {
- "teal": 1778,
- "source": 563,
- "pc": [
- 1792,
- 1793
- ]
- },
- {
- "teal": 1779,
- "source": 563,
- "pc": [
- 1794
- ]
- },
- {
- "teal": 1780,
- "source": 563,
- "pc": [
- 1795,
- 1796
- ]
- },
- {
- "teal": 1781,
- "source": 563,
- "pc": [
- 1797
- ]
- },
- {
- "teal": 1782,
- "source": 563,
- "pc": [
- 1798
- ]
- },
- {
- "teal": 1783,
- "source": 563,
- "pc": [
- 1799,
- 1800
- ]
- },
- {
- "teal": 1784,
- "source": 563,
- "pc": [
- 1801
- ]
- },
- {
- "teal": 1788,
- "source": 564,
- "pc": [
- 1802,
- 1803
- ]
- },
- {
- "teal": 1789,
- "source": 564,
- "pc": [
- 1804,
- 1805
- ]
- },
- {
- "teal": 1790,
- "source": 564,
- "pc": [
- 1806
- ]
- },
- {
- "teal": 1791,
- "source": 564,
- "pc": [
- 1807
- ]
- },
- {
- "teal": 1792,
- "source": 564,
- "pc": [
- 1808,
- 1809
- ]
- },
- {
- "teal": 1793,
- "source": 564,
- "pc": [
- 1810
- ]
- },
- {
- "teal": 1794,
- "source": 564,
- "pc": [
- 1811
- ]
- },
- {
- "teal": 1795,
- "source": 564,
- "pc": [
- 1812,
- 1813
- ]
- },
- {
- "teal": 1796,
- "source": 564,
- "pc": [
- 1814
- ]
- },
- {
- "teal": 1800,
- "source": 565,
- "pc": [
- 1815,
- 1816,
- 1817
- ]
- },
- {
- "teal": 1801,
- "source": 565,
- "pc": [
- 1818,
- 1819
- ]
- },
- {
- "teal": 1802,
- "source": 565,
- "pc": [
- 1820
- ]
- },
- {
- "teal": 1803,
- "source": 565,
- "pc": [
- 1821
- ]
- },
- {
- "teal": 1804,
- "source": 565,
- "pc": [
- 1822,
- 1823
- ]
- },
- {
- "teal": 1805,
- "source": 565,
- "pc": [
- 1824
- ]
- },
- {
- "teal": 1806,
- "source": 565,
- "pc": [
- 1825
- ]
- },
- {
- "teal": 1807,
- "source": 565,
- "pc": [
- 1826,
- 1827
- ]
- },
- {
- "teal": 1808,
- "source": 565,
- "pc": [
- 1828
- ]
- },
- {
- "teal": 1809,
- "source": 548,
- "pc": [
- 1829
- ]
- },
- {
- "teal": 1814,
- "source": 579,
- "pc": [
- 1830
- ]
- },
- {
- "teal": 1817,
- "source": 579,
- "pc": [
- 1831,
- 1832,
- 1833
- ]
- },
- {
- "teal": 1818,
- "source": 579,
- "pc": [
- 1834
- ]
- },
- {
- "teal": 1821,
- "source": 579,
- "pc": [
- 1835,
- 1836,
- 1837
- ]
- },
- {
- "teal": 1822,
- "source": 579,
- "pc": [
- 1838
- ]
- },
- {
- "teal": 1825,
- "source": 579,
- "pc": [
- 1839,
- 1840
- ]
- },
- {
- "teal": 1826,
- "source": 579,
- "pc": [
- 1841
- ]
- },
- {
- "teal": 1827,
- "source": 579,
- "pc": [
- 1842
- ]
- },
- {
- "teal": 1828,
- "source": 579,
- "pc": [
- 1843
- ]
- },
- {
- "teal": 1829,
- "source": 579,
- "pc": [
- 1844,
- 1845
- ]
- },
- {
- "teal": 1830,
- "source": 579,
- "pc": [
- 1846
- ]
- },
- {
- "teal": 1831,
- "source": 579,
- "pc": [
- 1847
- ]
- },
- {
- "teal": 1834,
- "source": 579,
- "errorMessage": "argument 2 (mbrPayment) for addPool must be a pay transaction",
- "pc": [
- 1848
- ]
- },
- {
- "teal": 1837,
- "source": 579,
- "pc": [
- 1849,
- 1850,
- 1851
- ]
- },
- {
- "teal": 1838,
- "source": 579,
- "pc": [
- 1852
- ]
- },
- {
- "teal": 1839,
- "source": 579,
- "pc": [
- 1853
- ]
- },
- {
- "teal": 1840,
- "source": 579,
- "pc": [
- 1854
- ]
- },
- {
- "teal": 1841,
- "source": 579,
- "pc": [
- 1855
- ]
- },
- {
- "teal": 1854,
- "source": 579,
- "pc": [
- 1856,
- 1857,
- 1858
- ]
- },
- {
- "teal": 1857,
- "source": 579,
- "pc": [
- 1859
- ]
- },
- {
- "teal": 1858,
- "source": 579,
- "pc": [
- 1860
- ]
- },
- {
- "teal": 1866,
- "source": 582,
- "pc": [
- 1861,
- 1862
- ]
- },
- {
- "teal": 1867,
- "source": 582,
- "pc": [
- 1863
- ]
- },
- {
- "teal": 1868,
- "source": 582,
- "pc": [
- 1864,
- 1865
- ]
- },
- {
- "teal": 1869,
- "source": 582,
- "pc": [
- 1866
- ]
- },
- {
- "teal": 1870,
- "source": 582,
- "pc": [
- 1867,
- 1868
- ]
- },
- {
- "teal": 1871,
- "source": 582,
- "pc": [
- 1869
- ]
- },
- {
- "teal": 1872,
- "source": 582,
- "pc": [
- 1870
- ]
- },
- {
- "teal": 1873,
- "source": 582,
- "pc": [
- 1871,
- 1872
- ]
- },
- {
- "teal": 1874,
- "source": 582,
- "pc": [
- 1873
- ]
- },
- {
- "teal": 1875,
- "source": 582,
- "pc": [
- 1874
- ]
- },
- {
- "teal": 1876,
- "source": 582,
- "pc": [
- 1875
- ]
- },
- {
- "teal": 1877,
- "source": 582,
- "pc": [
- 1876,
- 1877,
- 1878
- ]
- },
- {
- "teal": 1878,
- "source": 583,
- "pc": [
- 1879,
- 1880
- ]
- },
- {
- "teal": 1879,
- "source": 583,
- "pc": [
- 1881,
- 1882
- ]
- },
- {
- "teal": 1880,
- "source": 583,
- "pc": [
- 1883,
- 1884
- ]
- },
- {
- "teal": 1881,
- "source": 583,
- "pc": [
- 1885
- ]
- },
- {
- "teal": 1882,
- "source": 583,
- "pc": [
- 1886,
- 1887
- ]
- },
- {
- "teal": 1883,
- "source": 583,
- "pc": [
- 1888
- ]
- },
- {
- "teal": 1884,
- "source": 583,
- "pc": [
- 1889
- ]
- },
- {
- "teal": 1885,
- "source": 583,
- "pc": [
- 1890,
- 1891
- ]
- },
- {
- "teal": 1886,
- "source": 583,
- "pc": [
- 1892
- ]
- },
- {
- "teal": 1887,
- "source": 583,
- "pc": [
- 1893
- ]
- },
- {
- "teal": 1888,
- "source": 582,
- "pc": [
- 1894
- ]
- },
- {
- "teal": 1892,
- "source": 581,
- "errorMessage": "can only be called by owner or manager of validator",
- "pc": [
- 1895
- ]
- },
- {
- "teal": 1897,
- "source": 588,
- "pc": [
- 1896,
- 1897
- ]
- },
- {
- "teal": 1898,
- "source": 588,
- "pc": [
- 1898,
- 1899
- ]
- },
- {
- "teal": 1899,
- "source": 588,
- "pc": [
- 1900,
- 1901,
- 1902
- ]
- },
- {
- "teal": 1900,
- "source": 588,
- "pc": [
- 1903,
- 1904,
- 1905
- ]
- },
- {
- "teal": 1901,
- "source": 588,
- "pc": [
- 1906
- ]
- },
- {
- "teal": 1902,
- "source": 588,
- "pc": [
- 1907
- ]
- },
- {
- "teal": 1905,
- "source": 588,
- "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addPoolMbr\"}",
- "pc": [
- 1908
- ]
- },
- {
- "teal": 1908,
- "source": 588,
- "pc": [
- 1909,
- 1910
- ]
- },
- {
- "teal": 1909,
- "source": 588,
- "pc": [
- 1911,
- 1912
- ]
- },
- {
- "teal": 1910,
- "source": 588,
- "pc": [
- 1913,
- 1914
- ]
- },
- {
- "teal": 1911,
- "source": 588,
- "pc": [
- 1915
- ]
- },
- {
- "teal": 1914,
- "source": 588,
- "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 1916
- ]
- },
- {
- "teal": 1918,
- "source": 590,
- "pc": [
- 1917
- ]
- },
- {
- "teal": 1919,
- "source": 590,
- "pc": [
- 1918,
- 1919
- ]
- },
- {
- "teal": 1920,
- "source": 590,
- "pc": [
- 1920
- ]
- },
- {
- "teal": 1921,
- "source": 590,
- "pc": [
- 1921
- ]
- },
- {
- "teal": 1922,
- "source": 590,
- "pc": [
- 1922
- ]
- },
- {
- "teal": 1923,
- "source": 590,
- "pc": [
- 1923
- ]
- },
- {
- "teal": 1924,
- "source": 590,
- "pc": [
- 1924
- ]
- },
- {
- "teal": 1927,
- "source": 590,
- "errorMessage": "specified validator id isn't valid",
- "pc": [
- 1925
- ]
- },
- {
- "teal": 1931,
- "source": 592,
- "pc": [
- 1926,
- 1927
- ]
- },
- {
- "teal": 1932,
- "source": 592,
- "pc": [
- 1928,
- 1929
- ]
- },
- {
- "teal": 1933,
- "source": 592,
- "pc": [
- 1930
- ]
- },
- {
- "teal": 1934,
- "source": 592,
- "pc": [
- 1931,
- 1932
- ]
- },
- {
- "teal": 1935,
- "source": 592,
- "pc": [
- 1933
- ]
- },
- {
- "teal": 1936,
- "source": 592,
- "pc": [
- 1934
- ]
- },
- {
- "teal": 1937,
- "source": 592,
- "pc": [
- 1935,
- 1936
- ]
- },
- {
- "teal": 1938,
- "source": 592,
- "pc": [
- 1937
- ]
- },
- {
- "teal": 1939,
- "source": 592,
- "pc": [
- 1938
- ]
- },
- {
- "teal": 1940,
- "source": 592,
- "pc": [
- 1939,
- 1940
- ]
- },
- {
- "teal": 1945,
- "source": 593,
- "pc": [
- 1941,
- 1942
- ]
- },
- {
- "teal": 1946,
- "source": 32,
- "pc": [
- 1943
- ]
- },
- {
- "teal": 1947,
- "source": 593,
- "pc": [
- 1944
- ]
- },
- {
- "teal": 1948,
- "source": 593,
- "pc": [
- 1945,
- 1946,
- 1947
- ]
- },
- {
- "teal": 1952,
- "source": 594,
- "errorMessage": "already at max pool size",
- "pc": [
- 1948
- ]
- },
- {
- "teal": 1957,
- "source": 596,
- "pc": [
- 1949,
- 1950
- ]
- },
- {
- "teal": 1958,
- "source": 596,
- "pc": [
- 1951
- ]
- },
- {
- "teal": 1959,
- "source": 596,
- "pc": [
- 1952
- ]
- },
- {
- "teal": 1960,
- "source": 596,
- "pc": [
- 1953,
- 1954
- ]
- },
- {
- "teal": 1982,
- "source": 599,
- "pc": [
- 1955
- ]
- },
- {
- "teal": 1983,
- "source": 599,
- "pc": [
- 1956,
- 1957
- ]
- },
- {
- "teal": 1984,
- "source": 599,
- "pc": [
- 1958,
- 1959
- ]
- },
- {
- "teal": 1988,
- "source": 600,
- "pc": [
- 1960
- ]
- },
- {
- "teal": 1989,
- "source": 600,
- "pc": [
- 1961,
- 1962
- ]
- },
- {
- "teal": 1996,
- "source": 602,
- "pc": [
- 1963,
- 1964
- ]
- },
- {
- "teal": 1997,
- "source": 602,
- "pc": [
- 1965
- ]
- },
- {
- "teal": 1998,
- "source": 602,
- "pc": [
- 1966,
- 1967
- ]
- },
- {
- "teal": 1999,
- "source": 602,
- "pc": [
- 1968
- ]
- },
- {
- "teal": 2000,
- "source": 602,
- "pc": [
- 1969,
- 1970
- ]
- },
- {
- "teal": 2001,
- "source": 603,
- "pc": [
- 1971,
- 1972
- ]
- },
- {
- "teal": 2002,
- "source": 603,
- "pc": [
- 1973,
- 1974
- ]
- },
- {
- "teal": 2003,
- "source": 603,
- "pc": [
- 1975,
- 1976
- ]
- },
- {
- "teal": 2004,
- "source": 603,
- "pc": [
- 1977
- ]
- },
- {
- "teal": 2007,
- "source": 603,
- "errorMessage": "box value does not exist: this.stakingPoolApprovalProgram.size",
- "pc": [
- 1978
- ]
- },
- {
- "teal": 2008,
- "source": 603,
- "pc": [
- 1979,
- 1980
- ]
- },
- {
- "teal": 2009,
- "source": 603,
- "pc": [
- 1981
- ]
- },
- {
- "teal": 2010,
- "source": 603,
- "pc": [
- 1982
- ]
- },
- {
- "teal": 2011,
- "source": 603,
- "pc": [
- 1983,
- 1984
- ]
- },
- {
- "teal": 2015,
- "source": 605,
- "pc": [
- 1985,
- 1986,
- 1987
- ]
- },
- {
- "teal": 2016,
- "source": 605,
- "pc": [
- 1988,
- 1989
- ]
- },
- {
- "teal": 2020,
- "source": 606,
- "pc": [
- 1990,
- 1991
- ]
- },
- {
- "teal": 2021,
- "source": 606,
- "pc": [
- 1992,
- 1993
- ]
- },
- {
- "teal": 2025,
- "source": 607,
- "pc": [
- 1994,
- 1995
- ]
- },
- {
- "teal": 2026,
- "source": 607,
- "pc": [
- 1996,
- 1997
- ]
- },
- {
- "teal": 2030,
- "source": 608,
- "pc": [
- 1998,
- 1999
- ]
- },
- {
- "teal": 2031,
- "source": 608,
- "pc": [
- 2000,
- 2001
- ]
- },
- {
- "teal": 2042,
- "source": 611,
- "pc": [
- 2002,
- 2003,
- 2004,
- 2005,
- 2006,
- 2007
- ]
- },
- {
- "teal": 2043,
- "source": 611,
- "pc": [
- 2008,
- 2009
- ]
- },
- {
- "teal": 2044,
- "source": 612,
- "pc": [
- 2010,
- 2011,
- 2012
- ]
- },
- {
- "teal": 2045,
- "source": 612,
- "pc": [
- 2013
- ]
- },
- {
- "teal": 2046,
- "source": 612,
- "pc": [
- 2014,
- 2015
- ]
- },
- {
- "teal": 2047,
- "source": 613,
- "pc": [
- 2016,
- 2017
- ]
- },
- {
- "teal": 2048,
- "source": 613,
- "pc": [
- 2018
- ]
- },
- {
- "teal": 2049,
- "source": 613,
- "pc": [
- 2019,
- 2020
- ]
- },
- {
- "teal": 2050,
- "source": 614,
- "pc": [
- 2021,
- 2022
- ]
- },
- {
- "teal": 2051,
- "source": 614,
- "pc": [
- 2023
- ]
- },
- {
- "teal": 2052,
- "source": 614,
- "pc": [
- 2024,
- 2025
- ]
- },
- {
- "teal": 2053,
- "source": 615,
- "pc": [
- 2026,
- 2027
- ]
- },
- {
- "teal": 2054,
- "source": 615,
- "pc": [
- 2028
- ]
- },
- {
- "teal": 2055,
- "source": 615,
- "pc": [
- 2029
- ]
- },
- {
- "teal": 2056,
- "source": 615,
- "pc": [
- 2030,
- 2031
- ]
- },
- {
- "teal": 2057,
- "source": 615,
- "pc": [
- 2032
- ]
- },
- {
- "teal": 2058,
- "source": 615,
- "pc": [
- 2033
- ]
- },
- {
- "teal": 2059,
- "source": 615,
- "pc": [
- 2034,
- 2035
- ]
- },
- {
- "teal": 2060,
- "source": 615,
- "pc": [
- 2036
- ]
- },
- {
- "teal": 2061,
- "source": 615,
- "pc": [
- 2037
- ]
- },
- {
- "teal": 2062,
- "source": 615,
- "pc": [
- 2038
- ]
- },
- {
- "teal": 2063,
- "source": 615,
- "pc": [
- 2039,
- 2040
- ]
- },
- {
- "teal": 2066,
- "source": 599,
- "pc": [
- 2041
- ]
- },
- {
- "teal": 2067,
- "source": 599,
- "pc": [
- 2042,
- 2043
- ]
- },
- {
- "teal": 2070,
- "source": 599,
- "pc": [
- 2044
- ]
- },
- {
- "teal": 2074,
- "source": 619,
- "pc": [
- 2045,
- 2046
- ]
- },
- {
- "teal": 2075,
- "source": 619,
- "pc": [
- 2047,
- 2048
- ]
- },
- {
- "teal": 2076,
- "source": 619,
- "pc": [
- 2049
- ]
- },
- {
- "teal": 2077,
- "source": 619,
- "pc": [
- 2050,
- 2051,
- 2052
- ]
- },
- {
- "teal": 2078,
- "source": 619,
- "pc": [
- 2053
- ]
- },
- {
- "teal": 2079,
- "source": 619,
- "pc": [
- 2054,
- 2055
- ]
- },
- {
- "teal": 2080,
- "source": 619,
- "pc": [
- 2056
- ]
- },
- {
- "teal": 2081,
- "source": 619,
- "pc": [
- 2057
- ]
- },
- {
- "teal": 2082,
- "source": 619,
- "pc": [
- 2058,
- 2059
- ]
- },
- {
- "teal": 2083,
- "source": 619,
- "pc": [
- 2060
- ]
- },
- {
- "teal": 2087,
- "source": 622,
- "pc": [
- 2061,
- 2062
- ]
- },
- {
- "teal": 2088,
- "source": 622,
- "pc": [
- 2063,
- 2064
- ]
- },
- {
- "teal": 2092,
- "source": 623,
- "pc": [
- 2065,
- 2066
- ]
- },
- {
- "teal": 2093,
- "source": 623,
- "pc": [
- 2067,
- 2068
- ]
- },
- {
- "teal": 2094,
- "source": 623,
- "pc": [
- 2069
- ]
- },
- {
- "teal": 2095,
- "source": 623,
- "pc": [
- 2070
- ]
- },
- {
- "teal": 2096,
- "source": 623,
- "pc": [
- 2071,
- 2072
- ]
- },
- {
- "teal": 2097,
- "source": 623,
- "pc": [
- 2073
- ]
- },
- {
- "teal": 2098,
- "source": 623,
- "pc": [
- 2074
- ]
- },
- {
- "teal": 2099,
- "source": 623,
- "pc": [
- 2075
- ]
- },
- {
- "teal": 2100,
- "source": 623,
- "pc": [
- 2076
- ]
- },
- {
- "teal": 2101,
- "source": 623,
- "pc": [
- 2077,
- 2078
- ]
- },
- {
- "teal": 2102,
- "source": 623,
- "pc": [
- 2079
- ]
- },
- {
- "teal": 2103,
- "source": 623,
- "pc": [
- 2080
- ]
- },
- {
- "teal": 2104,
- "source": 623,
- "pc": [
- 2081,
- 2082
- ]
- },
- {
- "teal": 2105,
- "source": 623,
- "pc": [
- 2083
- ]
- },
- {
- "teal": 2106,
- "source": 623,
- "pc": [
- 2084
- ]
- },
- {
- "teal": 2107,
- "source": 623,
- "pc": [
- 2085,
- 2086
- ]
- },
- {
- "teal": 2108,
- "source": 623,
- "pc": [
- 2087
- ]
- },
- {
- "teal": 2112,
- "source": 624,
- "pc": [
- 2088,
- 2089
- ]
- },
- {
- "teal": 2113,
- "source": 624,
- "pc": [
- 2090,
- 2091
- ]
- },
- {
- "teal": 2114,
- "source": 624,
- "pc": [
- 2092,
- 2093
- ]
- },
- {
- "teal": 2115,
- "source": 624,
- "pc": [
- 2094,
- 2095,
- 2096
- ]
- },
- {
- "teal": 2119,
- "source": 632,
- "pc": [
- 2097,
- 2098
- ]
- },
- {
- "teal": 2120,
- "source": 632,
- "pc": [
- 2099
- ]
- },
- {
- "teal": 2121,
- "source": 632,
- "pc": [
- 2100,
- 2101
- ]
- },
- {
- "teal": 2122,
- "source": 632,
- "pc": [
- 2102
- ]
- },
- {
- "teal": 2123,
- "source": 632,
- "pc": [
- 2103
- ]
- },
- {
- "teal": 2124,
- "source": 632,
- "pc": [
- 2104,
- 2105
- ]
- },
- {
- "teal": 2125,
- "source": 632,
- "pc": [
- 2106
- ]
- },
- {
- "teal": 2126,
- "source": 632,
- "pc": [
- 2107
- ]
- },
- {
- "teal": 2129,
- "source": 579,
- "pc": [
- 2108,
- 2109
- ]
- },
- {
- "teal": 2132,
- "source": 579,
- "pc": [
- 2110,
- 2111
- ]
- },
- {
- "teal": 2133,
- "source": 579,
- "pc": [
- 2112
- ]
- },
- {
- "teal": 2138,
- "source": 644,
- "pc": [
- 2113
- ]
- },
- {
- "teal": 2141,
- "source": 644,
- "pc": [
- 2114,
- 2115,
- 2116
- ]
- },
- {
- "teal": 2142,
- "source": 644,
- "pc": [
- 2117
- ]
- },
- {
- "teal": 2145,
- "source": 644,
- "pc": [
- 2118,
- 2119,
- 2120
- ]
- },
- {
- "teal": 2146,
- "source": 644,
- "pc": [
- 2121
- ]
- },
- {
- "teal": 2149,
- "source": 644,
- "pc": [
- 2122,
- 2123
- ]
- },
- {
- "teal": 2150,
- "source": 644,
- "pc": [
- 2124
- ]
- },
- {
- "teal": 2151,
- "source": 644,
- "pc": [
- 2125
- ]
- },
- {
- "teal": 2152,
- "source": 644,
- "pc": [
- 2126
- ]
- },
- {
- "teal": 2153,
- "source": 644,
- "pc": [
- 2127,
- 2128
- ]
- },
- {
- "teal": 2154,
- "source": 644,
- "pc": [
- 2129
- ]
- },
- {
- "teal": 2155,
- "source": 644,
- "pc": [
- 2130
- ]
- },
- {
- "teal": 2158,
- "source": 644,
- "errorMessage": "argument 2 (stakedAmountPayment) for addStake must be a pay transaction",
- "pc": [
- 2131
- ]
- },
- {
- "teal": 2161,
- "source": 644,
- "pc": [
- 2132,
- 2133,
- 2134
- ]
- },
- {
- "teal": 2162,
- "source": 644,
- "pc": [
- 2135
- ]
- },
- {
- "teal": 2163,
- "source": 644,
- "pc": [
- 2136
- ]
- },
- {
- "teal": 2164,
- "source": 644,
- "pc": [
- 2137
- ]
- },
- {
- "teal": 2165,
- "source": 644,
- "pc": [
- 2138
- ]
- },
- {
- "teal": 2177,
- "source": 644,
- "pc": [
- 2139,
- 2140,
- 2141
- ]
- },
- {
- "teal": 2180,
- "source": 644,
- "pc": [
- 2142
- ]
- },
- {
- "teal": 2181,
- "source": 644,
- "pc": [
- 2143,
- 2144
- ]
- },
- {
- "teal": 2185,
- "source": 645,
- "pc": [
- 2145
- ]
- },
- {
- "teal": 2186,
- "source": 645,
- "pc": [
- 2146,
- 2147
- ]
- },
- {
- "teal": 2187,
- "source": 645,
- "pc": [
- 2148
- ]
- },
- {
- "teal": 2188,
- "source": 645,
- "pc": [
- 2149
- ]
- },
- {
- "teal": 2189,
- "source": 645,
- "pc": [
- 2150
- ]
- },
- {
- "teal": 2190,
- "source": 645,
- "pc": [
- 2151
- ]
- },
- {
- "teal": 2191,
- "source": 645,
- "pc": [
- 2152
- ]
- },
- {
- "teal": 2194,
- "source": 645,
- "errorMessage": "specified validator id isn't valid",
- "pc": [
- 2153
- ]
- },
- {
- "teal": 2199,
- "source": 648,
- "pc": [
- 2154,
- 2155
- ]
- },
- {
- "teal": 2200,
- "source": 648,
- "pc": [
- 2156
- ]
- },
- {
- "teal": 2201,
- "source": 648,
- "pc": [
- 2157
- ]
- },
- {
- "teal": 2202,
- "source": 648,
- "pc": [
- 2158,
- 2159
- ]
- },
- {
- "teal": 2203,
- "source": 648,
- "pc": [
- 2160
- ]
- },
- {
- "teal": 2204,
- "source": 648,
- "pc": [
- 2161
- ]
- },
- {
- "teal": 2205,
- "source": 648,
- "pc": [
- 2162,
- 2163
- ]
- },
- {
- "teal": 2206,
- "source": 648,
- "pc": [
- 2164
- ]
- },
- {
- "teal": 2207,
- "source": 648,
- "pc": [
- 2165
- ]
- },
- {
- "teal": 2208,
- "source": 648,
- "pc": [
- 2166
- ]
- },
- {
- "teal": 2209,
- "source": 648,
- "pc": [
- 2167
- ]
- },
- {
- "teal": 2210,
- "source": 648,
- "pc": [
- 2168,
- 2169,
- 2170
- ]
- },
- {
- "teal": 2218,
- "source": 650,
- "pc": [
- 2171,
- 2172
- ]
- },
- {
- "teal": 2219,
- "source": 650,
- "pc": [
- 2173
- ]
- },
- {
- "teal": 2220,
- "source": 650,
- "pc": [
- 2174
- ]
- },
- {
- "teal": 2221,
- "source": 650,
- "pc": [
- 2175,
- 2176
- ]
- },
- {
- "teal": 2222,
- "source": 650,
- "pc": [
- 2177
- ]
- },
- {
- "teal": 2223,
- "source": 650,
- "pc": [
- 2178
- ]
- },
- {
- "teal": 2224,
- "source": 650,
- "pc": [
- 2179,
- 2180
- ]
- },
- {
- "teal": 2225,
- "source": 650,
- "pc": [
- 2181
- ]
- },
- {
- "teal": 2226,
- "source": 650,
- "pc": [
- 2182
- ]
- },
- {
- "teal": 2227,
- "source": 650,
- "pc": [
- 2183,
- 2184
- ]
- },
- {
- "teal": 2228,
- "source": 650,
- "pc": [
- 2185
- ]
- },
- {
- "teal": 2231,
- "source": 649,
- "errorMessage": "can't stake with a validator that is past its sunsetting time",
- "pc": [
- 2186
- ]
- },
- {
- "teal": 2236,
- "source": 655,
- "pc": [
- 2187,
- 2188
- ]
- },
- {
- "teal": 2237,
- "source": 655,
- "pc": [
- 2189,
- 2190
- ]
- },
- {
- "teal": 2245,
- "source": 659,
- "pc": [
- 2191,
- 2192
- ]
- },
- {
- "teal": 2246,
- "source": 660,
- "pc": [
- 2193,
- 2194
- ]
- },
- {
- "teal": 2247,
- "source": 660,
- "pc": [
- 2195,
- 2196
- ]
- },
- {
- "teal": 2248,
- "source": 660,
- "pc": [
- 2197
- ]
- },
- {
- "teal": 2251,
- "source": 660,
- "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"staker\"}",
- "pc": [
- 2198
- ]
- },
- {
- "teal": 2254,
- "source": 659,
- "pc": [
- 2199,
- 2200
- ]
- },
- {
- "teal": 2255,
- "source": 661,
- "pc": [
- 2201,
- 2202
- ]
- },
- {
- "teal": 2256,
- "source": 661,
- "pc": [
- 2203,
- 2204
- ]
- },
- {
- "teal": 2257,
- "source": 661,
- "pc": [
- 2205
- ]
- },
- {
- "teal": 2260,
- "source": 661,
- "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 2206
- ]
- },
- {
- "teal": 2267,
- "source": 667,
- "pc": [
- 2207,
- 2208
- ]
- },
- {
- "teal": 2268,
- "source": 667,
- "pc": [
- 2209
- ]
- },
- {
- "teal": 2269,
- "source": 667,
- "pc": [
- 2210
- ]
- },
- {
- "teal": 2270,
- "source": 667,
- "pc": [
- 2211,
- 2212
- ]
- },
- {
- "teal": 2271,
- "source": 667,
- "pc": [
- 2213
- ]
- },
- {
- "teal": 2272,
- "source": 667,
- "pc": [
- 2214
- ]
- },
- {
- "teal": 2273,
- "source": 667,
- "pc": [
- 2215,
- 2216
- ]
- },
- {
- "teal": 2274,
- "source": 667,
- "pc": [
- 2217
- ]
- },
- {
- "teal": 2275,
- "source": 667,
- "pc": [
- 2218
- ]
- },
- {
- "teal": 2276,
- "source": 667,
- "pc": [
- 2219,
- 2220,
- 2221
- ]
- },
- {
- "teal": 2277,
- "source": 667,
- "pc": [
- 2222
- ]
- },
- {
- "teal": 2280,
- "source": 666,
- "errorMessage": "total staked for all of a validators pools may not exceed hard cap",
- "pc": [
- 2223
- ]
- },
- {
- "teal": 2284,
- "source": 673,
- "pc": [
- 2224,
- 2225
- ]
- },
- {
- "teal": 2285,
- "source": 673,
- "pc": [
- 2226,
- 2227
- ]
- },
- {
- "teal": 2286,
- "source": 673,
- "pc": [
- 2228,
- 2229,
- 2230
- ]
- },
- {
- "teal": 2290,
- "source": 675,
- "pc": [
- 2231,
- 2232
- ]
- },
- {
- "teal": 2291,
- "source": 675,
- "pc": [
- 2233,
- 2234
- ]
- },
- {
- "teal": 2292,
- "source": 675,
- "pc": [
- 2235,
- 2236
- ]
- },
- {
- "teal": 2296,
- "source": 676,
- "pc": [
- 2237
- ]
- },
- {
- "teal": 2297,
- "source": 676,
- "pc": [
- 2238,
- 2239
- ]
- },
- {
- "teal": 2302,
- "source": 678,
- "pc": [
- 2240
- ]
- },
- {
- "teal": 2303,
- "source": 678,
- "pc": [
- 2241,
- 2242
- ]
- },
- {
- "teal": 2304,
- "source": 678,
- "pc": [
- 2243
- ]
- },
- {
- "teal": 2305,
- "source": 678,
- "pc": [
- 2244
- ]
- },
- {
- "teal": 2306,
- "source": 678,
- "pc": [
- 2245
- ]
- },
- {
- "teal": 2307,
- "source": 678,
- "pc": [
- 2246
- ]
- },
- {
- "teal": 2308,
- "source": 678,
- "pc": [
- 2247
- ]
- },
- {
- "teal": 2309,
- "source": 678,
- "pc": [
- 2248,
- 2249,
- 2250
- ]
- },
- {
- "teal": 2314,
- "source": 681,
- "pc": [
- 2251,
- 2252,
- 2253
- ]
- },
- {
- "teal": 2315,
- "source": 681,
- "pc": [
- 2254,
- 2255,
- 2256
- ]
- },
- {
- "teal": 2316,
- "source": 681,
- "pc": [
- 2257
- ]
- },
- {
- "teal": 2317,
- "source": 681,
- "pc": [
- 2258,
- 2259
- ]
- },
- {
- "teal": 2321,
- "source": 682,
- "pc": [
- 2260,
- 2261
- ]
- },
- {
- "teal": 2322,
- "source": 682,
- "pc": [
- 2262,
- 2263
- ]
- },
- {
- "teal": 2323,
- "source": 682,
- "pc": [
- 2264
- ]
- },
- {
- "teal": 2324,
- "source": 682,
- "pc": [
- 2265,
- 2266
- ]
- },
- {
- "teal": 2328,
- "source": 683,
- "pc": [
- 2267
- ]
- },
- {
- "teal": 2329,
- "source": 683,
- "pc": [
- 2268,
- 2269
- ]
- },
- {
- "teal": 2330,
- "source": 683,
- "pc": [
- 2270
- ]
- },
- {
- "teal": 2331,
- "source": 683,
- "pc": [
- 2271,
- 2272,
- 2273
- ]
- },
- {
- "teal": 2332,
- "source": 683,
- "pc": [
- 2274
- ]
- },
- {
- "teal": 2333,
- "source": 683,
- "pc": [
- 2275
- ]
- },
- {
- "teal": 2338,
- "source": 687,
- "pc": [
- 2276,
- 2277
- ]
- },
- {
- "teal": 2339,
- "source": 687,
- "pc": [
- 2278,
- 2279
- ]
- },
- {
- "teal": 2340,
- "source": 687,
- "pc": [
- 2280,
- 2281
- ]
- },
- {
- "teal": 2341,
- "source": 687,
- "pc": [
- 2282,
- 2283,
- 2284
- ]
- },
- {
- "teal": 2342,
- "source": 687,
- "pc": [
- 2285,
- 2286
- ]
- },
- {
- "teal": 2348,
- "source": 689,
- "pc": [
- 2287,
- 2288
- ]
- },
- {
- "teal": 2349,
- "source": 689,
- "pc": [
- 2289,
- 2290
- ]
- },
- {
- "teal": 2350,
- "source": 689,
- "pc": [
- 2291,
- 2292
- ]
- },
- {
- "teal": 2351,
- "source": 689,
- "pc": [
- 2293,
- 2294
- ]
- },
- {
- "teal": 2352,
- "source": 689,
- "pc": [
- 2295
- ]
- },
- {
- "teal": 2353,
- "source": 689,
- "pc": [
- 2296,
- 2297
- ]
- },
- {
- "teal": 2357,
- "source": 690,
- "pc": [
- 2298,
- 2299
- ]
- },
- {
- "teal": 2358,
- "source": 690,
- "pc": [
- 2300,
- 2301
- ]
- },
- {
- "teal": 2359,
- "source": 690,
- "pc": [
- 2302,
- 2303
- ]
- },
- {
- "teal": 2360,
- "source": 690,
- "pc": [
- 2304,
- 2305,
- 2306
- ]
- },
- {
- "teal": 2361,
- "source": 690,
- "pc": [
- 2307
- ]
- },
- {
- "teal": 2362,
- "source": 690,
- "pc": [
- 2308,
- 2309
- ]
- },
- {
- "teal": 2367,
- "source": 691,
- "pc": [
- 2310,
- 2311
- ]
- },
- {
- "teal": 2368,
- "source": 691,
- "pc": [
- 2312,
- 2313
- ]
- },
- {
- "teal": 2369,
- "source": 691,
- "pc": [
- 2314,
- 2315
- ]
- },
- {
- "teal": 2370,
- "source": 691,
- "pc": [
- 2316,
- 2317,
- 2318
- ]
- },
- {
- "teal": 2371,
- "source": 691,
- "pc": [
- 2319
- ]
- },
- {
- "teal": 2372,
- "source": 691,
- "pc": [
- 2320
- ]
- },
- {
- "teal": 2373,
- "source": 691,
- "pc": [
- 2321
- ]
- },
- {
- "teal": 2374,
- "source": 691,
- "pc": [
- 2322,
- 2323,
- 2324
- ]
- },
- {
- "teal": 2378,
- "source": 692,
- "errorMessage": "No pool available with free stake. Validator needs to add another pool",
- "pc": [
- 2325
- ]
- },
- {
- "teal": 2383,
- "source": 696,
- "pc": [
- 2326,
- 2327
- ]
- },
- {
- "teal": 2384,
- "source": 696,
- "pc": [
- 2328,
- 2329
- ]
- },
- {
- "teal": 2385,
- "source": 696,
- "pc": [
- 2330,
- 2331
- ]
- },
- {
- "teal": 2386,
- "source": 696,
- "pc": [
- 2332,
- 2333,
- 2334
- ]
- },
- {
- "teal": 2387,
- "source": 696,
- "pc": [
- 2335,
- 2336
- ]
- },
- {
- "teal": 2388,
- "source": 696,
- "pc": [
- 2337,
- 2338,
- 2339
- ]
- },
- {
- "teal": 2398,
- "source": 704,
- "pc": [
- 2340,
- 2341
- ]
- },
- {
- "teal": 2399,
- "source": 703,
- "pc": [
- 2342,
- 2343
- ]
- },
- {
- "teal": 2400,
- "source": 702,
- "pc": [
- 2344,
- 2345
- ]
- },
- {
- "teal": 2401,
- "source": 701,
- "pc": [
- 2346,
- 2347
- ]
- },
- {
- "teal": 2402,
- "source": 701,
- "pc": [
- 2348,
- 2349
- ]
- },
- {
- "teal": 2403,
- "source": 701,
- "pc": [
- 2350,
- 2351
- ]
- },
- {
- "teal": 2404,
- "source": 701,
- "pc": [
- 2352,
- 2353,
- 2354
- ]
- },
- {
- "teal": 2405,
- "source": 700,
- "pc": [
- 2355,
- 2356
- ]
- },
- {
- "teal": 2406,
- "source": 699,
- "pc": [
- 2357,
- 2358,
- 2359
- ]
- },
- {
- "teal": 2410,
- "source": 714,
- "pc": [
- 2360,
- 2361
- ]
- },
- {
- "teal": 2411,
- "source": 714,
- "pc": [
- 2362,
- 2363
- ]
- },
- {
- "teal": 2412,
- "source": 714,
- "pc": [
- 2364,
- 2365
- ]
- },
- {
- "teal": 2413,
- "source": 714,
- "pc": [
- 2366,
- 2367,
- 2368
- ]
- },
- {
- "teal": 2416,
- "source": 644,
- "pc": [
- 2369,
- 2370
- ]
- },
- {
- "teal": 2419,
- "source": 644,
- "pc": [
- 2371,
- 2372
- ]
- },
- {
- "teal": 2420,
- "source": 644,
- "pc": [
- 2373
- ]
- },
- {
- "teal": 2425,
- "source": 732,
- "pc": [
- 2374
- ]
- },
- {
- "teal": 2428,
- "source": 732,
- "pc": [
- 2375,
- 2376,
- 2377
- ]
- },
- {
- "teal": 2429,
- "source": 732,
- "pc": [
- 2378
- ]
- },
- {
- "teal": 2432,
- "source": 732,
- "pc": [
- 2379,
- 2380,
- 2381
- ]
- },
- {
- "teal": 2433,
- "source": 732,
- "pc": [
- 2382
- ]
- },
- {
- "teal": 2434,
- "source": 732,
- "pc": [
- 2383
- ]
- },
- {
- "teal": 2435,
- "source": 732,
- "pc": [
- 2384
- ]
- },
- {
- "teal": 2436,
- "source": 732,
- "pc": [
- 2385
- ]
- },
- {
- "teal": 2454,
- "source": 732,
- "pc": [
- 2386,
- 2387,
- 2388
- ]
- },
- {
- "teal": 2457,
- "source": 732,
- "pc": [
- 2389
- ]
- },
- {
- "teal": 2458,
- "source": 732,
- "pc": [
- 2390,
- 2391
- ]
- },
- {
- "teal": 2462,
- "source": 734,
- "pc": [
- 2392,
- 2393
- ]
- },
- {
- "teal": 2463,
- "source": 734,
- "pc": [
- 2394
- ]
- },
- {
- "teal": 2464,
- "source": 734,
- "pc": [
- 2395
- ]
- },
- {
- "teal": 2465,
- "source": 734,
- "pc": [
- 2396,
- 2397
- ]
- },
- {
- "teal": 2466,
- "source": 734,
- "pc": [
- 2398
- ]
- },
- {
- "teal": 2467,
- "source": 734,
- "pc": [
- 2399
- ]
- },
- {
- "teal": 2468,
- "source": 734,
- "pc": [
- 2400,
- 2401
- ]
- },
- {
- "teal": 2469,
- "source": 734,
- "pc": [
- 2402
- ]
- },
- {
- "teal": 2470,
- "source": 734,
- "pc": [
- 2403
- ]
- },
- {
- "teal": 2471,
- "source": 734,
- "pc": [
- 2404,
- 2405
- ]
- },
- {
- "teal": 2475,
- "source": 735,
- "pc": [
- 2406,
- 2407
- ]
- },
- {
- "teal": 2476,
- "source": 735,
- "pc": [
- 2408
- ]
- },
- {
- "teal": 2477,
- "source": 735,
- "pc": [
- 2409
- ]
- },
- {
- "teal": 2478,
- "source": 735,
- "pc": [
- 2410
- ]
- },
- {
- "teal": 2483,
- "source": 737,
- "pc": [
- 2411,
- 2412
- ]
- },
- {
- "teal": 2484,
- "source": 737,
- "pc": [
- 2413,
- 2414
- ]
- },
- {
- "teal": 2485,
- "source": 737,
- "pc": [
- 2415,
- 2416
- ]
- },
- {
- "teal": 2486,
- "source": 737,
- "pc": [
- 2417
- ]
- },
- {
- "teal": 2487,
- "source": 737,
- "pc": [
- 2418
- ]
- },
- {
- "teal": 2488,
- "source": 737,
- "pc": [
- 2419,
- 2420,
- 2421
- ]
- },
- {
- "teal": 2493,
- "source": 738,
- "pc": [
- 2422,
- 2423
- ]
- },
- {
- "teal": 2494,
- "source": 738,
- "pc": [
- 2424,
- 2425
- ]
- },
- {
- "teal": 2495,
- "source": 738,
- "pc": [
- 2426
- ]
- },
- {
- "teal": 2496,
- "source": 738,
- "pc": [
- 2427,
- 2428
- ]
- },
- {
- "teal": 2497,
- "source": 738,
- "pc": [
- 2429
- ]
- },
- {
- "teal": 2498,
- "source": 738,
- "pc": [
- 2430
- ]
- },
- {
- "teal": 2499,
- "source": 738,
- "pc": [
- 2431,
- 2432
- ]
- },
- {
- "teal": 2500,
- "source": 738,
- "pc": [
- 2433
- ]
- },
- {
- "teal": 2501,
- "source": 738,
- "pc": [
- 2434,
- 2435,
- 2436
- ]
- },
- {
- "teal": 2506,
- "source": 744,
- "pc": [
- 2437,
- 2438
- ]
- },
- {
- "teal": 2507,
- "source": 744,
- "pc": [
- 2439,
- 2440
- ]
- },
- {
- "teal": 2511,
- "source": 745,
- "pc": [
- 2441,
- 2442
- ]
- },
- {
- "teal": 2512,
- "source": 745,
- "pc": [
- 2443
- ]
- },
- {
- "teal": 2513,
- "source": 745,
- "pc": [
- 2444
- ]
- },
- {
- "teal": 2514,
- "source": 745,
- "pc": [
- 2445,
- 2446
- ]
- },
- {
- "teal": 2515,
- "source": 745,
- "pc": [
- 2447
- ]
- },
- {
- "teal": 2516,
- "source": 745,
- "pc": [
- 2448
- ]
- },
- {
- "teal": 2517,
- "source": 745,
- "pc": [
- 2449,
- 2450
- ]
- },
- {
- "teal": 2518,
- "source": 745,
- "pc": [
- 2451
- ]
- },
- {
- "teal": 2519,
- "source": 745,
- "pc": [
- 2452
- ]
- },
- {
- "teal": 2520,
- "source": 745,
- "pc": [
- 2453,
- 2454
- ]
- },
- {
- "teal": 2525,
- "source": 746,
- "pc": [
- 2455,
- 2456
- ]
- },
- {
- "teal": 2526,
- "source": 746,
- "pc": [
- 2457
- ]
- },
- {
- "teal": 2527,
- "source": 746,
- "pc": [
- 2458
- ]
- },
- {
- "teal": 2528,
- "source": 746,
- "pc": [
- 2459,
- 2460,
- 2461
- ]
- },
- {
- "teal": 2534,
- "source": 748,
- "pc": [
- 2462,
- 2463
- ]
- },
- {
- "teal": 2535,
- "source": 748,
- "pc": [
- 2464,
- 2465,
- 2466,
- 2467,
- 2468,
- 2469,
- 2470,
- 2471,
- 2472,
- 2473,
- 2474,
- 2475
- ]
- },
- {
- "teal": 2536,
- "source": 748,
- "pc": [
- 2476
- ]
- },
- {
- "teal": 2539,
- "source": 748,
- "errorMessage": "global state value does not exist: AppID.fromUint64(pool1AppID).globalState('lastPayout')",
- "pc": [
- 2477
- ]
- },
- {
- "teal": 2540,
- "source": 748,
- "pc": [
- 2478,
- 2479
- ]
- },
- {
- "teal": 2541,
- "source": 748,
- "pc": [
- 2480
- ]
- },
- {
- "teal": 2542,
- "source": 748,
- "pc": [
- 2481,
- 2482,
- 2483
- ]
- },
- {
- "teal": 2547,
- "source": 749,
- "pc": [
- 2484,
- 2485
- ]
- },
- {
- "teal": 2548,
- "source": 749,
- "pc": [
- 2486,
- 2487
- ]
- },
- {
- "teal": 2549,
- "source": 749,
- "pc": [
- 2488
- ]
- },
- {
- "teal": 2550,
- "source": 749,
- "pc": [
- 2489,
- 2490
- ]
- },
- {
- "teal": 2551,
- "source": 749,
- "pc": [
- 2491
- ]
- },
- {
- "teal": 2552,
- "source": 749,
- "pc": [
- 2492
- ]
- },
- {
- "teal": 2553,
- "source": 749,
- "pc": [
- 2493,
- 2494
- ]
- },
- {
- "teal": 2554,
- "source": 749,
- "pc": [
- 2495
- ]
- },
- {
- "teal": 2555,
- "source": 749,
- "pc": [
- 2496,
- 2497,
- 2498
- ]
- },
- {
- "teal": 2560,
- "source": 751,
- "pc": [
- 2499,
- 2500,
- 2501
- ]
- },
- {
- "teal": 2561,
- "source": 751,
- "pc": [
- 2502,
- 2503
- ]
- },
- {
- "teal": 2562,
- "source": 751,
- "pc": [
- 2504
- ]
- },
- {
- "teal": 2563,
- "source": 751,
- "pc": [
- 2505,
- 2506
- ]
- },
- {
- "teal": 2564,
- "source": 751,
- "pc": [
- 2507
- ]
- },
- {
- "teal": 2565,
- "source": 751,
- "pc": [
- 2508
- ]
- },
- {
- "teal": 2566,
- "source": 751,
- "pc": [
- 2509,
- 2510
- ]
- },
- {
- "teal": 2567,
- "source": 751,
- "pc": [
- 2511
- ]
- },
- {
- "teal": 2568,
- "source": 751,
- "pc": [
- 2512
- ]
- },
- {
- "teal": 2569,
- "source": 751,
- "pc": [
- 2513,
- 2514
- ]
- },
- {
- "teal": 2573,
- "source": 752,
- "pc": [
- 2515,
- 2516
- ]
- },
- {
- "teal": 2574,
- "source": 752,
- "pc": [
- 2517,
- 2518
- ]
- },
- {
- "teal": 2575,
- "source": 752,
- "pc": [
- 2519,
- 2520
- ]
- },
- {
- "teal": 2576,
- "source": 752,
- "pc": [
- 2521
- ]
- },
- {
- "teal": 2577,
- "source": 752,
- "pc": [
- 2522
- ]
- },
- {
- "teal": 2578,
- "source": 752,
- "pc": [
- 2523,
- 2524
- ]
- },
- {
- "teal": 2583,
- "source": 754,
- "pc": [
- 2525,
- 2526
- ]
- },
- {
- "teal": 2584,
- "source": 754,
- "pc": [
- 2527,
- 2528
- ]
- },
- {
- "teal": 2585,
- "source": 754,
- "pc": [
- 2529,
- 2530
- ]
- },
- {
- "teal": 2586,
- "source": 754,
- "pc": [
- 2531
- ]
- },
- {
- "teal": 2587,
- "source": 754,
- "pc": [
- 2532
- ]
- },
- {
- "teal": 2588,
- "source": 754,
- "pc": [
- 2533,
- 2534
- ]
- },
- {
- "teal": 2589,
- "source": 754,
- "pc": [
- 2535
- ]
- },
- {
- "teal": 2590,
- "source": 754,
- "pc": [
- 2536,
- 2537,
- 2538
- ]
- },
- {
- "teal": 2595,
- "source": 755,
- "pc": [
- 2539,
- 2540
- ]
- },
- {
- "teal": 2596,
- "source": 755,
- "pc": [
- 2541,
- 2542
- ]
- },
- {
- "teal": 2597,
- "source": 755,
- "pc": [
- 2543
- ]
- },
- {
- "teal": 2598,
- "source": 755,
- "pc": [
- 2544,
- 2545
- ]
- },
- {
- "teal": 2599,
- "source": 755,
- "pc": [
- 2546
- ]
- },
- {
- "teal": 2600,
- "source": 755,
- "pc": [
- 2547
- ]
- },
- {
- "teal": 2601,
- "source": 755,
- "pc": [
- 2548,
- 2549
- ]
- },
- {
- "teal": 2602,
- "source": 755,
- "pc": [
- 2550
- ]
- },
- {
- "teal": 2603,
- "source": 755,
- "pc": [
- 2551,
- 2552,
- 2553
- ]
- },
- {
- "teal": 2610,
- "source": 758,
- "pc": [
- 2554,
- 2555
- ]
- },
- {
- "teal": 2611,
- "source": 758,
- "pc": [
- 2556,
- 2557
- ]
- },
- {
- "teal": 2612,
- "source": 758,
- "pc": [
- 2558
- ]
- },
- {
- "teal": 2613,
- "source": 758,
- "pc": [
- 2559
- ]
- },
- {
- "teal": 2614,
- "source": 758,
- "pc": [
- 2560,
- 2561
- ]
- },
- {
- "teal": 2615,
- "source": 758,
- "pc": [
- 2562
- ]
- },
- {
- "teal": 2616,
- "source": 758,
- "pc": [
- 2563
- ]
- },
- {
- "teal": 2617,
- "source": 758,
- "pc": [
- 2564,
- 2565
- ]
- },
- {
- "teal": 2618,
- "source": 758,
- "pc": [
- 2566
- ]
- },
- {
- "teal": 2622,
- "source": 760,
- "pc": [
- 2567,
- 2568
- ]
- },
- {
- "teal": 2623,
- "source": 760,
- "pc": [
- 2569,
- 2570
- ]
- },
- {
- "teal": 2624,
- "source": 760,
- "pc": [
- 2571
- ]
- },
- {
- "teal": 2625,
- "source": 760,
- "pc": [
- 2572,
- 2573
- ]
- },
- {
- "teal": 2626,
- "source": 760,
- "pc": [
- 2574
- ]
- },
- {
- "teal": 2627,
- "source": 760,
- "pc": [
- 2575
- ]
- },
- {
- "teal": 2628,
- "source": 760,
- "pc": [
- 2576,
- 2577
- ]
- },
- {
- "teal": 2629,
- "source": 760,
- "pc": [
- 2578
- ]
- },
- {
- "teal": 2630,
- "source": 760,
- "pc": [
- 2579
- ]
- },
- {
- "teal": 2631,
- "source": 760,
- "pc": [
- 2580,
- 2581
- ]
- },
- {
- "teal": 2635,
- "source": 761,
- "pc": [
- 2582,
- 2583
- ]
- },
- {
- "teal": 2636,
- "source": 761,
- "pc": [
- 2584
- ]
- },
- {
- "teal": 2637,
- "source": 761,
- "pc": [
- 2585
- ]
- },
- {
- "teal": 2638,
- "source": 761,
- "pc": [
- 2586,
- 2587
- ]
- },
- {
- "teal": 2639,
- "source": 761,
- "pc": [
- 2588
- ]
- },
- {
- "teal": 2640,
- "source": 761,
- "pc": [
- 2589
- ]
- },
- {
- "teal": 2641,
- "source": 761,
- "pc": [
- 2590,
- 2591
- ]
- },
- {
- "teal": 2642,
- "source": 761,
- "pc": [
- 2592
- ]
- },
- {
- "teal": 2643,
- "source": 761,
- "pc": [
- 2593
- ]
- },
- {
- "teal": 2644,
- "source": 761,
- "pc": [
- 2594,
- 2595
- ]
- },
- {
- "teal": 2648,
- "source": 762,
- "pc": [
- 2596
- ]
- },
- {
- "teal": 2649,
- "source": 762,
- "pc": [
- 2597,
- 2598
- ]
- },
- {
- "teal": 2654,
- "source": 762,
- "pc": [
- 2599,
- 2600
- ]
- },
- {
- "teal": 2655,
- "source": 762,
- "pc": [
- 2601,
- 2602
- ]
- },
- {
- "teal": 2656,
- "source": 762,
- "pc": [
- 2603
- ]
- },
- {
- "teal": 2657,
- "source": 762,
- "pc": [
- 2604,
- 2605,
- 2606
- ]
- },
- {
- "teal": 2664,
- "source": 768,
- "pc": [
- 2607,
- 2608
- ]
- },
- {
- "teal": 2665,
- "source": 768,
- "pc": [
- 2609,
- 2610
- ]
- },
- {
- "teal": 2666,
- "source": 768,
- "pc": [
- 2611,
- 2612
- ]
- },
- {
- "teal": 2667,
- "source": 768,
- "pc": [
- 2613
- ]
- },
- {
- "teal": 2668,
- "source": 768,
- "pc": [
- 2614
- ]
- },
- {
- "teal": 2669,
- "source": 768,
- "pc": [
- 2615,
- 2616
- ]
- },
- {
- "teal": 2670,
- "source": 768,
- "pc": [
- 2617
- ]
- },
- {
- "teal": 2671,
- "source": 768,
- "pc": [
- 2618
- ]
- },
- {
- "teal": 2672,
- "source": 768,
- "pc": [
- 2619
- ]
- },
- {
- "teal": 2673,
- "source": 768,
- "pc": [
- 2620,
- 2621
- ]
- },
- {
- "teal": 2674,
- "source": 768,
- "pc": [
- 2622
- ]
- },
- {
- "teal": 2675,
- "source": 768,
- "pc": [
- 2623
- ]
- },
- {
- "teal": 2676,
- "source": 768,
- "pc": [
- 2624,
- 2625
- ]
- },
- {
- "teal": 2677,
- "source": 768,
- "pc": [
- 2626
- ]
- },
- {
- "teal": 2678,
- "source": 768,
- "pc": [
- 2627
- ]
- },
- {
- "teal": 2679,
- "source": 768,
- "pc": [
- 2628,
- 2629
- ]
- },
- {
- "teal": 2680,
- "source": 767,
- "pc": [
- 2630
- ]
- },
- {
- "teal": 2681,
- "source": 767,
- "pc": [
- 2631
- ]
- },
- {
- "teal": 2682,
- "source": 769,
- "pc": [
- 2632,
- 2633
- ]
- },
- {
- "teal": 2683,
- "source": 767,
- "pc": [
- 2634
- ]
- },
- {
- "teal": 2684,
- "source": 767,
- "pc": [
- 2635
- ]
- },
- {
- "teal": 2685,
- "source": 767,
- "pc": [
- 2636
- ]
- },
- {
- "teal": 2686,
- "source": 767,
- "pc": [
- 2637
- ]
- },
- {
- "teal": 2687,
- "source": 767,
- "pc": [
- 2638
- ]
- },
- {
- "teal": 2690,
- "source": 767,
- "errorMessage": "wideRatio failed",
- "pc": [
- 2639
- ]
- },
- {
- "teal": 2691,
- "source": 767,
- "pc": [
- 2640,
- 2641
- ]
- },
- {
- "teal": 2695,
- "source": 771,
- "pc": [
- 2642,
- 2643
- ]
- },
- {
- "teal": 2696,
- "source": 771,
- "pc": [
- 2644,
- 2645
- ]
- },
- {
- "teal": 2697,
- "source": 771,
- "pc": [
- 2646
- ]
- },
- {
- "teal": 2698,
- "source": 771,
- "pc": [
- 2647
- ]
- },
- {
- "teal": 2699,
- "source": 771,
- "pc": [
- 2648
- ]
- },
- {
- "teal": 2700,
- "source": 771,
- "pc": [
- 2649,
- 2650
- ]
- },
- {
- "teal": 2701,
- "source": 771,
- "pc": [
- 2651
- ]
- },
- {
- "teal": 2702,
- "source": 771,
- "pc": [
- 2652
- ]
- },
- {
- "teal": 2703,
- "source": 771,
- "pc": [
- 2653,
- 2654
- ]
- },
- {
- "teal": 2704,
- "source": 771,
- "pc": [
- 2655
- ]
- },
- {
- "teal": 2705,
- "source": 771,
- "pc": [
- 2656
- ]
- },
- {
- "teal": 2706,
- "source": 771,
- "pc": [
- 2657,
- 2658
- ]
- },
- {
- "teal": 2707,
- "source": 771,
- "pc": [
- 2659
- ]
- },
- {
- "teal": 2712,
- "source": 762,
- "pc": [
- 2660,
- 2661
- ]
- },
- {
- "teal": 2713,
- "source": 762,
- "pc": [
- 2662
- ]
- },
- {
- "teal": 2714,
- "source": 762,
- "pc": [
- 2663
- ]
- },
- {
- "teal": 2715,
- "source": 762,
- "pc": [
- 2664,
- 2665
- ]
- },
- {
- "teal": 2716,
- "source": 762,
- "pc": [
- 2666,
- 2667,
- 2668
- ]
- },
- {
- "teal": 2721,
- "source": 773,
- "pc": [
- 2669,
- 2670
- ]
- },
- {
- "teal": 2722,
- "source": 773,
- "pc": [
- 2671,
- 2672
- ]
- },
- {
- "teal": 2723,
- "source": 773,
- "pc": [
- 2673
- ]
- },
- {
- "teal": 2724,
- "source": 773,
- "pc": [
- 2674,
- 2675
- ]
- },
- {
- "teal": 2725,
- "source": 773,
- "pc": [
- 2676
- ]
- },
- {
- "teal": 2726,
- "source": 773,
- "pc": [
- 2677
- ]
- },
- {
- "teal": 2727,
- "source": 773,
- "pc": [
- 2678,
- 2679
- ]
- },
- {
- "teal": 2728,
- "source": 773,
- "pc": [
- 2680
- ]
- },
- {
- "teal": 2732,
- "source": 732,
- "pc": [
- 2681,
- 2682
- ]
- },
- {
- "teal": 2735,
- "source": 732,
- "pc": [
- 2683,
- 2684
- ]
- },
- {
- "teal": 2736,
- "source": 732,
- "pc": [
- 2685
- ]
- },
- {
- "teal": 2741,
- "source": 792,
- "pc": [
- 2686,
- 2687,
- 2688
- ]
- },
- {
- "teal": 2742,
- "source": 792,
- "pc": [
- 2689
- ]
- },
- {
- "teal": 2745,
- "source": 791,
- "pc": [
- 2690,
- 2691,
- 2692
- ]
- },
- {
- "teal": 2746,
- "source": 791,
- "pc": [
- 2693
- ]
- },
- {
- "teal": 2749,
- "source": 790,
- "pc": [
- 2694,
- 2695,
- 2696
- ]
- },
- {
- "teal": 2750,
- "source": 790,
- "pc": [
- 2697
- ]
- },
- {
- "teal": 2753,
- "source": 789,
- "pc": [
- 2698,
- 2699,
- 2700
- ]
- },
- {
- "teal": 2754,
- "source": 789,
- "pc": [
- 2701
- ]
- },
- {
- "teal": 2757,
- "source": 788,
- "pc": [
- 2702,
- 2703,
- 2704
- ]
- },
- {
- "teal": 2758,
- "source": 788,
- "pc": [
- 2705
- ]
- },
- {
- "teal": 2759,
- "source": 788,
- "pc": [
- 2706
- ]
- },
- {
- "teal": 2760,
- "source": 788,
- "pc": [
- 2707
- ]
- },
- {
- "teal": 2761,
- "source": 788,
- "pc": [
- 2708
- ]
- },
- {
- "teal": 2764,
- "source": 788,
- "errorMessage": "argument 4 (poolKey) for stakeUpdatedViaRewards must be a (uint64,uint64,uint64)",
- "pc": [
- 2709
- ]
- },
- {
- "teal": 2767,
- "source": 787,
- "pc": [
- 2710,
- 2711,
- 2712
- ]
- },
- {
- "teal": 2768,
- "source": 787,
- "pc": [
- 2713
- ]
- },
- {
- "teal": 2769,
- "source": 787,
- "pc": [
- 2714
- ]
- },
- {
- "teal": 2783,
- "source": 787,
- "pc": [
- 2715,
- 2716,
- 2717
- ]
- },
- {
- "teal": 2787,
- "source": 794,
- "pc": [
- 2718,
- 2719
- ]
- },
- {
- "teal": 2788,
- "source": 794,
- "pc": [
- 2720,
- 2721,
- 2722
- ]
- },
- {
- "teal": 2792,
- "source": 797,
- "pc": [
- 2723,
- 2724
- ]
- },
- {
- "teal": 2793,
- "source": 797,
- "pc": [
- 2725,
- 2726
- ]
- },
- {
- "teal": 2794,
- "source": 797,
- "pc": [
- 2727,
- 2728,
- 2729
- ]
- },
- {
- "teal": 2795,
- "source": 797,
- "pc": [
- 2730
- ]
- },
- {
- "teal": 2796,
- "source": 797,
- "pc": [
- 2731
- ]
- },
- {
- "teal": 2797,
- "source": 797,
- "pc": [
- 2732
- ]
- },
- {
- "teal": 2798,
- "source": 797,
- "pc": [
- 2733,
- 2734
- ]
- },
- {
- "teal": 2799,
- "source": 797,
- "pc": [
- 2735
- ]
- },
- {
- "teal": 2800,
- "source": 797,
- "pc": [
- 2736
- ]
- },
- {
- "teal": 2801,
- "source": 797,
- "pc": [
- 2737,
- 2738
- ]
- },
- {
- "teal": 2802,
- "source": 797,
- "pc": [
- 2739
- ]
- },
- {
- "teal": 2803,
- "source": 797,
- "pc": [
- 2740,
- 2741
- ]
- },
- {
- "teal": 2804,
- "source": 797,
- "pc": [
- 2742,
- 2743
- ]
- },
- {
- "teal": 2805,
- "source": 797,
- "pc": [
- 2744,
- 2745,
- 2746
- ]
- },
- {
- "teal": 2806,
- "source": 797,
- "pc": [
- 2747
- ]
- },
- {
- "teal": 2807,
- "source": 797,
- "pc": [
- 2748
- ]
- },
- {
- "teal": 2808,
- "source": 797,
- "pc": [
- 2749
- ]
- },
- {
- "teal": 2809,
- "source": 797,
- "pc": [
- 2750,
- 2751
- ]
- },
- {
- "teal": 2810,
- "source": 797,
- "pc": [
- 2752
- ]
- },
- {
- "teal": 2811,
- "source": 797,
- "pc": [
- 2753
- ]
- },
- {
- "teal": 2812,
- "source": 797,
- "pc": [
- 2754,
- 2755
- ]
- },
- {
- "teal": 2813,
- "source": 797,
- "pc": [
- 2756
- ]
- },
- {
- "teal": 2814,
- "source": 797,
- "pc": [
- 2757
- ]
- },
- {
- "teal": 2815,
- "source": 797,
- "pc": [
- 2758
- ]
- },
- {
- "teal": 2816,
- "source": 797,
- "pc": [
- 2759,
- 2760
- ]
- },
- {
- "teal": 2817,
- "source": 797,
- "pc": [
- 2761,
- 2762,
- 2763
- ]
- },
- {
- "teal": 2818,
- "source": 797,
- "pc": [
- 2764
- ]
- },
- {
- "teal": 2819,
- "source": 797,
- "pc": [
- 2765
- ]
- },
- {
- "teal": 2820,
- "source": 797,
- "pc": [
- 2766
- ]
- },
- {
- "teal": 2821,
- "source": 797,
- "pc": [
- 2767,
- 2768
- ]
- },
- {
- "teal": 2822,
- "source": 797,
- "pc": [
- 2769
- ]
- },
- {
- "teal": 2823,
- "source": 797,
- "pc": [
- 2770
- ]
- },
- {
- "teal": 2824,
- "source": 797,
- "pc": [
- 2771,
- 2772
- ]
- },
- {
- "teal": 2825,
- "source": 797,
- "pc": [
- 2773
- ]
- },
- {
- "teal": 2826,
- "source": 797,
- "pc": [
- 2774
- ]
- },
- {
- "teal": 2827,
- "source": 797,
- "pc": [
- 2775
- ]
- },
- {
- "teal": 2828,
- "source": 797,
- "pc": [
- 2776,
- 2777
- ]
- },
- {
- "teal": 2829,
- "source": 797,
- "pc": [
- 2778,
- 2779,
- 2780
- ]
- },
- {
- "teal": 2830,
- "source": 797,
- "pc": [
- 2781
- ]
- },
- {
- "teal": 2831,
- "source": 797,
- "pc": [
- 2782
- ]
- },
- {
- "teal": 2832,
- "source": 797,
- "pc": [
- 2783
- ]
- },
- {
- "teal": 2833,
- "source": 797,
- "pc": [
- 2784,
- 2785
- ]
- },
- {
- "teal": 2834,
- "source": 797,
- "pc": [
- 2786
- ]
- },
- {
- "teal": 2838,
- "source": 798,
- "pc": [
- 2787,
- 2788
- ]
- },
- {
- "teal": 2839,
- "source": 798,
- "pc": [
- 2789
- ]
- },
- {
- "teal": 2840,
- "source": 798,
- "pc": [
- 2790
- ]
- },
- {
- "teal": 2841,
- "source": 798,
- "pc": [
- 2791
- ]
- },
- {
- "teal": 2842,
- "source": 798,
- "pc": [
- 2792,
- 2793
- ]
- },
- {
- "teal": 2843,
- "source": 798,
- "pc": [
- 2794,
- 2795,
- 2796
- ]
- },
- {
- "teal": 2844,
- "source": 798,
- "pc": [
- 2797
- ]
- },
- {
- "teal": 2845,
- "source": 798,
- "pc": [
- 2798
- ]
- },
- {
- "teal": 2846,
- "source": 798,
- "pc": [
- 2799
- ]
- },
- {
- "teal": 2847,
- "source": 798,
- "pc": [
- 2800,
- 2801
- ]
- },
- {
- "teal": 2848,
- "source": 798,
- "pc": [
- 2802
- ]
- },
- {
- "teal": 2849,
- "source": 798,
- "pc": [
- 2803
- ]
- },
- {
- "teal": 2850,
- "source": 798,
- "pc": [
- 2804,
- 2805
- ]
- },
- {
- "teal": 2851,
- "source": 798,
- "pc": [
- 2806
- ]
- },
- {
- "teal": 2852,
- "source": 798,
- "pc": [
- 2807
- ]
- },
- {
- "teal": 2853,
- "source": 798,
- "pc": [
- 2808
- ]
- },
- {
- "teal": 2854,
- "source": 798,
- "pc": [
- 2809,
- 2810
- ]
- },
- {
- "teal": 2855,
- "source": 798,
- "pc": [
- 2811,
- 2812,
- 2813
- ]
- },
- {
- "teal": 2856,
- "source": 798,
- "pc": [
- 2814
- ]
- },
- {
- "teal": 2857,
- "source": 798,
- "pc": [
- 2815
- ]
- },
- {
- "teal": 2858,
- "source": 798,
- "pc": [
- 2816
- ]
- },
- {
- "teal": 2859,
- "source": 798,
- "pc": [
- 2817,
- 2818
- ]
- },
- {
- "teal": 2860,
- "source": 798,
- "pc": [
- 2819
- ]
- },
- {
- "teal": 2864,
- "source": 799,
- "pc": [
- 2820,
- 2821
- ]
- },
- {
- "teal": 2865,
- "source": 799,
- "pc": [
- 2822
- ]
- },
- {
- "teal": 2866,
- "source": 799,
- "pc": [
- 2823
- ]
- },
- {
- "teal": 2867,
- "source": 799,
- "pc": [
- 2824
- ]
- },
- {
- "teal": 2868,
- "source": 799,
- "pc": [
- 2825,
- 2826
- ]
- },
- {
- "teal": 2869,
- "source": 799,
- "pc": [
- 2827,
- 2828,
- 2829
- ]
- },
- {
- "teal": 2870,
- "source": 799,
- "pc": [
- 2830
- ]
- },
- {
- "teal": 2871,
- "source": 799,
- "pc": [
- 2831
- ]
- },
- {
- "teal": 2872,
- "source": 799,
- "pc": [
- 2832
- ]
- },
- {
- "teal": 2873,
- "source": 799,
- "pc": [
- 2833,
- 2834
- ]
- },
- {
- "teal": 2874,
- "source": 799,
- "pc": [
- 2835
- ]
- },
- {
- "teal": 2875,
- "source": 799,
- "pc": [
- 2836
- ]
- },
- {
- "teal": 2876,
- "source": 799,
- "pc": [
- 2837,
- 2838
- ]
- },
- {
- "teal": 2877,
- "source": 799,
- "pc": [
- 2839
- ]
- },
- {
- "teal": 2878,
- "source": 799,
- "pc": [
- 2840
- ]
- },
- {
- "teal": 2879,
- "source": 799,
- "pc": [
- 2841
- ]
- },
- {
- "teal": 2880,
- "source": 799,
- "pc": [
- 2842,
- 2843
- ]
- },
- {
- "teal": 2881,
- "source": 799,
- "pc": [
- 2844,
- 2845,
- 2846
- ]
- },
- {
- "teal": 2882,
- "source": 799,
- "pc": [
- 2847
- ]
- },
- {
- "teal": 2883,
- "source": 799,
- "pc": [
- 2848
- ]
- },
- {
- "teal": 2884,
- "source": 799,
- "pc": [
- 2849
- ]
- },
- {
- "teal": 2885,
- "source": 799,
- "pc": [
- 2850,
- 2851
- ]
- },
- {
- "teal": 2886,
- "source": 799,
- "pc": [
- 2852
- ]
- },
- {
- "teal": 2890,
- "source": 801,
- "pc": [
- 2853,
- 2854
- ]
- },
- {
- "teal": 2891,
- "source": 801,
- "pc": [
- 2855
- ]
- },
- {
- "teal": 2892,
- "source": 801,
- "pc": [
- 2856,
- 2857
- ]
- },
- {
- "teal": 2893,
- "source": 801,
- "pc": [
- 2858
- ]
- },
- {
- "teal": 2894,
- "source": 801,
- "pc": [
- 2859,
- 2860
- ]
- },
- {
- "teal": 2895,
- "source": 801,
- "pc": [
- 2861
- ]
- },
- {
- "teal": 2896,
- "source": 801,
- "pc": [
- 2862
- ]
- },
- {
- "teal": 2900,
- "source": 804,
- "pc": [
- 2863,
- 2864
- ]
- },
- {
- "teal": 2901,
- "source": 804,
- "pc": [
- 2865,
- 2866,
- 2867
- ]
- },
- {
- "teal": 2902,
- "source": 804,
- "pc": [
- 2868
- ]
- },
- {
- "teal": 2903,
- "source": 804,
- "pc": [
- 2869,
- 2870,
- 2871
- ]
- },
- {
- "teal": 2904,
- "source": 787,
- "pc": [
- 2872
- ]
- },
- {
- "teal": 2909,
- "source": 834,
- "pc": [
- 2873,
- 2874,
- 2875
- ]
- },
- {
- "teal": 2910,
- "source": 834,
- "pc": [
- 2876
- ]
- },
- {
- "teal": 2911,
- "source": 834,
- "pc": [
- 2877
- ]
- },
- {
- "teal": 2912,
- "source": 834,
- "pc": [
- 2878
- ]
- },
- {
- "teal": 2913,
- "source": 834,
- "pc": [
- 2879
- ]
- },
- {
- "teal": 2916,
- "source": 834,
- "errorMessage": "argument 0 (stakerRemoved) for stakeRemoved must be a bool",
- "pc": [
- 2880
- ]
- },
- {
- "teal": 2917,
- "source": 834,
- "pc": [
- 2881
- ]
- },
- {
- "teal": 2918,
- "source": 834,
- "pc": [
- 2882
- ]
- },
- {
- "teal": 2921,
- "source": 833,
- "pc": [
- 2883,
- 2884,
- 2885
- ]
- },
- {
- "teal": 2922,
- "source": 833,
- "pc": [
- 2886
- ]
- },
- {
- "teal": 2925,
- "source": 832,
- "pc": [
- 2887,
- 2888,
- 2889
- ]
- },
- {
- "teal": 2926,
- "source": 832,
- "pc": [
- 2890
- ]
- },
- {
- "teal": 2929,
- "source": 831,
- "pc": [
- 2891,
- 2892,
- 2893
- ]
- },
- {
- "teal": 2930,
- "source": 831,
- "pc": [
- 2894
- ]
- },
- {
- "teal": 2931,
- "source": 831,
- "pc": [
- 2895
- ]
- },
- {
- "teal": 2932,
- "source": 831,
- "pc": [
- 2896,
- 2897
- ]
- },
- {
- "teal": 2933,
- "source": 831,
- "pc": [
- 2898
- ]
- },
- {
- "teal": 2936,
- "source": 831,
- "errorMessage": "argument 3 (staker) for stakeRemoved must be a address",
- "pc": [
- 2899
- ]
- },
- {
- "teal": 2939,
- "source": 830,
- "pc": [
- 2900,
- 2901,
- 2902
- ]
- },
- {
- "teal": 2940,
- "source": 830,
- "pc": [
- 2903
- ]
- },
- {
- "teal": 2941,
- "source": 830,
- "pc": [
- 2904
- ]
- },
- {
- "teal": 2942,
- "source": 830,
- "pc": [
- 2905
- ]
- },
- {
- "teal": 2943,
- "source": 830,
- "pc": [
- 2906
- ]
- },
- {
- "teal": 2946,
- "source": 830,
- "errorMessage": "argument 4 (poolKey) for stakeRemoved must be a (uint64,uint64,uint64)",
- "pc": [
- 2907
- ]
- },
- {
- "teal": 2949,
- "source": 829,
- "pc": [
- 2908,
- 2909,
- 2910
- ]
- },
- {
- "teal": 2950,
- "source": 829,
- "pc": [
- 2911
- ]
- },
- {
- "teal": 2951,
- "source": 829,
- "pc": [
- 2912
- ]
- },
- {
- "teal": 2966,
- "source": 829,
- "pc": [
- 2913,
- 2914,
- 2915
- ]
- },
- {
- "teal": 2969,
- "source": 829,
- "pc": [
- 2916
- ]
- },
- {
- "teal": 2970,
- "source": 829,
- "pc": [
- 2917,
- 2918
- ]
- },
- {
- "teal": 2975,
- "source": 836,
- "pc": [
- 2919,
- 2920
- ]
- },
- {
- "teal": 2976,
- "source": 836,
- "pc": [
- 2921,
- 2922
- ]
- },
- {
- "teal": 2977,
- "source": 836,
- "pc": [
- 2923
- ]
- },
- {
- "teal": 2978,
- "source": 836,
- "pc": [
- 2924,
- 2925,
- 2926
- ]
- },
- {
- "teal": 2983,
- "source": 837,
- "pc": [
- 2927
- ]
- },
- {
- "teal": 2984,
- "source": 837,
- "pc": [
- 2928,
- 2929
- ]
- },
- {
- "teal": 2985,
- "source": 837,
- "pc": [
- 2930,
- 2931
- ]
- },
- {
- "teal": 2986,
- "source": 837,
- "pc": [
- 2932
- ]
- },
- {
- "teal": 2987,
- "source": 837,
- "pc": [
- 2933,
- 2934
- ]
- },
- {
- "teal": 2988,
- "source": 837,
- "pc": [
- 2935,
- 2936
- ]
- },
- {
- "teal": 2989,
- "source": 837,
- "pc": [
- 2937
- ]
- },
- {
- "teal": 2990,
- "source": 837,
- "pc": [
- 2938,
- 2939
- ]
- },
- {
- "teal": 2991,
- "source": 837,
- "pc": [
- 2940,
- 2941
- ]
- },
- {
- "teal": 2992,
- "source": 837,
- "pc": [
- 2942,
- 2943
- ]
- },
- {
- "teal": 2993,
- "source": 837,
- "pc": [
- 2944,
- 2945
- ]
- },
- {
- "teal": 2994,
- "source": 837,
- "pc": [
- 2946
- ]
- },
- {
- "teal": 2999,
- "source": 839,
- "pc": [
- 2947,
- 2948
- ]
- },
- {
- "teal": 3000,
- "source": 839,
- "pc": [
- 2949,
- 2950,
- 2951
- ]
- },
- {
- "teal": 3004,
- "source": 843,
- "pc": [
- 2952,
- 2953
- ]
- },
- {
- "teal": 3005,
- "source": 843,
- "pc": [
- 2954
- ]
- },
- {
- "teal": 3006,
- "source": 843,
- "pc": [
- 2955
- ]
- },
- {
- "teal": 3007,
- "source": 843,
- "pc": [
- 2956
- ]
- },
- {
- "teal": 3008,
- "source": 843,
- "pc": [
- 2957,
- 2958,
- 2959
- ]
- },
- {
- "teal": 3009,
- "source": 843,
- "pc": [
- 2960,
- 2961
- ]
- },
- {
- "teal": 3010,
- "source": 843,
- "pc": [
- 2962
- ]
- },
- {
- "teal": 3011,
- "source": 843,
- "pc": [
- 2963
- ]
- },
- {
- "teal": 3012,
- "source": 843,
- "pc": [
- 2964
- ]
- },
- {
- "teal": 3016,
- "source": 843,
- "errorMessage": "should only be called if algo or reward was removed",
- "pc": [
- 2965
- ]
- },
- {
- "teal": 3020,
- "source": 846,
- "pc": [
- 2966,
- 2967
- ]
- },
- {
- "teal": 3021,
- "source": 846,
- "pc": [
- 2968,
- 2969
- ]
- },
- {
- "teal": 3022,
- "source": 846,
- "pc": [
- 2970,
- 2971,
- 2972
- ]
- },
- {
- "teal": 3023,
- "source": 846,
- "pc": [
- 2973
- ]
- },
- {
- "teal": 3024,
- "source": 846,
- "pc": [
- 2974
- ]
- },
- {
- "teal": 3025,
- "source": 846,
- "pc": [
- 2975
- ]
- },
- {
- "teal": 3026,
- "source": 846,
- "pc": [
- 2976,
- 2977
- ]
- },
- {
- "teal": 3027,
- "source": 846,
- "pc": [
- 2978
- ]
- },
- {
- "teal": 3028,
- "source": 846,
- "pc": [
- 2979
- ]
- },
- {
- "teal": 3029,
- "source": 846,
- "pc": [
- 2980,
- 2981
- ]
- },
- {
- "teal": 3030,
- "source": 846,
- "pc": [
- 2982
- ]
- },
- {
- "teal": 3031,
- "source": 846,
- "pc": [
- 2983,
- 2984
- ]
- },
- {
- "teal": 3032,
- "source": 846,
- "pc": [
- 2985,
- 2986
- ]
- },
- {
- "teal": 3033,
- "source": 846,
- "pc": [
- 2987,
- 2988,
- 2989
- ]
- },
- {
- "teal": 3034,
- "source": 846,
- "pc": [
- 2990
- ]
- },
- {
- "teal": 3035,
- "source": 846,
- "pc": [
- 2991
- ]
- },
- {
- "teal": 3036,
- "source": 846,
- "pc": [
- 2992
- ]
- },
- {
- "teal": 3037,
- "source": 846,
- "pc": [
- 2993,
- 2994
- ]
- },
- {
- "teal": 3038,
- "source": 846,
- "pc": [
- 2995
- ]
- },
- {
- "teal": 3039,
- "source": 846,
- "pc": [
- 2996
- ]
- },
- {
- "teal": 3040,
- "source": 846,
- "pc": [
- 2997,
- 2998
- ]
- },
- {
- "teal": 3041,
- "source": 846,
- "pc": [
- 2999
- ]
- },
- {
- "teal": 3042,
- "source": 846,
- "pc": [
- 3000
- ]
- },
- {
- "teal": 3043,
- "source": 846,
- "pc": [
- 3001
- ]
- },
- {
- "teal": 3044,
- "source": 846,
- "pc": [
- 3002,
- 3003
- ]
- },
- {
- "teal": 3045,
- "source": 846,
- "pc": [
- 3004,
- 3005,
- 3006
- ]
- },
- {
- "teal": 3046,
- "source": 846,
- "pc": [
- 3007
- ]
- },
- {
- "teal": 3047,
- "source": 846,
- "pc": [
- 3008
- ]
- },
- {
- "teal": 3048,
- "source": 846,
- "pc": [
- 3009
- ]
- },
- {
- "teal": 3049,
- "source": 846,
- "pc": [
- 3010,
- 3011
- ]
- },
- {
- "teal": 3050,
- "source": 846,
- "pc": [
- 3012
- ]
- },
- {
- "teal": 3051,
- "source": 846,
- "pc": [
- 3013
- ]
- },
- {
- "teal": 3052,
- "source": 846,
- "pc": [
- 3014,
- 3015
- ]
- },
- {
- "teal": 3053,
- "source": 846,
- "pc": [
- 3016
- ]
- },
- {
- "teal": 3054,
- "source": 846,
- "pc": [
- 3017
- ]
- },
- {
- "teal": 3055,
- "source": 846,
- "pc": [
- 3018
- ]
- },
- {
- "teal": 3056,
- "source": 846,
- "pc": [
- 3019,
- 3020
- ]
- },
- {
- "teal": 3057,
- "source": 846,
- "pc": [
- 3021,
- 3022,
- 3023
- ]
- },
- {
- "teal": 3058,
- "source": 846,
- "pc": [
- 3024
- ]
- },
- {
- "teal": 3059,
- "source": 846,
- "pc": [
- 3025
- ]
- },
- {
- "teal": 3060,
- "source": 846,
- "pc": [
- 3026
- ]
- },
- {
- "teal": 3061,
- "source": 846,
- "pc": [
- 3027,
- 3028
- ]
- },
- {
- "teal": 3062,
- "source": 846,
- "pc": [
- 3029
- ]
- },
- {
- "teal": 3066,
- "source": 847,
- "pc": [
- 3030,
- 3031
- ]
- },
- {
- "teal": 3067,
- "source": 847,
- "pc": [
- 3032
- ]
- },
- {
- "teal": 3068,
- "source": 847,
- "pc": [
- 3033
- ]
- },
- {
- "teal": 3069,
- "source": 847,
- "pc": [
- 3034
- ]
- },
- {
- "teal": 3070,
- "source": 847,
- "pc": [
- 3035,
- 3036
- ]
- },
- {
- "teal": 3071,
- "source": 847,
- "pc": [
- 3037,
- 3038,
- 3039
- ]
- },
- {
- "teal": 3072,
- "source": 847,
- "pc": [
- 3040
- ]
- },
- {
- "teal": 3073,
- "source": 847,
- "pc": [
- 3041
- ]
- },
- {
- "teal": 3074,
- "source": 847,
- "pc": [
- 3042
- ]
- },
- {
- "teal": 3075,
- "source": 847,
- "pc": [
- 3043,
- 3044
- ]
- },
- {
- "teal": 3076,
- "source": 847,
- "pc": [
- 3045
- ]
- },
- {
- "teal": 3077,
- "source": 847,
- "pc": [
- 3046
- ]
- },
- {
- "teal": 3078,
- "source": 847,
- "pc": [
- 3047,
- 3048
- ]
- },
- {
- "teal": 3079,
- "source": 847,
- "pc": [
- 3049
- ]
- },
- {
- "teal": 3080,
- "source": 847,
- "pc": [
- 3050
- ]
- },
- {
- "teal": 3081,
- "source": 847,
- "pc": [
- 3051
- ]
- },
- {
- "teal": 3082,
- "source": 847,
- "pc": [
- 3052,
- 3053
- ]
- },
- {
- "teal": 3083,
- "source": 847,
- "pc": [
- 3054,
- 3055,
- 3056
- ]
- },
- {
- "teal": 3084,
- "source": 847,
- "pc": [
- 3057
- ]
- },
- {
- "teal": 3085,
- "source": 847,
- "pc": [
- 3058
- ]
- },
- {
- "teal": 3086,
- "source": 847,
- "pc": [
- 3059
- ]
- },
- {
- "teal": 3087,
- "source": 847,
- "pc": [
- 3060,
- 3061
- ]
- },
- {
- "teal": 3088,
- "source": 847,
- "pc": [
- 3062
- ]
- },
- {
- "teal": 3092,
- "source": 848,
- "pc": [
- 3063,
- 3064
- ]
- },
- {
- "teal": 3093,
- "source": 848,
- "pc": [
- 3065
- ]
- },
- {
- "teal": 3094,
- "source": 848,
- "pc": [
- 3066,
- 3067
- ]
- },
- {
- "teal": 3095,
- "source": 848,
- "pc": [
- 3068
- ]
- },
- {
- "teal": 3096,
- "source": 848,
- "pc": [
- 3069,
- 3070
- ]
- },
- {
- "teal": 3097,
- "source": 848,
- "pc": [
- 3071
- ]
- },
- {
- "teal": 3098,
- "source": 848,
- "pc": [
- 3072
- ]
- },
- {
- "teal": 3103,
- "source": 850,
- "pc": [
- 3073,
- 3074
- ]
- },
- {
- "teal": 3104,
- "source": 850,
- "pc": [
- 3075
- ]
- },
- {
- "teal": 3105,
- "source": 850,
- "pc": [
- 3076
- ]
- },
- {
- "teal": 3106,
- "source": 850,
- "pc": [
- 3077,
- 3078,
- 3079
- ]
- },
- {
- "teal": 3111,
- "source": 851,
- "pc": [
- 3080,
- 3081
- ]
- },
- {
- "teal": 3112,
- "source": 851,
- "pc": [
- 3082
- ]
- },
- {
- "teal": 3113,
- "source": 851,
- "pc": [
- 3083
- ]
- },
- {
- "teal": 3114,
- "source": 851,
- "pc": [
- 3084,
- 3085
- ]
- },
- {
- "teal": 3115,
- "source": 851,
- "pc": [
- 3086,
- 3087,
- 3088
- ]
- },
- {
- "teal": 3116,
- "source": 851,
- "pc": [
- 3089
- ]
- },
- {
- "teal": 3117,
- "source": 851,
- "pc": [
- 3090
- ]
- },
- {
- "teal": 3118,
- "source": 851,
- "pc": [
- 3091
- ]
- },
- {
- "teal": 3119,
- "source": 851,
- "pc": [
- 3092,
- 3093
- ]
- },
- {
- "teal": 3120,
- "source": 851,
- "pc": [
- 3094
- ]
- },
- {
- "teal": 3121,
- "source": 851,
- "pc": [
- 3095
- ]
- },
- {
- "teal": 3122,
- "source": 851,
- "pc": [
- 3096,
- 3097
- ]
- },
- {
- "teal": 3126,
- "source": 852,
- "pc": [
- 3098,
- 3099
- ]
- },
- {
- "teal": 3127,
- "source": 852,
- "pc": [
- 3100
- ]
- },
- {
- "teal": 3128,
- "source": 852,
- "pc": [
- 3101
- ]
- },
- {
- "teal": 3131,
- "source": 852,
- "errorMessage": "rewardRemoved can't be set if validator doesn't have reward token!",
- "pc": [
- 3102
- ]
- },
- {
- "teal": 3138,
- "source": 854,
- "pc": [
- 3103,
- 3104
- ]
- },
- {
- "teal": 3139,
- "source": 854,
- "pc": [
- 3105
- ]
- },
- {
- "teal": 3140,
- "source": 854,
- "pc": [
- 3106
- ]
- },
- {
- "teal": 3141,
- "source": 854,
- "pc": [
- 3107,
- 3108
- ]
- },
- {
- "teal": 3142,
- "source": 854,
- "pc": [
- 3109,
- 3110,
- 3111
- ]
- },
- {
- "teal": 3143,
- "source": 854,
- "pc": [
- 3112
- ]
- },
- {
- "teal": 3144,
- "source": 854,
- "pc": [
- 3113
- ]
- },
- {
- "teal": 3145,
- "source": 854,
- "pc": [
- 3114
- ]
- },
- {
- "teal": 3146,
- "source": 854,
- "pc": [
- 3115,
- 3116
- ]
- },
- {
- "teal": 3147,
- "source": 854,
- "pc": [
- 3117
- ]
- },
- {
- "teal": 3148,
- "source": 854,
- "pc": [
- 3118
- ]
- },
- {
- "teal": 3149,
- "source": 854,
- "pc": [
- 3119,
- 3120
- ]
- },
- {
- "teal": 3150,
- "source": 854,
- "pc": [
- 3121
- ]
- },
- {
- "teal": 3153,
- "source": 853,
- "errorMessage": "reward being removed must be covered by hold back amount",
- "pc": [
- 3122
- ]
- },
- {
- "teal": 3157,
- "source": 859,
- "pc": [
- 3123,
- 3124
- ]
- },
- {
- "teal": 3158,
- "source": 859,
- "pc": [
- 3125
- ]
- },
- {
- "teal": 3159,
- "source": 859,
- "pc": [
- 3126
- ]
- },
- {
- "teal": 3160,
- "source": 859,
- "pc": [
- 3127
- ]
- },
- {
- "teal": 3161,
- "source": 859,
- "pc": [
- 3128,
- 3129
- ]
- },
- {
- "teal": 3162,
- "source": 859,
- "pc": [
- 3130,
- 3131,
- 3132
- ]
- },
- {
- "teal": 3163,
- "source": 859,
- "pc": [
- 3133
- ]
- },
- {
- "teal": 3164,
- "source": 859,
- "pc": [
- 3134
- ]
- },
- {
- "teal": 3165,
- "source": 859,
- "pc": [
- 3135
- ]
- },
- {
- "teal": 3166,
- "source": 859,
- "pc": [
- 3136,
- 3137
- ]
- },
- {
- "teal": 3167,
- "source": 859,
- "pc": [
- 3138
- ]
- },
- {
- "teal": 3168,
- "source": 859,
- "pc": [
- 3139
- ]
- },
- {
- "teal": 3169,
- "source": 859,
- "pc": [
- 3140,
- 3141
- ]
- },
- {
- "teal": 3170,
- "source": 859,
- "pc": [
- 3142
- ]
- },
- {
- "teal": 3171,
- "source": 859,
- "pc": [
- 3143
- ]
- },
- {
- "teal": 3172,
- "source": 859,
- "pc": [
- 3144
- ]
- },
- {
- "teal": 3173,
- "source": 859,
- "pc": [
- 3145,
- 3146
- ]
- },
- {
- "teal": 3174,
- "source": 859,
- "pc": [
- 3147,
- 3148,
- 3149
- ]
- },
- {
- "teal": 3175,
- "source": 859,
- "pc": [
- 3150
- ]
- },
- {
- "teal": 3176,
- "source": 859,
- "pc": [
- 3151
- ]
- },
- {
- "teal": 3177,
- "source": 859,
- "pc": [
- 3152
- ]
- },
- {
- "teal": 3178,
- "source": 859,
- "pc": [
- 3153,
- 3154
- ]
- },
- {
- "teal": 3179,
- "source": 859,
- "pc": [
- 3155
- ]
- },
- {
- "teal": 3184,
- "source": 864,
- "pc": [
- 3156,
- 3157
- ]
- },
- {
- "teal": 3185,
- "source": 864,
- "pc": [
- 3158,
- 3159,
- 3160
- ]
- },
- {
- "teal": 3186,
- "source": 864,
- "pc": [
- 3161
- ]
- },
- {
- "teal": 3187,
- "source": 864,
- "pc": [
- 3162
- ]
- },
- {
- "teal": 3188,
- "source": 864,
- "pc": [
- 3163
- ]
- },
- {
- "teal": 3189,
- "source": 864,
- "pc": [
- 3164,
- 3165,
- 3166
- ]
- },
- {
- "teal": 3197,
- "source": 865,
- "pc": [
- 3167
- ]
- },
- {
- "teal": 3198,
- "source": 865,
- "pc": [
- 3168,
- 3169
- ]
- },
- {
- "teal": 3199,
- "source": 865,
- "pc": [
- 3170,
- 3171
- ]
- },
- {
- "teal": 3200,
- "source": 865,
- "pc": [
- 3172,
- 3173
- ]
- },
- {
- "teal": 3201,
- "source": 865,
- "pc": [
- 3174,
- 3175
- ]
- },
- {
- "teal": 3205,
- "source": 866,
- "pc": [
- 3176,
- 3177
- ]
- },
- {
- "teal": 3206,
- "source": 866,
- "pc": [
- 3178
- ]
- },
- {
- "teal": 3207,
- "source": 866,
- "pc": [
- 3179
- ]
- },
- {
- "teal": 3208,
- "source": 866,
- "pc": [
- 3180,
- 3181
- ]
- },
- {
- "teal": 3209,
- "source": 866,
- "pc": [
- 3182,
- 3183,
- 3184
- ]
- },
- {
- "teal": 3210,
- "source": 866,
- "pc": [
- 3185
- ]
- },
- {
- "teal": 3211,
- "source": 866,
- "pc": [
- 3186
- ]
- },
- {
- "teal": 3212,
- "source": 866,
- "pc": [
- 3187
- ]
- },
- {
- "teal": 3213,
- "source": 866,
- "pc": [
- 3188,
- 3189
- ]
- },
- {
- "teal": 3214,
- "source": 866,
- "pc": [
- 3190
- ]
- },
- {
- "teal": 3215,
- "source": 866,
- "pc": [
- 3191
- ]
- },
- {
- "teal": 3216,
- "source": 866,
- "pc": [
- 3192,
- 3193
- ]
- },
- {
- "teal": 3220,
- "source": 867,
- "pc": [
- 3194,
- 3195
- ]
- },
- {
- "teal": 3221,
- "source": 867,
- "pc": [
- 3196,
- 3197
- ]
- },
- {
- "teal": 3222,
- "source": 867,
- "pc": [
- 3198,
- 3199
- ]
- },
- {
- "teal": 3223,
- "source": 867,
- "pc": [
- 3200
- ]
- },
- {
- "teal": 3224,
- "source": 867,
- "pc": [
- 3201,
- 3202
- ]
- },
- {
- "teal": 3225,
- "source": 867,
- "pc": [
- 3203,
- 3204
- ]
- },
- {
- "teal": 3226,
- "source": 867,
- "pc": [
- 3205
- ]
- },
- {
- "teal": 3227,
- "source": 867,
- "pc": [
- 3206,
- 3207
- ]
- },
- {
- "teal": 3230,
- "source": 865,
- "pc": [
- 3208
- ]
- },
- {
- "teal": 3231,
- "source": 865,
- "pc": [
- 3209,
- 3210
- ]
- },
- {
- "teal": 3234,
- "source": 865,
- "pc": [
- 3211
- ]
- },
- {
- "teal": 3237,
- "source": 850,
- "pc": [
- 3212,
- 3213,
- 3214
- ]
- },
- {
- "teal": 3245,
- "source": 892,
- "pc": [
- 3215,
- 3216
- ]
- },
- {
- "teal": 3246,
- "source": 892,
- "pc": [
- 3217,
- 3218,
- 3219
- ]
- },
- {
- "teal": 3251,
- "source": 894,
- "pc": [
- 3220,
- 3221
- ]
- },
- {
- "teal": 3252,
- "source": 894,
- "pc": [
- 3222,
- 3223
- ]
- },
- {
- "teal": 3253,
- "source": 894,
- "pc": [
- 3224,
- 3225,
- 3226
- ]
- },
- {
- "teal": 3254,
- "source": 894,
- "pc": [
- 3227
- ]
- },
- {
- "teal": 3255,
- "source": 894,
- "pc": [
- 3228
- ]
- },
- {
- "teal": 3256,
- "source": 894,
- "pc": [
- 3229
- ]
- },
- {
- "teal": 3257,
- "source": 894,
- "pc": [
- 3230,
- 3231
- ]
- },
- {
- "teal": 3258,
- "source": 894,
- "pc": [
- 3232
- ]
- },
- {
- "teal": 3259,
- "source": 894,
- "pc": [
- 3233
- ]
- },
- {
- "teal": 3260,
- "source": 894,
- "pc": [
- 3234
- ]
- },
- {
- "teal": 3261,
- "source": 894,
- "pc": [
- 3235
- ]
- },
- {
- "teal": 3262,
- "source": 894,
- "pc": [
- 3236,
- 3237
- ]
- },
- {
- "teal": 3263,
- "source": 894,
- "pc": [
- 3238,
- 3239
- ]
- },
- {
- "teal": 3264,
- "source": 894,
- "pc": [
- 3240,
- 3241,
- 3242
- ]
- },
- {
- "teal": 3265,
- "source": 894,
- "pc": [
- 3243
- ]
- },
- {
- "teal": 3266,
- "source": 894,
- "pc": [
- 3244
- ]
- },
- {
- "teal": 3267,
- "source": 894,
- "pc": [
- 3245
- ]
- },
- {
- "teal": 3268,
- "source": 894,
- "pc": [
- 3246,
- 3247
- ]
- },
- {
- "teal": 3269,
- "source": 894,
- "pc": [
- 3248
- ]
- },
- {
- "teal": 3270,
- "source": 894,
- "pc": [
- 3249
- ]
- },
- {
- "teal": 3271,
- "source": 894,
- "pc": [
- 3250
- ]
- },
- {
- "teal": 3272,
- "source": 894,
- "pc": [
- 3251
- ]
- },
- {
- "teal": 3273,
- "source": 894,
- "pc": [
- 3252,
- 3253
- ]
- },
- {
- "teal": 3274,
- "source": 894,
- "pc": [
- 3254
- ]
- },
- {
- "teal": 3275,
- "source": 894,
- "pc": [
- 3255,
- 3256
- ]
- },
- {
- "teal": 3276,
- "source": 894,
- "pc": [
- 3257,
- 3258,
- 3259
- ]
- },
- {
- "teal": 3277,
- "source": 894,
- "pc": [
- 3260
- ]
- },
- {
- "teal": 3278,
- "source": 894,
- "pc": [
- 3261
- ]
- },
- {
- "teal": 3279,
- "source": 894,
- "pc": [
- 3262
- ]
- },
- {
- "teal": 3280,
- "source": 894,
- "pc": [
- 3263,
- 3264
- ]
- },
- {
- "teal": 3281,
- "source": 894,
- "pc": [
- 3265
- ]
- },
- {
- "teal": 3282,
- "source": 894,
- "pc": [
- 3266
- ]
- },
- {
- "teal": 3283,
- "source": 894,
- "pc": [
- 3267
- ]
- },
- {
- "teal": 3284,
- "source": 894,
- "pc": [
- 3268
- ]
- },
- {
- "teal": 3285,
- "source": 894,
- "pc": [
- 3269
- ]
- },
- {
- "teal": 3286,
- "source": 894,
- "pc": [
- 3270,
- 3271,
- 3272
- ]
- },
- {
- "teal": 3287,
- "source": 894,
- "pc": [
- 3273
- ]
- },
- {
- "teal": 3288,
- "source": 894,
- "pc": [
- 3274,
- 3275
- ]
- },
- {
- "teal": 3289,
- "source": 894,
- "pc": [
- 3276,
- 3277,
- 3278
- ]
- },
- {
- "teal": 3290,
- "source": 894,
- "pc": [
- 3279
- ]
- },
- {
- "teal": 3291,
- "source": 894,
- "pc": [
- 3280
- ]
- },
- {
- "teal": 3292,
- "source": 894,
- "pc": [
- 3281
- ]
- },
- {
- "teal": 3293,
- "source": 894,
- "pc": [
- 3282,
- 3283
- ]
- },
- {
- "teal": 3294,
- "source": 894,
- "pc": [
- 3284
- ]
- },
- {
- "teal": 3302,
- "source": 897,
- "pc": [
- 3285,
- 3286
- ]
- },
- {
- "teal": 3303,
- "source": 897,
- "pc": [
- 3287,
- 3288,
- 3289
- ]
- },
- {
- "teal": 3304,
- "source": 897,
- "pc": [
- 3290
- ]
- },
- {
- "teal": 3305,
- "source": 897,
- "pc": [
- 3291
- ]
- },
- {
- "teal": 3306,
- "source": 898,
- "pc": [
- 3292,
- 3293
- ]
- },
- {
- "teal": 3307,
- "source": 898,
- "pc": [
- 3294,
- 3295,
- 3296
- ]
- },
- {
- "teal": 3308,
- "source": 898,
- "pc": [
- 3297
- ]
- },
- {
- "teal": 3309,
- "source": 898,
- "pc": [
- 3298
- ]
- },
- {
- "teal": 3310,
- "source": 898,
- "pc": [
- 3299
- ]
- },
- {
- "teal": 3311,
- "source": 899,
- "pc": [
- 3300,
- 3301
- ]
- },
- {
- "teal": 3312,
- "source": 899,
- "pc": [
- 3302,
- 3303,
- 3304
- ]
- },
- {
- "teal": 3313,
- "source": 899,
- "pc": [
- 3305
- ]
- },
- {
- "teal": 3314,
- "source": 899,
- "pc": [
- 3306
- ]
- },
- {
- "teal": 3315,
- "source": 899,
- "pc": [
- 3307
- ]
- },
- {
- "teal": 3316,
- "source": 896,
- "pc": [
- 3308,
- 3309
- ]
- },
- {
- "teal": 3317,
- "source": 896,
- "pc": [
- 3310,
- 3311,
- 3312
- ]
- },
- {
- "teal": 3318,
- "source": 896,
- "pc": [
- 3313,
- 3314
- ]
- },
- {
- "teal": 3322,
- "source": 901,
- "pc": [
- 3315,
- 3316
- ]
- },
- {
- "teal": 3323,
- "source": 901,
- "pc": [
- 3317,
- 3318
- ]
- },
- {
- "teal": 3324,
- "source": 901,
- "pc": [
- 3319,
- 3320
- ]
- },
- {
- "teal": 3325,
- "source": 901,
- "pc": [
- 3321
- ]
- },
- {
- "teal": 3326,
- "source": 901,
- "pc": [
- 3322
- ]
- },
- {
- "teal": 3327,
- "source": 901,
- "pc": [
- 3323,
- 3324
- ]
- },
- {
- "teal": 3331,
- "source": 902,
- "pc": [
- 3325,
- 3326
- ]
- },
- {
- "teal": 3332,
- "source": 902,
- "pc": [
- 3327,
- 3328
- ]
- },
- {
- "teal": 3333,
- "source": 902,
- "pc": [
- 3329,
- 3330
- ]
- },
- {
- "teal": 3334,
- "source": 902,
- "pc": [
- 3331
- ]
- },
- {
- "teal": 3335,
- "source": 902,
- "pc": [
- 3332
- ]
- },
- {
- "teal": 3336,
- "source": 902,
- "pc": [
- 3333,
- 3334
- ]
- },
- {
- "teal": 3341,
- "source": 904,
- "pc": [
- 3335,
- 3336
- ]
- },
- {
- "teal": 3342,
- "source": 904,
- "pc": [
- 3337,
- 3338,
- 3339
- ]
- },
- {
- "teal": 3347,
- "source": 905,
- "pc": [
- 3340,
- 3341
- ]
- },
- {
- "teal": 3348,
- "source": 905,
- "pc": [
- 3342
- ]
- },
- {
- "teal": 3349,
- "source": 905,
- "pc": [
- 3343
- ]
- },
- {
- "teal": 3350,
- "source": 905,
- "pc": [
- 3344
- ]
- },
- {
- "teal": 3351,
- "source": 905,
- "pc": [
- 3345,
- 3346
- ]
- },
- {
- "teal": 3352,
- "source": 905,
- "pc": [
- 3347,
- 3348,
- 3349
- ]
- },
- {
- "teal": 3353,
- "source": 905,
- "pc": [
- 3350
- ]
- },
- {
- "teal": 3354,
- "source": 905,
- "pc": [
- 3351
- ]
- },
- {
- "teal": 3355,
- "source": 905,
- "pc": [
- 3352
- ]
- },
- {
- "teal": 3356,
- "source": 905,
- "pc": [
- 3353,
- 3354
- ]
- },
- {
- "teal": 3357,
- "source": 905,
- "pc": [
- 3355
- ]
- },
- {
- "teal": 3358,
- "source": 905,
- "pc": [
- 3356
- ]
- },
- {
- "teal": 3359,
- "source": 905,
- "pc": [
- 3357
- ]
- },
- {
- "teal": 3360,
- "source": 905,
- "pc": [
- 3358
- ]
- },
- {
- "teal": 3361,
- "source": 905,
- "pc": [
- 3359
- ]
- },
- {
- "teal": 3362,
- "source": 905,
- "pc": [
- 3360
- ]
- },
- {
- "teal": 3363,
- "source": 905,
- "pc": [
- 3361,
- 3362
- ]
- },
- {
- "teal": 3364,
- "source": 905,
- "pc": [
- 3363,
- 3364,
- 3365
- ]
- },
- {
- "teal": 3365,
- "source": 905,
- "pc": [
- 3366
- ]
- },
- {
- "teal": 3366,
- "source": 905,
- "pc": [
- 3367
- ]
- },
- {
- "teal": 3367,
- "source": 905,
- "pc": [
- 3368
- ]
- },
- {
- "teal": 3368,
- "source": 905,
- "pc": [
- 3369,
- 3370
- ]
- },
- {
- "teal": 3369,
- "source": 905,
- "pc": [
- 3371
- ]
- },
- {
- "teal": 3375,
- "source": 908,
- "pc": [
- 3372,
- 3373
- ]
- },
- {
- "teal": 3376,
- "source": 908,
- "pc": [
- 3374,
- 3375,
- 3376
- ]
- },
- {
- "teal": 3381,
- "source": 909,
- "pc": [
- 3377,
- 3378
- ]
- },
- {
- "teal": 3382,
- "source": 909,
- "pc": [
- 3379
- ]
- },
- {
- "teal": 3383,
- "source": 909,
- "pc": [
- 3380
- ]
- },
- {
- "teal": 3384,
- "source": 909,
- "pc": [
- 3381
- ]
- },
- {
- "teal": 3385,
- "source": 909,
- "pc": [
- 3382,
- 3383
- ]
- },
- {
- "teal": 3386,
- "source": 909,
- "pc": [
- 3384
- ]
- },
- {
- "teal": 3387,
- "source": 909,
- "pc": [
- 3385
- ]
- },
- {
- "teal": 3392,
- "source": 829,
- "pc": [
- 3386
- ]
- },
- {
- "teal": 3397,
- "source": 925,
- "pc": [
- 3387
- ]
- },
- {
- "teal": 3400,
- "source": 928,
- "pc": [
- 3388,
- 3389,
- 3390
- ]
- },
- {
- "teal": 3401,
- "source": 928,
- "pc": [
- 3391
- ]
- },
- {
- "teal": 3404,
- "source": 927,
- "pc": [
- 3392,
- 3393,
- 3394
- ]
- },
- {
- "teal": 3405,
- "source": 927,
- "pc": [
- 3395
- ]
- },
- {
- "teal": 3406,
- "source": 927,
- "pc": [
- 3396
- ]
- },
- {
- "teal": 3407,
- "source": 927,
- "pc": [
- 3397,
- 3398
- ]
- },
- {
- "teal": 3408,
- "source": 927,
- "pc": [
- 3399
- ]
- },
- {
- "teal": 3411,
- "source": 927,
- "errorMessage": "argument 1 (staker) for findPoolForStaker must be a address",
- "pc": [
- 3400
- ]
- },
- {
- "teal": 3414,
- "source": 926,
- "pc": [
- 3401,
- 3402,
- 3403
- ]
- },
- {
- "teal": 3415,
- "source": 926,
- "pc": [
- 3404
- ]
- },
- {
- "teal": 3418,
- "source": 925,
- "pc": [
- 3405,
- 3406,
- 3407
- ]
- },
- {
- "teal": 3419,
- "source": 925,
- "pc": [
- 3408
- ]
- },
- {
- "teal": 3420,
- "source": 925,
- "pc": [
- 3409
- ]
- },
- {
- "teal": 3421,
- "source": 925,
- "pc": [
- 3410
- ]
- },
- {
- "teal": 3422,
- "source": 925,
- "pc": [
- 3411
- ]
- },
- {
- "teal": 3436,
- "source": 925,
- "pc": [
- 3412,
- 3413,
- 3414
- ]
- },
- {
- "teal": 3439,
- "source": 925,
- "pc": [
- 3415
- ]
- },
- {
- "teal": 3440,
- "source": 925,
- "pc": [
- 3416,
- 3417
- ]
- },
- {
- "teal": 3444,
- "source": 930,
- "pc": [
- 3418
- ]
- },
- {
- "teal": 3445,
- "source": 930,
- "pc": [
- 3419,
- 3420
- ]
- },
- {
- "teal": 3449,
- "source": 931,
- "pc": [
- 3421
- ]
- },
- {
- "teal": 3450,
- "source": 931,
- "pc": [
- 3422,
- 3423
- ]
- },
- {
- "teal": 3454,
- "source": 939,
- "pc": [
- 3424,
- 3425
- ]
- },
- {
- "teal": 3455,
- "source": 939,
- "pc": [
- 3426,
- 3427,
- 3428
- ]
- },
- {
- "teal": 3456,
- "source": 939,
- "pc": [
- 3429,
- 3430
- ]
- },
- {
- "teal": 3461,
- "source": 942,
- "pc": [
- 3431
- ]
- },
- {
- "teal": 3462,
- "source": 942,
- "pc": [
- 3432,
- 3433
- ]
- },
- {
- "teal": 3463,
- "source": 942,
- "pc": [
- 3434
- ]
- },
- {
- "teal": 3464,
- "source": 942,
- "pc": [
- 3435
- ]
- },
- {
- "teal": 3465,
- "source": 942,
- "pc": [
- 3436
- ]
- },
- {
- "teal": 3466,
- "source": 942,
- "pc": [
- 3437
- ]
- },
- {
- "teal": 3467,
- "source": 942,
- "pc": [
- 3438,
- 3439,
- 3440
- ]
- },
- {
- "teal": 3472,
- "source": 943,
- "pc": [
- 3441
- ]
- },
- {
- "teal": 3473,
- "source": 943,
- "pc": [
- 3442,
- 3443
- ]
- },
- {
- "teal": 3474,
- "source": 943,
- "pc": [
- 3444
- ]
- },
- {
- "teal": 3475,
- "source": 943,
- "pc": [
- 3445
- ]
- },
- {
- "teal": 3478,
- "source": 943,
- "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value",
- "pc": [
- 3446
- ]
- },
- {
- "teal": 3479,
- "source": 943,
- "pc": [
- 3447,
- 3448
- ]
- },
- {
- "teal": 3483,
- "source": 944,
- "pc": [
- 3449,
- 3450
- ]
- },
- {
- "teal": 3484,
- "source": 944,
- "pc": [
- 3451
- ]
- },
- {
- "teal": 3485,
- "source": 944,
- "pc": [
- 3452
- ]
- },
- {
- "teal": 3486,
- "source": 944,
- "pc": [
- 3453
- ]
- },
- {
- "teal": 3490,
- "source": 945,
- "pc": [
- 3454
- ]
- },
- {
- "teal": 3491,
- "source": 945,
- "pc": [
- 3455,
- 3456
- ]
- },
- {
- "teal": 3496,
- "source": 945,
- "pc": [
- 3457,
- 3458
- ]
- },
- {
- "teal": 3497,
- "source": 945,
- "pc": [
- 3459,
- 3460
- ]
- },
- {
- "teal": 3498,
- "source": 945,
- "pc": [
- 3461
- ]
- },
- {
- "teal": 3499,
- "source": 945,
- "pc": [
- 3462,
- 3463,
- 3464
- ]
- },
- {
- "teal": 3504,
- "source": 946,
- "pc": [
- 3465,
- 3466
- ]
- },
- {
- "teal": 3505,
- "source": 946,
- "pc": [
- 3467,
- 3468
- ]
- },
- {
- "teal": 3506,
- "source": 946,
- "pc": [
- 3469
- ]
- },
- {
- "teal": 3507,
- "source": 946,
- "pc": [
- 3470,
- 3471,
- 3472
- ]
- },
- {
- "teal": 3512,
- "source": 947,
- "pc": [
- 3473
- ]
- },
- {
- "teal": 3513,
- "source": 947,
- "pc": [
- 3474,
- 3475
- ]
- },
- {
- "teal": 3514,
- "source": 947,
- "pc": [
- 3476,
- 3477
- ]
- },
- {
- "teal": 3515,
- "source": 947,
- "pc": [
- 3478
- ]
- },
- {
- "teal": 3516,
- "source": 947,
- "pc": [
- 3479,
- 3480
- ]
- },
- {
- "teal": 3517,
- "source": 947,
- "pc": [
- 3481,
- 3482
- ]
- },
- {
- "teal": 3518,
- "source": 947,
- "pc": [
- 3483
- ]
- },
- {
- "teal": 3519,
- "source": 947,
- "pc": [
- 3484,
- 3485
- ]
- },
- {
- "teal": 3520,
- "source": 947,
- "pc": [
- 3486,
- 3487
- ]
- },
- {
- "teal": 3521,
- "source": 947,
- "pc": [
- 3488,
- 3489
- ]
- },
- {
- "teal": 3522,
- "source": 947,
- "pc": [
- 3490,
- 3491
- ]
- },
- {
- "teal": 3523,
- "source": 947,
- "pc": [
- 3492
- ]
- },
- {
- "teal": 3529,
- "source": 949,
- "pc": [
- 3493,
- 3494
- ]
- },
- {
- "teal": 3530,
- "source": 949,
- "pc": [
- 3495,
- 3496
- ]
- },
- {
- "teal": 3531,
- "source": 949,
- "pc": [
- 3497
- ]
- },
- {
- "teal": 3532,
- "source": 949,
- "pc": [
- 3498
- ]
- },
- {
- "teal": 3533,
- "source": 949,
- "pc": [
- 3499
- ]
- },
- {
- "teal": 3534,
- "source": 949,
- "pc": [
- 3500
- ]
- },
- {
- "teal": 3535,
- "source": 949,
- "pc": [
- 3501
- ]
- },
- {
- "teal": 3536,
- "source": 949,
- "pc": [
- 3502
- ]
- },
- {
- "teal": 3537,
- "source": 949,
- "pc": [
- 3503
- ]
- },
- {
- "teal": 3538,
- "source": 949,
- "pc": [
- 3504
- ]
- },
- {
- "teal": 3539,
- "source": 949,
- "pc": [
- 3505
- ]
- },
- {
- "teal": 3540,
- "source": 949,
- "pc": [
- 3506,
- 3507,
- 3508
- ]
- },
- {
- "teal": 3543,
- "source": 950,
- "pc": [
- 3509,
- 3510,
- 3511
- ]
- },
- {
- "teal": 3548,
- "source": 952,
- "pc": [
- 3512
- ]
- },
- {
- "teal": 3549,
- "source": 952,
- "pc": [
- 3513,
- 3514
- ]
- },
- {
- "teal": 3554,
- "source": 953,
- "pc": [
- 3515,
- 3516
- ]
- },
- {
- "teal": 3555,
- "source": 953,
- "pc": [
- 3517,
- 3518
- ]
- },
- {
- "teal": 3556,
- "source": 953,
- "pc": [
- 3519
- ]
- },
- {
- "teal": 3557,
- "source": 953,
- "pc": [
- 3520
- ]
- },
- {
- "teal": 3558,
- "source": 953,
- "pc": [
- 3521
- ]
- },
- {
- "teal": 3559,
- "source": 953,
- "pc": [
- 3522
- ]
- },
- {
- "teal": 3560,
- "source": 953,
- "pc": [
- 3523
- ]
- },
- {
- "teal": 3561,
- "source": 953,
- "pc": [
- 3524
- ]
- },
- {
- "teal": 3562,
- "source": 953,
- "pc": [
- 3525
- ]
- },
- {
- "teal": 3563,
- "source": 953,
- "pc": [
- 3526,
- 3527
- ]
- },
- {
- "teal": 3564,
- "source": 953,
- "pc": [
- 3528
- ]
- },
- {
- "teal": 3565,
- "source": 953,
- "pc": [
- 3529,
- 3530,
- 3531
- ]
- },
- {
- "teal": 3570,
- "source": 955,
- "pc": [
- 3532
- ]
- },
- {
- "teal": 3571,
- "source": 955,
- "pc": [
- 3533,
- 3534
- ]
- },
- {
- "teal": 3577,
- "source": 957,
- "pc": [
- 3535,
- 3536
- ]
- },
- {
- "teal": 3578,
- "source": 957,
- "pc": [
- 3537,
- 3538
- ]
- },
- {
- "teal": 3579,
- "source": 957,
- "pc": [
- 3539,
- 3540
- ]
- },
- {
- "teal": 3580,
- "source": 957,
- "pc": [
- 3541
- ]
- },
- {
- "teal": 3581,
- "source": 957,
- "pc": [
- 3542
- ]
- },
- {
- "teal": 3582,
- "source": 957,
- "pc": [
- 3543
- ]
- },
- {
- "teal": 3583,
- "source": 957,
- "pc": [
- 3544
- ]
- },
- {
- "teal": 3584,
- "source": 957,
- "pc": [
- 3545
- ]
- },
- {
- "teal": 3585,
- "source": 957,
- "pc": [
- 3546
- ]
- },
- {
- "teal": 3586,
- "source": 957,
- "pc": [
- 3547
- ]
- },
- {
- "teal": 3587,
- "source": 957,
- "pc": [
- 3548
- ]
- },
- {
- "teal": 3588,
- "source": 957,
- "pc": [
- 3549
- ]
- },
- {
- "teal": 3589,
- "source": 957,
- "pc": [
- 3550,
- 3551
- ]
- },
- {
- "teal": 3590,
- "source": 957,
- "pc": [
- 3552
- ]
- },
- {
- "teal": 3591,
- "source": 957,
- "pc": [
- 3553
- ]
- },
- {
- "teal": 3592,
- "source": 957,
- "pc": [
- 3554,
- 3555
- ]
- },
- {
- "teal": 3593,
- "source": 957,
- "pc": [
- 3556
- ]
- },
- {
- "teal": 3594,
- "source": 957,
- "pc": [
- 3557
- ]
- },
- {
- "teal": 3595,
- "source": 957,
- "pc": [
- 3558
- ]
- },
- {
- "teal": 3596,
- "source": 957,
- "pc": [
- 3559,
- 3560
- ]
- },
- {
- "teal": 3597,
- "source": 957,
- "pc": [
- 3561
- ]
- },
- {
- "teal": 3598,
- "source": 957,
- "pc": [
- 3562
- ]
- },
- {
- "teal": 3599,
- "source": 957,
- "pc": [
- 3563,
- 3564
- ]
- },
- {
- "teal": 3600,
- "source": 957,
- "pc": [
- 3565
- ]
- },
- {
- "teal": 3601,
- "source": 957,
- "pc": [
- 3566
- ]
- },
- {
- "teal": 3602,
- "source": 957,
- "pc": [
- 3567,
- 3568
- ]
- },
- {
- "teal": 3603,
- "source": 957,
- "pc": [
- 3569
- ]
- },
- {
- "teal": 3604,
- "source": 958,
- "pc": [
- 3570,
- 3571
- ]
- },
- {
- "teal": 3605,
- "source": 957,
- "pc": [
- 3572
- ]
- },
- {
- "teal": 3606,
- "source": 956,
- "pc": [
- 3573,
- 3574,
- 3575
- ]
- },
- {
- "teal": 3611,
- "source": 960,
- "pc": [
- 3576,
- 3577
- ]
- },
- {
- "teal": 3612,
- "source": 960,
- "pc": [
- 3578,
- 3579
- ]
- },
- {
- "teal": 3613,
- "source": 960,
- "pc": [
- 3580
- ]
- },
- {
- "teal": 3614,
- "source": 960,
- "pc": [
- 3581
- ]
- },
- {
- "teal": 3615,
- "source": 960,
- "pc": [
- 3582
- ]
- },
- {
- "teal": 3616,
- "source": 960,
- "pc": [
- 3583
- ]
- },
- {
- "teal": 3617,
- "source": 960,
- "pc": [
- 3584,
- 3585
- ]
- },
- {
- "teal": 3618,
- "source": 960,
- "pc": [
- 3586
- ]
- },
- {
- "teal": 3619,
- "source": 960,
- "pc": [
- 3587,
- 3588
- ]
- },
- {
- "teal": 3620,
- "source": 960,
- "pc": [
- 3589
- ]
- },
- {
- "teal": 3621,
- "source": 960,
- "pc": [
- 3590
- ]
- },
- {
- "teal": 3622,
- "source": 960,
- "pc": [
- 3591,
- 3592
- ]
- },
- {
- "teal": 3623,
- "source": 960,
- "pc": [
- 3593
- ]
- },
- {
- "teal": 3624,
- "source": 960,
- "pc": [
- 3594
- ]
- },
- {
- "teal": 3625,
- "source": 960,
- "pc": [
- 3595,
- 3596,
- 3597
- ]
- },
- {
- "teal": 3634,
- "source": 945,
- "pc": [
- 3598,
- 3599
- ]
- },
- {
- "teal": 3635,
- "source": 945,
- "pc": [
- 3600
- ]
- },
- {
- "teal": 3636,
- "source": 945,
- "pc": [
- 3601
- ]
- },
- {
- "teal": 3637,
- "source": 945,
- "pc": [
- 3602,
- 3603
- ]
- },
- {
- "teal": 3638,
- "source": 945,
- "pc": [
- 3604,
- 3605,
- 3606
- ]
- },
- {
- "teal": 3648,
- "source": 968,
- "pc": [
- 3607,
- 3608
- ]
- },
- {
- "teal": 3649,
- "source": 968,
- "pc": [
- 3609,
- 3610
- ]
- },
- {
- "teal": 3650,
- "source": 968,
- "pc": [
- 3611
- ]
- },
- {
- "teal": 3651,
- "source": 968,
- "pc": [
- 3612
- ]
- },
- {
- "teal": 3652,
- "source": 968,
- "pc": [
- 3613,
- 3614
- ]
- },
- {
- "teal": 3653,
- "source": 968,
- "pc": [
- 3615
- ]
- },
- {
- "teal": 3654,
- "source": 968,
- "pc": [
- 3616
- ]
- },
- {
- "teal": 3655,
- "source": 968,
- "pc": [
- 3617,
- 3618
- ]
- },
- {
- "teal": 3656,
- "source": 968,
- "pc": [
- 3619
- ]
- },
- {
- "teal": 3657,
- "source": 968,
- "pc": [
- 3620
- ]
- },
- {
- "teal": 3658,
- "source": 968,
- "pc": [
- 3621
- ]
- },
- {
- "teal": 3661,
- "source": 967,
- "errorMessage": "must stake at least the minimum for this pool",
- "pc": [
- 3622
- ]
- },
- {
- "teal": 3665,
- "source": 973,
- "pc": [
- 3623,
- 3624
- ]
- },
- {
- "teal": 3666,
- "source": 973,
- "pc": [
- 3625,
- 3626
- ]
- },
- {
- "teal": 3667,
- "source": 973,
- "pc": [
- 3627
- ]
- },
- {
- "teal": 3668,
- "source": 973,
- "pc": [
- 3628,
- 3629
- ]
- },
- {
- "teal": 3669,
- "source": 973,
- "pc": [
- 3630
- ]
- },
- {
- "teal": 3670,
- "source": 973,
- "pc": [
- 3631
- ]
- },
- {
- "teal": 3671,
- "source": 973,
- "pc": [
- 3632,
- 3633
- ]
- },
- {
- "teal": 3672,
- "source": 973,
- "pc": [
- 3634
- ]
- },
- {
- "teal": 3673,
- "source": 973,
- "pc": [
- 3635,
- 3636
- ]
- },
- {
- "teal": 3677,
- "source": 974,
- "pc": [
- 3637,
- 3638
- ]
- },
- {
- "teal": 3678,
- "source": 974,
- "pc": [
- 3639,
- 3640
- ]
- },
- {
- "teal": 3679,
- "source": 974,
- "pc": [
- 3641
- ]
- },
- {
- "teal": 3680,
- "source": 974,
- "pc": [
- 3642,
- 3643
- ]
- },
- {
- "teal": 3681,
- "source": 974,
- "pc": [
- 3644
- ]
- },
- {
- "teal": 3682,
- "source": 974,
- "pc": [
- 3645
- ]
- },
- {
- "teal": 3683,
- "source": 974,
- "pc": [
- 3646,
- 3647
- ]
- },
- {
- "teal": 3684,
- "source": 974,
- "pc": [
- 3648
- ]
- },
- {
- "teal": 3685,
- "source": 974,
- "pc": [
- 3649
- ]
- },
- {
- "teal": 3686,
- "source": 974,
- "pc": [
- 3650,
- 3651
- ]
- },
- {
- "teal": 3690,
- "source": 975,
- "pc": [
- 3652
- ]
- },
- {
- "teal": 3691,
- "source": 975,
- "pc": [
- 3653,
- 3654
- ]
- },
- {
- "teal": 3696,
- "source": 975,
- "pc": [
- 3655,
- 3656
- ]
- },
- {
- "teal": 3697,
- "source": 975,
- "pc": [
- 3657,
- 3658
- ]
- },
- {
- "teal": 3698,
- "source": 975,
- "pc": [
- 3659
- ]
- },
- {
- "teal": 3699,
- "source": 975,
- "pc": [
- 3660,
- 3661,
- 3662
- ]
- },
- {
- "teal": 3704,
- "source": 976,
- "pc": [
- 3663,
- 3664
- ]
- },
- {
- "teal": 3705,
- "source": 976,
- "pc": [
- 3665,
- 3666
- ]
- },
- {
- "teal": 3706,
- "source": 976,
- "pc": [
- 3667,
- 3668
- ]
- },
- {
- "teal": 3707,
- "source": 976,
- "pc": [
- 3669
- ]
- },
- {
- "teal": 3708,
- "source": 976,
- "pc": [
- 3670,
- 3671
- ]
- },
- {
- "teal": 3709,
- "source": 976,
- "pc": [
- 3672
- ]
- },
- {
- "teal": 3710,
- "source": 976,
- "pc": [
- 3673
- ]
- },
- {
- "teal": 3711,
- "source": 976,
- "pc": [
- 3674
- ]
- },
- {
- "teal": 3712,
- "source": 976,
- "pc": [
- 3675
- ]
- },
- {
- "teal": 3713,
- "source": 976,
- "pc": [
- 3676,
- 3677
- ]
- },
- {
- "teal": 3714,
- "source": 976,
- "pc": [
- 3678
- ]
- },
- {
- "teal": 3715,
- "source": 976,
- "pc": [
- 3679,
- 3680
- ]
- },
- {
- "teal": 3716,
- "source": 976,
- "pc": [
- 3681
- ]
- },
- {
- "teal": 3717,
- "source": 976,
- "pc": [
- 3682,
- 3683,
- 3684
- ]
- },
- {
- "teal": 3726,
- "source": 978,
- "pc": [
- 3685,
- 3686
- ]
- },
- {
- "teal": 3727,
- "source": 978,
- "pc": [
- 3687
- ]
- },
- {
- "teal": 3728,
- "source": 978,
- "pc": [
- 3688,
- 3689
- ]
- },
- {
- "teal": 3729,
- "source": 978,
- "pc": [
- 3690
- ]
- },
- {
- "teal": 3730,
- "source": 978,
- "pc": [
- 3691
- ]
- },
- {
- "teal": 3731,
- "source": 978,
- "pc": [
- 3692
- ]
- },
- {
- "teal": 3732,
- "source": 978,
- "pc": [
- 3693
- ]
- },
- {
- "teal": 3733,
- "source": 978,
- "pc": [
- 3694,
- 3695
- ]
- },
- {
- "teal": 3734,
- "source": 978,
- "pc": [
- 3696,
- 3697
- ]
- },
- {
- "teal": 3735,
- "source": 978,
- "pc": [
- 3698,
- 3699
- ]
- },
- {
- "teal": 3736,
- "source": 978,
- "pc": [
- 3700
- ]
- },
- {
- "teal": 3737,
- "source": 978,
- "pc": [
- 3701
- ]
- },
- {
- "teal": 3738,
- "source": 978,
- "pc": [
- 3702
- ]
- },
- {
- "teal": 3739,
- "source": 978,
- "pc": [
- 3703
- ]
- },
- {
- "teal": 3740,
- "source": 978,
- "pc": [
- 3704
- ]
- },
- {
- "teal": 3741,
- "source": 978,
- "pc": [
- 3705
- ]
- },
- {
- "teal": 3742,
- "source": 978,
- "pc": [
- 3706
- ]
- },
- {
- "teal": 3743,
- "source": 978,
- "pc": [
- 3707
- ]
- },
- {
- "teal": 3744,
- "source": 979,
- "pc": [
- 3708,
- 3709
- ]
- },
- {
- "teal": 3745,
- "source": 979,
- "pc": [
- 3710
- ]
- },
- {
- "teal": 3746,
- "source": 979,
- "pc": [
- 3711,
- 3712
- ]
- },
- {
- "teal": 3747,
- "source": 979,
- "pc": [
- 3713
- ]
- },
- {
- "teal": 3748,
- "source": 980,
- "pc": [
- 3714
- ]
- },
- {
- "teal": 3749,
- "source": 980,
- "pc": [
- 3715,
- 3716
- ]
- },
- {
- "teal": 3750,
- "source": 980,
- "pc": [
- 3717
- ]
- },
- {
- "teal": 3751,
- "source": 977,
- "pc": [
- 3718
- ]
- },
- {
- "teal": 3752,
- "source": 977,
- "pc": [
- 3719,
- 3720,
- 3721
- ]
- },
- {
- "teal": 3759,
- "source": 975,
- "pc": [
- 3722,
- 3723
- ]
- },
- {
- "teal": 3760,
- "source": 975,
- "pc": [
- 3724
- ]
- },
- {
- "teal": 3761,
- "source": 975,
- "pc": [
- 3725
- ]
- },
- {
- "teal": 3762,
- "source": 975,
- "pc": [
- 3726,
- 3727
- ]
- },
- {
- "teal": 3763,
- "source": 975,
- "pc": [
- 3728,
- 3729,
- 3730
- ]
- },
- {
- "teal": 3768,
- "source": 985,
- "pc": [
- 3731,
- 3732
- ]
- },
- {
- "teal": 3769,
- "source": 985,
- "pc": [
- 3733
- ]
- },
- {
- "teal": 3770,
- "source": 985,
- "pc": [
- 3734,
- 3735
- ]
- },
- {
- "teal": 3771,
- "source": 985,
- "pc": [
- 3736
- ]
- },
- {
- "teal": 3772,
- "source": 985,
- "pc": [
- 3737,
- 3738
- ]
- },
- {
- "teal": 3773,
- "source": 985,
- "pc": [
- 3739
- ]
- },
- {
- "teal": 3774,
- "source": 985,
- "pc": [
- 3740,
- 3741
- ]
- },
- {
- "teal": 3775,
- "source": 985,
- "pc": [
- 3742
- ]
- },
- {
- "teal": 3776,
- "source": 985,
- "pc": [
- 3743,
- 3744
- ]
- },
- {
- "teal": 3777,
- "source": 985,
- "pc": [
- 3745
- ]
- },
- {
- "teal": 3778,
- "source": 985,
- "pc": [
- 3746
- ]
- },
- {
- "teal": 3779,
- "source": 985,
- "pc": [
- 3747,
- 3748
- ]
- },
- {
- "teal": 3780,
- "source": 985,
- "pc": [
- 3749
- ]
- },
- {
- "teal": 3781,
- "source": 985,
- "pc": [
- 3750
- ]
- },
- {
- "teal": 3785,
- "source": 925,
- "pc": [
- 3751,
- 3752
- ]
- },
- {
- "teal": 3788,
- "source": 925,
- "pc": [
- 3753,
- 3754
- ]
- },
- {
- "teal": 3789,
- "source": 925,
- "pc": [
- 3755
- ]
- },
- {
- "teal": 3794,
- "source": 999,
- "pc": [
- 3756,
- 3757,
- 3758
- ]
- },
- {
- "teal": 3795,
- "source": 999,
- "pc": [
- 3759
- ]
- },
- {
- "teal": 3798,
- "source": 999,
- "pc": [
- 3760,
- 3761,
- 3762
- ]
- },
- {
- "teal": 3799,
- "source": 999,
- "pc": [
- 3763
- ]
- },
- {
- "teal": 3802,
- "source": 999,
- "pc": [
- 3764,
- 3765,
- 3766
- ]
- },
- {
- "teal": 3803,
- "source": 999,
- "pc": [
- 3767
- ]
- },
- {
- "teal": 3806,
- "source": 999,
- "pc": [
- 3768,
- 3769,
- 3770
- ]
- },
- {
- "teal": 3807,
- "source": 999,
- "pc": [
- 3771
- ]
- },
- {
- "teal": 3808,
- "source": 999,
- "pc": [
- 3772
- ]
- },
- {
- "teal": 3822,
- "source": 999,
- "pc": [
- 3773,
- 3774,
- 3775
- ]
- },
- {
- "teal": 3825,
- "source": 999,
- "pc": [
- 3776
- ]
- },
- {
- "teal": 3826,
- "source": 999,
- "pc": [
- 3777,
- 3778
- ]
- },
- {
- "teal": 3834,
- "source": 1002,
- "pc": [
- 3779,
- 3780
- ]
- },
- {
- "teal": 3835,
- "source": 1002,
- "pc": [
- 3781
- ]
- },
- {
- "teal": 3836,
- "source": 1002,
- "pc": [
- 3782,
- 3783
- ]
- },
- {
- "teal": 3837,
- "source": 1002,
- "pc": [
- 3784
- ]
- },
- {
- "teal": 3838,
- "source": 1002,
- "pc": [
- 3785,
- 3786
- ]
- },
- {
- "teal": 3839,
- "source": 1002,
- "pc": [
- 3787
- ]
- },
- {
- "teal": 3840,
- "source": 1002,
- "pc": [
- 3788
- ]
- },
- {
- "teal": 3841,
- "source": 1002,
- "pc": [
- 3789,
- 3790
- ]
- },
- {
- "teal": 3842,
- "source": 1002,
- "pc": [
- 3791
- ]
- },
- {
- "teal": 3843,
- "source": 1002,
- "pc": [
- 3792
- ]
- },
- {
- "teal": 3844,
- "source": 1002,
- "pc": [
- 3793
- ]
- },
- {
- "teal": 3845,
- "source": 1002,
- "pc": [
- 3794,
- 3795,
- 3796
- ]
- },
- {
- "teal": 3846,
- "source": 1003,
- "pc": [
- 3797,
- 3798
- ]
- },
- {
- "teal": 3847,
- "source": 1003,
- "pc": [
- 3799,
- 3800
- ]
- },
- {
- "teal": 3848,
- "source": 1003,
- "pc": [
- 3801,
- 3802
- ]
- },
- {
- "teal": 3849,
- "source": 1003,
- "pc": [
- 3803
- ]
- },
- {
- "teal": 3850,
- "source": 1003,
- "pc": [
- 3804,
- 3805
- ]
- },
- {
- "teal": 3851,
- "source": 1003,
- "pc": [
- 3806
- ]
- },
- {
- "teal": 3852,
- "source": 1003,
- "pc": [
- 3807
- ]
- },
- {
- "teal": 3853,
- "source": 1003,
- "pc": [
- 3808,
- 3809
- ]
- },
- {
- "teal": 3854,
- "source": 1003,
- "pc": [
- 3810
- ]
- },
- {
- "teal": 3855,
- "source": 1003,
- "pc": [
- 3811
- ]
- },
- {
- "teal": 3856,
- "source": 1002,
- "pc": [
- 3812
- ]
- },
- {
- "teal": 3860,
- "source": 1001,
- "errorMessage": "can only be called by owner or manager of validator",
- "pc": [
- 3813
- ]
- },
- {
- "teal": 3864,
- "source": 1007,
- "pc": [
- 3814,
- 3815
- ]
- },
- {
- "teal": 3865,
- "source": 1007,
- "pc": [
- 3816,
- 3817
- ]
- },
- {
- "teal": 3866,
- "source": 1007,
- "pc": [
- 3818
- ]
- },
- {
- "teal": 3867,
- "source": 1007,
- "pc": [
- 3819,
- 3820
- ]
- },
- {
- "teal": 3868,
- "source": 1007,
- "pc": [
- 3821
- ]
- },
- {
- "teal": 3869,
- "source": 1007,
- "pc": [
- 3822
- ]
- },
- {
- "teal": 3870,
- "source": 1007,
- "pc": [
- 3823,
- 3824
- ]
- },
- {
- "teal": 3871,
- "source": 1007,
- "pc": [
- 3825
- ]
- },
- {
- "teal": 3872,
- "source": 1007,
- "pc": [
- 3826,
- 3827
- ]
- },
- {
- "teal": 3876,
- "source": 1008,
- "pc": [
- 3828,
- 3829
- ]
- },
- {
- "teal": 3877,
- "source": 1008,
- "pc": [
- 3830
- ]
- },
- {
- "teal": 3878,
- "source": 1008,
- "pc": [
- 3831
- ]
- },
- {
- "teal": 3879,
- "source": 1008,
- "pc": [
- 3832
- ]
- },
- {
- "teal": 3880,
- "source": 1008,
- "pc": [
- 3833,
- 3834,
- 3835
- ]
- },
- {
- "teal": 3881,
- "source": 1008,
- "pc": [
- 3836,
- 3837
- ]
- },
- {
- "teal": 3882,
- "source": 1008,
- "pc": [
- 3838
- ]
- },
- {
- "teal": 3883,
- "source": 1008,
- "pc": [
- 3839
- ]
- },
- {
- "teal": 3884,
- "source": 1008,
- "pc": [
- 3840
- ]
- },
- {
- "teal": 3888,
- "source": 1008,
- "errorMessage": "node number out of allowable range",
- "pc": [
- 3841
- ]
- },
- {
- "teal": 3892,
- "source": 1010,
- "pc": [
- 3842
- ]
- },
- {
- "teal": 3893,
- "source": 1010,
- "pc": [
- 3843,
- 3844
- ]
- },
- {
- "teal": 3898,
- "source": 1010,
- "pc": [
- 3845,
- 3846
- ]
- },
- {
- "teal": 3899,
- "source": 1010,
- "pc": [
- 3847
- ]
- },
- {
- "teal": 3900,
- "source": 1010,
- "pc": [
- 3848
- ]
- },
- {
- "teal": 3901,
- "source": 1010,
- "pc": [
- 3849,
- 3850,
- 3851
- ]
- },
- {
- "teal": 3905,
- "source": 1011,
- "pc": [
- 3852
- ]
- },
- {
- "teal": 3906,
- "source": 1011,
- "pc": [
- 3853,
- 3854
- ]
- },
- {
- "teal": 3911,
- "source": 1011,
- "pc": [
- 3855,
- 3856
- ]
- },
- {
- "teal": 3912,
- "source": 1011,
- "pc": [
- 3857,
- 3858
- ]
- },
- {
- "teal": 3913,
- "source": 1011,
- "pc": [
- 3859
- ]
- },
- {
- "teal": 3914,
- "source": 1011,
- "pc": [
- 3860,
- 3861,
- 3862
- ]
- },
- {
- "teal": 3919,
- "source": 1012,
- "pc": [
- 3863,
- 3864
- ]
- },
- {
- "teal": 3920,
- "source": 1012,
- "pc": [
- 3865
- ]
- },
- {
- "teal": 3921,
- "source": 1012,
- "pc": [
- 3866,
- 3867
- ]
- },
- {
- "teal": 3922,
- "source": 1012,
- "pc": [
- 3868
- ]
- },
- {
- "teal": 3923,
- "source": 1012,
- "pc": [
- 3869
- ]
- },
- {
- "teal": 3924,
- "source": 1012,
- "pc": [
- 3870
- ]
- },
- {
- "teal": 3925,
- "source": 1012,
- "pc": [
- 3871
- ]
- },
- {
- "teal": 3926,
- "source": 1012,
- "pc": [
- 3872
- ]
- },
- {
- "teal": 3927,
- "source": 1012,
- "pc": [
- 3873,
- 3874
- ]
- },
- {
- "teal": 3928,
- "source": 1012,
- "pc": [
- 3875
- ]
- },
- {
- "teal": 3929,
- "source": 1012,
- "pc": [
- 3876
- ]
- },
- {
- "teal": 3930,
- "source": 1012,
- "pc": [
- 3877
- ]
- },
- {
- "teal": 3931,
- "source": 1012,
- "pc": [
- 3878
- ]
- },
- {
- "teal": 3932,
- "source": 1012,
- "pc": [
- 3879
- ]
- },
- {
- "teal": 3933,
- "source": 1012,
- "pc": [
- 3880
- ]
- },
- {
- "teal": 3934,
- "source": 1012,
- "pc": [
- 3881,
- 3882
- ]
- },
- {
- "teal": 3935,
- "source": 1012,
- "pc": [
- 3883
- ]
- },
- {
- "teal": 3936,
- "source": 1012,
- "pc": [
- 3884,
- 3885,
- 3886
- ]
- },
- {
- "teal": 3941,
- "source": 1013,
- "pc": [
- 3887,
- 3888
- ]
- },
- {
- "teal": 3942,
- "source": 1013,
- "pc": [
- 3889
- ]
- },
- {
- "teal": 3943,
- "source": 1013,
- "pc": [
- 3890
- ]
- },
- {
- "teal": 3944,
- "source": 1013,
- "pc": [
- 3891,
- 3892
- ]
- },
- {
- "teal": 3945,
- "source": 1013,
- "pc": [
- 3893
- ]
- },
- {
- "teal": 3948,
- "source": 1013,
- "errorMessage": "can't move to same node",
- "pc": [
- 3894
- ]
- },
- {
- "teal": 3952,
- "source": 1015,
- "pc": [
- 3895,
- 3896
- ]
- },
- {
- "teal": 3953,
- "source": 1015,
- "pc": [
- 3897,
- 3898
- ]
- },
- {
- "teal": 3954,
- "source": 1015,
- "pc": [
- 3899
- ]
- },
- {
- "teal": 3955,
- "source": 1015,
- "pc": [
- 3900
- ]
- },
- {
- "teal": 3956,
- "source": 1015,
- "pc": [
- 3901
- ]
- },
- {
- "teal": 3957,
- "source": 1015,
- "pc": [
- 3902
- ]
- },
- {
- "teal": 3958,
- "source": 1015,
- "pc": [
- 3903
- ]
- },
- {
- "teal": 3959,
- "source": 1015,
- "pc": [
- 3904,
- 3905
- ]
- },
- {
- "teal": 3960,
- "source": 1015,
- "pc": [
- 3906
- ]
- },
- {
- "teal": 3961,
- "source": 1015,
- "pc": [
- 3907
- ]
- },
- {
- "teal": 3962,
- "source": 1015,
- "pc": [
- 3908
- ]
- },
- {
- "teal": 3963,
- "source": 1015,
- "pc": [
- 3909,
- 3910
- ]
- },
- {
- "teal": 3964,
- "source": 1015,
- "pc": [
- 3911
- ]
- },
- {
- "teal": 3965,
- "source": 1015,
- "pc": [
- 3912,
- 3913
- ]
- },
- {
- "teal": 3966,
- "source": 1015,
- "pc": [
- 3914
- ]
- },
- {
- "teal": 3967,
- "source": 1015,
- "pc": [
- 3915
- ]
- },
- {
- "teal": 3968,
- "source": 1015,
- "pc": [
- 3916,
- 3917
- ]
- },
- {
- "teal": 3969,
- "source": 1015,
- "pc": [
- 3918
- ]
- },
- {
- "teal": 3975,
- "source": 1018,
- "pc": [
- 3919
- ]
- },
- {
- "teal": 3976,
- "source": 1018,
- "pc": [
- 3920,
- 3921
- ]
- },
- {
- "teal": 3977,
- "source": 1018,
- "pc": [
- 3922,
- 3923
- ]
- },
- {
- "teal": 3978,
- "source": 1018,
- "pc": [
- 3924,
- 3925,
- 3926,
- 3927,
- 3928,
- 3929
- ]
- },
- {
- "teal": 3979,
- "source": 1018,
- "pc": [
- 3930,
- 3931
- ]
- },
- {
- "teal": 3983,
- "source": 1019,
- "pc": [
- 3932,
- 3933
- ]
- },
- {
- "teal": 3984,
- "source": 1019,
- "pc": [
- 3934,
- 3935
- ]
- },
- {
- "teal": 3987,
- "source": 1018,
- "pc": [
- 3936
- ]
- },
- {
- "teal": 3988,
- "source": 1018,
- "pc": [
- 3937,
- 3938
- ]
- },
- {
- "teal": 3991,
- "source": 1018,
- "pc": [
- 3939
- ]
- },
- {
- "teal": 3995,
- "source": 1023,
- "pc": [
- 3940,
- 3941
- ]
- },
- {
- "teal": 3996,
- "source": 1023,
- "pc": [
- 3942,
- 3943
- ]
- },
- {
- "teal": 3997,
- "source": 1023,
- "pc": [
- 3944,
- 3945
- ]
- },
- {
- "teal": 3998,
- "source": 1023,
- "pc": [
- 3946,
- 3947,
- 3948
- ]
- },
- {
- "teal": 4002,
- "source": 1024,
- "pc": [
- 3949
- ]
- },
- {
- "teal": 4009,
- "source": 1011,
- "pc": [
- 3950,
- 3951
- ]
- },
- {
- "teal": 4010,
- "source": 1011,
- "pc": [
- 3952
- ]
- },
- {
- "teal": 4011,
- "source": 1011,
- "pc": [
- 3953
- ]
- },
- {
- "teal": 4012,
- "source": 1011,
- "pc": [
- 3954,
- 3955
- ]
- },
- {
- "teal": 4013,
- "source": 1011,
- "pc": [
- 3956,
- 3957,
- 3958
- ]
- },
- {
- "teal": 4020,
- "source": 1010,
- "pc": [
- 3959,
- 3960
- ]
- },
- {
- "teal": 4021,
- "source": 1010,
- "pc": [
- 3961
- ]
- },
- {
- "teal": 4022,
- "source": 1010,
- "pc": [
- 3962
- ]
- },
- {
- "teal": 4023,
- "source": 1010,
- "pc": [
- 3963,
- 3964
- ]
- },
- {
- "teal": 4024,
- "source": 1010,
- "pc": [
- 3965,
- 3966,
- 3967
- ]
- },
- {
- "teal": 4028,
- "source": 1028,
- "errorMessage": "couldn't find pool app id in nodes to move",
- "pc": [
- 3968
- ]
- },
- {
- "teal": 4029,
- "source": 999,
- "pc": [
- 3969
- ]
- },
- {
- "teal": 4034,
- "source": 1042,
- "pc": [
- 3970
- ]
- },
- {
- "teal": 4037,
- "source": 1042,
- "pc": [
- 3971,
- 3972,
- 3973
- ]
- },
- {
- "teal": 4038,
- "source": 1042,
- "pc": [
- 3974
- ]
- },
- {
- "teal": 4039,
- "source": 1042,
- "pc": [
- 3975
- ]
- },
- {
- "teal": 4040,
- "source": 1042,
- "pc": [
- 3976,
- 3977
- ]
- },
- {
- "teal": 4041,
- "source": 1042,
- "pc": [
- 3978
- ]
- },
- {
- "teal": 4044,
- "source": 1042,
- "errorMessage": "argument 0 (receiver) for emptyTokenRewards must be a address",
- "pc": [
- 3979
- ]
- },
- {
- "teal": 4047,
- "source": 1042,
- "pc": [
- 3980,
- 3981,
- 3982
- ]
- },
- {
- "teal": 4048,
- "source": 1042,
- "pc": [
- 3983
- ]
- },
- {
- "teal": 4051,
- "source": 1042,
- "pc": [
- 3984,
- 3985,
- 3986
- ]
- },
- {
- "teal": 4052,
- "source": 1042,
- "pc": [
- 3987
- ]
- },
- {
- "teal": 4053,
- "source": 1042,
- "pc": [
- 3988
- ]
- },
- {
- "teal": 4054,
- "source": 1042,
- "pc": [
- 3989
- ]
- },
- {
- "teal": 4055,
- "source": 1042,
- "pc": [
- 3990
- ]
- },
- {
- "teal": 4056,
- "source": 1042,
- "pc": [
- 3991
- ]
- },
- {
- "teal": 4070,
- "source": 1042,
- "pc": [
- 3992,
- 3993,
- 3994
- ]
- },
- {
- "teal": 4073,
- "source": 1042,
- "pc": [
- 3995
- ]
- },
- {
- "teal": 4074,
- "source": 1042,
- "pc": [
- 3996,
- 3997
- ]
- },
- {
- "teal": 4081,
- "source": 1044,
- "pc": [
- 3998,
- 3999
- ]
- },
- {
- "teal": 4082,
- "source": 1044,
- "pc": [
- 4000
- ]
- },
- {
- "teal": 4083,
- "source": 1044,
- "pc": [
- 4001,
- 4002
- ]
- },
- {
- "teal": 4084,
- "source": 1044,
- "pc": [
- 4003
- ]
- },
- {
- "teal": 4085,
- "source": 1044,
- "pc": [
- 4004,
- 4005
- ]
- },
- {
- "teal": 4086,
- "source": 1044,
- "pc": [
- 4006
- ]
- },
- {
- "teal": 4087,
- "source": 1044,
- "pc": [
- 4007
- ]
- },
- {
- "teal": 4088,
- "source": 1044,
- "pc": [
- 4008,
- 4009
- ]
- },
- {
- "teal": 4089,
- "source": 1044,
- "pc": [
- 4010
- ]
- },
- {
- "teal": 4090,
- "source": 1044,
- "pc": [
- 4011
- ]
- },
- {
- "teal": 4093,
- "source": 1043,
- "errorMessage": "can only be called by validator owner",
- "pc": [
- 4012
- ]
- },
- {
- "teal": 4097,
- "source": 1047,
- "pc": [
- 4013,
- 4014
- ]
- },
- {
- "teal": 4098,
- "source": 1047,
- "pc": [
- 4015
- ]
- },
- {
- "teal": 4099,
- "source": 1047,
- "pc": [
- 4016
- ]
- },
- {
- "teal": 4100,
- "source": 1047,
- "pc": [
- 4017,
- 4018
- ]
- },
- {
- "teal": 4101,
- "source": 1047,
- "pc": [
- 4019
- ]
- },
- {
- "teal": 4102,
- "source": 1047,
- "pc": [
- 4020
- ]
- },
- {
- "teal": 4103,
- "source": 1047,
- "pc": [
- 4021,
- 4022
- ]
- },
- {
- "teal": 4104,
- "source": 1047,
- "pc": [
- 4023
- ]
- },
- {
- "teal": 4105,
- "source": 1047,
- "pc": [
- 4024
- ]
- },
- {
- "teal": 4106,
- "source": 1047,
- "pc": [
- 4025,
- 4026
- ]
- },
- {
- "teal": 4110,
- "source": 1048,
- "pc": [
- 4027,
- 4028
- ]
- },
- {
- "teal": 4111,
- "source": 1048,
- "pc": [
- 4029
- ]
- },
- {
- "teal": 4112,
- "source": 1048,
- "pc": [
- 4030
- ]
- },
- {
- "teal": 4113,
- "source": 1048,
- "pc": [
- 4031,
- 4032
- ]
- },
- {
- "teal": 4114,
- "source": 1048,
- "pc": [
- 4033
- ]
- },
- {
- "teal": 4115,
- "source": 1048,
- "pc": [
- 4034
- ]
- },
- {
- "teal": 4116,
- "source": 1048,
- "pc": [
- 4035,
- 4036
- ]
- },
- {
- "teal": 4117,
- "source": 1048,
- "pc": [
- 4037
- ]
- },
- {
- "teal": 4118,
- "source": 1048,
- "pc": [
- 4038
- ]
- },
- {
- "teal": 4119,
- "source": 1048,
- "pc": [
- 4039,
- 4040
- ]
- },
- {
- "teal": 4123,
- "source": 1049,
- "pc": [
- 4041,
- 4042
- ]
- },
- {
- "teal": 4124,
- "source": 1049,
- "pc": [
- 4043
- ]
- },
- {
- "teal": 4125,
- "source": 1049,
- "pc": [
- 4044
- ]
- },
- {
- "teal": 4128,
- "source": 1049,
- "errorMessage": "this validator doesn't have a reward token defined",
- "pc": [
- 4045
- ]
- },
- {
- "teal": 4132,
- "source": 1050,
- "pc": [
- 4046,
- 4047
- ]
- },
- {
- "teal": 4133,
- "source": 1050,
- "pc": [
- 4048
- ]
- },
- {
- "teal": 4134,
- "source": 1050,
- "pc": [
- 4049
- ]
- },
- {
- "teal": 4135,
- "source": 1050,
- "pc": [
- 4050,
- 4051
- ]
- },
- {
- "teal": 4136,
- "source": 1050,
- "pc": [
- 4052
- ]
- },
- {
- "teal": 4137,
- "source": 1050,
- "pc": [
- 4053
- ]
- },
- {
- "teal": 4138,
- "source": 1050,
- "pc": [
- 4054,
- 4055
- ]
- },
- {
- "teal": 4139,
- "source": 1050,
- "pc": [
- 4056
- ]
- },
- {
- "teal": 4140,
- "source": 1050,
- "pc": [
- 4057
- ]
- },
- {
- "teal": 4141,
- "source": 1050,
- "pc": [
- 4058,
- 4059
- ]
- },
- {
- "teal": 4145,
- "source": 1052,
- "pc": [
- 4060,
- 4061
- ]
- },
- {
- "teal": 4146,
- "source": 1052,
- "pc": [
- 4062,
- 4063
- ]
- },
- {
- "teal": 4147,
- "source": 1052,
- "pc": [
- 4064
- ]
- },
- {
- "teal": 4148,
- "source": 1052,
- "pc": [
- 4065,
- 4066
- ]
- },
- {
- "teal": 4149,
- "source": 1052,
- "pc": [
- 4067,
- 4068
- ]
- },
- {
- "teal": 4150,
- "source": 1052,
- "pc": [
- 4069
- ]
- },
- {
- "teal": 4151,
- "source": 1052,
- "pc": [
- 4070,
- 4071
- ]
- },
- {
- "teal": 4152,
- "source": 1052,
- "pc": [
- 4072
- ]
- },
- {
- "teal": 4153,
- "source": 1052,
- "pc": [
- 4073,
- 4074
- ]
- },
- {
- "teal": 4160,
- "source": 1055,
- "pc": [
- 4075
- ]
- },
- {
- "teal": 4161,
- "source": 1055,
- "pc": [
- 4076,
- 4077
- ]
- },
- {
- "teal": 4162,
- "source": 1055,
- "pc": [
- 4078,
- 4079
- ]
- },
- {
- "teal": 4163,
- "source": 1055,
- "pc": [
- 4080,
- 4081
- ]
- },
- {
- "teal": 4164,
- "source": 1055,
- "pc": [
- 4082,
- 4083
- ]
- },
- {
- "teal": 4168,
- "source": 1056,
- "pc": [
- 4084,
- 4085
- ]
- },
- {
- "teal": 4169,
- "source": 1056,
- "pc": [
- 4086,
- 4087
- ]
- },
- {
- "teal": 4173,
- "source": 1057,
- "pc": [
- 4088,
- 4089
- ]
- },
- {
- "teal": 4174,
- "source": 1057,
- "pc": [
- 4090,
- 4091
- ]
- },
- {
- "teal": 4175,
- "source": 1057,
- "pc": [
- 4092,
- 4093
- ]
- },
- {
- "teal": 4176,
- "source": 1057,
- "pc": [
- 4094
- ]
- },
- {
- "teal": 4177,
- "source": 1057,
- "pc": [
- 4095,
- 4096
- ]
- },
- {
- "teal": 4178,
- "source": 1057,
- "pc": [
- 4097,
- 4098
- ]
- },
- {
- "teal": 4179,
- "source": 1057,
- "pc": [
- 4099
- ]
- },
- {
- "teal": 4180,
- "source": 1057,
- "pc": [
- 4100,
- 4101
- ]
- },
- {
- "teal": 4183,
- "source": 1055,
- "pc": [
- 4102
- ]
- },
- {
- "teal": 4184,
- "source": 1055,
- "pc": [
- 4103,
- 4104
- ]
- },
- {
- "teal": 4187,
- "source": 1055,
- "pc": [
- 4105
- ]
- },
- {
- "teal": 4194,
- "source": 1060,
- "pc": [
- 4106,
- 4107
- ]
- },
- {
- "teal": 4195,
- "source": 1060,
- "pc": [
- 4108,
- 4109
- ]
- },
- {
- "teal": 4196,
- "source": 1060,
- "pc": [
- 4110
- ]
- },
- {
- "teal": 4197,
- "source": 1060,
- "pc": [
- 4111,
- 4112
- ]
- },
- {
- "teal": 4198,
- "source": 1060,
- "pc": [
- 4113,
- 4114
- ]
- },
- {
- "teal": 4199,
- "source": 1060,
- "pc": [
- 4115
- ]
- },
- {
- "teal": 4200,
- "source": 1060,
- "pc": [
- 4116,
- 4117
- ]
- },
- {
- "teal": 4201,
- "source": 1060,
- "pc": [
- 4118
- ]
- },
- {
- "teal": 4204,
- "source": 1059,
- "errorMessage": "balance of remaining reward tokens should match the held back amount",
- "pc": [
- 4119
- ]
- },
- {
- "teal": 4208,
- "source": 1063,
- "pc": [
- 4120,
- 4121
- ]
- },
- {
- "teal": 4211,
- "source": 1042,
- "pc": [
- 4122,
- 4123
- ]
- },
- {
- "teal": 4214,
- "source": 1042,
- "pc": [
- 4124,
- 4125
- ]
- },
- {
- "teal": 4215,
- "source": 1042,
- "pc": [
- 4126
- ]
- },
- {
- "teal": 4226,
- "source": 1160,
- "pc": [
- 4127,
- 4128,
- 4129
- ]
- },
- {
- "teal": 4230,
- "source": 1161,
- "pc": [
- 4130
- ]
- },
- {
- "teal": 4231,
- "source": 1161,
- "pc": [
- 4131,
- 4132
- ]
- },
- {
- "teal": 4232,
- "source": 1161,
- "pc": [
- 4133,
- 4134,
- 4135
- ]
- },
- {
- "teal": 4233,
- "source": 1161,
- "pc": [
- 4136
- ]
- },
- {
- "teal": 4234,
- "source": 1161,
- "pc": [
- 4137
- ]
- },
- {
- "teal": 4235,
- "source": 1161,
- "pc": [
- 4138
- ]
- },
- {
- "teal": 4236,
- "source": 1161,
- "pc": [
- 4139
- ]
- },
- {
- "teal": 4237,
- "source": 1161,
- "pc": [
- 4140
- ]
- },
- {
- "teal": 4238,
- "source": 1161,
- "pc": [
- 4141
- ]
- },
- {
- "teal": 4241,
- "source": 1161,
- "errorMessage": "the specified validator id isn't valid",
- "pc": [
- 4142
- ]
- },
- {
- "teal": 4245,
- "source": 1162,
- "pc": [
- 4143,
- 4144
- ]
- },
- {
- "teal": 4246,
- "source": 1162,
- "pc": [
- 4145,
- 4146,
- 4147
- ]
- },
- {
- "teal": 4247,
- "source": 1162,
- "pc": [
- 4148
- ]
- },
- {
- "teal": 4248,
- "source": 32,
- "pc": [
- 4149
- ]
- },
- {
- "teal": 4249,
- "source": 1162,
- "pc": [
- 4150
- ]
- },
- {
- "teal": 4252,
- "source": 1162,
- "errorMessage": "pool id not in valid range",
- "pc": [
- 4151
- ]
- },
- {
- "teal": 4259,
- "source": 1164,
- "pc": [
- 4152,
- 4153
- ]
- },
- {
- "teal": 4260,
- "source": 1164,
- "pc": [
- 4154,
- 4155,
- 4156
- ]
- },
- {
- "teal": 4261,
- "source": 1164,
- "pc": [
- 4157
- ]
- },
- {
- "teal": 4262,
- "source": 1164,
- "pc": [
- 4158
- ]
- },
- {
- "teal": 4263,
- "source": 1164,
- "pc": [
- 4159
- ]
- },
- {
- "teal": 4264,
- "source": 1164,
- "pc": [
- 4160
- ]
- },
- {
- "teal": 4265,
- "source": 1164,
- "pc": [
- 4161,
- 4162,
- 4163
- ]
- },
- {
- "teal": 4266,
- "source": 1164,
- "pc": [
- 4164,
- 4165
- ]
- },
- {
- "teal": 4267,
- "source": 1164,
- "pc": [
- 4166,
- 4167,
- 4168
- ]
- },
- {
- "teal": 4268,
- "source": 1164,
- "pc": [
- 4169
- ]
- },
- {
- "teal": 4269,
- "source": 1164,
- "pc": [
- 4170,
- 4171
- ]
- },
- {
- "teal": 4270,
- "source": 1164,
- "pc": [
- 4172,
- 4173
- ]
- },
- {
- "teal": 4271,
- "source": 1164,
- "pc": [
- 4174
- ]
- },
- {
- "teal": 4272,
- "source": 1164,
- "pc": [
- 4175,
- 4176
- ]
- },
- {
- "teal": 4273,
- "source": 1164,
- "pc": [
- 4177,
- 4178,
- 4179
- ]
- },
- {
- "teal": 4274,
- "source": 1164,
- "pc": [
- 4180
- ]
- },
- {
- "teal": 4275,
- "source": 1164,
- "pc": [
- 4181
- ]
- },
- {
- "teal": 4276,
- "source": 1164,
- "pc": [
- 4182
- ]
- },
- {
- "teal": 4277,
- "source": 1164,
- "pc": [
- 4183,
- 4184
- ]
- },
- {
- "teal": 4278,
- "source": 1164,
- "pc": [
- 4185
- ]
- },
- {
- "teal": 4279,
- "source": 1164,
- "pc": [
- 4186
- ]
- },
- {
- "teal": 4280,
- "source": 1164,
- "pc": [
- 4187
- ]
- },
- {
- "teal": 4281,
- "source": 1164,
- "pc": [
- 4188
- ]
- },
- {
- "teal": 4285,
- "source": 1163,
- "errorMessage": "pool id outside of range of pools created for this validator",
- "pc": [
- 4189
- ]
- },
- {
- "teal": 4292,
- "source": 1170,
- "pc": [
- 4190,
- 4191
- ]
- },
- {
- "teal": 4293,
- "source": 1170,
- "pc": [
- 4192,
- 4193,
- 4194
- ]
- },
- {
- "teal": 4294,
- "source": 1170,
- "pc": [
- 4195
- ]
- },
- {
- "teal": 4295,
- "source": 1170,
- "pc": [
- 4196,
- 4197
- ]
- },
- {
- "teal": 4296,
- "source": 1170,
- "pc": [
- 4198,
- 4199
- ]
- },
- {
- "teal": 4297,
- "source": 1170,
- "pc": [
- 4200,
- 4201,
- 4202
- ]
- },
- {
- "teal": 4298,
- "source": 1170,
- "pc": [
- 4203
- ]
- },
- {
- "teal": 4299,
- "source": 1170,
- "pc": [
- 4204
- ]
- },
- {
- "teal": 4300,
- "source": 1170,
- "pc": [
- 4205
- ]
- },
- {
- "teal": 4301,
- "source": 1170,
- "pc": [
- 4206,
- 4207
- ]
- },
- {
- "teal": 4302,
- "source": 1170,
- "pc": [
- 4208
- ]
- },
- {
- "teal": 4303,
- "source": 1170,
- "pc": [
- 4209
- ]
- },
- {
- "teal": 4304,
- "source": 1170,
- "pc": [
- 4210
- ]
- },
- {
- "teal": 4305,
- "source": 1170,
- "pc": [
- 4211
- ]
- },
- {
- "teal": 4306,
- "source": 1170,
- "pc": [
- 4212
- ]
- },
- {
- "teal": 4307,
- "source": 1170,
- "pc": [
- 4213
- ]
- },
- {
- "teal": 4308,
- "source": 1170,
- "pc": [
- 4214,
- 4215
- ]
- },
- {
- "teal": 4309,
- "source": 1170,
- "pc": [
- 4216,
- 4217,
- 4218
- ]
- },
- {
- "teal": 4310,
- "source": 1170,
- "pc": [
- 4219
- ]
- },
- {
- "teal": 4311,
- "source": 1170,
- "pc": [
- 4220
- ]
- },
- {
- "teal": 4312,
- "source": 1170,
- "pc": [
- 4221
- ]
- },
- {
- "teal": 4313,
- "source": 1170,
- "pc": [
- 4222,
- 4223
- ]
- },
- {
- "teal": 4314,
- "source": 1170,
- "pc": [
- 4224
- ]
- },
- {
- "teal": 4315,
- "source": 1170,
- "pc": [
- 4225
- ]
- },
- {
- "teal": 4316,
- "source": 1170,
- "pc": [
- 4226
- ]
- },
- {
- "teal": 4319,
- "source": 1169,
- "errorMessage": "The passed in app id doesn't match the passed in ids",
- "pc": [
- 4227
- ]
- },
- {
- "teal": 4323,
- "source": 1174,
- "pc": [
- 4228,
- 4229
- ]
- },
- {
- "teal": 4324,
- "source": 1174,
- "pc": [
- 4230,
- 4231
- ]
- },
- {
- "teal": 4325,
- "source": 1174,
- "pc": [
- 4232,
- 4233,
- 4234
- ]
- },
- {
- "teal": 4326,
- "source": 1174,
- "pc": [
- 4235
- ]
- },
- {
- "teal": 4327,
- "source": 1174,
- "pc": [
- 4236,
- 4237
- ]
- },
- {
- "teal": 4328,
- "source": 1174,
- "pc": [
- 4238
- ]
- },
- {
- "teal": 4329,
- "source": 1174,
- "pc": [
- 4239
- ]
- },
- {
- "teal": 4330,
- "source": 1174,
- "pc": [
- 4240
- ]
- },
- {
- "teal": 4334,
- "source": 1176,
- "pc": [
- 4241,
- 4242
- ]
- },
- {
- "teal": 4335,
- "source": 1176,
- "pc": [
- 4243,
- 4244,
- 4245
- ]
- },
- {
- "teal": 4336,
- "source": 1176,
- "pc": [
- 4246
- ]
- },
- {
- "teal": 4337,
- "source": 1176,
- "pc": [
- 4247,
- 4248
- ]
- },
- {
- "teal": 4338,
- "source": 1176,
- "pc": [
- 4249,
- 4250,
- 4251
- ]
- },
- {
- "teal": 4339,
- "source": 1176,
- "pc": [
- 4252
- ]
- },
- {
- "teal": 4340,
- "source": 1176,
- "pc": [
- 4253,
- 4254,
- 4255,
- 4256,
- 4257,
- 4258,
- 4259,
- 4260,
- 4261,
- 4262,
- 4263,
- 4264,
- 4265
- ]
- },
- {
- "teal": 4341,
- "source": 1176,
- "pc": [
- 4266
- ]
- },
- {
- "teal": 4344,
- "source": 1176,
- "errorMessage": "global state value does not exist: AppID.fromUint64(poolKey.poolAppId).globalState('validatorId')",
- "pc": [
- 4267
- ]
- },
- {
- "teal": 4345,
- "source": 1176,
- "pc": [
- 4268
- ]
- },
- {
- "teal": 4346,
- "source": 1176,
- "pc": [
- 4269
- ]
- },
- {
- "teal": 4350,
- "source": 1177,
- "pc": [
- 4270,
- 4271
- ]
- },
- {
- "teal": 4351,
- "source": 1177,
- "pc": [
- 4272,
- 4273,
- 4274
- ]
- },
- {
- "teal": 4352,
- "source": 1177,
- "pc": [
- 4275
- ]
- },
- {
- "teal": 4353,
- "source": 1177,
- "pc": [
- 4276,
- 4277
- ]
- },
- {
- "teal": 4354,
- "source": 1177,
- "pc": [
- 4278,
- 4279,
- 4280
- ]
- },
- {
- "teal": 4355,
- "source": 1177,
- "pc": [
- 4281
- ]
- },
- {
- "teal": 4356,
- "source": 1177,
- "pc": [
- 4282,
- 4283,
- 4284,
- 4285,
- 4286,
- 4287,
- 4288,
- 4289
- ]
- },
- {
- "teal": 4357,
- "source": 1177,
- "pc": [
- 4290
- ]
- },
- {
- "teal": 4360,
- "source": 1177,
- "errorMessage": "global state value does not exist: AppID.fromUint64(poolKey.poolAppId).globalState('poolId')",
- "pc": [
- 4291
- ]
- },
- {
- "teal": 4361,
- "source": 1177,
- "pc": [
- 4292
- ]
- },
- {
- "teal": 4362,
- "source": 1177,
- "pc": [
- 4293
- ]
- },
- {
- "teal": 4363,
- "source": 1160,
- "pc": [
- 4294
- ]
- },
- {
- "teal": 4372,
- "source": 1186,
- "pc": [
- 4295,
- 4296,
- 4297
- ]
- },
- {
- "teal": 4375,
- "source": 1186,
- "pc": [
- 4298
- ]
- },
- {
- "teal": 4376,
- "source": 1186,
- "pc": [
- 4299
- ]
- },
- {
- "teal": 4380,
- "source": 1187,
- "pc": [
- 4300
- ]
- },
- {
- "teal": 4381,
- "source": 1187,
- "pc": [
- 4301,
- 4302
- ]
- },
- {
- "teal": 4382,
- "source": 1187,
- "pc": [
- 4303
- ]
- },
- {
- "teal": 4383,
- "source": 1187,
- "pc": [
- 4304
- ]
- },
- {
- "teal": 4384,
- "source": 1187,
- "pc": [
- 4305,
- 4306
- ]
- },
- {
- "teal": 4389,
- "source": 1188,
- "pc": [
- 4307,
- 4308
- ]
- },
- {
- "teal": 4390,
- "source": 1188,
- "pc": [
- 4309
- ]
- },
- {
- "teal": 4391,
- "source": 1187,
- "pc": [
- 4310
- ]
- },
- {
- "teal": 4392,
- "source": 1187,
- "pc": [
- 4311,
- 4312
- ]
- },
- {
- "teal": 4393,
- "source": 1187,
- "pc": [
- 4313
- ]
- },
- {
- "teal": 4394,
- "source": 1187,
- "pc": [
- 4314
- ]
- },
- {
- "teal": 4395,
- "source": 1187,
- "pc": [
- 4315,
- 4316
- ]
- },
- {
- "teal": 4396,
- "source": 1187,
- "pc": [
- 4317
- ]
- },
- {
- "teal": 4397,
- "source": 1188,
- "pc": [
- 4318
- ]
- },
- {
- "teal": 4398,
- "source": 1188,
- "pc": [
- 4319
- ]
- },
- {
- "teal": 4399,
- "source": 1188,
- "pc": [
- 4320
- ]
- },
- {
- "teal": 4400,
- "source": 1188,
- "pc": [
- 4321,
- 4322,
- 4323
- ]
- },
- {
- "teal": 4405,
- "source": 1191,
- "pc": [
- 4324,
- 4325
- ]
- },
- {
- "teal": 4406,
- "source": 1191,
- "pc": [
- 4326
- ]
- },
- {
- "teal": 4407,
- "source": 1187,
- "pc": [
- 4327
- ]
- },
- {
- "teal": 4408,
- "source": 1187,
- "pc": [
- 4328,
- 4329
- ]
- },
- {
- "teal": 4409,
- "source": 1187,
- "pc": [
- 4330
- ]
- },
- {
- "teal": 4410,
- "source": 1187,
- "pc": [
- 4331
- ]
- },
- {
- "teal": 4411,
- "source": 1187,
- "pc": [
- 4332,
- 4333
- ]
- },
- {
- "teal": 4412,
- "source": 1187,
- "pc": [
- 4334
- ]
- },
- {
- "teal": 4413,
- "source": 1191,
- "pc": [
- 4335
- ]
- },
- {
- "teal": 4414,
- "source": 1191,
- "pc": [
- 4336,
- 4337
- ]
- },
- {
- "teal": 4415,
- "source": 1191,
- "pc": [
- 4338
- ]
- },
- {
- "teal": 4418,
- "source": 1191,
- "errorMessage": "global state value does not exist: AppID.fromUint64(validatorConfig.nfdForInfo).globalState('i.owner.a')",
- "pc": [
- 4339
- ]
- },
- {
- "teal": 4419,
- "source": 1191,
- "pc": [
- 4340,
- 4341
- ]
- },
- {
- "teal": 4424,
- "source": 1193,
- "pc": [
- 4342
- ]
- },
- {
- "teal": 4425,
- "source": 1193,
- "pc": [
- 4343,
- 4344
- ]
- },
- {
- "teal": 4426,
- "source": 1187,
- "pc": [
- 4345
- ]
- },
- {
- "teal": 4427,
- "source": 1187,
- "pc": [
- 4346,
- 4347
- ]
- },
- {
- "teal": 4428,
- "source": 1187,
- "pc": [
- 4348
- ]
- },
- {
- "teal": 4429,
- "source": 1187,
- "pc": [
- 4349
- ]
- },
- {
- "teal": 4430,
- "source": 1187,
- "pc": [
- 4350,
- 4351
- ]
- },
- {
- "teal": 4431,
- "source": 1187,
- "pc": [
- 4352
- ]
- },
- {
- "teal": 4432,
- "source": 1193,
- "pc": [
- 4353,
- 4354
- ]
- },
- {
- "teal": 4433,
- "source": 1193,
- "pc": [
- 4355
- ]
- },
- {
- "teal": 4434,
- "source": 1193,
- "pc": [
- 4356
- ]
- },
- {
- "teal": 4435,
- "source": 1193,
- "pc": [
- 4357,
- 4358,
- 4359
- ]
- },
- {
- "teal": 4436,
- "source": 1193,
- "pc": [
- 4360,
- 4361
- ]
- },
- {
- "teal": 4437,
- "source": 1193,
- "pc": [
- 4362,
- 4363
- ]
- },
- {
- "teal": 4438,
- "source": 1187,
- "pc": [
- 4364
- ]
- },
- {
- "teal": 4439,
- "source": 1187,
- "pc": [
- 4365,
- 4366
- ]
- },
- {
- "teal": 4440,
- "source": 1187,
- "pc": [
- 4367
- ]
- },
- {
- "teal": 4441,
- "source": 1187,
- "pc": [
- 4368
- ]
- },
- {
- "teal": 4442,
- "source": 1187,
- "pc": [
- 4369,
- 4370
- ]
- },
- {
- "teal": 4443,
- "source": 1187,
- "pc": [
- 4371
- ]
- },
- {
- "teal": 4444,
- "source": 1193,
- "pc": [
- 4372,
- 4373
- ]
- },
- {
- "teal": 4445,
- "source": 1193,
- "pc": [
- 4374
- ]
- },
- {
- "teal": 4446,
- "source": 1193,
- "pc": [
- 4375
- ]
- },
- {
- "teal": 4449,
- "source": 1193,
- "pc": [
- 4376,
- 4377,
- 4378
- ]
- },
- {
- "teal": 4454,
- "source": 1195,
- "pc": [
- 4379,
- 4380
- ]
- },
- {
- "teal": 4455,
- "source": 1195,
- "pc": [
- 4381,
- 4382
- ]
- },
- {
- "teal": 4456,
- "source": 1195,
- "pc": [
- 4383
- ]
- },
- {
- "teal": 4457,
- "source": 1195,
- "pc": [
- 4384,
- 4385
- ]
- },
- {
- "teal": 4458,
- "source": 1195,
- "pc": [
- 4386
- ]
- },
- {
- "teal": 4459,
- "source": 1195,
- "pc": [
- 4387
- ]
- },
- {
- "teal": 4460,
- "source": 1195,
- "pc": [
- 4388,
- 4389
- ]
- },
- {
- "teal": 4461,
- "source": 1195,
- "pc": [
- 4390
- ]
- },
- {
- "teal": 4466,
- "source": 1186,
- "pc": [
- 4391
- ]
- },
- {
- "teal": 4470,
- "source": 1200,
- "pc": [
- 4392,
- 4393,
- 4394
- ]
- },
- {
- "teal": 4477,
- "source": 1203,
- "pc": [
- 4395,
- 4396
- ]
- },
- {
- "teal": 4478,
- "source": 1203,
- "pc": [
- 4397,
- 4398,
- 4399
- ]
- },
- {
- "teal": 4479,
- "source": 1203,
- "pc": [
- 4400
- ]
- },
- {
- "teal": 4480,
- "source": 1203,
- "pc": [
- 4401
- ]
- },
- {
- "teal": 4481,
- "source": 1203,
- "pc": [
- 4402
- ]
- },
- {
- "teal": 4482,
- "source": 1203,
- "pc": [
- 4403
- ]
- },
- {
- "teal": 4483,
- "source": 1203,
- "pc": [
- 4404,
- 4405,
- 4406
- ]
- },
- {
- "teal": 4484,
- "source": 1203,
- "pc": [
- 4407,
- 4408
- ]
- },
- {
- "teal": 4485,
- "source": 1203,
- "pc": [
- 4409,
- 4410,
- 4411
- ]
- },
- {
- "teal": 4486,
- "source": 1203,
- "pc": [
- 4412
- ]
- },
- {
- "teal": 4487,
- "source": 1203,
- "pc": [
- 4413,
- 4414
- ]
- },
- {
- "teal": 4488,
- "source": 1203,
- "pc": [
- 4415
- ]
- },
- {
- "teal": 4489,
- "source": 1203,
- "pc": [
- 4416
- ]
- },
- {
- "teal": 4493,
- "source": 1202,
- "errorMessage": "gating type not valid",
- "pc": [
- 4417
- ]
- },
- {
- "teal": 4500,
- "source": 1207,
- "pc": [
- 4418,
- 4419
- ]
- },
- {
- "teal": 4501,
- "source": 1207,
- "pc": [
- 4420,
- 4421,
- 4422
- ]
- },
- {
- "teal": 4502,
- "source": 1207,
- "pc": [
- 4423
- ]
- },
- {
- "teal": 4503,
- "source": 1207,
- "pc": [
- 4424
- ]
- },
- {
- "teal": 4504,
- "source": 1207,
- "pc": [
- 4425
- ]
- },
- {
- "teal": 4505,
- "source": 1207,
- "pc": [
- 4426
- ]
- },
- {
- "teal": 4506,
- "source": 1207,
- "pc": [
- 4427,
- 4428,
- 4429
- ]
- },
- {
- "teal": 4507,
- "source": 1207,
- "pc": [
- 4430,
- 4431
- ]
- },
- {
- "teal": 4508,
- "source": 1207,
- "pc": [
- 4432,
- 4433,
- 4434
- ]
- },
- {
- "teal": 4509,
- "source": 1207,
- "pc": [
- 4435
- ]
- },
- {
- "teal": 4510,
- "source": 1207,
- "pc": [
- 4436,
- 4437
- ]
- },
- {
- "teal": 4511,
- "source": 1207,
- "pc": [
- 4438
- ]
- },
- {
- "teal": 4512,
- "source": 1207,
- "pc": [
- 4439
- ]
- },
- {
- "teal": 4516,
- "source": 1206,
- "errorMessage": "epoch length not in allowable range",
- "pc": [
- 4440
- ]
- },
- {
- "teal": 4523,
- "source": 1211,
- "pc": [
- 4441,
- 4442
- ]
- },
- {
- "teal": 4524,
- "source": 1211,
- "pc": [
- 4443,
- 4444,
- 4445
- ]
- },
- {
- "teal": 4525,
- "source": 1211,
- "pc": [
- 4446
- ]
- },
- {
- "teal": 4526,
- "source": 1211,
- "pc": [
- 4447
- ]
- },
- {
- "teal": 4527,
- "source": 1211,
- "pc": [
- 4448
- ]
- },
- {
- "teal": 4528,
- "source": 1211,
- "pc": [
- 4449
- ]
- },
- {
- "teal": 4529,
- "source": 1211,
- "pc": [
- 4450,
- 4451,
- 4452
- ]
- },
- {
- "teal": 4530,
- "source": 1211,
- "pc": [
- 4453,
- 4454
- ]
- },
- {
- "teal": 4531,
- "source": 1211,
- "pc": [
- 4455,
- 4456,
- 4457
- ]
- },
- {
- "teal": 4532,
- "source": 1211,
- "pc": [
- 4458
- ]
- },
- {
- "teal": 4533,
- "source": 1211,
- "pc": [
- 4459,
- 4460
- ]
- },
- {
- "teal": 4534,
- "source": 1211,
- "pc": [
- 4461
- ]
- },
- {
- "teal": 4535,
- "source": 1211,
- "pc": [
- 4462
- ]
- },
- {
- "teal": 4539,
- "source": 1210,
- "errorMessage": "commission percentage not valid",
- "pc": [
- 4463
- ]
- },
- {
- "teal": 4544,
- "source": 1214,
- "pc": [
- 4464,
- 4465
- ]
- },
- {
- "teal": 4545,
- "source": 1214,
- "pc": [
- 4466,
- 4467,
- 4468
- ]
- },
- {
- "teal": 4546,
- "source": 1214,
- "pc": [
- 4469
- ]
- },
- {
- "teal": 4547,
- "source": 1214,
- "pc": [
- 4470
- ]
- },
- {
- "teal": 4548,
- "source": 1214,
- "pc": [
- 4471
- ]
- },
- {
- "teal": 4549,
- "source": 1214,
- "pc": [
- 4472,
- 4473,
- 4474
- ]
- },
- {
- "teal": 4557,
- "source": 1216,
- "pc": [
- 4475,
- 4476
- ]
- },
- {
- "teal": 4558,
- "source": 1216,
- "pc": [
- 4477,
- 4478,
- 4479
- ]
- },
- {
- "teal": 4559,
- "source": 1216,
- "pc": [
- 4480,
- 4481
- ]
- },
- {
- "teal": 4560,
- "source": 1216,
- "pc": [
- 4482
- ]
- },
- {
- "teal": 4563,
- "source": 1215,
- "errorMessage": "validatorCommissionAddress must be set if percent to validator is not 0",
- "pc": [
- 4483
- ]
- },
- {
- "teal": 4568,
- "source": 1220,
- "pc": [
- 4484,
- 4485
- ]
- },
- {
- "teal": 4569,
- "source": 1220,
- "pc": [
- 4486,
- 4487,
- 4488
- ]
- },
- {
- "teal": 4570,
- "source": 1220,
- "pc": [
- 4489
- ]
- },
- {
- "teal": 4571,
- "source": 1220,
- "pc": [
- 4490,
- 4491
- ]
- },
- {
- "teal": 4572,
- "source": 1220,
- "pc": [
- 4492
- ]
- },
- {
- "teal": 4575,
- "source": 1220,
- "errorMessage": "staking pool must have minimum entry of 1 algo",
- "pc": [
- 4493
- ]
- },
- {
- "teal": 4582,
- "source": 1223,
- "pc": [
- 4494,
- 4495
- ]
- },
- {
- "teal": 4583,
- "source": 1223,
- "pc": [
- 4496,
- 4497,
- 4498
- ]
- },
- {
- "teal": 4584,
- "source": 1223,
- "pc": [
- 4499
- ]
- },
- {
- "teal": 4585,
- "source": 1223,
- "pc": [
- 4500
- ]
- },
- {
- "teal": 4586,
- "source": 1223,
- "pc": [
- 4501
- ]
- },
- {
- "teal": 4587,
- "source": 1223,
- "pc": [
- 4502
- ]
- },
- {
- "teal": 4588,
- "source": 1223,
- "pc": [
- 4503,
- 4504,
- 4505
- ]
- },
- {
- "teal": 4589,
- "source": 1223,
- "pc": [
- 4506,
- 4507
- ]
- },
- {
- "teal": 4590,
- "source": 1223,
- "pc": [
- 4508,
- 4509,
- 4510
- ]
- },
- {
- "teal": 4591,
- "source": 1223,
- "pc": [
- 4511
- ]
- },
- {
- "teal": 4592,
- "source": 1223,
- "pc": [
- 4512,
- 4513
- ]
- },
- {
- "teal": 4593,
- "source": 1223,
- "pc": [
- 4514
- ]
- },
- {
- "teal": 4594,
- "source": 1223,
- "pc": [
- 4515
- ]
- },
- {
- "teal": 4598,
- "source": 1222,
- "errorMessage": "number of pools per node exceeds allowed number",
- "pc": [
- 4516
- ]
- },
- {
- "teal": 4603,
- "source": 1226,
- "pc": [
- 4517,
- 4518
- ]
- },
- {
- "teal": 4604,
- "source": 1226,
- "pc": [
- 4519,
- 4520,
- 4521
- ]
- },
- {
- "teal": 4605,
- "source": 1226,
- "pc": [
- 4522
- ]
- },
- {
- "teal": 4606,
- "source": 1226,
- "pc": [
- 4523
- ]
- },
- {
- "teal": 4607,
- "source": 1226,
- "pc": [
- 4524
- ]
- },
- {
- "teal": 4608,
- "source": 1226,
- "pc": [
- 4525,
- 4526,
- 4527
- ]
- },
- {
- "teal": 4613,
- "source": 1227,
- "pc": [
- 4528,
- 4529
- ]
- },
- {
- "teal": 4614,
- "source": 1227,
- "pc": [
- 4530,
- 4531,
- 4532
- ]
- },
- {
- "teal": 4615,
- "source": 1227,
- "pc": [
- 4533
- ]
- },
- {
- "teal": 4616,
- "source": 1227,
- "pc": [
- 4534,
- 4535
- ]
- },
- {
- "teal": 4617,
- "source": 1227,
- "pc": [
- 4536
- ]
- },
- {
- "teal": 4620,
- "source": 1227,
- "errorMessage": "sunsettingOn must be later than now if set",
- "pc": [
- 4537
- ]
- },
- {
- "teal": 4623,
- "source": 1200,
- "pc": [
- 4538
- ]
- },
- {
- "teal": 4637,
- "source": 1242,
- "pc": [
- 4539,
- 4540,
- 4541
- ]
- },
- {
- "teal": 4640,
- "source": 1242,
- "pc": [
- 4542
- ]
- },
- {
- "teal": 4641,
- "source": 1242,
- "pc": [
- 4543,
- 4544
- ]
- },
- {
- "teal": 4645,
- "source": 1249,
- "pc": [
- 4545,
- 4546
- ]
- },
- {
- "teal": 4646,
- "source": 1249,
- "pc": [
- 4547,
- 4548
- ]
- },
- {
- "teal": 4647,
- "source": 1249,
- "pc": [
- 4549,
- 4550,
- 4551
- ]
- },
- {
- "teal": 4648,
- "source": 1249,
- "pc": [
- 4552
- ]
- },
- {
- "teal": 4649,
- "source": 1249,
- "pc": [
- 4553
- ]
- },
- {
- "teal": 4650,
- "source": 1249,
- "pc": [
- 4554
- ]
- },
- {
- "teal": 4651,
- "source": 1249,
- "pc": [
- 4555,
- 4556
- ]
- },
- {
- "teal": 4652,
- "source": 1249,
- "pc": [
- 4557
- ]
- },
- {
- "teal": 4653,
- "source": 1249,
- "pc": [
- 4558
- ]
- },
- {
- "teal": 4654,
- "source": 1249,
- "pc": [
- 4559
- ]
- },
- {
- "teal": 4655,
- "source": 1249,
- "pc": [
- 4560
- ]
- },
- {
- "teal": 4656,
- "source": 1249,
- "pc": [
- 4561
- ]
- },
- {
- "teal": 4657,
- "source": 1249,
- "pc": [
- 4562
- ]
- },
- {
- "teal": 4658,
- "source": 1249,
- "pc": [
- 4563,
- 4564
- ]
- },
- {
- "teal": 4659,
- "source": 1249,
- "pc": [
- 4565,
- 4566,
- 4567
- ]
- },
- {
- "teal": 4660,
- "source": 1249,
- "pc": [
- 4568
- ]
- },
- {
- "teal": 4661,
- "source": 1249,
- "pc": [
- 4569
- ]
- },
- {
- "teal": 4662,
- "source": 1249,
- "pc": [
- 4570
- ]
- },
- {
- "teal": 4663,
- "source": 1249,
- "pc": [
- 4571,
- 4572
- ]
- },
- {
- "teal": 4664,
- "source": 1249,
- "pc": [
- 4573
- ]
- },
- {
- "teal": 4665,
- "source": 1249,
- "pc": [
- 4574
- ]
- },
- {
- "teal": 4666,
- "source": 1249,
- "pc": [
- 4575,
- 4576
- ]
- },
- {
- "teal": 4679,
- "source": 1258,
- "pc": [
- 4577
- ]
- },
- {
- "teal": 4680,
- "source": 1258,
- "pc": [
- 4578
- ]
- },
- {
- "teal": 4681,
- "source": 1258,
- "pc": [
- 4579,
- 4580
- ]
- },
- {
- "teal": 4685,
- "source": 1258,
- "pc": [
- 4581,
- 4582
- ]
- },
- {
- "teal": 4686,
- "source": 1258,
- "pc": [
- 4583,
- 4584
- ]
- },
- {
- "teal": 4687,
- "source": 1258,
- "pc": [
- 4585,
- 4586
- ]
- },
- {
- "teal": 4688,
- "source": 1258,
- "pc": [
- 4587
- ]
- },
- {
- "teal": 4689,
- "source": 1258,
- "pc": [
- 4588,
- 4589
- ]
- },
- {
- "teal": 4693,
- "source": 1258,
- "pc": [
- 4590,
- 4591
- ]
- },
- {
- "teal": 4694,
- "source": 1258,
- "pc": [
- 4592,
- 4593
- ]
- },
- {
- "teal": 4695,
- "source": 1258,
- "pc": [
- 4594
- ]
- },
- {
- "teal": 4696,
- "source": 1258,
- "pc": [
- 4595,
- 4596
- ]
- },
- {
- "teal": 4699,
- "source": 1258,
- "pc": [
- 4597
- ]
- },
- {
- "teal": 4700,
- "source": 1258,
- "pc": [
- 4598,
- 4599
- ]
- },
- {
- "teal": 4701,
- "source": 1253,
- "pc": [
- 4600
- ]
- },
- {
- "teal": 4702,
- "source": 1253,
- "pc": [
- 4601,
- 4602
- ]
- },
- {
- "teal": 4703,
- "source": 1253,
- "pc": [
- 4603,
- 4604
- ]
- },
- {
- "teal": 4704,
- "source": 1253,
- "pc": [
- 4605,
- 4606,
- 4607,
- 4608,
- 4609,
- 4610
- ]
- },
- {
- "teal": 4705,
- "source": 1253,
- "pc": [
- 4611,
- 4612
- ]
- },
- {
- "teal": 4709,
- "source": 1254,
- "pc": [
- 4613,
- 4614
- ]
- },
- {
- "teal": 4710,
- "source": 1254,
- "pc": [
- 4615,
- 4616
- ]
- },
- {
- "teal": 4720,
- "source": 1260,
- "pc": [
- 4617,
- 4618
- ]
- },
- {
- "teal": 4721,
- "source": 1260,
- "pc": [
- 4619,
- 4620
- ]
- },
- {
- "teal": 4722,
- "source": 1260,
- "pc": [
- 4621,
- 4622
- ]
- },
- {
- "teal": 4725,
- "source": 1253,
- "pc": [
- 4623
- ]
- },
- {
- "teal": 4726,
- "source": 1253,
- "pc": [
- 4624,
- 4625
- ]
- },
- {
- "teal": 4729,
- "source": 1253,
- "pc": [
- 4626
- ]
- },
- {
- "teal": 4730,
- "source": 1253,
- "pc": [
- 4627,
- 4628
- ]
- },
- {
- "teal": 4731,
- "source": 1253,
- "pc": [
- 4629
- ]
- },
- {
- "teal": 4732,
- "source": 1253,
- "pc": [
- 4630
- ]
- },
- {
- "teal": 4733,
- "source": 1253,
- "pc": [
- 4631,
- 4632
- ]
- },
- {
- "teal": 4734,
- "source": 1253,
- "pc": [
- 4633,
- 4634,
- 4635
- ]
- },
- {
- "teal": 4735,
- "source": 1253,
- "pc": [
- 4636
- ]
- },
- {
- "teal": 4740,
- "source": 1263,
- "pc": [
- 4637,
- 4638
- ]
- },
- {
- "teal": 4741,
- "source": 1263,
- "pc": [
- 4639,
- 4640,
- 4641
- ]
- },
- {
- "teal": 4742,
- "source": 1263,
- "pc": [
- 4642
- ]
- },
- {
- "teal": 4743,
- "source": 1263,
- "pc": [
- 4643,
- 4644,
- 4645
- ]
- },
- {
- "teal": 4748,
- "source": 1264,
- "pc": [
- 4646
- ]
- },
- {
- "teal": 4749,
- "source": 1264,
- "pc": [
- 4647,
- 4648
- ]
- },
- {
- "teal": 4750,
- "source": 1264,
- "pc": [
- 4649,
- 4650
- ]
- },
- {
- "teal": 4751,
- "source": 1264,
- "pc": [
- 4651
- ]
- },
- {
- "teal": 4752,
- "source": 1264,
- "pc": [
- 4652,
- 4653
- ]
- },
- {
- "teal": 4753,
- "source": 1264,
- "pc": [
- 4654,
- 4655
- ]
- },
- {
- "teal": 4754,
- "source": 1264,
- "pc": [
- 4656
- ]
- },
- {
- "teal": 4755,
- "source": 1264,
- "pc": [
- 4657,
- 4658
- ]
- },
- {
- "teal": 4756,
- "source": 1264,
- "pc": [
- 4659,
- 4660
- ]
- },
- {
- "teal": 4757,
- "source": 1264,
- "pc": [
- 4661,
- 4662
- ]
- },
- {
- "teal": 4758,
- "source": 1264,
- "pc": [
- 4663,
- 4664
- ]
- },
- {
- "teal": 4759,
- "source": 1264,
- "pc": [
- 4665
- ]
- },
- {
- "teal": 4764,
- "source": 1268,
- "pc": [
- 4666,
- 4667
- ]
- },
- {
- "teal": 4765,
- "source": 1268,
- "pc": [
- 4668,
- 4669
- ]
- },
- {
- "teal": 4766,
- "source": 1268,
- "pc": [
- 4670
- ]
- },
- {
- "teal": 4769,
- "source": 1268,
- "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('numStakers')",
- "pc": [
- 4671
- ]
- },
- {
- "teal": 4770,
- "source": 1268,
- "pc": [
- 4672,
- 4673
- ]
- },
- {
- "teal": 4774,
- "source": 1269,
- "pc": [
- 4674,
- 4675
- ]
- },
- {
- "teal": 4775,
- "source": 1269,
- "pc": [
- 4676,
- 4677
- ]
- },
- {
- "teal": 4776,
- "source": 1269,
- "pc": [
- 4678
- ]
- },
- {
- "teal": 4779,
- "source": 1269,
- "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('staked')",
- "pc": [
- 4679
- ]
- },
- {
- "teal": 4780,
- "source": 1269,
- "pc": [
- 4680,
- 4681
- ]
- },
- {
- "teal": 4784,
- "source": 1270,
- "pc": [
- 4682,
- 4683
- ]
- },
- {
- "teal": 4785,
- "source": 1270,
- "pc": [
- 4684,
- 4685
- ]
- },
- {
- "teal": 4786,
- "source": 1270,
- "pc": [
- 4686,
- 4687,
- 4688
- ]
- },
- {
- "teal": 4787,
- "source": 1270,
- "pc": [
- 4689
- ]
- },
- {
- "teal": 4788,
- "source": 1270,
- "pc": [
- 4690
- ]
- },
- {
- "teal": 4789,
- "source": 1270,
- "pc": [
- 4691
- ]
- },
- {
- "teal": 4790,
- "source": 1270,
- "pc": [
- 4692,
- 4693
- ]
- },
- {
- "teal": 4791,
- "source": 1270,
- "pc": [
- 4694
- ]
- },
- {
- "teal": 4792,
- "source": 1270,
- "pc": [
- 4695
- ]
- },
- {
- "teal": 4793,
- "source": 1270,
- "pc": [
- 4696
- ]
- },
- {
- "teal": 4794,
- "source": 1270,
- "pc": [
- 4697
- ]
- },
- {
- "teal": 4795,
- "source": 1270,
- "pc": [
- 4698,
- 4699
- ]
- },
- {
- "teal": 4796,
- "source": 1270,
- "pc": [
- 4700
- ]
- },
- {
- "teal": 4797,
- "source": 1270,
- "pc": [
- 4701,
- 4702,
- 4703
- ]
- },
- {
- "teal": 4798,
- "source": 1270,
- "pc": [
- 4704
- ]
- },
- {
- "teal": 4799,
- "source": 1270,
- "pc": [
- 4705,
- 4706
- ]
- },
- {
- "teal": 4800,
- "source": 1270,
- "pc": [
- 4707,
- 4708,
- 4709
- ]
- },
- {
- "teal": 4801,
- "source": 1270,
- "pc": [
- 4710
- ]
- },
- {
- "teal": 4802,
- "source": 1270,
- "pc": [
- 4711
- ]
- },
- {
- "teal": 4803,
- "source": 1270,
- "pc": [
- 4712
- ]
- },
- {
- "teal": 4804,
- "source": 1270,
- "pc": [
- 4713,
- 4714
- ]
- },
- {
- "teal": 4805,
- "source": 1270,
- "pc": [
- 4715
- ]
- },
- {
- "teal": 4809,
- "source": 1271,
- "pc": [
- 4716,
- 4717
- ]
- },
- {
- "teal": 4810,
- "source": 1271,
- "pc": [
- 4718,
- 4719
- ]
- },
- {
- "teal": 4811,
- "source": 1271,
- "pc": [
- 4720,
- 4721,
- 4722
- ]
- },
- {
- "teal": 4812,
- "source": 1271,
- "pc": [
- 4723
- ]
- },
- {
- "teal": 4813,
- "source": 1271,
- "pc": [
- 4724
- ]
- },
- {
- "teal": 4814,
- "source": 1271,
- "pc": [
- 4725
- ]
- },
- {
- "teal": 4815,
- "source": 1271,
- "pc": [
- 4726,
- 4727
- ]
- },
- {
- "teal": 4816,
- "source": 1271,
- "pc": [
- 4728
- ]
- },
- {
- "teal": 4817,
- "source": 1271,
- "pc": [
- 4729
- ]
- },
- {
- "teal": 4818,
- "source": 1271,
- "pc": [
- 4730,
- 4731
- ]
- },
- {
- "teal": 4819,
- "source": 1271,
- "pc": [
- 4732
- ]
- },
- {
- "teal": 4820,
- "source": 1271,
- "pc": [
- 4733,
- 4734
- ]
- },
- {
- "teal": 4821,
- "source": 1271,
- "pc": [
- 4735
- ]
- },
- {
- "teal": 4822,
- "source": 1271,
- "pc": [
- 4736
- ]
- },
- {
- "teal": 4823,
- "source": 1271,
- "pc": [
- 4737,
- 4738
- ]
- },
- {
- "teal": 4824,
- "source": 1271,
- "pc": [
- 4739,
- 4740,
- 4741
- ]
- },
- {
- "teal": 4825,
- "source": 1271,
- "pc": [
- 4742
- ]
- },
- {
- "teal": 4826,
- "source": 1271,
- "pc": [
- 4743
- ]
- },
- {
- "teal": 4827,
- "source": 1271,
- "pc": [
- 4744
- ]
- },
- {
- "teal": 4828,
- "source": 1271,
- "pc": [
- 4745,
- 4746
- ]
- },
- {
- "teal": 4829,
- "source": 1271,
- "pc": [
- 4747
- ]
- },
- {
- "teal": 4834,
- "source": 1274,
- "pc": [
- 4748,
- 4749
- ]
- },
- {
- "teal": 4835,
- "source": 1274,
- "pc": [
- 4750,
- 4751,
- 4752
- ]
- },
- {
- "teal": 4840,
- "source": 1275,
- "pc": [
- 4753,
- 4754
- ]
- },
- {
- "teal": 4841,
- "source": 1275,
- "pc": [
- 4755
- ]
- },
- {
- "teal": 4842,
- "source": 1275,
- "pc": [
- 4756
- ]
- },
- {
- "teal": 4843,
- "source": 1275,
- "pc": [
- 4757
- ]
- },
- {
- "teal": 4844,
- "source": 1275,
- "pc": [
- 4758,
- 4759
- ]
- },
- {
- "teal": 4845,
- "source": 1275,
- "pc": [
- 4760,
- 4761,
- 4762
- ]
- },
- {
- "teal": 4846,
- "source": 1275,
- "pc": [
- 4763
- ]
- },
- {
- "teal": 4847,
- "source": 1275,
- "pc": [
- 4764
- ]
- },
- {
- "teal": 4848,
- "source": 1275,
- "pc": [
- 4765
- ]
- },
- {
- "teal": 4849,
- "source": 1275,
- "pc": [
- 4766,
- 4767
- ]
- },
- {
- "teal": 4850,
- "source": 1275,
- "pc": [
- 4768
- ]
- },
- {
- "teal": 4851,
- "source": 1275,
- "pc": [
- 4769
- ]
- },
- {
- "teal": 4852,
- "source": 1275,
- "pc": [
- 4770
- ]
- },
- {
- "teal": 4853,
- "source": 1275,
- "pc": [
- 4771
- ]
- },
- {
- "teal": 4854,
- "source": 1275,
- "pc": [
- 4772
- ]
- },
- {
- "teal": 4855,
- "source": 1275,
- "pc": [
- 4773
- ]
- },
- {
- "teal": 4856,
- "source": 1275,
- "pc": [
- 4774,
- 4775
- ]
- },
- {
- "teal": 4857,
- "source": 1275,
- "pc": [
- 4776,
- 4777,
- 4778
- ]
- },
- {
- "teal": 4858,
- "source": 1275,
- "pc": [
- 4779
- ]
- },
- {
- "teal": 4859,
- "source": 1275,
- "pc": [
- 4780
- ]
- },
- {
- "teal": 4860,
- "source": 1275,
- "pc": [
- 4781
- ]
- },
- {
- "teal": 4861,
- "source": 1275,
- "pc": [
- 4782,
- 4783
- ]
- },
- {
- "teal": 4862,
- "source": 1275,
- "pc": [
- 4784
- ]
- },
- {
- "teal": 4868,
- "source": 1277,
- "pc": [
- 4785,
- 4786
- ]
- },
- {
- "teal": 4869,
- "source": 1277,
- "pc": [
- 4787,
- 4788,
- 4789
- ]
- },
- {
- "teal": 4874,
- "source": 1278,
- "pc": [
- 4790,
- 4791
- ]
- },
- {
- "teal": 4875,
- "source": 1278,
- "pc": [
- 4792
- ]
- },
- {
- "teal": 4876,
- "source": 1278,
- "pc": [
- 4793
- ]
- },
- {
- "teal": 4877,
- "source": 1278,
- "pc": [
- 4794
- ]
- },
- {
- "teal": 4878,
- "source": 1278,
- "pc": [
- 4795,
- 4796
- ]
- },
- {
- "teal": 4879,
- "source": 1278,
- "pc": [
- 4797
- ]
- },
- {
- "teal": 4880,
- "source": 1278,
- "pc": [
- 4798
- ]
- },
- {
- "teal": 4885,
- "source": 1280,
- "pc": [
- 4799,
- 4800
- ]
- },
- {
- "teal": 4886,
- "source": 1280,
- "pc": [
- 4801
- ]
- },
- {
- "teal": 4887,
- "source": 1280,
- "pc": [
- 4802
- ]
- },
- {
- "teal": 4888,
- "source": 1280,
- "pc": [
- 4803
- ]
- },
- {
- "teal": 4889,
- "source": 1280,
- "pc": [
- 4804,
- 4805
- ]
- },
- {
- "teal": 4890,
- "source": 1280,
- "pc": [
- 4806,
- 4807,
- 4808
- ]
- },
- {
- "teal": 4891,
- "source": 1280,
- "pc": [
- 4809
- ]
- },
- {
- "teal": 4892,
- "source": 1280,
- "pc": [
- 4810
- ]
- },
- {
- "teal": 4893,
- "source": 1280,
- "pc": [
- 4811
- ]
- },
- {
- "teal": 4894,
- "source": 1280,
- "pc": [
- 4812,
- 4813
- ]
- },
- {
- "teal": 4895,
- "source": 1280,
- "pc": [
- 4814
- ]
- },
- {
- "teal": 4896,
- "source": 1280,
- "pc": [
- 4815
- ]
- },
- {
- "teal": 4897,
- "source": 1280,
- "pc": [
- 4816,
- 4817
- ]
- },
- {
- "teal": 4898,
- "source": 1280,
- "pc": [
- 4818,
- 4819
- ]
- },
- {
- "teal": 4899,
- "source": 1280,
- "pc": [
- 4820,
- 4821
- ]
- },
- {
- "teal": 4900,
- "source": 1280,
- "pc": [
- 4822
- ]
- },
- {
- "teal": 4901,
- "source": 1280,
- "pc": [
- 4823
- ]
- },
- {
- "teal": 4902,
- "source": 1280,
- "pc": [
- 4824
- ]
- },
- {
- "teal": 4903,
- "source": 1280,
- "pc": [
- 4825
- ]
- },
- {
- "teal": 4904,
- "source": 1280,
- "pc": [
- 4826,
- 4827
- ]
- },
- {
- "teal": 4905,
- "source": 1280,
- "pc": [
- 4828,
- 4829,
- 4830
- ]
- },
- {
- "teal": 4906,
- "source": 1280,
- "pc": [
- 4831
- ]
- },
- {
- "teal": 4907,
- "source": 1280,
- "pc": [
- 4832
- ]
- },
- {
- "teal": 4908,
- "source": 1280,
- "pc": [
- 4833
- ]
- },
- {
- "teal": 4909,
- "source": 1280,
- "pc": [
- 4834,
- 4835
- ]
- },
- {
- "teal": 4910,
- "source": 1280,
- "pc": [
- 4836
- ]
- },
- {
- "teal": 4914,
- "source": 1281,
- "pc": [
- 4837,
- 4838
- ]
- },
- {
- "teal": 4915,
- "source": 1281,
- "pc": [
- 4839
- ]
- },
- {
- "teal": 4916,
- "source": 1281,
- "pc": [
- 4840,
- 4841
- ]
- },
- {
- "teal": 4917,
- "source": 1281,
- "pc": [
- 4842,
- 4843
- ]
- },
- {
- "teal": 4918,
- "source": 1281,
- "pc": [
- 4844,
- 4845
- ]
- },
- {
- "teal": 4919,
- "source": 1281,
- "pc": [
- 4846
- ]
- },
- {
- "teal": 4920,
- "source": 1281,
- "pc": [
- 4847
- ]
- },
- {
- "teal": 4921,
- "source": 1281,
- "pc": [
- 4848,
- 4849
- ]
- },
- {
- "teal": 4922,
- "source": 1281,
- "pc": [
- 4850
- ]
- },
- {
- "teal": 4923,
- "source": 1281,
- "pc": [
- 4851
- ]
- },
- {
- "teal": 4924,
- "source": 1242,
- "pc": [
- 4852
- ]
- },
- {
- "teal": 4928,
- "source": 1284,
- "pc": [
- 4853,
- 4854,
- 4855
- ]
- },
- {
- "teal": 4931,
- "source": 1284,
- "pc": [
- 4856
- ]
- },
- {
- "teal": 4932,
- "source": 1284,
- "pc": [
- 4857,
- 4858
- ]
- },
- {
- "teal": 4936,
- "source": 1285,
- "pc": [
- 4859
- ]
- },
- {
- "teal": 4937,
- "source": 1285,
- "pc": [
- 4860,
- 4861
- ]
- },
- {
- "teal": 4938,
- "source": 1285,
- "pc": [
- 4862
- ]
- },
- {
- "teal": 4939,
- "source": 1285,
- "pc": [
- 4863
- ]
- },
- {
- "teal": 4940,
- "source": 1285,
- "pc": [
- 4864
- ]
- },
- {
- "teal": 4941,
- "source": 1285,
- "pc": [
- 4865
- ]
- },
- {
- "teal": 4942,
- "source": 1285,
- "pc": [
- 4866
- ]
- },
- {
- "teal": 4946,
- "source": 1287,
- "pc": [
- 4867
- ]
- },
- {
- "teal": 4947,
- "source": 1287,
- "pc": [
- 4868,
- 4869
- ]
- },
- {
- "teal": 4948,
- "source": 1287,
- "pc": [
- 4870
- ]
- },
- {
- "teal": 4949,
- "source": 1287,
- "pc": [
- 4871
- ]
- },
- {
- "teal": 4952,
- "source": 1287,
- "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value",
- "pc": [
- 4872
- ]
- },
- {
- "teal": 4953,
- "source": 1287,
- "pc": [
- 4873,
- 4874
- ]
- },
- {
- "teal": 4957,
- "source": 1288,
- "pc": [
- 4875
- ]
- },
- {
- "teal": 4958,
- "source": 1288,
- "pc": [
- 4876,
- 4877
- ]
- },
- {
- "teal": 4962,
- "source": 1289,
- "pc": [
- 4878
- ]
- },
- {
- "teal": 4963,
- "source": 1289,
- "pc": [
- 4879,
- 4880
- ]
- },
- {
- "teal": 4968,
- "source": 1289,
- "pc": [
- 4881,
- 4882
- ]
- },
- {
- "teal": 4969,
- "source": 1289,
- "pc": [
- 4883,
- 4884
- ]
- },
- {
- "teal": 4970,
- "source": 1289,
- "pc": [
- 4885
- ]
- },
- {
- "teal": 4971,
- "source": 1289,
- "pc": [
- 4886,
- 4887,
- 4888
- ]
- },
- {
- "teal": 4976,
- "source": 1290,
- "pc": [
- 4889,
- 4890
- ]
- },
- {
- "teal": 4977,
- "source": 1290,
- "pc": [
- 4891,
- 4892
- ]
- },
- {
- "teal": 4978,
- "source": 1290,
- "pc": [
- 4893
- ]
- },
- {
- "teal": 4979,
- "source": 1290,
- "pc": [
- 4894
- ]
- },
- {
- "teal": 4980,
- "source": 1290,
- "pc": [
- 4895
- ]
- },
- {
- "teal": 4981,
- "source": 1290,
- "pc": [
- 4896
- ]
- },
- {
- "teal": 4982,
- "source": 1290,
- "pc": [
- 4897,
- 4898
- ]
- },
- {
- "teal": 4983,
- "source": 1290,
- "pc": [
- 4899
- ]
- },
- {
- "teal": 4984,
- "source": 1290,
- "pc": [
- 4900,
- 4901,
- 4902
- ]
- },
- {
- "teal": 4989,
- "source": 1292,
- "pc": [
- 4903
- ]
- },
- {
- "teal": 4995,
- "source": 1294,
- "pc": [
- 4904,
- 4905
- ]
- },
- {
- "teal": 4996,
- "source": 1294,
- "pc": [
- 4906
- ]
- },
- {
- "teal": 4997,
- "source": 1294,
- "pc": [
- 4907
- ]
- },
- {
- "teal": 4998,
- "source": 1294,
- "pc": [
- 4908
- ]
- },
- {
- "teal": 4999,
- "source": 1294,
- "pc": [
- 4909,
- 4910,
- 4911
- ]
- },
- {
- "teal": 5000,
- "source": 1294,
- "pc": [
- 4912,
- 4913
- ]
- },
- {
- "teal": 5001,
- "source": 1294,
- "pc": [
- 4914,
- 4915
- ]
- },
- {
- "teal": 5002,
- "source": 1294,
- "pc": [
- 4916
- ]
- },
- {
- "teal": 5003,
- "source": 1294,
- "pc": [
- 4917
- ]
- },
- {
- "teal": 5004,
- "source": 1294,
- "pc": [
- 4918
- ]
- },
- {
- "teal": 5005,
- "source": 1294,
- "pc": [
- 4919
- ]
- },
- {
- "teal": 5006,
- "source": 1294,
- "pc": [
- 4920
- ]
- },
- {
- "teal": 5007,
- "source": 1294,
- "pc": [
- 4921
- ]
- },
- {
- "teal": 5008,
- "source": 1294,
- "pc": [
- 4922
- ]
- },
- {
- "teal": 5009,
- "source": 1294,
- "pc": [
- 4923
- ]
- },
- {
- "teal": 5010,
- "source": 1294,
- "pc": [
- 4924
- ]
- },
- {
- "teal": 5011,
- "source": 1294,
- "pc": [
- 4925
- ]
- },
- {
- "teal": 5014,
- "source": 1294,
- "pc": [
- 4926,
- 4927,
- 4928
- ]
- },
- {
- "teal": 5019,
- "source": 1295,
- "pc": [
- 4929,
- 4930
- ]
- },
- {
- "teal": 5020,
- "source": 1295,
- "pc": [
- 4931
- ]
- },
- {
- "teal": 5021,
- "source": 1295,
- "pc": [
- 4932
- ]
- },
- {
- "teal": 5022,
- "source": 1295,
- "pc": [
- 4933,
- 4934
- ]
- },
- {
- "teal": 5029,
- "source": 1289,
- "pc": [
- 4935,
- 4936
- ]
- },
- {
- "teal": 5030,
- "source": 1289,
- "pc": [
- 4937
- ]
- },
- {
- "teal": 5031,
- "source": 1289,
- "pc": [
- 4938
- ]
- },
- {
- "teal": 5032,
- "source": 1289,
- "pc": [
- 4939,
- 4940
- ]
- },
- {
- "teal": 5033,
- "source": 1289,
- "pc": [
- 4941,
- 4942,
- 4943
- ]
- },
- {
- "teal": 5039,
- "source": 1298,
- "pc": [
- 4944,
- 4945
- ]
- },
- {
- "teal": 5040,
- "source": 1298,
- "pc": [
- 4946
- ]
- },
- {
- "teal": 5041,
- "source": 1298,
- "pc": [
- 4947
- ]
- },
- {
- "teal": 5042,
- "source": 1298,
- "pc": [
- 4948,
- 4949,
- 4950
- ]
- },
- {
- "teal": 5046,
- "source": 1299,
- "errorMessage": "No empty slot available in the staker pool set",
- "pc": [
- 4951
- ]
- },
- {
- "teal": 5051,
- "source": 1301,
- "pc": [
- 4952,
- 4953
- ]
- },
- {
- "teal": 5052,
- "source": 1301,
- "pc": [
- 4954
- ]
- },
- {
- "teal": 5053,
- "source": 1301,
- "pc": [
- 4955
- ]
- },
- {
- "teal": 5054,
- "source": 1301,
- "pc": [
- 4956
- ]
- },
- {
- "teal": 5055,
- "source": 1301,
- "pc": [
- 4957
- ]
- },
- {
- "teal": 5056,
- "source": 1301,
- "pc": [
- 4958,
- 4959
- ]
- },
- {
- "teal": 5057,
- "source": 1301,
- "pc": [
- 4960
- ]
- },
- {
- "teal": 5058,
- "source": 1301,
- "pc": [
- 4961,
- 4962
- ]
- },
- {
- "teal": 5059,
- "source": 1301,
- "pc": [
- 4963
- ]
- },
- {
- "teal": 5060,
- "source": 1301,
- "pc": [
- 4964,
- 4965
- ]
- },
- {
- "teal": 5061,
- "source": 1301,
- "pc": [
- 4966
- ]
- },
- {
- "teal": 5062,
- "source": 1284,
- "pc": [
- 4967
- ]
- },
- {
- "teal": 5073,
- "source": 1312,
- "pc": [
- 4968,
- 4969,
- 4970
- ]
- },
- {
- "teal": 5076,
- "source": 1312,
- "pc": [
- 4971
- ]
- },
- {
- "teal": 5077,
- "source": 1312,
- "pc": [
- 4972,
- 4973
- ]
- },
- {
- "teal": 5081,
- "source": 1314,
- "pc": [
- 4974
- ]
- },
- {
- "teal": 5082,
- "source": 1314,
- "pc": [
- 4975,
- 4976
- ]
- },
- {
- "teal": 5086,
- "source": 1315,
- "pc": [
- 4977
- ]
- },
- {
- "teal": 5087,
- "source": 1315,
- "pc": [
- 4978,
- 4979
- ]
- },
- {
- "teal": 5091,
- "source": 1316,
- "pc": [
- 4980
- ]
- },
- {
- "teal": 5092,
- "source": 1316,
- "pc": [
- 4981,
- 4982
- ]
- },
- {
- "teal": 5096,
- "source": 1318,
- "pc": [
- 4983
- ]
- },
- {
- "teal": 5097,
- "source": 1318,
- "pc": [
- 4984,
- 4985
- ]
- },
- {
- "teal": 5098,
- "source": 1318,
- "pc": [
- 4986
- ]
- },
- {
- "teal": 5099,
- "source": 1318,
- "pc": [
- 4987
- ]
- },
- {
- "teal": 5102,
- "source": 1318,
- "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value",
- "pc": [
- 4988
- ]
- },
- {
- "teal": 5103,
- "source": 1318,
- "pc": [
- 4989,
- 4990
- ]
- },
- {
- "teal": 5107,
- "source": 1319,
- "pc": [
- 4991
- ]
- },
- {
- "teal": 5108,
- "source": 1319,
- "pc": [
- 4992,
- 4993
- ]
- },
- {
- "teal": 5113,
- "source": 1319,
- "pc": [
- 4994,
- 4995
- ]
- },
- {
- "teal": 5114,
- "source": 1319,
- "pc": [
- 4996,
- 4997
- ]
- },
- {
- "teal": 5115,
- "source": 1319,
- "pc": [
- 4998
- ]
- },
- {
- "teal": 5116,
- "source": 1319,
- "pc": [
- 4999,
- 5000,
- 5001
- ]
- },
- {
- "teal": 5121,
- "source": 1320,
- "pc": [
- 5002,
- 5003
- ]
- },
- {
- "teal": 5122,
- "source": 1320,
- "pc": [
- 5004,
- 5005
- ]
- },
- {
- "teal": 5123,
- "source": 1320,
- "pc": [
- 5006
- ]
- },
- {
- "teal": 5124,
- "source": 1320,
- "pc": [
- 5007
- ]
- },
- {
- "teal": 5125,
- "source": 1320,
- "pc": [
- 5008
- ]
- },
- {
- "teal": 5126,
- "source": 1320,
- "pc": [
- 5009
- ]
- },
- {
- "teal": 5127,
- "source": 1320,
- "pc": [
- 5010
- ]
- },
- {
- "teal": 5128,
- "source": 1320,
- "pc": [
- 5011
- ]
- },
- {
- "teal": 5129,
- "source": 1320,
- "pc": [
- 5012
- ]
- },
- {
- "teal": 5130,
- "source": 1320,
- "pc": [
- 5013
- ]
- },
- {
- "teal": 5131,
- "source": 1320,
- "pc": [
- 5014
- ]
- },
- {
- "teal": 5132,
- "source": 1320,
- "pc": [
- 5015,
- 5016,
- 5017
- ]
- },
- {
- "teal": 5135,
- "source": 1321,
- "pc": [
- 5018,
- 5019,
- 5020
- ]
- },
- {
- "teal": 5140,
- "source": 1323,
- "pc": [
- 5021,
- 5022
- ]
- },
- {
- "teal": 5141,
- "source": 1323,
- "pc": [
- 5023
- ]
- },
- {
- "teal": 5142,
- "source": 1323,
- "pc": [
- 5024
- ]
- },
- {
- "teal": 5143,
- "source": 1323,
- "pc": [
- 5025,
- 5026
- ]
- },
- {
- "teal": 5148,
- "source": 1324,
- "pc": [
- 5027,
- 5028
- ]
- },
- {
- "teal": 5149,
- "source": 1324,
- "pc": [
- 5029,
- 5030
- ]
- },
- {
- "teal": 5150,
- "source": 1324,
- "pc": [
- 5031
- ]
- },
- {
- "teal": 5151,
- "source": 1324,
- "pc": [
- 5032
- ]
- },
- {
- "teal": 5152,
- "source": 1324,
- "pc": [
- 5033
- ]
- },
- {
- "teal": 5153,
- "source": 1324,
- "pc": [
- 5034
- ]
- },
- {
- "teal": 5154,
- "source": 1324,
- "pc": [
- 5035
- ]
- },
- {
- "teal": 5155,
- "source": 1324,
- "pc": [
- 5036
- ]
- },
- {
- "teal": 5156,
- "source": 1324,
- "pc": [
- 5037
- ]
- },
- {
- "teal": 5157,
- "source": 1324,
- "pc": [
- 5038,
- 5039
- ]
- },
- {
- "teal": 5158,
- "source": 1324,
- "pc": [
- 5040,
- 5041,
- 5042
- ]
- },
- {
- "teal": 5159,
- "source": 1324,
- "pc": [
- 5043
- ]
- },
- {
- "teal": 5160,
- "source": 1324,
- "pc": [
- 5044
- ]
- },
- {
- "teal": 5161,
- "source": 1324,
- "pc": [
- 5045,
- 5046,
- 5047
- ]
- },
- {
- "teal": 5167,
- "source": 1325,
- "pc": [
- 5048,
- 5049
- ]
- },
- {
- "teal": 5168,
- "source": 1325,
- "pc": [
- 5050,
- 5051
- ]
- },
- {
- "teal": 5169,
- "source": 1325,
- "pc": [
- 5052
- ]
- },
- {
- "teal": 5170,
- "source": 1325,
- "pc": [
- 5053
- ]
- },
- {
- "teal": 5171,
- "source": 1325,
- "pc": [
- 5054
- ]
- },
- {
- "teal": 5172,
- "source": 1325,
- "pc": [
- 5055
- ]
- },
- {
- "teal": 5173,
- "source": 1325,
- "pc": [
- 5056,
- 5057
- ]
- },
- {
- "teal": 5174,
- "source": 1325,
- "pc": [
- 5058
- ]
- },
- {
- "teal": 5175,
- "source": 1325,
- "pc": [
- 5059,
- 5060,
- 5061
- ]
- },
- {
- "teal": 5180,
- "source": 1326,
- "pc": [
- 5062
- ]
- },
- {
- "teal": 5181,
- "source": 1326,
- "pc": [
- 5063,
- 5064
- ]
- },
- {
- "teal": 5185,
- "source": 1328,
- "pc": [
- 5065,
- 5066
- ]
- },
- {
- "teal": 5186,
- "source": 1328,
- "pc": [
- 5067
- ]
- },
- {
- "teal": 5187,
- "source": 1328,
- "pc": [
- 5068
- ]
- },
- {
- "teal": 5188,
- "source": 1328,
- "pc": [
- 5069,
- 5070,
- 5071,
- 5072,
- 5073,
- 5074,
- 5075,
- 5076,
- 5077,
- 5078,
- 5079,
- 5080,
- 5081,
- 5082,
- 5083,
- 5084,
- 5085,
- 5086,
- 5087,
- 5088,
- 5089,
- 5090,
- 5091,
- 5092,
- 5093,
- 5094
- ]
- },
- {
- "teal": 5189,
- "source": 1328,
- "pc": [
- 5095
- ]
- },
- {
- "teal": 5190,
- "source": 1328,
- "pc": [
- 5096,
- 5097
- ]
- },
- {
- "teal": 5191,
- "source": 1328,
- "pc": [
- 5098
- ]
- },
- {
- "teal": 5192,
- "source": 1328,
- "pc": [
- 5099,
- 5100
- ]
- },
- {
- "teal": 5193,
- "source": 1328,
- "pc": [
- 5101
- ]
- },
- {
- "teal": 5194,
- "source": 1325,
- "pc": [
- 5102,
- 5103,
- 5104
- ]
- },
- {
- "teal": 5199,
- "source": 1330,
- "pc": [
- 5105,
- 5106
- ]
- },
- {
- "teal": 5200,
- "source": 1330,
- "pc": [
- 5107
- ]
- },
- {
- "teal": 5201,
- "source": 1330,
- "pc": [
- 5108
- ]
- },
- {
- "teal": 5202,
- "source": 1330,
- "pc": [
- 5109,
- 5110
- ]
- },
- {
- "teal": 5211,
- "source": 1319,
- "pc": [
- 5111,
- 5112
- ]
- },
- {
- "teal": 5212,
- "source": 1319,
- "pc": [
- 5113
- ]
- },
- {
- "teal": 5213,
- "source": 1319,
- "pc": [
- 5114
- ]
- },
- {
- "teal": 5214,
- "source": 1319,
- "pc": [
- 5115,
- 5116
- ]
- },
- {
- "teal": 5215,
- "source": 1319,
- "pc": [
- 5117,
- 5118,
- 5119
- ]
- },
- {
- "teal": 5221,
- "source": 1334,
- "pc": [
- 5120,
- 5121
- ]
- },
- {
- "teal": 5222,
- "source": 1334,
- "pc": [
- 5122
- ]
- },
- {
- "teal": 5223,
- "source": 1334,
- "pc": [
- 5123,
- 5124,
- 5125
- ]
- },
- {
- "teal": 5227,
- "source": 1335,
- "errorMessage": "No matching slot found when told to remove a pool from the stakers set",
- "pc": [
- 5126
- ]
- },
- {
- "teal": 5232,
- "source": 1338,
- "pc": [
- 5127,
- 5128
- ]
- },
- {
- "teal": 5233,
- "source": 1338,
- "pc": [
- 5129
- ]
- },
- {
- "teal": 5234,
- "source": 1338,
- "pc": [
- 5130,
- 5131
- ]
- },
- {
- "teal": 5235,
- "source": 1338,
- "pc": [
- 5132
- ]
- },
- {
- "teal": 5236,
- "source": 1338,
- "pc": [
- 5133
- ]
- },
- {
- "teal": 5237,
- "source": 1338,
- "pc": [
- 5134
- ]
- },
- {
- "teal": 5238,
- "source": 1338,
- "pc": [
- 5135
- ]
- },
- {
- "teal": 5239,
- "source": 1338,
- "pc": [
- 5136,
- 5137
- ]
- },
- {
- "teal": 5240,
- "source": 1338,
- "pc": [
- 5138
- ]
- },
- {
- "teal": 5241,
- "source": 1338,
- "pc": [
- 5139
- ]
- },
- {
- "teal": 5242,
- "source": 1338,
- "pc": [
- 5140
- ]
- },
- {
- "teal": 5245,
- "source": 1312,
- "pc": [
- 5141,
- 5142
- ]
- },
- {
- "teal": 5248,
- "source": 1312,
- "pc": [
- 5143,
- 5144
- ]
- },
- {
- "teal": 5249,
- "source": 1312,
- "pc": [
- 5145
- ]
- },
- {
- "teal": 5253,
- "source": 1341,
- "pc": [
- 5146,
- 5147,
- 5148
- ]
- },
- {
- "teal": 5256,
- "source": 1341,
- "pc": [
- 5149
- ]
- },
- {
- "teal": 5257,
- "source": 1341,
- "pc": [
- 5150,
- 5151
- ]
- },
- {
- "teal": 5261,
- "source": 1342,
- "pc": [
- 5152,
- 5153
- ]
- },
- {
- "teal": 5262,
- "source": 1342,
- "pc": [
- 5154,
- 5155
- ]
- },
- {
- "teal": 5263,
- "source": 1342,
- "pc": [
- 5156
- ]
- },
- {
- "teal": 5264,
- "source": 1342,
- "pc": [
- 5157,
- 5158
- ]
- },
- {
- "teal": 5265,
- "source": 1342,
- "pc": [
- 5159
- ]
- },
- {
- "teal": 5266,
- "source": 1342,
- "pc": [
- 5160
- ]
- },
- {
- "teal": 5267,
- "source": 1342,
- "pc": [
- 5161,
- 5162
- ]
- },
- {
- "teal": 5268,
- "source": 1342,
- "pc": [
- 5163
- ]
- },
- {
- "teal": 5269,
- "source": 1342,
- "pc": [
- 5164,
- 5165
- ]
- },
- {
- "teal": 5273,
- "source": 1343,
- "pc": [
- 5166,
- 5167,
- 5168
- ]
- },
- {
- "teal": 5274,
- "source": 1343,
- "pc": [
- 5169
- ]
- },
- {
- "teal": 5275,
- "source": 1343,
- "pc": [
- 5170
- ]
- },
- {
- "teal": 5276,
- "source": 1343,
- "pc": [
- 5171,
- 5172
- ]
- },
- {
- "teal": 5277,
- "source": 1343,
- "pc": [
- 5173
- ]
- },
- {
- "teal": 5278,
- "source": 1343,
- "pc": [
- 5174
- ]
- },
- {
- "teal": 5279,
- "source": 1343,
- "pc": [
- 5175,
- 5176
- ]
- },
- {
- "teal": 5280,
- "source": 1343,
- "pc": [
- 5177
- ]
- },
- {
- "teal": 5281,
- "source": 1343,
- "pc": [
- 5178
- ]
- },
- {
- "teal": 5282,
- "source": 1343,
- "pc": [
- 5179,
- 5180
- ]
- },
- {
- "teal": 5286,
- "source": 1345,
- "pc": [
- 5181,
- 5182
- ]
- },
- {
- "teal": 5287,
- "source": 1345,
- "pc": [
- 5183
- ]
- },
- {
- "teal": 5288,
- "source": 1345,
- "pc": [
- 5184
- ]
- },
- {
- "teal": 5289,
- "source": 1345,
- "pc": [
- 5185
- ]
- },
- {
- "teal": 5290,
- "source": 1345,
- "pc": [
- 5186,
- 5187,
- 5188
- ]
- },
- {
- "teal": 5291,
- "source": 1345,
- "pc": [
- 5189,
- 5190
- ]
- },
- {
- "teal": 5292,
- "source": 1345,
- "pc": [
- 5191
- ]
- },
- {
- "teal": 5293,
- "source": 1345,
- "pc": [
- 5192
- ]
- },
- {
- "teal": 5294,
- "source": 1345,
- "pc": [
- 5193
- ]
- },
- {
- "teal": 5298,
- "source": 1345,
- "errorMessage": "node number not in valid range",
- "pc": [
- 5194
- ]
- },
- {
- "teal": 5302,
- "source": 1347,
- "pc": [
- 5195
- ]
- },
- {
- "teal": 5303,
- "source": 1347,
- "pc": [
- 5196,
- 5197
- ]
- },
- {
- "teal": 5308,
- "source": 1347,
- "pc": [
- 5198,
- 5199
- ]
- },
- {
- "teal": 5309,
- "source": 1347,
- "pc": [
- 5200,
- 5201
- ]
- },
- {
- "teal": 5310,
- "source": 1347,
- "pc": [
- 5202
- ]
- },
- {
- "teal": 5311,
- "source": 1347,
- "pc": [
- 5203,
- 5204,
- 5205
- ]
- },
- {
- "teal": 5316,
- "source": 1348,
- "pc": [
- 5206,
- 5207
- ]
- },
- {
- "teal": 5317,
- "source": 1348,
- "pc": [
- 5208
- ]
- },
- {
- "teal": 5318,
- "source": 1348,
- "pc": [
- 5209,
- 5210
- ]
- },
- {
- "teal": 5319,
- "source": 1348,
- "pc": [
- 5211
- ]
- },
- {
- "teal": 5320,
- "source": 1348,
- "pc": [
- 5212
- ]
- },
- {
- "teal": 5321,
- "source": 1348,
- "pc": [
- 5213
- ]
- },
- {
- "teal": 5322,
- "source": 1348,
- "pc": [
- 5214
- ]
- },
- {
- "teal": 5323,
- "source": 1348,
- "pc": [
- 5215
- ]
- },
- {
- "teal": 5324,
- "source": 1348,
- "pc": [
- 5216
- ]
- },
- {
- "teal": 5325,
- "source": 1348,
- "pc": [
- 5217
- ]
- },
- {
- "teal": 5326,
- "source": 1348,
- "pc": [
- 5218,
- 5219
- ]
- },
- {
- "teal": 5327,
- "source": 1348,
- "pc": [
- 5220
- ]
- },
- {
- "teal": 5328,
- "source": 1348,
- "pc": [
- 5221
- ]
- },
- {
- "teal": 5329,
- "source": 1348,
- "pc": [
- 5222
- ]
- },
- {
- "teal": 5330,
- "source": 1348,
- "pc": [
- 5223
- ]
- },
- {
- "teal": 5331,
- "source": 1348,
- "pc": [
- 5224
- ]
- },
- {
- "teal": 5332,
- "source": 1348,
- "pc": [
- 5225
- ]
- },
- {
- "teal": 5333,
- "source": 1348,
- "pc": [
- 5226
- ]
- },
- {
- "teal": 5334,
- "source": 1348,
- "pc": [
- 5227
- ]
- },
- {
- "teal": 5335,
- "source": 1348,
- "pc": [
- 5228,
- 5229,
- 5230
- ]
- },
- {
- "teal": 5340,
- "source": 1350,
- "pc": [
- 5231,
- 5232
- ]
- },
- {
- "teal": 5341,
- "source": 1350,
- "pc": [
- 5233,
- 5234
- ]
- },
- {
- "teal": 5342,
- "source": 1350,
- "pc": [
- 5235
- ]
- },
- {
- "teal": 5343,
- "source": 1350,
- "pc": [
- 5236
- ]
- },
- {
- "teal": 5344,
- "source": 1350,
- "pc": [
- 5237
- ]
- },
- {
- "teal": 5345,
- "source": 1350,
- "pc": [
- 5238
- ]
- },
- {
- "teal": 5346,
- "source": 1350,
- "pc": [
- 5239
- ]
- },
- {
- "teal": 5347,
- "source": 1350,
- "pc": [
- 5240
- ]
- },
- {
- "teal": 5348,
- "source": 1350,
- "pc": [
- 5241
- ]
- },
- {
- "teal": 5349,
- "source": 1350,
- "pc": [
- 5242,
- 5243
- ]
- },
- {
- "teal": 5350,
- "source": 1350,
- "pc": [
- 5244
- ]
- },
- {
- "teal": 5351,
- "source": 1350,
- "pc": [
- 5245
- ]
- },
- {
- "teal": 5352,
- "source": 1350,
- "pc": [
- 5246
- ]
- },
- {
- "teal": 5353,
- "source": 1350,
- "pc": [
- 5247,
- 5248
- ]
- },
- {
- "teal": 5354,
- "source": 1350,
- "pc": [
- 5249
- ]
- },
- {
- "teal": 5355,
- "source": 1350,
- "pc": [
- 5250
- ]
- },
- {
- "teal": 5356,
- "source": 1350,
- "pc": [
- 5251,
- 5252
- ]
- },
- {
- "teal": 5357,
- "source": 1350,
- "pc": [
- 5253
- ]
- },
- {
- "teal": 5358,
- "source": 1350,
- "pc": [
- 5254
- ]
- },
- {
- "teal": 5359,
- "source": 1350,
- "pc": [
- 5255,
- 5256
- ]
- },
- {
- "teal": 5360,
- "source": 1350,
- "pc": [
- 5257
- ]
- },
- {
- "teal": 5364,
- "source": 1351,
- "pc": [
- 5258
- ]
- },
- {
- "teal": 5371,
- "source": 1347,
- "pc": [
- 5259,
- 5260
- ]
- },
- {
- "teal": 5372,
- "source": 1347,
- "pc": [
- 5261
- ]
- },
- {
- "teal": 5373,
- "source": 1347,
- "pc": [
- 5262
- ]
- },
- {
- "teal": 5374,
- "source": 1347,
- "pc": [
- 5263,
- 5264
- ]
- },
- {
- "teal": 5375,
- "source": 1347,
- "pc": [
- 5265,
- 5266,
- 5267
- ]
- },
- {
- "teal": 5379,
- "source": 1354,
- "errorMessage": "no available space in specified node for this pool",
- "pc": [
- 5268
- ]
- },
- {
- "teal": 5380,
- "source": 1341,
- "pc": [
- 5269
- ]
- },
- {
- "teal": 5390,
- "source": 1364,
- "pc": [
- 5270,
- 5271,
- 5272
- ]
- },
- {
- "teal": 5393,
- "source": 1364,
- "pc": [
- 5273
- ]
- },
- {
- "teal": 5394,
- "source": 1364,
- "pc": [
- 5274,
- 5275
- ]
- },
- {
- "teal": 5398,
- "source": 1365,
- "pc": [
- 5276,
- 5277
- ]
- },
- {
- "teal": 5399,
- "source": 1365,
- "pc": [
- 5278
- ]
- },
- {
- "teal": 5400,
- "source": 1365,
- "pc": [
- 5279
- ]
- },
- {
- "teal": 5401,
- "source": 1365,
- "pc": [
- 5280,
- 5281
- ]
- },
- {
- "teal": 5402,
- "source": 1365,
- "pc": [
- 5282
- ]
- },
- {
- "teal": 5403,
- "source": 1365,
- "pc": [
- 5283
- ]
- },
- {
- "teal": 5404,
- "source": 1365,
- "pc": [
- 5284,
- 5285
- ]
- },
- {
- "teal": 5405,
- "source": 1365,
- "pc": [
- 5286
- ]
- },
- {
- "teal": 5406,
- "source": 1365,
- "pc": [
- 5287
- ]
- },
- {
- "teal": 5407,
- "source": 1365,
- "pc": [
- 5288,
- 5289
- ]
- },
- {
- "teal": 5412,
- "source": 1366,
- "pc": [
- 5290,
- 5291
- ]
- },
- {
- "teal": 5413,
- "source": 1366,
- "pc": [
- 5292
- ]
- },
- {
- "teal": 5414,
- "source": 1366,
- "pc": [
- 5293
- ]
- },
- {
- "teal": 5415,
- "source": 1366,
- "pc": [
- 5294,
- 5295,
- 5296
- ]
- },
- {
- "teal": 5420,
- "source": 1367,
- "pc": [
- 5297
- ]
- },
- {
- "teal": 5425,
- "source": 1369,
- "pc": [
- 5298,
- 5299
- ]
- },
- {
- "teal": 5426,
- "source": 1369,
- "pc": [
- 5300,
- 5301
- ]
- },
- {
- "teal": 5430,
- "source": 1370,
- "pc": [
- 5302
- ]
- },
- {
- "teal": 5431,
- "source": 1370,
- "pc": [
- 5303,
- 5304
- ]
- },
- {
- "teal": 5432,
- "source": 1370,
- "pc": [
- 5305
- ]
- },
- {
- "teal": 5433,
- "source": 1370,
- "pc": [
- 5306,
- 5307
- ]
- },
- {
- "teal": 5434,
- "source": 1370,
- "pc": [
- 5308
- ]
- },
- {
- "teal": 5435,
- "source": 1370,
- "pc": [
- 5309
- ]
- },
- {
- "teal": 5436,
- "source": 1370,
- "pc": [
- 5310,
- 5311
- ]
- },
- {
- "teal": 5437,
- "source": 1370,
- "pc": [
- 5312
- ]
- },
- {
- "teal": 5438,
- "source": 1370,
- "pc": [
- 5313,
- 5314
- ]
- },
- {
- "teal": 5445,
- "source": 1374,
- "pc": [
- 5315,
- 5316
- ]
- },
- {
- "teal": 5446,
- "source": 1374,
- "pc": [
- 5317
- ]
- },
- {
- "teal": 5447,
- "source": 1374,
- "pc": [
- 5318
- ]
- },
- {
- "teal": 5448,
- "source": 1374,
- "pc": [
- 5319
- ]
- },
- {
- "teal": 5449,
- "source": 1374,
- "pc": [
- 5320,
- 5321,
- 5322
- ]
- },
- {
- "teal": 5450,
- "source": 1375,
- "pc": [
- 5323,
- 5324
- ]
- },
- {
- "teal": 5451,
- "source": 1375,
- "pc": [
- 5325,
- 5326
- ]
- },
- {
- "teal": 5452,
- "source": 1375,
- "pc": [
- 5327
- ]
- },
- {
- "teal": 5453,
- "source": 1374,
- "pc": [
- 5328
- ]
- },
- {
- "teal": 5456,
- "source": 1375,
- "pc": [
- 5329
- ]
- },
- {
- "teal": 5457,
- "source": 1375,
- "pc": [
- 5330,
- 5331,
- 5332
- ]
- },
- {
- "teal": 5458,
- "source": 1376,
- "pc": [
- 5333,
- 5334
- ]
- },
- {
- "teal": 5459,
- "source": 1376,
- "pc": [
- 5335,
- 5336
- ]
- },
- {
- "teal": 5460,
- "source": 1376,
- "pc": [
- 5337
- ]
- },
- {
- "teal": 5461,
- "source": 1375,
- "pc": [
- 5338
- ]
- },
- {
- "teal": 5464,
- "source": 1373,
- "pc": [
- 5339,
- 5340,
- 5341
- ]
- },
- {
- "teal": 5469,
- "source": 1378,
- "pc": [
- 5342,
- 5343
- ]
- },
- {
- "teal": 5470,
- "source": 1378,
- "pc": [
- 5344
- ]
- },
- {
- "teal": 5471,
- "source": 1378,
- "pc": [
- 5345
- ]
- },
- {
- "teal": 5472,
- "source": 1378,
- "pc": [
- 5346
- ]
- },
- {
- "teal": 5476,
- "source": 1379,
- "pc": [
- 5347,
- 5348
- ]
- },
- {
- "teal": 5477,
- "source": 1379,
- "pc": [
- 5349
- ]
- },
- {
- "teal": 5478,
- "source": 1379,
- "pc": [
- 5350
- ]
- },
- {
- "teal": 5479,
- "source": 1379,
- "pc": [
- 5351,
- 5352
- ]
- },
- {
- "teal": 5480,
- "source": 1379,
- "pc": [
- 5353
- ]
- },
- {
- "teal": 5481,
- "source": 1379,
- "pc": [
- 5354
- ]
- },
- {
- "teal": 5482,
- "source": 1379,
- "pc": [
- 5355,
- 5356
- ]
- },
- {
- "teal": 5483,
- "source": 1379,
- "pc": [
- 5357
- ]
- },
- {
- "teal": 5484,
- "source": 1379,
- "pc": [
- 5358
- ]
- },
- {
- "teal": 5485,
- "source": 1379,
- "pc": [
- 5359,
- 5360
- ]
- },
- {
- "teal": 5490,
- "source": 1380,
- "pc": [
- 5361,
- 5362
- ]
- },
- {
- "teal": 5491,
- "source": 1380,
- "pc": [
- 5363
- ]
- },
- {
- "teal": 5492,
- "source": 1380,
- "pc": [
- 5364
- ]
- },
- {
- "teal": 5493,
- "source": 1380,
- "pc": [
- 5365,
- 5366,
- 5367
- ]
- },
- {
- "teal": 5498,
- "source": 1381,
- "pc": [
- 5368
- ]
- },
- {
- "teal": 5499,
- "source": 1381,
- "pc": [
- 5369,
- 5370
- ]
- },
- {
- "teal": 5507,
- "source": 1384,
- "pc": [
- 5371,
- 5372
- ]
- },
- {
- "teal": 5508,
- "source": 1384,
- "pc": [
- 5373,
- 5374
- ]
- },
- {
- "teal": 5509,
- "source": 1384,
- "pc": [
- 5375,
- 5376
- ]
- },
- {
- "teal": 5510,
- "source": 1384,
- "pc": [
- 5377
- ]
- },
- {
- "teal": 5511,
- "source": 1384,
- "pc": [
- 5378,
- 5379
- ]
- },
- {
- "teal": 5512,
- "source": 1384,
- "pc": [
- 5380
- ]
- },
- {
- "teal": 5515,
- "source": 1383,
- "errorMessage": "must have required minimum balance of validator defined token to add stake",
- "pc": [
- 5381
- ]
- },
- {
- "teal": 5521,
- "source": 1388,
- "pc": [
- 5382,
- 5383
- ]
- },
- {
- "teal": 5522,
- "source": 1388,
- "pc": [
- 5384
- ]
- },
- {
- "teal": 5523,
- "source": 1388,
- "pc": [
- 5385
- ]
- },
- {
- "teal": 5524,
- "source": 1388,
- "pc": [
- 5386,
- 5387,
- 5388
- ]
- },
- {
- "teal": 5532,
- "source": 1390,
- "pc": [
- 5389,
- 5390
- ]
- },
- {
- "teal": 5533,
- "source": 1390,
- "pc": [
- 5391,
- 5392
- ]
- },
- {
- "teal": 5534,
- "source": 1390,
- "pc": [
- 5393
- ]
- },
- {
- "teal": 5535,
- "source": 1390,
- "pc": [
- 5394,
- 5395
- ]
- },
- {
- "teal": 5536,
- "source": 1390,
- "pc": [
- 5396,
- 5397,
- 5398
- ]
- },
- {
- "teal": 5537,
- "source": 1390,
- "pc": [
- 5399
- ]
- },
- {
- "teal": 5540,
- "source": 1389,
- "errorMessage": "specified asset must be created by creator that the validator defined as a requirement to stake",
- "pc": [
- 5400
- ]
- },
- {
- "teal": 5546,
- "source": 1394,
- "pc": [
- 5401,
- 5402
- ]
- },
- {
- "teal": 5547,
- "source": 1394,
- "pc": [
- 5403,
- 5404
- ]
- },
- {
- "teal": 5548,
- "source": 1394,
- "pc": [
- 5405
- ]
- },
- {
- "teal": 5549,
- "source": 1394,
- "pc": [
- 5406,
- 5407,
- 5408
- ]
- },
- {
- "teal": 5554,
- "source": 1395,
- "pc": [
- 5409,
- 5410
- ]
- },
- {
- "teal": 5555,
- "source": 1395,
- "pc": [
- 5411
- ]
- },
- {
- "teal": 5556,
- "source": 1395,
- "pc": [
- 5412
- ]
- },
- {
- "teal": 5557,
- "source": 1395,
- "pc": [
- 5413
- ]
- },
- {
- "teal": 5561,
- "source": 1396,
- "pc": [
- 5414
- ]
- },
- {
- "teal": 5562,
- "source": 1396,
- "pc": [
- 5415,
- 5416
- ]
- },
- {
- "teal": 5566,
- "source": 1397,
- "pc": [
- 5417,
- 5418
- ]
- },
- {
- "teal": 5567,
- "source": 1397,
- "pc": [
- 5419,
- 5420,
- 5421
- ]
- },
- {
- "teal": 5568,
- "source": 1397,
- "pc": [
- 5422
- ]
- },
- {
- "teal": 5569,
- "source": 1397,
- "pc": [
- 5423,
- 5424
- ]
- },
- {
- "teal": 5570,
- "source": 1397,
- "pc": [
- 5425,
- 5426,
- 5427
- ]
- },
- {
- "teal": 5571,
- "source": 1397,
- "pc": [
- 5428
- ]
- },
- {
- "teal": 5572,
- "source": 1397,
- "pc": [
- 5429,
- 5430
- ]
- },
- {
- "teal": 5573,
- "source": 1397,
- "pc": [
- 5431
- ]
- },
- {
- "teal": 5574,
- "source": 1397,
- "pc": [
- 5432,
- 5433
- ]
- },
- {
- "teal": 5580,
- "source": 1398,
- "pc": [
- 5434,
- 5435
- ]
- },
- {
- "teal": 5581,
- "source": 1398,
- "pc": [
- 5436,
- 5437
- ]
- },
- {
- "teal": 5582,
- "source": 1398,
- "pc": [
- 5438
- ]
- },
- {
- "teal": 5583,
- "source": 1398,
- "pc": [
- 5439,
- 5440,
- 5441
- ]
- },
- {
- "teal": 5588,
- "source": 1399,
- "pc": [
- 5442
- ]
- },
- {
- "teal": 5589,
- "source": 1399,
- "pc": [
- 5443,
- 5444
- ]
- },
- {
- "teal": 5590,
- "source": 1400,
- "pc": [
- 5445,
- 5446,
- 5447
- ]
- },
- {
- "teal": 5596,
- "source": 1397,
- "pc": [
- 5448,
- 5449
- ]
- },
- {
- "teal": 5597,
- "source": 1397,
- "pc": [
- 5450
- ]
- },
- {
- "teal": 5598,
- "source": 1397,
- "pc": [
- 5451
- ]
- },
- {
- "teal": 5599,
- "source": 1397,
- "pc": [
- 5452
- ]
- },
- {
- "teal": 5600,
- "source": 1397,
- "pc": [
- 5453,
- 5454
- ]
- },
- {
- "teal": 5601,
- "source": 1397,
- "pc": [
- 5455
- ]
- },
- {
- "teal": 5602,
- "source": 1397,
- "pc": [
- 5456,
- 5457,
- 5458
- ]
- },
- {
- "teal": 5603,
- "source": 1397,
- "pc": [
- 5459,
- 5460
- ]
- },
- {
- "teal": 5604,
- "source": 1397,
- "pc": [
- 5461,
- 5462
- ]
- },
- {
- "teal": 5605,
- "source": 1397,
- "pc": [
- 5463,
- 5464
- ]
- },
- {
- "teal": 5606,
- "source": 1397,
- "pc": [
- 5465
- ]
- },
- {
- "teal": 5607,
- "source": 1397,
- "pc": [
- 5466
- ]
- },
- {
- "teal": 5608,
- "source": 1397,
- "pc": [
- 5467
- ]
- },
- {
- "teal": 5609,
- "source": 1397,
- "pc": [
- 5468,
- 5469
- ]
- },
- {
- "teal": 5610,
- "source": 1397,
- "pc": [
- 5470,
- 5471,
- 5472
- ]
- },
- {
- "teal": 5615,
- "source": 1403,
- "pc": [
- 5473,
- 5474
- ]
- },
- {
- "teal": 5618,
- "source": 1403,
- "errorMessage": "specified asset must be identical to the asset id defined as a requirement to stake",
- "pc": [
- 5475
- ]
- },
- {
- "teal": 5624,
- "source": 1405,
- "pc": [
- 5476,
- 5477
- ]
- },
- {
- "teal": 5625,
- "source": 1405,
- "pc": [
- 5478,
- 5479
- ]
- },
- {
- "teal": 5626,
- "source": 1405,
- "pc": [
- 5480
- ]
- },
- {
- "teal": 5627,
- "source": 1405,
- "pc": [
- 5481,
- 5482,
- 5483
- ]
- },
- {
- "teal": 5635,
- "source": 1409,
- "pc": [
- 5484,
- 5485
- ]
- },
- {
- "teal": 5636,
- "source": 1409,
- "pc": [
- 5486,
- 5487
- ]
- },
- {
- "teal": 5637,
- "source": 1409,
- "pc": [
- 5488
- ]
- },
- {
- "teal": 5638,
- "source": 1409,
- "pc": [
- 5489,
- 5490
- ]
- },
- {
- "teal": 5639,
- "source": 1409,
- "pc": [
- 5491,
- 5492,
- 5493
- ]
- },
- {
- "teal": 5640,
- "source": 1409,
- "pc": [
- 5494
- ]
- },
- {
- "teal": 5641,
- "source": 1409,
- "pc": [
- 5495,
- 5496,
- 5497
- ]
- },
- {
- "teal": 5644,
- "source": 1408,
- "errorMessage": "specified asset must be created by creator that is one of the linked addresses in an nfd",
- "pc": [
- 5498
- ]
- },
- {
- "teal": 5650,
- "source": 1413,
- "pc": [
- 5499,
- 5500
- ]
- },
- {
- "teal": 5651,
- "source": 1413,
- "pc": [
- 5501,
- 5502
- ]
- },
- {
- "teal": 5652,
- "source": 1413,
- "pc": [
- 5503
- ]
- },
- {
- "teal": 5653,
- "source": 1413,
- "pc": [
- 5504,
- 5505,
- 5506
- ]
- },
- {
- "teal": 5658,
- "source": 1415,
- "pc": [
- 5507,
- 5508
- ]
- },
- {
- "teal": 5659,
- "source": 1415,
- "pc": [
- 5509,
- 5510
- ]
- },
- {
- "teal": 5663,
- "source": 1416,
- "pc": [
- 5511,
- 5512
- ]
- },
- {
- "teal": 5664,
- "source": 1416,
- "pc": [
- 5513,
- 5514,
- 5515
- ]
- },
- {
- "teal": 5667,
- "source": 1416,
- "errorMessage": "provided NFD must be valid",
- "pc": [
- 5516
- ]
- },
- {
- "teal": 5675,
- "source": 1420,
- "pc": [
- 5517,
- 5518
- ]
- },
- {
- "teal": 5676,
- "source": 1420,
- "pc": [
- 5519,
- 5520
- ]
- },
- {
- "teal": 5677,
- "source": 1420,
- "pc": [
- 5521
- ]
- },
- {
- "teal": 5680,
- "source": 1420,
- "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.owner.a')",
- "pc": [
- 5522
- ]
- },
- {
- "teal": 5681,
- "source": 1420,
- "pc": [
- 5523,
- 5524
- ]
- },
- {
- "teal": 5682,
- "source": 1420,
- "pc": [
- 5525
- ]
- },
- {
- "teal": 5683,
- "source": 1420,
- "pc": [
- 5526
- ]
- },
- {
- "teal": 5684,
- "source": 1420,
- "pc": [
- 5527,
- 5528,
- 5529
- ]
- },
- {
- "teal": 5685,
- "source": 1421,
- "pc": [
- 5530,
- 5531
- ]
- },
- {
- "teal": 5686,
- "source": 1421,
- "pc": [
- 5532,
- 5533
- ]
- },
- {
- "teal": 5687,
- "source": 1421,
- "pc": [
- 5534,
- 5535,
- 5536
- ]
- },
- {
- "teal": 5688,
- "source": 1420,
- "pc": [
- 5537
- ]
- },
- {
- "teal": 5692,
- "source": 1419,
- "errorMessage": "provided nfd for entry isn't owned or linked to the staker",
- "pc": [
- 5538
- ]
- },
- {
- "teal": 5700,
- "source": 1427,
- "pc": [
- 5539,
- 5540
- ]
- },
- {
- "teal": 5701,
- "source": 1427,
- "pc": [
- 5541,
- 5542,
- 5543,
- 5544,
- 5545,
- 5546,
- 5547,
- 5548,
- 5549,
- 5550,
- 5551,
- 5552,
- 5553,
- 5554,
- 5555
- ]
- },
- {
- "teal": 5702,
- "source": 1427,
- "pc": [
- 5556
- ]
- },
- {
- "teal": 5705,
- "source": 1427,
- "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.parentAppID')",
- "pc": [
- 5557
- ]
- },
- {
- "teal": 5706,
- "source": 1427,
- "pc": [
- 5558
- ]
- },
- {
- "teal": 5707,
- "source": 1428,
- "pc": [
- 5559,
- 5560
- ]
- },
- {
- "teal": 5708,
- "source": 1428,
- "pc": [
- 5561,
- 5562,
- 5563
- ]
- },
- {
- "teal": 5709,
- "source": 1428,
- "pc": [
- 5564
- ]
- },
- {
- "teal": 5710,
- "source": 1427,
- "pc": [
- 5565
- ]
- },
- {
- "teal": 5713,
- "source": 1426,
- "errorMessage": "specified nfd must be a segment of the nfd the validator specified as a requirement",
- "pc": [
- 5566
- ]
- },
- {
- "teal": 5716,
- "source": 1364,
- "pc": [
- 5567
- ]
- },
- {
- "teal": 5728,
- "source": 1443,
- "pc": [
- 5568,
- 5569,
- 5570
- ]
- },
- {
- "teal": 5731,
- "source": 1443,
- "pc": [
- 5571
- ]
- },
- {
- "teal": 5735,
- "source": 1445,
- "pc": [
- 5572,
- 5573
- ]
- },
- {
- "teal": 5736,
- "source": 1445,
- "pc": [
- 5574,
- 5575,
- 5576,
- 5577,
- 5578,
- 5579,
- 5580,
- 5581
- ]
- },
- {
- "teal": 5737,
- "source": 1445,
- "pc": [
- 5582
- ]
- },
- {
- "teal": 5740,
- "source": 1445,
- "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.name')",
- "pc": [
- 5583
- ]
- },
- {
- "teal": 5741,
- "source": 1445,
- "pc": [
- 5584,
- 5585
- ]
- },
- {
- "teal": 5749,
- "source": 1447,
- "pc": [
- 5586
- ]
- },
- {
- "teal": 5750,
- "source": 1447,
- "pc": [
- 5587,
- 5588
- ]
- },
- {
- "teal": 5751,
- "source": 1447,
- "pc": [
- 5589,
- 5590
- ]
- },
- {
- "teal": 5755,
- "source": 1448,
- "pc": [
- 5591,
- 5592
- ]
- },
- {
- "teal": 5756,
- "source": 1448,
- "pc": [
- 5593,
- 5594
- ]
- },
- {
- "teal": 5760,
- "source": 1449,
- "pc": [
- 5595,
- 5596
- ]
- },
- {
- "teal": 5761,
- "source": 1449,
- "pc": [
- 5597,
- 5598
- ]
- },
- {
- "teal": 5762,
- "source": 1449,
- "pc": [
- 5599,
- 5600
- ]
- },
- {
- "teal": 5763,
- "source": 1449,
- "pc": [
- 5601,
- 5602
- ]
- },
- {
- "teal": 5764,
- "source": 1449,
- "pc": [
- 5603,
- 5604
- ]
- },
- {
- "teal": 5765,
- "source": 1449,
- "pc": [
- 5605
- ]
- },
- {
- "teal": 5766,
- "source": 1449,
- "pc": [
- 5606,
- 5607
- ]
- },
- {
- "teal": 5770,
- "source": 1450,
- "pc": [
- 5608,
- 5609
- ]
- },
- {
- "teal": 5771,
- "source": 1450,
- "pc": [
- 5610,
- 5611
- ]
- },
- {
- "teal": 5774,
- "source": 1447,
- "pc": [
- 5612
- ]
- },
- {
- "teal": 5775,
- "source": 1447,
- "pc": [
- 5613,
- 5614
- ]
- },
- {
- "teal": 5778,
- "source": 1447,
- "pc": [
- 5615
- ]
- },
- {
- "teal": 5782,
- "source": 1452,
- "pc": [
- 5616,
- 5617
- ]
- },
- {
- "teal": 5783,
- "source": 1452,
- "pc": [
- 5618
- ]
- },
- {
- "teal": 5784,
- "source": 1452,
- "pc": [
- 5619
- ]
- },
- {
- "teal": 5785,
- "source": 1452,
- "pc": [
- 5620
- ]
- },
- {
- "teal": 5788,
- "source": 1443,
- "pc": [
- 5621,
- 5622
- ]
- },
- {
- "teal": 5789,
- "source": 1443,
- "pc": [
- 5623
- ]
- },
- {
- "teal": 5800,
- "source": 1463,
- "pc": [
- 5624,
- 5625,
- 5626
- ]
- },
- {
- "teal": 5803,
- "source": 1463,
- "pc": [
- 5627
- ]
- },
- {
- "teal": 5804,
- "source": 1463,
- "pc": [
- 5628,
- 5629
- ]
- },
- {
- "teal": 5811,
- "source": 1464,
- "pc": [
- 5630
- ]
- },
- {
- "teal": 5812,
- "source": 1464,
- "pc": [
- 5631,
- 5632
- ]
- },
- {
- "teal": 5813,
- "source": 1464,
- "pc": [
- 5633,
- 5634
- ]
- },
- {
- "teal": 5817,
- "source": 1465,
- "pc": [
- 5635,
- 5636
- ]
- },
- {
- "teal": 5818,
- "source": 1465,
- "pc": [
- 5637,
- 5638
- ]
- },
- {
- "teal": 5822,
- "source": 1466,
- "pc": [
- 5639,
- 5640,
- 5641,
- 5642,
- 5643,
- 5644,
- 5645,
- 5646,
- 5647,
- 5648,
- 5649,
- 5650,
- 5651,
- 5652,
- 5653
- ]
- },
- {
- "teal": 5823,
- "source": 1466,
- "pc": [
- 5654,
- 5655
- ]
- },
- {
- "teal": 5824,
- "source": 1466,
- "pc": [
- 5656,
- 5657,
- 5658,
- 5659,
- 5660,
- 5661,
- 5662,
- 5663,
- 5664,
- 5665,
- 5666,
- 5667,
- 5668,
- 5669,
- 5670
- ]
- },
- {
- "teal": 5825,
- "source": 1466,
- "pc": [
- 5671,
- 5672
- ]
- },
- {
- "teal": 5828,
- "source": 1464,
- "pc": [
- 5673
- ]
- },
- {
- "teal": 5829,
- "source": 1464,
- "pc": [
- 5674,
- 5675
- ]
- },
- {
- "teal": 5832,
- "source": 1464,
- "pc": [
- 5676
- ]
- },
- {
- "teal": 5836,
- "source": 1468,
- "pc": [
- 5677,
- 5678
- ]
- },
- {
- "teal": 5837,
- "source": 1468,
- "pc": [
- 5679,
- 5680
- ]
- },
- {
- "teal": 5841,
- "source": 1469,
- "pc": [
- 5681
- ]
- },
- {
- "teal": 5842,
- "source": 1469,
- "pc": [
- 5682,
- 5683
- ]
- },
- {
- "teal": 5847,
- "source": 1469,
- "pc": [
- 5684,
- 5685
- ]
- },
- {
- "teal": 5848,
- "source": 1469,
- "pc": [
- 5686,
- 5687
- ]
- },
- {
- "teal": 5849,
- "source": 1469,
- "pc": [
- 5688
- ]
- },
- {
- "teal": 5850,
- "source": 1469,
- "pc": [
- 5689
- ]
- },
- {
- "teal": 5851,
- "source": 1469,
- "pc": [
- 5690,
- 5691,
- 5692
- ]
- },
- {
- "teal": 5855,
- "source": 1470,
- "pc": [
- 5693,
- 5694
- ]
- },
- {
- "teal": 5856,
- "source": 1470,
- "pc": [
- 5695,
- 5696
- ]
- },
- {
- "teal": 5857,
- "source": 1470,
- "pc": [
- 5697,
- 5698
- ]
- },
- {
- "teal": 5858,
- "source": 1470,
- "pc": [
- 5699
- ]
- },
- {
- "teal": 5859,
- "source": 1470,
- "pc": [
- 5700,
- 5701
- ]
- },
- {
- "teal": 5864,
- "source": 1471,
- "pc": [
- 5702,
- 5703
- ]
- },
- {
- "teal": 5865,
- "source": 1471,
- "pc": [
- 5704,
- 5705
- ]
- },
- {
- "teal": 5866,
- "source": 1471,
- "pc": [
- 5706
- ]
- },
- {
- "teal": 5867,
- "source": 1471,
- "pc": [
- 5707
- ]
- },
- {
- "teal": 5868,
- "source": 1471,
- "pc": [
- 5708,
- 5709,
- 5710
- ]
- },
- {
- "teal": 5869,
- "source": 1471,
- "pc": [
- 5711,
- 5712
- ]
- },
- {
- "teal": 5870,
- "source": 1471,
- "pc": [
- 5713,
- 5714
- ]
- },
- {
- "teal": 5871,
- "source": 1471,
- "pc": [
- 5715
- ]
- },
- {
- "teal": 5872,
- "source": 1471,
- "pc": [
- 5716
- ]
- },
- {
- "teal": 5875,
- "source": 1471,
- "pc": [
- 5717,
- 5718,
- 5719
- ]
- },
- {
- "teal": 5880,
- "source": 1472,
- "pc": [
- 5720
- ]
- },
- {
- "teal": 5881,
- "source": 1472,
- "pc": [
- 5721,
- 5722,
- 5723
- ]
- },
- {
- "teal": 5888,
- "source": 1469,
- "pc": [
- 5724,
- 5725
- ]
- },
- {
- "teal": 5889,
- "source": 1469,
- "pc": [
- 5726,
- 5727
- ]
- },
- {
- "teal": 5890,
- "source": 1469,
- "pc": [
- 5728
- ]
- },
- {
- "teal": 5891,
- "source": 1469,
- "pc": [
- 5729,
- 5730
- ]
- },
- {
- "teal": 5892,
- "source": 1469,
- "pc": [
- 5731,
- 5732,
- 5733
- ]
- },
- {
- "teal": 5897,
- "source": 1475,
- "pc": [
- 5734
- ]
- },
- {
- "teal": 5901,
- "source": 1463,
- "pc": [
- 5735,
- 5736
- ]
- },
- {
- "teal": 5904,
- "source": 1463,
- "pc": [
- 5737,
- 5738
- ]
- },
- {
- "teal": 5905,
- "source": 1463,
- "pc": [
- 5739
- ]
- },
- {
- "teal": 5913,
- "source": 1483,
- "pc": [
- 5740,
- 5741,
- 5742
- ]
- },
- {
- "teal": 5916,
- "source": 1483,
- "pc": [
- 5743
- ]
- },
- {
- "teal": 5920,
- "source": 1484,
- "pc": [
- 5744,
- 5745,
- 5746
- ]
- },
- {
- "teal": 5921,
- "source": 1484,
- "pc": [
- 5747,
- 5748
- ]
- },
- {
- "teal": 5925,
- "source": 1486,
- "pc": [
- 5749,
- 5750
- ]
- },
- {
- "teal": 5926,
- "source": 1486,
- "pc": [
- 5751,
- 5752
- ]
- },
- {
- "teal": 5927,
- "source": 1486,
- "pc": [
- 5753
- ]
- },
- {
- "teal": 5928,
- "source": 1486,
- "pc": [
- 5754
- ]
- },
- {
- "teal": 5929,
- "source": 1486,
- "pc": [
- 5755,
- 5756
- ]
- },
- {
- "teal": 5930,
- "source": 1486,
- "pc": [
- 5757
- ]
- },
- {
- "teal": 5931,
- "source": 1486,
- "pc": [
- 5758
- ]
- },
- {
- "teal": 5932,
- "source": 1486,
- "pc": [
- 5759
- ]
- },
- {
- "teal": 5933,
- "source": 1486,
- "pc": [
- 5760
- ]
- },
- {
- "teal": 5934,
- "source": 1486,
- "pc": [
- 5761
- ]
- },
- {
- "teal": 5937,
- "source": 1486,
- "errorMessage": "wideRatio failed",
- "pc": [
- 5762
- ]
- },
- {
- "teal": 5940,
- "source": 1483,
- "pc": [
- 5763,
- 5764
- ]
- },
- {
- "teal": 5941,
- "source": 1483,
- "pc": [
- 5765
- ]
- },
- {
- "teal": 5948,
- "source": 1493,
- "pc": [
- 5766,
- 5767,
- 5768
- ]
- },
- {
- "teal": 5951,
- "source": 1493,
- "pc": [
- 5769
- ]
- },
- {
- "teal": 5955,
- "source": 1494,
- "pc": [
- 5770,
- 5771,
- 5772
- ]
- },
- {
- "teal": 5956,
- "source": 1494,
- "pc": [
- 5773,
- 5774
- ]
- },
- {
- "teal": 5960,
- "source": 1496,
- "pc": [
- 5775,
- 5776
- ]
- },
- {
- "teal": 5961,
- "source": 1496,
- "pc": [
- 5777,
- 5778,
- 5779
- ]
- },
- {
- "teal": 5962,
- "source": 1496,
- "pc": [
- 5780
- ]
- },
- {
- "teal": 5963,
- "source": 1496,
- "pc": [
- 5781
- ]
- },
- {
- "teal": 5964,
- "source": 1496,
- "pc": [
- 5782,
- 5783
- ]
- },
- {
- "teal": 5965,
- "source": 1496,
- "pc": [
- 5784
- ]
- },
- {
- "teal": 5966,
- "source": 1496,
- "pc": [
- 5785
- ]
- },
- {
- "teal": 5967,
- "source": 1496,
- "pc": [
- 5786
- ]
- },
- {
- "teal": 5968,
- "source": 1496,
- "pc": [
- 5787
- ]
- },
- {
- "teal": 5969,
- "source": 1496,
- "pc": [
- 5788
- ]
- },
- {
- "teal": 5972,
- "source": 1496,
- "errorMessage": "wideRatio failed",
- "pc": [
- 5789
- ]
- },
- {
- "teal": 5975,
- "source": 1493,
- "pc": [
- 5790,
- 5791
- ]
- },
- {
- "teal": 5976,
- "source": 1493,
- "pc": [
- 5792
- ]
- },
- {
- "teal": 5982,
- "source": 1502,
- "pc": [
- 5793,
- 5794,
- 5795
- ]
- },
- {
- "teal": 5986,
- "source": 1504,
- "pc": [
- 5796,
- 5797,
- 5798,
- 5799,
- 5800,
- 5801,
- 5802,
- 5803
- ]
- },
- {
- "teal": 5987,
- "source": 1502,
- "pc": [
- 5804
- ]
- },
- {
- "teal": 5991,
- "source": 1507,
- "pc": [
- 5805,
- 5806,
- 5807
- ]
- },
- {
- "teal": 5995,
- "source": 1509,
- "pc": [
- 5808,
- 5809,
- 5810,
- 5811,
- 5812,
- 5813,
- 5814,
- 5815,
- 5816
- ]
- },
- {
- "teal": 5996,
- "source": 1507,
- "pc": [
- 5817
- ]
- },
- {
- "teal": 6000,
- "source": 1512,
- "pc": [
- 5818,
- 5819,
- 5820
- ]
- },
- {
- "teal": 6003,
- "source": 1512,
- "pc": [
- 5821
- ]
- },
- {
- "teal": 6007,
- "source": 1521,
- "pc": [
- 5822,
- 5823
- ]
- },
- {
- "teal": 6008,
- "source": 1521,
- "pc": [
- 5824,
- 5825
- ]
- },
- {
- "teal": 6012,
- "source": 1522,
- "pc": [
- 5826,
- 5827
- ]
- },
- {
- "teal": 6013,
- "source": 1522,
- "pc": [
- 5828,
- 5829
- ]
- },
- {
- "teal": 6014,
- "source": 1522,
- "pc": [
- 5830,
- 5831
- ]
- },
- {
- "teal": 6015,
- "source": 1522,
- "pc": [
- 5832
- ]
- },
- {
- "teal": 6016,
- "source": 1522,
- "pc": [
- 5833
- ]
- },
- {
- "teal": 6017,
- "source": 1522,
- "pc": [
- 5834,
- 5835
- ]
- },
- {
- "teal": 6021,
- "source": 1523,
- "pc": [
- 5836,
- 5837
- ]
- },
- {
- "teal": 6022,
- "source": 1523,
- "pc": [
- 5838,
- 5839
- ]
- },
- {
- "teal": 6023,
- "source": 1523,
- "pc": [
- 5840,
- 5841
- ]
- },
- {
- "teal": 6024,
- "source": 1523,
- "pc": [
- 5842
- ]
- },
- {
- "teal": 6025,
- "source": 1523,
- "pc": [
- 5843
- ]
- },
- {
- "teal": 6026,
- "source": 1523,
- "pc": [
- 5844,
- 5845
- ]
- },
- {
- "teal": 6030,
- "source": 1524,
- "pc": [
- 5846,
- 5847
- ]
- },
- {
- "teal": 6031,
- "source": 1524,
- "pc": [
- 5848,
- 5849
- ]
- },
- {
- "teal": 6032,
- "source": 1524,
- "pc": [
- 5850,
- 5851
- ]
- },
- {
- "teal": 6033,
- "source": 1524,
- "pc": [
- 5852
- ]
- },
- {
- "teal": 6034,
- "source": 1524,
- "pc": [
- 5853
- ]
- },
- {
- "teal": 6035,
- "source": 1524,
- "pc": [
- 5854,
- 5855
- ]
- },
- {
- "teal": 6039,
- "source": 1525,
- "pc": [
- 5856,
- 5857
- ]
- },
- {
- "teal": 6040,
- "source": 1525,
- "pc": [
- 5858,
- 5859
- ]
- },
- {
- "teal": 6041,
- "source": 1525,
- "pc": [
- 5860,
- 5861
- ]
- },
- {
- "teal": 6042,
- "source": 1525,
- "pc": [
- 5862
- ]
- },
- {
- "teal": 6043,
- "source": 1525,
- "pc": [
- 5863
- ]
- },
- {
- "teal": 6044,
- "source": 1525,
- "pc": [
- 5864,
- 5865
- ]
- },
- {
- "teal": 6048,
- "source": 1526,
- "pc": [
- 5866,
- 5867
- ]
- },
- {
- "teal": 6049,
- "source": 1526,
- "pc": [
- 5868,
- 5869
- ]
- },
- {
- "teal": 6050,
- "source": 1526,
- "pc": [
- 5870,
- 5871
- ]
- },
- {
- "teal": 6051,
- "source": 1526,
- "pc": [
- 5872
- ]
- },
- {
- "teal": 6052,
- "source": 1526,
- "pc": [
- 5873
- ]
- },
- {
- "teal": 6053,
- "source": 1526,
- "pc": [
- 5874,
- 5875
- ]
- },
- {
- "teal": 6057,
- "source": 1527,
- "pc": [
- 5876,
- 5877
- ]
- },
- {
- "teal": 6058,
- "source": 1527,
- "pc": [
- 5878,
- 5879
- ]
- },
- {
- "teal": 6059,
- "source": 1527,
- "pc": [
- 5880,
- 5881
- ]
- },
- {
- "teal": 6060,
- "source": 1527,
- "pc": [
- 5882
- ]
- },
- {
- "teal": 6061,
- "source": 1527,
- "pc": [
- 5883
- ]
- },
- {
- "teal": 6062,
- "source": 1527,
- "pc": [
- 5884,
- 5885
- ]
- },
- {
- "teal": 6066,
- "source": 1528,
- "pc": [
- 5886,
- 5887
- ]
- },
- {
- "teal": 6067,
- "source": 1528,
- "pc": [
- 5888,
- 5889
- ]
- },
- {
- "teal": 6068,
- "source": 1528,
- "pc": [
- 5890,
- 5891
- ]
- },
- {
- "teal": 6069,
- "source": 1528,
- "pc": [
- 5892
- ]
- },
- {
- "teal": 6070,
- "source": 1528,
- "pc": [
- 5893
- ]
- },
- {
- "teal": 6071,
- "source": 1528,
- "pc": [
- 5894,
- 5895
- ]
- },
- {
- "teal": 6075,
- "source": 1529,
- "pc": [
- 5896,
- 5897
- ]
- },
- {
- "teal": 6078,
- "source": 1512,
- "pc": [
- 5898,
- 5899
- ]
- },
- {
- "teal": 6079,
- "source": 1512,
- "pc": [
- 5900
- ]
- },
- {
- "teal": 6083,
- "source": 1532,
- "pc": [
- 5901,
- 5902,
- 5903
- ]
- },
- {
- "teal": 6087,
- "source": 1536,
- "pc": [
- 5904,
- 5905,
- 5906
- ]
- },
- {
- "teal": 6088,
- "source": 1536,
- "pc": [
- 5907,
- 5908
- ]
- },
- {
- "teal": 6089,
- "source": 1536,
- "pc": [
- 5909,
- 5910,
- 5911
- ]
- },
- {
- "teal": 6090,
- "source": 1536,
- "pc": [
- 5912
- ]
- },
- {
- "teal": 6091,
- "source": 1536,
- "pc": [
- 5913
- ]
- },
- {
- "teal": 6092,
- "source": 1532,
- "pc": [
- 5914
- ]
- },
- {
- "teal": 6095,
- "source": 168,
- "pc": [
- 5915,
- 5916,
- 5917,
- 5918,
- 5919,
- 5920
- ]
- },
- {
- "teal": 6096,
- "source": 168,
- "pc": [
- 5921,
- 5922,
- 5923
- ]
- },
- {
- "teal": 6097,
- "source": 168,
- "pc": [
- 5924,
- 5925,
- 5926,
- 5927
- ]
- },
- {
- "teal": 6100,
- "source": 168,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 5928
- ]
- },
- {
- "teal": 6103,
- "source": 168,
- "pc": [
- 5929,
- 5930,
- 5931,
- 5932,
- 5933,
- 5934
- ]
- },
- {
- "teal": 6104,
- "source": 168,
- "pc": [
- 5935,
- 5936,
- 5937,
- 5938,
- 5939,
- 5940
- ]
- },
- {
- "teal": 6105,
- "source": 168,
- "pc": [
- 5941,
- 5942,
- 5943,
- 5944,
- 5945,
- 5946
- ]
- },
- {
- "teal": 6106,
- "source": 168,
- "pc": [
- 5947,
- 5948,
- 5949,
- 5950,
- 5951,
- 5952
- ]
- },
- {
- "teal": 6107,
- "source": 168,
- "pc": [
- 5953,
- 5954,
- 5955,
- 5956,
- 5957,
- 5958
- ]
- },
- {
- "teal": 6108,
- "source": 168,
- "pc": [
- 5959,
- 5960,
- 5961,
- 5962,
- 5963,
- 5964
- ]
- },
- {
- "teal": 6109,
- "source": 168,
- "pc": [
- 5965,
- 5966,
- 5967,
- 5968,
- 5969,
- 5970
- ]
- },
- {
- "teal": 6110,
- "source": 168,
- "pc": [
- 5971,
- 5972,
- 5973,
- 5974,
- 5975,
- 5976
- ]
- },
- {
- "teal": 6111,
- "source": 168,
- "pc": [
- 5977,
- 5978,
- 5979,
- 5980,
- 5981,
- 5982
- ]
- },
- {
- "teal": 6112,
- "source": 168,
- "pc": [
- 5983,
- 5984,
- 5985,
- 5986,
- 5987,
- 5988
- ]
- },
- {
- "teal": 6113,
- "source": 168,
- "pc": [
- 5989,
- 5990,
- 5991,
- 5992,
- 5993,
- 5994
- ]
- },
- {
- "teal": 6114,
- "source": 168,
- "pc": [
- 5995,
- 5996,
- 5997,
- 5998,
- 5999,
- 6000
- ]
- },
- {
- "teal": 6115,
- "source": 168,
- "pc": [
- 6001,
- 6002,
- 6003,
- 6004,
- 6005,
- 6006
- ]
- },
- {
- "teal": 6116,
- "source": 168,
- "pc": [
- 6007,
- 6008,
- 6009,
- 6010,
- 6011,
- 6012
- ]
- },
- {
- "teal": 6117,
- "source": 168,
- "pc": [
- 6013,
- 6014,
- 6015,
- 6016,
- 6017,
- 6018
- ]
- },
- {
- "teal": 6118,
- "source": 168,
- "pc": [
- 6019,
- 6020,
- 6021,
- 6022,
- 6023,
- 6024
- ]
- },
- {
- "teal": 6119,
- "source": 168,
- "pc": [
- 6025,
- 6026,
- 6027,
- 6028,
- 6029,
- 6030
- ]
- },
- {
- "teal": 6120,
- "source": 168,
- "pc": [
- 6031,
- 6032,
- 6033,
- 6034,
- 6035,
- 6036
- ]
- },
- {
- "teal": 6121,
- "source": 168,
- "pc": [
- 6037,
- 6038,
- 6039,
- 6040,
- 6041,
- 6042
- ]
- },
- {
- "teal": 6122,
- "source": 168,
- "pc": [
- 6043,
- 6044,
- 6045,
- 6046,
- 6047,
- 6048
- ]
- },
- {
- "teal": 6123,
- "source": 168,
- "pc": [
- 6049,
- 6050,
- 6051,
- 6052,
- 6053,
- 6054
- ]
- },
- {
- "teal": 6124,
- "source": 168,
- "pc": [
- 6055,
- 6056,
- 6057,
- 6058,
- 6059,
- 6060
- ]
- },
- {
- "teal": 6125,
- "source": 168,
- "pc": [
- 6061,
- 6062,
- 6063,
- 6064,
- 6065,
- 6066
- ]
- },
- {
- "teal": 6126,
- "source": 168,
- "pc": [
- 6067,
- 6068,
- 6069,
- 6070,
- 6071,
- 6072
- ]
- },
- {
- "teal": 6127,
- "source": 168,
- "pc": [
- 6073,
- 6074,
- 6075,
- 6076,
- 6077,
- 6078
- ]
- },
- {
- "teal": 6128,
- "source": 168,
- "pc": [
- 6079,
- 6080,
- 6081,
- 6082,
- 6083,
- 6084
- ]
- },
- {
- "teal": 6129,
- "source": 168,
- "pc": [
- 6085,
- 6086,
- 6087,
- 6088,
- 6089,
- 6090
- ]
- },
- {
- "teal": 6130,
- "source": 168,
- "pc": [
- 6091,
- 6092,
- 6093,
- 6094,
- 6095,
- 6096
- ]
- },
- {
- "teal": 6131,
- "source": 168,
- "pc": [
- 6097,
- 6098,
- 6099,
- 6100,
- 6101,
- 6102
- ]
- },
- {
- "teal": 6132,
- "source": 168,
- "pc": [
- 6103,
- 6104,
- 6105,
- 6106,
- 6107,
- 6108
- ]
- },
- {
- "teal": 6133,
- "source": 168,
- "pc": [
- 6109,
- 6110,
- 6111,
- 6112,
- 6113,
- 6114
- ]
- },
- {
- "teal": 6134,
- "source": 168,
- "pc": [
- 6115,
- 6116,
- 6117,
- 6118,
- 6119,
- 6120
- ]
- },
- {
- "teal": 6135,
- "source": 168,
- "pc": [
- 6121,
- 6122,
- 6123,
- 6124,
- 6125,
- 6126
- ]
- },
- {
- "teal": 6136,
- "source": 168,
- "pc": [
- 6127,
- 6128,
- 6129
- ]
- },
- {
- "teal": 6137,
- "source": 168,
- "pc": [
- 6130,
- 6131,
- 6132,
- 6133,
- 6134,
- 6135,
- 6136,
- 6137,
- 6138,
- 6139,
- 6140,
- 6141,
- 6142,
- 6143,
- 6144,
- 6145,
- 6146,
- 6147,
- 6148,
- 6149,
- 6150,
- 6151,
- 6152,
- 6153,
- 6154,
- 6155,
- 6156,
- 6157,
- 6158,
- 6159,
- 6160,
- 6161,
- 6162,
- 6163,
- 6164,
- 6165,
- 6166,
- 6167,
- 6168,
- 6169,
- 6170,
- 6171,
- 6172,
- 6173,
- 6174,
- 6175,
- 6176,
- 6177,
- 6178,
- 6179,
- 6180,
- 6181,
- 6182,
- 6183,
- 6184,
- 6185,
- 6186,
- 6187,
- 6188,
- 6189,
- 6190,
- 6191,
- 6192,
- 6193,
- 6194,
- 6195,
- 6196,
- 6197
- ]
- },
- {
- "teal": 6140,
- "source": 168,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 6198
- ]
- },
- {
- "teal": 6143,
- "source": 168,
- "pc": [
- 6199,
- 6200,
- 6201,
- 6202,
- 6203,
- 6204
- ]
- },
- {
- "teal": 6144,
- "source": 168,
- "pc": [
- 6205,
- 6206,
- 6207
- ]
- },
- {
- "teal": 6145,
- "source": 168,
- "pc": [
- 6208,
- 6209,
- 6210,
- 6211
- ]
- },
- {
- "teal": 6148,
- "source": 168,
- "errorMessage": "this contract does not implement the given ABI method for call UpdateApplication",
- "pc": [
- 6212
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 168,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 9,
+ "source": 168,
+ "pc": [
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 10,
+ "source": 168,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 11,
+ "source": 168,
+ "pc": [
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 168,
+ "pc": [
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 168,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 20,
+ "source": 168,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 21,
+ "source": 168,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 22,
+ "source": 168,
+ "pc": [
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 168,
+ "pc": [
+ 197
+ ]
+ },
+ {
+ "teal": 24,
+ "source": 168,
+ "pc": [
+ 198,
+ 199,
+ 200,
+ 201,
+ 202,
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211,
+ 212,
+ 213,
+ 214,
+ 215,
+ 216,
+ 217,
+ 218,
+ 219,
+ 220,
+ 221,
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 168,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 224
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 201,
+ "pc": [
+ 225,
+ 226,
+ 227
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 201,
+ "pc": [
+ 228
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 201,
+ "pc": [
+ 229
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 201,
+ "pc": [
+ 230,
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 202,
+ "pc": [
+ 233,
+ 234
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 202,
+ "pc": [
+ 235,
+ 236,
+ 237,
+ 238,
+ 239,
+ 240,
+ 241,
+ 242,
+ 243,
+ 244,
+ 245,
+ 246,
+ 247,
+ 248,
+ 249,
+ 250,
+ 251,
+ 252,
+ 253,
+ 254,
+ 255,
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 263,
+ 264,
+ 265,
+ 266,
+ 267,
+ 268
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 202,
+ "pc": [
+ 269
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 202,
+ "pc": [
+ 270
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 204,
+ "pc": [
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 204,
+ "pc": [
+ 273
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 205,
+ "pc": [
+ 274,
+ 275
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 205,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 205,
+ "pc": [
+ 277,
+ 278
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 205,
+ "pc": [
+ 279
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 205,
+ "pc": [
+ 280,
+ 281
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 205,
+ "pc": [
+ 282
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 205,
+ "pc": [
+ 283
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 201,
+ "pc": [
+ 284
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 208,
+ "pc": [
+ 285,
+ 286,
+ 287
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 208,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 208,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 208,
+ "pc": [
+ 290,
+ 291,
+ 292
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 209,
+ "pc": [
+ 293,
+ 294
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 209,
+ "pc": [
+ 295
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 209,
+ "pc": [
+ 296,
+ 297
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 209,
+ "pc": [
+ 298
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 209,
+ "pc": [
+ 299,
+ 300
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 209,
+ "pc": [
+ 301
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 209,
+ "pc": [
+ 302
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 210,
+ "pc": [
+ 303,
+ 304
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 210,
+ "pc": [
+ 305
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 210,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 211,
+ "pc": [
+ 307,
+ 308
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 211,
+ "pc": [
+ 309
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 211,
+ "pc": [
+ 310
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 212,
+ "pc": [
+ 311,
+ 312
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 212,
+ "pc": [
+ 313
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 212,
+ "pc": [
+ 314
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 208,
+ "pc": [
+ 315
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 215,
+ "pc": [
+ 316,
+ 317,
+ 318
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 215,
+ "pc": [
+ 319
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 215,
+ "pc": [
+ 320,
+ 321,
+ 322
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 215,
+ "pc": [
+ 323
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 215,
+ "pc": [
+ 324
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 215,
+ "pc": [
+ 325,
+ 326,
+ 327
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 217,
+ "pc": [
+ 328,
+ 329
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 217,
+ "pc": [
+ 330,
+ 331
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 217,
+ "pc": [
+ 332
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 217,
+ "pc": [
+ 333
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 215,
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 220,
+ "pc": [
+ 335,
+ 336,
+ 337
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 220,
+ "pc": [
+ 338,
+ 339,
+ 340
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 220,
+ "pc": [
+ 341,
+ 342,
+ 343
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 220,
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 220,
+ "pc": [
+ 345,
+ 346,
+ 347
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 220,
+ "pc": [
+ 348
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 220,
+ "pc": [
+ 349
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 220,
+ "pc": [
+ 350,
+ 351,
+ 352
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 221,
+ "pc": [
+ 353,
+ 354
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 221,
+ "pc": [
+ 355
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 221,
+ "pc": [
+ 356
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 221,
+ "pc": [
+ 357
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 221,
+ "pc": [
+ 358
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 221,
+ "pc": [
+ 359
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 222,
+ "pc": [
+ 360,
+ 361
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 222,
+ "pc": [
+ 362,
+ 363
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 222,
+ "pc": [
+ 364,
+ 365
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 222,
+ "pc": [
+ 366
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 220,
+ "pc": [
+ 367
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 225,
+ "pc": [
+ 368,
+ 369,
+ 370
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 225,
+ "pc": [
+ 371
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 225,
+ "pc": [
+ 372
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 225,
+ "pc": [
+ 373,
+ 374,
+ 375
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 226,
+ "pc": [
+ 376,
+ 377
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 226,
+ "pc": [
+ 378
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 226,
+ "pc": [
+ 379,
+ 380
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 226,
+ "pc": [
+ 381
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 226,
+ "pc": [
+ 382,
+ 383
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 226,
+ "pc": [
+ 384
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 226,
+ "pc": [
+ 385
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 225,
+ "pc": [
+ 386
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 232,
+ "pc": [
+ 387,
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 232,
+ "pc": [
+ 390
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 232,
+ "pc": [
+ 391
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 232,
+ "pc": [
+ 392,
+ 393,
+ 394
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 232,
+ "pc": [
+ 395
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 243,
+ "pc": [
+ 396
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 243,
+ "pc": [
+ 397,
+ 398,
+ 399
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 243,
+ "pc": [
+ 400
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 243,
+ "pc": [
+ 401
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 243,
+ "pc": [
+ 402
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 243,
+ "pc": [
+ 403
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 243,
+ "pc": [
+ 404,
+ 405,
+ 406
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 247,
+ "pc": [
+ 407,
+ 408,
+ 409
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 247,
+ "pc": [
+ 410,
+ 411,
+ 412
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 247,
+ "pc": [
+ 413
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 257,
+ "pc": [
+ 414,
+ 415
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 256,
+ "pc": [
+ 416,
+ 417
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 255,
+ "pc": [
+ 418
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 255,
+ "pc": [
+ 419,
+ 420
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 252,
+ "pc": [
+ 421,
+ 422
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 249,
+ "pc": [
+ 423
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 248,
+ "pc": [
+ 424,
+ 425,
+ 426
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 248,
+ "pc": [
+ 427
+ ]
+ },
+ {
+ "teal": 255,
+ "source": 248,
+ "pc": [
+ 428
+ ]
+ },
+ {
+ "teal": 256,
+ "source": 260,
+ "pc": [
+ 429,
+ 430
+ ]
+ },
+ {
+ "teal": 257,
+ "source": 261,
+ "pc": [
+ 431,
+ 432,
+ 433
+ ]
+ },
+ {
+ "teal": 258,
+ "source": 261,
+ "pc": [
+ 434,
+ 435,
+ 436
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 260,
+ "pc": [
+ 437
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 260,
+ "pc": [
+ 438
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 260,
+ "pc": [
+ 439
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 264,
+ "pc": [
+ 440,
+ 441,
+ 442
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 264,
+ "pc": [
+ 443,
+ 444,
+ 445
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 264,
+ "pc": [
+ 446
+ ]
+ },
+ {
+ "teal": 265,
+ "source": 264,
+ "pc": [
+ 447
+ ]
+ },
+ {
+ "teal": 266,
+ "source": 243,
+ "pc": [
+ 448
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 271,
+ "pc": [
+ 449
+ ]
+ },
+ {
+ "teal": 274,
+ "source": 271,
+ "pc": [
+ 450,
+ 451,
+ 452
+ ]
+ },
+ {
+ "teal": 275,
+ "source": 271,
+ "pc": [
+ 453
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 271,
+ "pc": [
+ 454
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 271,
+ "pc": [
+ 455
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 271,
+ "pc": [
+ 456
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 271,
+ "pc": [
+ 457,
+ 458,
+ 459
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 277,
+ "pc": [
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ 501
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 278,
+ "pc": [
+ 502,
+ 503,
+ 504
+ ]
+ },
+ {
+ "teal": 302,
+ "source": 278,
+ "pc": [
+ 505
+ ]
+ },
+ {
+ "teal": 303,
+ "source": 278,
+ "pc": [
+ 506
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 279,
+ "pc": [
+ 507,
+ 508,
+ 509
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 279,
+ "pc": [
+ 510
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 279,
+ "pc": [
+ 511
+ ]
+ },
+ {
+ "teal": 307,
+ "source": 280,
+ "pc": [
+ 512,
+ 513,
+ 514
+ ]
+ },
+ {
+ "teal": 308,
+ "source": 280,
+ "pc": [
+ 515
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 280,
+ "pc": [
+ 516
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 281,
+ "pc": [
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 281,
+ "pc": [
+ 527
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 282,
+ "pc": [
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536,
+ 537
+ ]
+ },
+ {
+ "teal": 313,
+ "source": 282,
+ "pc": [
+ 538
+ ]
+ },
+ {
+ "teal": 314,
+ "source": 283,
+ "pc": [
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 283,
+ "pc": [
+ 549
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 271,
+ "pc": [
+ 550
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 291,
+ "pc": [
+ 551
+ ]
+ },
+ {
+ "teal": 324,
+ "source": 291,
+ "pc": [
+ 552,
+ 553,
+ 554
+ ]
+ },
+ {
+ "teal": 325,
+ "source": 291,
+ "pc": [
+ 555
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 291,
+ "pc": [
+ 556
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 291,
+ "pc": [
+ 557
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 291,
+ "pc": [
+ 558
+ ]
+ },
+ {
+ "teal": 329,
+ "source": 291,
+ "pc": [
+ 559
+ ]
+ },
+ {
+ "teal": 335,
+ "source": 291,
+ "pc": [
+ 560,
+ 561,
+ 562
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 292,
+ "pc": [
+ 563,
+ 564
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 292,
+ "pc": [
+ 565
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 291,
+ "pc": [
+ 566
+ ]
+ },
+ {
+ "teal": 346,
+ "source": 296,
+ "pc": [
+ 567
+ ]
+ },
+ {
+ "teal": 349,
+ "source": 296,
+ "pc": [
+ 568,
+ 569,
+ 570
+ ]
+ },
+ {
+ "teal": 350,
+ "source": 296,
+ "pc": [
+ 571
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 296,
+ "pc": [
+ 572,
+ 573,
+ 574
+ ]
+ },
+ {
+ "teal": 354,
+ "source": 296,
+ "pc": [
+ 575
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 296,
+ "pc": [
+ 576
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 296,
+ "pc": [
+ 577
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 296,
+ "pc": [
+ 578
+ ]
+ },
+ {
+ "teal": 361,
+ "source": 296,
+ "pc": [
+ 579,
+ 580,
+ 581
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 297,
+ "pc": [
+ 582
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 297,
+ "pc": [
+ 583,
+ 584
+ ]
+ },
+ {
+ "teal": 367,
+ "source": 297,
+ "pc": [
+ 585
+ ]
+ },
+ {
+ "teal": 368,
+ "source": 297,
+ "pc": [
+ 586,
+ 587
+ ]
+ },
+ {
+ "teal": 369,
+ "source": 297,
+ "pc": [
+ 588
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 297,
+ "pc": [
+ 589
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 297,
+ "pc": [
+ 590,
+ 591
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 297,
+ "pc": [
+ 592
+ ]
+ },
+ {
+ "teal": 373,
+ "source": 296,
+ "pc": [
+ 593
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 301,
+ "pc": [
+ 594
+ ]
+ },
+ {
+ "teal": 381,
+ "source": 301,
+ "pc": [
+ 595,
+ 596,
+ 597
+ ]
+ },
+ {
+ "teal": 382,
+ "source": 301,
+ "pc": [
+ 598
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 301,
+ "pc": [
+ 599,
+ 600,
+ 601
+ ]
+ },
+ {
+ "teal": 386,
+ "source": 301,
+ "pc": [
+ 602
+ ]
+ },
+ {
+ "teal": 387,
+ "source": 301,
+ "pc": [
+ 603
+ ]
+ },
+ {
+ "teal": 388,
+ "source": 301,
+ "pc": [
+ 604
+ ]
+ },
+ {
+ "teal": 389,
+ "source": 301,
+ "pc": [
+ 605
+ ]
+ },
+ {
+ "teal": 393,
+ "source": 301,
+ "pc": [
+ 606,
+ 607,
+ 608
+ ]
+ },
+ {
+ "teal": 397,
+ "source": 302,
+ "pc": [
+ 609,
+ 610
+ ]
+ },
+ {
+ "teal": 398,
+ "source": 302,
+ "pc": [
+ 611,
+ 612
+ ]
+ },
+ {
+ "teal": 399,
+ "source": 302,
+ "pc": [
+ 613
+ ]
+ },
+ {
+ "teal": 400,
+ "source": 302,
+ "pc": [
+ 614,
+ 615
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 302,
+ "pc": [
+ 616
+ ]
+ },
+ {
+ "teal": 402,
+ "source": 302,
+ "pc": [
+ 617
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 302,
+ "pc": [
+ 618,
+ 619
+ ]
+ },
+ {
+ "teal": 404,
+ "source": 302,
+ "pc": [
+ 620
+ ]
+ },
+ {
+ "teal": 405,
+ "source": 301,
+ "pc": [
+ 621
+ ]
+ },
+ {
+ "teal": 410,
+ "source": 306,
+ "pc": [
+ 622
+ ]
+ },
+ {
+ "teal": 413,
+ "source": 306,
+ "pc": [
+ 623,
+ 624,
+ 625
+ ]
+ },
+ {
+ "teal": 414,
+ "source": 306,
+ "pc": [
+ 626
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 306,
+ "pc": [
+ 627,
+ 628,
+ 629
+ ]
+ },
+ {
+ "teal": 418,
+ "source": 306,
+ "pc": [
+ 630
+ ]
+ },
+ {
+ "teal": 419,
+ "source": 306,
+ "pc": [
+ 631
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 306,
+ "pc": [
+ 632
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 306,
+ "pc": [
+ 633
+ ]
+ },
+ {
+ "teal": 425,
+ "source": 306,
+ "pc": [
+ 634,
+ 635,
+ 636
+ ]
+ },
+ {
+ "teal": 429,
+ "source": 307,
+ "pc": [
+ 637
+ ]
+ },
+ {
+ "teal": 430,
+ "source": 307,
+ "pc": [
+ 638,
+ 639
+ ]
+ },
+ {
+ "teal": 431,
+ "source": 307,
+ "pc": [
+ 640
+ ]
+ },
+ {
+ "teal": 432,
+ "source": 307,
+ "pc": [
+ 641,
+ 642
+ ]
+ },
+ {
+ "teal": 433,
+ "source": 307,
+ "pc": [
+ 643
+ ]
+ },
+ {
+ "teal": 434,
+ "source": 307,
+ "pc": [
+ 644
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 307,
+ "pc": [
+ 645,
+ 646
+ ]
+ },
+ {
+ "teal": 436,
+ "source": 307,
+ "pc": [
+ 647
+ ]
+ },
+ {
+ "teal": 437,
+ "source": 307,
+ "pc": [
+ 648,
+ 649
+ ]
+ },
+ {
+ "teal": 438,
+ "source": 307,
+ "pc": [
+ 650,
+ 651
+ ]
+ },
+ {
+ "teal": 439,
+ "source": 307,
+ "pc": [
+ 652
+ ]
+ },
+ {
+ "teal": 440,
+ "source": 307,
+ "pc": [
+ 653,
+ 654
+ ]
+ },
+ {
+ "teal": 441,
+ "source": 307,
+ "pc": [
+ 655
+ ]
+ },
+ {
+ "teal": 442,
+ "source": 307,
+ "pc": [
+ 656
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 307,
+ "pc": [
+ 657,
+ 658
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 307,
+ "pc": [
+ 659
+ ]
+ },
+ {
+ "teal": 445,
+ "source": 307,
+ "pc": [
+ 660
+ ]
+ },
+ {
+ "teal": 446,
+ "source": 306,
+ "pc": [
+ 661
+ ]
+ },
+ {
+ "teal": 451,
+ "source": 317,
+ "pc": [
+ 662
+ ]
+ },
+ {
+ "teal": 454,
+ "source": 317,
+ "pc": [
+ 663,
+ 664,
+ 665
+ ]
+ },
+ {
+ "teal": 455,
+ "source": 317,
+ "pc": [
+ 666
+ ]
+ },
+ {
+ "teal": 458,
+ "source": 317,
+ "pc": [
+ 667,
+ 668,
+ 669
+ ]
+ },
+ {
+ "teal": 459,
+ "source": 317,
+ "pc": [
+ 670
+ ]
+ },
+ {
+ "teal": 460,
+ "source": 317,
+ "pc": [
+ 671
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 317,
+ "pc": [
+ 672,
+ 673
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 317,
+ "pc": [
+ 674
+ ]
+ },
+ {
+ "teal": 463,
+ "source": 317,
+ "pc": [
+ 675
+ ]
+ },
+ {
+ "teal": 464,
+ "source": 317,
+ "pc": [
+ 676,
+ 677,
+ 678
+ ]
+ },
+ {
+ "teal": 465,
+ "source": 317,
+ "pc": [
+ 679
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 317,
+ "pc": [
+ 680
+ ]
+ },
+ {
+ "teal": 467,
+ "source": 317,
+ "pc": [
+ 681
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 317,
+ "pc": [
+ 682
+ ]
+ },
+ {
+ "teal": 469,
+ "source": 317,
+ "pc": [
+ 683
+ ]
+ },
+ {
+ "teal": 470,
+ "source": 317,
+ "pc": [
+ 684
+ ]
+ },
+ {
+ "teal": 479,
+ "source": 317,
+ "pc": [
+ 685,
+ 686,
+ 687
+ ]
+ },
+ {
+ "teal": 482,
+ "source": 317,
+ "pc": [
+ 688
+ ]
+ },
+ {
+ "teal": 483,
+ "source": 317,
+ "pc": [
+ 689,
+ 690
+ ]
+ },
+ {
+ "teal": 487,
+ "source": 318,
+ "pc": [
+ 691
+ ]
+ },
+ {
+ "teal": 488,
+ "source": 318,
+ "pc": [
+ 692,
+ 693
+ ]
+ },
+ {
+ "teal": 492,
+ "source": 319,
+ "pc": [
+ 694,
+ 695
+ ]
+ },
+ {
+ "teal": 493,
+ "source": 319,
+ "pc": [
+ 696,
+ 697
+ ]
+ },
+ {
+ "teal": 494,
+ "source": 319,
+ "pc": [
+ 698
+ ]
+ },
+ {
+ "teal": 495,
+ "source": 319,
+ "pc": [
+ 699,
+ 700
+ ]
+ },
+ {
+ "teal": 496,
+ "source": 319,
+ "pc": [
+ 701
+ ]
+ },
+ {
+ "teal": 497,
+ "source": 319,
+ "pc": [
+ 702
+ ]
+ },
+ {
+ "teal": 498,
+ "source": 319,
+ "pc": [
+ 703,
+ 704
+ ]
+ },
+ {
+ "teal": 499,
+ "source": 319,
+ "pc": [
+ 705
+ ]
+ },
+ {
+ "teal": 500,
+ "source": 319,
+ "pc": [
+ 706,
+ 707
+ ]
+ },
+ {
+ "teal": 504,
+ "source": 320,
+ "pc": [
+ 708
+ ]
+ },
+ {
+ "teal": 505,
+ "source": 320,
+ "pc": [
+ 709,
+ 710
+ ]
+ },
+ {
+ "teal": 510,
+ "source": 320,
+ "pc": [
+ 711,
+ 712
+ ]
+ },
+ {
+ "teal": 511,
+ "source": 320,
+ "pc": [
+ 713
+ ]
+ },
+ {
+ "teal": 512,
+ "source": 320,
+ "pc": [
+ 714
+ ]
+ },
+ {
+ "teal": 513,
+ "source": 320,
+ "pc": [
+ 715,
+ 716,
+ 717
+ ]
+ },
+ {
+ "teal": 518,
+ "source": 321,
+ "pc": [
+ 718,
+ 719
+ ]
+ },
+ {
+ "teal": 519,
+ "source": 321,
+ "pc": [
+ 720,
+ 721
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 321,
+ "pc": [
+ 722,
+ 723
+ ]
+ },
+ {
+ "teal": 521,
+ "source": 321,
+ "pc": [
+ 724
+ ]
+ },
+ {
+ "teal": 522,
+ "source": 321,
+ "pc": [
+ 725
+ ]
+ },
+ {
+ "teal": 523,
+ "source": 321,
+ "pc": [
+ 726
+ ]
+ },
+ {
+ "teal": 524,
+ "source": 321,
+ "pc": [
+ 727
+ ]
+ },
+ {
+ "teal": 525,
+ "source": 321,
+ "pc": [
+ 728
+ ]
+ },
+ {
+ "teal": 526,
+ "source": 321,
+ "pc": [
+ 729
+ ]
+ },
+ {
+ "teal": 527,
+ "source": 321,
+ "pc": [
+ 730
+ ]
+ },
+ {
+ "teal": 528,
+ "source": 321,
+ "pc": [
+ 731
+ ]
+ },
+ {
+ "teal": 529,
+ "source": 321,
+ "pc": [
+ 732,
+ 733,
+ 734
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 323,
+ "pc": [
+ 735,
+ 736,
+ 737
+ ]
+ },
+ {
+ "teal": 537,
+ "source": 325,
+ "pc": [
+ 738,
+ 739
+ ]
+ },
+ {
+ "teal": 538,
+ "source": 325,
+ "pc": [
+ 740,
+ 741
+ ]
+ },
+ {
+ "teal": 539,
+ "source": 325,
+ "pc": [
+ 742,
+ 743
+ ]
+ },
+ {
+ "teal": 540,
+ "source": 325,
+ "pc": [
+ 744,
+ 745
+ ]
+ },
+ {
+ "teal": 541,
+ "source": 325,
+ "pc": [
+ 746
+ ]
+ },
+ {
+ "teal": 542,
+ "source": 325,
+ "pc": [
+ 747,
+ 748
+ ]
+ },
+ {
+ "teal": 543,
+ "source": 325,
+ "pc": [
+ 749
+ ]
+ },
+ {
+ "teal": 544,
+ "source": 325,
+ "pc": [
+ 750
+ ]
+ },
+ {
+ "teal": 545,
+ "source": 325,
+ "pc": [
+ 751,
+ 752
+ ]
+ },
+ {
+ "teal": 550,
+ "source": 320,
+ "pc": [
+ 753,
+ 754
+ ]
+ },
+ {
+ "teal": 551,
+ "source": 320,
+ "pc": [
+ 755
+ ]
+ },
+ {
+ "teal": 552,
+ "source": 320,
+ "pc": [
+ 756
+ ]
+ },
+ {
+ "teal": 553,
+ "source": 320,
+ "pc": [
+ 757,
+ 758
+ ]
+ },
+ {
+ "teal": 554,
+ "source": 320,
+ "pc": [
+ 759,
+ 760,
+ 761
+ ]
+ },
+ {
+ "teal": 559,
+ "source": 327,
+ "pc": [
+ 762,
+ 763
+ ]
+ },
+ {
+ "teal": 562,
+ "source": 317,
+ "pc": [
+ 764,
+ 765
+ ]
+ },
+ {
+ "teal": 565,
+ "source": 317,
+ "pc": [
+ 766,
+ 767
+ ]
+ },
+ {
+ "teal": 566,
+ "source": 317,
+ "pc": [
+ 768
+ ]
+ },
+ {
+ "teal": 571,
+ "source": 334,
+ "pc": [
+ 769
+ ]
+ },
+ {
+ "teal": 574,
+ "source": 334,
+ "pc": [
+ 770,
+ 771,
+ 772
+ ]
+ },
+ {
+ "teal": 575,
+ "source": 334,
+ "pc": [
+ 773
+ ]
+ },
+ {
+ "teal": 578,
+ "source": 334,
+ "pc": [
+ 774,
+ 775,
+ 776
+ ]
+ },
+ {
+ "teal": 579,
+ "source": 334,
+ "pc": [
+ 777
+ ]
+ },
+ {
+ "teal": 582,
+ "source": 334,
+ "pc": [
+ 778,
+ 779,
+ 780
+ ]
+ },
+ {
+ "teal": 583,
+ "source": 334,
+ "pc": [
+ 781
+ ]
+ },
+ {
+ "teal": 584,
+ "source": 334,
+ "pc": [
+ 782
+ ]
+ },
+ {
+ "teal": 585,
+ "source": 334,
+ "pc": [
+ 783
+ ]
+ },
+ {
+ "teal": 586,
+ "source": 334,
+ "pc": [
+ 784
+ ]
+ },
+ {
+ "teal": 587,
+ "source": 334,
+ "pc": [
+ 785
+ ]
+ },
+ {
+ "teal": 591,
+ "source": 334,
+ "pc": [
+ 786,
+ 787,
+ 788
+ ]
+ },
+ {
+ "teal": 598,
+ "source": 336,
+ "pc": [
+ 789,
+ 790
+ ]
+ },
+ {
+ "teal": 599,
+ "source": 336,
+ "pc": [
+ 791
+ ]
+ },
+ {
+ "teal": 600,
+ "source": 336,
+ "pc": [
+ 792
+ ]
+ },
+ {
+ "teal": 601,
+ "source": 336,
+ "pc": [
+ 793
+ ]
+ },
+ {
+ "teal": 602,
+ "source": 336,
+ "pc": [
+ 794,
+ 795,
+ 796
+ ]
+ },
+ {
+ "teal": 603,
+ "source": 336,
+ "pc": [
+ 797,
+ 798
+ ]
+ },
+ {
+ "teal": 604,
+ "source": 336,
+ "pc": [
+ 799
+ ]
+ },
+ {
+ "teal": 605,
+ "source": 336,
+ "pc": [
+ 800
+ ]
+ },
+ {
+ "teal": 606,
+ "source": 336,
+ "pc": [
+ 801
+ ]
+ },
+ {
+ "teal": 610,
+ "source": 335,
+ "errorMessage": "pool id must be between 1 and number of pools for this validator",
+ "pc": [
+ 802
+ ]
+ },
+ {
+ "teal": 614,
+ "source": 339,
+ "pc": [
+ 803,
+ 804
+ ]
+ },
+ {
+ "teal": 615,
+ "source": 339,
+ "pc": [
+ 805,
+ 806
+ ]
+ },
+ {
+ "teal": 616,
+ "source": 339,
+ "pc": [
+ 807
+ ]
+ },
+ {
+ "teal": 617,
+ "source": 339,
+ "pc": [
+ 808
+ ]
+ },
+ {
+ "teal": 618,
+ "source": 339,
+ "pc": [
+ 809,
+ 810
+ ]
+ },
+ {
+ "teal": 619,
+ "source": 339,
+ "pc": [
+ 811
+ ]
+ },
+ {
+ "teal": 620,
+ "source": 339,
+ "pc": [
+ 812
+ ]
+ },
+ {
+ "teal": 621,
+ "source": 339,
+ "pc": [
+ 813
+ ]
+ },
+ {
+ "teal": 622,
+ "source": 339,
+ "pc": [
+ 814
+ ]
+ },
+ {
+ "teal": 623,
+ "source": 339,
+ "pc": [
+ 815
+ ]
+ },
+ {
+ "teal": 624,
+ "source": 339,
+ "pc": [
+ 816
+ ]
+ },
+ {
+ "teal": 625,
+ "source": 339,
+ "pc": [
+ 817,
+ 818
+ ]
+ },
+ {
+ "teal": 626,
+ "source": 339,
+ "pc": [
+ 819
+ ]
+ },
+ {
+ "teal": 627,
+ "source": 339,
+ "pc": [
+ 820
+ ]
+ },
+ {
+ "teal": 628,
+ "source": 339,
+ "pc": [
+ 821,
+ 822
+ ]
+ },
+ {
+ "teal": 629,
+ "source": 339,
+ "pc": [
+ 823
+ ]
+ },
+ {
+ "teal": 630,
+ "source": 339,
+ "pc": [
+ 824
+ ]
+ },
+ {
+ "teal": 631,
+ "source": 334,
+ "pc": [
+ 825
+ ]
+ },
+ {
+ "teal": 636,
+ "source": 343,
+ "pc": [
+ 826
+ ]
+ },
+ {
+ "teal": 639,
+ "source": 343,
+ "pc": [
+ 827,
+ 828,
+ 829
+ ]
+ },
+ {
+ "teal": 640,
+ "source": 343,
+ "pc": [
+ 830
+ ]
+ },
+ {
+ "teal": 641,
+ "source": 343,
+ "pc": [
+ 831
+ ]
+ },
+ {
+ "teal": 642,
+ "source": 343,
+ "pc": [
+ 832
+ ]
+ },
+ {
+ "teal": 643,
+ "source": 343,
+ "pc": [
+ 833
+ ]
+ },
+ {
+ "teal": 646,
+ "source": 343,
+ "errorMessage": "argument 0 (poolKey) for getPoolInfo must be a (uint64,uint64,uint64)",
+ "pc": [
+ 834
+ ]
+ },
+ {
+ "teal": 649,
+ "source": 343,
+ "pc": [
+ 835,
+ 836,
+ 837
+ ]
+ },
+ {
+ "teal": 650,
+ "source": 343,
+ "pc": [
+ 838
+ ]
+ },
+ {
+ "teal": 651,
+ "source": 343,
+ "pc": [
+ 839
+ ]
+ },
+ {
+ "teal": 652,
+ "source": 343,
+ "pc": [
+ 840
+ ]
+ },
+ {
+ "teal": 653,
+ "source": 343,
+ "pc": [
+ 841
+ ]
+ },
+ {
+ "teal": 657,
+ "source": 343,
+ "pc": [
+ 842,
+ 843,
+ 844
+ ]
+ },
+ {
+ "teal": 661,
+ "source": 344,
+ "pc": [
+ 845,
+ 846
+ ]
+ },
+ {
+ "teal": 662,
+ "source": 344,
+ "pc": [
+ 847,
+ 848
+ ]
+ },
+ {
+ "teal": 663,
+ "source": 344,
+ "pc": [
+ 849,
+ 850,
+ 851
+ ]
+ },
+ {
+ "teal": 664,
+ "source": 344,
+ "pc": [
+ 852
+ ]
+ },
+ {
+ "teal": 665,
+ "source": 344,
+ "pc": [
+ 853
+ ]
+ },
+ {
+ "teal": 666,
+ "source": 344,
+ "pc": [
+ 854
+ ]
+ },
+ {
+ "teal": 667,
+ "source": 344,
+ "pc": [
+ 855,
+ 856
+ ]
+ },
+ {
+ "teal": 668,
+ "source": 344,
+ "pc": [
+ 857
+ ]
+ },
+ {
+ "teal": 669,
+ "source": 344,
+ "pc": [
+ 858
+ ]
+ },
+ {
+ "teal": 670,
+ "source": 344,
+ "pc": [
+ 859,
+ 860
+ ]
+ },
+ {
+ "teal": 671,
+ "source": 344,
+ "pc": [
+ 861
+ ]
+ },
+ {
+ "teal": 672,
+ "source": 344,
+ "pc": [
+ 862,
+ 863
+ ]
+ },
+ {
+ "teal": 673,
+ "source": 344,
+ "pc": [
+ 864,
+ 865,
+ 866
+ ]
+ },
+ {
+ "teal": 674,
+ "source": 344,
+ "pc": [
+ 867
+ ]
+ },
+ {
+ "teal": 675,
+ "source": 344,
+ "pc": [
+ 868
+ ]
+ },
+ {
+ "teal": 676,
+ "source": 344,
+ "pc": [
+ 869
+ ]
+ },
+ {
+ "teal": 677,
+ "source": 344,
+ "pc": [
+ 870,
+ 871
+ ]
+ },
+ {
+ "teal": 678,
+ "source": 344,
+ "pc": [
+ 872
+ ]
+ },
+ {
+ "teal": 679,
+ "source": 343,
+ "pc": [
+ 873
+ ]
+ },
+ {
+ "teal": 684,
+ "source": 354,
+ "pc": [
+ 874
+ ]
+ },
+ {
+ "teal": 687,
+ "source": 354,
+ "pc": [
+ 875,
+ 876,
+ 877
+ ]
+ },
+ {
+ "teal": 688,
+ "source": 354,
+ "pc": [
+ 878
+ ]
+ },
+ {
+ "teal": 691,
+ "source": 354,
+ "pc": [
+ 879,
+ 880,
+ 881
+ ]
+ },
+ {
+ "teal": 692,
+ "source": 354,
+ "pc": [
+ 882
+ ]
+ },
+ {
+ "teal": 693,
+ "source": 354,
+ "pc": [
+ 883
+ ]
+ },
+ {
+ "teal": 694,
+ "source": 354,
+ "pc": [
+ 884
+ ]
+ },
+ {
+ "teal": 695,
+ "source": 354,
+ "pc": [
+ 885
+ ]
+ },
+ {
+ "teal": 696,
+ "source": 354,
+ "pc": [
+ 886
+ ]
+ },
+ {
+ "teal": 706,
+ "source": 354,
+ "pc": [
+ 887,
+ 888,
+ 889
+ ]
+ },
+ {
+ "teal": 709,
+ "source": 354,
+ "pc": [
+ 890
+ ]
+ },
+ {
+ "teal": 710,
+ "source": 354,
+ "pc": [
+ 891,
+ 892
+ ]
+ },
+ {
+ "teal": 714,
+ "source": 355,
+ "pc": [
+ 893,
+ 894
+ ]
+ },
+ {
+ "teal": 715,
+ "source": 355,
+ "pc": [
+ 895,
+ 896
+ ]
+ },
+ {
+ "teal": 716,
+ "source": 355,
+ "pc": [
+ 897
+ ]
+ },
+ {
+ "teal": 717,
+ "source": 355,
+ "pc": [
+ 898,
+ 899
+ ]
+ },
+ {
+ "teal": 718,
+ "source": 355,
+ "pc": [
+ 900
+ ]
+ },
+ {
+ "teal": 719,
+ "source": 355,
+ "pc": [
+ 901
+ ]
+ },
+ {
+ "teal": 720,
+ "source": 355,
+ "pc": [
+ 902,
+ 903
+ ]
+ },
+ {
+ "teal": 721,
+ "source": 355,
+ "pc": [
+ 904
+ ]
+ },
+ {
+ "teal": 722,
+ "source": 355,
+ "pc": [
+ 905
+ ]
+ },
+ {
+ "teal": 723,
+ "source": 355,
+ "pc": [
+ 906,
+ 907
+ ]
+ },
+ {
+ "teal": 727,
+ "source": 356,
+ "pc": [
+ 908,
+ 909,
+ 910
+ ]
+ },
+ {
+ "teal": 728,
+ "source": 356,
+ "pc": [
+ 911,
+ 912
+ ]
+ },
+ {
+ "teal": 729,
+ "source": 356,
+ "pc": [
+ 913
+ ]
+ },
+ {
+ "teal": 730,
+ "source": 356,
+ "pc": [
+ 914,
+ 915
+ ]
+ },
+ {
+ "teal": 734,
+ "source": 357,
+ "pc": [
+ 916,
+ 917,
+ 918
+ ]
+ },
+ {
+ "teal": 735,
+ "source": 357,
+ "pc": [
+ 919
+ ]
+ },
+ {
+ "teal": 736,
+ "source": 357,
+ "pc": [
+ 920
+ ]
+ },
+ {
+ "teal": 737,
+ "source": 357,
+ "pc": [
+ 921,
+ 922
+ ]
+ },
+ {
+ "teal": 738,
+ "source": 357,
+ "pc": [
+ 923
+ ]
+ },
+ {
+ "teal": 739,
+ "source": 357,
+ "pc": [
+ 924
+ ]
+ },
+ {
+ "teal": 740,
+ "source": 357,
+ "pc": [
+ 925,
+ 926
+ ]
+ },
+ {
+ "teal": 741,
+ "source": 357,
+ "pc": [
+ 927
+ ]
+ },
+ {
+ "teal": 742,
+ "source": 357,
+ "pc": [
+ 928
+ ]
+ },
+ {
+ "teal": 743,
+ "source": 357,
+ "pc": [
+ 929,
+ 930
+ ]
+ },
+ {
+ "teal": 748,
+ "source": 358,
+ "pc": [
+ 931,
+ 932
+ ]
+ },
+ {
+ "teal": 749,
+ "source": 358,
+ "pc": [
+ 933
+ ]
+ },
+ {
+ "teal": 750,
+ "source": 358,
+ "pc": [
+ 934
+ ]
+ },
+ {
+ "teal": 751,
+ "source": 358,
+ "pc": [
+ 935,
+ 936,
+ 937
+ ]
+ },
+ {
+ "teal": 756,
+ "source": 359,
+ "pc": [
+ 938,
+ 939,
+ 940
+ ]
+ },
+ {
+ "teal": 757,
+ "source": 359,
+ "pc": [
+ 941,
+ 942
+ ]
+ },
+ {
+ "teal": 763,
+ "source": 361,
+ "pc": [
+ 943,
+ 944
+ ]
+ },
+ {
+ "teal": 764,
+ "source": 361,
+ "pc": [
+ 945,
+ 946
+ ]
+ },
+ {
+ "teal": 765,
+ "source": 361,
+ "pc": [
+ 947
+ ]
+ },
+ {
+ "teal": 766,
+ "source": 361,
+ "pc": [
+ 948,
+ 949,
+ 950
+ ]
+ },
+ {
+ "teal": 771,
+ "source": 362,
+ "pc": [
+ 951,
+ 952
+ ]
+ },
+ {
+ "teal": 772,
+ "source": 362,
+ "pc": [
+ 953,
+ 954
+ ]
+ },
+ {
+ "teal": 777,
+ "source": 364,
+ "pc": [
+ 955,
+ 956
+ ]
+ },
+ {
+ "teal": 780,
+ "source": 354,
+ "pc": [
+ 957,
+ 958
+ ]
+ },
+ {
+ "teal": 783,
+ "source": 354,
+ "pc": [
+ 959,
+ 960
+ ]
+ },
+ {
+ "teal": 784,
+ "source": 354,
+ "pc": [
+ 961
+ ]
+ },
+ {
+ "teal": 789,
+ "source": 372,
+ "pc": [
+ 962
+ ]
+ },
+ {
+ "teal": 792,
+ "source": 372,
+ "pc": [
+ 963,
+ 964,
+ 965
+ ]
+ },
+ {
+ "teal": 793,
+ "source": 372,
+ "pc": [
+ 966
+ ]
+ },
+ {
+ "teal": 794,
+ "source": 372,
+ "pc": [
+ 967
+ ]
+ },
+ {
+ "teal": 795,
+ "source": 372,
+ "pc": [
+ 968,
+ 969
+ ]
+ },
+ {
+ "teal": 796,
+ "source": 372,
+ "pc": [
+ 970
+ ]
+ },
+ {
+ "teal": 799,
+ "source": 372,
+ "errorMessage": "argument 0 (staker) for doesStakerNeedToPayMBR must be a address",
+ "pc": [
+ 971
+ ]
+ },
+ {
+ "teal": 802,
+ "source": 372,
+ "pc": [
+ 972,
+ 973,
+ 974
+ ]
+ },
+ {
+ "teal": 803,
+ "source": 372,
+ "pc": [
+ 975,
+ 976
+ ]
+ },
+ {
+ "teal": 804,
+ "source": 372,
+ "pc": [
+ 977
+ ]
+ },
+ {
+ "teal": 805,
+ "source": 372,
+ "pc": [
+ 978,
+ 979
+ ]
+ },
+ {
+ "teal": 806,
+ "source": 372,
+ "pc": [
+ 980
+ ]
+ },
+ {
+ "teal": 807,
+ "source": 372,
+ "pc": [
+ 981
+ ]
+ },
+ {
+ "teal": 808,
+ "source": 372,
+ "pc": [
+ 982
+ ]
+ },
+ {
+ "teal": 809,
+ "source": 372,
+ "pc": [
+ 983
+ ]
+ },
+ {
+ "teal": 810,
+ "source": 372,
+ "pc": [
+ 984
+ ]
+ },
+ {
+ "teal": 817,
+ "source": 372,
+ "pc": [
+ 985,
+ 986,
+ 987
+ ]
+ },
+ {
+ "teal": 821,
+ "source": 373,
+ "pc": [
+ 988
+ ]
+ },
+ {
+ "teal": 822,
+ "source": 373,
+ "pc": [
+ 989,
+ 990
+ ]
+ },
+ {
+ "teal": 823,
+ "source": 373,
+ "pc": [
+ 991
+ ]
+ },
+ {
+ "teal": 824,
+ "source": 373,
+ "pc": [
+ 992
+ ]
+ },
+ {
+ "teal": 825,
+ "source": 373,
+ "pc": [
+ 993
+ ]
+ },
+ {
+ "teal": 826,
+ "source": 373,
+ "pc": [
+ 994
+ ]
+ },
+ {
+ "teal": 827,
+ "source": 373,
+ "pc": [
+ 995
+ ]
+ },
+ {
+ "teal": 828,
+ "source": 372,
+ "pc": [
+ 996
+ ]
+ },
+ {
+ "teal": 833,
+ "source": 382,
+ "pc": [
+ 997
+ ]
+ },
+ {
+ "teal": 836,
+ "source": 382,
+ "pc": [
+ 998,
+ 999,
+ 1000
+ ]
+ },
+ {
+ "teal": 837,
+ "source": 382,
+ "pc": [
+ 1001
+ ]
+ },
+ {
+ "teal": 838,
+ "source": 382,
+ "pc": [
+ 1002
+ ]
+ },
+ {
+ "teal": 839,
+ "source": 382,
+ "pc": [
+ 1003,
+ 1004
+ ]
+ },
+ {
+ "teal": 840,
+ "source": 382,
+ "pc": [
+ 1005
+ ]
+ },
+ {
+ "teal": 843,
+ "source": 382,
+ "errorMessage": "argument 0 (staker) for getStakedPoolsForAccount must be a address",
+ "pc": [
+ 1006
+ ]
+ },
+ {
+ "teal": 846,
+ "source": 382,
+ "pc": [
+ 1007,
+ 1008,
+ 1009
+ ]
+ },
+ {
+ "teal": 847,
+ "source": 382,
+ "pc": [
+ 1010
+ ]
+ },
+ {
+ "teal": 848,
+ "source": 382,
+ "pc": [
+ 1011
+ ]
+ },
+ {
+ "teal": 849,
+ "source": 382,
+ "pc": [
+ 1012
+ ]
+ },
+ {
+ "teal": 850,
+ "source": 382,
+ "pc": [
+ 1013
+ ]
+ },
+ {
+ "teal": 851,
+ "source": 382,
+ "pc": [
+ 1014
+ ]
+ },
+ {
+ "teal": 852,
+ "source": 382,
+ "pc": [
+ 1015,
+ 1016,
+ 1017
+ ]
+ },
+ {
+ "teal": 853,
+ "source": 382,
+ "pc": [
+ 1018
+ ]
+ },
+ {
+ "teal": 854,
+ "source": 382,
+ "pc": [
+ 1019
+ ]
+ },
+ {
+ "teal": 855,
+ "source": 382,
+ "pc": [
+ 1020
+ ]
+ },
+ {
+ "teal": 856,
+ "source": 382,
+ "pc": [
+ 1021
+ ]
+ },
+ {
+ "teal": 857,
+ "source": 382,
+ "pc": [
+ 1022
+ ]
+ },
+ {
+ "teal": 858,
+ "source": 382,
+ "pc": [
+ 1023
+ ]
+ },
+ {
+ "teal": 867,
+ "source": 382,
+ "pc": [
+ 1024,
+ 1025,
+ 1026
+ ]
+ },
+ {
+ "teal": 870,
+ "source": 382,
+ "pc": [
+ 1027
+ ]
+ },
+ {
+ "teal": 871,
+ "source": 382,
+ "pc": [
+ 1028,
+ 1029
+ ]
+ },
+ {
+ "teal": 876,
+ "source": 383,
+ "pc": [
+ 1030
+ ]
+ },
+ {
+ "teal": 877,
+ "source": 383,
+ "pc": [
+ 1031,
+ 1032
+ ]
+ },
+ {
+ "teal": 878,
+ "source": 383,
+ "pc": [
+ 1033
+ ]
+ },
+ {
+ "teal": 879,
+ "source": 383,
+ "pc": [
+ 1034
+ ]
+ },
+ {
+ "teal": 880,
+ "source": 383,
+ "pc": [
+ 1035
+ ]
+ },
+ {
+ "teal": 881,
+ "source": 383,
+ "pc": [
+ 1036
+ ]
+ },
+ {
+ "teal": 882,
+ "source": 383,
+ "pc": [
+ 1037
+ ]
+ },
+ {
+ "teal": 883,
+ "source": 383,
+ "pc": [
+ 1038,
+ 1039,
+ 1040
+ ]
+ },
+ {
+ "teal": 888,
+ "source": 384,
+ "pc": [
+ 1041
+ ]
+ },
+ {
+ "teal": 889,
+ "source": 384,
+ "pc": [
+ 1042,
+ 1043,
+ 1044
+ ]
+ },
+ {
+ "teal": 894,
+ "source": 386,
+ "pc": [
+ 1045
+ ]
+ },
+ {
+ "teal": 895,
+ "source": 386,
+ "pc": [
+ 1046,
+ 1047
+ ]
+ },
+ {
+ "teal": 899,
+ "source": 387,
+ "pc": [
+ 1048
+ ]
+ },
+ {
+ "teal": 900,
+ "source": 387,
+ "pc": [
+ 1049,
+ 1050
+ ]
+ },
+ {
+ "teal": 901,
+ "source": 387,
+ "pc": [
+ 1051
+ ]
+ },
+ {
+ "teal": 902,
+ "source": 387,
+ "pc": [
+ 1052
+ ]
+ },
+ {
+ "teal": 905,
+ "source": 387,
+ "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value",
+ "pc": [
+ 1053
+ ]
+ },
+ {
+ "teal": 906,
+ "source": 387,
+ "pc": [
+ 1054,
+ 1055
+ ]
+ },
+ {
+ "teal": 910,
+ "source": 388,
+ "pc": [
+ 1056
+ ]
+ },
+ {
+ "teal": 911,
+ "source": 388,
+ "pc": [
+ 1057,
+ 1058
+ ]
+ },
+ {
+ "teal": 916,
+ "source": 388,
+ "pc": [
+ 1059,
+ 1060
+ ]
+ },
+ {
+ "teal": 917,
+ "source": 388,
+ "pc": [
+ 1061,
+ 1062
+ ]
+ },
+ {
+ "teal": 918,
+ "source": 388,
+ "pc": [
+ 1063
+ ]
+ },
+ {
+ "teal": 919,
+ "source": 388,
+ "pc": [
+ 1064,
+ 1065,
+ 1066
+ ]
+ },
+ {
+ "teal": 924,
+ "source": 389,
+ "pc": [
+ 1067,
+ 1068
+ ]
+ },
+ {
+ "teal": 925,
+ "source": 389,
+ "pc": [
+ 1069,
+ 1070
+ ]
+ },
+ {
+ "teal": 926,
+ "source": 389,
+ "pc": [
+ 1071
+ ]
+ },
+ {
+ "teal": 927,
+ "source": 389,
+ "pc": [
+ 1072
+ ]
+ },
+ {
+ "teal": 928,
+ "source": 389,
+ "pc": [
+ 1073
+ ]
+ },
+ {
+ "teal": 929,
+ "source": 389,
+ "pc": [
+ 1074
+ ]
+ },
+ {
+ "teal": 930,
+ "source": 389,
+ "pc": [
+ 1075
+ ]
+ },
+ {
+ "teal": 931,
+ "source": 389,
+ "pc": [
+ 1076
+ ]
+ },
+ {
+ "teal": 932,
+ "source": 389,
+ "pc": [
+ 1077
+ ]
+ },
+ {
+ "teal": 933,
+ "source": 389,
+ "pc": [
+ 1078
+ ]
+ },
+ {
+ "teal": 934,
+ "source": 389,
+ "pc": [
+ 1079
+ ]
+ },
+ {
+ "teal": 935,
+ "source": 389,
+ "pc": [
+ 1080,
+ 1081,
+ 1082
+ ]
+ },
+ {
+ "teal": 940,
+ "source": 390,
+ "pc": [
+ 1083,
+ 1084
+ ]
+ },
+ {
+ "teal": 941,
+ "source": 390,
+ "pc": [
+ 1085,
+ 1086
+ ]
+ },
+ {
+ "teal": 942,
+ "source": 390,
+ "pc": [
+ 1087,
+ 1088
+ ]
+ },
+ {
+ "teal": 943,
+ "source": 390,
+ "pc": [
+ 1089
+ ]
+ },
+ {
+ "teal": 944,
+ "source": 390,
+ "pc": [
+ 1090
+ ]
+ },
+ {
+ "teal": 945,
+ "source": 390,
+ "pc": [
+ 1091
+ ]
+ },
+ {
+ "teal": 946,
+ "source": 390,
+ "pc": [
+ 1092
+ ]
+ },
+ {
+ "teal": 947,
+ "source": 390,
+ "pc": [
+ 1093
+ ]
+ },
+ {
+ "teal": 948,
+ "source": 390,
+ "pc": [
+ 1094,
+ 1095
+ ]
+ },
+ {
+ "teal": 955,
+ "source": 388,
+ "pc": [
+ 1096,
+ 1097
+ ]
+ },
+ {
+ "teal": 956,
+ "source": 388,
+ "pc": [
+ 1098
+ ]
+ },
+ {
+ "teal": 957,
+ "source": 388,
+ "pc": [
+ 1099
+ ]
+ },
+ {
+ "teal": 958,
+ "source": 388,
+ "pc": [
+ 1100,
+ 1101
+ ]
+ },
+ {
+ "teal": 959,
+ "source": 388,
+ "pc": [
+ 1102,
+ 1103,
+ 1104
+ ]
+ },
+ {
+ "teal": 964,
+ "source": 393,
+ "pc": [
+ 1105,
+ 1106
+ ]
+ },
+ {
+ "teal": 968,
+ "source": 382,
+ "pc": [
+ 1107,
+ 1108
+ ]
+ },
+ {
+ "teal": 971,
+ "source": 382,
+ "pc": [
+ 1109,
+ 1110
+ ]
+ },
+ {
+ "teal": 972,
+ "source": 382,
+ "pc": [
+ 1111
+ ]
+ },
+ {
+ "teal": 977,
+ "source": 404,
+ "pc": [
+ 1112
+ ]
+ },
+ {
+ "teal": 980,
+ "source": 404,
+ "pc": [
+ 1113,
+ 1114,
+ 1115
+ ]
+ },
+ {
+ "teal": 981,
+ "source": 404,
+ "pc": [
+ 1116
+ ]
+ },
+ {
+ "teal": 984,
+ "source": 404,
+ "pc": [
+ 1117,
+ 1118,
+ 1119
+ ]
+ },
+ {
+ "teal": 985,
+ "source": 404,
+ "pc": [
+ 1120
+ ]
+ },
+ {
+ "teal": 986,
+ "source": 404,
+ "pc": [
+ 1121
+ ]
+ },
+ {
+ "teal": 987,
+ "source": 404,
+ "pc": [
+ 1122
+ ]
+ },
+ {
+ "teal": 988,
+ "source": 404,
+ "pc": [
+ 1123
+ ]
+ },
+ {
+ "teal": 998,
+ "source": 404,
+ "pc": [
+ 1124,
+ 1125,
+ 1126
+ ]
+ },
+ {
+ "teal": 1002,
+ "source": 405,
+ "pc": [
+ 1127,
+ 1128
+ ]
+ },
+ {
+ "teal": 1003,
+ "source": 405,
+ "pc": [
+ 1129,
+ 1130
+ ]
+ },
+ {
+ "teal": 1004,
+ "source": 405,
+ "pc": [
+ 1131
+ ]
+ },
+ {
+ "teal": 1005,
+ "source": 405,
+ "pc": [
+ 1132,
+ 1133
+ ]
+ },
+ {
+ "teal": 1006,
+ "source": 405,
+ "pc": [
+ 1134
+ ]
+ },
+ {
+ "teal": 1007,
+ "source": 405,
+ "pc": [
+ 1135
+ ]
+ },
+ {
+ "teal": 1008,
+ "source": 405,
+ "pc": [
+ 1136,
+ 1137
+ ]
+ },
+ {
+ "teal": 1009,
+ "source": 405,
+ "pc": [
+ 1138
+ ]
+ },
+ {
+ "teal": 1010,
+ "source": 404,
+ "pc": [
+ 1139
+ ]
+ },
+ {
+ "teal": 1015,
+ "source": 409,
+ "pc": [
+ 1140
+ ]
+ },
+ {
+ "teal": 1018,
+ "source": 409,
+ "pc": [
+ 1141,
+ 1142,
+ 1143
+ ]
+ },
+ {
+ "teal": 1019,
+ "source": 409,
+ "pc": [
+ 1144
+ ]
+ },
+ {
+ "teal": 1022,
+ "source": 409,
+ "pc": [
+ 1145,
+ 1146,
+ 1147
+ ]
+ },
+ {
+ "teal": 1023,
+ "source": 409,
+ "pc": [
+ 1148
+ ]
+ },
+ {
+ "teal": 1024,
+ "source": 409,
+ "pc": [
+ 1149
+ ]
+ },
+ {
+ "teal": 1025,
+ "source": 409,
+ "pc": [
+ 1150
+ ]
+ },
+ {
+ "teal": 1026,
+ "source": 409,
+ "pc": [
+ 1151
+ ]
+ },
+ {
+ "teal": 1030,
+ "source": 409,
+ "pc": [
+ 1152,
+ 1153,
+ 1154
+ ]
+ },
+ {
+ "teal": 1034,
+ "source": 410,
+ "pc": [
+ 1155
+ ]
+ },
+ {
+ "teal": 1035,
+ "source": 410,
+ "pc": [
+ 1156,
+ 1157
+ ]
+ },
+ {
+ "teal": 1036,
+ "source": 410,
+ "pc": [
+ 1158
+ ]
+ },
+ {
+ "teal": 1037,
+ "source": 410,
+ "pc": [
+ 1159
+ ]
+ },
+ {
+ "teal": 1038,
+ "source": 410,
+ "pc": [
+ 1160
+ ]
+ },
+ {
+ "teal": 1039,
+ "source": 410,
+ "pc": [
+ 1161
+ ]
+ },
+ {
+ "teal": 1040,
+ "source": 410,
+ "pc": [
+ 1162
+ ]
+ },
+ {
+ "teal": 1043,
+ "source": 410,
+ "errorMessage": "the specified validator id doesn't exist",
+ "pc": [
+ 1163
+ ]
+ },
+ {
+ "teal": 1047,
+ "source": 412,
+ "pc": [
+ 1164,
+ 1165
+ ]
+ },
+ {
+ "teal": 1048,
+ "source": 412,
+ "pc": [
+ 1166,
+ 1167
+ ]
+ },
+ {
+ "teal": 1049,
+ "source": 412,
+ "pc": [
+ 1168
+ ]
+ },
+ {
+ "teal": 1050,
+ "source": 412,
+ "pc": [
+ 1169,
+ 1170
+ ]
+ },
+ {
+ "teal": 1051,
+ "source": 412,
+ "pc": [
+ 1171
+ ]
+ },
+ {
+ "teal": 1052,
+ "source": 412,
+ "pc": [
+ 1172
+ ]
+ },
+ {
+ "teal": 1053,
+ "source": 412,
+ "pc": [
+ 1173,
+ 1174
+ ]
+ },
+ {
+ "teal": 1054,
+ "source": 412,
+ "pc": [
+ 1175
+ ]
+ },
+ {
+ "teal": 1055,
+ "source": 409,
+ "pc": [
+ 1176
+ ]
+ },
+ {
+ "teal": 1060,
+ "source": 415,
+ "pc": [
+ 1177
+ ]
+ },
+ {
+ "teal": 1063,
+ "source": 415,
+ "pc": [
+ 1178,
+ 1179,
+ 1180
+ ]
+ },
+ {
+ "teal": 1064,
+ "source": 415,
+ "pc": [
+ 1181
+ ]
+ },
+ {
+ "teal": 1065,
+ "source": 415,
+ "pc": [
+ 1182
+ ]
+ },
+ {
+ "teal": 1066,
+ "source": 415,
+ "pc": [
+ 1183
+ ]
+ },
+ {
+ "teal": 1067,
+ "source": 415,
+ "pc": [
+ 1184
+ ]
+ },
+ {
+ "teal": 1068,
+ "source": 415,
+ "pc": [
+ 1185
+ ]
+ },
+ {
+ "teal": 1072,
+ "source": 415,
+ "pc": [
+ 1186,
+ 1187,
+ 1188
+ ]
+ },
+ {
+ "teal": 1076,
+ "source": 416,
+ "pc": [
+ 1189,
+ 1190
+ ]
+ },
+ {
+ "teal": 1077,
+ "source": 415,
+ "pc": [
+ 1191
+ ]
+ },
+ {
+ "teal": 1082,
+ "source": 427,
+ "pc": [
+ 1192
+ ]
+ },
+ {
+ "teal": 1085,
+ "source": 427,
+ "pc": [
+ 1193,
+ 1194,
+ 1195
+ ]
+ },
+ {
+ "teal": 1086,
+ "source": 427,
+ "pc": [
+ 1196
+ ]
+ },
+ {
+ "teal": 1087,
+ "source": 427,
+ "pc": [
+ 1197
+ ]
+ },
+ {
+ "teal": 1088,
+ "source": 427,
+ "pc": [
+ 1198,
+ 1199
+ ]
+ },
+ {
+ "teal": 1089,
+ "source": 427,
+ "pc": [
+ 1200
+ ]
+ },
+ {
+ "teal": 1092,
+ "source": 427,
+ "errorMessage": "argument 0 (config) for addValidator must be a (uint64,address,address,uint64,uint8,address,uint64[4],uint64,uint64,uint64,uint32,uint32,address,uint64,uint64,uint8,uint64,uint64)",
+ "pc": [
+ 1201
+ ]
+ },
+ {
+ "teal": 1095,
+ "source": 427,
+ "pc": [
+ 1202,
+ 1203,
+ 1204
+ ]
+ },
+ {
+ "teal": 1096,
+ "source": 427,
+ "pc": [
+ 1205,
+ 1206,
+ 1207
+ ]
+ },
+ {
+ "teal": 1099,
+ "source": 427,
+ "pc": [
+ 1208,
+ 1209
+ ]
+ },
+ {
+ "teal": 1100,
+ "source": 427,
+ "pc": [
+ 1210
+ ]
+ },
+ {
+ "teal": 1101,
+ "source": 427,
+ "pc": [
+ 1211
+ ]
+ },
+ {
+ "teal": 1102,
+ "source": 427,
+ "pc": [
+ 1212
+ ]
+ },
+ {
+ "teal": 1103,
+ "source": 427,
+ "pc": [
+ 1213,
+ 1214
+ ]
+ },
+ {
+ "teal": 1104,
+ "source": 427,
+ "pc": [
+ 1215
+ ]
+ },
+ {
+ "teal": 1105,
+ "source": 427,
+ "pc": [
+ 1216
+ ]
+ },
+ {
+ "teal": 1108,
+ "source": 427,
+ "errorMessage": "argument 2 (mbrPayment) for addValidator must be a pay transaction",
+ "pc": [
+ 1217
+ ]
+ },
+ {
+ "teal": 1111,
+ "source": 427,
+ "pc": [
+ 1218,
+ 1219,
+ 1220
+ ]
+ },
+ {
+ "teal": 1112,
+ "source": 427,
+ "pc": [
+ 1221
+ ]
+ },
+ {
+ "teal": 1113,
+ "source": 427,
+ "pc": [
+ 1222
+ ]
+ },
+ {
+ "teal": 1114,
+ "source": 427,
+ "pc": [
+ 1223
+ ]
+ },
+ {
+ "teal": 1115,
+ "source": 427,
+ "pc": [
+ 1224
+ ]
+ },
+ {
+ "teal": 1116,
+ "source": 427,
+ "pc": [
+ 1225
+ ]
+ },
+ {
+ "teal": 1128,
+ "source": 427,
+ "pc": [
+ 1226,
+ 1227,
+ 1228
+ ]
+ },
+ {
+ "teal": 1131,
+ "source": 427,
+ "pc": [
+ 1229
+ ]
+ },
+ {
+ "teal": 1135,
+ "source": 428,
+ "pc": [
+ 1230,
+ 1231
+ ]
+ },
+ {
+ "teal": 1136,
+ "source": 428,
+ "pc": [
+ 1232,
+ 1233,
+ 1234
+ ]
+ },
+ {
+ "teal": 1140,
+ "source": 429,
+ "pc": [
+ 1235,
+ 1236
+ ]
+ },
+ {
+ "teal": 1141,
+ "source": 429,
+ "pc": [
+ 1237,
+ 1238,
+ 1239
+ ]
+ },
+ {
+ "teal": 1142,
+ "source": 429,
+ "pc": [
+ 1240,
+ 1241
+ ]
+ },
+ {
+ "teal": 1143,
+ "source": 429,
+ "pc": [
+ 1242
+ ]
+ },
+ {
+ "teal": 1144,
+ "source": 429,
+ "pc": [
+ 1243
+ ]
+ },
+ {
+ "teal": 1148,
+ "source": 430,
+ "pc": [
+ 1244,
+ 1245
+ ]
+ },
+ {
+ "teal": 1149,
+ "source": 430,
+ "pc": [
+ 1246,
+ 1247,
+ 1248
+ ]
+ },
+ {
+ "teal": 1150,
+ "source": 430,
+ "pc": [
+ 1249,
+ 1250
+ ]
+ },
+ {
+ "teal": 1151,
+ "source": 430,
+ "pc": [
+ 1251
+ ]
+ },
+ {
+ "teal": 1152,
+ "source": 430,
+ "pc": [
+ 1252
+ ]
+ },
+ {
+ "teal": 1156,
+ "source": 431,
+ "pc": [
+ 1253,
+ 1254
+ ]
+ },
+ {
+ "teal": 1157,
+ "source": 431,
+ "pc": [
+ 1255,
+ 1256
+ ]
+ },
+ {
+ "teal": 1158,
+ "source": 431,
+ "pc": [
+ 1257,
+ 1258,
+ 1259
+ ]
+ },
+ {
+ "teal": 1159,
+ "source": 431,
+ "pc": [
+ 1260
+ ]
+ },
+ {
+ "teal": 1162,
+ "source": 431,
+ "errorMessage": "sender must be owner to add new validator",
+ "pc": [
+ 1261
+ ]
+ },
+ {
+ "teal": 1167,
+ "source": 433,
+ "pc": [
+ 1262,
+ 1263
+ ]
+ },
+ {
+ "teal": 1168,
+ "source": 433,
+ "pc": [
+ 1264,
+ 1265
+ ]
+ },
+ {
+ "teal": 1169,
+ "source": 433,
+ "pc": [
+ 1266,
+ 1267,
+ 1268
+ ]
+ },
+ {
+ "teal": 1170,
+ "source": 433,
+ "pc": [
+ 1269,
+ 1270,
+ 1271
+ ]
+ },
+ {
+ "teal": 1171,
+ "source": 433,
+ "pc": [
+ 1272
+ ]
+ },
+ {
+ "teal": 1172,
+ "source": 433,
+ "pc": [
+ 1273
+ ]
+ },
+ {
+ "teal": 1175,
+ "source": 433,
+ "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addValidatorMbr\"}",
+ "pc": [
+ 1274
+ ]
+ },
+ {
+ "teal": 1179,
+ "source": 435,
+ "pc": [
+ 1275,
+ 1276
+ ]
+ },
+ {
+ "teal": 1180,
+ "source": 435,
+ "pc": [
+ 1277,
+ 1278
+ ]
+ },
+ {
+ "teal": 1181,
+ "source": 435,
+ "pc": [
+ 1279,
+ 1280,
+ 1281,
+ 1282,
+ 1283
+ ]
+ },
+ {
+ "teal": 1182,
+ "source": 435,
+ "pc": [
+ 1284
+ ]
+ },
+ {
+ "teal": 1185,
+ "source": 435,
+ "errorMessage": "fee must be 10 ALGO or more to prevent spamming of validators",
+ "pc": [
+ 1285
+ ]
+ },
+ {
+ "teal": 1189,
+ "source": 438,
+ "pc": [
+ 1286,
+ 1287
+ ]
+ },
+ {
+ "teal": 1190,
+ "source": 438,
+ "pc": [
+ 1288
+ ]
+ },
+ {
+ "teal": 1191,
+ "source": 438,
+ "pc": [
+ 1289
+ ]
+ },
+ {
+ "teal": 1192,
+ "source": 438,
+ "pc": [
+ 1290
+ ]
+ },
+ {
+ "teal": 1193,
+ "source": 438,
+ "pc": [
+ 1291,
+ 1292
+ ]
+ },
+ {
+ "teal": 1197,
+ "source": 439,
+ "pc": [
+ 1293,
+ 1294
+ ]
+ },
+ {
+ "teal": 1198,
+ "source": 439,
+ "pc": [
+ 1295,
+ 1296
+ ]
+ },
+ {
+ "teal": 1199,
+ "source": 439,
+ "pc": [
+ 1297
+ ]
+ },
+ {
+ "teal": 1203,
+ "source": 441,
+ "pc": [
+ 1298
+ ]
+ },
+ {
+ "teal": 1204,
+ "source": 441,
+ "pc": [
+ 1299,
+ 1300
+ ]
+ },
+ {
+ "teal": 1205,
+ "source": 441,
+ "pc": [
+ 1301
+ ]
+ },
+ {
+ "teal": 1206,
+ "source": 441,
+ "pc": [
+ 1302
+ ]
+ },
+ {
+ "teal": 1207,
+ "source": 441,
+ "pc": [
+ 1303,
+ 1304,
+ 1305
+ ]
+ },
+ {
+ "teal": 1208,
+ "source": 441,
+ "pc": [
+ 1306
+ ]
+ },
+ {
+ "teal": 1209,
+ "source": 441,
+ "pc": [
+ 1307
+ ]
+ },
+ {
+ "teal": 1213,
+ "source": 442,
+ "pc": [
+ 1308
+ ]
+ },
+ {
+ "teal": 1214,
+ "source": 442,
+ "pc": [
+ 1309,
+ 1310
+ ]
+ },
+ {
+ "teal": 1215,
+ "source": 442,
+ "pc": [
+ 1311
+ ]
+ },
+ {
+ "teal": 1216,
+ "source": 442,
+ "pc": [
+ 1312,
+ 1313
+ ]
+ },
+ {
+ "teal": 1217,
+ "source": 442,
+ "pc": [
+ 1314
+ ]
+ },
+ {
+ "teal": 1218,
+ "source": 442,
+ "pc": [
+ 1315
+ ]
+ },
+ {
+ "teal": 1219,
+ "source": 442,
+ "pc": [
+ 1316,
+ 1317
+ ]
+ },
+ {
+ "teal": 1220,
+ "source": 442,
+ "pc": [
+ 1318
+ ]
+ },
+ {
+ "teal": 1224,
+ "source": 443,
+ "pc": [
+ 1319
+ ]
+ },
+ {
+ "teal": 1225,
+ "source": 443,
+ "pc": [
+ 1320,
+ 1321
+ ]
+ },
+ {
+ "teal": 1226,
+ "source": 443,
+ "pc": [
+ 1322
+ ]
+ },
+ {
+ "teal": 1227,
+ "source": 443,
+ "pc": [
+ 1323
+ ]
+ },
+ {
+ "teal": 1228,
+ "source": 443,
+ "pc": [
+ 1324,
+ 1325
+ ]
+ },
+ {
+ "teal": 1229,
+ "source": 443,
+ "pc": [
+ 1326
+ ]
+ },
+ {
+ "teal": 1230,
+ "source": 443,
+ "pc": [
+ 1327
+ ]
+ },
+ {
+ "teal": 1231,
+ "source": 443,
+ "pc": [
+ 1328,
+ 1329
+ ]
+ },
+ {
+ "teal": 1232,
+ "source": 443,
+ "pc": [
+ 1330
+ ]
+ },
+ {
+ "teal": 1237,
+ "source": 446,
+ "pc": [
+ 1331,
+ 1332
+ ]
+ },
+ {
+ "teal": 1238,
+ "source": 446,
+ "pc": [
+ 1333,
+ 1334,
+ 1335
+ ]
+ },
+ {
+ "teal": 1239,
+ "source": 446,
+ "pc": [
+ 1336
+ ]
+ },
+ {
+ "teal": 1240,
+ "source": 446,
+ "pc": [
+ 1337
+ ]
+ },
+ {
+ "teal": 1241,
+ "source": 446,
+ "pc": [
+ 1338
+ ]
+ },
+ {
+ "teal": 1242,
+ "source": 446,
+ "pc": [
+ 1339,
+ 1340,
+ 1341
+ ]
+ },
+ {
+ "teal": 1251,
+ "source": 448,
+ "pc": [
+ 1342
+ ]
+ },
+ {
+ "teal": 1252,
+ "source": 448,
+ "pc": [
+ 1343,
+ 1344
+ ]
+ },
+ {
+ "teal": 1253,
+ "source": 448,
+ "pc": [
+ 1345,
+ 1346
+ ]
+ },
+ {
+ "teal": 1257,
+ "source": 449,
+ "pc": [
+ 1347,
+ 1348
+ ]
+ },
+ {
+ "teal": 1258,
+ "source": 449,
+ "pc": [
+ 1349,
+ 1350
+ ]
+ },
+ {
+ "teal": 1262,
+ "source": 450,
+ "pc": [
+ 1351,
+ 1352
+ ]
+ },
+ {
+ "teal": 1263,
+ "source": 450,
+ "pc": [
+ 1353,
+ 1354
+ ]
+ },
+ {
+ "teal": 1264,
+ "source": 450,
+ "pc": [
+ 1355,
+ 1356
+ ]
+ },
+ {
+ "teal": 1265,
+ "source": 450,
+ "pc": [
+ 1357,
+ 1358
+ ]
+ },
+ {
+ "teal": 1266,
+ "source": 450,
+ "pc": [
+ 1359,
+ 1360
+ ]
+ },
+ {
+ "teal": 1267,
+ "source": 450,
+ "pc": [
+ 1361,
+ 1362,
+ 1363
+ ]
+ },
+ {
+ "teal": 1268,
+ "source": 450,
+ "pc": [
+ 1364
+ ]
+ },
+ {
+ "teal": 1269,
+ "source": 450,
+ "pc": [
+ 1365
+ ]
+ },
+ {
+ "teal": 1270,
+ "source": 450,
+ "pc": [
+ 1366,
+ 1367
+ ]
+ },
+ {
+ "teal": 1274,
+ "source": 451,
+ "pc": [
+ 1368,
+ 1369
+ ]
+ },
+ {
+ "teal": 1275,
+ "source": 451,
+ "pc": [
+ 1370,
+ 1371,
+ 1372
+ ]
+ },
+ {
+ "teal": 1276,
+ "source": 451,
+ "pc": [
+ 1373
+ ]
+ },
+ {
+ "teal": 1277,
+ "source": 451,
+ "pc": [
+ 1374,
+ 1375
+ ]
+ },
+ {
+ "teal": 1280,
+ "source": 448,
+ "pc": [
+ 1376
+ ]
+ },
+ {
+ "teal": 1281,
+ "source": 448,
+ "pc": [
+ 1377,
+ 1378
+ ]
+ },
+ {
+ "teal": 1284,
+ "source": 448,
+ "pc": [
+ 1379
+ ]
+ },
+ {
+ "teal": 1288,
+ "source": 453,
+ "pc": [
+ 1380,
+ 1381
+ ]
+ },
+ {
+ "teal": 1289,
+ "source": 453,
+ "pc": [
+ 1382
+ ]
+ },
+ {
+ "teal": 1290,
+ "source": 453,
+ "pc": [
+ 1383
+ ]
+ },
+ {
+ "teal": 1291,
+ "source": 453,
+ "pc": [
+ 1384
+ ]
+ },
+ {
+ "teal": 1294,
+ "source": 453,
+ "errorMessage": "provided NFD isn't valid",
+ "pc": [
+ 1385
+ ]
+ },
+ {
+ "teal": 1301,
+ "source": 456,
+ "pc": [
+ 1386,
+ 1387
+ ]
+ },
+ {
+ "teal": 1302,
+ "source": 456,
+ "pc": [
+ 1388,
+ 1389
+ ]
+ },
+ {
+ "teal": 1303,
+ "source": 456,
+ "pc": [
+ 1390,
+ 1391,
+ 1392
+ ]
+ },
+ {
+ "teal": 1304,
+ "source": 456,
+ "pc": [
+ 1393
+ ]
+ },
+ {
+ "teal": 1305,
+ "source": 456,
+ "pc": [
+ 1394,
+ 1395
+ ]
+ },
+ {
+ "teal": 1306,
+ "source": 456,
+ "pc": [
+ 1396
+ ]
+ },
+ {
+ "teal": 1309,
+ "source": 456,
+ "errorMessage": "global state value does not exist: AppID.fromUint64(config.nfdForInfo).globalState('i.owner.a')",
+ "pc": [
+ 1397
+ ]
+ },
+ {
+ "teal": 1310,
+ "source": 456,
+ "pc": [
+ 1398
+ ]
+ },
+ {
+ "teal": 1313,
+ "source": 455,
+ "errorMessage": "If specifying NFD, account adding validator must be owner",
+ "pc": [
+ 1399
+ ]
+ },
+ {
+ "teal": 1320,
+ "source": 461,
+ "pc": [
+ 1400,
+ 1401
+ ]
+ },
+ {
+ "teal": 1321,
+ "source": 461,
+ "pc": [
+ 1402,
+ 1403,
+ 1404
+ ]
+ },
+ {
+ "teal": 1322,
+ "source": 461,
+ "pc": [
+ 1405
+ ]
+ },
+ {
+ "teal": 1323,
+ "source": 461,
+ "pc": [
+ 1406,
+ 1407
+ ]
+ },
+ {
+ "teal": 1324,
+ "source": 461,
+ "pc": [
+ 1408
+ ]
+ },
+ {
+ "teal": 1325,
+ "source": 461,
+ "pc": [
+ 1409
+ ]
+ },
+ {
+ "teal": 1326,
+ "source": 461,
+ "pc": [
+ 1410,
+ 1411,
+ 1412
+ ]
+ },
+ {
+ "teal": 1327,
+ "source": 462,
+ "pc": [
+ 1413,
+ 1414
+ ]
+ },
+ {
+ "teal": 1328,
+ "source": 462,
+ "pc": [
+ 1415,
+ 1416,
+ 1417
+ ]
+ },
+ {
+ "teal": 1329,
+ "source": 462,
+ "pc": [
+ 1418
+ ]
+ },
+ {
+ "teal": 1330,
+ "source": 462,
+ "pc": [
+ 1419,
+ 1420
+ ]
+ },
+ {
+ "teal": 1331,
+ "source": 462,
+ "pc": [
+ 1421
+ ]
+ },
+ {
+ "teal": 1332,
+ "source": 461,
+ "pc": [
+ 1422
+ ]
+ },
+ {
+ "teal": 1335,
+ "source": 460,
+ "pc": [
+ 1423,
+ 1424,
+ 1425
+ ]
+ },
+ {
+ "teal": 1340,
+ "source": 465,
+ "pc": [
+ 1426,
+ 1427
+ ]
+ },
+ {
+ "teal": 1341,
+ "source": 465,
+ "pc": [
+ 1428,
+ 1429,
+ 1430
+ ]
+ },
+ {
+ "teal": 1342,
+ "source": 465,
+ "pc": [
+ 1431
+ ]
+ },
+ {
+ "teal": 1343,
+ "source": 465,
+ "pc": [
+ 1432,
+ 1433,
+ 1434
+ ]
+ },
+ {
+ "teal": 1346,
+ "source": 465,
+ "errorMessage": "provided NFD App id for gating must be valid NFD",
+ "pc": [
+ 1435
+ ]
+ },
+ {
+ "teal": 1351,
+ "source": 468,
+ "pc": [
+ 1436,
+ 1437
+ ]
+ },
+ {
+ "teal": 1354,
+ "source": 427,
+ "pc": [
+ 1438,
+ 1439
+ ]
+ },
+ {
+ "teal": 1355,
+ "source": 427,
+ "pc": [
+ 1440
+ ]
+ },
+ {
+ "teal": 1360,
+ "source": 478,
+ "pc": [
+ 1441,
+ 1442,
+ 1443
+ ]
+ },
+ {
+ "teal": 1361,
+ "source": 478,
+ "pc": [
+ 1444
+ ]
+ },
+ {
+ "teal": 1362,
+ "source": 478,
+ "pc": [
+ 1445
+ ]
+ },
+ {
+ "teal": 1363,
+ "source": 478,
+ "pc": [
+ 1446,
+ 1447
+ ]
+ },
+ {
+ "teal": 1364,
+ "source": 478,
+ "pc": [
+ 1448
+ ]
+ },
+ {
+ "teal": 1367,
+ "source": 478,
+ "errorMessage": "argument 0 (manager) for changeValidatorManager must be a address",
+ "pc": [
+ 1449
+ ]
+ },
+ {
+ "teal": 1370,
+ "source": 478,
+ "pc": [
+ 1450,
+ 1451,
+ 1452
+ ]
+ },
+ {
+ "teal": 1371,
+ "source": 478,
+ "pc": [
+ 1453
+ ]
+ },
+ {
+ "teal": 1374,
+ "source": 478,
+ "pc": [
+ 1454,
+ 1455,
+ 1456
+ ]
+ },
+ {
+ "teal": 1375,
+ "source": 478,
+ "pc": [
+ 1457
+ ]
+ },
+ {
+ "teal": 1376,
+ "source": 478,
+ "pc": [
+ 1458
+ ]
+ },
+ {
+ "teal": 1386,
+ "source": 478,
+ "pc": [
+ 1459,
+ 1460,
+ 1461
+ ]
+ },
+ {
+ "teal": 1393,
+ "source": 480,
+ "pc": [
+ 1462,
+ 1463
+ ]
+ },
+ {
+ "teal": 1394,
+ "source": 480,
+ "pc": [
+ 1464
+ ]
+ },
+ {
+ "teal": 1395,
+ "source": 480,
+ "pc": [
+ 1465,
+ 1466
+ ]
+ },
+ {
+ "teal": 1396,
+ "source": 480,
+ "pc": [
+ 1467
+ ]
+ },
+ {
+ "teal": 1397,
+ "source": 480,
+ "pc": [
+ 1468,
+ 1469
+ ]
+ },
+ {
+ "teal": 1398,
+ "source": 480,
+ "pc": [
+ 1470
+ ]
+ },
+ {
+ "teal": 1399,
+ "source": 480,
+ "pc": [
+ 1471
+ ]
+ },
+ {
+ "teal": 1400,
+ "source": 480,
+ "pc": [
+ 1472,
+ 1473
+ ]
+ },
+ {
+ "teal": 1401,
+ "source": 480,
+ "pc": [
+ 1474
+ ]
+ },
+ {
+ "teal": 1402,
+ "source": 480,
+ "pc": [
+ 1475
+ ]
+ },
+ {
+ "teal": 1405,
+ "source": 479,
+ "errorMessage": "can only be called by validator owner",
+ "pc": [
+ 1476
+ ]
+ },
+ {
+ "teal": 1409,
+ "source": 483,
+ "pc": [
+ 1477,
+ 1478
+ ]
+ },
+ {
+ "teal": 1410,
+ "source": 483,
+ "pc": [
+ 1479,
+ 1480
+ ]
+ },
+ {
+ "teal": 1411,
+ "source": 483,
+ "pc": [
+ 1481
+ ]
+ },
+ {
+ "teal": 1412,
+ "source": 483,
+ "pc": [
+ 1482,
+ 1483
+ ]
+ },
+ {
+ "teal": 1413,
+ "source": 483,
+ "pc": [
+ 1484
+ ]
+ },
+ {
+ "teal": 1414,
+ "source": 483,
+ "pc": [
+ 1485
+ ]
+ },
+ {
+ "teal": 1415,
+ "source": 483,
+ "pc": [
+ 1486,
+ 1487
+ ]
+ },
+ {
+ "teal": 1416,
+ "source": 483,
+ "pc": [
+ 1488
+ ]
+ },
+ {
+ "teal": 1417,
+ "source": 478,
+ "pc": [
+ 1489
+ ]
+ },
+ {
+ "teal": 1422,
+ "source": 494,
+ "pc": [
+ 1490,
+ 1491,
+ 1492
+ ]
+ },
+ {
+ "teal": 1423,
+ "source": 494,
+ "pc": [
+ 1493
+ ]
+ },
+ {
+ "teal": 1426,
+ "source": 494,
+ "pc": [
+ 1494,
+ 1495,
+ 1496
+ ]
+ },
+ {
+ "teal": 1427,
+ "source": 494,
+ "pc": [
+ 1497
+ ]
+ },
+ {
+ "teal": 1430,
+ "source": 494,
+ "pc": [
+ 1498,
+ 1499,
+ 1500
+ ]
+ },
+ {
+ "teal": 1431,
+ "source": 494,
+ "pc": [
+ 1501
+ ]
+ },
+ {
+ "teal": 1434,
+ "source": 494,
+ "pc": [
+ 1502,
+ 1503,
+ 1504
+ ]
+ },
+ {
+ "teal": 1435,
+ "source": 494,
+ "pc": [
+ 1505
+ ]
+ },
+ {
+ "teal": 1436,
+ "source": 494,
+ "pc": [
+ 1506
+ ]
+ },
+ {
+ "teal": 1447,
+ "source": 494,
+ "pc": [
+ 1507,
+ 1508,
+ 1509
+ ]
+ },
+ {
+ "teal": 1454,
+ "source": 496,
+ "pc": [
+ 1510,
+ 1511
+ ]
+ },
+ {
+ "teal": 1455,
+ "source": 496,
+ "pc": [
+ 1512
+ ]
+ },
+ {
+ "teal": 1456,
+ "source": 496,
+ "pc": [
+ 1513,
+ 1514
+ ]
+ },
+ {
+ "teal": 1457,
+ "source": 496,
+ "pc": [
+ 1515
+ ]
+ },
+ {
+ "teal": 1458,
+ "source": 496,
+ "pc": [
+ 1516,
+ 1517
+ ]
+ },
+ {
+ "teal": 1459,
+ "source": 496,
+ "pc": [
+ 1518
+ ]
+ },
+ {
+ "teal": 1460,
+ "source": 496,
+ "pc": [
+ 1519
+ ]
+ },
+ {
+ "teal": 1461,
+ "source": 496,
+ "pc": [
+ 1520,
+ 1521
+ ]
+ },
+ {
+ "teal": 1462,
+ "source": 496,
+ "pc": [
+ 1522
+ ]
+ },
+ {
+ "teal": 1463,
+ "source": 496,
+ "pc": [
+ 1523
+ ]
+ },
+ {
+ "teal": 1466,
+ "source": 495,
+ "errorMessage": "can only be called by validator owner",
+ "pc": [
+ 1524
+ ]
+ },
+ {
+ "teal": 1470,
+ "source": 499,
+ "pc": [
+ 1525,
+ 1526
+ ]
+ },
+ {
+ "teal": 1471,
+ "source": 499,
+ "pc": [
+ 1527,
+ 1528
+ ]
+ },
+ {
+ "teal": 1472,
+ "source": 499,
+ "pc": [
+ 1529
+ ]
+ },
+ {
+ "teal": 1473,
+ "source": 499,
+ "pc": [
+ 1530
+ ]
+ },
+ {
+ "teal": 1474,
+ "source": 499,
+ "pc": [
+ 1531,
+ 1532
+ ]
+ },
+ {
+ "teal": 1475,
+ "source": 499,
+ "pc": [
+ 1533
+ ]
+ },
+ {
+ "teal": 1476,
+ "source": 499,
+ "pc": [
+ 1534
+ ]
+ },
+ {
+ "teal": 1477,
+ "source": 499,
+ "pc": [
+ 1535,
+ 1536
+ ]
+ },
+ {
+ "teal": 1478,
+ "source": 499,
+ "pc": [
+ 1537
+ ]
+ },
+ {
+ "teal": 1482,
+ "source": 500,
+ "pc": [
+ 1538,
+ 1539,
+ 1540
+ ]
+ },
+ {
+ "teal": 1483,
+ "source": 500,
+ "pc": [
+ 1541,
+ 1542
+ ]
+ },
+ {
+ "teal": 1484,
+ "source": 500,
+ "pc": [
+ 1543
+ ]
+ },
+ {
+ "teal": 1485,
+ "source": 500,
+ "pc": [
+ 1544
+ ]
+ },
+ {
+ "teal": 1486,
+ "source": 500,
+ "pc": [
+ 1545,
+ 1546
+ ]
+ },
+ {
+ "teal": 1487,
+ "source": 500,
+ "pc": [
+ 1547
+ ]
+ },
+ {
+ "teal": 1488,
+ "source": 500,
+ "pc": [
+ 1548
+ ]
+ },
+ {
+ "teal": 1489,
+ "source": 500,
+ "pc": [
+ 1549,
+ 1550
+ ]
+ },
+ {
+ "teal": 1490,
+ "source": 500,
+ "pc": [
+ 1551
+ ]
+ },
+ {
+ "teal": 1491,
+ "source": 494,
+ "pc": [
+ 1552
+ ]
+ },
+ {
+ "teal": 1496,
+ "source": 511,
+ "pc": [
+ 1553,
+ 1554,
+ 1555
+ ]
+ },
+ {
+ "teal": 1497,
+ "source": 511,
+ "pc": [
+ 1556,
+ 1557,
+ 1558
+ ]
+ },
+ {
+ "teal": 1500,
+ "source": 511,
+ "pc": [
+ 1559,
+ 1560,
+ 1561
+ ]
+ },
+ {
+ "teal": 1501,
+ "source": 511,
+ "pc": [
+ 1562
+ ]
+ },
+ {
+ "teal": 1504,
+ "source": 511,
+ "pc": [
+ 1563,
+ 1564,
+ 1565
+ ]
+ },
+ {
+ "teal": 1505,
+ "source": 511,
+ "pc": [
+ 1566
+ ]
+ },
+ {
+ "teal": 1508,
+ "source": 511,
+ "pc": [
+ 1567,
+ 1568,
+ 1569
+ ]
+ },
+ {
+ "teal": 1509,
+ "source": 511,
+ "pc": [
+ 1570
+ ]
+ },
+ {
+ "teal": 1510,
+ "source": 511,
+ "pc": [
+ 1571
+ ]
+ },
+ {
+ "teal": 1521,
+ "source": 511,
+ "pc": [
+ 1572,
+ 1573,
+ 1574
+ ]
+ },
+ {
+ "teal": 1528,
+ "source": 514,
+ "pc": [
+ 1575,
+ 1576
+ ]
+ },
+ {
+ "teal": 1529,
+ "source": 514,
+ "pc": [
+ 1577
+ ]
+ },
+ {
+ "teal": 1530,
+ "source": 514,
+ "pc": [
+ 1578,
+ 1579
+ ]
+ },
+ {
+ "teal": 1531,
+ "source": 514,
+ "pc": [
+ 1580
+ ]
+ },
+ {
+ "teal": 1532,
+ "source": 514,
+ "pc": [
+ 1581,
+ 1582
+ ]
+ },
+ {
+ "teal": 1533,
+ "source": 514,
+ "pc": [
+ 1583
+ ]
+ },
+ {
+ "teal": 1534,
+ "source": 514,
+ "pc": [
+ 1584
+ ]
+ },
+ {
+ "teal": 1535,
+ "source": 514,
+ "pc": [
+ 1585,
+ 1586
+ ]
+ },
+ {
+ "teal": 1536,
+ "source": 514,
+ "pc": [
+ 1587
+ ]
+ },
+ {
+ "teal": 1537,
+ "source": 514,
+ "pc": [
+ 1588
+ ]
+ },
+ {
+ "teal": 1540,
+ "source": 513,
+ "errorMessage": "can only be called by validator owner",
+ "pc": [
+ 1589
+ ]
+ },
+ {
+ "teal": 1548,
+ "source": 518,
+ "pc": [
+ 1590
+ ]
+ },
+ {
+ "teal": 1549,
+ "source": 518,
+ "pc": [
+ 1591,
+ 1592
+ ]
+ },
+ {
+ "teal": 1550,
+ "source": 518,
+ "pc": [
+ 1593,
+ 1594
+ ]
+ },
+ {
+ "teal": 1554,
+ "source": 519,
+ "pc": [
+ 1595,
+ 1596
+ ]
+ },
+ {
+ "teal": 1555,
+ "source": 519,
+ "pc": [
+ 1597,
+ 1598
+ ]
+ },
+ {
+ "teal": 1559,
+ "source": 520,
+ "pc": [
+ 1599,
+ 1600
+ ]
+ },
+ {
+ "teal": 1560,
+ "source": 520,
+ "pc": [
+ 1601,
+ 1602
+ ]
+ },
+ {
+ "teal": 1561,
+ "source": 520,
+ "pc": [
+ 1603,
+ 1604
+ ]
+ },
+ {
+ "teal": 1562,
+ "source": 520,
+ "pc": [
+ 1605,
+ 1606
+ ]
+ },
+ {
+ "teal": 1563,
+ "source": 520,
+ "pc": [
+ 1607,
+ 1608
+ ]
+ },
+ {
+ "teal": 1564,
+ "source": 520,
+ "pc": [
+ 1609
+ ]
+ },
+ {
+ "teal": 1565,
+ "source": 520,
+ "pc": [
+ 1610,
+ 1611
+ ]
+ },
+ {
+ "teal": 1569,
+ "source": 521,
+ "pc": [
+ 1612,
+ 1613
+ ]
+ },
+ {
+ "teal": 1570,
+ "source": 521,
+ "pc": [
+ 1614,
+ 1615
+ ]
+ },
+ {
+ "teal": 1573,
+ "source": 518,
+ "pc": [
+ 1616
+ ]
+ },
+ {
+ "teal": 1574,
+ "source": 518,
+ "pc": [
+ 1617,
+ 1618
+ ]
+ },
+ {
+ "teal": 1577,
+ "source": 518,
+ "pc": [
+ 1619
+ ]
+ },
+ {
+ "teal": 1584,
+ "source": 525,
+ "pc": [
+ 1620,
+ 1621
+ ]
+ },
+ {
+ "teal": 1585,
+ "source": 525,
+ "pc": [
+ 1622,
+ 1623
+ ]
+ },
+ {
+ "teal": 1586,
+ "source": 525,
+ "pc": [
+ 1624,
+ 1625
+ ]
+ },
+ {
+ "teal": 1587,
+ "source": 525,
+ "pc": [
+ 1626
+ ]
+ },
+ {
+ "teal": 1590,
+ "source": 525,
+ "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.owner.a')",
+ "pc": [
+ 1627
+ ]
+ },
+ {
+ "teal": 1591,
+ "source": 525,
+ "pc": [
+ 1628
+ ]
+ },
+ {
+ "teal": 1594,
+ "source": 524,
+ "errorMessage": "If specifying NFD, account adding validator must be owner",
+ "pc": [
+ 1629
+ ]
+ },
+ {
+ "teal": 1598,
+ "source": 528,
+ "pc": [
+ 1630,
+ 1631
+ ]
+ },
+ {
+ "teal": 1599,
+ "source": 528,
+ "pc": [
+ 1632,
+ 1633
+ ]
+ },
+ {
+ "teal": 1600,
+ "source": 528,
+ "pc": [
+ 1634
+ ]
+ },
+ {
+ "teal": 1601,
+ "source": 528,
+ "pc": [
+ 1635
+ ]
+ },
+ {
+ "teal": 1602,
+ "source": 528,
+ "pc": [
+ 1636,
+ 1637
+ ]
+ },
+ {
+ "teal": 1603,
+ "source": 528,
+ "pc": [
+ 1638
+ ]
+ },
+ {
+ "teal": 1604,
+ "source": 528,
+ "pc": [
+ 1639
+ ]
+ },
+ {
+ "teal": 1605,
+ "source": 528,
+ "pc": [
+ 1640,
+ 1641
+ ]
+ },
+ {
+ "teal": 1606,
+ "source": 528,
+ "pc": [
+ 1642
+ ]
+ },
+ {
+ "teal": 1607,
+ "source": 511,
+ "pc": [
+ 1643
+ ]
+ },
+ {
+ "teal": 1612,
+ "source": 535,
+ "pc": [
+ 1644,
+ 1645,
+ 1646
+ ]
+ },
+ {
+ "teal": 1613,
+ "source": 535,
+ "pc": [
+ 1647
+ ]
+ },
+ {
+ "teal": 1614,
+ "source": 535,
+ "pc": [
+ 1648
+ ]
+ },
+ {
+ "teal": 1615,
+ "source": 535,
+ "pc": [
+ 1649,
+ 1650
+ ]
+ },
+ {
+ "teal": 1616,
+ "source": 535,
+ "pc": [
+ 1651
+ ]
+ },
+ {
+ "teal": 1619,
+ "source": 535,
+ "errorMessage": "argument 0 (commissionAddress) for changeValidatorCommissionAddress must be a address",
+ "pc": [
+ 1652
+ ]
+ },
+ {
+ "teal": 1622,
+ "source": 535,
+ "pc": [
+ 1653,
+ 1654,
+ 1655
+ ]
+ },
+ {
+ "teal": 1623,
+ "source": 535,
+ "pc": [
+ 1656
+ ]
+ },
+ {
+ "teal": 1626,
+ "source": 535,
+ "pc": [
+ 1657,
+ 1658,
+ 1659
+ ]
+ },
+ {
+ "teal": 1627,
+ "source": 535,
+ "pc": [
+ 1660
+ ]
+ },
+ {
+ "teal": 1628,
+ "source": 535,
+ "pc": [
+ 1661
+ ]
+ },
+ {
+ "teal": 1635,
+ "source": 535,
+ "pc": [
+ 1662,
+ 1663,
+ 1664
+ ]
+ },
+ {
+ "teal": 1642,
+ "source": 537,
+ "pc": [
+ 1665,
+ 1666
+ ]
+ },
+ {
+ "teal": 1643,
+ "source": 537,
+ "pc": [
+ 1667
+ ]
+ },
+ {
+ "teal": 1644,
+ "source": 537,
+ "pc": [
+ 1668,
+ 1669
+ ]
+ },
+ {
+ "teal": 1645,
+ "source": 537,
+ "pc": [
+ 1670
+ ]
+ },
+ {
+ "teal": 1646,
+ "source": 537,
+ "pc": [
+ 1671,
+ 1672
+ ]
+ },
+ {
+ "teal": 1647,
+ "source": 537,
+ "pc": [
+ 1673
+ ]
+ },
+ {
+ "teal": 1648,
+ "source": 537,
+ "pc": [
+ 1674
+ ]
+ },
+ {
+ "teal": 1649,
+ "source": 537,
+ "pc": [
+ 1675,
+ 1676
+ ]
+ },
+ {
+ "teal": 1650,
+ "source": 537,
+ "pc": [
+ 1677
+ ]
+ },
+ {
+ "teal": 1651,
+ "source": 537,
+ "pc": [
+ 1678
+ ]
+ },
+ {
+ "teal": 1654,
+ "source": 536,
+ "errorMessage": "can only be called by validator owner",
+ "pc": [
+ 1679
+ ]
+ },
+ {
+ "teal": 1658,
+ "source": 540,
+ "pc": [
+ 1680,
+ 1681
+ ]
+ },
+ {
+ "teal": 1659,
+ "source": 540,
+ "pc": [
+ 1682,
+ 1683
+ ]
+ },
+ {
+ "teal": 1660,
+ "source": 540,
+ "pc": [
+ 1684
+ ]
+ },
+ {
+ "teal": 1661,
+ "source": 540,
+ "pc": [
+ 1685
+ ]
+ },
+ {
+ "teal": 1665,
+ "source": 541,
+ "pc": [
+ 1686,
+ 1687,
+ 1688
+ ]
+ },
+ {
+ "teal": 1666,
+ "source": 541,
+ "pc": [
+ 1689,
+ 1690
+ ]
+ },
+ {
+ "teal": 1667,
+ "source": 541,
+ "pc": [
+ 1691
+ ]
+ },
+ {
+ "teal": 1668,
+ "source": 541,
+ "pc": [
+ 1692,
+ 1693
+ ]
+ },
+ {
+ "teal": 1669,
+ "source": 541,
+ "pc": [
+ 1694
+ ]
+ },
+ {
+ "teal": 1670,
+ "source": 541,
+ "pc": [
+ 1695
+ ]
+ },
+ {
+ "teal": 1671,
+ "source": 541,
+ "pc": [
+ 1696,
+ 1697
+ ]
+ },
+ {
+ "teal": 1672,
+ "source": 541,
+ "pc": [
+ 1698
+ ]
+ },
+ {
+ "teal": 1673,
+ "source": 535,
+ "pc": [
+ 1699
+ ]
+ },
+ {
+ "teal": 1678,
+ "source": 554,
+ "pc": [
+ 1700,
+ 1701,
+ 1702
+ ]
+ },
+ {
+ "teal": 1679,
+ "source": 554,
+ "pc": [
+ 1703
+ ]
+ },
+ {
+ "teal": 1682,
+ "source": 553,
+ "pc": [
+ 1704,
+ 1705,
+ 1706
+ ]
+ },
+ {
+ "teal": 1683,
+ "source": 553,
+ "pc": [
+ 1707
+ ]
+ },
+ {
+ "teal": 1686,
+ "source": 552,
+ "pc": [
+ 1708,
+ 1709,
+ 1710
+ ]
+ },
+ {
+ "teal": 1687,
+ "source": 552,
+ "pc": [
+ 1711
+ ]
+ },
+ {
+ "teal": 1688,
+ "source": 552,
+ "pc": [
+ 1712
+ ]
+ },
+ {
+ "teal": 1689,
+ "source": 552,
+ "pc": [
+ 1713,
+ 1714
+ ]
+ },
+ {
+ "teal": 1690,
+ "source": 552,
+ "pc": [
+ 1715
+ ]
+ },
+ {
+ "teal": 1693,
+ "source": 552,
+ "errorMessage": "argument 2 (EntryGatingAssets) for changeValidatorRewardInfo must be a uint64[4]",
+ "pc": [
+ 1716
+ ]
+ },
+ {
+ "teal": 1696,
+ "source": 551,
+ "pc": [
+ 1717,
+ 1718,
+ 1719
+ ]
+ },
+ {
+ "teal": 1697,
+ "source": 551,
+ "pc": [
+ 1720
+ ]
+ },
+ {
+ "teal": 1698,
+ "source": 551,
+ "pc": [
+ 1721
+ ]
+ },
+ {
+ "teal": 1699,
+ "source": 551,
+ "pc": [
+ 1722,
+ 1723
+ ]
+ },
+ {
+ "teal": 1700,
+ "source": 551,
+ "pc": [
+ 1724
+ ]
+ },
+ {
+ "teal": 1703,
+ "source": 551,
+ "errorMessage": "argument 3 (EntryGatingAddress) for changeValidatorRewardInfo must be a address",
+ "pc": [
+ 1725
+ ]
+ },
+ {
+ "teal": 1706,
+ "source": 550,
+ "pc": [
+ 1726,
+ 1727,
+ 1728
+ ]
+ },
+ {
+ "teal": 1707,
+ "source": 550,
+ "pc": [
+ 1729
+ ]
+ },
+ {
+ "teal": 1708,
+ "source": 550,
+ "pc": [
+ 1730
+ ]
+ },
+ {
+ "teal": 1709,
+ "source": 550,
+ "pc": [
+ 1731
+ ]
+ },
+ {
+ "teal": 1710,
+ "source": 550,
+ "pc": [
+ 1732
+ ]
+ },
+ {
+ "teal": 1713,
+ "source": 550,
+ "errorMessage": "argument 4 (EntryGatingType) for changeValidatorRewardInfo must be a uint8",
+ "pc": [
+ 1733
+ ]
+ },
+ {
+ "teal": 1714,
+ "source": 550,
+ "pc": [
+ 1734
+ ]
+ },
+ {
+ "teal": 1717,
+ "source": 549,
+ "pc": [
+ 1735,
+ 1736,
+ 1737
+ ]
+ },
+ {
+ "teal": 1718,
+ "source": 549,
+ "pc": [
+ 1738
+ ]
+ },
+ {
+ "teal": 1721,
+ "source": 548,
+ "pc": [
+ 1739,
+ 1740,
+ 1741
+ ]
+ },
+ {
+ "teal": 1722,
+ "source": 548,
+ "pc": [
+ 1742
+ ]
+ },
+ {
+ "teal": 1723,
+ "source": 548,
+ "pc": [
+ 1743
+ ]
+ },
+ {
+ "teal": 1730,
+ "source": 548,
+ "pc": [
+ 1744,
+ 1745,
+ 1746
+ ]
+ },
+ {
+ "teal": 1737,
+ "source": 557,
+ "pc": [
+ 1747,
+ 1748
+ ]
+ },
+ {
+ "teal": 1738,
+ "source": 557,
+ "pc": [
+ 1749
+ ]
+ },
+ {
+ "teal": 1739,
+ "source": 557,
+ "pc": [
+ 1750,
+ 1751
+ ]
+ },
+ {
+ "teal": 1740,
+ "source": 557,
+ "pc": [
+ 1752
+ ]
+ },
+ {
+ "teal": 1741,
+ "source": 557,
+ "pc": [
+ 1753,
+ 1754
+ ]
+ },
+ {
+ "teal": 1742,
+ "source": 557,
+ "pc": [
+ 1755
+ ]
+ },
+ {
+ "teal": 1743,
+ "source": 557,
+ "pc": [
+ 1756
+ ]
+ },
+ {
+ "teal": 1744,
+ "source": 557,
+ "pc": [
+ 1757,
+ 1758
+ ]
+ },
+ {
+ "teal": 1745,
+ "source": 557,
+ "pc": [
+ 1759
+ ]
+ },
+ {
+ "teal": 1746,
+ "source": 557,
+ "pc": [
+ 1760
+ ]
+ },
+ {
+ "teal": 1749,
+ "source": 556,
+ "errorMessage": "can only be called by validator owner",
+ "pc": [
+ 1761
+ ]
+ },
+ {
+ "teal": 1753,
+ "source": 561,
+ "pc": [
+ 1762,
+ 1763
+ ]
+ },
+ {
+ "teal": 1754,
+ "source": 561,
+ "pc": [
+ 1764,
+ 1765
+ ]
+ },
+ {
+ "teal": 1755,
+ "source": 561,
+ "pc": [
+ 1766
+ ]
+ },
+ {
+ "teal": 1756,
+ "source": 561,
+ "pc": [
+ 1767,
+ 1768,
+ 1769
+ ]
+ },
+ {
+ "teal": 1757,
+ "source": 561,
+ "pc": [
+ 1770
+ ]
+ },
+ {
+ "teal": 1758,
+ "source": 561,
+ "pc": [
+ 1771,
+ 1772
+ ]
+ },
+ {
+ "teal": 1759,
+ "source": 561,
+ "pc": [
+ 1773
+ ]
+ },
+ {
+ "teal": 1760,
+ "source": 561,
+ "pc": [
+ 1774
+ ]
+ },
+ {
+ "teal": 1761,
+ "source": 561,
+ "pc": [
+ 1775,
+ 1776
+ ]
+ },
+ {
+ "teal": 1762,
+ "source": 561,
+ "pc": [
+ 1777
+ ]
+ },
+ {
+ "teal": 1766,
+ "source": 562,
+ "pc": [
+ 1778,
+ 1779
+ ]
+ },
+ {
+ "teal": 1767,
+ "source": 562,
+ "pc": [
+ 1780,
+ 1781
+ ]
+ },
+ {
+ "teal": 1768,
+ "source": 562,
+ "pc": [
+ 1782
+ ]
+ },
+ {
+ "teal": 1769,
+ "source": 562,
+ "pc": [
+ 1783,
+ 1784
+ ]
+ },
+ {
+ "teal": 1770,
+ "source": 562,
+ "pc": [
+ 1785
+ ]
+ },
+ {
+ "teal": 1771,
+ "source": 562,
+ "pc": [
+ 1786
+ ]
+ },
+ {
+ "teal": 1772,
+ "source": 562,
+ "pc": [
+ 1787,
+ 1788
+ ]
+ },
+ {
+ "teal": 1773,
+ "source": 562,
+ "pc": [
+ 1789
+ ]
+ },
+ {
+ "teal": 1777,
+ "source": 563,
+ "pc": [
+ 1790,
+ 1791
+ ]
+ },
+ {
+ "teal": 1778,
+ "source": 563,
+ "pc": [
+ 1792,
+ 1793
+ ]
+ },
+ {
+ "teal": 1779,
+ "source": 563,
+ "pc": [
+ 1794
+ ]
+ },
+ {
+ "teal": 1780,
+ "source": 563,
+ "pc": [
+ 1795,
+ 1796
+ ]
+ },
+ {
+ "teal": 1781,
+ "source": 563,
+ "pc": [
+ 1797
+ ]
+ },
+ {
+ "teal": 1782,
+ "source": 563,
+ "pc": [
+ 1798
+ ]
+ },
+ {
+ "teal": 1783,
+ "source": 563,
+ "pc": [
+ 1799,
+ 1800
+ ]
+ },
+ {
+ "teal": 1784,
+ "source": 563,
+ "pc": [
+ 1801
+ ]
+ },
+ {
+ "teal": 1788,
+ "source": 564,
+ "pc": [
+ 1802,
+ 1803
+ ]
+ },
+ {
+ "teal": 1789,
+ "source": 564,
+ "pc": [
+ 1804,
+ 1805
+ ]
+ },
+ {
+ "teal": 1790,
+ "source": 564,
+ "pc": [
+ 1806
+ ]
+ },
+ {
+ "teal": 1791,
+ "source": 564,
+ "pc": [
+ 1807
+ ]
+ },
+ {
+ "teal": 1792,
+ "source": 564,
+ "pc": [
+ 1808,
+ 1809
+ ]
+ },
+ {
+ "teal": 1793,
+ "source": 564,
+ "pc": [
+ 1810
+ ]
+ },
+ {
+ "teal": 1794,
+ "source": 564,
+ "pc": [
+ 1811
+ ]
+ },
+ {
+ "teal": 1795,
+ "source": 564,
+ "pc": [
+ 1812,
+ 1813
+ ]
+ },
+ {
+ "teal": 1796,
+ "source": 564,
+ "pc": [
+ 1814
+ ]
+ },
+ {
+ "teal": 1800,
+ "source": 565,
+ "pc": [
+ 1815,
+ 1816,
+ 1817
+ ]
+ },
+ {
+ "teal": 1801,
+ "source": 565,
+ "pc": [
+ 1818,
+ 1819
+ ]
+ },
+ {
+ "teal": 1802,
+ "source": 565,
+ "pc": [
+ 1820
+ ]
+ },
+ {
+ "teal": 1803,
+ "source": 565,
+ "pc": [
+ 1821
+ ]
+ },
+ {
+ "teal": 1804,
+ "source": 565,
+ "pc": [
+ 1822,
+ 1823
+ ]
+ },
+ {
+ "teal": 1805,
+ "source": 565,
+ "pc": [
+ 1824
+ ]
+ },
+ {
+ "teal": 1806,
+ "source": 565,
+ "pc": [
+ 1825
+ ]
+ },
+ {
+ "teal": 1807,
+ "source": 565,
+ "pc": [
+ 1826,
+ 1827
+ ]
+ },
+ {
+ "teal": 1808,
+ "source": 565,
+ "pc": [
+ 1828
+ ]
+ },
+ {
+ "teal": 1809,
+ "source": 548,
+ "pc": [
+ 1829
+ ]
+ },
+ {
+ "teal": 1814,
+ "source": 579,
+ "pc": [
+ 1830
+ ]
+ },
+ {
+ "teal": 1817,
+ "source": 579,
+ "pc": [
+ 1831,
+ 1832,
+ 1833
+ ]
+ },
+ {
+ "teal": 1818,
+ "source": 579,
+ "pc": [
+ 1834
+ ]
+ },
+ {
+ "teal": 1821,
+ "source": 579,
+ "pc": [
+ 1835,
+ 1836,
+ 1837
+ ]
+ },
+ {
+ "teal": 1822,
+ "source": 579,
+ "pc": [
+ 1838
+ ]
+ },
+ {
+ "teal": 1825,
+ "source": 579,
+ "pc": [
+ 1839,
+ 1840
+ ]
+ },
+ {
+ "teal": 1826,
+ "source": 579,
+ "pc": [
+ 1841
+ ]
+ },
+ {
+ "teal": 1827,
+ "source": 579,
+ "pc": [
+ 1842
+ ]
+ },
+ {
+ "teal": 1828,
+ "source": 579,
+ "pc": [
+ 1843
+ ]
+ },
+ {
+ "teal": 1829,
+ "source": 579,
+ "pc": [
+ 1844,
+ 1845
+ ]
+ },
+ {
+ "teal": 1830,
+ "source": 579,
+ "pc": [
+ 1846
+ ]
+ },
+ {
+ "teal": 1831,
+ "source": 579,
+ "pc": [
+ 1847
+ ]
+ },
+ {
+ "teal": 1834,
+ "source": 579,
+ "errorMessage": "argument 2 (mbrPayment) for addPool must be a pay transaction",
+ "pc": [
+ 1848
+ ]
+ },
+ {
+ "teal": 1837,
+ "source": 579,
+ "pc": [
+ 1849,
+ 1850,
+ 1851
+ ]
+ },
+ {
+ "teal": 1838,
+ "source": 579,
+ "pc": [
+ 1852
+ ]
+ },
+ {
+ "teal": 1839,
+ "source": 579,
+ "pc": [
+ 1853
+ ]
+ },
+ {
+ "teal": 1840,
+ "source": 579,
+ "pc": [
+ 1854
+ ]
+ },
+ {
+ "teal": 1841,
+ "source": 579,
+ "pc": [
+ 1855
+ ]
+ },
+ {
+ "teal": 1854,
+ "source": 579,
+ "pc": [
+ 1856,
+ 1857,
+ 1858
+ ]
+ },
+ {
+ "teal": 1857,
+ "source": 579,
+ "pc": [
+ 1859
+ ]
+ },
+ {
+ "teal": 1858,
+ "source": 579,
+ "pc": [
+ 1860
+ ]
+ },
+ {
+ "teal": 1866,
+ "source": 582,
+ "pc": [
+ 1861,
+ 1862
+ ]
+ },
+ {
+ "teal": 1867,
+ "source": 582,
+ "pc": [
+ 1863
+ ]
+ },
+ {
+ "teal": 1868,
+ "source": 582,
+ "pc": [
+ 1864,
+ 1865
+ ]
+ },
+ {
+ "teal": 1869,
+ "source": 582,
+ "pc": [
+ 1866
+ ]
+ },
+ {
+ "teal": 1870,
+ "source": 582,
+ "pc": [
+ 1867,
+ 1868
+ ]
+ },
+ {
+ "teal": 1871,
+ "source": 582,
+ "pc": [
+ 1869
+ ]
+ },
+ {
+ "teal": 1872,
+ "source": 582,
+ "pc": [
+ 1870
+ ]
+ },
+ {
+ "teal": 1873,
+ "source": 582,
+ "pc": [
+ 1871,
+ 1872
+ ]
+ },
+ {
+ "teal": 1874,
+ "source": 582,
+ "pc": [
+ 1873
+ ]
+ },
+ {
+ "teal": 1875,
+ "source": 582,
+ "pc": [
+ 1874
+ ]
+ },
+ {
+ "teal": 1876,
+ "source": 582,
+ "pc": [
+ 1875
+ ]
+ },
+ {
+ "teal": 1877,
+ "source": 582,
+ "pc": [
+ 1876,
+ 1877,
+ 1878
+ ]
+ },
+ {
+ "teal": 1878,
+ "source": 583,
+ "pc": [
+ 1879,
+ 1880
+ ]
+ },
+ {
+ "teal": 1879,
+ "source": 583,
+ "pc": [
+ 1881,
+ 1882
+ ]
+ },
+ {
+ "teal": 1880,
+ "source": 583,
+ "pc": [
+ 1883,
+ 1884
+ ]
+ },
+ {
+ "teal": 1881,
+ "source": 583,
+ "pc": [
+ 1885
+ ]
+ },
+ {
+ "teal": 1882,
+ "source": 583,
+ "pc": [
+ 1886,
+ 1887
+ ]
+ },
+ {
+ "teal": 1883,
+ "source": 583,
+ "pc": [
+ 1888
+ ]
+ },
+ {
+ "teal": 1884,
+ "source": 583,
+ "pc": [
+ 1889
+ ]
+ },
+ {
+ "teal": 1885,
+ "source": 583,
+ "pc": [
+ 1890,
+ 1891
+ ]
+ },
+ {
+ "teal": 1886,
+ "source": 583,
+ "pc": [
+ 1892
+ ]
+ },
+ {
+ "teal": 1887,
+ "source": 583,
+ "pc": [
+ 1893
+ ]
+ },
+ {
+ "teal": 1888,
+ "source": 582,
+ "pc": [
+ 1894
+ ]
+ },
+ {
+ "teal": 1892,
+ "source": 581,
+ "errorMessage": "can only be called by owner or manager of validator",
+ "pc": [
+ 1895
+ ]
+ },
+ {
+ "teal": 1897,
+ "source": 588,
+ "pc": [
+ 1896,
+ 1897
+ ]
+ },
+ {
+ "teal": 1898,
+ "source": 588,
+ "pc": [
+ 1898,
+ 1899
+ ]
+ },
+ {
+ "teal": 1899,
+ "source": 588,
+ "pc": [
+ 1900,
+ 1901,
+ 1902
+ ]
+ },
+ {
+ "teal": 1900,
+ "source": 588,
+ "pc": [
+ 1903,
+ 1904,
+ 1905
+ ]
+ },
+ {
+ "teal": 1901,
+ "source": 588,
+ "pc": [
+ 1906
+ ]
+ },
+ {
+ "teal": 1902,
+ "source": 588,
+ "pc": [
+ 1907
+ ]
+ },
+ {
+ "teal": 1905,
+ "source": 588,
+ "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addPoolMbr\"}",
+ "pc": [
+ 1908
+ ]
+ },
+ {
+ "teal": 1908,
+ "source": 588,
+ "pc": [
+ 1909,
+ 1910
+ ]
+ },
+ {
+ "teal": 1909,
+ "source": 588,
+ "pc": [
+ 1911,
+ 1912
+ ]
+ },
+ {
+ "teal": 1910,
+ "source": 588,
+ "pc": [
+ 1913,
+ 1914
+ ]
+ },
+ {
+ "teal": 1911,
+ "source": 588,
+ "pc": [
+ 1915
+ ]
+ },
+ {
+ "teal": 1914,
+ "source": 588,
+ "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 1916
+ ]
+ },
+ {
+ "teal": 1918,
+ "source": 590,
+ "pc": [
+ 1917
+ ]
+ },
+ {
+ "teal": 1919,
+ "source": 590,
+ "pc": [
+ 1918,
+ 1919
+ ]
+ },
+ {
+ "teal": 1920,
+ "source": 590,
+ "pc": [
+ 1920
+ ]
+ },
+ {
+ "teal": 1921,
+ "source": 590,
+ "pc": [
+ 1921
+ ]
+ },
+ {
+ "teal": 1922,
+ "source": 590,
+ "pc": [
+ 1922
+ ]
+ },
+ {
+ "teal": 1923,
+ "source": 590,
+ "pc": [
+ 1923
+ ]
+ },
+ {
+ "teal": 1924,
+ "source": 590,
+ "pc": [
+ 1924
+ ]
+ },
+ {
+ "teal": 1927,
+ "source": 590,
+ "errorMessage": "specified validator id isn't valid",
+ "pc": [
+ 1925
+ ]
+ },
+ {
+ "teal": 1931,
+ "source": 592,
+ "pc": [
+ 1926,
+ 1927
+ ]
+ },
+ {
+ "teal": 1932,
+ "source": 592,
+ "pc": [
+ 1928,
+ 1929
+ ]
+ },
+ {
+ "teal": 1933,
+ "source": 592,
+ "pc": [
+ 1930
+ ]
+ },
+ {
+ "teal": 1934,
+ "source": 592,
+ "pc": [
+ 1931,
+ 1932
+ ]
+ },
+ {
+ "teal": 1935,
+ "source": 592,
+ "pc": [
+ 1933
+ ]
+ },
+ {
+ "teal": 1936,
+ "source": 592,
+ "pc": [
+ 1934
+ ]
+ },
+ {
+ "teal": 1937,
+ "source": 592,
+ "pc": [
+ 1935,
+ 1936
+ ]
+ },
+ {
+ "teal": 1938,
+ "source": 592,
+ "pc": [
+ 1937
+ ]
+ },
+ {
+ "teal": 1939,
+ "source": 592,
+ "pc": [
+ 1938
+ ]
+ },
+ {
+ "teal": 1940,
+ "source": 592,
+ "pc": [
+ 1939,
+ 1940
+ ]
+ },
+ {
+ "teal": 1945,
+ "source": 593,
+ "pc": [
+ 1941,
+ 1942
+ ]
+ },
+ {
+ "teal": 1946,
+ "source": 32,
+ "pc": [
+ 1943
+ ]
+ },
+ {
+ "teal": 1947,
+ "source": 593,
+ "pc": [
+ 1944
+ ]
+ },
+ {
+ "teal": 1948,
+ "source": 593,
+ "pc": [
+ 1945,
+ 1946,
+ 1947
+ ]
+ },
+ {
+ "teal": 1952,
+ "source": 594,
+ "errorMessage": "already at max pool size",
+ "pc": [
+ 1948
+ ]
+ },
+ {
+ "teal": 1957,
+ "source": 596,
+ "pc": [
+ 1949,
+ 1950
+ ]
+ },
+ {
+ "teal": 1958,
+ "source": 596,
+ "pc": [
+ 1951
+ ]
+ },
+ {
+ "teal": 1959,
+ "source": 596,
+ "pc": [
+ 1952
+ ]
+ },
+ {
+ "teal": 1960,
+ "source": 596,
+ "pc": [
+ 1953,
+ 1954
+ ]
+ },
+ {
+ "teal": 1982,
+ "source": 599,
+ "pc": [
+ 1955
+ ]
+ },
+ {
+ "teal": 1983,
+ "source": 599,
+ "pc": [
+ 1956,
+ 1957
+ ]
+ },
+ {
+ "teal": 1984,
+ "source": 599,
+ "pc": [
+ 1958,
+ 1959
+ ]
+ },
+ {
+ "teal": 1988,
+ "source": 600,
+ "pc": [
+ 1960
+ ]
+ },
+ {
+ "teal": 1989,
+ "source": 600,
+ "pc": [
+ 1961,
+ 1962
+ ]
+ },
+ {
+ "teal": 1996,
+ "source": 602,
+ "pc": [
+ 1963,
+ 1964
+ ]
+ },
+ {
+ "teal": 1997,
+ "source": 602,
+ "pc": [
+ 1965
+ ]
+ },
+ {
+ "teal": 1998,
+ "source": 602,
+ "pc": [
+ 1966,
+ 1967
+ ]
+ },
+ {
+ "teal": 1999,
+ "source": 602,
+ "pc": [
+ 1968
+ ]
+ },
+ {
+ "teal": 2000,
+ "source": 602,
+ "pc": [
+ 1969,
+ 1970
+ ]
+ },
+ {
+ "teal": 2001,
+ "source": 603,
+ "pc": [
+ 1971,
+ 1972
+ ]
+ },
+ {
+ "teal": 2002,
+ "source": 603,
+ "pc": [
+ 1973,
+ 1974
+ ]
+ },
+ {
+ "teal": 2003,
+ "source": 603,
+ "pc": [
+ 1975,
+ 1976
+ ]
+ },
+ {
+ "teal": 2004,
+ "source": 603,
+ "pc": [
+ 1977
+ ]
+ },
+ {
+ "teal": 2007,
+ "source": 603,
+ "errorMessage": "box value does not exist: this.stakingPoolApprovalProgram.size",
+ "pc": [
+ 1978
+ ]
+ },
+ {
+ "teal": 2008,
+ "source": 603,
+ "pc": [
+ 1979,
+ 1980
+ ]
+ },
+ {
+ "teal": 2009,
+ "source": 603,
+ "pc": [
+ 1981
+ ]
+ },
+ {
+ "teal": 2010,
+ "source": 603,
+ "pc": [
+ 1982
+ ]
+ },
+ {
+ "teal": 2011,
+ "source": 603,
+ "pc": [
+ 1983,
+ 1984
+ ]
+ },
+ {
+ "teal": 2015,
+ "source": 605,
+ "pc": [
+ 1985,
+ 1986,
+ 1987
+ ]
+ },
+ {
+ "teal": 2016,
+ "source": 605,
+ "pc": [
+ 1988,
+ 1989
+ ]
+ },
+ {
+ "teal": 2020,
+ "source": 606,
+ "pc": [
+ 1990,
+ 1991
+ ]
+ },
+ {
+ "teal": 2021,
+ "source": 606,
+ "pc": [
+ 1992,
+ 1993
+ ]
+ },
+ {
+ "teal": 2025,
+ "source": 607,
+ "pc": [
+ 1994,
+ 1995
+ ]
+ },
+ {
+ "teal": 2026,
+ "source": 607,
+ "pc": [
+ 1996,
+ 1997
+ ]
+ },
+ {
+ "teal": 2030,
+ "source": 608,
+ "pc": [
+ 1998,
+ 1999
+ ]
+ },
+ {
+ "teal": 2031,
+ "source": 608,
+ "pc": [
+ 2000,
+ 2001
+ ]
+ },
+ {
+ "teal": 2042,
+ "source": 611,
+ "pc": [
+ 2002,
+ 2003,
+ 2004,
+ 2005,
+ 2006,
+ 2007
+ ]
+ },
+ {
+ "teal": 2043,
+ "source": 611,
+ "pc": [
+ 2008,
+ 2009
+ ]
+ },
+ {
+ "teal": 2044,
+ "source": 612,
+ "pc": [
+ 2010,
+ 2011,
+ 2012
+ ]
+ },
+ {
+ "teal": 2045,
+ "source": 612,
+ "pc": [
+ 2013
+ ]
+ },
+ {
+ "teal": 2046,
+ "source": 612,
+ "pc": [
+ 2014,
+ 2015
+ ]
+ },
+ {
+ "teal": 2047,
+ "source": 613,
+ "pc": [
+ 2016,
+ 2017
+ ]
+ },
+ {
+ "teal": 2048,
+ "source": 613,
+ "pc": [
+ 2018
+ ]
+ },
+ {
+ "teal": 2049,
+ "source": 613,
+ "pc": [
+ 2019,
+ 2020
+ ]
+ },
+ {
+ "teal": 2050,
+ "source": 614,
+ "pc": [
+ 2021,
+ 2022
+ ]
+ },
+ {
+ "teal": 2051,
+ "source": 614,
+ "pc": [
+ 2023
+ ]
+ },
+ {
+ "teal": 2052,
+ "source": 614,
+ "pc": [
+ 2024,
+ 2025
+ ]
+ },
+ {
+ "teal": 2053,
+ "source": 615,
+ "pc": [
+ 2026,
+ 2027
+ ]
+ },
+ {
+ "teal": 2054,
+ "source": 615,
+ "pc": [
+ 2028
+ ]
+ },
+ {
+ "teal": 2055,
+ "source": 615,
+ "pc": [
+ 2029
+ ]
+ },
+ {
+ "teal": 2056,
+ "source": 615,
+ "pc": [
+ 2030,
+ 2031
+ ]
+ },
+ {
+ "teal": 2057,
+ "source": 615,
+ "pc": [
+ 2032
+ ]
+ },
+ {
+ "teal": 2058,
+ "source": 615,
+ "pc": [
+ 2033
+ ]
+ },
+ {
+ "teal": 2059,
+ "source": 615,
+ "pc": [
+ 2034,
+ 2035
+ ]
+ },
+ {
+ "teal": 2060,
+ "source": 615,
+ "pc": [
+ 2036
+ ]
+ },
+ {
+ "teal": 2061,
+ "source": 615,
+ "pc": [
+ 2037
+ ]
+ },
+ {
+ "teal": 2062,
+ "source": 615,
+ "pc": [
+ 2038
+ ]
+ },
+ {
+ "teal": 2063,
+ "source": 615,
+ "pc": [
+ 2039,
+ 2040
+ ]
+ },
+ {
+ "teal": 2066,
+ "source": 599,
+ "pc": [
+ 2041
+ ]
+ },
+ {
+ "teal": 2067,
+ "source": 599,
+ "pc": [
+ 2042,
+ 2043
+ ]
+ },
+ {
+ "teal": 2070,
+ "source": 599,
+ "pc": [
+ 2044
+ ]
+ },
+ {
+ "teal": 2074,
+ "source": 619,
+ "pc": [
+ 2045,
+ 2046
+ ]
+ },
+ {
+ "teal": 2075,
+ "source": 619,
+ "pc": [
+ 2047,
+ 2048
+ ]
+ },
+ {
+ "teal": 2076,
+ "source": 619,
+ "pc": [
+ 2049
+ ]
+ },
+ {
+ "teal": 2077,
+ "source": 619,
+ "pc": [
+ 2050,
+ 2051,
+ 2052
+ ]
+ },
+ {
+ "teal": 2078,
+ "source": 619,
+ "pc": [
+ 2053
+ ]
+ },
+ {
+ "teal": 2079,
+ "source": 619,
+ "pc": [
+ 2054,
+ 2055
+ ]
+ },
+ {
+ "teal": 2080,
+ "source": 619,
+ "pc": [
+ 2056
+ ]
+ },
+ {
+ "teal": 2081,
+ "source": 619,
+ "pc": [
+ 2057
+ ]
+ },
+ {
+ "teal": 2082,
+ "source": 619,
+ "pc": [
+ 2058,
+ 2059
+ ]
+ },
+ {
+ "teal": 2083,
+ "source": 619,
+ "pc": [
+ 2060
+ ]
+ },
+ {
+ "teal": 2087,
+ "source": 622,
+ "pc": [
+ 2061,
+ 2062
+ ]
+ },
+ {
+ "teal": 2088,
+ "source": 622,
+ "pc": [
+ 2063,
+ 2064
+ ]
+ },
+ {
+ "teal": 2092,
+ "source": 623,
+ "pc": [
+ 2065,
+ 2066
+ ]
+ },
+ {
+ "teal": 2093,
+ "source": 623,
+ "pc": [
+ 2067,
+ 2068
+ ]
+ },
+ {
+ "teal": 2094,
+ "source": 623,
+ "pc": [
+ 2069
+ ]
+ },
+ {
+ "teal": 2095,
+ "source": 623,
+ "pc": [
+ 2070
+ ]
+ },
+ {
+ "teal": 2096,
+ "source": 623,
+ "pc": [
+ 2071,
+ 2072
+ ]
+ },
+ {
+ "teal": 2097,
+ "source": 623,
+ "pc": [
+ 2073
+ ]
+ },
+ {
+ "teal": 2098,
+ "source": 623,
+ "pc": [
+ 2074
+ ]
+ },
+ {
+ "teal": 2099,
+ "source": 623,
+ "pc": [
+ 2075
+ ]
+ },
+ {
+ "teal": 2100,
+ "source": 623,
+ "pc": [
+ 2076
+ ]
+ },
+ {
+ "teal": 2101,
+ "source": 623,
+ "pc": [
+ 2077,
+ 2078
+ ]
+ },
+ {
+ "teal": 2102,
+ "source": 623,
+ "pc": [
+ 2079
+ ]
+ },
+ {
+ "teal": 2103,
+ "source": 623,
+ "pc": [
+ 2080
+ ]
+ },
+ {
+ "teal": 2104,
+ "source": 623,
+ "pc": [
+ 2081,
+ 2082
+ ]
+ },
+ {
+ "teal": 2105,
+ "source": 623,
+ "pc": [
+ 2083
+ ]
+ },
+ {
+ "teal": 2106,
+ "source": 623,
+ "pc": [
+ 2084
+ ]
+ },
+ {
+ "teal": 2107,
+ "source": 623,
+ "pc": [
+ 2085,
+ 2086
+ ]
+ },
+ {
+ "teal": 2108,
+ "source": 623,
+ "pc": [
+ 2087
+ ]
+ },
+ {
+ "teal": 2112,
+ "source": 624,
+ "pc": [
+ 2088,
+ 2089
+ ]
+ },
+ {
+ "teal": 2113,
+ "source": 624,
+ "pc": [
+ 2090,
+ 2091
+ ]
+ },
+ {
+ "teal": 2114,
+ "source": 624,
+ "pc": [
+ 2092,
+ 2093
+ ]
+ },
+ {
+ "teal": 2115,
+ "source": 624,
+ "pc": [
+ 2094,
+ 2095,
+ 2096
+ ]
+ },
+ {
+ "teal": 2119,
+ "source": 632,
+ "pc": [
+ 2097,
+ 2098
+ ]
+ },
+ {
+ "teal": 2120,
+ "source": 632,
+ "pc": [
+ 2099
+ ]
+ },
+ {
+ "teal": 2121,
+ "source": 632,
+ "pc": [
+ 2100,
+ 2101
+ ]
+ },
+ {
+ "teal": 2122,
+ "source": 632,
+ "pc": [
+ 2102
+ ]
+ },
+ {
+ "teal": 2123,
+ "source": 632,
+ "pc": [
+ 2103
+ ]
+ },
+ {
+ "teal": 2124,
+ "source": 632,
+ "pc": [
+ 2104,
+ 2105
+ ]
+ },
+ {
+ "teal": 2125,
+ "source": 632,
+ "pc": [
+ 2106
+ ]
+ },
+ {
+ "teal": 2126,
+ "source": 632,
+ "pc": [
+ 2107
+ ]
+ },
+ {
+ "teal": 2129,
+ "source": 579,
+ "pc": [
+ 2108,
+ 2109
+ ]
+ },
+ {
+ "teal": 2132,
+ "source": 579,
+ "pc": [
+ 2110,
+ 2111
+ ]
+ },
+ {
+ "teal": 2133,
+ "source": 579,
+ "pc": [
+ 2112
+ ]
+ },
+ {
+ "teal": 2138,
+ "source": 644,
+ "pc": [
+ 2113
+ ]
+ },
+ {
+ "teal": 2141,
+ "source": 644,
+ "pc": [
+ 2114,
+ 2115,
+ 2116
+ ]
+ },
+ {
+ "teal": 2142,
+ "source": 644,
+ "pc": [
+ 2117
+ ]
+ },
+ {
+ "teal": 2145,
+ "source": 644,
+ "pc": [
+ 2118,
+ 2119,
+ 2120
+ ]
+ },
+ {
+ "teal": 2146,
+ "source": 644,
+ "pc": [
+ 2121
+ ]
+ },
+ {
+ "teal": 2149,
+ "source": 644,
+ "pc": [
+ 2122,
+ 2123
+ ]
+ },
+ {
+ "teal": 2150,
+ "source": 644,
+ "pc": [
+ 2124
+ ]
+ },
+ {
+ "teal": 2151,
+ "source": 644,
+ "pc": [
+ 2125
+ ]
+ },
+ {
+ "teal": 2152,
+ "source": 644,
+ "pc": [
+ 2126
+ ]
+ },
+ {
+ "teal": 2153,
+ "source": 644,
+ "pc": [
+ 2127,
+ 2128
+ ]
+ },
+ {
+ "teal": 2154,
+ "source": 644,
+ "pc": [
+ 2129
+ ]
+ },
+ {
+ "teal": 2155,
+ "source": 644,
+ "pc": [
+ 2130
+ ]
+ },
+ {
+ "teal": 2158,
+ "source": 644,
+ "errorMessage": "argument 2 (stakedAmountPayment) for addStake must be a pay transaction",
+ "pc": [
+ 2131
+ ]
+ },
+ {
+ "teal": 2161,
+ "source": 644,
+ "pc": [
+ 2132,
+ 2133,
+ 2134
+ ]
+ },
+ {
+ "teal": 2162,
+ "source": 644,
+ "pc": [
+ 2135
+ ]
+ },
+ {
+ "teal": 2163,
+ "source": 644,
+ "pc": [
+ 2136
+ ]
+ },
+ {
+ "teal": 2164,
+ "source": 644,
+ "pc": [
+ 2137
+ ]
+ },
+ {
+ "teal": 2165,
+ "source": 644,
+ "pc": [
+ 2138
+ ]
+ },
+ {
+ "teal": 2177,
+ "source": 644,
+ "pc": [
+ 2139,
+ 2140,
+ 2141
+ ]
+ },
+ {
+ "teal": 2180,
+ "source": 644,
+ "pc": [
+ 2142
+ ]
+ },
+ {
+ "teal": 2181,
+ "source": 644,
+ "pc": [
+ 2143,
+ 2144
+ ]
+ },
+ {
+ "teal": 2185,
+ "source": 645,
+ "pc": [
+ 2145
+ ]
+ },
+ {
+ "teal": 2186,
+ "source": 645,
+ "pc": [
+ 2146,
+ 2147
+ ]
+ },
+ {
+ "teal": 2187,
+ "source": 645,
+ "pc": [
+ 2148
+ ]
+ },
+ {
+ "teal": 2188,
+ "source": 645,
+ "pc": [
+ 2149
+ ]
+ },
+ {
+ "teal": 2189,
+ "source": 645,
+ "pc": [
+ 2150
+ ]
+ },
+ {
+ "teal": 2190,
+ "source": 645,
+ "pc": [
+ 2151
+ ]
+ },
+ {
+ "teal": 2191,
+ "source": 645,
+ "pc": [
+ 2152
+ ]
+ },
+ {
+ "teal": 2194,
+ "source": 645,
+ "errorMessage": "specified validator id isn't valid",
+ "pc": [
+ 2153
+ ]
+ },
+ {
+ "teal": 2199,
+ "source": 648,
+ "pc": [
+ 2154,
+ 2155
+ ]
+ },
+ {
+ "teal": 2200,
+ "source": 648,
+ "pc": [
+ 2156
+ ]
+ },
+ {
+ "teal": 2201,
+ "source": 648,
+ "pc": [
+ 2157
+ ]
+ },
+ {
+ "teal": 2202,
+ "source": 648,
+ "pc": [
+ 2158,
+ 2159
+ ]
+ },
+ {
+ "teal": 2203,
+ "source": 648,
+ "pc": [
+ 2160
+ ]
+ },
+ {
+ "teal": 2204,
+ "source": 648,
+ "pc": [
+ 2161
+ ]
+ },
+ {
+ "teal": 2205,
+ "source": 648,
+ "pc": [
+ 2162,
+ 2163
+ ]
+ },
+ {
+ "teal": 2206,
+ "source": 648,
+ "pc": [
+ 2164
+ ]
+ },
+ {
+ "teal": 2207,
+ "source": 648,
+ "pc": [
+ 2165
+ ]
+ },
+ {
+ "teal": 2208,
+ "source": 648,
+ "pc": [
+ 2166
+ ]
+ },
+ {
+ "teal": 2209,
+ "source": 648,
+ "pc": [
+ 2167
+ ]
+ },
+ {
+ "teal": 2210,
+ "source": 648,
+ "pc": [
+ 2168,
+ 2169,
+ 2170
+ ]
+ },
+ {
+ "teal": 2218,
+ "source": 650,
+ "pc": [
+ 2171,
+ 2172
+ ]
+ },
+ {
+ "teal": 2219,
+ "source": 650,
+ "pc": [
+ 2173
+ ]
+ },
+ {
+ "teal": 2220,
+ "source": 650,
+ "pc": [
+ 2174
+ ]
+ },
+ {
+ "teal": 2221,
+ "source": 650,
+ "pc": [
+ 2175,
+ 2176
+ ]
+ },
+ {
+ "teal": 2222,
+ "source": 650,
+ "pc": [
+ 2177
+ ]
+ },
+ {
+ "teal": 2223,
+ "source": 650,
+ "pc": [
+ 2178
+ ]
+ },
+ {
+ "teal": 2224,
+ "source": 650,
+ "pc": [
+ 2179,
+ 2180
+ ]
+ },
+ {
+ "teal": 2225,
+ "source": 650,
+ "pc": [
+ 2181
+ ]
+ },
+ {
+ "teal": 2226,
+ "source": 650,
+ "pc": [
+ 2182
+ ]
+ },
+ {
+ "teal": 2227,
+ "source": 650,
+ "pc": [
+ 2183,
+ 2184
+ ]
+ },
+ {
+ "teal": 2228,
+ "source": 650,
+ "pc": [
+ 2185
+ ]
+ },
+ {
+ "teal": 2231,
+ "source": 649,
+ "errorMessage": "can't stake with a validator that is past its sunsetting time",
+ "pc": [
+ 2186
+ ]
+ },
+ {
+ "teal": 2236,
+ "source": 655,
+ "pc": [
+ 2187,
+ 2188
+ ]
+ },
+ {
+ "teal": 2237,
+ "source": 655,
+ "pc": [
+ 2189,
+ 2190
+ ]
+ },
+ {
+ "teal": 2245,
+ "source": 659,
+ "pc": [
+ 2191,
+ 2192
+ ]
+ },
+ {
+ "teal": 2246,
+ "source": 660,
+ "pc": [
+ 2193,
+ 2194
+ ]
+ },
+ {
+ "teal": 2247,
+ "source": 660,
+ "pc": [
+ 2195,
+ 2196
+ ]
+ },
+ {
+ "teal": 2248,
+ "source": 660,
+ "pc": [
+ 2197
+ ]
+ },
+ {
+ "teal": 2251,
+ "source": 660,
+ "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"staker\"}",
+ "pc": [
+ 2198
+ ]
+ },
+ {
+ "teal": 2254,
+ "source": 659,
+ "pc": [
+ 2199,
+ 2200
+ ]
+ },
+ {
+ "teal": 2255,
+ "source": 661,
+ "pc": [
+ 2201,
+ 2202
+ ]
+ },
+ {
+ "teal": 2256,
+ "source": 661,
+ "pc": [
+ 2203,
+ 2204
+ ]
+ },
+ {
+ "teal": 2257,
+ "source": 661,
+ "pc": [
+ 2205
+ ]
+ },
+ {
+ "teal": 2260,
+ "source": 661,
+ "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 2206
+ ]
+ },
+ {
+ "teal": 2267,
+ "source": 667,
+ "pc": [
+ 2207,
+ 2208
+ ]
+ },
+ {
+ "teal": 2268,
+ "source": 667,
+ "pc": [
+ 2209
+ ]
+ },
+ {
+ "teal": 2269,
+ "source": 667,
+ "pc": [
+ 2210
+ ]
+ },
+ {
+ "teal": 2270,
+ "source": 667,
+ "pc": [
+ 2211,
+ 2212
+ ]
+ },
+ {
+ "teal": 2271,
+ "source": 667,
+ "pc": [
+ 2213
+ ]
+ },
+ {
+ "teal": 2272,
+ "source": 667,
+ "pc": [
+ 2214
+ ]
+ },
+ {
+ "teal": 2273,
+ "source": 667,
+ "pc": [
+ 2215,
+ 2216
+ ]
+ },
+ {
+ "teal": 2274,
+ "source": 667,
+ "pc": [
+ 2217
+ ]
+ },
+ {
+ "teal": 2275,
+ "source": 667,
+ "pc": [
+ 2218
+ ]
+ },
+ {
+ "teal": 2276,
+ "source": 667,
+ "pc": [
+ 2219,
+ 2220,
+ 2221
+ ]
+ },
+ {
+ "teal": 2277,
+ "source": 667,
+ "pc": [
+ 2222
+ ]
+ },
+ {
+ "teal": 2280,
+ "source": 666,
+ "errorMessage": "total staked for all of a validators pools may not exceed hard cap",
+ "pc": [
+ 2223
+ ]
+ },
+ {
+ "teal": 2284,
+ "source": 673,
+ "pc": [
+ 2224,
+ 2225
+ ]
+ },
+ {
+ "teal": 2285,
+ "source": 673,
+ "pc": [
+ 2226,
+ 2227
+ ]
+ },
+ {
+ "teal": 2286,
+ "source": 673,
+ "pc": [
+ 2228,
+ 2229,
+ 2230
+ ]
+ },
+ {
+ "teal": 2290,
+ "source": 675,
+ "pc": [
+ 2231,
+ 2232
+ ]
+ },
+ {
+ "teal": 2291,
+ "source": 675,
+ "pc": [
+ 2233,
+ 2234
+ ]
+ },
+ {
+ "teal": 2292,
+ "source": 675,
+ "pc": [
+ 2235,
+ 2236
+ ]
+ },
+ {
+ "teal": 2296,
+ "source": 676,
+ "pc": [
+ 2237
+ ]
+ },
+ {
+ "teal": 2297,
+ "source": 676,
+ "pc": [
+ 2238,
+ 2239
+ ]
+ },
+ {
+ "teal": 2302,
+ "source": 678,
+ "pc": [
+ 2240
+ ]
+ },
+ {
+ "teal": 2303,
+ "source": 678,
+ "pc": [
+ 2241,
+ 2242
+ ]
+ },
+ {
+ "teal": 2304,
+ "source": 678,
+ "pc": [
+ 2243
+ ]
+ },
+ {
+ "teal": 2305,
+ "source": 678,
+ "pc": [
+ 2244
+ ]
+ },
+ {
+ "teal": 2306,
+ "source": 678,
+ "pc": [
+ 2245
+ ]
+ },
+ {
+ "teal": 2307,
+ "source": 678,
+ "pc": [
+ 2246
+ ]
+ },
+ {
+ "teal": 2308,
+ "source": 678,
+ "pc": [
+ 2247
+ ]
+ },
+ {
+ "teal": 2309,
+ "source": 678,
+ "pc": [
+ 2248,
+ 2249,
+ 2250
+ ]
+ },
+ {
+ "teal": 2314,
+ "source": 681,
+ "pc": [
+ 2251,
+ 2252,
+ 2253
+ ]
+ },
+ {
+ "teal": 2315,
+ "source": 681,
+ "pc": [
+ 2254,
+ 2255,
+ 2256
+ ]
+ },
+ {
+ "teal": 2316,
+ "source": 681,
+ "pc": [
+ 2257
+ ]
+ },
+ {
+ "teal": 2317,
+ "source": 681,
+ "pc": [
+ 2258,
+ 2259
+ ]
+ },
+ {
+ "teal": 2321,
+ "source": 682,
+ "pc": [
+ 2260,
+ 2261
+ ]
+ },
+ {
+ "teal": 2322,
+ "source": 682,
+ "pc": [
+ 2262,
+ 2263
+ ]
+ },
+ {
+ "teal": 2323,
+ "source": 682,
+ "pc": [
+ 2264
+ ]
+ },
+ {
+ "teal": 2324,
+ "source": 682,
+ "pc": [
+ 2265,
+ 2266
+ ]
+ },
+ {
+ "teal": 2328,
+ "source": 683,
+ "pc": [
+ 2267
+ ]
+ },
+ {
+ "teal": 2329,
+ "source": 683,
+ "pc": [
+ 2268,
+ 2269
+ ]
+ },
+ {
+ "teal": 2330,
+ "source": 683,
+ "pc": [
+ 2270
+ ]
+ },
+ {
+ "teal": 2331,
+ "source": 683,
+ "pc": [
+ 2271,
+ 2272,
+ 2273
+ ]
+ },
+ {
+ "teal": 2332,
+ "source": 683,
+ "pc": [
+ 2274
+ ]
+ },
+ {
+ "teal": 2333,
+ "source": 683,
+ "pc": [
+ 2275
+ ]
+ },
+ {
+ "teal": 2338,
+ "source": 687,
+ "pc": [
+ 2276,
+ 2277
+ ]
+ },
+ {
+ "teal": 2339,
+ "source": 687,
+ "pc": [
+ 2278,
+ 2279
+ ]
+ },
+ {
+ "teal": 2340,
+ "source": 687,
+ "pc": [
+ 2280,
+ 2281
+ ]
+ },
+ {
+ "teal": 2341,
+ "source": 687,
+ "pc": [
+ 2282,
+ 2283,
+ 2284
+ ]
+ },
+ {
+ "teal": 2342,
+ "source": 687,
+ "pc": [
+ 2285,
+ 2286
+ ]
+ },
+ {
+ "teal": 2348,
+ "source": 689,
+ "pc": [
+ 2287,
+ 2288
+ ]
+ },
+ {
+ "teal": 2349,
+ "source": 689,
+ "pc": [
+ 2289,
+ 2290
+ ]
+ },
+ {
+ "teal": 2350,
+ "source": 689,
+ "pc": [
+ 2291,
+ 2292
+ ]
+ },
+ {
+ "teal": 2351,
+ "source": 689,
+ "pc": [
+ 2293,
+ 2294
+ ]
+ },
+ {
+ "teal": 2352,
+ "source": 689,
+ "pc": [
+ 2295
+ ]
+ },
+ {
+ "teal": 2353,
+ "source": 689,
+ "pc": [
+ 2296,
+ 2297
+ ]
+ },
+ {
+ "teal": 2357,
+ "source": 690,
+ "pc": [
+ 2298,
+ 2299
+ ]
+ },
+ {
+ "teal": 2358,
+ "source": 690,
+ "pc": [
+ 2300,
+ 2301
+ ]
+ },
+ {
+ "teal": 2359,
+ "source": 690,
+ "pc": [
+ 2302,
+ 2303
+ ]
+ },
+ {
+ "teal": 2360,
+ "source": 690,
+ "pc": [
+ 2304,
+ 2305,
+ 2306
+ ]
+ },
+ {
+ "teal": 2361,
+ "source": 690,
+ "pc": [
+ 2307
+ ]
+ },
+ {
+ "teal": 2362,
+ "source": 690,
+ "pc": [
+ 2308,
+ 2309
+ ]
+ },
+ {
+ "teal": 2367,
+ "source": 691,
+ "pc": [
+ 2310,
+ 2311
+ ]
+ },
+ {
+ "teal": 2368,
+ "source": 691,
+ "pc": [
+ 2312,
+ 2313
+ ]
+ },
+ {
+ "teal": 2369,
+ "source": 691,
+ "pc": [
+ 2314,
+ 2315
+ ]
+ },
+ {
+ "teal": 2370,
+ "source": 691,
+ "pc": [
+ 2316,
+ 2317,
+ 2318
+ ]
+ },
+ {
+ "teal": 2371,
+ "source": 691,
+ "pc": [
+ 2319
+ ]
+ },
+ {
+ "teal": 2372,
+ "source": 691,
+ "pc": [
+ 2320
+ ]
+ },
+ {
+ "teal": 2373,
+ "source": 691,
+ "pc": [
+ 2321
+ ]
+ },
+ {
+ "teal": 2374,
+ "source": 691,
+ "pc": [
+ 2322,
+ 2323,
+ 2324
+ ]
+ },
+ {
+ "teal": 2378,
+ "source": 692,
+ "errorMessage": "No pool available with free stake. Validator needs to add another pool",
+ "pc": [
+ 2325
+ ]
+ },
+ {
+ "teal": 2383,
+ "source": 696,
+ "pc": [
+ 2326,
+ 2327
+ ]
+ },
+ {
+ "teal": 2384,
+ "source": 696,
+ "pc": [
+ 2328,
+ 2329
+ ]
+ },
+ {
+ "teal": 2385,
+ "source": 696,
+ "pc": [
+ 2330,
+ 2331
+ ]
+ },
+ {
+ "teal": 2386,
+ "source": 696,
+ "pc": [
+ 2332,
+ 2333,
+ 2334
+ ]
+ },
+ {
+ "teal": 2387,
+ "source": 696,
+ "pc": [
+ 2335,
+ 2336
+ ]
+ },
+ {
+ "teal": 2388,
+ "source": 696,
+ "pc": [
+ 2337,
+ 2338,
+ 2339
+ ]
+ },
+ {
+ "teal": 2398,
+ "source": 704,
+ "pc": [
+ 2340,
+ 2341
+ ]
+ },
+ {
+ "teal": 2399,
+ "source": 703,
+ "pc": [
+ 2342,
+ 2343
+ ]
+ },
+ {
+ "teal": 2400,
+ "source": 702,
+ "pc": [
+ 2344,
+ 2345
+ ]
+ },
+ {
+ "teal": 2401,
+ "source": 701,
+ "pc": [
+ 2346,
+ 2347
+ ]
+ },
+ {
+ "teal": 2402,
+ "source": 701,
+ "pc": [
+ 2348,
+ 2349
+ ]
+ },
+ {
+ "teal": 2403,
+ "source": 701,
+ "pc": [
+ 2350,
+ 2351
+ ]
+ },
+ {
+ "teal": 2404,
+ "source": 701,
+ "pc": [
+ 2352,
+ 2353,
+ 2354
+ ]
+ },
+ {
+ "teal": 2405,
+ "source": 700,
+ "pc": [
+ 2355,
+ 2356
+ ]
+ },
+ {
+ "teal": 2406,
+ "source": 699,
+ "pc": [
+ 2357,
+ 2358,
+ 2359
+ ]
+ },
+ {
+ "teal": 2410,
+ "source": 714,
+ "pc": [
+ 2360,
+ 2361
+ ]
+ },
+ {
+ "teal": 2411,
+ "source": 714,
+ "pc": [
+ 2362,
+ 2363
+ ]
+ },
+ {
+ "teal": 2412,
+ "source": 714,
+ "pc": [
+ 2364,
+ 2365
+ ]
+ },
+ {
+ "teal": 2413,
+ "source": 714,
+ "pc": [
+ 2366,
+ 2367,
+ 2368
+ ]
+ },
+ {
+ "teal": 2416,
+ "source": 644,
+ "pc": [
+ 2369,
+ 2370
+ ]
+ },
+ {
+ "teal": 2419,
+ "source": 644,
+ "pc": [
+ 2371,
+ 2372
+ ]
+ },
+ {
+ "teal": 2420,
+ "source": 644,
+ "pc": [
+ 2373
+ ]
+ },
+ {
+ "teal": 2425,
+ "source": 732,
+ "pc": [
+ 2374
+ ]
+ },
+ {
+ "teal": 2428,
+ "source": 732,
+ "pc": [
+ 2375,
+ 2376,
+ 2377
+ ]
+ },
+ {
+ "teal": 2429,
+ "source": 732,
+ "pc": [
+ 2378
+ ]
+ },
+ {
+ "teal": 2432,
+ "source": 732,
+ "pc": [
+ 2379,
+ 2380,
+ 2381
+ ]
+ },
+ {
+ "teal": 2433,
+ "source": 732,
+ "pc": [
+ 2382
+ ]
+ },
+ {
+ "teal": 2434,
+ "source": 732,
+ "pc": [
+ 2383
+ ]
+ },
+ {
+ "teal": 2435,
+ "source": 732,
+ "pc": [
+ 2384
+ ]
+ },
+ {
+ "teal": 2436,
+ "source": 732,
+ "pc": [
+ 2385
+ ]
+ },
+ {
+ "teal": 2454,
+ "source": 732,
+ "pc": [
+ 2386,
+ 2387,
+ 2388
+ ]
+ },
+ {
+ "teal": 2457,
+ "source": 732,
+ "pc": [
+ 2389
+ ]
+ },
+ {
+ "teal": 2458,
+ "source": 732,
+ "pc": [
+ 2390,
+ 2391
+ ]
+ },
+ {
+ "teal": 2462,
+ "source": 734,
+ "pc": [
+ 2392,
+ 2393
+ ]
+ },
+ {
+ "teal": 2463,
+ "source": 734,
+ "pc": [
+ 2394
+ ]
+ },
+ {
+ "teal": 2464,
+ "source": 734,
+ "pc": [
+ 2395
+ ]
+ },
+ {
+ "teal": 2465,
+ "source": 734,
+ "pc": [
+ 2396,
+ 2397
+ ]
+ },
+ {
+ "teal": 2466,
+ "source": 734,
+ "pc": [
+ 2398
+ ]
+ },
+ {
+ "teal": 2467,
+ "source": 734,
+ "pc": [
+ 2399
+ ]
+ },
+ {
+ "teal": 2468,
+ "source": 734,
+ "pc": [
+ 2400,
+ 2401
+ ]
+ },
+ {
+ "teal": 2469,
+ "source": 734,
+ "pc": [
+ 2402
+ ]
+ },
+ {
+ "teal": 2470,
+ "source": 734,
+ "pc": [
+ 2403
+ ]
+ },
+ {
+ "teal": 2471,
+ "source": 734,
+ "pc": [
+ 2404,
+ 2405
+ ]
+ },
+ {
+ "teal": 2475,
+ "source": 735,
+ "pc": [
+ 2406,
+ 2407
+ ]
+ },
+ {
+ "teal": 2476,
+ "source": 735,
+ "pc": [
+ 2408
+ ]
+ },
+ {
+ "teal": 2477,
+ "source": 735,
+ "pc": [
+ 2409
+ ]
+ },
+ {
+ "teal": 2478,
+ "source": 735,
+ "pc": [
+ 2410
+ ]
+ },
+ {
+ "teal": 2483,
+ "source": 737,
+ "pc": [
+ 2411,
+ 2412
+ ]
+ },
+ {
+ "teal": 2484,
+ "source": 737,
+ "pc": [
+ 2413,
+ 2414
+ ]
+ },
+ {
+ "teal": 2485,
+ "source": 737,
+ "pc": [
+ 2415,
+ 2416
+ ]
+ },
+ {
+ "teal": 2486,
+ "source": 737,
+ "pc": [
+ 2417
+ ]
+ },
+ {
+ "teal": 2487,
+ "source": 737,
+ "pc": [
+ 2418
+ ]
+ },
+ {
+ "teal": 2488,
+ "source": 737,
+ "pc": [
+ 2419,
+ 2420,
+ 2421
+ ]
+ },
+ {
+ "teal": 2493,
+ "source": 738,
+ "pc": [
+ 2422,
+ 2423
+ ]
+ },
+ {
+ "teal": 2494,
+ "source": 738,
+ "pc": [
+ 2424,
+ 2425
+ ]
+ },
+ {
+ "teal": 2495,
+ "source": 738,
+ "pc": [
+ 2426
+ ]
+ },
+ {
+ "teal": 2496,
+ "source": 738,
+ "pc": [
+ 2427,
+ 2428
+ ]
+ },
+ {
+ "teal": 2497,
+ "source": 738,
+ "pc": [
+ 2429
+ ]
+ },
+ {
+ "teal": 2498,
+ "source": 738,
+ "pc": [
+ 2430
+ ]
+ },
+ {
+ "teal": 2499,
+ "source": 738,
+ "pc": [
+ 2431,
+ 2432
+ ]
+ },
+ {
+ "teal": 2500,
+ "source": 738,
+ "pc": [
+ 2433
+ ]
+ },
+ {
+ "teal": 2501,
+ "source": 738,
+ "pc": [
+ 2434,
+ 2435,
+ 2436
+ ]
+ },
+ {
+ "teal": 2506,
+ "source": 744,
+ "pc": [
+ 2437,
+ 2438
+ ]
+ },
+ {
+ "teal": 2507,
+ "source": 744,
+ "pc": [
+ 2439,
+ 2440
+ ]
+ },
+ {
+ "teal": 2511,
+ "source": 745,
+ "pc": [
+ 2441,
+ 2442
+ ]
+ },
+ {
+ "teal": 2512,
+ "source": 745,
+ "pc": [
+ 2443
+ ]
+ },
+ {
+ "teal": 2513,
+ "source": 745,
+ "pc": [
+ 2444
+ ]
+ },
+ {
+ "teal": 2514,
+ "source": 745,
+ "pc": [
+ 2445,
+ 2446
+ ]
+ },
+ {
+ "teal": 2515,
+ "source": 745,
+ "pc": [
+ 2447
+ ]
+ },
+ {
+ "teal": 2516,
+ "source": 745,
+ "pc": [
+ 2448
+ ]
+ },
+ {
+ "teal": 2517,
+ "source": 745,
+ "pc": [
+ 2449,
+ 2450
+ ]
+ },
+ {
+ "teal": 2518,
+ "source": 745,
+ "pc": [
+ 2451
+ ]
+ },
+ {
+ "teal": 2519,
+ "source": 745,
+ "pc": [
+ 2452
+ ]
+ },
+ {
+ "teal": 2520,
+ "source": 745,
+ "pc": [
+ 2453,
+ 2454
+ ]
+ },
+ {
+ "teal": 2525,
+ "source": 746,
+ "pc": [
+ 2455,
+ 2456
+ ]
+ },
+ {
+ "teal": 2526,
+ "source": 746,
+ "pc": [
+ 2457
+ ]
+ },
+ {
+ "teal": 2527,
+ "source": 746,
+ "pc": [
+ 2458
+ ]
+ },
+ {
+ "teal": 2528,
+ "source": 746,
+ "pc": [
+ 2459,
+ 2460,
+ 2461
+ ]
+ },
+ {
+ "teal": 2534,
+ "source": 748,
+ "pc": [
+ 2462,
+ 2463
+ ]
+ },
+ {
+ "teal": 2535,
+ "source": 748,
+ "pc": [
+ 2464,
+ 2465,
+ 2466,
+ 2467,
+ 2468,
+ 2469,
+ 2470,
+ 2471,
+ 2472,
+ 2473,
+ 2474,
+ 2475
+ ]
+ },
+ {
+ "teal": 2536,
+ "source": 748,
+ "pc": [
+ 2476
+ ]
+ },
+ {
+ "teal": 2539,
+ "source": 748,
+ "errorMessage": "global state value does not exist: AppID.fromUint64(pool1AppID).globalState('lastPayout')",
+ "pc": [
+ 2477
+ ]
+ },
+ {
+ "teal": 2540,
+ "source": 748,
+ "pc": [
+ 2478,
+ 2479
+ ]
+ },
+ {
+ "teal": 2541,
+ "source": 748,
+ "pc": [
+ 2480
+ ]
+ },
+ {
+ "teal": 2542,
+ "source": 748,
+ "pc": [
+ 2481,
+ 2482,
+ 2483
+ ]
+ },
+ {
+ "teal": 2547,
+ "source": 749,
+ "pc": [
+ 2484,
+ 2485
+ ]
+ },
+ {
+ "teal": 2548,
+ "source": 749,
+ "pc": [
+ 2486,
+ 2487
+ ]
+ },
+ {
+ "teal": 2549,
+ "source": 749,
+ "pc": [
+ 2488
+ ]
+ },
+ {
+ "teal": 2550,
+ "source": 749,
+ "pc": [
+ 2489,
+ 2490
+ ]
+ },
+ {
+ "teal": 2551,
+ "source": 749,
+ "pc": [
+ 2491
+ ]
+ },
+ {
+ "teal": 2552,
+ "source": 749,
+ "pc": [
+ 2492
+ ]
+ },
+ {
+ "teal": 2553,
+ "source": 749,
+ "pc": [
+ 2493,
+ 2494
+ ]
+ },
+ {
+ "teal": 2554,
+ "source": 749,
+ "pc": [
+ 2495
+ ]
+ },
+ {
+ "teal": 2555,
+ "source": 749,
+ "pc": [
+ 2496,
+ 2497,
+ 2498
+ ]
+ },
+ {
+ "teal": 2560,
+ "source": 751,
+ "pc": [
+ 2499,
+ 2500,
+ 2501
+ ]
+ },
+ {
+ "teal": 2561,
+ "source": 751,
+ "pc": [
+ 2502,
+ 2503
+ ]
+ },
+ {
+ "teal": 2562,
+ "source": 751,
+ "pc": [
+ 2504
+ ]
+ },
+ {
+ "teal": 2563,
+ "source": 751,
+ "pc": [
+ 2505,
+ 2506
+ ]
+ },
+ {
+ "teal": 2564,
+ "source": 751,
+ "pc": [
+ 2507
+ ]
+ },
+ {
+ "teal": 2565,
+ "source": 751,
+ "pc": [
+ 2508
+ ]
+ },
+ {
+ "teal": 2566,
+ "source": 751,
+ "pc": [
+ 2509,
+ 2510
+ ]
+ },
+ {
+ "teal": 2567,
+ "source": 751,
+ "pc": [
+ 2511
+ ]
+ },
+ {
+ "teal": 2568,
+ "source": 751,
+ "pc": [
+ 2512
+ ]
+ },
+ {
+ "teal": 2569,
+ "source": 751,
+ "pc": [
+ 2513,
+ 2514
+ ]
+ },
+ {
+ "teal": 2573,
+ "source": 752,
+ "pc": [
+ 2515,
+ 2516
+ ]
+ },
+ {
+ "teal": 2574,
+ "source": 752,
+ "pc": [
+ 2517,
+ 2518
+ ]
+ },
+ {
+ "teal": 2575,
+ "source": 752,
+ "pc": [
+ 2519,
+ 2520
+ ]
+ },
+ {
+ "teal": 2576,
+ "source": 752,
+ "pc": [
+ 2521
+ ]
+ },
+ {
+ "teal": 2577,
+ "source": 752,
+ "pc": [
+ 2522
+ ]
+ },
+ {
+ "teal": 2578,
+ "source": 752,
+ "pc": [
+ 2523,
+ 2524
+ ]
+ },
+ {
+ "teal": 2583,
+ "source": 754,
+ "pc": [
+ 2525,
+ 2526
+ ]
+ },
+ {
+ "teal": 2584,
+ "source": 754,
+ "pc": [
+ 2527,
+ 2528
+ ]
+ },
+ {
+ "teal": 2585,
+ "source": 754,
+ "pc": [
+ 2529,
+ 2530
+ ]
+ },
+ {
+ "teal": 2586,
+ "source": 754,
+ "pc": [
+ 2531
+ ]
+ },
+ {
+ "teal": 2587,
+ "source": 754,
+ "pc": [
+ 2532
+ ]
+ },
+ {
+ "teal": 2588,
+ "source": 754,
+ "pc": [
+ 2533,
+ 2534
+ ]
+ },
+ {
+ "teal": 2589,
+ "source": 754,
+ "pc": [
+ 2535
+ ]
+ },
+ {
+ "teal": 2590,
+ "source": 754,
+ "pc": [
+ 2536,
+ 2537,
+ 2538
+ ]
+ },
+ {
+ "teal": 2595,
+ "source": 755,
+ "pc": [
+ 2539,
+ 2540
+ ]
+ },
+ {
+ "teal": 2596,
+ "source": 755,
+ "pc": [
+ 2541,
+ 2542
+ ]
+ },
+ {
+ "teal": 2597,
+ "source": 755,
+ "pc": [
+ 2543
+ ]
+ },
+ {
+ "teal": 2598,
+ "source": 755,
+ "pc": [
+ 2544,
+ 2545
+ ]
+ },
+ {
+ "teal": 2599,
+ "source": 755,
+ "pc": [
+ 2546
+ ]
+ },
+ {
+ "teal": 2600,
+ "source": 755,
+ "pc": [
+ 2547
+ ]
+ },
+ {
+ "teal": 2601,
+ "source": 755,
+ "pc": [
+ 2548,
+ 2549
+ ]
+ },
+ {
+ "teal": 2602,
+ "source": 755,
+ "pc": [
+ 2550
+ ]
+ },
+ {
+ "teal": 2603,
+ "source": 755,
+ "pc": [
+ 2551,
+ 2552,
+ 2553
+ ]
+ },
+ {
+ "teal": 2610,
+ "source": 758,
+ "pc": [
+ 2554,
+ 2555
+ ]
+ },
+ {
+ "teal": 2611,
+ "source": 758,
+ "pc": [
+ 2556,
+ 2557
+ ]
+ },
+ {
+ "teal": 2612,
+ "source": 758,
+ "pc": [
+ 2558
+ ]
+ },
+ {
+ "teal": 2613,
+ "source": 758,
+ "pc": [
+ 2559
+ ]
+ },
+ {
+ "teal": 2614,
+ "source": 758,
+ "pc": [
+ 2560,
+ 2561
+ ]
+ },
+ {
+ "teal": 2615,
+ "source": 758,
+ "pc": [
+ 2562
+ ]
+ },
+ {
+ "teal": 2616,
+ "source": 758,
+ "pc": [
+ 2563
+ ]
+ },
+ {
+ "teal": 2617,
+ "source": 758,
+ "pc": [
+ 2564,
+ 2565
+ ]
+ },
+ {
+ "teal": 2618,
+ "source": 758,
+ "pc": [
+ 2566
+ ]
+ },
+ {
+ "teal": 2622,
+ "source": 760,
+ "pc": [
+ 2567,
+ 2568
+ ]
+ },
+ {
+ "teal": 2623,
+ "source": 760,
+ "pc": [
+ 2569,
+ 2570
+ ]
+ },
+ {
+ "teal": 2624,
+ "source": 760,
+ "pc": [
+ 2571
+ ]
+ },
+ {
+ "teal": 2625,
+ "source": 760,
+ "pc": [
+ 2572,
+ 2573
+ ]
+ },
+ {
+ "teal": 2626,
+ "source": 760,
+ "pc": [
+ 2574
+ ]
+ },
+ {
+ "teal": 2627,
+ "source": 760,
+ "pc": [
+ 2575
+ ]
+ },
+ {
+ "teal": 2628,
+ "source": 760,
+ "pc": [
+ 2576,
+ 2577
+ ]
+ },
+ {
+ "teal": 2629,
+ "source": 760,
+ "pc": [
+ 2578
+ ]
+ },
+ {
+ "teal": 2630,
+ "source": 760,
+ "pc": [
+ 2579
+ ]
+ },
+ {
+ "teal": 2631,
+ "source": 760,
+ "pc": [
+ 2580,
+ 2581
+ ]
+ },
+ {
+ "teal": 2635,
+ "source": 761,
+ "pc": [
+ 2582,
+ 2583
+ ]
+ },
+ {
+ "teal": 2636,
+ "source": 761,
+ "pc": [
+ 2584
+ ]
+ },
+ {
+ "teal": 2637,
+ "source": 761,
+ "pc": [
+ 2585
+ ]
+ },
+ {
+ "teal": 2638,
+ "source": 761,
+ "pc": [
+ 2586,
+ 2587
+ ]
+ },
+ {
+ "teal": 2639,
+ "source": 761,
+ "pc": [
+ 2588
+ ]
+ },
+ {
+ "teal": 2640,
+ "source": 761,
+ "pc": [
+ 2589
+ ]
+ },
+ {
+ "teal": 2641,
+ "source": 761,
+ "pc": [
+ 2590,
+ 2591
+ ]
+ },
+ {
+ "teal": 2642,
+ "source": 761,
+ "pc": [
+ 2592
+ ]
+ },
+ {
+ "teal": 2643,
+ "source": 761,
+ "pc": [
+ 2593
+ ]
+ },
+ {
+ "teal": 2644,
+ "source": 761,
+ "pc": [
+ 2594,
+ 2595
+ ]
+ },
+ {
+ "teal": 2648,
+ "source": 762,
+ "pc": [
+ 2596
+ ]
+ },
+ {
+ "teal": 2649,
+ "source": 762,
+ "pc": [
+ 2597,
+ 2598
+ ]
+ },
+ {
+ "teal": 2654,
+ "source": 762,
+ "pc": [
+ 2599,
+ 2600
+ ]
+ },
+ {
+ "teal": 2655,
+ "source": 762,
+ "pc": [
+ 2601,
+ 2602
+ ]
+ },
+ {
+ "teal": 2656,
+ "source": 762,
+ "pc": [
+ 2603
+ ]
+ },
+ {
+ "teal": 2657,
+ "source": 762,
+ "pc": [
+ 2604,
+ 2605,
+ 2606
+ ]
+ },
+ {
+ "teal": 2664,
+ "source": 768,
+ "pc": [
+ 2607,
+ 2608
+ ]
+ },
+ {
+ "teal": 2665,
+ "source": 768,
+ "pc": [
+ 2609,
+ 2610
+ ]
+ },
+ {
+ "teal": 2666,
+ "source": 768,
+ "pc": [
+ 2611,
+ 2612
+ ]
+ },
+ {
+ "teal": 2667,
+ "source": 768,
+ "pc": [
+ 2613
+ ]
+ },
+ {
+ "teal": 2668,
+ "source": 768,
+ "pc": [
+ 2614
+ ]
+ },
+ {
+ "teal": 2669,
+ "source": 768,
+ "pc": [
+ 2615,
+ 2616
+ ]
+ },
+ {
+ "teal": 2670,
+ "source": 768,
+ "pc": [
+ 2617
+ ]
+ },
+ {
+ "teal": 2671,
+ "source": 768,
+ "pc": [
+ 2618
+ ]
+ },
+ {
+ "teal": 2672,
+ "source": 768,
+ "pc": [
+ 2619
+ ]
+ },
+ {
+ "teal": 2673,
+ "source": 768,
+ "pc": [
+ 2620,
+ 2621
+ ]
+ },
+ {
+ "teal": 2674,
+ "source": 768,
+ "pc": [
+ 2622
+ ]
+ },
+ {
+ "teal": 2675,
+ "source": 768,
+ "pc": [
+ 2623
+ ]
+ },
+ {
+ "teal": 2676,
+ "source": 768,
+ "pc": [
+ 2624,
+ 2625
+ ]
+ },
+ {
+ "teal": 2677,
+ "source": 768,
+ "pc": [
+ 2626
+ ]
+ },
+ {
+ "teal": 2678,
+ "source": 768,
+ "pc": [
+ 2627
+ ]
+ },
+ {
+ "teal": 2679,
+ "source": 768,
+ "pc": [
+ 2628,
+ 2629
+ ]
+ },
+ {
+ "teal": 2680,
+ "source": 767,
+ "pc": [
+ 2630
+ ]
+ },
+ {
+ "teal": 2681,
+ "source": 767,
+ "pc": [
+ 2631
+ ]
+ },
+ {
+ "teal": 2682,
+ "source": 769,
+ "pc": [
+ 2632,
+ 2633
+ ]
+ },
+ {
+ "teal": 2683,
+ "source": 767,
+ "pc": [
+ 2634
+ ]
+ },
+ {
+ "teal": 2684,
+ "source": 767,
+ "pc": [
+ 2635
+ ]
+ },
+ {
+ "teal": 2685,
+ "source": 767,
+ "pc": [
+ 2636
+ ]
+ },
+ {
+ "teal": 2686,
+ "source": 767,
+ "pc": [
+ 2637
+ ]
+ },
+ {
+ "teal": 2687,
+ "source": 767,
+ "pc": [
+ 2638
+ ]
+ },
+ {
+ "teal": 2690,
+ "source": 767,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 2639
+ ]
+ },
+ {
+ "teal": 2691,
+ "source": 767,
+ "pc": [
+ 2640,
+ 2641
+ ]
+ },
+ {
+ "teal": 2695,
+ "source": 771,
+ "pc": [
+ 2642,
+ 2643
+ ]
+ },
+ {
+ "teal": 2696,
+ "source": 771,
+ "pc": [
+ 2644,
+ 2645
+ ]
+ },
+ {
+ "teal": 2697,
+ "source": 771,
+ "pc": [
+ 2646
+ ]
+ },
+ {
+ "teal": 2698,
+ "source": 771,
+ "pc": [
+ 2647
+ ]
+ },
+ {
+ "teal": 2699,
+ "source": 771,
+ "pc": [
+ 2648
+ ]
+ },
+ {
+ "teal": 2700,
+ "source": 771,
+ "pc": [
+ 2649,
+ 2650
+ ]
+ },
+ {
+ "teal": 2701,
+ "source": 771,
+ "pc": [
+ 2651
+ ]
+ },
+ {
+ "teal": 2702,
+ "source": 771,
+ "pc": [
+ 2652
+ ]
+ },
+ {
+ "teal": 2703,
+ "source": 771,
+ "pc": [
+ 2653,
+ 2654
+ ]
+ },
+ {
+ "teal": 2704,
+ "source": 771,
+ "pc": [
+ 2655
+ ]
+ },
+ {
+ "teal": 2705,
+ "source": 771,
+ "pc": [
+ 2656
+ ]
+ },
+ {
+ "teal": 2706,
+ "source": 771,
+ "pc": [
+ 2657,
+ 2658
+ ]
+ },
+ {
+ "teal": 2707,
+ "source": 771,
+ "pc": [
+ 2659
+ ]
+ },
+ {
+ "teal": 2712,
+ "source": 762,
+ "pc": [
+ 2660,
+ 2661
+ ]
+ },
+ {
+ "teal": 2713,
+ "source": 762,
+ "pc": [
+ 2662
+ ]
+ },
+ {
+ "teal": 2714,
+ "source": 762,
+ "pc": [
+ 2663
+ ]
+ },
+ {
+ "teal": 2715,
+ "source": 762,
+ "pc": [
+ 2664,
+ 2665
+ ]
+ },
+ {
+ "teal": 2716,
+ "source": 762,
+ "pc": [
+ 2666,
+ 2667,
+ 2668
+ ]
+ },
+ {
+ "teal": 2721,
+ "source": 773,
+ "pc": [
+ 2669,
+ 2670
+ ]
+ },
+ {
+ "teal": 2722,
+ "source": 773,
+ "pc": [
+ 2671,
+ 2672
+ ]
+ },
+ {
+ "teal": 2723,
+ "source": 773,
+ "pc": [
+ 2673
+ ]
+ },
+ {
+ "teal": 2724,
+ "source": 773,
+ "pc": [
+ 2674,
+ 2675
+ ]
+ },
+ {
+ "teal": 2725,
+ "source": 773,
+ "pc": [
+ 2676
+ ]
+ },
+ {
+ "teal": 2726,
+ "source": 773,
+ "pc": [
+ 2677
+ ]
+ },
+ {
+ "teal": 2727,
+ "source": 773,
+ "pc": [
+ 2678,
+ 2679
+ ]
+ },
+ {
+ "teal": 2728,
+ "source": 773,
+ "pc": [
+ 2680
+ ]
+ },
+ {
+ "teal": 2732,
+ "source": 732,
+ "pc": [
+ 2681,
+ 2682
+ ]
+ },
+ {
+ "teal": 2735,
+ "source": 732,
+ "pc": [
+ 2683,
+ 2684
+ ]
+ },
+ {
+ "teal": 2736,
+ "source": 732,
+ "pc": [
+ 2685
+ ]
+ },
+ {
+ "teal": 2741,
+ "source": 792,
+ "pc": [
+ 2686,
+ 2687,
+ 2688
+ ]
+ },
+ {
+ "teal": 2742,
+ "source": 792,
+ "pc": [
+ 2689
+ ]
+ },
+ {
+ "teal": 2745,
+ "source": 791,
+ "pc": [
+ 2690,
+ 2691,
+ 2692
+ ]
+ },
+ {
+ "teal": 2746,
+ "source": 791,
+ "pc": [
+ 2693
+ ]
+ },
+ {
+ "teal": 2749,
+ "source": 790,
+ "pc": [
+ 2694,
+ 2695,
+ 2696
+ ]
+ },
+ {
+ "teal": 2750,
+ "source": 790,
+ "pc": [
+ 2697
+ ]
+ },
+ {
+ "teal": 2753,
+ "source": 789,
+ "pc": [
+ 2698,
+ 2699,
+ 2700
+ ]
+ },
+ {
+ "teal": 2754,
+ "source": 789,
+ "pc": [
+ 2701
+ ]
+ },
+ {
+ "teal": 2757,
+ "source": 788,
+ "pc": [
+ 2702,
+ 2703,
+ 2704
+ ]
+ },
+ {
+ "teal": 2758,
+ "source": 788,
+ "pc": [
+ 2705
+ ]
+ },
+ {
+ "teal": 2759,
+ "source": 788,
+ "pc": [
+ 2706
+ ]
+ },
+ {
+ "teal": 2760,
+ "source": 788,
+ "pc": [
+ 2707
+ ]
+ },
+ {
+ "teal": 2761,
+ "source": 788,
+ "pc": [
+ 2708
+ ]
+ },
+ {
+ "teal": 2764,
+ "source": 788,
+ "errorMessage": "argument 4 (poolKey) for stakeUpdatedViaRewards must be a (uint64,uint64,uint64)",
+ "pc": [
+ 2709
+ ]
+ },
+ {
+ "teal": 2767,
+ "source": 787,
+ "pc": [
+ 2710,
+ 2711,
+ 2712
+ ]
+ },
+ {
+ "teal": 2768,
+ "source": 787,
+ "pc": [
+ 2713
+ ]
+ },
+ {
+ "teal": 2769,
+ "source": 787,
+ "pc": [
+ 2714
+ ]
+ },
+ {
+ "teal": 2783,
+ "source": 787,
+ "pc": [
+ 2715,
+ 2716,
+ 2717
+ ]
+ },
+ {
+ "teal": 2787,
+ "source": 794,
+ "pc": [
+ 2718,
+ 2719
+ ]
+ },
+ {
+ "teal": 2788,
+ "source": 794,
+ "pc": [
+ 2720,
+ 2721,
+ 2722
+ ]
+ },
+ {
+ "teal": 2792,
+ "source": 797,
+ "pc": [
+ 2723,
+ 2724
+ ]
+ },
+ {
+ "teal": 2793,
+ "source": 797,
+ "pc": [
+ 2725,
+ 2726
+ ]
+ },
+ {
+ "teal": 2794,
+ "source": 797,
+ "pc": [
+ 2727,
+ 2728,
+ 2729
+ ]
+ },
+ {
+ "teal": 2795,
+ "source": 797,
+ "pc": [
+ 2730
+ ]
+ },
+ {
+ "teal": 2796,
+ "source": 797,
+ "pc": [
+ 2731
+ ]
+ },
+ {
+ "teal": 2797,
+ "source": 797,
+ "pc": [
+ 2732
+ ]
+ },
+ {
+ "teal": 2798,
+ "source": 797,
+ "pc": [
+ 2733,
+ 2734
+ ]
+ },
+ {
+ "teal": 2799,
+ "source": 797,
+ "pc": [
+ 2735
+ ]
+ },
+ {
+ "teal": 2800,
+ "source": 797,
+ "pc": [
+ 2736
+ ]
+ },
+ {
+ "teal": 2801,
+ "source": 797,
+ "pc": [
+ 2737,
+ 2738
+ ]
+ },
+ {
+ "teal": 2802,
+ "source": 797,
+ "pc": [
+ 2739
+ ]
+ },
+ {
+ "teal": 2803,
+ "source": 797,
+ "pc": [
+ 2740,
+ 2741
+ ]
+ },
+ {
+ "teal": 2804,
+ "source": 797,
+ "pc": [
+ 2742,
+ 2743
+ ]
+ },
+ {
+ "teal": 2805,
+ "source": 797,
+ "pc": [
+ 2744,
+ 2745,
+ 2746
+ ]
+ },
+ {
+ "teal": 2806,
+ "source": 797,
+ "pc": [
+ 2747
+ ]
+ },
+ {
+ "teal": 2807,
+ "source": 797,
+ "pc": [
+ 2748
+ ]
+ },
+ {
+ "teal": 2808,
+ "source": 797,
+ "pc": [
+ 2749
+ ]
+ },
+ {
+ "teal": 2809,
+ "source": 797,
+ "pc": [
+ 2750,
+ 2751
+ ]
+ },
+ {
+ "teal": 2810,
+ "source": 797,
+ "pc": [
+ 2752
+ ]
+ },
+ {
+ "teal": 2811,
+ "source": 797,
+ "pc": [
+ 2753
+ ]
+ },
+ {
+ "teal": 2812,
+ "source": 797,
+ "pc": [
+ 2754,
+ 2755
+ ]
+ },
+ {
+ "teal": 2813,
+ "source": 797,
+ "pc": [
+ 2756
+ ]
+ },
+ {
+ "teal": 2814,
+ "source": 797,
+ "pc": [
+ 2757
+ ]
+ },
+ {
+ "teal": 2815,
+ "source": 797,
+ "pc": [
+ 2758
+ ]
+ },
+ {
+ "teal": 2816,
+ "source": 797,
+ "pc": [
+ 2759,
+ 2760
+ ]
+ },
+ {
+ "teal": 2817,
+ "source": 797,
+ "pc": [
+ 2761,
+ 2762,
+ 2763
+ ]
+ },
+ {
+ "teal": 2818,
+ "source": 797,
+ "pc": [
+ 2764
+ ]
+ },
+ {
+ "teal": 2819,
+ "source": 797,
+ "pc": [
+ 2765
+ ]
+ },
+ {
+ "teal": 2820,
+ "source": 797,
+ "pc": [
+ 2766
+ ]
+ },
+ {
+ "teal": 2821,
+ "source": 797,
+ "pc": [
+ 2767,
+ 2768
+ ]
+ },
+ {
+ "teal": 2822,
+ "source": 797,
+ "pc": [
+ 2769
+ ]
+ },
+ {
+ "teal": 2823,
+ "source": 797,
+ "pc": [
+ 2770
+ ]
+ },
+ {
+ "teal": 2824,
+ "source": 797,
+ "pc": [
+ 2771,
+ 2772
+ ]
+ },
+ {
+ "teal": 2825,
+ "source": 797,
+ "pc": [
+ 2773
+ ]
+ },
+ {
+ "teal": 2826,
+ "source": 797,
+ "pc": [
+ 2774
+ ]
+ },
+ {
+ "teal": 2827,
+ "source": 797,
+ "pc": [
+ 2775
+ ]
+ },
+ {
+ "teal": 2828,
+ "source": 797,
+ "pc": [
+ 2776,
+ 2777
+ ]
+ },
+ {
+ "teal": 2829,
+ "source": 797,
+ "pc": [
+ 2778,
+ 2779,
+ 2780
+ ]
+ },
+ {
+ "teal": 2830,
+ "source": 797,
+ "pc": [
+ 2781
+ ]
+ },
+ {
+ "teal": 2831,
+ "source": 797,
+ "pc": [
+ 2782
+ ]
+ },
+ {
+ "teal": 2832,
+ "source": 797,
+ "pc": [
+ 2783
+ ]
+ },
+ {
+ "teal": 2833,
+ "source": 797,
+ "pc": [
+ 2784,
+ 2785
+ ]
+ },
+ {
+ "teal": 2834,
+ "source": 797,
+ "pc": [
+ 2786
+ ]
+ },
+ {
+ "teal": 2838,
+ "source": 798,
+ "pc": [
+ 2787,
+ 2788
+ ]
+ },
+ {
+ "teal": 2839,
+ "source": 798,
+ "pc": [
+ 2789
+ ]
+ },
+ {
+ "teal": 2840,
+ "source": 798,
+ "pc": [
+ 2790
+ ]
+ },
+ {
+ "teal": 2841,
+ "source": 798,
+ "pc": [
+ 2791
+ ]
+ },
+ {
+ "teal": 2842,
+ "source": 798,
+ "pc": [
+ 2792,
+ 2793
+ ]
+ },
+ {
+ "teal": 2843,
+ "source": 798,
+ "pc": [
+ 2794,
+ 2795,
+ 2796
+ ]
+ },
+ {
+ "teal": 2844,
+ "source": 798,
+ "pc": [
+ 2797
+ ]
+ },
+ {
+ "teal": 2845,
+ "source": 798,
+ "pc": [
+ 2798
+ ]
+ },
+ {
+ "teal": 2846,
+ "source": 798,
+ "pc": [
+ 2799
+ ]
+ },
+ {
+ "teal": 2847,
+ "source": 798,
+ "pc": [
+ 2800,
+ 2801
+ ]
+ },
+ {
+ "teal": 2848,
+ "source": 798,
+ "pc": [
+ 2802
+ ]
+ },
+ {
+ "teal": 2849,
+ "source": 798,
+ "pc": [
+ 2803
+ ]
+ },
+ {
+ "teal": 2850,
+ "source": 798,
+ "pc": [
+ 2804,
+ 2805
+ ]
+ },
+ {
+ "teal": 2851,
+ "source": 798,
+ "pc": [
+ 2806
+ ]
+ },
+ {
+ "teal": 2852,
+ "source": 798,
+ "pc": [
+ 2807
+ ]
+ },
+ {
+ "teal": 2853,
+ "source": 798,
+ "pc": [
+ 2808
+ ]
+ },
+ {
+ "teal": 2854,
+ "source": 798,
+ "pc": [
+ 2809,
+ 2810
+ ]
+ },
+ {
+ "teal": 2855,
+ "source": 798,
+ "pc": [
+ 2811,
+ 2812,
+ 2813
+ ]
+ },
+ {
+ "teal": 2856,
+ "source": 798,
+ "pc": [
+ 2814
+ ]
+ },
+ {
+ "teal": 2857,
+ "source": 798,
+ "pc": [
+ 2815
+ ]
+ },
+ {
+ "teal": 2858,
+ "source": 798,
+ "pc": [
+ 2816
+ ]
+ },
+ {
+ "teal": 2859,
+ "source": 798,
+ "pc": [
+ 2817,
+ 2818
+ ]
+ },
+ {
+ "teal": 2860,
+ "source": 798,
+ "pc": [
+ 2819
+ ]
+ },
+ {
+ "teal": 2864,
+ "source": 799,
+ "pc": [
+ 2820,
+ 2821
+ ]
+ },
+ {
+ "teal": 2865,
+ "source": 799,
+ "pc": [
+ 2822
+ ]
+ },
+ {
+ "teal": 2866,
+ "source": 799,
+ "pc": [
+ 2823
+ ]
+ },
+ {
+ "teal": 2867,
+ "source": 799,
+ "pc": [
+ 2824
+ ]
+ },
+ {
+ "teal": 2868,
+ "source": 799,
+ "pc": [
+ 2825,
+ 2826
+ ]
+ },
+ {
+ "teal": 2869,
+ "source": 799,
+ "pc": [
+ 2827,
+ 2828,
+ 2829
+ ]
+ },
+ {
+ "teal": 2870,
+ "source": 799,
+ "pc": [
+ 2830
+ ]
+ },
+ {
+ "teal": 2871,
+ "source": 799,
+ "pc": [
+ 2831
+ ]
+ },
+ {
+ "teal": 2872,
+ "source": 799,
+ "pc": [
+ 2832
+ ]
+ },
+ {
+ "teal": 2873,
+ "source": 799,
+ "pc": [
+ 2833,
+ 2834
+ ]
+ },
+ {
+ "teal": 2874,
+ "source": 799,
+ "pc": [
+ 2835
+ ]
+ },
+ {
+ "teal": 2875,
+ "source": 799,
+ "pc": [
+ 2836
+ ]
+ },
+ {
+ "teal": 2876,
+ "source": 799,
+ "pc": [
+ 2837,
+ 2838
+ ]
+ },
+ {
+ "teal": 2877,
+ "source": 799,
+ "pc": [
+ 2839
+ ]
+ },
+ {
+ "teal": 2878,
+ "source": 799,
+ "pc": [
+ 2840
+ ]
+ },
+ {
+ "teal": 2879,
+ "source": 799,
+ "pc": [
+ 2841
+ ]
+ },
+ {
+ "teal": 2880,
+ "source": 799,
+ "pc": [
+ 2842,
+ 2843
+ ]
+ },
+ {
+ "teal": 2881,
+ "source": 799,
+ "pc": [
+ 2844,
+ 2845,
+ 2846
+ ]
+ },
+ {
+ "teal": 2882,
+ "source": 799,
+ "pc": [
+ 2847
+ ]
+ },
+ {
+ "teal": 2883,
+ "source": 799,
+ "pc": [
+ 2848
+ ]
+ },
+ {
+ "teal": 2884,
+ "source": 799,
+ "pc": [
+ 2849
+ ]
+ },
+ {
+ "teal": 2885,
+ "source": 799,
+ "pc": [
+ 2850,
+ 2851
+ ]
+ },
+ {
+ "teal": 2886,
+ "source": 799,
+ "pc": [
+ 2852
+ ]
+ },
+ {
+ "teal": 2890,
+ "source": 801,
+ "pc": [
+ 2853,
+ 2854
+ ]
+ },
+ {
+ "teal": 2891,
+ "source": 801,
+ "pc": [
+ 2855
+ ]
+ },
+ {
+ "teal": 2892,
+ "source": 801,
+ "pc": [
+ 2856,
+ 2857
+ ]
+ },
+ {
+ "teal": 2893,
+ "source": 801,
+ "pc": [
+ 2858
+ ]
+ },
+ {
+ "teal": 2894,
+ "source": 801,
+ "pc": [
+ 2859,
+ 2860
+ ]
+ },
+ {
+ "teal": 2895,
+ "source": 801,
+ "pc": [
+ 2861
+ ]
+ },
+ {
+ "teal": 2896,
+ "source": 801,
+ "pc": [
+ 2862
+ ]
+ },
+ {
+ "teal": 2900,
+ "source": 804,
+ "pc": [
+ 2863,
+ 2864
+ ]
+ },
+ {
+ "teal": 2901,
+ "source": 804,
+ "pc": [
+ 2865,
+ 2866,
+ 2867
+ ]
+ },
+ {
+ "teal": 2902,
+ "source": 804,
+ "pc": [
+ 2868
+ ]
+ },
+ {
+ "teal": 2903,
+ "source": 804,
+ "pc": [
+ 2869,
+ 2870,
+ 2871
+ ]
+ },
+ {
+ "teal": 2904,
+ "source": 787,
+ "pc": [
+ 2872
+ ]
+ },
+ {
+ "teal": 2909,
+ "source": 834,
+ "pc": [
+ 2873,
+ 2874,
+ 2875
+ ]
+ },
+ {
+ "teal": 2910,
+ "source": 834,
+ "pc": [
+ 2876
+ ]
+ },
+ {
+ "teal": 2911,
+ "source": 834,
+ "pc": [
+ 2877
+ ]
+ },
+ {
+ "teal": 2912,
+ "source": 834,
+ "pc": [
+ 2878
+ ]
+ },
+ {
+ "teal": 2913,
+ "source": 834,
+ "pc": [
+ 2879
+ ]
+ },
+ {
+ "teal": 2916,
+ "source": 834,
+ "errorMessage": "argument 0 (stakerRemoved) for stakeRemoved must be a bool",
+ "pc": [
+ 2880
+ ]
+ },
+ {
+ "teal": 2917,
+ "source": 834,
+ "pc": [
+ 2881
+ ]
+ },
+ {
+ "teal": 2918,
+ "source": 834,
+ "pc": [
+ 2882
+ ]
+ },
+ {
+ "teal": 2921,
+ "source": 833,
+ "pc": [
+ 2883,
+ 2884,
+ 2885
+ ]
+ },
+ {
+ "teal": 2922,
+ "source": 833,
+ "pc": [
+ 2886
+ ]
+ },
+ {
+ "teal": 2925,
+ "source": 832,
+ "pc": [
+ 2887,
+ 2888,
+ 2889
+ ]
+ },
+ {
+ "teal": 2926,
+ "source": 832,
+ "pc": [
+ 2890
+ ]
+ },
+ {
+ "teal": 2929,
+ "source": 831,
+ "pc": [
+ 2891,
+ 2892,
+ 2893
+ ]
+ },
+ {
+ "teal": 2930,
+ "source": 831,
+ "pc": [
+ 2894
+ ]
+ },
+ {
+ "teal": 2931,
+ "source": 831,
+ "pc": [
+ 2895
+ ]
+ },
+ {
+ "teal": 2932,
+ "source": 831,
+ "pc": [
+ 2896,
+ 2897
+ ]
+ },
+ {
+ "teal": 2933,
+ "source": 831,
+ "pc": [
+ 2898
+ ]
+ },
+ {
+ "teal": 2936,
+ "source": 831,
+ "errorMessage": "argument 3 (staker) for stakeRemoved must be a address",
+ "pc": [
+ 2899
+ ]
+ },
+ {
+ "teal": 2939,
+ "source": 830,
+ "pc": [
+ 2900,
+ 2901,
+ 2902
+ ]
+ },
+ {
+ "teal": 2940,
+ "source": 830,
+ "pc": [
+ 2903
+ ]
+ },
+ {
+ "teal": 2941,
+ "source": 830,
+ "pc": [
+ 2904
+ ]
+ },
+ {
+ "teal": 2942,
+ "source": 830,
+ "pc": [
+ 2905
+ ]
+ },
+ {
+ "teal": 2943,
+ "source": 830,
+ "pc": [
+ 2906
+ ]
+ },
+ {
+ "teal": 2946,
+ "source": 830,
+ "errorMessage": "argument 4 (poolKey) for stakeRemoved must be a (uint64,uint64,uint64)",
+ "pc": [
+ 2907
+ ]
+ },
+ {
+ "teal": 2949,
+ "source": 829,
+ "pc": [
+ 2908,
+ 2909,
+ 2910
+ ]
+ },
+ {
+ "teal": 2950,
+ "source": 829,
+ "pc": [
+ 2911
+ ]
+ },
+ {
+ "teal": 2951,
+ "source": 829,
+ "pc": [
+ 2912
+ ]
+ },
+ {
+ "teal": 2966,
+ "source": 829,
+ "pc": [
+ 2913,
+ 2914,
+ 2915
+ ]
+ },
+ {
+ "teal": 2969,
+ "source": 829,
+ "pc": [
+ 2916
+ ]
+ },
+ {
+ "teal": 2970,
+ "source": 829,
+ "pc": [
+ 2917,
+ 2918
+ ]
+ },
+ {
+ "teal": 2975,
+ "source": 836,
+ "pc": [
+ 2919,
+ 2920
+ ]
+ },
+ {
+ "teal": 2976,
+ "source": 836,
+ "pc": [
+ 2921,
+ 2922
+ ]
+ },
+ {
+ "teal": 2977,
+ "source": 836,
+ "pc": [
+ 2923
+ ]
+ },
+ {
+ "teal": 2978,
+ "source": 836,
+ "pc": [
+ 2924,
+ 2925,
+ 2926
+ ]
+ },
+ {
+ "teal": 2983,
+ "source": 837,
+ "pc": [
+ 2927
+ ]
+ },
+ {
+ "teal": 2984,
+ "source": 837,
+ "pc": [
+ 2928,
+ 2929
+ ]
+ },
+ {
+ "teal": 2985,
+ "source": 837,
+ "pc": [
+ 2930,
+ 2931
+ ]
+ },
+ {
+ "teal": 2986,
+ "source": 837,
+ "pc": [
+ 2932
+ ]
+ },
+ {
+ "teal": 2987,
+ "source": 837,
+ "pc": [
+ 2933,
+ 2934
+ ]
+ },
+ {
+ "teal": 2988,
+ "source": 837,
+ "pc": [
+ 2935,
+ 2936
+ ]
+ },
+ {
+ "teal": 2989,
+ "source": 837,
+ "pc": [
+ 2937
+ ]
+ },
+ {
+ "teal": 2990,
+ "source": 837,
+ "pc": [
+ 2938,
+ 2939
+ ]
+ },
+ {
+ "teal": 2991,
+ "source": 837,
+ "pc": [
+ 2940,
+ 2941
+ ]
+ },
+ {
+ "teal": 2992,
+ "source": 837,
+ "pc": [
+ 2942,
+ 2943
+ ]
+ },
+ {
+ "teal": 2993,
+ "source": 837,
+ "pc": [
+ 2944,
+ 2945
+ ]
+ },
+ {
+ "teal": 2994,
+ "source": 837,
+ "pc": [
+ 2946
+ ]
+ },
+ {
+ "teal": 2999,
+ "source": 839,
+ "pc": [
+ 2947,
+ 2948
+ ]
+ },
+ {
+ "teal": 3000,
+ "source": 839,
+ "pc": [
+ 2949,
+ 2950,
+ 2951
+ ]
+ },
+ {
+ "teal": 3004,
+ "source": 843,
+ "pc": [
+ 2952,
+ 2953
+ ]
+ },
+ {
+ "teal": 3005,
+ "source": 843,
+ "pc": [
+ 2954
+ ]
+ },
+ {
+ "teal": 3006,
+ "source": 843,
+ "pc": [
+ 2955
+ ]
+ },
+ {
+ "teal": 3007,
+ "source": 843,
+ "pc": [
+ 2956
+ ]
+ },
+ {
+ "teal": 3008,
+ "source": 843,
+ "pc": [
+ 2957,
+ 2958,
+ 2959
+ ]
+ },
+ {
+ "teal": 3009,
+ "source": 843,
+ "pc": [
+ 2960,
+ 2961
+ ]
+ },
+ {
+ "teal": 3010,
+ "source": 843,
+ "pc": [
+ 2962
+ ]
+ },
+ {
+ "teal": 3011,
+ "source": 843,
+ "pc": [
+ 2963
+ ]
+ },
+ {
+ "teal": 3012,
+ "source": 843,
+ "pc": [
+ 2964
+ ]
+ },
+ {
+ "teal": 3016,
+ "source": 843,
+ "errorMessage": "should only be called if algo or reward was removed",
+ "pc": [
+ 2965
+ ]
+ },
+ {
+ "teal": 3020,
+ "source": 846,
+ "pc": [
+ 2966,
+ 2967
+ ]
+ },
+ {
+ "teal": 3021,
+ "source": 846,
+ "pc": [
+ 2968,
+ 2969
+ ]
+ },
+ {
+ "teal": 3022,
+ "source": 846,
+ "pc": [
+ 2970,
+ 2971,
+ 2972
+ ]
+ },
+ {
+ "teal": 3023,
+ "source": 846,
+ "pc": [
+ 2973
+ ]
+ },
+ {
+ "teal": 3024,
+ "source": 846,
+ "pc": [
+ 2974
+ ]
+ },
+ {
+ "teal": 3025,
+ "source": 846,
+ "pc": [
+ 2975
+ ]
+ },
+ {
+ "teal": 3026,
+ "source": 846,
+ "pc": [
+ 2976,
+ 2977
+ ]
+ },
+ {
+ "teal": 3027,
+ "source": 846,
+ "pc": [
+ 2978
+ ]
+ },
+ {
+ "teal": 3028,
+ "source": 846,
+ "pc": [
+ 2979
+ ]
+ },
+ {
+ "teal": 3029,
+ "source": 846,
+ "pc": [
+ 2980,
+ 2981
+ ]
+ },
+ {
+ "teal": 3030,
+ "source": 846,
+ "pc": [
+ 2982
+ ]
+ },
+ {
+ "teal": 3031,
+ "source": 846,
+ "pc": [
+ 2983,
+ 2984
+ ]
+ },
+ {
+ "teal": 3032,
+ "source": 846,
+ "pc": [
+ 2985,
+ 2986
+ ]
+ },
+ {
+ "teal": 3033,
+ "source": 846,
+ "pc": [
+ 2987,
+ 2988,
+ 2989
+ ]
+ },
+ {
+ "teal": 3034,
+ "source": 846,
+ "pc": [
+ 2990
+ ]
+ },
+ {
+ "teal": 3035,
+ "source": 846,
+ "pc": [
+ 2991
+ ]
+ },
+ {
+ "teal": 3036,
+ "source": 846,
+ "pc": [
+ 2992
+ ]
+ },
+ {
+ "teal": 3037,
+ "source": 846,
+ "pc": [
+ 2993,
+ 2994
+ ]
+ },
+ {
+ "teal": 3038,
+ "source": 846,
+ "pc": [
+ 2995
+ ]
+ },
+ {
+ "teal": 3039,
+ "source": 846,
+ "pc": [
+ 2996
+ ]
+ },
+ {
+ "teal": 3040,
+ "source": 846,
+ "pc": [
+ 2997,
+ 2998
+ ]
+ },
+ {
+ "teal": 3041,
+ "source": 846,
+ "pc": [
+ 2999
+ ]
+ },
+ {
+ "teal": 3042,
+ "source": 846,
+ "pc": [
+ 3000
+ ]
+ },
+ {
+ "teal": 3043,
+ "source": 846,
+ "pc": [
+ 3001
+ ]
+ },
+ {
+ "teal": 3044,
+ "source": 846,
+ "pc": [
+ 3002,
+ 3003
+ ]
+ },
+ {
+ "teal": 3045,
+ "source": 846,
+ "pc": [
+ 3004,
+ 3005,
+ 3006
+ ]
+ },
+ {
+ "teal": 3046,
+ "source": 846,
+ "pc": [
+ 3007
+ ]
+ },
+ {
+ "teal": 3047,
+ "source": 846,
+ "pc": [
+ 3008
+ ]
+ },
+ {
+ "teal": 3048,
+ "source": 846,
+ "pc": [
+ 3009
+ ]
+ },
+ {
+ "teal": 3049,
+ "source": 846,
+ "pc": [
+ 3010,
+ 3011
+ ]
+ },
+ {
+ "teal": 3050,
+ "source": 846,
+ "pc": [
+ 3012
+ ]
+ },
+ {
+ "teal": 3051,
+ "source": 846,
+ "pc": [
+ 3013
+ ]
+ },
+ {
+ "teal": 3052,
+ "source": 846,
+ "pc": [
+ 3014,
+ 3015
+ ]
+ },
+ {
+ "teal": 3053,
+ "source": 846,
+ "pc": [
+ 3016
+ ]
+ },
+ {
+ "teal": 3054,
+ "source": 846,
+ "pc": [
+ 3017
+ ]
+ },
+ {
+ "teal": 3055,
+ "source": 846,
+ "pc": [
+ 3018
+ ]
+ },
+ {
+ "teal": 3056,
+ "source": 846,
+ "pc": [
+ 3019,
+ 3020
+ ]
+ },
+ {
+ "teal": 3057,
+ "source": 846,
+ "pc": [
+ 3021,
+ 3022,
+ 3023
+ ]
+ },
+ {
+ "teal": 3058,
+ "source": 846,
+ "pc": [
+ 3024
+ ]
+ },
+ {
+ "teal": 3059,
+ "source": 846,
+ "pc": [
+ 3025
+ ]
+ },
+ {
+ "teal": 3060,
+ "source": 846,
+ "pc": [
+ 3026
+ ]
+ },
+ {
+ "teal": 3061,
+ "source": 846,
+ "pc": [
+ 3027,
+ 3028
+ ]
+ },
+ {
+ "teal": 3062,
+ "source": 846,
+ "pc": [
+ 3029
+ ]
+ },
+ {
+ "teal": 3066,
+ "source": 847,
+ "pc": [
+ 3030,
+ 3031
+ ]
+ },
+ {
+ "teal": 3067,
+ "source": 847,
+ "pc": [
+ 3032
+ ]
+ },
+ {
+ "teal": 3068,
+ "source": 847,
+ "pc": [
+ 3033
+ ]
+ },
+ {
+ "teal": 3069,
+ "source": 847,
+ "pc": [
+ 3034
+ ]
+ },
+ {
+ "teal": 3070,
+ "source": 847,
+ "pc": [
+ 3035,
+ 3036
+ ]
+ },
+ {
+ "teal": 3071,
+ "source": 847,
+ "pc": [
+ 3037,
+ 3038,
+ 3039
+ ]
+ },
+ {
+ "teal": 3072,
+ "source": 847,
+ "pc": [
+ 3040
+ ]
+ },
+ {
+ "teal": 3073,
+ "source": 847,
+ "pc": [
+ 3041
+ ]
+ },
+ {
+ "teal": 3074,
+ "source": 847,
+ "pc": [
+ 3042
+ ]
+ },
+ {
+ "teal": 3075,
+ "source": 847,
+ "pc": [
+ 3043,
+ 3044
+ ]
+ },
+ {
+ "teal": 3076,
+ "source": 847,
+ "pc": [
+ 3045
+ ]
+ },
+ {
+ "teal": 3077,
+ "source": 847,
+ "pc": [
+ 3046
+ ]
+ },
+ {
+ "teal": 3078,
+ "source": 847,
+ "pc": [
+ 3047,
+ 3048
+ ]
+ },
+ {
+ "teal": 3079,
+ "source": 847,
+ "pc": [
+ 3049
+ ]
+ },
+ {
+ "teal": 3080,
+ "source": 847,
+ "pc": [
+ 3050
+ ]
+ },
+ {
+ "teal": 3081,
+ "source": 847,
+ "pc": [
+ 3051
+ ]
+ },
+ {
+ "teal": 3082,
+ "source": 847,
+ "pc": [
+ 3052,
+ 3053
+ ]
+ },
+ {
+ "teal": 3083,
+ "source": 847,
+ "pc": [
+ 3054,
+ 3055,
+ 3056
+ ]
+ },
+ {
+ "teal": 3084,
+ "source": 847,
+ "pc": [
+ 3057
+ ]
+ },
+ {
+ "teal": 3085,
+ "source": 847,
+ "pc": [
+ 3058
+ ]
+ },
+ {
+ "teal": 3086,
+ "source": 847,
+ "pc": [
+ 3059
+ ]
+ },
+ {
+ "teal": 3087,
+ "source": 847,
+ "pc": [
+ 3060,
+ 3061
+ ]
+ },
+ {
+ "teal": 3088,
+ "source": 847,
+ "pc": [
+ 3062
+ ]
+ },
+ {
+ "teal": 3092,
+ "source": 848,
+ "pc": [
+ 3063,
+ 3064
+ ]
+ },
+ {
+ "teal": 3093,
+ "source": 848,
+ "pc": [
+ 3065
+ ]
+ },
+ {
+ "teal": 3094,
+ "source": 848,
+ "pc": [
+ 3066,
+ 3067
+ ]
+ },
+ {
+ "teal": 3095,
+ "source": 848,
+ "pc": [
+ 3068
+ ]
+ },
+ {
+ "teal": 3096,
+ "source": 848,
+ "pc": [
+ 3069,
+ 3070
+ ]
+ },
+ {
+ "teal": 3097,
+ "source": 848,
+ "pc": [
+ 3071
+ ]
+ },
+ {
+ "teal": 3098,
+ "source": 848,
+ "pc": [
+ 3072
+ ]
+ },
+ {
+ "teal": 3103,
+ "source": 850,
+ "pc": [
+ 3073,
+ 3074
+ ]
+ },
+ {
+ "teal": 3104,
+ "source": 850,
+ "pc": [
+ 3075
+ ]
+ },
+ {
+ "teal": 3105,
+ "source": 850,
+ "pc": [
+ 3076
+ ]
+ },
+ {
+ "teal": 3106,
+ "source": 850,
+ "pc": [
+ 3077,
+ 3078,
+ 3079
+ ]
+ },
+ {
+ "teal": 3111,
+ "source": 851,
+ "pc": [
+ 3080,
+ 3081
+ ]
+ },
+ {
+ "teal": 3112,
+ "source": 851,
+ "pc": [
+ 3082
+ ]
+ },
+ {
+ "teal": 3113,
+ "source": 851,
+ "pc": [
+ 3083
+ ]
+ },
+ {
+ "teal": 3114,
+ "source": 851,
+ "pc": [
+ 3084,
+ 3085
+ ]
+ },
+ {
+ "teal": 3115,
+ "source": 851,
+ "pc": [
+ 3086,
+ 3087,
+ 3088
+ ]
+ },
+ {
+ "teal": 3116,
+ "source": 851,
+ "pc": [
+ 3089
+ ]
+ },
+ {
+ "teal": 3117,
+ "source": 851,
+ "pc": [
+ 3090
+ ]
+ },
+ {
+ "teal": 3118,
+ "source": 851,
+ "pc": [
+ 3091
+ ]
+ },
+ {
+ "teal": 3119,
+ "source": 851,
+ "pc": [
+ 3092,
+ 3093
+ ]
+ },
+ {
+ "teal": 3120,
+ "source": 851,
+ "pc": [
+ 3094
+ ]
+ },
+ {
+ "teal": 3121,
+ "source": 851,
+ "pc": [
+ 3095
+ ]
+ },
+ {
+ "teal": 3122,
+ "source": 851,
+ "pc": [
+ 3096,
+ 3097
+ ]
+ },
+ {
+ "teal": 3126,
+ "source": 852,
+ "pc": [
+ 3098,
+ 3099
+ ]
+ },
+ {
+ "teal": 3127,
+ "source": 852,
+ "pc": [
+ 3100
+ ]
+ },
+ {
+ "teal": 3128,
+ "source": 852,
+ "pc": [
+ 3101
+ ]
+ },
+ {
+ "teal": 3131,
+ "source": 852,
+ "errorMessage": "rewardRemoved can't be set if validator doesn't have reward token!",
+ "pc": [
+ 3102
+ ]
+ },
+ {
+ "teal": 3138,
+ "source": 854,
+ "pc": [
+ 3103,
+ 3104
+ ]
+ },
+ {
+ "teal": 3139,
+ "source": 854,
+ "pc": [
+ 3105
+ ]
+ },
+ {
+ "teal": 3140,
+ "source": 854,
+ "pc": [
+ 3106
+ ]
+ },
+ {
+ "teal": 3141,
+ "source": 854,
+ "pc": [
+ 3107,
+ 3108
+ ]
+ },
+ {
+ "teal": 3142,
+ "source": 854,
+ "pc": [
+ 3109,
+ 3110,
+ 3111
+ ]
+ },
+ {
+ "teal": 3143,
+ "source": 854,
+ "pc": [
+ 3112
+ ]
+ },
+ {
+ "teal": 3144,
+ "source": 854,
+ "pc": [
+ 3113
+ ]
+ },
+ {
+ "teal": 3145,
+ "source": 854,
+ "pc": [
+ 3114
+ ]
+ },
+ {
+ "teal": 3146,
+ "source": 854,
+ "pc": [
+ 3115,
+ 3116
+ ]
+ },
+ {
+ "teal": 3147,
+ "source": 854,
+ "pc": [
+ 3117
+ ]
+ },
+ {
+ "teal": 3148,
+ "source": 854,
+ "pc": [
+ 3118
+ ]
+ },
+ {
+ "teal": 3149,
+ "source": 854,
+ "pc": [
+ 3119,
+ 3120
+ ]
+ },
+ {
+ "teal": 3150,
+ "source": 854,
+ "pc": [
+ 3121
+ ]
+ },
+ {
+ "teal": 3153,
+ "source": 853,
+ "errorMessage": "reward being removed must be covered by hold back amount",
+ "pc": [
+ 3122
+ ]
+ },
+ {
+ "teal": 3157,
+ "source": 859,
+ "pc": [
+ 3123,
+ 3124
+ ]
+ },
+ {
+ "teal": 3158,
+ "source": 859,
+ "pc": [
+ 3125
+ ]
+ },
+ {
+ "teal": 3159,
+ "source": 859,
+ "pc": [
+ 3126
+ ]
+ },
+ {
+ "teal": 3160,
+ "source": 859,
+ "pc": [
+ 3127
+ ]
+ },
+ {
+ "teal": 3161,
+ "source": 859,
+ "pc": [
+ 3128,
+ 3129
+ ]
+ },
+ {
+ "teal": 3162,
+ "source": 859,
+ "pc": [
+ 3130,
+ 3131,
+ 3132
+ ]
+ },
+ {
+ "teal": 3163,
+ "source": 859,
+ "pc": [
+ 3133
+ ]
+ },
+ {
+ "teal": 3164,
+ "source": 859,
+ "pc": [
+ 3134
+ ]
+ },
+ {
+ "teal": 3165,
+ "source": 859,
+ "pc": [
+ 3135
+ ]
+ },
+ {
+ "teal": 3166,
+ "source": 859,
+ "pc": [
+ 3136,
+ 3137
+ ]
+ },
+ {
+ "teal": 3167,
+ "source": 859,
+ "pc": [
+ 3138
+ ]
+ },
+ {
+ "teal": 3168,
+ "source": 859,
+ "pc": [
+ 3139
+ ]
+ },
+ {
+ "teal": 3169,
+ "source": 859,
+ "pc": [
+ 3140,
+ 3141
+ ]
+ },
+ {
+ "teal": 3170,
+ "source": 859,
+ "pc": [
+ 3142
+ ]
+ },
+ {
+ "teal": 3171,
+ "source": 859,
+ "pc": [
+ 3143
+ ]
+ },
+ {
+ "teal": 3172,
+ "source": 859,
+ "pc": [
+ 3144
+ ]
+ },
+ {
+ "teal": 3173,
+ "source": 859,
+ "pc": [
+ 3145,
+ 3146
+ ]
+ },
+ {
+ "teal": 3174,
+ "source": 859,
+ "pc": [
+ 3147,
+ 3148,
+ 3149
+ ]
+ },
+ {
+ "teal": 3175,
+ "source": 859,
+ "pc": [
+ 3150
+ ]
+ },
+ {
+ "teal": 3176,
+ "source": 859,
+ "pc": [
+ 3151
+ ]
+ },
+ {
+ "teal": 3177,
+ "source": 859,
+ "pc": [
+ 3152
+ ]
+ },
+ {
+ "teal": 3178,
+ "source": 859,
+ "pc": [
+ 3153,
+ 3154
+ ]
+ },
+ {
+ "teal": 3179,
+ "source": 859,
+ "pc": [
+ 3155
+ ]
+ },
+ {
+ "teal": 3184,
+ "source": 864,
+ "pc": [
+ 3156,
+ 3157
+ ]
+ },
+ {
+ "teal": 3185,
+ "source": 864,
+ "pc": [
+ 3158,
+ 3159,
+ 3160
+ ]
+ },
+ {
+ "teal": 3186,
+ "source": 864,
+ "pc": [
+ 3161
+ ]
+ },
+ {
+ "teal": 3187,
+ "source": 864,
+ "pc": [
+ 3162
+ ]
+ },
+ {
+ "teal": 3188,
+ "source": 864,
+ "pc": [
+ 3163
+ ]
+ },
+ {
+ "teal": 3189,
+ "source": 864,
+ "pc": [
+ 3164,
+ 3165,
+ 3166
+ ]
+ },
+ {
+ "teal": 3197,
+ "source": 865,
+ "pc": [
+ 3167
+ ]
+ },
+ {
+ "teal": 3198,
+ "source": 865,
+ "pc": [
+ 3168,
+ 3169
+ ]
+ },
+ {
+ "teal": 3199,
+ "source": 865,
+ "pc": [
+ 3170,
+ 3171
+ ]
+ },
+ {
+ "teal": 3200,
+ "source": 865,
+ "pc": [
+ 3172,
+ 3173
+ ]
+ },
+ {
+ "teal": 3201,
+ "source": 865,
+ "pc": [
+ 3174,
+ 3175
+ ]
+ },
+ {
+ "teal": 3205,
+ "source": 866,
+ "pc": [
+ 3176,
+ 3177
+ ]
+ },
+ {
+ "teal": 3206,
+ "source": 866,
+ "pc": [
+ 3178
+ ]
+ },
+ {
+ "teal": 3207,
+ "source": 866,
+ "pc": [
+ 3179
+ ]
+ },
+ {
+ "teal": 3208,
+ "source": 866,
+ "pc": [
+ 3180,
+ 3181
+ ]
+ },
+ {
+ "teal": 3209,
+ "source": 866,
+ "pc": [
+ 3182,
+ 3183,
+ 3184
+ ]
+ },
+ {
+ "teal": 3210,
+ "source": 866,
+ "pc": [
+ 3185
+ ]
+ },
+ {
+ "teal": 3211,
+ "source": 866,
+ "pc": [
+ 3186
+ ]
+ },
+ {
+ "teal": 3212,
+ "source": 866,
+ "pc": [
+ 3187
+ ]
+ },
+ {
+ "teal": 3213,
+ "source": 866,
+ "pc": [
+ 3188,
+ 3189
+ ]
+ },
+ {
+ "teal": 3214,
+ "source": 866,
+ "pc": [
+ 3190
+ ]
+ },
+ {
+ "teal": 3215,
+ "source": 866,
+ "pc": [
+ 3191
+ ]
+ },
+ {
+ "teal": 3216,
+ "source": 866,
+ "pc": [
+ 3192,
+ 3193
+ ]
+ },
+ {
+ "teal": 3220,
+ "source": 867,
+ "pc": [
+ 3194,
+ 3195
+ ]
+ },
+ {
+ "teal": 3221,
+ "source": 867,
+ "pc": [
+ 3196,
+ 3197
+ ]
+ },
+ {
+ "teal": 3222,
+ "source": 867,
+ "pc": [
+ 3198,
+ 3199
+ ]
+ },
+ {
+ "teal": 3223,
+ "source": 867,
+ "pc": [
+ 3200
+ ]
+ },
+ {
+ "teal": 3224,
+ "source": 867,
+ "pc": [
+ 3201,
+ 3202
+ ]
+ },
+ {
+ "teal": 3225,
+ "source": 867,
+ "pc": [
+ 3203,
+ 3204
+ ]
+ },
+ {
+ "teal": 3226,
+ "source": 867,
+ "pc": [
+ 3205
+ ]
+ },
+ {
+ "teal": 3227,
+ "source": 867,
+ "pc": [
+ 3206,
+ 3207
+ ]
+ },
+ {
+ "teal": 3230,
+ "source": 865,
+ "pc": [
+ 3208
+ ]
+ },
+ {
+ "teal": 3231,
+ "source": 865,
+ "pc": [
+ 3209,
+ 3210
+ ]
+ },
+ {
+ "teal": 3234,
+ "source": 865,
+ "pc": [
+ 3211
+ ]
+ },
+ {
+ "teal": 3237,
+ "source": 850,
+ "pc": [
+ 3212,
+ 3213,
+ 3214
+ ]
+ },
+ {
+ "teal": 3245,
+ "source": 892,
+ "pc": [
+ 3215,
+ 3216
+ ]
+ },
+ {
+ "teal": 3246,
+ "source": 892,
+ "pc": [
+ 3217,
+ 3218,
+ 3219
+ ]
+ },
+ {
+ "teal": 3251,
+ "source": 894,
+ "pc": [
+ 3220,
+ 3221
+ ]
+ },
+ {
+ "teal": 3252,
+ "source": 894,
+ "pc": [
+ 3222,
+ 3223
+ ]
+ },
+ {
+ "teal": 3253,
+ "source": 894,
+ "pc": [
+ 3224,
+ 3225,
+ 3226
+ ]
+ },
+ {
+ "teal": 3254,
+ "source": 894,
+ "pc": [
+ 3227
+ ]
+ },
+ {
+ "teal": 3255,
+ "source": 894,
+ "pc": [
+ 3228
+ ]
+ },
+ {
+ "teal": 3256,
+ "source": 894,
+ "pc": [
+ 3229
+ ]
+ },
+ {
+ "teal": 3257,
+ "source": 894,
+ "pc": [
+ 3230,
+ 3231
+ ]
+ },
+ {
+ "teal": 3258,
+ "source": 894,
+ "pc": [
+ 3232
+ ]
+ },
+ {
+ "teal": 3259,
+ "source": 894,
+ "pc": [
+ 3233
+ ]
+ },
+ {
+ "teal": 3260,
+ "source": 894,
+ "pc": [
+ 3234
+ ]
+ },
+ {
+ "teal": 3261,
+ "source": 894,
+ "pc": [
+ 3235
+ ]
+ },
+ {
+ "teal": 3262,
+ "source": 894,
+ "pc": [
+ 3236,
+ 3237
+ ]
+ },
+ {
+ "teal": 3263,
+ "source": 894,
+ "pc": [
+ 3238,
+ 3239
+ ]
+ },
+ {
+ "teal": 3264,
+ "source": 894,
+ "pc": [
+ 3240,
+ 3241,
+ 3242
+ ]
+ },
+ {
+ "teal": 3265,
+ "source": 894,
+ "pc": [
+ 3243
+ ]
+ },
+ {
+ "teal": 3266,
+ "source": 894,
+ "pc": [
+ 3244
+ ]
+ },
+ {
+ "teal": 3267,
+ "source": 894,
+ "pc": [
+ 3245
+ ]
+ },
+ {
+ "teal": 3268,
+ "source": 894,
+ "pc": [
+ 3246,
+ 3247
+ ]
+ },
+ {
+ "teal": 3269,
+ "source": 894,
+ "pc": [
+ 3248
+ ]
+ },
+ {
+ "teal": 3270,
+ "source": 894,
+ "pc": [
+ 3249
+ ]
+ },
+ {
+ "teal": 3271,
+ "source": 894,
+ "pc": [
+ 3250
+ ]
+ },
+ {
+ "teal": 3272,
+ "source": 894,
+ "pc": [
+ 3251
+ ]
+ },
+ {
+ "teal": 3273,
+ "source": 894,
+ "pc": [
+ 3252,
+ 3253
+ ]
+ },
+ {
+ "teal": 3274,
+ "source": 894,
+ "pc": [
+ 3254
+ ]
+ },
+ {
+ "teal": 3275,
+ "source": 894,
+ "pc": [
+ 3255,
+ 3256
+ ]
+ },
+ {
+ "teal": 3276,
+ "source": 894,
+ "pc": [
+ 3257,
+ 3258,
+ 3259
+ ]
+ },
+ {
+ "teal": 3277,
+ "source": 894,
+ "pc": [
+ 3260
+ ]
+ },
+ {
+ "teal": 3278,
+ "source": 894,
+ "pc": [
+ 3261
+ ]
+ },
+ {
+ "teal": 3279,
+ "source": 894,
+ "pc": [
+ 3262
+ ]
+ },
+ {
+ "teal": 3280,
+ "source": 894,
+ "pc": [
+ 3263,
+ 3264
+ ]
+ },
+ {
+ "teal": 3281,
+ "source": 894,
+ "pc": [
+ 3265
+ ]
+ },
+ {
+ "teal": 3282,
+ "source": 894,
+ "pc": [
+ 3266
+ ]
+ },
+ {
+ "teal": 3283,
+ "source": 894,
+ "pc": [
+ 3267
+ ]
+ },
+ {
+ "teal": 3284,
+ "source": 894,
+ "pc": [
+ 3268
+ ]
+ },
+ {
+ "teal": 3285,
+ "source": 894,
+ "pc": [
+ 3269
+ ]
+ },
+ {
+ "teal": 3286,
+ "source": 894,
+ "pc": [
+ 3270,
+ 3271,
+ 3272
+ ]
+ },
+ {
+ "teal": 3287,
+ "source": 894,
+ "pc": [
+ 3273
+ ]
+ },
+ {
+ "teal": 3288,
+ "source": 894,
+ "pc": [
+ 3274,
+ 3275
+ ]
+ },
+ {
+ "teal": 3289,
+ "source": 894,
+ "pc": [
+ 3276,
+ 3277,
+ 3278
+ ]
+ },
+ {
+ "teal": 3290,
+ "source": 894,
+ "pc": [
+ 3279
+ ]
+ },
+ {
+ "teal": 3291,
+ "source": 894,
+ "pc": [
+ 3280
+ ]
+ },
+ {
+ "teal": 3292,
+ "source": 894,
+ "pc": [
+ 3281
+ ]
+ },
+ {
+ "teal": 3293,
+ "source": 894,
+ "pc": [
+ 3282,
+ 3283
+ ]
+ },
+ {
+ "teal": 3294,
+ "source": 894,
+ "pc": [
+ 3284
+ ]
+ },
+ {
+ "teal": 3302,
+ "source": 897,
+ "pc": [
+ 3285,
+ 3286
+ ]
+ },
+ {
+ "teal": 3303,
+ "source": 897,
+ "pc": [
+ 3287,
+ 3288,
+ 3289
+ ]
+ },
+ {
+ "teal": 3304,
+ "source": 897,
+ "pc": [
+ 3290
+ ]
+ },
+ {
+ "teal": 3305,
+ "source": 897,
+ "pc": [
+ 3291
+ ]
+ },
+ {
+ "teal": 3306,
+ "source": 898,
+ "pc": [
+ 3292,
+ 3293
+ ]
+ },
+ {
+ "teal": 3307,
+ "source": 898,
+ "pc": [
+ 3294,
+ 3295,
+ 3296
+ ]
+ },
+ {
+ "teal": 3308,
+ "source": 898,
+ "pc": [
+ 3297
+ ]
+ },
+ {
+ "teal": 3309,
+ "source": 898,
+ "pc": [
+ 3298
+ ]
+ },
+ {
+ "teal": 3310,
+ "source": 898,
+ "pc": [
+ 3299
+ ]
+ },
+ {
+ "teal": 3311,
+ "source": 899,
+ "pc": [
+ 3300,
+ 3301
+ ]
+ },
+ {
+ "teal": 3312,
+ "source": 899,
+ "pc": [
+ 3302,
+ 3303,
+ 3304
+ ]
+ },
+ {
+ "teal": 3313,
+ "source": 899,
+ "pc": [
+ 3305
+ ]
+ },
+ {
+ "teal": 3314,
+ "source": 899,
+ "pc": [
+ 3306
+ ]
+ },
+ {
+ "teal": 3315,
+ "source": 899,
+ "pc": [
+ 3307
+ ]
+ },
+ {
+ "teal": 3316,
+ "source": 896,
+ "pc": [
+ 3308,
+ 3309
+ ]
+ },
+ {
+ "teal": 3317,
+ "source": 896,
+ "pc": [
+ 3310,
+ 3311,
+ 3312
+ ]
+ },
+ {
+ "teal": 3318,
+ "source": 896,
+ "pc": [
+ 3313,
+ 3314
+ ]
+ },
+ {
+ "teal": 3322,
+ "source": 901,
+ "pc": [
+ 3315,
+ 3316
+ ]
+ },
+ {
+ "teal": 3323,
+ "source": 901,
+ "pc": [
+ 3317,
+ 3318
+ ]
+ },
+ {
+ "teal": 3324,
+ "source": 901,
+ "pc": [
+ 3319,
+ 3320
+ ]
+ },
+ {
+ "teal": 3325,
+ "source": 901,
+ "pc": [
+ 3321
+ ]
+ },
+ {
+ "teal": 3326,
+ "source": 901,
+ "pc": [
+ 3322
+ ]
+ },
+ {
+ "teal": 3327,
+ "source": 901,
+ "pc": [
+ 3323,
+ 3324
+ ]
+ },
+ {
+ "teal": 3331,
+ "source": 902,
+ "pc": [
+ 3325,
+ 3326
+ ]
+ },
+ {
+ "teal": 3332,
+ "source": 902,
+ "pc": [
+ 3327,
+ 3328
+ ]
+ },
+ {
+ "teal": 3333,
+ "source": 902,
+ "pc": [
+ 3329,
+ 3330
+ ]
+ },
+ {
+ "teal": 3334,
+ "source": 902,
+ "pc": [
+ 3331
+ ]
+ },
+ {
+ "teal": 3335,
+ "source": 902,
+ "pc": [
+ 3332
+ ]
+ },
+ {
+ "teal": 3336,
+ "source": 902,
+ "pc": [
+ 3333,
+ 3334
+ ]
+ },
+ {
+ "teal": 3341,
+ "source": 904,
+ "pc": [
+ 3335,
+ 3336
+ ]
+ },
+ {
+ "teal": 3342,
+ "source": 904,
+ "pc": [
+ 3337,
+ 3338,
+ 3339
+ ]
+ },
+ {
+ "teal": 3347,
+ "source": 905,
+ "pc": [
+ 3340,
+ 3341
+ ]
+ },
+ {
+ "teal": 3348,
+ "source": 905,
+ "pc": [
+ 3342
+ ]
+ },
+ {
+ "teal": 3349,
+ "source": 905,
+ "pc": [
+ 3343
+ ]
+ },
+ {
+ "teal": 3350,
+ "source": 905,
+ "pc": [
+ 3344
+ ]
+ },
+ {
+ "teal": 3351,
+ "source": 905,
+ "pc": [
+ 3345,
+ 3346
+ ]
+ },
+ {
+ "teal": 3352,
+ "source": 905,
+ "pc": [
+ 3347,
+ 3348,
+ 3349
+ ]
+ },
+ {
+ "teal": 3353,
+ "source": 905,
+ "pc": [
+ 3350
+ ]
+ },
+ {
+ "teal": 3354,
+ "source": 905,
+ "pc": [
+ 3351
+ ]
+ },
+ {
+ "teal": 3355,
+ "source": 905,
+ "pc": [
+ 3352
+ ]
+ },
+ {
+ "teal": 3356,
+ "source": 905,
+ "pc": [
+ 3353,
+ 3354
+ ]
+ },
+ {
+ "teal": 3357,
+ "source": 905,
+ "pc": [
+ 3355
+ ]
+ },
+ {
+ "teal": 3358,
+ "source": 905,
+ "pc": [
+ 3356
+ ]
+ },
+ {
+ "teal": 3359,
+ "source": 905,
+ "pc": [
+ 3357
+ ]
+ },
+ {
+ "teal": 3360,
+ "source": 905,
+ "pc": [
+ 3358
+ ]
+ },
+ {
+ "teal": 3361,
+ "source": 905,
+ "pc": [
+ 3359
+ ]
+ },
+ {
+ "teal": 3362,
+ "source": 905,
+ "pc": [
+ 3360
+ ]
+ },
+ {
+ "teal": 3363,
+ "source": 905,
+ "pc": [
+ 3361,
+ 3362
+ ]
+ },
+ {
+ "teal": 3364,
+ "source": 905,
+ "pc": [
+ 3363,
+ 3364,
+ 3365
+ ]
+ },
+ {
+ "teal": 3365,
+ "source": 905,
+ "pc": [
+ 3366
+ ]
+ },
+ {
+ "teal": 3366,
+ "source": 905,
+ "pc": [
+ 3367
+ ]
+ },
+ {
+ "teal": 3367,
+ "source": 905,
+ "pc": [
+ 3368
+ ]
+ },
+ {
+ "teal": 3368,
+ "source": 905,
+ "pc": [
+ 3369,
+ 3370
+ ]
+ },
+ {
+ "teal": 3369,
+ "source": 905,
+ "pc": [
+ 3371
+ ]
+ },
+ {
+ "teal": 3375,
+ "source": 908,
+ "pc": [
+ 3372,
+ 3373
+ ]
+ },
+ {
+ "teal": 3376,
+ "source": 908,
+ "pc": [
+ 3374,
+ 3375,
+ 3376
+ ]
+ },
+ {
+ "teal": 3381,
+ "source": 909,
+ "pc": [
+ 3377,
+ 3378
+ ]
+ },
+ {
+ "teal": 3382,
+ "source": 909,
+ "pc": [
+ 3379
+ ]
+ },
+ {
+ "teal": 3383,
+ "source": 909,
+ "pc": [
+ 3380
+ ]
+ },
+ {
+ "teal": 3384,
+ "source": 909,
+ "pc": [
+ 3381
+ ]
+ },
+ {
+ "teal": 3385,
+ "source": 909,
+ "pc": [
+ 3382,
+ 3383
+ ]
+ },
+ {
+ "teal": 3386,
+ "source": 909,
+ "pc": [
+ 3384
+ ]
+ },
+ {
+ "teal": 3387,
+ "source": 909,
+ "pc": [
+ 3385
+ ]
+ },
+ {
+ "teal": 3392,
+ "source": 829,
+ "pc": [
+ 3386
+ ]
+ },
+ {
+ "teal": 3397,
+ "source": 925,
+ "pc": [
+ 3387
+ ]
+ },
+ {
+ "teal": 3400,
+ "source": 928,
+ "pc": [
+ 3388,
+ 3389,
+ 3390
+ ]
+ },
+ {
+ "teal": 3401,
+ "source": 928,
+ "pc": [
+ 3391
+ ]
+ },
+ {
+ "teal": 3404,
+ "source": 927,
+ "pc": [
+ 3392,
+ 3393,
+ 3394
+ ]
+ },
+ {
+ "teal": 3405,
+ "source": 927,
+ "pc": [
+ 3395
+ ]
+ },
+ {
+ "teal": 3406,
+ "source": 927,
+ "pc": [
+ 3396
+ ]
+ },
+ {
+ "teal": 3407,
+ "source": 927,
+ "pc": [
+ 3397,
+ 3398
+ ]
+ },
+ {
+ "teal": 3408,
+ "source": 927,
+ "pc": [
+ 3399
+ ]
+ },
+ {
+ "teal": 3411,
+ "source": 927,
+ "errorMessage": "argument 1 (staker) for findPoolForStaker must be a address",
+ "pc": [
+ 3400
+ ]
+ },
+ {
+ "teal": 3414,
+ "source": 926,
+ "pc": [
+ 3401,
+ 3402,
+ 3403
+ ]
+ },
+ {
+ "teal": 3415,
+ "source": 926,
+ "pc": [
+ 3404
+ ]
+ },
+ {
+ "teal": 3418,
+ "source": 925,
+ "pc": [
+ 3405,
+ 3406,
+ 3407
+ ]
+ },
+ {
+ "teal": 3419,
+ "source": 925,
+ "pc": [
+ 3408
+ ]
+ },
+ {
+ "teal": 3420,
+ "source": 925,
+ "pc": [
+ 3409
+ ]
+ },
+ {
+ "teal": 3421,
+ "source": 925,
+ "pc": [
+ 3410
+ ]
+ },
+ {
+ "teal": 3422,
+ "source": 925,
+ "pc": [
+ 3411
+ ]
+ },
+ {
+ "teal": 3436,
+ "source": 925,
+ "pc": [
+ 3412,
+ 3413,
+ 3414
+ ]
+ },
+ {
+ "teal": 3439,
+ "source": 925,
+ "pc": [
+ 3415
+ ]
+ },
+ {
+ "teal": 3440,
+ "source": 925,
+ "pc": [
+ 3416,
+ 3417
+ ]
+ },
+ {
+ "teal": 3444,
+ "source": 930,
+ "pc": [
+ 3418
+ ]
+ },
+ {
+ "teal": 3445,
+ "source": 930,
+ "pc": [
+ 3419,
+ 3420
+ ]
+ },
+ {
+ "teal": 3449,
+ "source": 931,
+ "pc": [
+ 3421
+ ]
+ },
+ {
+ "teal": 3450,
+ "source": 931,
+ "pc": [
+ 3422,
+ 3423
+ ]
+ },
+ {
+ "teal": 3454,
+ "source": 939,
+ "pc": [
+ 3424,
+ 3425
+ ]
+ },
+ {
+ "teal": 3455,
+ "source": 939,
+ "pc": [
+ 3426,
+ 3427,
+ 3428
+ ]
+ },
+ {
+ "teal": 3456,
+ "source": 939,
+ "pc": [
+ 3429,
+ 3430
+ ]
+ },
+ {
+ "teal": 3461,
+ "source": 942,
+ "pc": [
+ 3431
+ ]
+ },
+ {
+ "teal": 3462,
+ "source": 942,
+ "pc": [
+ 3432,
+ 3433
+ ]
+ },
+ {
+ "teal": 3463,
+ "source": 942,
+ "pc": [
+ 3434
+ ]
+ },
+ {
+ "teal": 3464,
+ "source": 942,
+ "pc": [
+ 3435
+ ]
+ },
+ {
+ "teal": 3465,
+ "source": 942,
+ "pc": [
+ 3436
+ ]
+ },
+ {
+ "teal": 3466,
+ "source": 942,
+ "pc": [
+ 3437
+ ]
+ },
+ {
+ "teal": 3467,
+ "source": 942,
+ "pc": [
+ 3438,
+ 3439,
+ 3440
+ ]
+ },
+ {
+ "teal": 3472,
+ "source": 943,
+ "pc": [
+ 3441
+ ]
+ },
+ {
+ "teal": 3473,
+ "source": 943,
+ "pc": [
+ 3442,
+ 3443
+ ]
+ },
+ {
+ "teal": 3474,
+ "source": 943,
+ "pc": [
+ 3444
+ ]
+ },
+ {
+ "teal": 3475,
+ "source": 943,
+ "pc": [
+ 3445
+ ]
+ },
+ {
+ "teal": 3478,
+ "source": 943,
+ "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value",
+ "pc": [
+ 3446
+ ]
+ },
+ {
+ "teal": 3479,
+ "source": 943,
+ "pc": [
+ 3447,
+ 3448
+ ]
+ },
+ {
+ "teal": 3483,
+ "source": 944,
+ "pc": [
+ 3449,
+ 3450
+ ]
+ },
+ {
+ "teal": 3484,
+ "source": 944,
+ "pc": [
+ 3451
+ ]
+ },
+ {
+ "teal": 3485,
+ "source": 944,
+ "pc": [
+ 3452
+ ]
+ },
+ {
+ "teal": 3486,
+ "source": 944,
+ "pc": [
+ 3453
+ ]
+ },
+ {
+ "teal": 3490,
+ "source": 945,
+ "pc": [
+ 3454
+ ]
+ },
+ {
+ "teal": 3491,
+ "source": 945,
+ "pc": [
+ 3455,
+ 3456
+ ]
+ },
+ {
+ "teal": 3496,
+ "source": 945,
+ "pc": [
+ 3457,
+ 3458
+ ]
+ },
+ {
+ "teal": 3497,
+ "source": 945,
+ "pc": [
+ 3459,
+ 3460
+ ]
+ },
+ {
+ "teal": 3498,
+ "source": 945,
+ "pc": [
+ 3461
+ ]
+ },
+ {
+ "teal": 3499,
+ "source": 945,
+ "pc": [
+ 3462,
+ 3463,
+ 3464
+ ]
+ },
+ {
+ "teal": 3504,
+ "source": 946,
+ "pc": [
+ 3465,
+ 3466
+ ]
+ },
+ {
+ "teal": 3505,
+ "source": 946,
+ "pc": [
+ 3467,
+ 3468
+ ]
+ },
+ {
+ "teal": 3506,
+ "source": 946,
+ "pc": [
+ 3469
+ ]
+ },
+ {
+ "teal": 3507,
+ "source": 946,
+ "pc": [
+ 3470,
+ 3471,
+ 3472
+ ]
+ },
+ {
+ "teal": 3512,
+ "source": 947,
+ "pc": [
+ 3473
+ ]
+ },
+ {
+ "teal": 3513,
+ "source": 947,
+ "pc": [
+ 3474,
+ 3475
+ ]
+ },
+ {
+ "teal": 3514,
+ "source": 947,
+ "pc": [
+ 3476,
+ 3477
+ ]
+ },
+ {
+ "teal": 3515,
+ "source": 947,
+ "pc": [
+ 3478
+ ]
+ },
+ {
+ "teal": 3516,
+ "source": 947,
+ "pc": [
+ 3479,
+ 3480
+ ]
+ },
+ {
+ "teal": 3517,
+ "source": 947,
+ "pc": [
+ 3481,
+ 3482
+ ]
+ },
+ {
+ "teal": 3518,
+ "source": 947,
+ "pc": [
+ 3483
+ ]
+ },
+ {
+ "teal": 3519,
+ "source": 947,
+ "pc": [
+ 3484,
+ 3485
+ ]
+ },
+ {
+ "teal": 3520,
+ "source": 947,
+ "pc": [
+ 3486,
+ 3487
+ ]
+ },
+ {
+ "teal": 3521,
+ "source": 947,
+ "pc": [
+ 3488,
+ 3489
+ ]
+ },
+ {
+ "teal": 3522,
+ "source": 947,
+ "pc": [
+ 3490,
+ 3491
+ ]
+ },
+ {
+ "teal": 3523,
+ "source": 947,
+ "pc": [
+ 3492
+ ]
+ },
+ {
+ "teal": 3529,
+ "source": 949,
+ "pc": [
+ 3493,
+ 3494
+ ]
+ },
+ {
+ "teal": 3530,
+ "source": 949,
+ "pc": [
+ 3495,
+ 3496
+ ]
+ },
+ {
+ "teal": 3531,
+ "source": 949,
+ "pc": [
+ 3497
+ ]
+ },
+ {
+ "teal": 3532,
+ "source": 949,
+ "pc": [
+ 3498
+ ]
+ },
+ {
+ "teal": 3533,
+ "source": 949,
+ "pc": [
+ 3499
+ ]
+ },
+ {
+ "teal": 3534,
+ "source": 949,
+ "pc": [
+ 3500
+ ]
+ },
+ {
+ "teal": 3535,
+ "source": 949,
+ "pc": [
+ 3501
+ ]
+ },
+ {
+ "teal": 3536,
+ "source": 949,
+ "pc": [
+ 3502
+ ]
+ },
+ {
+ "teal": 3537,
+ "source": 949,
+ "pc": [
+ 3503
+ ]
+ },
+ {
+ "teal": 3538,
+ "source": 949,
+ "pc": [
+ 3504
+ ]
+ },
+ {
+ "teal": 3539,
+ "source": 949,
+ "pc": [
+ 3505
+ ]
+ },
+ {
+ "teal": 3540,
+ "source": 949,
+ "pc": [
+ 3506,
+ 3507,
+ 3508
+ ]
+ },
+ {
+ "teal": 3543,
+ "source": 950,
+ "pc": [
+ 3509,
+ 3510,
+ 3511
+ ]
+ },
+ {
+ "teal": 3548,
+ "source": 952,
+ "pc": [
+ 3512
+ ]
+ },
+ {
+ "teal": 3549,
+ "source": 952,
+ "pc": [
+ 3513,
+ 3514
+ ]
+ },
+ {
+ "teal": 3554,
+ "source": 953,
+ "pc": [
+ 3515,
+ 3516
+ ]
+ },
+ {
+ "teal": 3555,
+ "source": 953,
+ "pc": [
+ 3517,
+ 3518
+ ]
+ },
+ {
+ "teal": 3556,
+ "source": 953,
+ "pc": [
+ 3519
+ ]
+ },
+ {
+ "teal": 3557,
+ "source": 953,
+ "pc": [
+ 3520
+ ]
+ },
+ {
+ "teal": 3558,
+ "source": 953,
+ "pc": [
+ 3521
+ ]
+ },
+ {
+ "teal": 3559,
+ "source": 953,
+ "pc": [
+ 3522
+ ]
+ },
+ {
+ "teal": 3560,
+ "source": 953,
+ "pc": [
+ 3523
+ ]
+ },
+ {
+ "teal": 3561,
+ "source": 953,
+ "pc": [
+ 3524
+ ]
+ },
+ {
+ "teal": 3562,
+ "source": 953,
+ "pc": [
+ 3525
+ ]
+ },
+ {
+ "teal": 3563,
+ "source": 953,
+ "pc": [
+ 3526,
+ 3527
+ ]
+ },
+ {
+ "teal": 3564,
+ "source": 953,
+ "pc": [
+ 3528
+ ]
+ },
+ {
+ "teal": 3565,
+ "source": 953,
+ "pc": [
+ 3529,
+ 3530,
+ 3531
+ ]
+ },
+ {
+ "teal": 3570,
+ "source": 955,
+ "pc": [
+ 3532
+ ]
+ },
+ {
+ "teal": 3571,
+ "source": 955,
+ "pc": [
+ 3533,
+ 3534
+ ]
+ },
+ {
+ "teal": 3577,
+ "source": 957,
+ "pc": [
+ 3535,
+ 3536
+ ]
+ },
+ {
+ "teal": 3578,
+ "source": 957,
+ "pc": [
+ 3537,
+ 3538
+ ]
+ },
+ {
+ "teal": 3579,
+ "source": 957,
+ "pc": [
+ 3539,
+ 3540
+ ]
+ },
+ {
+ "teal": 3580,
+ "source": 957,
+ "pc": [
+ 3541
+ ]
+ },
+ {
+ "teal": 3581,
+ "source": 957,
+ "pc": [
+ 3542
+ ]
+ },
+ {
+ "teal": 3582,
+ "source": 957,
+ "pc": [
+ 3543
+ ]
+ },
+ {
+ "teal": 3583,
+ "source": 957,
+ "pc": [
+ 3544
+ ]
+ },
+ {
+ "teal": 3584,
+ "source": 957,
+ "pc": [
+ 3545
+ ]
+ },
+ {
+ "teal": 3585,
+ "source": 957,
+ "pc": [
+ 3546
+ ]
+ },
+ {
+ "teal": 3586,
+ "source": 957,
+ "pc": [
+ 3547
+ ]
+ },
+ {
+ "teal": 3587,
+ "source": 957,
+ "pc": [
+ 3548
+ ]
+ },
+ {
+ "teal": 3588,
+ "source": 957,
+ "pc": [
+ 3549
+ ]
+ },
+ {
+ "teal": 3589,
+ "source": 957,
+ "pc": [
+ 3550,
+ 3551
+ ]
+ },
+ {
+ "teal": 3590,
+ "source": 957,
+ "pc": [
+ 3552
+ ]
+ },
+ {
+ "teal": 3591,
+ "source": 957,
+ "pc": [
+ 3553
+ ]
+ },
+ {
+ "teal": 3592,
+ "source": 957,
+ "pc": [
+ 3554,
+ 3555
+ ]
+ },
+ {
+ "teal": 3593,
+ "source": 957,
+ "pc": [
+ 3556
+ ]
+ },
+ {
+ "teal": 3594,
+ "source": 957,
+ "pc": [
+ 3557
+ ]
+ },
+ {
+ "teal": 3595,
+ "source": 957,
+ "pc": [
+ 3558
+ ]
+ },
+ {
+ "teal": 3596,
+ "source": 957,
+ "pc": [
+ 3559,
+ 3560
+ ]
+ },
+ {
+ "teal": 3597,
+ "source": 957,
+ "pc": [
+ 3561
+ ]
+ },
+ {
+ "teal": 3598,
+ "source": 957,
+ "pc": [
+ 3562
+ ]
+ },
+ {
+ "teal": 3599,
+ "source": 957,
+ "pc": [
+ 3563,
+ 3564
+ ]
+ },
+ {
+ "teal": 3600,
+ "source": 957,
+ "pc": [
+ 3565
+ ]
+ },
+ {
+ "teal": 3601,
+ "source": 957,
+ "pc": [
+ 3566
+ ]
+ },
+ {
+ "teal": 3602,
+ "source": 957,
+ "pc": [
+ 3567,
+ 3568
+ ]
+ },
+ {
+ "teal": 3603,
+ "source": 957,
+ "pc": [
+ 3569
+ ]
+ },
+ {
+ "teal": 3604,
+ "source": 958,
+ "pc": [
+ 3570,
+ 3571
+ ]
+ },
+ {
+ "teal": 3605,
+ "source": 957,
+ "pc": [
+ 3572
+ ]
+ },
+ {
+ "teal": 3606,
+ "source": 956,
+ "pc": [
+ 3573,
+ 3574,
+ 3575
+ ]
+ },
+ {
+ "teal": 3611,
+ "source": 960,
+ "pc": [
+ 3576,
+ 3577
+ ]
+ },
+ {
+ "teal": 3612,
+ "source": 960,
+ "pc": [
+ 3578,
+ 3579
+ ]
+ },
+ {
+ "teal": 3613,
+ "source": 960,
+ "pc": [
+ 3580
+ ]
+ },
+ {
+ "teal": 3614,
+ "source": 960,
+ "pc": [
+ 3581
+ ]
+ },
+ {
+ "teal": 3615,
+ "source": 960,
+ "pc": [
+ 3582
+ ]
+ },
+ {
+ "teal": 3616,
+ "source": 960,
+ "pc": [
+ 3583
+ ]
+ },
+ {
+ "teal": 3617,
+ "source": 960,
+ "pc": [
+ 3584,
+ 3585
+ ]
+ },
+ {
+ "teal": 3618,
+ "source": 960,
+ "pc": [
+ 3586
+ ]
+ },
+ {
+ "teal": 3619,
+ "source": 960,
+ "pc": [
+ 3587,
+ 3588
+ ]
+ },
+ {
+ "teal": 3620,
+ "source": 960,
+ "pc": [
+ 3589
+ ]
+ },
+ {
+ "teal": 3621,
+ "source": 960,
+ "pc": [
+ 3590
+ ]
+ },
+ {
+ "teal": 3622,
+ "source": 960,
+ "pc": [
+ 3591,
+ 3592
+ ]
+ },
+ {
+ "teal": 3623,
+ "source": 960,
+ "pc": [
+ 3593
+ ]
+ },
+ {
+ "teal": 3624,
+ "source": 960,
+ "pc": [
+ 3594
+ ]
+ },
+ {
+ "teal": 3625,
+ "source": 960,
+ "pc": [
+ 3595,
+ 3596,
+ 3597
+ ]
+ },
+ {
+ "teal": 3634,
+ "source": 945,
+ "pc": [
+ 3598,
+ 3599
+ ]
+ },
+ {
+ "teal": 3635,
+ "source": 945,
+ "pc": [
+ 3600
+ ]
+ },
+ {
+ "teal": 3636,
+ "source": 945,
+ "pc": [
+ 3601
+ ]
+ },
+ {
+ "teal": 3637,
+ "source": 945,
+ "pc": [
+ 3602,
+ 3603
+ ]
+ },
+ {
+ "teal": 3638,
+ "source": 945,
+ "pc": [
+ 3604,
+ 3605,
+ 3606
+ ]
+ },
+ {
+ "teal": 3648,
+ "source": 968,
+ "pc": [
+ 3607,
+ 3608
+ ]
+ },
+ {
+ "teal": 3649,
+ "source": 968,
+ "pc": [
+ 3609,
+ 3610
+ ]
+ },
+ {
+ "teal": 3650,
+ "source": 968,
+ "pc": [
+ 3611
+ ]
+ },
+ {
+ "teal": 3651,
+ "source": 968,
+ "pc": [
+ 3612
+ ]
+ },
+ {
+ "teal": 3652,
+ "source": 968,
+ "pc": [
+ 3613,
+ 3614
+ ]
+ },
+ {
+ "teal": 3653,
+ "source": 968,
+ "pc": [
+ 3615
+ ]
+ },
+ {
+ "teal": 3654,
+ "source": 968,
+ "pc": [
+ 3616
+ ]
+ },
+ {
+ "teal": 3655,
+ "source": 968,
+ "pc": [
+ 3617,
+ 3618
+ ]
+ },
+ {
+ "teal": 3656,
+ "source": 968,
+ "pc": [
+ 3619
+ ]
+ },
+ {
+ "teal": 3657,
+ "source": 968,
+ "pc": [
+ 3620
+ ]
+ },
+ {
+ "teal": 3658,
+ "source": 968,
+ "pc": [
+ 3621
+ ]
+ },
+ {
+ "teal": 3661,
+ "source": 967,
+ "errorMessage": "must stake at least the minimum for this pool",
+ "pc": [
+ 3622
+ ]
+ },
+ {
+ "teal": 3665,
+ "source": 973,
+ "pc": [
+ 3623,
+ 3624
+ ]
+ },
+ {
+ "teal": 3666,
+ "source": 973,
+ "pc": [
+ 3625,
+ 3626
+ ]
+ },
+ {
+ "teal": 3667,
+ "source": 973,
+ "pc": [
+ 3627
+ ]
+ },
+ {
+ "teal": 3668,
+ "source": 973,
+ "pc": [
+ 3628,
+ 3629
+ ]
+ },
+ {
+ "teal": 3669,
+ "source": 973,
+ "pc": [
+ 3630
+ ]
+ },
+ {
+ "teal": 3670,
+ "source": 973,
+ "pc": [
+ 3631
+ ]
+ },
+ {
+ "teal": 3671,
+ "source": 973,
+ "pc": [
+ 3632,
+ 3633
+ ]
+ },
+ {
+ "teal": 3672,
+ "source": 973,
+ "pc": [
+ 3634
+ ]
+ },
+ {
+ "teal": 3673,
+ "source": 973,
+ "pc": [
+ 3635,
+ 3636
+ ]
+ },
+ {
+ "teal": 3677,
+ "source": 974,
+ "pc": [
+ 3637,
+ 3638
+ ]
+ },
+ {
+ "teal": 3678,
+ "source": 974,
+ "pc": [
+ 3639,
+ 3640
+ ]
+ },
+ {
+ "teal": 3679,
+ "source": 974,
+ "pc": [
+ 3641
+ ]
+ },
+ {
+ "teal": 3680,
+ "source": 974,
+ "pc": [
+ 3642,
+ 3643
+ ]
+ },
+ {
+ "teal": 3681,
+ "source": 974,
+ "pc": [
+ 3644
+ ]
+ },
+ {
+ "teal": 3682,
+ "source": 974,
+ "pc": [
+ 3645
+ ]
+ },
+ {
+ "teal": 3683,
+ "source": 974,
+ "pc": [
+ 3646,
+ 3647
+ ]
+ },
+ {
+ "teal": 3684,
+ "source": 974,
+ "pc": [
+ 3648
+ ]
+ },
+ {
+ "teal": 3685,
+ "source": 974,
+ "pc": [
+ 3649
+ ]
+ },
+ {
+ "teal": 3686,
+ "source": 974,
+ "pc": [
+ 3650,
+ 3651
+ ]
+ },
+ {
+ "teal": 3690,
+ "source": 975,
+ "pc": [
+ 3652
+ ]
+ },
+ {
+ "teal": 3691,
+ "source": 975,
+ "pc": [
+ 3653,
+ 3654
+ ]
+ },
+ {
+ "teal": 3696,
+ "source": 975,
+ "pc": [
+ 3655,
+ 3656
+ ]
+ },
+ {
+ "teal": 3697,
+ "source": 975,
+ "pc": [
+ 3657,
+ 3658
+ ]
+ },
+ {
+ "teal": 3698,
+ "source": 975,
+ "pc": [
+ 3659
+ ]
+ },
+ {
+ "teal": 3699,
+ "source": 975,
+ "pc": [
+ 3660,
+ 3661,
+ 3662
+ ]
+ },
+ {
+ "teal": 3704,
+ "source": 976,
+ "pc": [
+ 3663,
+ 3664
+ ]
+ },
+ {
+ "teal": 3705,
+ "source": 976,
+ "pc": [
+ 3665,
+ 3666
+ ]
+ },
+ {
+ "teal": 3706,
+ "source": 976,
+ "pc": [
+ 3667,
+ 3668
+ ]
+ },
+ {
+ "teal": 3707,
+ "source": 976,
+ "pc": [
+ 3669
+ ]
+ },
+ {
+ "teal": 3708,
+ "source": 976,
+ "pc": [
+ 3670,
+ 3671
+ ]
+ },
+ {
+ "teal": 3709,
+ "source": 976,
+ "pc": [
+ 3672
+ ]
+ },
+ {
+ "teal": 3710,
+ "source": 976,
+ "pc": [
+ 3673
+ ]
+ },
+ {
+ "teal": 3711,
+ "source": 976,
+ "pc": [
+ 3674
+ ]
+ },
+ {
+ "teal": 3712,
+ "source": 976,
+ "pc": [
+ 3675
+ ]
+ },
+ {
+ "teal": 3713,
+ "source": 976,
+ "pc": [
+ 3676,
+ 3677
+ ]
+ },
+ {
+ "teal": 3714,
+ "source": 976,
+ "pc": [
+ 3678
+ ]
+ },
+ {
+ "teal": 3715,
+ "source": 976,
+ "pc": [
+ 3679,
+ 3680
+ ]
+ },
+ {
+ "teal": 3716,
+ "source": 976,
+ "pc": [
+ 3681
+ ]
+ },
+ {
+ "teal": 3717,
+ "source": 976,
+ "pc": [
+ 3682,
+ 3683,
+ 3684
+ ]
+ },
+ {
+ "teal": 3726,
+ "source": 978,
+ "pc": [
+ 3685,
+ 3686
+ ]
+ },
+ {
+ "teal": 3727,
+ "source": 978,
+ "pc": [
+ 3687
+ ]
+ },
+ {
+ "teal": 3728,
+ "source": 978,
+ "pc": [
+ 3688,
+ 3689
+ ]
+ },
+ {
+ "teal": 3729,
+ "source": 978,
+ "pc": [
+ 3690
+ ]
+ },
+ {
+ "teal": 3730,
+ "source": 978,
+ "pc": [
+ 3691
+ ]
+ },
+ {
+ "teal": 3731,
+ "source": 978,
+ "pc": [
+ 3692
+ ]
+ },
+ {
+ "teal": 3732,
+ "source": 978,
+ "pc": [
+ 3693
+ ]
+ },
+ {
+ "teal": 3733,
+ "source": 978,
+ "pc": [
+ 3694,
+ 3695
+ ]
+ },
+ {
+ "teal": 3734,
+ "source": 978,
+ "pc": [
+ 3696,
+ 3697
+ ]
+ },
+ {
+ "teal": 3735,
+ "source": 978,
+ "pc": [
+ 3698,
+ 3699
+ ]
+ },
+ {
+ "teal": 3736,
+ "source": 978,
+ "pc": [
+ 3700
+ ]
+ },
+ {
+ "teal": 3737,
+ "source": 978,
+ "pc": [
+ 3701
+ ]
+ },
+ {
+ "teal": 3738,
+ "source": 978,
+ "pc": [
+ 3702
+ ]
+ },
+ {
+ "teal": 3739,
+ "source": 978,
+ "pc": [
+ 3703
+ ]
+ },
+ {
+ "teal": 3740,
+ "source": 978,
+ "pc": [
+ 3704
+ ]
+ },
+ {
+ "teal": 3741,
+ "source": 978,
+ "pc": [
+ 3705
+ ]
+ },
+ {
+ "teal": 3742,
+ "source": 978,
+ "pc": [
+ 3706
+ ]
+ },
+ {
+ "teal": 3743,
+ "source": 978,
+ "pc": [
+ 3707
+ ]
+ },
+ {
+ "teal": 3744,
+ "source": 979,
+ "pc": [
+ 3708,
+ 3709
+ ]
+ },
+ {
+ "teal": 3745,
+ "source": 979,
+ "pc": [
+ 3710
+ ]
+ },
+ {
+ "teal": 3746,
+ "source": 979,
+ "pc": [
+ 3711,
+ 3712
+ ]
+ },
+ {
+ "teal": 3747,
+ "source": 979,
+ "pc": [
+ 3713
+ ]
+ },
+ {
+ "teal": 3748,
+ "source": 980,
+ "pc": [
+ 3714
+ ]
+ },
+ {
+ "teal": 3749,
+ "source": 980,
+ "pc": [
+ 3715,
+ 3716
+ ]
+ },
+ {
+ "teal": 3750,
+ "source": 980,
+ "pc": [
+ 3717
+ ]
+ },
+ {
+ "teal": 3751,
+ "source": 977,
+ "pc": [
+ 3718
+ ]
+ },
+ {
+ "teal": 3752,
+ "source": 977,
+ "pc": [
+ 3719,
+ 3720,
+ 3721
+ ]
+ },
+ {
+ "teal": 3759,
+ "source": 975,
+ "pc": [
+ 3722,
+ 3723
+ ]
+ },
+ {
+ "teal": 3760,
+ "source": 975,
+ "pc": [
+ 3724
+ ]
+ },
+ {
+ "teal": 3761,
+ "source": 975,
+ "pc": [
+ 3725
+ ]
+ },
+ {
+ "teal": 3762,
+ "source": 975,
+ "pc": [
+ 3726,
+ 3727
+ ]
+ },
+ {
+ "teal": 3763,
+ "source": 975,
+ "pc": [
+ 3728,
+ 3729,
+ 3730
+ ]
+ },
+ {
+ "teal": 3768,
+ "source": 985,
+ "pc": [
+ 3731,
+ 3732
+ ]
+ },
+ {
+ "teal": 3769,
+ "source": 985,
+ "pc": [
+ 3733
+ ]
+ },
+ {
+ "teal": 3770,
+ "source": 985,
+ "pc": [
+ 3734,
+ 3735
+ ]
+ },
+ {
+ "teal": 3771,
+ "source": 985,
+ "pc": [
+ 3736
+ ]
+ },
+ {
+ "teal": 3772,
+ "source": 985,
+ "pc": [
+ 3737,
+ 3738
+ ]
+ },
+ {
+ "teal": 3773,
+ "source": 985,
+ "pc": [
+ 3739
+ ]
+ },
+ {
+ "teal": 3774,
+ "source": 985,
+ "pc": [
+ 3740,
+ 3741
+ ]
+ },
+ {
+ "teal": 3775,
+ "source": 985,
+ "pc": [
+ 3742
+ ]
+ },
+ {
+ "teal": 3776,
+ "source": 985,
+ "pc": [
+ 3743,
+ 3744
+ ]
+ },
+ {
+ "teal": 3777,
+ "source": 985,
+ "pc": [
+ 3745
+ ]
+ },
+ {
+ "teal": 3778,
+ "source": 985,
+ "pc": [
+ 3746
+ ]
+ },
+ {
+ "teal": 3779,
+ "source": 985,
+ "pc": [
+ 3747,
+ 3748
+ ]
+ },
+ {
+ "teal": 3780,
+ "source": 985,
+ "pc": [
+ 3749
+ ]
+ },
+ {
+ "teal": 3781,
+ "source": 985,
+ "pc": [
+ 3750
+ ]
+ },
+ {
+ "teal": 3785,
+ "source": 925,
+ "pc": [
+ 3751,
+ 3752
+ ]
+ },
+ {
+ "teal": 3788,
+ "source": 925,
+ "pc": [
+ 3753,
+ 3754
+ ]
+ },
+ {
+ "teal": 3789,
+ "source": 925,
+ "pc": [
+ 3755
+ ]
+ },
+ {
+ "teal": 3794,
+ "source": 999,
+ "pc": [
+ 3756,
+ 3757,
+ 3758
+ ]
+ },
+ {
+ "teal": 3795,
+ "source": 999,
+ "pc": [
+ 3759
+ ]
+ },
+ {
+ "teal": 3798,
+ "source": 999,
+ "pc": [
+ 3760,
+ 3761,
+ 3762
+ ]
+ },
+ {
+ "teal": 3799,
+ "source": 999,
+ "pc": [
+ 3763
+ ]
+ },
+ {
+ "teal": 3802,
+ "source": 999,
+ "pc": [
+ 3764,
+ 3765,
+ 3766
+ ]
+ },
+ {
+ "teal": 3803,
+ "source": 999,
+ "pc": [
+ 3767
+ ]
+ },
+ {
+ "teal": 3806,
+ "source": 999,
+ "pc": [
+ 3768,
+ 3769,
+ 3770
+ ]
+ },
+ {
+ "teal": 3807,
+ "source": 999,
+ "pc": [
+ 3771
+ ]
+ },
+ {
+ "teal": 3808,
+ "source": 999,
+ "pc": [
+ 3772
+ ]
+ },
+ {
+ "teal": 3822,
+ "source": 999,
+ "pc": [
+ 3773,
+ 3774,
+ 3775
+ ]
+ },
+ {
+ "teal": 3825,
+ "source": 999,
+ "pc": [
+ 3776
+ ]
+ },
+ {
+ "teal": 3826,
+ "source": 999,
+ "pc": [
+ 3777,
+ 3778
+ ]
+ },
+ {
+ "teal": 3834,
+ "source": 1002,
+ "pc": [
+ 3779,
+ 3780
+ ]
+ },
+ {
+ "teal": 3835,
+ "source": 1002,
+ "pc": [
+ 3781
+ ]
+ },
+ {
+ "teal": 3836,
+ "source": 1002,
+ "pc": [
+ 3782,
+ 3783
+ ]
+ },
+ {
+ "teal": 3837,
+ "source": 1002,
+ "pc": [
+ 3784
+ ]
+ },
+ {
+ "teal": 3838,
+ "source": 1002,
+ "pc": [
+ 3785,
+ 3786
+ ]
+ },
+ {
+ "teal": 3839,
+ "source": 1002,
+ "pc": [
+ 3787
+ ]
+ },
+ {
+ "teal": 3840,
+ "source": 1002,
+ "pc": [
+ 3788
+ ]
+ },
+ {
+ "teal": 3841,
+ "source": 1002,
+ "pc": [
+ 3789,
+ 3790
+ ]
+ },
+ {
+ "teal": 3842,
+ "source": 1002,
+ "pc": [
+ 3791
+ ]
+ },
+ {
+ "teal": 3843,
+ "source": 1002,
+ "pc": [
+ 3792
+ ]
+ },
+ {
+ "teal": 3844,
+ "source": 1002,
+ "pc": [
+ 3793
+ ]
+ },
+ {
+ "teal": 3845,
+ "source": 1002,
+ "pc": [
+ 3794,
+ 3795,
+ 3796
+ ]
+ },
+ {
+ "teal": 3846,
+ "source": 1003,
+ "pc": [
+ 3797,
+ 3798
+ ]
+ },
+ {
+ "teal": 3847,
+ "source": 1003,
+ "pc": [
+ 3799,
+ 3800
+ ]
+ },
+ {
+ "teal": 3848,
+ "source": 1003,
+ "pc": [
+ 3801,
+ 3802
+ ]
+ },
+ {
+ "teal": 3849,
+ "source": 1003,
+ "pc": [
+ 3803
+ ]
+ },
+ {
+ "teal": 3850,
+ "source": 1003,
+ "pc": [
+ 3804,
+ 3805
+ ]
+ },
+ {
+ "teal": 3851,
+ "source": 1003,
+ "pc": [
+ 3806
+ ]
+ },
+ {
+ "teal": 3852,
+ "source": 1003,
+ "pc": [
+ 3807
+ ]
+ },
+ {
+ "teal": 3853,
+ "source": 1003,
+ "pc": [
+ 3808,
+ 3809
+ ]
+ },
+ {
+ "teal": 3854,
+ "source": 1003,
+ "pc": [
+ 3810
+ ]
+ },
+ {
+ "teal": 3855,
+ "source": 1003,
+ "pc": [
+ 3811
+ ]
+ },
+ {
+ "teal": 3856,
+ "source": 1002,
+ "pc": [
+ 3812
+ ]
+ },
+ {
+ "teal": 3860,
+ "source": 1001,
+ "errorMessage": "can only be called by owner or manager of validator",
+ "pc": [
+ 3813
+ ]
+ },
+ {
+ "teal": 3864,
+ "source": 1007,
+ "pc": [
+ 3814,
+ 3815
+ ]
+ },
+ {
+ "teal": 3865,
+ "source": 1007,
+ "pc": [
+ 3816,
+ 3817
+ ]
+ },
+ {
+ "teal": 3866,
+ "source": 1007,
+ "pc": [
+ 3818
+ ]
+ },
+ {
+ "teal": 3867,
+ "source": 1007,
+ "pc": [
+ 3819,
+ 3820
+ ]
+ },
+ {
+ "teal": 3868,
+ "source": 1007,
+ "pc": [
+ 3821
+ ]
+ },
+ {
+ "teal": 3869,
+ "source": 1007,
+ "pc": [
+ 3822
+ ]
+ },
+ {
+ "teal": 3870,
+ "source": 1007,
+ "pc": [
+ 3823,
+ 3824
+ ]
+ },
+ {
+ "teal": 3871,
+ "source": 1007,
+ "pc": [
+ 3825
+ ]
+ },
+ {
+ "teal": 3872,
+ "source": 1007,
+ "pc": [
+ 3826,
+ 3827
+ ]
+ },
+ {
+ "teal": 3876,
+ "source": 1008,
+ "pc": [
+ 3828,
+ 3829
+ ]
+ },
+ {
+ "teal": 3877,
+ "source": 1008,
+ "pc": [
+ 3830
+ ]
+ },
+ {
+ "teal": 3878,
+ "source": 1008,
+ "pc": [
+ 3831
+ ]
+ },
+ {
+ "teal": 3879,
+ "source": 1008,
+ "pc": [
+ 3832
+ ]
+ },
+ {
+ "teal": 3880,
+ "source": 1008,
+ "pc": [
+ 3833,
+ 3834,
+ 3835
+ ]
+ },
+ {
+ "teal": 3881,
+ "source": 1008,
+ "pc": [
+ 3836,
+ 3837
+ ]
+ },
+ {
+ "teal": 3882,
+ "source": 1008,
+ "pc": [
+ 3838
+ ]
+ },
+ {
+ "teal": 3883,
+ "source": 1008,
+ "pc": [
+ 3839
+ ]
+ },
+ {
+ "teal": 3884,
+ "source": 1008,
+ "pc": [
+ 3840
+ ]
+ },
+ {
+ "teal": 3888,
+ "source": 1008,
+ "errorMessage": "node number out of allowable range",
+ "pc": [
+ 3841
+ ]
+ },
+ {
+ "teal": 3892,
+ "source": 1010,
+ "pc": [
+ 3842
+ ]
+ },
+ {
+ "teal": 3893,
+ "source": 1010,
+ "pc": [
+ 3843,
+ 3844
+ ]
+ },
+ {
+ "teal": 3898,
+ "source": 1010,
+ "pc": [
+ 3845,
+ 3846
+ ]
+ },
+ {
+ "teal": 3899,
+ "source": 1010,
+ "pc": [
+ 3847
+ ]
+ },
+ {
+ "teal": 3900,
+ "source": 1010,
+ "pc": [
+ 3848
+ ]
+ },
+ {
+ "teal": 3901,
+ "source": 1010,
+ "pc": [
+ 3849,
+ 3850,
+ 3851
+ ]
+ },
+ {
+ "teal": 3905,
+ "source": 1011,
+ "pc": [
+ 3852
+ ]
+ },
+ {
+ "teal": 3906,
+ "source": 1011,
+ "pc": [
+ 3853,
+ 3854
+ ]
+ },
+ {
+ "teal": 3911,
+ "source": 1011,
+ "pc": [
+ 3855,
+ 3856
+ ]
+ },
+ {
+ "teal": 3912,
+ "source": 1011,
+ "pc": [
+ 3857,
+ 3858
+ ]
+ },
+ {
+ "teal": 3913,
+ "source": 1011,
+ "pc": [
+ 3859
+ ]
+ },
+ {
+ "teal": 3914,
+ "source": 1011,
+ "pc": [
+ 3860,
+ 3861,
+ 3862
+ ]
+ },
+ {
+ "teal": 3919,
+ "source": 1012,
+ "pc": [
+ 3863,
+ 3864
+ ]
+ },
+ {
+ "teal": 3920,
+ "source": 1012,
+ "pc": [
+ 3865
+ ]
+ },
+ {
+ "teal": 3921,
+ "source": 1012,
+ "pc": [
+ 3866,
+ 3867
+ ]
+ },
+ {
+ "teal": 3922,
+ "source": 1012,
+ "pc": [
+ 3868
+ ]
+ },
+ {
+ "teal": 3923,
+ "source": 1012,
+ "pc": [
+ 3869
+ ]
+ },
+ {
+ "teal": 3924,
+ "source": 1012,
+ "pc": [
+ 3870
+ ]
+ },
+ {
+ "teal": 3925,
+ "source": 1012,
+ "pc": [
+ 3871
+ ]
+ },
+ {
+ "teal": 3926,
+ "source": 1012,
+ "pc": [
+ 3872
+ ]
+ },
+ {
+ "teal": 3927,
+ "source": 1012,
+ "pc": [
+ 3873,
+ 3874
+ ]
+ },
+ {
+ "teal": 3928,
+ "source": 1012,
+ "pc": [
+ 3875
+ ]
+ },
+ {
+ "teal": 3929,
+ "source": 1012,
+ "pc": [
+ 3876
+ ]
+ },
+ {
+ "teal": 3930,
+ "source": 1012,
+ "pc": [
+ 3877
+ ]
+ },
+ {
+ "teal": 3931,
+ "source": 1012,
+ "pc": [
+ 3878
+ ]
+ },
+ {
+ "teal": 3932,
+ "source": 1012,
+ "pc": [
+ 3879
+ ]
+ },
+ {
+ "teal": 3933,
+ "source": 1012,
+ "pc": [
+ 3880
+ ]
+ },
+ {
+ "teal": 3934,
+ "source": 1012,
+ "pc": [
+ 3881,
+ 3882
+ ]
+ },
+ {
+ "teal": 3935,
+ "source": 1012,
+ "pc": [
+ 3883
+ ]
+ },
+ {
+ "teal": 3936,
+ "source": 1012,
+ "pc": [
+ 3884,
+ 3885,
+ 3886
+ ]
+ },
+ {
+ "teal": 3941,
+ "source": 1013,
+ "pc": [
+ 3887,
+ 3888
+ ]
+ },
+ {
+ "teal": 3942,
+ "source": 1013,
+ "pc": [
+ 3889
+ ]
+ },
+ {
+ "teal": 3943,
+ "source": 1013,
+ "pc": [
+ 3890
+ ]
+ },
+ {
+ "teal": 3944,
+ "source": 1013,
+ "pc": [
+ 3891,
+ 3892
+ ]
+ },
+ {
+ "teal": 3945,
+ "source": 1013,
+ "pc": [
+ 3893
+ ]
+ },
+ {
+ "teal": 3948,
+ "source": 1013,
+ "errorMessage": "can't move to same node",
+ "pc": [
+ 3894
+ ]
+ },
+ {
+ "teal": 3952,
+ "source": 1015,
+ "pc": [
+ 3895,
+ 3896
+ ]
+ },
+ {
+ "teal": 3953,
+ "source": 1015,
+ "pc": [
+ 3897,
+ 3898
+ ]
+ },
+ {
+ "teal": 3954,
+ "source": 1015,
+ "pc": [
+ 3899
+ ]
+ },
+ {
+ "teal": 3955,
+ "source": 1015,
+ "pc": [
+ 3900
+ ]
+ },
+ {
+ "teal": 3956,
+ "source": 1015,
+ "pc": [
+ 3901
+ ]
+ },
+ {
+ "teal": 3957,
+ "source": 1015,
+ "pc": [
+ 3902
+ ]
+ },
+ {
+ "teal": 3958,
+ "source": 1015,
+ "pc": [
+ 3903
+ ]
+ },
+ {
+ "teal": 3959,
+ "source": 1015,
+ "pc": [
+ 3904,
+ 3905
+ ]
+ },
+ {
+ "teal": 3960,
+ "source": 1015,
+ "pc": [
+ 3906
+ ]
+ },
+ {
+ "teal": 3961,
+ "source": 1015,
+ "pc": [
+ 3907
+ ]
+ },
+ {
+ "teal": 3962,
+ "source": 1015,
+ "pc": [
+ 3908
+ ]
+ },
+ {
+ "teal": 3963,
+ "source": 1015,
+ "pc": [
+ 3909,
+ 3910
+ ]
+ },
+ {
+ "teal": 3964,
+ "source": 1015,
+ "pc": [
+ 3911
+ ]
+ },
+ {
+ "teal": 3965,
+ "source": 1015,
+ "pc": [
+ 3912,
+ 3913
+ ]
+ },
+ {
+ "teal": 3966,
+ "source": 1015,
+ "pc": [
+ 3914
+ ]
+ },
+ {
+ "teal": 3967,
+ "source": 1015,
+ "pc": [
+ 3915
+ ]
+ },
+ {
+ "teal": 3968,
+ "source": 1015,
+ "pc": [
+ 3916,
+ 3917
+ ]
+ },
+ {
+ "teal": 3969,
+ "source": 1015,
+ "pc": [
+ 3918
+ ]
+ },
+ {
+ "teal": 3975,
+ "source": 1018,
+ "pc": [
+ 3919
+ ]
+ },
+ {
+ "teal": 3976,
+ "source": 1018,
+ "pc": [
+ 3920,
+ 3921
+ ]
+ },
+ {
+ "teal": 3977,
+ "source": 1018,
+ "pc": [
+ 3922,
+ 3923
+ ]
+ },
+ {
+ "teal": 3978,
+ "source": 1018,
+ "pc": [
+ 3924,
+ 3925,
+ 3926,
+ 3927,
+ 3928,
+ 3929
+ ]
+ },
+ {
+ "teal": 3979,
+ "source": 1018,
+ "pc": [
+ 3930,
+ 3931
+ ]
+ },
+ {
+ "teal": 3983,
+ "source": 1019,
+ "pc": [
+ 3932,
+ 3933
+ ]
+ },
+ {
+ "teal": 3984,
+ "source": 1019,
+ "pc": [
+ 3934,
+ 3935
+ ]
+ },
+ {
+ "teal": 3987,
+ "source": 1018,
+ "pc": [
+ 3936
+ ]
+ },
+ {
+ "teal": 3988,
+ "source": 1018,
+ "pc": [
+ 3937,
+ 3938
+ ]
+ },
+ {
+ "teal": 3991,
+ "source": 1018,
+ "pc": [
+ 3939
+ ]
+ },
+ {
+ "teal": 3995,
+ "source": 1023,
+ "pc": [
+ 3940,
+ 3941
+ ]
+ },
+ {
+ "teal": 3996,
+ "source": 1023,
+ "pc": [
+ 3942,
+ 3943
+ ]
+ },
+ {
+ "teal": 3997,
+ "source": 1023,
+ "pc": [
+ 3944,
+ 3945
+ ]
+ },
+ {
+ "teal": 3998,
+ "source": 1023,
+ "pc": [
+ 3946,
+ 3947,
+ 3948
+ ]
+ },
+ {
+ "teal": 4002,
+ "source": 1024,
+ "pc": [
+ 3949
+ ]
+ },
+ {
+ "teal": 4009,
+ "source": 1011,
+ "pc": [
+ 3950,
+ 3951
+ ]
+ },
+ {
+ "teal": 4010,
+ "source": 1011,
+ "pc": [
+ 3952
+ ]
+ },
+ {
+ "teal": 4011,
+ "source": 1011,
+ "pc": [
+ 3953
+ ]
+ },
+ {
+ "teal": 4012,
+ "source": 1011,
+ "pc": [
+ 3954,
+ 3955
+ ]
+ },
+ {
+ "teal": 4013,
+ "source": 1011,
+ "pc": [
+ 3956,
+ 3957,
+ 3958
+ ]
+ },
+ {
+ "teal": 4020,
+ "source": 1010,
+ "pc": [
+ 3959,
+ 3960
+ ]
+ },
+ {
+ "teal": 4021,
+ "source": 1010,
+ "pc": [
+ 3961
+ ]
+ },
+ {
+ "teal": 4022,
+ "source": 1010,
+ "pc": [
+ 3962
+ ]
+ },
+ {
+ "teal": 4023,
+ "source": 1010,
+ "pc": [
+ 3963,
+ 3964
+ ]
+ },
+ {
+ "teal": 4024,
+ "source": 1010,
+ "pc": [
+ 3965,
+ 3966,
+ 3967
+ ]
+ },
+ {
+ "teal": 4028,
+ "source": 1028,
+ "errorMessage": "couldn't find pool app id in nodes to move",
+ "pc": [
+ 3968
+ ]
+ },
+ {
+ "teal": 4029,
+ "source": 999,
+ "pc": [
+ 3969
+ ]
+ },
+ {
+ "teal": 4034,
+ "source": 1042,
+ "pc": [
+ 3970
+ ]
+ },
+ {
+ "teal": 4037,
+ "source": 1042,
+ "pc": [
+ 3971,
+ 3972,
+ 3973
+ ]
+ },
+ {
+ "teal": 4038,
+ "source": 1042,
+ "pc": [
+ 3974
+ ]
+ },
+ {
+ "teal": 4039,
+ "source": 1042,
+ "pc": [
+ 3975
+ ]
+ },
+ {
+ "teal": 4040,
+ "source": 1042,
+ "pc": [
+ 3976,
+ 3977
+ ]
+ },
+ {
+ "teal": 4041,
+ "source": 1042,
+ "pc": [
+ 3978
+ ]
+ },
+ {
+ "teal": 4044,
+ "source": 1042,
+ "errorMessage": "argument 0 (receiver) for emptyTokenRewards must be a address",
+ "pc": [
+ 3979
+ ]
+ },
+ {
+ "teal": 4047,
+ "source": 1042,
+ "pc": [
+ 3980,
+ 3981,
+ 3982
+ ]
+ },
+ {
+ "teal": 4048,
+ "source": 1042,
+ "pc": [
+ 3983
+ ]
+ },
+ {
+ "teal": 4051,
+ "source": 1042,
+ "pc": [
+ 3984,
+ 3985,
+ 3986
+ ]
+ },
+ {
+ "teal": 4052,
+ "source": 1042,
+ "pc": [
+ 3987
+ ]
+ },
+ {
+ "teal": 4053,
+ "source": 1042,
+ "pc": [
+ 3988
+ ]
+ },
+ {
+ "teal": 4054,
+ "source": 1042,
+ "pc": [
+ 3989
+ ]
+ },
+ {
+ "teal": 4055,
+ "source": 1042,
+ "pc": [
+ 3990
+ ]
+ },
+ {
+ "teal": 4056,
+ "source": 1042,
+ "pc": [
+ 3991
+ ]
+ },
+ {
+ "teal": 4070,
+ "source": 1042,
+ "pc": [
+ 3992,
+ 3993,
+ 3994
+ ]
+ },
+ {
+ "teal": 4073,
+ "source": 1042,
+ "pc": [
+ 3995
+ ]
+ },
+ {
+ "teal": 4074,
+ "source": 1042,
+ "pc": [
+ 3996,
+ 3997
+ ]
+ },
+ {
+ "teal": 4081,
+ "source": 1044,
+ "pc": [
+ 3998,
+ 3999
+ ]
+ },
+ {
+ "teal": 4082,
+ "source": 1044,
+ "pc": [
+ 4000
+ ]
+ },
+ {
+ "teal": 4083,
+ "source": 1044,
+ "pc": [
+ 4001,
+ 4002
+ ]
+ },
+ {
+ "teal": 4084,
+ "source": 1044,
+ "pc": [
+ 4003
+ ]
+ },
+ {
+ "teal": 4085,
+ "source": 1044,
+ "pc": [
+ 4004,
+ 4005
+ ]
+ },
+ {
+ "teal": 4086,
+ "source": 1044,
+ "pc": [
+ 4006
+ ]
+ },
+ {
+ "teal": 4087,
+ "source": 1044,
+ "pc": [
+ 4007
+ ]
+ },
+ {
+ "teal": 4088,
+ "source": 1044,
+ "pc": [
+ 4008,
+ 4009
+ ]
+ },
+ {
+ "teal": 4089,
+ "source": 1044,
+ "pc": [
+ 4010
+ ]
+ },
+ {
+ "teal": 4090,
+ "source": 1044,
+ "pc": [
+ 4011
+ ]
+ },
+ {
+ "teal": 4093,
+ "source": 1043,
+ "errorMessage": "can only be called by validator owner",
+ "pc": [
+ 4012
+ ]
+ },
+ {
+ "teal": 4097,
+ "source": 1047,
+ "pc": [
+ 4013,
+ 4014
+ ]
+ },
+ {
+ "teal": 4098,
+ "source": 1047,
+ "pc": [
+ 4015
+ ]
+ },
+ {
+ "teal": 4099,
+ "source": 1047,
+ "pc": [
+ 4016
+ ]
+ },
+ {
+ "teal": 4100,
+ "source": 1047,
+ "pc": [
+ 4017,
+ 4018
+ ]
+ },
+ {
+ "teal": 4101,
+ "source": 1047,
+ "pc": [
+ 4019
+ ]
+ },
+ {
+ "teal": 4102,
+ "source": 1047,
+ "pc": [
+ 4020
+ ]
+ },
+ {
+ "teal": 4103,
+ "source": 1047,
+ "pc": [
+ 4021,
+ 4022
+ ]
+ },
+ {
+ "teal": 4104,
+ "source": 1047,
+ "pc": [
+ 4023
+ ]
+ },
+ {
+ "teal": 4105,
+ "source": 1047,
+ "pc": [
+ 4024
+ ]
+ },
+ {
+ "teal": 4106,
+ "source": 1047,
+ "pc": [
+ 4025,
+ 4026
+ ]
+ },
+ {
+ "teal": 4110,
+ "source": 1048,
+ "pc": [
+ 4027,
+ 4028
+ ]
+ },
+ {
+ "teal": 4111,
+ "source": 1048,
+ "pc": [
+ 4029
+ ]
+ },
+ {
+ "teal": 4112,
+ "source": 1048,
+ "pc": [
+ 4030
+ ]
+ },
+ {
+ "teal": 4113,
+ "source": 1048,
+ "pc": [
+ 4031,
+ 4032
+ ]
+ },
+ {
+ "teal": 4114,
+ "source": 1048,
+ "pc": [
+ 4033
+ ]
+ },
+ {
+ "teal": 4115,
+ "source": 1048,
+ "pc": [
+ 4034
+ ]
+ },
+ {
+ "teal": 4116,
+ "source": 1048,
+ "pc": [
+ 4035,
+ 4036
+ ]
+ },
+ {
+ "teal": 4117,
+ "source": 1048,
+ "pc": [
+ 4037
+ ]
+ },
+ {
+ "teal": 4118,
+ "source": 1048,
+ "pc": [
+ 4038
+ ]
+ },
+ {
+ "teal": 4119,
+ "source": 1048,
+ "pc": [
+ 4039,
+ 4040
+ ]
+ },
+ {
+ "teal": 4123,
+ "source": 1049,
+ "pc": [
+ 4041,
+ 4042
+ ]
+ },
+ {
+ "teal": 4124,
+ "source": 1049,
+ "pc": [
+ 4043
+ ]
+ },
+ {
+ "teal": 4125,
+ "source": 1049,
+ "pc": [
+ 4044
+ ]
+ },
+ {
+ "teal": 4128,
+ "source": 1049,
+ "errorMessage": "this validator doesn't have a reward token defined",
+ "pc": [
+ 4045
+ ]
+ },
+ {
+ "teal": 4132,
+ "source": 1050,
+ "pc": [
+ 4046,
+ 4047
+ ]
+ },
+ {
+ "teal": 4133,
+ "source": 1050,
+ "pc": [
+ 4048
+ ]
+ },
+ {
+ "teal": 4134,
+ "source": 1050,
+ "pc": [
+ 4049
+ ]
+ },
+ {
+ "teal": 4135,
+ "source": 1050,
+ "pc": [
+ 4050,
+ 4051
+ ]
+ },
+ {
+ "teal": 4136,
+ "source": 1050,
+ "pc": [
+ 4052
+ ]
+ },
+ {
+ "teal": 4137,
+ "source": 1050,
+ "pc": [
+ 4053
+ ]
+ },
+ {
+ "teal": 4138,
+ "source": 1050,
+ "pc": [
+ 4054,
+ 4055
+ ]
+ },
+ {
+ "teal": 4139,
+ "source": 1050,
+ "pc": [
+ 4056
+ ]
+ },
+ {
+ "teal": 4140,
+ "source": 1050,
+ "pc": [
+ 4057
+ ]
+ },
+ {
+ "teal": 4141,
+ "source": 1050,
+ "pc": [
+ 4058,
+ 4059
+ ]
+ },
+ {
+ "teal": 4145,
+ "source": 1052,
+ "pc": [
+ 4060,
+ 4061
+ ]
+ },
+ {
+ "teal": 4146,
+ "source": 1052,
+ "pc": [
+ 4062,
+ 4063
+ ]
+ },
+ {
+ "teal": 4147,
+ "source": 1052,
+ "pc": [
+ 4064
+ ]
+ },
+ {
+ "teal": 4148,
+ "source": 1052,
+ "pc": [
+ 4065,
+ 4066
+ ]
+ },
+ {
+ "teal": 4149,
+ "source": 1052,
+ "pc": [
+ 4067,
+ 4068
+ ]
+ },
+ {
+ "teal": 4150,
+ "source": 1052,
+ "pc": [
+ 4069
+ ]
+ },
+ {
+ "teal": 4151,
+ "source": 1052,
+ "pc": [
+ 4070,
+ 4071
+ ]
+ },
+ {
+ "teal": 4152,
+ "source": 1052,
+ "pc": [
+ 4072
+ ]
+ },
+ {
+ "teal": 4153,
+ "source": 1052,
+ "pc": [
+ 4073,
+ 4074
+ ]
+ },
+ {
+ "teal": 4160,
+ "source": 1055,
+ "pc": [
+ 4075
+ ]
+ },
+ {
+ "teal": 4161,
+ "source": 1055,
+ "pc": [
+ 4076,
+ 4077
+ ]
+ },
+ {
+ "teal": 4162,
+ "source": 1055,
+ "pc": [
+ 4078,
+ 4079
+ ]
+ },
+ {
+ "teal": 4163,
+ "source": 1055,
+ "pc": [
+ 4080,
+ 4081
+ ]
+ },
+ {
+ "teal": 4164,
+ "source": 1055,
+ "pc": [
+ 4082,
+ 4083
+ ]
+ },
+ {
+ "teal": 4168,
+ "source": 1056,
+ "pc": [
+ 4084,
+ 4085
+ ]
+ },
+ {
+ "teal": 4169,
+ "source": 1056,
+ "pc": [
+ 4086,
+ 4087
+ ]
+ },
+ {
+ "teal": 4173,
+ "source": 1057,
+ "pc": [
+ 4088,
+ 4089
+ ]
+ },
+ {
+ "teal": 4174,
+ "source": 1057,
+ "pc": [
+ 4090,
+ 4091
+ ]
+ },
+ {
+ "teal": 4175,
+ "source": 1057,
+ "pc": [
+ 4092,
+ 4093
+ ]
+ },
+ {
+ "teal": 4176,
+ "source": 1057,
+ "pc": [
+ 4094
+ ]
+ },
+ {
+ "teal": 4177,
+ "source": 1057,
+ "pc": [
+ 4095,
+ 4096
+ ]
+ },
+ {
+ "teal": 4178,
+ "source": 1057,
+ "pc": [
+ 4097,
+ 4098
+ ]
+ },
+ {
+ "teal": 4179,
+ "source": 1057,
+ "pc": [
+ 4099
+ ]
+ },
+ {
+ "teal": 4180,
+ "source": 1057,
+ "pc": [
+ 4100,
+ 4101
+ ]
+ },
+ {
+ "teal": 4183,
+ "source": 1055,
+ "pc": [
+ 4102
+ ]
+ },
+ {
+ "teal": 4184,
+ "source": 1055,
+ "pc": [
+ 4103,
+ 4104
+ ]
+ },
+ {
+ "teal": 4187,
+ "source": 1055,
+ "pc": [
+ 4105
+ ]
+ },
+ {
+ "teal": 4194,
+ "source": 1060,
+ "pc": [
+ 4106,
+ 4107
+ ]
+ },
+ {
+ "teal": 4195,
+ "source": 1060,
+ "pc": [
+ 4108,
+ 4109
+ ]
+ },
+ {
+ "teal": 4196,
+ "source": 1060,
+ "pc": [
+ 4110
+ ]
+ },
+ {
+ "teal": 4197,
+ "source": 1060,
+ "pc": [
+ 4111,
+ 4112
+ ]
+ },
+ {
+ "teal": 4198,
+ "source": 1060,
+ "pc": [
+ 4113,
+ 4114
+ ]
+ },
+ {
+ "teal": 4199,
+ "source": 1060,
+ "pc": [
+ 4115
+ ]
+ },
+ {
+ "teal": 4200,
+ "source": 1060,
+ "pc": [
+ 4116,
+ 4117
+ ]
+ },
+ {
+ "teal": 4201,
+ "source": 1060,
+ "pc": [
+ 4118
+ ]
+ },
+ {
+ "teal": 4204,
+ "source": 1059,
+ "errorMessage": "balance of remaining reward tokens should match the held back amount",
+ "pc": [
+ 4119
+ ]
+ },
+ {
+ "teal": 4208,
+ "source": 1063,
+ "pc": [
+ 4120,
+ 4121
+ ]
+ },
+ {
+ "teal": 4211,
+ "source": 1042,
+ "pc": [
+ 4122,
+ 4123
+ ]
+ },
+ {
+ "teal": 4214,
+ "source": 1042,
+ "pc": [
+ 4124,
+ 4125
+ ]
+ },
+ {
+ "teal": 4215,
+ "source": 1042,
+ "pc": [
+ 4126
+ ]
+ },
+ {
+ "teal": 4226,
+ "source": 1160,
+ "pc": [
+ 4127,
+ 4128,
+ 4129
+ ]
+ },
+ {
+ "teal": 4230,
+ "source": 1161,
+ "pc": [
+ 4130
+ ]
+ },
+ {
+ "teal": 4231,
+ "source": 1161,
+ "pc": [
+ 4131,
+ 4132
+ ]
+ },
+ {
+ "teal": 4232,
+ "source": 1161,
+ "pc": [
+ 4133,
+ 4134,
+ 4135
+ ]
+ },
+ {
+ "teal": 4233,
+ "source": 1161,
+ "pc": [
+ 4136
+ ]
+ },
+ {
+ "teal": 4234,
+ "source": 1161,
+ "pc": [
+ 4137
+ ]
+ },
+ {
+ "teal": 4235,
+ "source": 1161,
+ "pc": [
+ 4138
+ ]
+ },
+ {
+ "teal": 4236,
+ "source": 1161,
+ "pc": [
+ 4139
+ ]
+ },
+ {
+ "teal": 4237,
+ "source": 1161,
+ "pc": [
+ 4140
+ ]
+ },
+ {
+ "teal": 4238,
+ "source": 1161,
+ "pc": [
+ 4141
+ ]
+ },
+ {
+ "teal": 4241,
+ "source": 1161,
+ "errorMessage": "the specified validator id isn't valid",
+ "pc": [
+ 4142
+ ]
+ },
+ {
+ "teal": 4245,
+ "source": 1162,
+ "pc": [
+ 4143,
+ 4144
+ ]
+ },
+ {
+ "teal": 4246,
+ "source": 1162,
+ "pc": [
+ 4145,
+ 4146,
+ 4147
+ ]
+ },
+ {
+ "teal": 4247,
+ "source": 1162,
+ "pc": [
+ 4148
+ ]
+ },
+ {
+ "teal": 4248,
+ "source": 32,
+ "pc": [
+ 4149
+ ]
+ },
+ {
+ "teal": 4249,
+ "source": 1162,
+ "pc": [
+ 4150
+ ]
+ },
+ {
+ "teal": 4252,
+ "source": 1162,
+ "errorMessage": "pool id not in valid range",
+ "pc": [
+ 4151
+ ]
+ },
+ {
+ "teal": 4259,
+ "source": 1164,
+ "pc": [
+ 4152,
+ 4153
+ ]
+ },
+ {
+ "teal": 4260,
+ "source": 1164,
+ "pc": [
+ 4154,
+ 4155,
+ 4156
+ ]
+ },
+ {
+ "teal": 4261,
+ "source": 1164,
+ "pc": [
+ 4157
+ ]
+ },
+ {
+ "teal": 4262,
+ "source": 1164,
+ "pc": [
+ 4158
+ ]
+ },
+ {
+ "teal": 4263,
+ "source": 1164,
+ "pc": [
+ 4159
+ ]
+ },
+ {
+ "teal": 4264,
+ "source": 1164,
+ "pc": [
+ 4160
+ ]
+ },
+ {
+ "teal": 4265,
+ "source": 1164,
+ "pc": [
+ 4161,
+ 4162,
+ 4163
+ ]
+ },
+ {
+ "teal": 4266,
+ "source": 1164,
+ "pc": [
+ 4164,
+ 4165
+ ]
+ },
+ {
+ "teal": 4267,
+ "source": 1164,
+ "pc": [
+ 4166,
+ 4167,
+ 4168
+ ]
+ },
+ {
+ "teal": 4268,
+ "source": 1164,
+ "pc": [
+ 4169
+ ]
+ },
+ {
+ "teal": 4269,
+ "source": 1164,
+ "pc": [
+ 4170,
+ 4171
+ ]
+ },
+ {
+ "teal": 4270,
+ "source": 1164,
+ "pc": [
+ 4172,
+ 4173
+ ]
+ },
+ {
+ "teal": 4271,
+ "source": 1164,
+ "pc": [
+ 4174
+ ]
+ },
+ {
+ "teal": 4272,
+ "source": 1164,
+ "pc": [
+ 4175,
+ 4176
+ ]
+ },
+ {
+ "teal": 4273,
+ "source": 1164,
+ "pc": [
+ 4177,
+ 4178,
+ 4179
+ ]
+ },
+ {
+ "teal": 4274,
+ "source": 1164,
+ "pc": [
+ 4180
+ ]
+ },
+ {
+ "teal": 4275,
+ "source": 1164,
+ "pc": [
+ 4181
+ ]
+ },
+ {
+ "teal": 4276,
+ "source": 1164,
+ "pc": [
+ 4182
+ ]
+ },
+ {
+ "teal": 4277,
+ "source": 1164,
+ "pc": [
+ 4183,
+ 4184
+ ]
+ },
+ {
+ "teal": 4278,
+ "source": 1164,
+ "pc": [
+ 4185
+ ]
+ },
+ {
+ "teal": 4279,
+ "source": 1164,
+ "pc": [
+ 4186
+ ]
+ },
+ {
+ "teal": 4280,
+ "source": 1164,
+ "pc": [
+ 4187
+ ]
+ },
+ {
+ "teal": 4281,
+ "source": 1164,
+ "pc": [
+ 4188
+ ]
+ },
+ {
+ "teal": 4285,
+ "source": 1163,
+ "errorMessage": "pool id outside of range of pools created for this validator",
+ "pc": [
+ 4189
+ ]
+ },
+ {
+ "teal": 4292,
+ "source": 1170,
+ "pc": [
+ 4190,
+ 4191
+ ]
+ },
+ {
+ "teal": 4293,
+ "source": 1170,
+ "pc": [
+ 4192,
+ 4193,
+ 4194
+ ]
+ },
+ {
+ "teal": 4294,
+ "source": 1170,
+ "pc": [
+ 4195
+ ]
+ },
+ {
+ "teal": 4295,
+ "source": 1170,
+ "pc": [
+ 4196,
+ 4197
+ ]
+ },
+ {
+ "teal": 4296,
+ "source": 1170,
+ "pc": [
+ 4198,
+ 4199
+ ]
+ },
+ {
+ "teal": 4297,
+ "source": 1170,
+ "pc": [
+ 4200,
+ 4201,
+ 4202
+ ]
+ },
+ {
+ "teal": 4298,
+ "source": 1170,
+ "pc": [
+ 4203
+ ]
+ },
+ {
+ "teal": 4299,
+ "source": 1170,
+ "pc": [
+ 4204
+ ]
+ },
+ {
+ "teal": 4300,
+ "source": 1170,
+ "pc": [
+ 4205
+ ]
+ },
+ {
+ "teal": 4301,
+ "source": 1170,
+ "pc": [
+ 4206,
+ 4207
+ ]
+ },
+ {
+ "teal": 4302,
+ "source": 1170,
+ "pc": [
+ 4208
+ ]
+ },
+ {
+ "teal": 4303,
+ "source": 1170,
+ "pc": [
+ 4209
+ ]
+ },
+ {
+ "teal": 4304,
+ "source": 1170,
+ "pc": [
+ 4210
+ ]
+ },
+ {
+ "teal": 4305,
+ "source": 1170,
+ "pc": [
+ 4211
+ ]
+ },
+ {
+ "teal": 4306,
+ "source": 1170,
+ "pc": [
+ 4212
+ ]
+ },
+ {
+ "teal": 4307,
+ "source": 1170,
+ "pc": [
+ 4213
+ ]
+ },
+ {
+ "teal": 4308,
+ "source": 1170,
+ "pc": [
+ 4214,
+ 4215
+ ]
+ },
+ {
+ "teal": 4309,
+ "source": 1170,
+ "pc": [
+ 4216,
+ 4217,
+ 4218
+ ]
+ },
+ {
+ "teal": 4310,
+ "source": 1170,
+ "pc": [
+ 4219
+ ]
+ },
+ {
+ "teal": 4311,
+ "source": 1170,
+ "pc": [
+ 4220
+ ]
+ },
+ {
+ "teal": 4312,
+ "source": 1170,
+ "pc": [
+ 4221
+ ]
+ },
+ {
+ "teal": 4313,
+ "source": 1170,
+ "pc": [
+ 4222,
+ 4223
+ ]
+ },
+ {
+ "teal": 4314,
+ "source": 1170,
+ "pc": [
+ 4224
+ ]
+ },
+ {
+ "teal": 4315,
+ "source": 1170,
+ "pc": [
+ 4225
+ ]
+ },
+ {
+ "teal": 4316,
+ "source": 1170,
+ "pc": [
+ 4226
+ ]
+ },
+ {
+ "teal": 4319,
+ "source": 1169,
+ "errorMessage": "The passed in app id doesn't match the passed in ids",
+ "pc": [
+ 4227
+ ]
+ },
+ {
+ "teal": 4323,
+ "source": 1174,
+ "pc": [
+ 4228,
+ 4229
+ ]
+ },
+ {
+ "teal": 4324,
+ "source": 1174,
+ "pc": [
+ 4230,
+ 4231
+ ]
+ },
+ {
+ "teal": 4325,
+ "source": 1174,
+ "pc": [
+ 4232,
+ 4233,
+ 4234
+ ]
+ },
+ {
+ "teal": 4326,
+ "source": 1174,
+ "pc": [
+ 4235
+ ]
+ },
+ {
+ "teal": 4327,
+ "source": 1174,
+ "pc": [
+ 4236,
+ 4237
+ ]
+ },
+ {
+ "teal": 4328,
+ "source": 1174,
+ "pc": [
+ 4238
+ ]
+ },
+ {
+ "teal": 4329,
+ "source": 1174,
+ "pc": [
+ 4239
+ ]
+ },
+ {
+ "teal": 4330,
+ "source": 1174,
+ "pc": [
+ 4240
+ ]
+ },
+ {
+ "teal": 4334,
+ "source": 1176,
+ "pc": [
+ 4241,
+ 4242
+ ]
+ },
+ {
+ "teal": 4335,
+ "source": 1176,
+ "pc": [
+ 4243,
+ 4244,
+ 4245
+ ]
+ },
+ {
+ "teal": 4336,
+ "source": 1176,
+ "pc": [
+ 4246
+ ]
+ },
+ {
+ "teal": 4337,
+ "source": 1176,
+ "pc": [
+ 4247,
+ 4248
+ ]
+ },
+ {
+ "teal": 4338,
+ "source": 1176,
+ "pc": [
+ 4249,
+ 4250,
+ 4251
+ ]
+ },
+ {
+ "teal": 4339,
+ "source": 1176,
+ "pc": [
+ 4252
+ ]
+ },
+ {
+ "teal": 4340,
+ "source": 1176,
+ "pc": [
+ 4253,
+ 4254,
+ 4255,
+ 4256,
+ 4257,
+ 4258,
+ 4259,
+ 4260,
+ 4261,
+ 4262,
+ 4263,
+ 4264,
+ 4265
+ ]
+ },
+ {
+ "teal": 4341,
+ "source": 1176,
+ "pc": [
+ 4266
+ ]
+ },
+ {
+ "teal": 4344,
+ "source": 1176,
+ "errorMessage": "global state value does not exist: AppID.fromUint64(poolKey.poolAppId).globalState('validatorId')",
+ "pc": [
+ 4267
+ ]
+ },
+ {
+ "teal": 4345,
+ "source": 1176,
+ "pc": [
+ 4268
+ ]
+ },
+ {
+ "teal": 4346,
+ "source": 1176,
+ "pc": [
+ 4269
+ ]
+ },
+ {
+ "teal": 4350,
+ "source": 1177,
+ "pc": [
+ 4270,
+ 4271
+ ]
+ },
+ {
+ "teal": 4351,
+ "source": 1177,
+ "pc": [
+ 4272,
+ 4273,
+ 4274
+ ]
+ },
+ {
+ "teal": 4352,
+ "source": 1177,
+ "pc": [
+ 4275
+ ]
+ },
+ {
+ "teal": 4353,
+ "source": 1177,
+ "pc": [
+ 4276,
+ 4277
+ ]
+ },
+ {
+ "teal": 4354,
+ "source": 1177,
+ "pc": [
+ 4278,
+ 4279,
+ 4280
+ ]
+ },
+ {
+ "teal": 4355,
+ "source": 1177,
+ "pc": [
+ 4281
+ ]
+ },
+ {
+ "teal": 4356,
+ "source": 1177,
+ "pc": [
+ 4282,
+ 4283,
+ 4284,
+ 4285,
+ 4286,
+ 4287,
+ 4288,
+ 4289
+ ]
+ },
+ {
+ "teal": 4357,
+ "source": 1177,
+ "pc": [
+ 4290
+ ]
+ },
+ {
+ "teal": 4360,
+ "source": 1177,
+ "errorMessage": "global state value does not exist: AppID.fromUint64(poolKey.poolAppId).globalState('poolId')",
+ "pc": [
+ 4291
+ ]
+ },
+ {
+ "teal": 4361,
+ "source": 1177,
+ "pc": [
+ 4292
+ ]
+ },
+ {
+ "teal": 4362,
+ "source": 1177,
+ "pc": [
+ 4293
+ ]
+ },
+ {
+ "teal": 4363,
+ "source": 1160,
+ "pc": [
+ 4294
+ ]
+ },
+ {
+ "teal": 4372,
+ "source": 1186,
+ "pc": [
+ 4295,
+ 4296,
+ 4297
+ ]
+ },
+ {
+ "teal": 4375,
+ "source": 1186,
+ "pc": [
+ 4298
+ ]
+ },
+ {
+ "teal": 4376,
+ "source": 1186,
+ "pc": [
+ 4299
+ ]
+ },
+ {
+ "teal": 4380,
+ "source": 1187,
+ "pc": [
+ 4300
+ ]
+ },
+ {
+ "teal": 4381,
+ "source": 1187,
+ "pc": [
+ 4301,
+ 4302
+ ]
+ },
+ {
+ "teal": 4382,
+ "source": 1187,
+ "pc": [
+ 4303
+ ]
+ },
+ {
+ "teal": 4383,
+ "source": 1187,
+ "pc": [
+ 4304
+ ]
+ },
+ {
+ "teal": 4384,
+ "source": 1187,
+ "pc": [
+ 4305,
+ 4306
+ ]
+ },
+ {
+ "teal": 4389,
+ "source": 1188,
+ "pc": [
+ 4307,
+ 4308
+ ]
+ },
+ {
+ "teal": 4390,
+ "source": 1188,
+ "pc": [
+ 4309
+ ]
+ },
+ {
+ "teal": 4391,
+ "source": 1187,
+ "pc": [
+ 4310
+ ]
+ },
+ {
+ "teal": 4392,
+ "source": 1187,
+ "pc": [
+ 4311,
+ 4312
+ ]
+ },
+ {
+ "teal": 4393,
+ "source": 1187,
+ "pc": [
+ 4313
+ ]
+ },
+ {
+ "teal": 4394,
+ "source": 1187,
+ "pc": [
+ 4314
+ ]
+ },
+ {
+ "teal": 4395,
+ "source": 1187,
+ "pc": [
+ 4315,
+ 4316
+ ]
+ },
+ {
+ "teal": 4396,
+ "source": 1187,
+ "pc": [
+ 4317
+ ]
+ },
+ {
+ "teal": 4397,
+ "source": 1188,
+ "pc": [
+ 4318
+ ]
+ },
+ {
+ "teal": 4398,
+ "source": 1188,
+ "pc": [
+ 4319
+ ]
+ },
+ {
+ "teal": 4399,
+ "source": 1188,
+ "pc": [
+ 4320
+ ]
+ },
+ {
+ "teal": 4400,
+ "source": 1188,
+ "pc": [
+ 4321,
+ 4322,
+ 4323
+ ]
+ },
+ {
+ "teal": 4405,
+ "source": 1191,
+ "pc": [
+ 4324,
+ 4325
+ ]
+ },
+ {
+ "teal": 4406,
+ "source": 1191,
+ "pc": [
+ 4326
+ ]
+ },
+ {
+ "teal": 4407,
+ "source": 1187,
+ "pc": [
+ 4327
+ ]
+ },
+ {
+ "teal": 4408,
+ "source": 1187,
+ "pc": [
+ 4328,
+ 4329
+ ]
+ },
+ {
+ "teal": 4409,
+ "source": 1187,
+ "pc": [
+ 4330
+ ]
+ },
+ {
+ "teal": 4410,
+ "source": 1187,
+ "pc": [
+ 4331
+ ]
+ },
+ {
+ "teal": 4411,
+ "source": 1187,
+ "pc": [
+ 4332,
+ 4333
+ ]
+ },
+ {
+ "teal": 4412,
+ "source": 1187,
+ "pc": [
+ 4334
+ ]
+ },
+ {
+ "teal": 4413,
+ "source": 1191,
+ "pc": [
+ 4335
+ ]
+ },
+ {
+ "teal": 4414,
+ "source": 1191,
+ "pc": [
+ 4336,
+ 4337
+ ]
+ },
+ {
+ "teal": 4415,
+ "source": 1191,
+ "pc": [
+ 4338
+ ]
+ },
+ {
+ "teal": 4418,
+ "source": 1191,
+ "errorMessage": "global state value does not exist: AppID.fromUint64(validatorConfig.nfdForInfo).globalState('i.owner.a')",
+ "pc": [
+ 4339
+ ]
+ },
+ {
+ "teal": 4419,
+ "source": 1191,
+ "pc": [
+ 4340,
+ 4341
+ ]
+ },
+ {
+ "teal": 4424,
+ "source": 1193,
+ "pc": [
+ 4342
+ ]
+ },
+ {
+ "teal": 4425,
+ "source": 1193,
+ "pc": [
+ 4343,
+ 4344
+ ]
+ },
+ {
+ "teal": 4426,
+ "source": 1187,
+ "pc": [
+ 4345
+ ]
+ },
+ {
+ "teal": 4427,
+ "source": 1187,
+ "pc": [
+ 4346,
+ 4347
+ ]
+ },
+ {
+ "teal": 4428,
+ "source": 1187,
+ "pc": [
+ 4348
+ ]
+ },
+ {
+ "teal": 4429,
+ "source": 1187,
+ "pc": [
+ 4349
+ ]
+ },
+ {
+ "teal": 4430,
+ "source": 1187,
+ "pc": [
+ 4350,
+ 4351
+ ]
+ },
+ {
+ "teal": 4431,
+ "source": 1187,
+ "pc": [
+ 4352
+ ]
+ },
+ {
+ "teal": 4432,
+ "source": 1193,
+ "pc": [
+ 4353,
+ 4354
+ ]
+ },
+ {
+ "teal": 4433,
+ "source": 1193,
+ "pc": [
+ 4355
+ ]
+ },
+ {
+ "teal": 4434,
+ "source": 1193,
+ "pc": [
+ 4356
+ ]
+ },
+ {
+ "teal": 4435,
+ "source": 1193,
+ "pc": [
+ 4357,
+ 4358,
+ 4359
+ ]
+ },
+ {
+ "teal": 4436,
+ "source": 1193,
+ "pc": [
+ 4360,
+ 4361
+ ]
+ },
+ {
+ "teal": 4437,
+ "source": 1193,
+ "pc": [
+ 4362,
+ 4363
+ ]
+ },
+ {
+ "teal": 4438,
+ "source": 1187,
+ "pc": [
+ 4364
+ ]
+ },
+ {
+ "teal": 4439,
+ "source": 1187,
+ "pc": [
+ 4365,
+ 4366
+ ]
+ },
+ {
+ "teal": 4440,
+ "source": 1187,
+ "pc": [
+ 4367
+ ]
+ },
+ {
+ "teal": 4441,
+ "source": 1187,
+ "pc": [
+ 4368
+ ]
+ },
+ {
+ "teal": 4442,
+ "source": 1187,
+ "pc": [
+ 4369,
+ 4370
+ ]
+ },
+ {
+ "teal": 4443,
+ "source": 1187,
+ "pc": [
+ 4371
+ ]
+ },
+ {
+ "teal": 4444,
+ "source": 1193,
+ "pc": [
+ 4372,
+ 4373
+ ]
+ },
+ {
+ "teal": 4445,
+ "source": 1193,
+ "pc": [
+ 4374
+ ]
+ },
+ {
+ "teal": 4446,
+ "source": 1193,
+ "pc": [
+ 4375
+ ]
+ },
+ {
+ "teal": 4449,
+ "source": 1193,
+ "pc": [
+ 4376,
+ 4377,
+ 4378
+ ]
+ },
+ {
+ "teal": 4454,
+ "source": 1195,
+ "pc": [
+ 4379,
+ 4380
+ ]
+ },
+ {
+ "teal": 4455,
+ "source": 1195,
+ "pc": [
+ 4381,
+ 4382
+ ]
+ },
+ {
+ "teal": 4456,
+ "source": 1195,
+ "pc": [
+ 4383
+ ]
+ },
+ {
+ "teal": 4457,
+ "source": 1195,
+ "pc": [
+ 4384,
+ 4385
+ ]
+ },
+ {
+ "teal": 4458,
+ "source": 1195,
+ "pc": [
+ 4386
+ ]
+ },
+ {
+ "teal": 4459,
+ "source": 1195,
+ "pc": [
+ 4387
+ ]
+ },
+ {
+ "teal": 4460,
+ "source": 1195,
+ "pc": [
+ 4388,
+ 4389
+ ]
+ },
+ {
+ "teal": 4461,
+ "source": 1195,
+ "pc": [
+ 4390
+ ]
+ },
+ {
+ "teal": 4466,
+ "source": 1186,
+ "pc": [
+ 4391
+ ]
+ },
+ {
+ "teal": 4470,
+ "source": 1200,
+ "pc": [
+ 4392,
+ 4393,
+ 4394
+ ]
+ },
+ {
+ "teal": 4477,
+ "source": 1203,
+ "pc": [
+ 4395,
+ 4396
+ ]
+ },
+ {
+ "teal": 4478,
+ "source": 1203,
+ "pc": [
+ 4397,
+ 4398,
+ 4399
+ ]
+ },
+ {
+ "teal": 4479,
+ "source": 1203,
+ "pc": [
+ 4400
+ ]
+ },
+ {
+ "teal": 4480,
+ "source": 1203,
+ "pc": [
+ 4401
+ ]
+ },
+ {
+ "teal": 4481,
+ "source": 1203,
+ "pc": [
+ 4402
+ ]
+ },
+ {
+ "teal": 4482,
+ "source": 1203,
+ "pc": [
+ 4403
+ ]
+ },
+ {
+ "teal": 4483,
+ "source": 1203,
+ "pc": [
+ 4404,
+ 4405,
+ 4406
+ ]
+ },
+ {
+ "teal": 4484,
+ "source": 1203,
+ "pc": [
+ 4407,
+ 4408
+ ]
+ },
+ {
+ "teal": 4485,
+ "source": 1203,
+ "pc": [
+ 4409,
+ 4410,
+ 4411
+ ]
+ },
+ {
+ "teal": 4486,
+ "source": 1203,
+ "pc": [
+ 4412
+ ]
+ },
+ {
+ "teal": 4487,
+ "source": 1203,
+ "pc": [
+ 4413,
+ 4414
+ ]
+ },
+ {
+ "teal": 4488,
+ "source": 1203,
+ "pc": [
+ 4415
+ ]
+ },
+ {
+ "teal": 4489,
+ "source": 1203,
+ "pc": [
+ 4416
+ ]
+ },
+ {
+ "teal": 4493,
+ "source": 1202,
+ "errorMessage": "gating type not valid",
+ "pc": [
+ 4417
+ ]
+ },
+ {
+ "teal": 4500,
+ "source": 1207,
+ "pc": [
+ 4418,
+ 4419
+ ]
+ },
+ {
+ "teal": 4501,
+ "source": 1207,
+ "pc": [
+ 4420,
+ 4421,
+ 4422
+ ]
+ },
+ {
+ "teal": 4502,
+ "source": 1207,
+ "pc": [
+ 4423
+ ]
+ },
+ {
+ "teal": 4503,
+ "source": 1207,
+ "pc": [
+ 4424
+ ]
+ },
+ {
+ "teal": 4504,
+ "source": 1207,
+ "pc": [
+ 4425
+ ]
+ },
+ {
+ "teal": 4505,
+ "source": 1207,
+ "pc": [
+ 4426
+ ]
+ },
+ {
+ "teal": 4506,
+ "source": 1207,
+ "pc": [
+ 4427,
+ 4428,
+ 4429
+ ]
+ },
+ {
+ "teal": 4507,
+ "source": 1207,
+ "pc": [
+ 4430,
+ 4431
+ ]
+ },
+ {
+ "teal": 4508,
+ "source": 1207,
+ "pc": [
+ 4432,
+ 4433,
+ 4434
+ ]
+ },
+ {
+ "teal": 4509,
+ "source": 1207,
+ "pc": [
+ 4435
+ ]
+ },
+ {
+ "teal": 4510,
+ "source": 1207,
+ "pc": [
+ 4436,
+ 4437
+ ]
+ },
+ {
+ "teal": 4511,
+ "source": 1207,
+ "pc": [
+ 4438
+ ]
+ },
+ {
+ "teal": 4512,
+ "source": 1207,
+ "pc": [
+ 4439
+ ]
+ },
+ {
+ "teal": 4516,
+ "source": 1206,
+ "errorMessage": "epoch length not in allowable range",
+ "pc": [
+ 4440
+ ]
+ },
+ {
+ "teal": 4523,
+ "source": 1211,
+ "pc": [
+ 4441,
+ 4442
+ ]
+ },
+ {
+ "teal": 4524,
+ "source": 1211,
+ "pc": [
+ 4443,
+ 4444,
+ 4445
+ ]
+ },
+ {
+ "teal": 4525,
+ "source": 1211,
+ "pc": [
+ 4446
+ ]
+ },
+ {
+ "teal": 4526,
+ "source": 1211,
+ "pc": [
+ 4447
+ ]
+ },
+ {
+ "teal": 4527,
+ "source": 1211,
+ "pc": [
+ 4448
+ ]
+ },
+ {
+ "teal": 4528,
+ "source": 1211,
+ "pc": [
+ 4449
+ ]
+ },
+ {
+ "teal": 4529,
+ "source": 1211,
+ "pc": [
+ 4450,
+ 4451,
+ 4452
+ ]
+ },
+ {
+ "teal": 4530,
+ "source": 1211,
+ "pc": [
+ 4453,
+ 4454
+ ]
+ },
+ {
+ "teal": 4531,
+ "source": 1211,
+ "pc": [
+ 4455,
+ 4456,
+ 4457
+ ]
+ },
+ {
+ "teal": 4532,
+ "source": 1211,
+ "pc": [
+ 4458
+ ]
+ },
+ {
+ "teal": 4533,
+ "source": 1211,
+ "pc": [
+ 4459,
+ 4460
+ ]
+ },
+ {
+ "teal": 4534,
+ "source": 1211,
+ "pc": [
+ 4461
+ ]
+ },
+ {
+ "teal": 4535,
+ "source": 1211,
+ "pc": [
+ 4462
+ ]
+ },
+ {
+ "teal": 4539,
+ "source": 1210,
+ "errorMessage": "commission percentage not valid",
+ "pc": [
+ 4463
+ ]
+ },
+ {
+ "teal": 4544,
+ "source": 1214,
+ "pc": [
+ 4464,
+ 4465
+ ]
+ },
+ {
+ "teal": 4545,
+ "source": 1214,
+ "pc": [
+ 4466,
+ 4467,
+ 4468
+ ]
+ },
+ {
+ "teal": 4546,
+ "source": 1214,
+ "pc": [
+ 4469
+ ]
+ },
+ {
+ "teal": 4547,
+ "source": 1214,
+ "pc": [
+ 4470
+ ]
+ },
+ {
+ "teal": 4548,
+ "source": 1214,
+ "pc": [
+ 4471
+ ]
+ },
+ {
+ "teal": 4549,
+ "source": 1214,
+ "pc": [
+ 4472,
+ 4473,
+ 4474
+ ]
+ },
+ {
+ "teal": 4557,
+ "source": 1216,
+ "pc": [
+ 4475,
+ 4476
+ ]
+ },
+ {
+ "teal": 4558,
+ "source": 1216,
+ "pc": [
+ 4477,
+ 4478,
+ 4479
+ ]
+ },
+ {
+ "teal": 4559,
+ "source": 1216,
+ "pc": [
+ 4480,
+ 4481
+ ]
+ },
+ {
+ "teal": 4560,
+ "source": 1216,
+ "pc": [
+ 4482
+ ]
+ },
+ {
+ "teal": 4563,
+ "source": 1215,
+ "errorMessage": "validatorCommissionAddress must be set if percent to validator is not 0",
+ "pc": [
+ 4483
+ ]
+ },
+ {
+ "teal": 4568,
+ "source": 1220,
+ "pc": [
+ 4484,
+ 4485
+ ]
+ },
+ {
+ "teal": 4569,
+ "source": 1220,
+ "pc": [
+ 4486,
+ 4487,
+ 4488
+ ]
+ },
+ {
+ "teal": 4570,
+ "source": 1220,
+ "pc": [
+ 4489
+ ]
+ },
+ {
+ "teal": 4571,
+ "source": 1220,
+ "pc": [
+ 4490,
+ 4491
+ ]
+ },
+ {
+ "teal": 4572,
+ "source": 1220,
+ "pc": [
+ 4492
+ ]
+ },
+ {
+ "teal": 4575,
+ "source": 1220,
+ "errorMessage": "staking pool must have minimum entry of 1 algo",
+ "pc": [
+ 4493
+ ]
+ },
+ {
+ "teal": 4582,
+ "source": 1223,
+ "pc": [
+ 4494,
+ 4495
+ ]
+ },
+ {
+ "teal": 4583,
+ "source": 1223,
+ "pc": [
+ 4496,
+ 4497,
+ 4498
+ ]
+ },
+ {
+ "teal": 4584,
+ "source": 1223,
+ "pc": [
+ 4499
+ ]
+ },
+ {
+ "teal": 4585,
+ "source": 1223,
+ "pc": [
+ 4500
+ ]
+ },
+ {
+ "teal": 4586,
+ "source": 1223,
+ "pc": [
+ 4501
+ ]
+ },
+ {
+ "teal": 4587,
+ "source": 1223,
+ "pc": [
+ 4502
+ ]
+ },
+ {
+ "teal": 4588,
+ "source": 1223,
+ "pc": [
+ 4503,
+ 4504,
+ 4505
+ ]
+ },
+ {
+ "teal": 4589,
+ "source": 1223,
+ "pc": [
+ 4506,
+ 4507
+ ]
+ },
+ {
+ "teal": 4590,
+ "source": 1223,
+ "pc": [
+ 4508,
+ 4509,
+ 4510
+ ]
+ },
+ {
+ "teal": 4591,
+ "source": 1223,
+ "pc": [
+ 4511
+ ]
+ },
+ {
+ "teal": 4592,
+ "source": 1223,
+ "pc": [
+ 4512,
+ 4513
+ ]
+ },
+ {
+ "teal": 4593,
+ "source": 1223,
+ "pc": [
+ 4514
+ ]
+ },
+ {
+ "teal": 4594,
+ "source": 1223,
+ "pc": [
+ 4515
+ ]
+ },
+ {
+ "teal": 4598,
+ "source": 1222,
+ "errorMessage": "number of pools per node exceeds allowed number",
+ "pc": [
+ 4516
+ ]
+ },
+ {
+ "teal": 4603,
+ "source": 1226,
+ "pc": [
+ 4517,
+ 4518
+ ]
+ },
+ {
+ "teal": 4604,
+ "source": 1226,
+ "pc": [
+ 4519,
+ 4520,
+ 4521
+ ]
+ },
+ {
+ "teal": 4605,
+ "source": 1226,
+ "pc": [
+ 4522
+ ]
+ },
+ {
+ "teal": 4606,
+ "source": 1226,
+ "pc": [
+ 4523
+ ]
+ },
+ {
+ "teal": 4607,
+ "source": 1226,
+ "pc": [
+ 4524
+ ]
+ },
+ {
+ "teal": 4608,
+ "source": 1226,
+ "pc": [
+ 4525,
+ 4526,
+ 4527
+ ]
+ },
+ {
+ "teal": 4613,
+ "source": 1227,
+ "pc": [
+ 4528,
+ 4529
+ ]
+ },
+ {
+ "teal": 4614,
+ "source": 1227,
+ "pc": [
+ 4530,
+ 4531,
+ 4532
+ ]
+ },
+ {
+ "teal": 4615,
+ "source": 1227,
+ "pc": [
+ 4533
+ ]
+ },
+ {
+ "teal": 4616,
+ "source": 1227,
+ "pc": [
+ 4534,
+ 4535
+ ]
+ },
+ {
+ "teal": 4617,
+ "source": 1227,
+ "pc": [
+ 4536
+ ]
+ },
+ {
+ "teal": 4620,
+ "source": 1227,
+ "errorMessage": "sunsettingOn must be later than now if set",
+ "pc": [
+ 4537
+ ]
+ },
+ {
+ "teal": 4623,
+ "source": 1200,
+ "pc": [
+ 4538
+ ]
+ },
+ {
+ "teal": 4637,
+ "source": 1242,
+ "pc": [
+ 4539,
+ 4540,
+ 4541
+ ]
+ },
+ {
+ "teal": 4640,
+ "source": 1242,
+ "pc": [
+ 4542
+ ]
+ },
+ {
+ "teal": 4641,
+ "source": 1242,
+ "pc": [
+ 4543,
+ 4544
+ ]
+ },
+ {
+ "teal": 4645,
+ "source": 1249,
+ "pc": [
+ 4545,
+ 4546
+ ]
+ },
+ {
+ "teal": 4646,
+ "source": 1249,
+ "pc": [
+ 4547,
+ 4548
+ ]
+ },
+ {
+ "teal": 4647,
+ "source": 1249,
+ "pc": [
+ 4549,
+ 4550,
+ 4551
+ ]
+ },
+ {
+ "teal": 4648,
+ "source": 1249,
+ "pc": [
+ 4552
+ ]
+ },
+ {
+ "teal": 4649,
+ "source": 1249,
+ "pc": [
+ 4553
+ ]
+ },
+ {
+ "teal": 4650,
+ "source": 1249,
+ "pc": [
+ 4554
+ ]
+ },
+ {
+ "teal": 4651,
+ "source": 1249,
+ "pc": [
+ 4555,
+ 4556
+ ]
+ },
+ {
+ "teal": 4652,
+ "source": 1249,
+ "pc": [
+ 4557
+ ]
+ },
+ {
+ "teal": 4653,
+ "source": 1249,
+ "pc": [
+ 4558
+ ]
+ },
+ {
+ "teal": 4654,
+ "source": 1249,
+ "pc": [
+ 4559
+ ]
+ },
+ {
+ "teal": 4655,
+ "source": 1249,
+ "pc": [
+ 4560
+ ]
+ },
+ {
+ "teal": 4656,
+ "source": 1249,
+ "pc": [
+ 4561
+ ]
+ },
+ {
+ "teal": 4657,
+ "source": 1249,
+ "pc": [
+ 4562
+ ]
+ },
+ {
+ "teal": 4658,
+ "source": 1249,
+ "pc": [
+ 4563,
+ 4564
+ ]
+ },
+ {
+ "teal": 4659,
+ "source": 1249,
+ "pc": [
+ 4565,
+ 4566,
+ 4567
+ ]
+ },
+ {
+ "teal": 4660,
+ "source": 1249,
+ "pc": [
+ 4568
+ ]
+ },
+ {
+ "teal": 4661,
+ "source": 1249,
+ "pc": [
+ 4569
+ ]
+ },
+ {
+ "teal": 4662,
+ "source": 1249,
+ "pc": [
+ 4570
+ ]
+ },
+ {
+ "teal": 4663,
+ "source": 1249,
+ "pc": [
+ 4571,
+ 4572
+ ]
+ },
+ {
+ "teal": 4664,
+ "source": 1249,
+ "pc": [
+ 4573
+ ]
+ },
+ {
+ "teal": 4665,
+ "source": 1249,
+ "pc": [
+ 4574
+ ]
+ },
+ {
+ "teal": 4666,
+ "source": 1249,
+ "pc": [
+ 4575,
+ 4576
+ ]
+ },
+ {
+ "teal": 4679,
+ "source": 1258,
+ "pc": [
+ 4577
+ ]
+ },
+ {
+ "teal": 4680,
+ "source": 1258,
+ "pc": [
+ 4578
+ ]
+ },
+ {
+ "teal": 4681,
+ "source": 1258,
+ "pc": [
+ 4579,
+ 4580
+ ]
+ },
+ {
+ "teal": 4685,
+ "source": 1258,
+ "pc": [
+ 4581,
+ 4582
+ ]
+ },
+ {
+ "teal": 4686,
+ "source": 1258,
+ "pc": [
+ 4583,
+ 4584
+ ]
+ },
+ {
+ "teal": 4687,
+ "source": 1258,
+ "pc": [
+ 4585,
+ 4586
+ ]
+ },
+ {
+ "teal": 4688,
+ "source": 1258,
+ "pc": [
+ 4587
+ ]
+ },
+ {
+ "teal": 4689,
+ "source": 1258,
+ "pc": [
+ 4588,
+ 4589
+ ]
+ },
+ {
+ "teal": 4693,
+ "source": 1258,
+ "pc": [
+ 4590,
+ 4591
+ ]
+ },
+ {
+ "teal": 4694,
+ "source": 1258,
+ "pc": [
+ 4592,
+ 4593
+ ]
+ },
+ {
+ "teal": 4695,
+ "source": 1258,
+ "pc": [
+ 4594
+ ]
+ },
+ {
+ "teal": 4696,
+ "source": 1258,
+ "pc": [
+ 4595,
+ 4596
+ ]
+ },
+ {
+ "teal": 4699,
+ "source": 1258,
+ "pc": [
+ 4597
+ ]
+ },
+ {
+ "teal": 4700,
+ "source": 1258,
+ "pc": [
+ 4598,
+ 4599
+ ]
+ },
+ {
+ "teal": 4701,
+ "source": 1253,
+ "pc": [
+ 4600
+ ]
+ },
+ {
+ "teal": 4702,
+ "source": 1253,
+ "pc": [
+ 4601,
+ 4602
+ ]
+ },
+ {
+ "teal": 4703,
+ "source": 1253,
+ "pc": [
+ 4603,
+ 4604
+ ]
+ },
+ {
+ "teal": 4704,
+ "source": 1253,
+ "pc": [
+ 4605,
+ 4606,
+ 4607,
+ 4608,
+ 4609,
+ 4610
+ ]
+ },
+ {
+ "teal": 4705,
+ "source": 1253,
+ "pc": [
+ 4611,
+ 4612
+ ]
+ },
+ {
+ "teal": 4709,
+ "source": 1254,
+ "pc": [
+ 4613,
+ 4614
+ ]
+ },
+ {
+ "teal": 4710,
+ "source": 1254,
+ "pc": [
+ 4615,
+ 4616
+ ]
+ },
+ {
+ "teal": 4720,
+ "source": 1260,
+ "pc": [
+ 4617,
+ 4618
+ ]
+ },
+ {
+ "teal": 4721,
+ "source": 1260,
+ "pc": [
+ 4619,
+ 4620
+ ]
+ },
+ {
+ "teal": 4722,
+ "source": 1260,
+ "pc": [
+ 4621,
+ 4622
+ ]
+ },
+ {
+ "teal": 4725,
+ "source": 1253,
+ "pc": [
+ 4623
+ ]
+ },
+ {
+ "teal": 4726,
+ "source": 1253,
+ "pc": [
+ 4624,
+ 4625
+ ]
+ },
+ {
+ "teal": 4729,
+ "source": 1253,
+ "pc": [
+ 4626
+ ]
+ },
+ {
+ "teal": 4730,
+ "source": 1253,
+ "pc": [
+ 4627,
+ 4628
+ ]
+ },
+ {
+ "teal": 4731,
+ "source": 1253,
+ "pc": [
+ 4629
+ ]
+ },
+ {
+ "teal": 4732,
+ "source": 1253,
+ "pc": [
+ 4630
+ ]
+ },
+ {
+ "teal": 4733,
+ "source": 1253,
+ "pc": [
+ 4631,
+ 4632
+ ]
+ },
+ {
+ "teal": 4734,
+ "source": 1253,
+ "pc": [
+ 4633,
+ 4634,
+ 4635
+ ]
+ },
+ {
+ "teal": 4735,
+ "source": 1253,
+ "pc": [
+ 4636
+ ]
+ },
+ {
+ "teal": 4740,
+ "source": 1263,
+ "pc": [
+ 4637,
+ 4638
+ ]
+ },
+ {
+ "teal": 4741,
+ "source": 1263,
+ "pc": [
+ 4639,
+ 4640,
+ 4641
+ ]
+ },
+ {
+ "teal": 4742,
+ "source": 1263,
+ "pc": [
+ 4642
+ ]
+ },
+ {
+ "teal": 4743,
+ "source": 1263,
+ "pc": [
+ 4643,
+ 4644,
+ 4645
+ ]
+ },
+ {
+ "teal": 4748,
+ "source": 1264,
+ "pc": [
+ 4646
+ ]
+ },
+ {
+ "teal": 4749,
+ "source": 1264,
+ "pc": [
+ 4647,
+ 4648
+ ]
+ },
+ {
+ "teal": 4750,
+ "source": 1264,
+ "pc": [
+ 4649,
+ 4650
+ ]
+ },
+ {
+ "teal": 4751,
+ "source": 1264,
+ "pc": [
+ 4651
+ ]
+ },
+ {
+ "teal": 4752,
+ "source": 1264,
+ "pc": [
+ 4652,
+ 4653
+ ]
+ },
+ {
+ "teal": 4753,
+ "source": 1264,
+ "pc": [
+ 4654,
+ 4655
+ ]
+ },
+ {
+ "teal": 4754,
+ "source": 1264,
+ "pc": [
+ 4656
+ ]
+ },
+ {
+ "teal": 4755,
+ "source": 1264,
+ "pc": [
+ 4657,
+ 4658
+ ]
+ },
+ {
+ "teal": 4756,
+ "source": 1264,
+ "pc": [
+ 4659,
+ 4660
+ ]
+ },
+ {
+ "teal": 4757,
+ "source": 1264,
+ "pc": [
+ 4661,
+ 4662
+ ]
+ },
+ {
+ "teal": 4758,
+ "source": 1264,
+ "pc": [
+ 4663,
+ 4664
+ ]
+ },
+ {
+ "teal": 4759,
+ "source": 1264,
+ "pc": [
+ 4665
+ ]
+ },
+ {
+ "teal": 4764,
+ "source": 1268,
+ "pc": [
+ 4666,
+ 4667
+ ]
+ },
+ {
+ "teal": 4765,
+ "source": 1268,
+ "pc": [
+ 4668,
+ 4669
+ ]
+ },
+ {
+ "teal": 4766,
+ "source": 1268,
+ "pc": [
+ 4670
+ ]
+ },
+ {
+ "teal": 4769,
+ "source": 1268,
+ "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('numStakers')",
+ "pc": [
+ 4671
+ ]
+ },
+ {
+ "teal": 4770,
+ "source": 1268,
+ "pc": [
+ 4672,
+ 4673
+ ]
+ },
+ {
+ "teal": 4774,
+ "source": 1269,
+ "pc": [
+ 4674,
+ 4675
+ ]
+ },
+ {
+ "teal": 4775,
+ "source": 1269,
+ "pc": [
+ 4676,
+ 4677
+ ]
+ },
+ {
+ "teal": 4776,
+ "source": 1269,
+ "pc": [
+ 4678
+ ]
+ },
+ {
+ "teal": 4779,
+ "source": 1269,
+ "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('staked')",
+ "pc": [
+ 4679
+ ]
+ },
+ {
+ "teal": 4780,
+ "source": 1269,
+ "pc": [
+ 4680,
+ 4681
+ ]
+ },
+ {
+ "teal": 4784,
+ "source": 1270,
+ "pc": [
+ 4682,
+ 4683
+ ]
+ },
+ {
+ "teal": 4785,
+ "source": 1270,
+ "pc": [
+ 4684,
+ 4685
+ ]
+ },
+ {
+ "teal": 4786,
+ "source": 1270,
+ "pc": [
+ 4686,
+ 4687,
+ 4688
+ ]
+ },
+ {
+ "teal": 4787,
+ "source": 1270,
+ "pc": [
+ 4689
+ ]
+ },
+ {
+ "teal": 4788,
+ "source": 1270,
+ "pc": [
+ 4690
+ ]
+ },
+ {
+ "teal": 4789,
+ "source": 1270,
+ "pc": [
+ 4691
+ ]
+ },
+ {
+ "teal": 4790,
+ "source": 1270,
+ "pc": [
+ 4692,
+ 4693
+ ]
+ },
+ {
+ "teal": 4791,
+ "source": 1270,
+ "pc": [
+ 4694
+ ]
+ },
+ {
+ "teal": 4792,
+ "source": 1270,
+ "pc": [
+ 4695
+ ]
+ },
+ {
+ "teal": 4793,
+ "source": 1270,
+ "pc": [
+ 4696
+ ]
+ },
+ {
+ "teal": 4794,
+ "source": 1270,
+ "pc": [
+ 4697
+ ]
+ },
+ {
+ "teal": 4795,
+ "source": 1270,
+ "pc": [
+ 4698,
+ 4699
+ ]
+ },
+ {
+ "teal": 4796,
+ "source": 1270,
+ "pc": [
+ 4700
+ ]
+ },
+ {
+ "teal": 4797,
+ "source": 1270,
+ "pc": [
+ 4701,
+ 4702,
+ 4703
+ ]
+ },
+ {
+ "teal": 4798,
+ "source": 1270,
+ "pc": [
+ 4704
+ ]
+ },
+ {
+ "teal": 4799,
+ "source": 1270,
+ "pc": [
+ 4705,
+ 4706
+ ]
+ },
+ {
+ "teal": 4800,
+ "source": 1270,
+ "pc": [
+ 4707,
+ 4708,
+ 4709
+ ]
+ },
+ {
+ "teal": 4801,
+ "source": 1270,
+ "pc": [
+ 4710
+ ]
+ },
+ {
+ "teal": 4802,
+ "source": 1270,
+ "pc": [
+ 4711
+ ]
+ },
+ {
+ "teal": 4803,
+ "source": 1270,
+ "pc": [
+ 4712
+ ]
+ },
+ {
+ "teal": 4804,
+ "source": 1270,
+ "pc": [
+ 4713,
+ 4714
+ ]
+ },
+ {
+ "teal": 4805,
+ "source": 1270,
+ "pc": [
+ 4715
+ ]
+ },
+ {
+ "teal": 4809,
+ "source": 1271,
+ "pc": [
+ 4716,
+ 4717
+ ]
+ },
+ {
+ "teal": 4810,
+ "source": 1271,
+ "pc": [
+ 4718,
+ 4719
+ ]
+ },
+ {
+ "teal": 4811,
+ "source": 1271,
+ "pc": [
+ 4720,
+ 4721,
+ 4722
+ ]
+ },
+ {
+ "teal": 4812,
+ "source": 1271,
+ "pc": [
+ 4723
+ ]
+ },
+ {
+ "teal": 4813,
+ "source": 1271,
+ "pc": [
+ 4724
+ ]
+ },
+ {
+ "teal": 4814,
+ "source": 1271,
+ "pc": [
+ 4725
+ ]
+ },
+ {
+ "teal": 4815,
+ "source": 1271,
+ "pc": [
+ 4726,
+ 4727
+ ]
+ },
+ {
+ "teal": 4816,
+ "source": 1271,
+ "pc": [
+ 4728
+ ]
+ },
+ {
+ "teal": 4817,
+ "source": 1271,
+ "pc": [
+ 4729
+ ]
+ },
+ {
+ "teal": 4818,
+ "source": 1271,
+ "pc": [
+ 4730,
+ 4731
+ ]
+ },
+ {
+ "teal": 4819,
+ "source": 1271,
+ "pc": [
+ 4732
+ ]
+ },
+ {
+ "teal": 4820,
+ "source": 1271,
+ "pc": [
+ 4733,
+ 4734
+ ]
+ },
+ {
+ "teal": 4821,
+ "source": 1271,
+ "pc": [
+ 4735
+ ]
+ },
+ {
+ "teal": 4822,
+ "source": 1271,
+ "pc": [
+ 4736
+ ]
+ },
+ {
+ "teal": 4823,
+ "source": 1271,
+ "pc": [
+ 4737,
+ 4738
+ ]
+ },
+ {
+ "teal": 4824,
+ "source": 1271,
+ "pc": [
+ 4739,
+ 4740,
+ 4741
+ ]
+ },
+ {
+ "teal": 4825,
+ "source": 1271,
+ "pc": [
+ 4742
+ ]
+ },
+ {
+ "teal": 4826,
+ "source": 1271,
+ "pc": [
+ 4743
+ ]
+ },
+ {
+ "teal": 4827,
+ "source": 1271,
+ "pc": [
+ 4744
+ ]
+ },
+ {
+ "teal": 4828,
+ "source": 1271,
+ "pc": [
+ 4745,
+ 4746
+ ]
+ },
+ {
+ "teal": 4829,
+ "source": 1271,
+ "pc": [
+ 4747
+ ]
+ },
+ {
+ "teal": 4834,
+ "source": 1274,
+ "pc": [
+ 4748,
+ 4749
+ ]
+ },
+ {
+ "teal": 4835,
+ "source": 1274,
+ "pc": [
+ 4750,
+ 4751,
+ 4752
+ ]
+ },
+ {
+ "teal": 4840,
+ "source": 1275,
+ "pc": [
+ 4753,
+ 4754
+ ]
+ },
+ {
+ "teal": 4841,
+ "source": 1275,
+ "pc": [
+ 4755
+ ]
+ },
+ {
+ "teal": 4842,
+ "source": 1275,
+ "pc": [
+ 4756
+ ]
+ },
+ {
+ "teal": 4843,
+ "source": 1275,
+ "pc": [
+ 4757
+ ]
+ },
+ {
+ "teal": 4844,
+ "source": 1275,
+ "pc": [
+ 4758,
+ 4759
+ ]
+ },
+ {
+ "teal": 4845,
+ "source": 1275,
+ "pc": [
+ 4760,
+ 4761,
+ 4762
+ ]
+ },
+ {
+ "teal": 4846,
+ "source": 1275,
+ "pc": [
+ 4763
+ ]
+ },
+ {
+ "teal": 4847,
+ "source": 1275,
+ "pc": [
+ 4764
+ ]
+ },
+ {
+ "teal": 4848,
+ "source": 1275,
+ "pc": [
+ 4765
+ ]
+ },
+ {
+ "teal": 4849,
+ "source": 1275,
+ "pc": [
+ 4766,
+ 4767
+ ]
+ },
+ {
+ "teal": 4850,
+ "source": 1275,
+ "pc": [
+ 4768
+ ]
+ },
+ {
+ "teal": 4851,
+ "source": 1275,
+ "pc": [
+ 4769
+ ]
+ },
+ {
+ "teal": 4852,
+ "source": 1275,
+ "pc": [
+ 4770
+ ]
+ },
+ {
+ "teal": 4853,
+ "source": 1275,
+ "pc": [
+ 4771
+ ]
+ },
+ {
+ "teal": 4854,
+ "source": 1275,
+ "pc": [
+ 4772
+ ]
+ },
+ {
+ "teal": 4855,
+ "source": 1275,
+ "pc": [
+ 4773
+ ]
+ },
+ {
+ "teal": 4856,
+ "source": 1275,
+ "pc": [
+ 4774,
+ 4775
+ ]
+ },
+ {
+ "teal": 4857,
+ "source": 1275,
+ "pc": [
+ 4776,
+ 4777,
+ 4778
+ ]
+ },
+ {
+ "teal": 4858,
+ "source": 1275,
+ "pc": [
+ 4779
+ ]
+ },
+ {
+ "teal": 4859,
+ "source": 1275,
+ "pc": [
+ 4780
+ ]
+ },
+ {
+ "teal": 4860,
+ "source": 1275,
+ "pc": [
+ 4781
+ ]
+ },
+ {
+ "teal": 4861,
+ "source": 1275,
+ "pc": [
+ 4782,
+ 4783
+ ]
+ },
+ {
+ "teal": 4862,
+ "source": 1275,
+ "pc": [
+ 4784
+ ]
+ },
+ {
+ "teal": 4868,
+ "source": 1277,
+ "pc": [
+ 4785,
+ 4786
+ ]
+ },
+ {
+ "teal": 4869,
+ "source": 1277,
+ "pc": [
+ 4787,
+ 4788,
+ 4789
+ ]
+ },
+ {
+ "teal": 4874,
+ "source": 1278,
+ "pc": [
+ 4790,
+ 4791
+ ]
+ },
+ {
+ "teal": 4875,
+ "source": 1278,
+ "pc": [
+ 4792
+ ]
+ },
+ {
+ "teal": 4876,
+ "source": 1278,
+ "pc": [
+ 4793
+ ]
+ },
+ {
+ "teal": 4877,
+ "source": 1278,
+ "pc": [
+ 4794
+ ]
+ },
+ {
+ "teal": 4878,
+ "source": 1278,
+ "pc": [
+ 4795,
+ 4796
+ ]
+ },
+ {
+ "teal": 4879,
+ "source": 1278,
+ "pc": [
+ 4797
+ ]
+ },
+ {
+ "teal": 4880,
+ "source": 1278,
+ "pc": [
+ 4798
+ ]
+ },
+ {
+ "teal": 4885,
+ "source": 1280,
+ "pc": [
+ 4799,
+ 4800
+ ]
+ },
+ {
+ "teal": 4886,
+ "source": 1280,
+ "pc": [
+ 4801
+ ]
+ },
+ {
+ "teal": 4887,
+ "source": 1280,
+ "pc": [
+ 4802
+ ]
+ },
+ {
+ "teal": 4888,
+ "source": 1280,
+ "pc": [
+ 4803
+ ]
+ },
+ {
+ "teal": 4889,
+ "source": 1280,
+ "pc": [
+ 4804,
+ 4805
+ ]
+ },
+ {
+ "teal": 4890,
+ "source": 1280,
+ "pc": [
+ 4806,
+ 4807,
+ 4808
+ ]
+ },
+ {
+ "teal": 4891,
+ "source": 1280,
+ "pc": [
+ 4809
+ ]
+ },
+ {
+ "teal": 4892,
+ "source": 1280,
+ "pc": [
+ 4810
+ ]
+ },
+ {
+ "teal": 4893,
+ "source": 1280,
+ "pc": [
+ 4811
+ ]
+ },
+ {
+ "teal": 4894,
+ "source": 1280,
+ "pc": [
+ 4812,
+ 4813
+ ]
+ },
+ {
+ "teal": 4895,
+ "source": 1280,
+ "pc": [
+ 4814
+ ]
+ },
+ {
+ "teal": 4896,
+ "source": 1280,
+ "pc": [
+ 4815
+ ]
+ },
+ {
+ "teal": 4897,
+ "source": 1280,
+ "pc": [
+ 4816,
+ 4817
+ ]
+ },
+ {
+ "teal": 4898,
+ "source": 1280,
+ "pc": [
+ 4818,
+ 4819
+ ]
+ },
+ {
+ "teal": 4899,
+ "source": 1280,
+ "pc": [
+ 4820,
+ 4821
+ ]
+ },
+ {
+ "teal": 4900,
+ "source": 1280,
+ "pc": [
+ 4822
+ ]
+ },
+ {
+ "teal": 4901,
+ "source": 1280,
+ "pc": [
+ 4823
+ ]
+ },
+ {
+ "teal": 4902,
+ "source": 1280,
+ "pc": [
+ 4824
+ ]
+ },
+ {
+ "teal": 4903,
+ "source": 1280,
+ "pc": [
+ 4825
+ ]
+ },
+ {
+ "teal": 4904,
+ "source": 1280,
+ "pc": [
+ 4826,
+ 4827
+ ]
+ },
+ {
+ "teal": 4905,
+ "source": 1280,
+ "pc": [
+ 4828,
+ 4829,
+ 4830
+ ]
+ },
+ {
+ "teal": 4906,
+ "source": 1280,
+ "pc": [
+ 4831
+ ]
+ },
+ {
+ "teal": 4907,
+ "source": 1280,
+ "pc": [
+ 4832
+ ]
+ },
+ {
+ "teal": 4908,
+ "source": 1280,
+ "pc": [
+ 4833
+ ]
+ },
+ {
+ "teal": 4909,
+ "source": 1280,
+ "pc": [
+ 4834,
+ 4835
+ ]
+ },
+ {
+ "teal": 4910,
+ "source": 1280,
+ "pc": [
+ 4836
+ ]
+ },
+ {
+ "teal": 4914,
+ "source": 1281,
+ "pc": [
+ 4837,
+ 4838
+ ]
+ },
+ {
+ "teal": 4915,
+ "source": 1281,
+ "pc": [
+ 4839
+ ]
+ },
+ {
+ "teal": 4916,
+ "source": 1281,
+ "pc": [
+ 4840,
+ 4841
+ ]
+ },
+ {
+ "teal": 4917,
+ "source": 1281,
+ "pc": [
+ 4842,
+ 4843
+ ]
+ },
+ {
+ "teal": 4918,
+ "source": 1281,
+ "pc": [
+ 4844,
+ 4845
+ ]
+ },
+ {
+ "teal": 4919,
+ "source": 1281,
+ "pc": [
+ 4846
+ ]
+ },
+ {
+ "teal": 4920,
+ "source": 1281,
+ "pc": [
+ 4847
+ ]
+ },
+ {
+ "teal": 4921,
+ "source": 1281,
+ "pc": [
+ 4848,
+ 4849
+ ]
+ },
+ {
+ "teal": 4922,
+ "source": 1281,
+ "pc": [
+ 4850
+ ]
+ },
+ {
+ "teal": 4923,
+ "source": 1281,
+ "pc": [
+ 4851
+ ]
+ },
+ {
+ "teal": 4924,
+ "source": 1242,
+ "pc": [
+ 4852
+ ]
+ },
+ {
+ "teal": 4928,
+ "source": 1284,
+ "pc": [
+ 4853,
+ 4854,
+ 4855
+ ]
+ },
+ {
+ "teal": 4931,
+ "source": 1284,
+ "pc": [
+ 4856
+ ]
+ },
+ {
+ "teal": 4932,
+ "source": 1284,
+ "pc": [
+ 4857,
+ 4858
+ ]
+ },
+ {
+ "teal": 4936,
+ "source": 1285,
+ "pc": [
+ 4859
+ ]
+ },
+ {
+ "teal": 4937,
+ "source": 1285,
+ "pc": [
+ 4860,
+ 4861
+ ]
+ },
+ {
+ "teal": 4938,
+ "source": 1285,
+ "pc": [
+ 4862
+ ]
+ },
+ {
+ "teal": 4939,
+ "source": 1285,
+ "pc": [
+ 4863
+ ]
+ },
+ {
+ "teal": 4940,
+ "source": 1285,
+ "pc": [
+ 4864
+ ]
+ },
+ {
+ "teal": 4941,
+ "source": 1285,
+ "pc": [
+ 4865
+ ]
+ },
+ {
+ "teal": 4942,
+ "source": 1285,
+ "pc": [
+ 4866
+ ]
+ },
+ {
+ "teal": 4946,
+ "source": 1287,
+ "pc": [
+ 4867
+ ]
+ },
+ {
+ "teal": 4947,
+ "source": 1287,
+ "pc": [
+ 4868,
+ 4869
+ ]
+ },
+ {
+ "teal": 4948,
+ "source": 1287,
+ "pc": [
+ 4870
+ ]
+ },
+ {
+ "teal": 4949,
+ "source": 1287,
+ "pc": [
+ 4871
+ ]
+ },
+ {
+ "teal": 4952,
+ "source": 1287,
+ "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value",
+ "pc": [
+ 4872
+ ]
+ },
+ {
+ "teal": 4953,
+ "source": 1287,
+ "pc": [
+ 4873,
+ 4874
+ ]
+ },
+ {
+ "teal": 4957,
+ "source": 1288,
+ "pc": [
+ 4875
+ ]
+ },
+ {
+ "teal": 4958,
+ "source": 1288,
+ "pc": [
+ 4876,
+ 4877
+ ]
+ },
+ {
+ "teal": 4962,
+ "source": 1289,
+ "pc": [
+ 4878
+ ]
+ },
+ {
+ "teal": 4963,
+ "source": 1289,
+ "pc": [
+ 4879,
+ 4880
+ ]
+ },
+ {
+ "teal": 4968,
+ "source": 1289,
+ "pc": [
+ 4881,
+ 4882
+ ]
+ },
+ {
+ "teal": 4969,
+ "source": 1289,
+ "pc": [
+ 4883,
+ 4884
+ ]
+ },
+ {
+ "teal": 4970,
+ "source": 1289,
+ "pc": [
+ 4885
+ ]
+ },
+ {
+ "teal": 4971,
+ "source": 1289,
+ "pc": [
+ 4886,
+ 4887,
+ 4888
+ ]
+ },
+ {
+ "teal": 4976,
+ "source": 1290,
+ "pc": [
+ 4889,
+ 4890
+ ]
+ },
+ {
+ "teal": 4977,
+ "source": 1290,
+ "pc": [
+ 4891,
+ 4892
+ ]
+ },
+ {
+ "teal": 4978,
+ "source": 1290,
+ "pc": [
+ 4893
+ ]
+ },
+ {
+ "teal": 4979,
+ "source": 1290,
+ "pc": [
+ 4894
+ ]
+ },
+ {
+ "teal": 4980,
+ "source": 1290,
+ "pc": [
+ 4895
+ ]
+ },
+ {
+ "teal": 4981,
+ "source": 1290,
+ "pc": [
+ 4896
+ ]
+ },
+ {
+ "teal": 4982,
+ "source": 1290,
+ "pc": [
+ 4897,
+ 4898
+ ]
+ },
+ {
+ "teal": 4983,
+ "source": 1290,
+ "pc": [
+ 4899
+ ]
+ },
+ {
+ "teal": 4984,
+ "source": 1290,
+ "pc": [
+ 4900,
+ 4901,
+ 4902
+ ]
+ },
+ {
+ "teal": 4989,
+ "source": 1292,
+ "pc": [
+ 4903
+ ]
+ },
+ {
+ "teal": 4995,
+ "source": 1294,
+ "pc": [
+ 4904,
+ 4905
+ ]
+ },
+ {
+ "teal": 4996,
+ "source": 1294,
+ "pc": [
+ 4906
+ ]
+ },
+ {
+ "teal": 4997,
+ "source": 1294,
+ "pc": [
+ 4907
+ ]
+ },
+ {
+ "teal": 4998,
+ "source": 1294,
+ "pc": [
+ 4908
+ ]
+ },
+ {
+ "teal": 4999,
+ "source": 1294,
+ "pc": [
+ 4909,
+ 4910,
+ 4911
+ ]
+ },
+ {
+ "teal": 5000,
+ "source": 1294,
+ "pc": [
+ 4912,
+ 4913
+ ]
+ },
+ {
+ "teal": 5001,
+ "source": 1294,
+ "pc": [
+ 4914,
+ 4915
+ ]
+ },
+ {
+ "teal": 5002,
+ "source": 1294,
+ "pc": [
+ 4916
+ ]
+ },
+ {
+ "teal": 5003,
+ "source": 1294,
+ "pc": [
+ 4917
+ ]
+ },
+ {
+ "teal": 5004,
+ "source": 1294,
+ "pc": [
+ 4918
+ ]
+ },
+ {
+ "teal": 5005,
+ "source": 1294,
+ "pc": [
+ 4919
+ ]
+ },
+ {
+ "teal": 5006,
+ "source": 1294,
+ "pc": [
+ 4920
+ ]
+ },
+ {
+ "teal": 5007,
+ "source": 1294,
+ "pc": [
+ 4921
+ ]
+ },
+ {
+ "teal": 5008,
+ "source": 1294,
+ "pc": [
+ 4922
+ ]
+ },
+ {
+ "teal": 5009,
+ "source": 1294,
+ "pc": [
+ 4923
+ ]
+ },
+ {
+ "teal": 5010,
+ "source": 1294,
+ "pc": [
+ 4924
+ ]
+ },
+ {
+ "teal": 5011,
+ "source": 1294,
+ "pc": [
+ 4925
+ ]
+ },
+ {
+ "teal": 5014,
+ "source": 1294,
+ "pc": [
+ 4926,
+ 4927,
+ 4928
+ ]
+ },
+ {
+ "teal": 5019,
+ "source": 1295,
+ "pc": [
+ 4929,
+ 4930
+ ]
+ },
+ {
+ "teal": 5020,
+ "source": 1295,
+ "pc": [
+ 4931
+ ]
+ },
+ {
+ "teal": 5021,
+ "source": 1295,
+ "pc": [
+ 4932
+ ]
+ },
+ {
+ "teal": 5022,
+ "source": 1295,
+ "pc": [
+ 4933,
+ 4934
+ ]
+ },
+ {
+ "teal": 5029,
+ "source": 1289,
+ "pc": [
+ 4935,
+ 4936
+ ]
+ },
+ {
+ "teal": 5030,
+ "source": 1289,
+ "pc": [
+ 4937
+ ]
+ },
+ {
+ "teal": 5031,
+ "source": 1289,
+ "pc": [
+ 4938
+ ]
+ },
+ {
+ "teal": 5032,
+ "source": 1289,
+ "pc": [
+ 4939,
+ 4940
+ ]
+ },
+ {
+ "teal": 5033,
+ "source": 1289,
+ "pc": [
+ 4941,
+ 4942,
+ 4943
+ ]
+ },
+ {
+ "teal": 5039,
+ "source": 1298,
+ "pc": [
+ 4944,
+ 4945
+ ]
+ },
+ {
+ "teal": 5040,
+ "source": 1298,
+ "pc": [
+ 4946
+ ]
+ },
+ {
+ "teal": 5041,
+ "source": 1298,
+ "pc": [
+ 4947
+ ]
+ },
+ {
+ "teal": 5042,
+ "source": 1298,
+ "pc": [
+ 4948,
+ 4949,
+ 4950
+ ]
+ },
+ {
+ "teal": 5046,
+ "source": 1299,
+ "errorMessage": "No empty slot available in the staker pool set",
+ "pc": [
+ 4951
+ ]
+ },
+ {
+ "teal": 5051,
+ "source": 1301,
+ "pc": [
+ 4952,
+ 4953
+ ]
+ },
+ {
+ "teal": 5052,
+ "source": 1301,
+ "pc": [
+ 4954
+ ]
+ },
+ {
+ "teal": 5053,
+ "source": 1301,
+ "pc": [
+ 4955
+ ]
+ },
+ {
+ "teal": 5054,
+ "source": 1301,
+ "pc": [
+ 4956
+ ]
+ },
+ {
+ "teal": 5055,
+ "source": 1301,
+ "pc": [
+ 4957
+ ]
+ },
+ {
+ "teal": 5056,
+ "source": 1301,
+ "pc": [
+ 4958,
+ 4959
+ ]
+ },
+ {
+ "teal": 5057,
+ "source": 1301,
+ "pc": [
+ 4960
+ ]
+ },
+ {
+ "teal": 5058,
+ "source": 1301,
+ "pc": [
+ 4961,
+ 4962
+ ]
+ },
+ {
+ "teal": 5059,
+ "source": 1301,
+ "pc": [
+ 4963
+ ]
+ },
+ {
+ "teal": 5060,
+ "source": 1301,
+ "pc": [
+ 4964,
+ 4965
+ ]
+ },
+ {
+ "teal": 5061,
+ "source": 1301,
+ "pc": [
+ 4966
+ ]
+ },
+ {
+ "teal": 5062,
+ "source": 1284,
+ "pc": [
+ 4967
+ ]
+ },
+ {
+ "teal": 5073,
+ "source": 1312,
+ "pc": [
+ 4968,
+ 4969,
+ 4970
+ ]
+ },
+ {
+ "teal": 5076,
+ "source": 1312,
+ "pc": [
+ 4971
+ ]
+ },
+ {
+ "teal": 5077,
+ "source": 1312,
+ "pc": [
+ 4972,
+ 4973
+ ]
+ },
+ {
+ "teal": 5081,
+ "source": 1314,
+ "pc": [
+ 4974
+ ]
+ },
+ {
+ "teal": 5082,
+ "source": 1314,
+ "pc": [
+ 4975,
+ 4976
+ ]
+ },
+ {
+ "teal": 5086,
+ "source": 1315,
+ "pc": [
+ 4977
+ ]
+ },
+ {
+ "teal": 5087,
+ "source": 1315,
+ "pc": [
+ 4978,
+ 4979
+ ]
+ },
+ {
+ "teal": 5091,
+ "source": 1316,
+ "pc": [
+ 4980
+ ]
+ },
+ {
+ "teal": 5092,
+ "source": 1316,
+ "pc": [
+ 4981,
+ 4982
+ ]
+ },
+ {
+ "teal": 5096,
+ "source": 1318,
+ "pc": [
+ 4983
+ ]
+ },
+ {
+ "teal": 5097,
+ "source": 1318,
+ "pc": [
+ 4984,
+ 4985
+ ]
+ },
+ {
+ "teal": 5098,
+ "source": 1318,
+ "pc": [
+ 4986
+ ]
+ },
+ {
+ "teal": 5099,
+ "source": 1318,
+ "pc": [
+ 4987
+ ]
+ },
+ {
+ "teal": 5102,
+ "source": 1318,
+ "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value",
+ "pc": [
+ 4988
+ ]
+ },
+ {
+ "teal": 5103,
+ "source": 1318,
+ "pc": [
+ 4989,
+ 4990
+ ]
+ },
+ {
+ "teal": 5107,
+ "source": 1319,
+ "pc": [
+ 4991
+ ]
+ },
+ {
+ "teal": 5108,
+ "source": 1319,
+ "pc": [
+ 4992,
+ 4993
+ ]
+ },
+ {
+ "teal": 5113,
+ "source": 1319,
+ "pc": [
+ 4994,
+ 4995
+ ]
+ },
+ {
+ "teal": 5114,
+ "source": 1319,
+ "pc": [
+ 4996,
+ 4997
+ ]
+ },
+ {
+ "teal": 5115,
+ "source": 1319,
+ "pc": [
+ 4998
+ ]
+ },
+ {
+ "teal": 5116,
+ "source": 1319,
+ "pc": [
+ 4999,
+ 5000,
+ 5001
+ ]
+ },
+ {
+ "teal": 5121,
+ "source": 1320,
+ "pc": [
+ 5002,
+ 5003
+ ]
+ },
+ {
+ "teal": 5122,
+ "source": 1320,
+ "pc": [
+ 5004,
+ 5005
+ ]
+ },
+ {
+ "teal": 5123,
+ "source": 1320,
+ "pc": [
+ 5006
+ ]
+ },
+ {
+ "teal": 5124,
+ "source": 1320,
+ "pc": [
+ 5007
+ ]
+ },
+ {
+ "teal": 5125,
+ "source": 1320,
+ "pc": [
+ 5008
+ ]
+ },
+ {
+ "teal": 5126,
+ "source": 1320,
+ "pc": [
+ 5009
+ ]
+ },
+ {
+ "teal": 5127,
+ "source": 1320,
+ "pc": [
+ 5010
+ ]
+ },
+ {
+ "teal": 5128,
+ "source": 1320,
+ "pc": [
+ 5011
+ ]
+ },
+ {
+ "teal": 5129,
+ "source": 1320,
+ "pc": [
+ 5012
+ ]
+ },
+ {
+ "teal": 5130,
+ "source": 1320,
+ "pc": [
+ 5013
+ ]
+ },
+ {
+ "teal": 5131,
+ "source": 1320,
+ "pc": [
+ 5014
+ ]
+ },
+ {
+ "teal": 5132,
+ "source": 1320,
+ "pc": [
+ 5015,
+ 5016,
+ 5017
+ ]
+ },
+ {
+ "teal": 5135,
+ "source": 1321,
+ "pc": [
+ 5018,
+ 5019,
+ 5020
+ ]
+ },
+ {
+ "teal": 5140,
+ "source": 1323,
+ "pc": [
+ 5021,
+ 5022
+ ]
+ },
+ {
+ "teal": 5141,
+ "source": 1323,
+ "pc": [
+ 5023
+ ]
+ },
+ {
+ "teal": 5142,
+ "source": 1323,
+ "pc": [
+ 5024
+ ]
+ },
+ {
+ "teal": 5143,
+ "source": 1323,
+ "pc": [
+ 5025,
+ 5026
+ ]
+ },
+ {
+ "teal": 5148,
+ "source": 1324,
+ "pc": [
+ 5027,
+ 5028
+ ]
+ },
+ {
+ "teal": 5149,
+ "source": 1324,
+ "pc": [
+ 5029,
+ 5030
+ ]
+ },
+ {
+ "teal": 5150,
+ "source": 1324,
+ "pc": [
+ 5031
+ ]
+ },
+ {
+ "teal": 5151,
+ "source": 1324,
+ "pc": [
+ 5032
+ ]
+ },
+ {
+ "teal": 5152,
+ "source": 1324,
+ "pc": [
+ 5033
+ ]
+ },
+ {
+ "teal": 5153,
+ "source": 1324,
+ "pc": [
+ 5034
+ ]
+ },
+ {
+ "teal": 5154,
+ "source": 1324,
+ "pc": [
+ 5035
+ ]
+ },
+ {
+ "teal": 5155,
+ "source": 1324,
+ "pc": [
+ 5036
+ ]
+ },
+ {
+ "teal": 5156,
+ "source": 1324,
+ "pc": [
+ 5037
+ ]
+ },
+ {
+ "teal": 5157,
+ "source": 1324,
+ "pc": [
+ 5038,
+ 5039
+ ]
+ },
+ {
+ "teal": 5158,
+ "source": 1324,
+ "pc": [
+ 5040,
+ 5041,
+ 5042
+ ]
+ },
+ {
+ "teal": 5159,
+ "source": 1324,
+ "pc": [
+ 5043
+ ]
+ },
+ {
+ "teal": 5160,
+ "source": 1324,
+ "pc": [
+ 5044
+ ]
+ },
+ {
+ "teal": 5161,
+ "source": 1324,
+ "pc": [
+ 5045,
+ 5046,
+ 5047
+ ]
+ },
+ {
+ "teal": 5167,
+ "source": 1325,
+ "pc": [
+ 5048,
+ 5049
+ ]
+ },
+ {
+ "teal": 5168,
+ "source": 1325,
+ "pc": [
+ 5050,
+ 5051
+ ]
+ },
+ {
+ "teal": 5169,
+ "source": 1325,
+ "pc": [
+ 5052
+ ]
+ },
+ {
+ "teal": 5170,
+ "source": 1325,
+ "pc": [
+ 5053
+ ]
+ },
+ {
+ "teal": 5171,
+ "source": 1325,
+ "pc": [
+ 5054
+ ]
+ },
+ {
+ "teal": 5172,
+ "source": 1325,
+ "pc": [
+ 5055
+ ]
+ },
+ {
+ "teal": 5173,
+ "source": 1325,
+ "pc": [
+ 5056,
+ 5057
+ ]
+ },
+ {
+ "teal": 5174,
+ "source": 1325,
+ "pc": [
+ 5058
+ ]
+ },
+ {
+ "teal": 5175,
+ "source": 1325,
+ "pc": [
+ 5059,
+ 5060,
+ 5061
+ ]
+ },
+ {
+ "teal": 5180,
+ "source": 1326,
+ "pc": [
+ 5062
+ ]
+ },
+ {
+ "teal": 5181,
+ "source": 1326,
+ "pc": [
+ 5063,
+ 5064
+ ]
+ },
+ {
+ "teal": 5185,
+ "source": 1328,
+ "pc": [
+ 5065,
+ 5066
+ ]
+ },
+ {
+ "teal": 5186,
+ "source": 1328,
+ "pc": [
+ 5067
+ ]
+ },
+ {
+ "teal": 5187,
+ "source": 1328,
+ "pc": [
+ 5068
+ ]
+ },
+ {
+ "teal": 5188,
+ "source": 1328,
+ "pc": [
+ 5069,
+ 5070,
+ 5071,
+ 5072,
+ 5073,
+ 5074,
+ 5075,
+ 5076,
+ 5077,
+ 5078,
+ 5079,
+ 5080,
+ 5081,
+ 5082,
+ 5083,
+ 5084,
+ 5085,
+ 5086,
+ 5087,
+ 5088,
+ 5089,
+ 5090,
+ 5091,
+ 5092,
+ 5093,
+ 5094
+ ]
+ },
+ {
+ "teal": 5189,
+ "source": 1328,
+ "pc": [
+ 5095
+ ]
+ },
+ {
+ "teal": 5190,
+ "source": 1328,
+ "pc": [
+ 5096,
+ 5097
+ ]
+ },
+ {
+ "teal": 5191,
+ "source": 1328,
+ "pc": [
+ 5098
+ ]
+ },
+ {
+ "teal": 5192,
+ "source": 1328,
+ "pc": [
+ 5099,
+ 5100
+ ]
+ },
+ {
+ "teal": 5193,
+ "source": 1328,
+ "pc": [
+ 5101
+ ]
+ },
+ {
+ "teal": 5194,
+ "source": 1325,
+ "pc": [
+ 5102,
+ 5103,
+ 5104
+ ]
+ },
+ {
+ "teal": 5199,
+ "source": 1330,
+ "pc": [
+ 5105,
+ 5106
+ ]
+ },
+ {
+ "teal": 5200,
+ "source": 1330,
+ "pc": [
+ 5107
+ ]
+ },
+ {
+ "teal": 5201,
+ "source": 1330,
+ "pc": [
+ 5108
+ ]
+ },
+ {
+ "teal": 5202,
+ "source": 1330,
+ "pc": [
+ 5109,
+ 5110
+ ]
+ },
+ {
+ "teal": 5211,
+ "source": 1319,
+ "pc": [
+ 5111,
+ 5112
+ ]
+ },
+ {
+ "teal": 5212,
+ "source": 1319,
+ "pc": [
+ 5113
+ ]
+ },
+ {
+ "teal": 5213,
+ "source": 1319,
+ "pc": [
+ 5114
+ ]
+ },
+ {
+ "teal": 5214,
+ "source": 1319,
+ "pc": [
+ 5115,
+ 5116
+ ]
+ },
+ {
+ "teal": 5215,
+ "source": 1319,
+ "pc": [
+ 5117,
+ 5118,
+ 5119
+ ]
+ },
+ {
+ "teal": 5221,
+ "source": 1334,
+ "pc": [
+ 5120,
+ 5121
+ ]
+ },
+ {
+ "teal": 5222,
+ "source": 1334,
+ "pc": [
+ 5122
+ ]
+ },
+ {
+ "teal": 5223,
+ "source": 1334,
+ "pc": [
+ 5123,
+ 5124,
+ 5125
+ ]
+ },
+ {
+ "teal": 5227,
+ "source": 1335,
+ "errorMessage": "No matching slot found when told to remove a pool from the stakers set",
+ "pc": [
+ 5126
+ ]
+ },
+ {
+ "teal": 5232,
+ "source": 1338,
+ "pc": [
+ 5127,
+ 5128
+ ]
+ },
+ {
+ "teal": 5233,
+ "source": 1338,
+ "pc": [
+ 5129
+ ]
+ },
+ {
+ "teal": 5234,
+ "source": 1338,
+ "pc": [
+ 5130,
+ 5131
+ ]
+ },
+ {
+ "teal": 5235,
+ "source": 1338,
+ "pc": [
+ 5132
+ ]
+ },
+ {
+ "teal": 5236,
+ "source": 1338,
+ "pc": [
+ 5133
+ ]
+ },
+ {
+ "teal": 5237,
+ "source": 1338,
+ "pc": [
+ 5134
+ ]
+ },
+ {
+ "teal": 5238,
+ "source": 1338,
+ "pc": [
+ 5135
+ ]
+ },
+ {
+ "teal": 5239,
+ "source": 1338,
+ "pc": [
+ 5136,
+ 5137
+ ]
+ },
+ {
+ "teal": 5240,
+ "source": 1338,
+ "pc": [
+ 5138
+ ]
+ },
+ {
+ "teal": 5241,
+ "source": 1338,
+ "pc": [
+ 5139
+ ]
+ },
+ {
+ "teal": 5242,
+ "source": 1338,
+ "pc": [
+ 5140
+ ]
+ },
+ {
+ "teal": 5245,
+ "source": 1312,
+ "pc": [
+ 5141,
+ 5142
+ ]
+ },
+ {
+ "teal": 5248,
+ "source": 1312,
+ "pc": [
+ 5143,
+ 5144
+ ]
+ },
+ {
+ "teal": 5249,
+ "source": 1312,
+ "pc": [
+ 5145
+ ]
+ },
+ {
+ "teal": 5253,
+ "source": 1341,
+ "pc": [
+ 5146,
+ 5147,
+ 5148
+ ]
+ },
+ {
+ "teal": 5256,
+ "source": 1341,
+ "pc": [
+ 5149
+ ]
+ },
+ {
+ "teal": 5257,
+ "source": 1341,
+ "pc": [
+ 5150,
+ 5151
+ ]
+ },
+ {
+ "teal": 5261,
+ "source": 1342,
+ "pc": [
+ 5152,
+ 5153
+ ]
+ },
+ {
+ "teal": 5262,
+ "source": 1342,
+ "pc": [
+ 5154,
+ 5155
+ ]
+ },
+ {
+ "teal": 5263,
+ "source": 1342,
+ "pc": [
+ 5156
+ ]
+ },
+ {
+ "teal": 5264,
+ "source": 1342,
+ "pc": [
+ 5157,
+ 5158
+ ]
+ },
+ {
+ "teal": 5265,
+ "source": 1342,
+ "pc": [
+ 5159
+ ]
+ },
+ {
+ "teal": 5266,
+ "source": 1342,
+ "pc": [
+ 5160
+ ]
+ },
+ {
+ "teal": 5267,
+ "source": 1342,
+ "pc": [
+ 5161,
+ 5162
+ ]
+ },
+ {
+ "teal": 5268,
+ "source": 1342,
+ "pc": [
+ 5163
+ ]
+ },
+ {
+ "teal": 5269,
+ "source": 1342,
+ "pc": [
+ 5164,
+ 5165
+ ]
+ },
+ {
+ "teal": 5273,
+ "source": 1343,
+ "pc": [
+ 5166,
+ 5167,
+ 5168
+ ]
+ },
+ {
+ "teal": 5274,
+ "source": 1343,
+ "pc": [
+ 5169
+ ]
+ },
+ {
+ "teal": 5275,
+ "source": 1343,
+ "pc": [
+ 5170
+ ]
+ },
+ {
+ "teal": 5276,
+ "source": 1343,
+ "pc": [
+ 5171,
+ 5172
+ ]
+ },
+ {
+ "teal": 5277,
+ "source": 1343,
+ "pc": [
+ 5173
+ ]
+ },
+ {
+ "teal": 5278,
+ "source": 1343,
+ "pc": [
+ 5174
+ ]
+ },
+ {
+ "teal": 5279,
+ "source": 1343,
+ "pc": [
+ 5175,
+ 5176
+ ]
+ },
+ {
+ "teal": 5280,
+ "source": 1343,
+ "pc": [
+ 5177
+ ]
+ },
+ {
+ "teal": 5281,
+ "source": 1343,
+ "pc": [
+ 5178
+ ]
+ },
+ {
+ "teal": 5282,
+ "source": 1343,
+ "pc": [
+ 5179,
+ 5180
+ ]
+ },
+ {
+ "teal": 5286,
+ "source": 1345,
+ "pc": [
+ 5181,
+ 5182
+ ]
+ },
+ {
+ "teal": 5287,
+ "source": 1345,
+ "pc": [
+ 5183
+ ]
+ },
+ {
+ "teal": 5288,
+ "source": 1345,
+ "pc": [
+ 5184
+ ]
+ },
+ {
+ "teal": 5289,
+ "source": 1345,
+ "pc": [
+ 5185
+ ]
+ },
+ {
+ "teal": 5290,
+ "source": 1345,
+ "pc": [
+ 5186,
+ 5187,
+ 5188
+ ]
+ },
+ {
+ "teal": 5291,
+ "source": 1345,
+ "pc": [
+ 5189,
+ 5190
+ ]
+ },
+ {
+ "teal": 5292,
+ "source": 1345,
+ "pc": [
+ 5191
+ ]
+ },
+ {
+ "teal": 5293,
+ "source": 1345,
+ "pc": [
+ 5192
+ ]
+ },
+ {
+ "teal": 5294,
+ "source": 1345,
+ "pc": [
+ 5193
+ ]
+ },
+ {
+ "teal": 5298,
+ "source": 1345,
+ "errorMessage": "node number not in valid range",
+ "pc": [
+ 5194
+ ]
+ },
+ {
+ "teal": 5302,
+ "source": 1347,
+ "pc": [
+ 5195
+ ]
+ },
+ {
+ "teal": 5303,
+ "source": 1347,
+ "pc": [
+ 5196,
+ 5197
+ ]
+ },
+ {
+ "teal": 5308,
+ "source": 1347,
+ "pc": [
+ 5198,
+ 5199
+ ]
+ },
+ {
+ "teal": 5309,
+ "source": 1347,
+ "pc": [
+ 5200,
+ 5201
+ ]
+ },
+ {
+ "teal": 5310,
+ "source": 1347,
+ "pc": [
+ 5202
+ ]
+ },
+ {
+ "teal": 5311,
+ "source": 1347,
+ "pc": [
+ 5203,
+ 5204,
+ 5205
+ ]
+ },
+ {
+ "teal": 5316,
+ "source": 1348,
+ "pc": [
+ 5206,
+ 5207
+ ]
+ },
+ {
+ "teal": 5317,
+ "source": 1348,
+ "pc": [
+ 5208
+ ]
+ },
+ {
+ "teal": 5318,
+ "source": 1348,
+ "pc": [
+ 5209,
+ 5210
+ ]
+ },
+ {
+ "teal": 5319,
+ "source": 1348,
+ "pc": [
+ 5211
+ ]
+ },
+ {
+ "teal": 5320,
+ "source": 1348,
+ "pc": [
+ 5212
+ ]
+ },
+ {
+ "teal": 5321,
+ "source": 1348,
+ "pc": [
+ 5213
+ ]
+ },
+ {
+ "teal": 5322,
+ "source": 1348,
+ "pc": [
+ 5214
+ ]
+ },
+ {
+ "teal": 5323,
+ "source": 1348,
+ "pc": [
+ 5215
+ ]
+ },
+ {
+ "teal": 5324,
+ "source": 1348,
+ "pc": [
+ 5216
+ ]
+ },
+ {
+ "teal": 5325,
+ "source": 1348,
+ "pc": [
+ 5217
+ ]
+ },
+ {
+ "teal": 5326,
+ "source": 1348,
+ "pc": [
+ 5218,
+ 5219
+ ]
+ },
+ {
+ "teal": 5327,
+ "source": 1348,
+ "pc": [
+ 5220
+ ]
+ },
+ {
+ "teal": 5328,
+ "source": 1348,
+ "pc": [
+ 5221
+ ]
+ },
+ {
+ "teal": 5329,
+ "source": 1348,
+ "pc": [
+ 5222
+ ]
+ },
+ {
+ "teal": 5330,
+ "source": 1348,
+ "pc": [
+ 5223
+ ]
+ },
+ {
+ "teal": 5331,
+ "source": 1348,
+ "pc": [
+ 5224
+ ]
+ },
+ {
+ "teal": 5332,
+ "source": 1348,
+ "pc": [
+ 5225
+ ]
+ },
+ {
+ "teal": 5333,
+ "source": 1348,
+ "pc": [
+ 5226
+ ]
+ },
+ {
+ "teal": 5334,
+ "source": 1348,
+ "pc": [
+ 5227
+ ]
+ },
+ {
+ "teal": 5335,
+ "source": 1348,
+ "pc": [
+ 5228,
+ 5229,
+ 5230
+ ]
+ },
+ {
+ "teal": 5340,
+ "source": 1350,
+ "pc": [
+ 5231,
+ 5232
+ ]
+ },
+ {
+ "teal": 5341,
+ "source": 1350,
+ "pc": [
+ 5233,
+ 5234
+ ]
+ },
+ {
+ "teal": 5342,
+ "source": 1350,
+ "pc": [
+ 5235
+ ]
+ },
+ {
+ "teal": 5343,
+ "source": 1350,
+ "pc": [
+ 5236
+ ]
+ },
+ {
+ "teal": 5344,
+ "source": 1350,
+ "pc": [
+ 5237
+ ]
+ },
+ {
+ "teal": 5345,
+ "source": 1350,
+ "pc": [
+ 5238
+ ]
+ },
+ {
+ "teal": 5346,
+ "source": 1350,
+ "pc": [
+ 5239
+ ]
+ },
+ {
+ "teal": 5347,
+ "source": 1350,
+ "pc": [
+ 5240
+ ]
+ },
+ {
+ "teal": 5348,
+ "source": 1350,
+ "pc": [
+ 5241
+ ]
+ },
+ {
+ "teal": 5349,
+ "source": 1350,
+ "pc": [
+ 5242,
+ 5243
+ ]
+ },
+ {
+ "teal": 5350,
+ "source": 1350,
+ "pc": [
+ 5244
+ ]
+ },
+ {
+ "teal": 5351,
+ "source": 1350,
+ "pc": [
+ 5245
+ ]
+ },
+ {
+ "teal": 5352,
+ "source": 1350,
+ "pc": [
+ 5246
+ ]
+ },
+ {
+ "teal": 5353,
+ "source": 1350,
+ "pc": [
+ 5247,
+ 5248
+ ]
+ },
+ {
+ "teal": 5354,
+ "source": 1350,
+ "pc": [
+ 5249
+ ]
+ },
+ {
+ "teal": 5355,
+ "source": 1350,
+ "pc": [
+ 5250
+ ]
+ },
+ {
+ "teal": 5356,
+ "source": 1350,
+ "pc": [
+ 5251,
+ 5252
+ ]
+ },
+ {
+ "teal": 5357,
+ "source": 1350,
+ "pc": [
+ 5253
+ ]
+ },
+ {
+ "teal": 5358,
+ "source": 1350,
+ "pc": [
+ 5254
+ ]
+ },
+ {
+ "teal": 5359,
+ "source": 1350,
+ "pc": [
+ 5255,
+ 5256
+ ]
+ },
+ {
+ "teal": 5360,
+ "source": 1350,
+ "pc": [
+ 5257
+ ]
+ },
+ {
+ "teal": 5364,
+ "source": 1351,
+ "pc": [
+ 5258
+ ]
+ },
+ {
+ "teal": 5371,
+ "source": 1347,
+ "pc": [
+ 5259,
+ 5260
+ ]
+ },
+ {
+ "teal": 5372,
+ "source": 1347,
+ "pc": [
+ 5261
+ ]
+ },
+ {
+ "teal": 5373,
+ "source": 1347,
+ "pc": [
+ 5262
+ ]
+ },
+ {
+ "teal": 5374,
+ "source": 1347,
+ "pc": [
+ 5263,
+ 5264
+ ]
+ },
+ {
+ "teal": 5375,
+ "source": 1347,
+ "pc": [
+ 5265,
+ 5266,
+ 5267
+ ]
+ },
+ {
+ "teal": 5379,
+ "source": 1354,
+ "errorMessage": "no available space in specified node for this pool",
+ "pc": [
+ 5268
+ ]
+ },
+ {
+ "teal": 5380,
+ "source": 1341,
+ "pc": [
+ 5269
+ ]
+ },
+ {
+ "teal": 5390,
+ "source": 1364,
+ "pc": [
+ 5270,
+ 5271,
+ 5272
+ ]
+ },
+ {
+ "teal": 5393,
+ "source": 1364,
+ "pc": [
+ 5273
+ ]
+ },
+ {
+ "teal": 5394,
+ "source": 1364,
+ "pc": [
+ 5274,
+ 5275
+ ]
+ },
+ {
+ "teal": 5398,
+ "source": 1365,
+ "pc": [
+ 5276,
+ 5277
+ ]
+ },
+ {
+ "teal": 5399,
+ "source": 1365,
+ "pc": [
+ 5278
+ ]
+ },
+ {
+ "teal": 5400,
+ "source": 1365,
+ "pc": [
+ 5279
+ ]
+ },
+ {
+ "teal": 5401,
+ "source": 1365,
+ "pc": [
+ 5280,
+ 5281
+ ]
+ },
+ {
+ "teal": 5402,
+ "source": 1365,
+ "pc": [
+ 5282
+ ]
+ },
+ {
+ "teal": 5403,
+ "source": 1365,
+ "pc": [
+ 5283
+ ]
+ },
+ {
+ "teal": 5404,
+ "source": 1365,
+ "pc": [
+ 5284,
+ 5285
+ ]
+ },
+ {
+ "teal": 5405,
+ "source": 1365,
+ "pc": [
+ 5286
+ ]
+ },
+ {
+ "teal": 5406,
+ "source": 1365,
+ "pc": [
+ 5287
+ ]
+ },
+ {
+ "teal": 5407,
+ "source": 1365,
+ "pc": [
+ 5288,
+ 5289
+ ]
+ },
+ {
+ "teal": 5412,
+ "source": 1366,
+ "pc": [
+ 5290,
+ 5291
+ ]
+ },
+ {
+ "teal": 5413,
+ "source": 1366,
+ "pc": [
+ 5292
+ ]
+ },
+ {
+ "teal": 5414,
+ "source": 1366,
+ "pc": [
+ 5293
+ ]
+ },
+ {
+ "teal": 5415,
+ "source": 1366,
+ "pc": [
+ 5294,
+ 5295,
+ 5296
+ ]
+ },
+ {
+ "teal": 5420,
+ "source": 1367,
+ "pc": [
+ 5297
+ ]
+ },
+ {
+ "teal": 5425,
+ "source": 1369,
+ "pc": [
+ 5298,
+ 5299
+ ]
+ },
+ {
+ "teal": 5426,
+ "source": 1369,
+ "pc": [
+ 5300,
+ 5301
+ ]
+ },
+ {
+ "teal": 5430,
+ "source": 1370,
+ "pc": [
+ 5302
+ ]
+ },
+ {
+ "teal": 5431,
+ "source": 1370,
+ "pc": [
+ 5303,
+ 5304
+ ]
+ },
+ {
+ "teal": 5432,
+ "source": 1370,
+ "pc": [
+ 5305
+ ]
+ },
+ {
+ "teal": 5433,
+ "source": 1370,
+ "pc": [
+ 5306,
+ 5307
+ ]
+ },
+ {
+ "teal": 5434,
+ "source": 1370,
+ "pc": [
+ 5308
+ ]
+ },
+ {
+ "teal": 5435,
+ "source": 1370,
+ "pc": [
+ 5309
+ ]
+ },
+ {
+ "teal": 5436,
+ "source": 1370,
+ "pc": [
+ 5310,
+ 5311
+ ]
+ },
+ {
+ "teal": 5437,
+ "source": 1370,
+ "pc": [
+ 5312
+ ]
+ },
+ {
+ "teal": 5438,
+ "source": 1370,
+ "pc": [
+ 5313,
+ 5314
+ ]
+ },
+ {
+ "teal": 5445,
+ "source": 1374,
+ "pc": [
+ 5315,
+ 5316
+ ]
+ },
+ {
+ "teal": 5446,
+ "source": 1374,
+ "pc": [
+ 5317
+ ]
+ },
+ {
+ "teal": 5447,
+ "source": 1374,
+ "pc": [
+ 5318
+ ]
+ },
+ {
+ "teal": 5448,
+ "source": 1374,
+ "pc": [
+ 5319
+ ]
+ },
+ {
+ "teal": 5449,
+ "source": 1374,
+ "pc": [
+ 5320,
+ 5321,
+ 5322
+ ]
+ },
+ {
+ "teal": 5450,
+ "source": 1375,
+ "pc": [
+ 5323,
+ 5324
+ ]
+ },
+ {
+ "teal": 5451,
+ "source": 1375,
+ "pc": [
+ 5325,
+ 5326
+ ]
+ },
+ {
+ "teal": 5452,
+ "source": 1375,
+ "pc": [
+ 5327
+ ]
+ },
+ {
+ "teal": 5453,
+ "source": 1374,
+ "pc": [
+ 5328
+ ]
+ },
+ {
+ "teal": 5456,
+ "source": 1375,
+ "pc": [
+ 5329
+ ]
+ },
+ {
+ "teal": 5457,
+ "source": 1375,
+ "pc": [
+ 5330,
+ 5331,
+ 5332
+ ]
+ },
+ {
+ "teal": 5458,
+ "source": 1376,
+ "pc": [
+ 5333,
+ 5334
+ ]
+ },
+ {
+ "teal": 5459,
+ "source": 1376,
+ "pc": [
+ 5335,
+ 5336
+ ]
+ },
+ {
+ "teal": 5460,
+ "source": 1376,
+ "pc": [
+ 5337
+ ]
+ },
+ {
+ "teal": 5461,
+ "source": 1375,
+ "pc": [
+ 5338
+ ]
+ },
+ {
+ "teal": 5464,
+ "source": 1373,
+ "pc": [
+ 5339,
+ 5340,
+ 5341
+ ]
+ },
+ {
+ "teal": 5469,
+ "source": 1378,
+ "pc": [
+ 5342,
+ 5343
+ ]
+ },
+ {
+ "teal": 5470,
+ "source": 1378,
+ "pc": [
+ 5344
+ ]
+ },
+ {
+ "teal": 5471,
+ "source": 1378,
+ "pc": [
+ 5345
+ ]
+ },
+ {
+ "teal": 5472,
+ "source": 1378,
+ "pc": [
+ 5346
+ ]
+ },
+ {
+ "teal": 5476,
+ "source": 1379,
+ "pc": [
+ 5347,
+ 5348
+ ]
+ },
+ {
+ "teal": 5477,
+ "source": 1379,
+ "pc": [
+ 5349
+ ]
+ },
+ {
+ "teal": 5478,
+ "source": 1379,
+ "pc": [
+ 5350
+ ]
+ },
+ {
+ "teal": 5479,
+ "source": 1379,
+ "pc": [
+ 5351,
+ 5352
+ ]
+ },
+ {
+ "teal": 5480,
+ "source": 1379,
+ "pc": [
+ 5353
+ ]
+ },
+ {
+ "teal": 5481,
+ "source": 1379,
+ "pc": [
+ 5354
+ ]
+ },
+ {
+ "teal": 5482,
+ "source": 1379,
+ "pc": [
+ 5355,
+ 5356
+ ]
+ },
+ {
+ "teal": 5483,
+ "source": 1379,
+ "pc": [
+ 5357
+ ]
+ },
+ {
+ "teal": 5484,
+ "source": 1379,
+ "pc": [
+ 5358
+ ]
+ },
+ {
+ "teal": 5485,
+ "source": 1379,
+ "pc": [
+ 5359,
+ 5360
+ ]
+ },
+ {
+ "teal": 5490,
+ "source": 1380,
+ "pc": [
+ 5361,
+ 5362
+ ]
+ },
+ {
+ "teal": 5491,
+ "source": 1380,
+ "pc": [
+ 5363
+ ]
+ },
+ {
+ "teal": 5492,
+ "source": 1380,
+ "pc": [
+ 5364
+ ]
+ },
+ {
+ "teal": 5493,
+ "source": 1380,
+ "pc": [
+ 5365,
+ 5366,
+ 5367
+ ]
+ },
+ {
+ "teal": 5498,
+ "source": 1381,
+ "pc": [
+ 5368
+ ]
+ },
+ {
+ "teal": 5499,
+ "source": 1381,
+ "pc": [
+ 5369,
+ 5370
+ ]
+ },
+ {
+ "teal": 5507,
+ "source": 1384,
+ "pc": [
+ 5371,
+ 5372
+ ]
+ },
+ {
+ "teal": 5508,
+ "source": 1384,
+ "pc": [
+ 5373,
+ 5374
+ ]
+ },
+ {
+ "teal": 5509,
+ "source": 1384,
+ "pc": [
+ 5375,
+ 5376
+ ]
+ },
+ {
+ "teal": 5510,
+ "source": 1384,
+ "pc": [
+ 5377
+ ]
+ },
+ {
+ "teal": 5511,
+ "source": 1384,
+ "pc": [
+ 5378,
+ 5379
+ ]
+ },
+ {
+ "teal": 5512,
+ "source": 1384,
+ "pc": [
+ 5380
+ ]
+ },
+ {
+ "teal": 5515,
+ "source": 1383,
+ "errorMessage": "must have required minimum balance of validator defined token to add stake",
+ "pc": [
+ 5381
+ ]
+ },
+ {
+ "teal": 5521,
+ "source": 1388,
+ "pc": [
+ 5382,
+ 5383
+ ]
+ },
+ {
+ "teal": 5522,
+ "source": 1388,
+ "pc": [
+ 5384
+ ]
+ },
+ {
+ "teal": 5523,
+ "source": 1388,
+ "pc": [
+ 5385
+ ]
+ },
+ {
+ "teal": 5524,
+ "source": 1388,
+ "pc": [
+ 5386,
+ 5387,
+ 5388
+ ]
+ },
+ {
+ "teal": 5532,
+ "source": 1390,
+ "pc": [
+ 5389,
+ 5390
+ ]
+ },
+ {
+ "teal": 5533,
+ "source": 1390,
+ "pc": [
+ 5391,
+ 5392
+ ]
+ },
+ {
+ "teal": 5534,
+ "source": 1390,
+ "pc": [
+ 5393
+ ]
+ },
+ {
+ "teal": 5535,
+ "source": 1390,
+ "pc": [
+ 5394,
+ 5395
+ ]
+ },
+ {
+ "teal": 5536,
+ "source": 1390,
+ "pc": [
+ 5396,
+ 5397,
+ 5398
+ ]
+ },
+ {
+ "teal": 5537,
+ "source": 1390,
+ "pc": [
+ 5399
+ ]
+ },
+ {
+ "teal": 5540,
+ "source": 1389,
+ "errorMessage": "specified asset must be created by creator that the validator defined as a requirement to stake",
+ "pc": [
+ 5400
+ ]
+ },
+ {
+ "teal": 5546,
+ "source": 1394,
+ "pc": [
+ 5401,
+ 5402
+ ]
+ },
+ {
+ "teal": 5547,
+ "source": 1394,
+ "pc": [
+ 5403,
+ 5404
+ ]
+ },
+ {
+ "teal": 5548,
+ "source": 1394,
+ "pc": [
+ 5405
+ ]
+ },
+ {
+ "teal": 5549,
+ "source": 1394,
+ "pc": [
+ 5406,
+ 5407,
+ 5408
+ ]
+ },
+ {
+ "teal": 5554,
+ "source": 1395,
+ "pc": [
+ 5409,
+ 5410
+ ]
+ },
+ {
+ "teal": 5555,
+ "source": 1395,
+ "pc": [
+ 5411
+ ]
+ },
+ {
+ "teal": 5556,
+ "source": 1395,
+ "pc": [
+ 5412
+ ]
+ },
+ {
+ "teal": 5557,
+ "source": 1395,
+ "pc": [
+ 5413
+ ]
+ },
+ {
+ "teal": 5561,
+ "source": 1396,
+ "pc": [
+ 5414
+ ]
+ },
+ {
+ "teal": 5562,
+ "source": 1396,
+ "pc": [
+ 5415,
+ 5416
+ ]
+ },
+ {
+ "teal": 5566,
+ "source": 1397,
+ "pc": [
+ 5417,
+ 5418
+ ]
+ },
+ {
+ "teal": 5567,
+ "source": 1397,
+ "pc": [
+ 5419,
+ 5420,
+ 5421
+ ]
+ },
+ {
+ "teal": 5568,
+ "source": 1397,
+ "pc": [
+ 5422
+ ]
+ },
+ {
+ "teal": 5569,
+ "source": 1397,
+ "pc": [
+ 5423,
+ 5424
+ ]
+ },
+ {
+ "teal": 5570,
+ "source": 1397,
+ "pc": [
+ 5425,
+ 5426,
+ 5427
+ ]
+ },
+ {
+ "teal": 5571,
+ "source": 1397,
+ "pc": [
+ 5428
+ ]
+ },
+ {
+ "teal": 5572,
+ "source": 1397,
+ "pc": [
+ 5429,
+ 5430
+ ]
+ },
+ {
+ "teal": 5573,
+ "source": 1397,
+ "pc": [
+ 5431
+ ]
+ },
+ {
+ "teal": 5574,
+ "source": 1397,
+ "pc": [
+ 5432,
+ 5433
+ ]
+ },
+ {
+ "teal": 5580,
+ "source": 1398,
+ "pc": [
+ 5434,
+ 5435
+ ]
+ },
+ {
+ "teal": 5581,
+ "source": 1398,
+ "pc": [
+ 5436,
+ 5437
+ ]
+ },
+ {
+ "teal": 5582,
+ "source": 1398,
+ "pc": [
+ 5438
+ ]
+ },
+ {
+ "teal": 5583,
+ "source": 1398,
+ "pc": [
+ 5439,
+ 5440,
+ 5441
+ ]
+ },
+ {
+ "teal": 5588,
+ "source": 1399,
+ "pc": [
+ 5442
+ ]
+ },
+ {
+ "teal": 5589,
+ "source": 1399,
+ "pc": [
+ 5443,
+ 5444
+ ]
+ },
+ {
+ "teal": 5590,
+ "source": 1400,
+ "pc": [
+ 5445,
+ 5446,
+ 5447
+ ]
+ },
+ {
+ "teal": 5596,
+ "source": 1397,
+ "pc": [
+ 5448,
+ 5449
+ ]
+ },
+ {
+ "teal": 5597,
+ "source": 1397,
+ "pc": [
+ 5450
+ ]
+ },
+ {
+ "teal": 5598,
+ "source": 1397,
+ "pc": [
+ 5451
+ ]
+ },
+ {
+ "teal": 5599,
+ "source": 1397,
+ "pc": [
+ 5452
+ ]
+ },
+ {
+ "teal": 5600,
+ "source": 1397,
+ "pc": [
+ 5453,
+ 5454
+ ]
+ },
+ {
+ "teal": 5601,
+ "source": 1397,
+ "pc": [
+ 5455
+ ]
+ },
+ {
+ "teal": 5602,
+ "source": 1397,
+ "pc": [
+ 5456,
+ 5457,
+ 5458
+ ]
+ },
+ {
+ "teal": 5603,
+ "source": 1397,
+ "pc": [
+ 5459,
+ 5460
+ ]
+ },
+ {
+ "teal": 5604,
+ "source": 1397,
+ "pc": [
+ 5461,
+ 5462
+ ]
+ },
+ {
+ "teal": 5605,
+ "source": 1397,
+ "pc": [
+ 5463,
+ 5464
+ ]
+ },
+ {
+ "teal": 5606,
+ "source": 1397,
+ "pc": [
+ 5465
+ ]
+ },
+ {
+ "teal": 5607,
+ "source": 1397,
+ "pc": [
+ 5466
+ ]
+ },
+ {
+ "teal": 5608,
+ "source": 1397,
+ "pc": [
+ 5467
+ ]
+ },
+ {
+ "teal": 5609,
+ "source": 1397,
+ "pc": [
+ 5468,
+ 5469
+ ]
+ },
+ {
+ "teal": 5610,
+ "source": 1397,
+ "pc": [
+ 5470,
+ 5471,
+ 5472
+ ]
+ },
+ {
+ "teal": 5615,
+ "source": 1403,
+ "pc": [
+ 5473,
+ 5474
+ ]
+ },
+ {
+ "teal": 5618,
+ "source": 1403,
+ "errorMessage": "specified asset must be identical to the asset id defined as a requirement to stake",
+ "pc": [
+ 5475
+ ]
+ },
+ {
+ "teal": 5624,
+ "source": 1405,
+ "pc": [
+ 5476,
+ 5477
+ ]
+ },
+ {
+ "teal": 5625,
+ "source": 1405,
+ "pc": [
+ 5478,
+ 5479
+ ]
+ },
+ {
+ "teal": 5626,
+ "source": 1405,
+ "pc": [
+ 5480
+ ]
+ },
+ {
+ "teal": 5627,
+ "source": 1405,
+ "pc": [
+ 5481,
+ 5482,
+ 5483
+ ]
+ },
+ {
+ "teal": 5635,
+ "source": 1409,
+ "pc": [
+ 5484,
+ 5485
+ ]
+ },
+ {
+ "teal": 5636,
+ "source": 1409,
+ "pc": [
+ 5486,
+ 5487
+ ]
+ },
+ {
+ "teal": 5637,
+ "source": 1409,
+ "pc": [
+ 5488
+ ]
+ },
+ {
+ "teal": 5638,
+ "source": 1409,
+ "pc": [
+ 5489,
+ 5490
+ ]
+ },
+ {
+ "teal": 5639,
+ "source": 1409,
+ "pc": [
+ 5491,
+ 5492,
+ 5493
+ ]
+ },
+ {
+ "teal": 5640,
+ "source": 1409,
+ "pc": [
+ 5494
+ ]
+ },
+ {
+ "teal": 5641,
+ "source": 1409,
+ "pc": [
+ 5495,
+ 5496,
+ 5497
+ ]
+ },
+ {
+ "teal": 5644,
+ "source": 1408,
+ "errorMessage": "specified asset must be created by creator that is one of the linked addresses in an nfd",
+ "pc": [
+ 5498
+ ]
+ },
+ {
+ "teal": 5650,
+ "source": 1413,
+ "pc": [
+ 5499,
+ 5500
+ ]
+ },
+ {
+ "teal": 5651,
+ "source": 1413,
+ "pc": [
+ 5501,
+ 5502
+ ]
+ },
+ {
+ "teal": 5652,
+ "source": 1413,
+ "pc": [
+ 5503
+ ]
+ },
+ {
+ "teal": 5653,
+ "source": 1413,
+ "pc": [
+ 5504,
+ 5505,
+ 5506
+ ]
+ },
+ {
+ "teal": 5658,
+ "source": 1415,
+ "pc": [
+ 5507,
+ 5508
+ ]
+ },
+ {
+ "teal": 5659,
+ "source": 1415,
+ "pc": [
+ 5509,
+ 5510
+ ]
+ },
+ {
+ "teal": 5663,
+ "source": 1416,
+ "pc": [
+ 5511,
+ 5512
+ ]
+ },
+ {
+ "teal": 5664,
+ "source": 1416,
+ "pc": [
+ 5513,
+ 5514,
+ 5515
+ ]
+ },
+ {
+ "teal": 5667,
+ "source": 1416,
+ "errorMessage": "provided NFD must be valid",
+ "pc": [
+ 5516
+ ]
+ },
+ {
+ "teal": 5675,
+ "source": 1420,
+ "pc": [
+ 5517,
+ 5518
+ ]
+ },
+ {
+ "teal": 5676,
+ "source": 1420,
+ "pc": [
+ 5519,
+ 5520
+ ]
+ },
+ {
+ "teal": 5677,
+ "source": 1420,
+ "pc": [
+ 5521
+ ]
+ },
+ {
+ "teal": 5680,
+ "source": 1420,
+ "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.owner.a')",
+ "pc": [
+ 5522
+ ]
+ },
+ {
+ "teal": 5681,
+ "source": 1420,
+ "pc": [
+ 5523,
+ 5524
+ ]
+ },
+ {
+ "teal": 5682,
+ "source": 1420,
+ "pc": [
+ 5525
+ ]
+ },
+ {
+ "teal": 5683,
+ "source": 1420,
+ "pc": [
+ 5526
+ ]
+ },
+ {
+ "teal": 5684,
+ "source": 1420,
+ "pc": [
+ 5527,
+ 5528,
+ 5529
+ ]
+ },
+ {
+ "teal": 5685,
+ "source": 1421,
+ "pc": [
+ 5530,
+ 5531
+ ]
+ },
+ {
+ "teal": 5686,
+ "source": 1421,
+ "pc": [
+ 5532,
+ 5533
+ ]
+ },
+ {
+ "teal": 5687,
+ "source": 1421,
+ "pc": [
+ 5534,
+ 5535,
+ 5536
+ ]
+ },
+ {
+ "teal": 5688,
+ "source": 1420,
+ "pc": [
+ 5537
+ ]
+ },
+ {
+ "teal": 5692,
+ "source": 1419,
+ "errorMessage": "provided nfd for entry isn't owned or linked to the staker",
+ "pc": [
+ 5538
+ ]
+ },
+ {
+ "teal": 5700,
+ "source": 1427,
+ "pc": [
+ 5539,
+ 5540
+ ]
+ },
+ {
+ "teal": 5701,
+ "source": 1427,
+ "pc": [
+ 5541,
+ 5542,
+ 5543,
+ 5544,
+ 5545,
+ 5546,
+ 5547,
+ 5548,
+ 5549,
+ 5550,
+ 5551,
+ 5552,
+ 5553,
+ 5554,
+ 5555
+ ]
+ },
+ {
+ "teal": 5702,
+ "source": 1427,
+ "pc": [
+ 5556
+ ]
+ },
+ {
+ "teal": 5705,
+ "source": 1427,
+ "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.parentAppID')",
+ "pc": [
+ 5557
+ ]
+ },
+ {
+ "teal": 5706,
+ "source": 1427,
+ "pc": [
+ 5558
+ ]
+ },
+ {
+ "teal": 5707,
+ "source": 1428,
+ "pc": [
+ 5559,
+ 5560
+ ]
+ },
+ {
+ "teal": 5708,
+ "source": 1428,
+ "pc": [
+ 5561,
+ 5562,
+ 5563
+ ]
+ },
+ {
+ "teal": 5709,
+ "source": 1428,
+ "pc": [
+ 5564
+ ]
+ },
+ {
+ "teal": 5710,
+ "source": 1427,
+ "pc": [
+ 5565
+ ]
+ },
+ {
+ "teal": 5713,
+ "source": 1426,
+ "errorMessage": "specified nfd must be a segment of the nfd the validator specified as a requirement",
+ "pc": [
+ 5566
+ ]
+ },
+ {
+ "teal": 5716,
+ "source": 1364,
+ "pc": [
+ 5567
+ ]
+ },
+ {
+ "teal": 5728,
+ "source": 1443,
+ "pc": [
+ 5568,
+ 5569,
+ 5570
+ ]
+ },
+ {
+ "teal": 5731,
+ "source": 1443,
+ "pc": [
+ 5571
+ ]
+ },
+ {
+ "teal": 5735,
+ "source": 1445,
+ "pc": [
+ 5572,
+ 5573
+ ]
+ },
+ {
+ "teal": 5736,
+ "source": 1445,
+ "pc": [
+ 5574,
+ 5575,
+ 5576,
+ 5577,
+ 5578,
+ 5579,
+ 5580,
+ 5581
+ ]
+ },
+ {
+ "teal": 5737,
+ "source": 1445,
+ "pc": [
+ 5582
+ ]
+ },
+ {
+ "teal": 5740,
+ "source": 1445,
+ "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.name')",
+ "pc": [
+ 5583
+ ]
+ },
+ {
+ "teal": 5741,
+ "source": 1445,
+ "pc": [
+ 5584,
+ 5585
+ ]
+ },
+ {
+ "teal": 5749,
+ "source": 1447,
+ "pc": [
+ 5586
+ ]
+ },
+ {
+ "teal": 5750,
+ "source": 1447,
+ "pc": [
+ 5587,
+ 5588
+ ]
+ },
+ {
+ "teal": 5751,
+ "source": 1447,
+ "pc": [
+ 5589,
+ 5590
+ ]
+ },
+ {
+ "teal": 5755,
+ "source": 1448,
+ "pc": [
+ 5591,
+ 5592
+ ]
+ },
+ {
+ "teal": 5756,
+ "source": 1448,
+ "pc": [
+ 5593,
+ 5594
+ ]
+ },
+ {
+ "teal": 5760,
+ "source": 1449,
+ "pc": [
+ 5595,
+ 5596
+ ]
+ },
+ {
+ "teal": 5761,
+ "source": 1449,
+ "pc": [
+ 5597,
+ 5598
+ ]
+ },
+ {
+ "teal": 5762,
+ "source": 1449,
+ "pc": [
+ 5599,
+ 5600
+ ]
+ },
+ {
+ "teal": 5763,
+ "source": 1449,
+ "pc": [
+ 5601,
+ 5602
+ ]
+ },
+ {
+ "teal": 5764,
+ "source": 1449,
+ "pc": [
+ 5603,
+ 5604
+ ]
+ },
+ {
+ "teal": 5765,
+ "source": 1449,
+ "pc": [
+ 5605
+ ]
+ },
+ {
+ "teal": 5766,
+ "source": 1449,
+ "pc": [
+ 5606,
+ 5607
+ ]
+ },
+ {
+ "teal": 5770,
+ "source": 1450,
+ "pc": [
+ 5608,
+ 5609
+ ]
+ },
+ {
+ "teal": 5771,
+ "source": 1450,
+ "pc": [
+ 5610,
+ 5611
+ ]
+ },
+ {
+ "teal": 5774,
+ "source": 1447,
+ "pc": [
+ 5612
+ ]
+ },
+ {
+ "teal": 5775,
+ "source": 1447,
+ "pc": [
+ 5613,
+ 5614
+ ]
+ },
+ {
+ "teal": 5778,
+ "source": 1447,
+ "pc": [
+ 5615
+ ]
+ },
+ {
+ "teal": 5782,
+ "source": 1452,
+ "pc": [
+ 5616,
+ 5617
+ ]
+ },
+ {
+ "teal": 5783,
+ "source": 1452,
+ "pc": [
+ 5618
+ ]
+ },
+ {
+ "teal": 5784,
+ "source": 1452,
+ "pc": [
+ 5619
+ ]
+ },
+ {
+ "teal": 5785,
+ "source": 1452,
+ "pc": [
+ 5620
+ ]
+ },
+ {
+ "teal": 5788,
+ "source": 1443,
+ "pc": [
+ 5621,
+ 5622
+ ]
+ },
+ {
+ "teal": 5789,
+ "source": 1443,
+ "pc": [
+ 5623
+ ]
+ },
+ {
+ "teal": 5800,
+ "source": 1463,
+ "pc": [
+ 5624,
+ 5625,
+ 5626
+ ]
+ },
+ {
+ "teal": 5803,
+ "source": 1463,
+ "pc": [
+ 5627
+ ]
+ },
+ {
+ "teal": 5804,
+ "source": 1463,
+ "pc": [
+ 5628,
+ 5629
+ ]
+ },
+ {
+ "teal": 5811,
+ "source": 1464,
+ "pc": [
+ 5630
+ ]
+ },
+ {
+ "teal": 5812,
+ "source": 1464,
+ "pc": [
+ 5631,
+ 5632
+ ]
+ },
+ {
+ "teal": 5813,
+ "source": 1464,
+ "pc": [
+ 5633,
+ 5634
+ ]
+ },
+ {
+ "teal": 5817,
+ "source": 1465,
+ "pc": [
+ 5635,
+ 5636
+ ]
+ },
+ {
+ "teal": 5818,
+ "source": 1465,
+ "pc": [
+ 5637,
+ 5638
+ ]
+ },
+ {
+ "teal": 5822,
+ "source": 1466,
+ "pc": [
+ 5639,
+ 5640,
+ 5641,
+ 5642,
+ 5643,
+ 5644,
+ 5645,
+ 5646,
+ 5647,
+ 5648,
+ 5649,
+ 5650,
+ 5651,
+ 5652,
+ 5653
+ ]
+ },
+ {
+ "teal": 5823,
+ "source": 1466,
+ "pc": [
+ 5654,
+ 5655
+ ]
+ },
+ {
+ "teal": 5824,
+ "source": 1466,
+ "pc": [
+ 5656,
+ 5657,
+ 5658,
+ 5659,
+ 5660,
+ 5661,
+ 5662,
+ 5663,
+ 5664,
+ 5665,
+ 5666,
+ 5667,
+ 5668,
+ 5669,
+ 5670
+ ]
+ },
+ {
+ "teal": 5825,
+ "source": 1466,
+ "pc": [
+ 5671,
+ 5672
+ ]
+ },
+ {
+ "teal": 5828,
+ "source": 1464,
+ "pc": [
+ 5673
+ ]
+ },
+ {
+ "teal": 5829,
+ "source": 1464,
+ "pc": [
+ 5674,
+ 5675
+ ]
+ },
+ {
+ "teal": 5832,
+ "source": 1464,
+ "pc": [
+ 5676
+ ]
+ },
+ {
+ "teal": 5836,
+ "source": 1468,
+ "pc": [
+ 5677,
+ 5678
+ ]
+ },
+ {
+ "teal": 5837,
+ "source": 1468,
+ "pc": [
+ 5679,
+ 5680
+ ]
+ },
+ {
+ "teal": 5841,
+ "source": 1469,
+ "pc": [
+ 5681
+ ]
+ },
+ {
+ "teal": 5842,
+ "source": 1469,
+ "pc": [
+ 5682,
+ 5683
+ ]
+ },
+ {
+ "teal": 5847,
+ "source": 1469,
+ "pc": [
+ 5684,
+ 5685
+ ]
+ },
+ {
+ "teal": 5848,
+ "source": 1469,
+ "pc": [
+ 5686,
+ 5687
+ ]
+ },
+ {
+ "teal": 5849,
+ "source": 1469,
+ "pc": [
+ 5688
+ ]
+ },
+ {
+ "teal": 5850,
+ "source": 1469,
+ "pc": [
+ 5689
+ ]
+ },
+ {
+ "teal": 5851,
+ "source": 1469,
+ "pc": [
+ 5690,
+ 5691,
+ 5692
+ ]
+ },
+ {
+ "teal": 5855,
+ "source": 1470,
+ "pc": [
+ 5693,
+ 5694
+ ]
+ },
+ {
+ "teal": 5856,
+ "source": 1470,
+ "pc": [
+ 5695,
+ 5696
+ ]
+ },
+ {
+ "teal": 5857,
+ "source": 1470,
+ "pc": [
+ 5697,
+ 5698
+ ]
+ },
+ {
+ "teal": 5858,
+ "source": 1470,
+ "pc": [
+ 5699
+ ]
+ },
+ {
+ "teal": 5859,
+ "source": 1470,
+ "pc": [
+ 5700,
+ 5701
+ ]
+ },
+ {
+ "teal": 5864,
+ "source": 1471,
+ "pc": [
+ 5702,
+ 5703
+ ]
+ },
+ {
+ "teal": 5865,
+ "source": 1471,
+ "pc": [
+ 5704,
+ 5705
+ ]
+ },
+ {
+ "teal": 5866,
+ "source": 1471,
+ "pc": [
+ 5706
+ ]
+ },
+ {
+ "teal": 5867,
+ "source": 1471,
+ "pc": [
+ 5707
+ ]
+ },
+ {
+ "teal": 5868,
+ "source": 1471,
+ "pc": [
+ 5708,
+ 5709,
+ 5710
+ ]
+ },
+ {
+ "teal": 5869,
+ "source": 1471,
+ "pc": [
+ 5711,
+ 5712
+ ]
+ },
+ {
+ "teal": 5870,
+ "source": 1471,
+ "pc": [
+ 5713,
+ 5714
+ ]
+ },
+ {
+ "teal": 5871,
+ "source": 1471,
+ "pc": [
+ 5715
+ ]
+ },
+ {
+ "teal": 5872,
+ "source": 1471,
+ "pc": [
+ 5716
+ ]
+ },
+ {
+ "teal": 5875,
+ "source": 1471,
+ "pc": [
+ 5717,
+ 5718,
+ 5719
+ ]
+ },
+ {
+ "teal": 5880,
+ "source": 1472,
+ "pc": [
+ 5720
+ ]
+ },
+ {
+ "teal": 5881,
+ "source": 1472,
+ "pc": [
+ 5721,
+ 5722,
+ 5723
+ ]
+ },
+ {
+ "teal": 5888,
+ "source": 1469,
+ "pc": [
+ 5724,
+ 5725
+ ]
+ },
+ {
+ "teal": 5889,
+ "source": 1469,
+ "pc": [
+ 5726,
+ 5727
+ ]
+ },
+ {
+ "teal": 5890,
+ "source": 1469,
+ "pc": [
+ 5728
+ ]
+ },
+ {
+ "teal": 5891,
+ "source": 1469,
+ "pc": [
+ 5729,
+ 5730
+ ]
+ },
+ {
+ "teal": 5892,
+ "source": 1469,
+ "pc": [
+ 5731,
+ 5732,
+ 5733
+ ]
+ },
+ {
+ "teal": 5897,
+ "source": 1475,
+ "pc": [
+ 5734
+ ]
+ },
+ {
+ "teal": 5901,
+ "source": 1463,
+ "pc": [
+ 5735,
+ 5736
+ ]
+ },
+ {
+ "teal": 5904,
+ "source": 1463,
+ "pc": [
+ 5737,
+ 5738
+ ]
+ },
+ {
+ "teal": 5905,
+ "source": 1463,
+ "pc": [
+ 5739
+ ]
+ },
+ {
+ "teal": 5913,
+ "source": 1483,
+ "pc": [
+ 5740,
+ 5741,
+ 5742
+ ]
+ },
+ {
+ "teal": 5916,
+ "source": 1483,
+ "pc": [
+ 5743
+ ]
+ },
+ {
+ "teal": 5920,
+ "source": 1484,
+ "pc": [
+ 5744,
+ 5745,
+ 5746
+ ]
+ },
+ {
+ "teal": 5921,
+ "source": 1484,
+ "pc": [
+ 5747,
+ 5748
+ ]
+ },
+ {
+ "teal": 5925,
+ "source": 1486,
+ "pc": [
+ 5749,
+ 5750
+ ]
+ },
+ {
+ "teal": 5926,
+ "source": 1486,
+ "pc": [
+ 5751,
+ 5752
+ ]
+ },
+ {
+ "teal": 5927,
+ "source": 1486,
+ "pc": [
+ 5753
+ ]
+ },
+ {
+ "teal": 5928,
+ "source": 1486,
+ "pc": [
+ 5754
+ ]
+ },
+ {
+ "teal": 5929,
+ "source": 1486,
+ "pc": [
+ 5755,
+ 5756
+ ]
+ },
+ {
+ "teal": 5930,
+ "source": 1486,
+ "pc": [
+ 5757
+ ]
+ },
+ {
+ "teal": 5931,
+ "source": 1486,
+ "pc": [
+ 5758
+ ]
+ },
+ {
+ "teal": 5932,
+ "source": 1486,
+ "pc": [
+ 5759
+ ]
+ },
+ {
+ "teal": 5933,
+ "source": 1486,
+ "pc": [
+ 5760
+ ]
+ },
+ {
+ "teal": 5934,
+ "source": 1486,
+ "pc": [
+ 5761
+ ]
+ },
+ {
+ "teal": 5937,
+ "source": 1486,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 5762
+ ]
+ },
+ {
+ "teal": 5940,
+ "source": 1483,
+ "pc": [
+ 5763,
+ 5764
+ ]
+ },
+ {
+ "teal": 5941,
+ "source": 1483,
+ "pc": [
+ 5765
+ ]
+ },
+ {
+ "teal": 5948,
+ "source": 1493,
+ "pc": [
+ 5766,
+ 5767,
+ 5768
+ ]
+ },
+ {
+ "teal": 5951,
+ "source": 1493,
+ "pc": [
+ 5769
+ ]
+ },
+ {
+ "teal": 5955,
+ "source": 1494,
+ "pc": [
+ 5770,
+ 5771,
+ 5772
+ ]
+ },
+ {
+ "teal": 5956,
+ "source": 1494,
+ "pc": [
+ 5773,
+ 5774
+ ]
+ },
+ {
+ "teal": 5960,
+ "source": 1496,
+ "pc": [
+ 5775,
+ 5776
+ ]
+ },
+ {
+ "teal": 5961,
+ "source": 1496,
+ "pc": [
+ 5777,
+ 5778,
+ 5779
+ ]
+ },
+ {
+ "teal": 5962,
+ "source": 1496,
+ "pc": [
+ 5780
+ ]
+ },
+ {
+ "teal": 5963,
+ "source": 1496,
+ "pc": [
+ 5781
+ ]
+ },
+ {
+ "teal": 5964,
+ "source": 1496,
+ "pc": [
+ 5782,
+ 5783
+ ]
+ },
+ {
+ "teal": 5965,
+ "source": 1496,
+ "pc": [
+ 5784
+ ]
+ },
+ {
+ "teal": 5966,
+ "source": 1496,
+ "pc": [
+ 5785
+ ]
+ },
+ {
+ "teal": 5967,
+ "source": 1496,
+ "pc": [
+ 5786
+ ]
+ },
+ {
+ "teal": 5968,
+ "source": 1496,
+ "pc": [
+ 5787
+ ]
+ },
+ {
+ "teal": 5969,
+ "source": 1496,
+ "pc": [
+ 5788
+ ]
+ },
+ {
+ "teal": 5972,
+ "source": 1496,
+ "errorMessage": "wideRatio failed",
+ "pc": [
+ 5789
+ ]
+ },
+ {
+ "teal": 5975,
+ "source": 1493,
+ "pc": [
+ 5790,
+ 5791
+ ]
+ },
+ {
+ "teal": 5976,
+ "source": 1493,
+ "pc": [
+ 5792
+ ]
+ },
+ {
+ "teal": 5982,
+ "source": 1502,
+ "pc": [
+ 5793,
+ 5794,
+ 5795
+ ]
+ },
+ {
+ "teal": 5986,
+ "source": 1504,
+ "pc": [
+ 5796,
+ 5797,
+ 5798,
+ 5799,
+ 5800,
+ 5801,
+ 5802,
+ 5803
+ ]
+ },
+ {
+ "teal": 5987,
+ "source": 1502,
+ "pc": [
+ 5804
+ ]
+ },
+ {
+ "teal": 5991,
+ "source": 1507,
+ "pc": [
+ 5805,
+ 5806,
+ 5807
+ ]
+ },
+ {
+ "teal": 5995,
+ "source": 1509,
+ "pc": [
+ 5808,
+ 5809,
+ 5810,
+ 5811,
+ 5812,
+ 5813,
+ 5814,
+ 5815,
+ 5816
+ ]
+ },
+ {
+ "teal": 5996,
+ "source": 1507,
+ "pc": [
+ 5817
+ ]
+ },
+ {
+ "teal": 6000,
+ "source": 1512,
+ "pc": [
+ 5818,
+ 5819,
+ 5820
+ ]
+ },
+ {
+ "teal": 6003,
+ "source": 1512,
+ "pc": [
+ 5821
+ ]
+ },
+ {
+ "teal": 6007,
+ "source": 1521,
+ "pc": [
+ 5822,
+ 5823
+ ]
+ },
+ {
+ "teal": 6008,
+ "source": 1521,
+ "pc": [
+ 5824,
+ 5825
+ ]
+ },
+ {
+ "teal": 6012,
+ "source": 1522,
+ "pc": [
+ 5826,
+ 5827
+ ]
+ },
+ {
+ "teal": 6013,
+ "source": 1522,
+ "pc": [
+ 5828,
+ 5829
+ ]
+ },
+ {
+ "teal": 6014,
+ "source": 1522,
+ "pc": [
+ 5830,
+ 5831
+ ]
+ },
+ {
+ "teal": 6015,
+ "source": 1522,
+ "pc": [
+ 5832
+ ]
+ },
+ {
+ "teal": 6016,
+ "source": 1522,
+ "pc": [
+ 5833
+ ]
+ },
+ {
+ "teal": 6017,
+ "source": 1522,
+ "pc": [
+ 5834,
+ 5835
+ ]
+ },
+ {
+ "teal": 6021,
+ "source": 1523,
+ "pc": [
+ 5836,
+ 5837
+ ]
+ },
+ {
+ "teal": 6022,
+ "source": 1523,
+ "pc": [
+ 5838,
+ 5839
+ ]
+ },
+ {
+ "teal": 6023,
+ "source": 1523,
+ "pc": [
+ 5840,
+ 5841
+ ]
+ },
+ {
+ "teal": 6024,
+ "source": 1523,
+ "pc": [
+ 5842
+ ]
+ },
+ {
+ "teal": 6025,
+ "source": 1523,
+ "pc": [
+ 5843
+ ]
+ },
+ {
+ "teal": 6026,
+ "source": 1523,
+ "pc": [
+ 5844,
+ 5845
+ ]
+ },
+ {
+ "teal": 6030,
+ "source": 1524,
+ "pc": [
+ 5846,
+ 5847
+ ]
+ },
+ {
+ "teal": 6031,
+ "source": 1524,
+ "pc": [
+ 5848,
+ 5849
+ ]
+ },
+ {
+ "teal": 6032,
+ "source": 1524,
+ "pc": [
+ 5850,
+ 5851
+ ]
+ },
+ {
+ "teal": 6033,
+ "source": 1524,
+ "pc": [
+ 5852
+ ]
+ },
+ {
+ "teal": 6034,
+ "source": 1524,
+ "pc": [
+ 5853
+ ]
+ },
+ {
+ "teal": 6035,
+ "source": 1524,
+ "pc": [
+ 5854,
+ 5855
+ ]
+ },
+ {
+ "teal": 6039,
+ "source": 1525,
+ "pc": [
+ 5856,
+ 5857
+ ]
+ },
+ {
+ "teal": 6040,
+ "source": 1525,
+ "pc": [
+ 5858,
+ 5859
+ ]
+ },
+ {
+ "teal": 6041,
+ "source": 1525,
+ "pc": [
+ 5860,
+ 5861
+ ]
+ },
+ {
+ "teal": 6042,
+ "source": 1525,
+ "pc": [
+ 5862
+ ]
+ },
+ {
+ "teal": 6043,
+ "source": 1525,
+ "pc": [
+ 5863
+ ]
+ },
+ {
+ "teal": 6044,
+ "source": 1525,
+ "pc": [
+ 5864,
+ 5865
+ ]
+ },
+ {
+ "teal": 6048,
+ "source": 1526,
+ "pc": [
+ 5866,
+ 5867
+ ]
+ },
+ {
+ "teal": 6049,
+ "source": 1526,
+ "pc": [
+ 5868,
+ 5869
+ ]
+ },
+ {
+ "teal": 6050,
+ "source": 1526,
+ "pc": [
+ 5870,
+ 5871
+ ]
+ },
+ {
+ "teal": 6051,
+ "source": 1526,
+ "pc": [
+ 5872
+ ]
+ },
+ {
+ "teal": 6052,
+ "source": 1526,
+ "pc": [
+ 5873
+ ]
+ },
+ {
+ "teal": 6053,
+ "source": 1526,
+ "pc": [
+ 5874,
+ 5875
+ ]
+ },
+ {
+ "teal": 6057,
+ "source": 1527,
+ "pc": [
+ 5876,
+ 5877
+ ]
+ },
+ {
+ "teal": 6058,
+ "source": 1527,
+ "pc": [
+ 5878,
+ 5879
+ ]
+ },
+ {
+ "teal": 6059,
+ "source": 1527,
+ "pc": [
+ 5880,
+ 5881
+ ]
+ },
+ {
+ "teal": 6060,
+ "source": 1527,
+ "pc": [
+ 5882
+ ]
+ },
+ {
+ "teal": 6061,
+ "source": 1527,
+ "pc": [
+ 5883
+ ]
+ },
+ {
+ "teal": 6062,
+ "source": 1527,
+ "pc": [
+ 5884,
+ 5885
+ ]
+ },
+ {
+ "teal": 6066,
+ "source": 1528,
+ "pc": [
+ 5886,
+ 5887
+ ]
+ },
+ {
+ "teal": 6067,
+ "source": 1528,
+ "pc": [
+ 5888,
+ 5889
+ ]
+ },
+ {
+ "teal": 6068,
+ "source": 1528,
+ "pc": [
+ 5890,
+ 5891
+ ]
+ },
+ {
+ "teal": 6069,
+ "source": 1528,
+ "pc": [
+ 5892
+ ]
+ },
+ {
+ "teal": 6070,
+ "source": 1528,
+ "pc": [
+ 5893
+ ]
+ },
+ {
+ "teal": 6071,
+ "source": 1528,
+ "pc": [
+ 5894,
+ 5895
+ ]
+ },
+ {
+ "teal": 6075,
+ "source": 1529,
+ "pc": [
+ 5896,
+ 5897
+ ]
+ },
+ {
+ "teal": 6078,
+ "source": 1512,
+ "pc": [
+ 5898,
+ 5899
+ ]
+ },
+ {
+ "teal": 6079,
+ "source": 1512,
+ "pc": [
+ 5900
+ ]
+ },
+ {
+ "teal": 6083,
+ "source": 1532,
+ "pc": [
+ 5901,
+ 5902,
+ 5903
+ ]
+ },
+ {
+ "teal": 6087,
+ "source": 1536,
+ "pc": [
+ 5904,
+ 5905,
+ 5906
+ ]
+ },
+ {
+ "teal": 6088,
+ "source": 1536,
+ "pc": [
+ 5907,
+ 5908
+ ]
+ },
+ {
+ "teal": 6089,
+ "source": 1536,
+ "pc": [
+ 5909,
+ 5910,
+ 5911
+ ]
+ },
+ {
+ "teal": 6090,
+ "source": 1536,
+ "pc": [
+ 5912
+ ]
+ },
+ {
+ "teal": 6091,
+ "source": 1536,
+ "pc": [
+ 5913
+ ]
+ },
+ {
+ "teal": 6092,
+ "source": 1532,
+ "pc": [
+ 5914
+ ]
+ },
+ {
+ "teal": 6095,
+ "source": 168,
+ "pc": [
+ 5915,
+ 5916,
+ 5917,
+ 5918,
+ 5919,
+ 5920
+ ]
+ },
+ {
+ "teal": 6096,
+ "source": 168,
+ "pc": [
+ 5921,
+ 5922,
+ 5923
+ ]
+ },
+ {
+ "teal": 6097,
+ "source": 168,
+ "pc": [
+ 5924,
+ 5925,
+ 5926,
+ 5927
+ ]
+ },
+ {
+ "teal": 6100,
+ "source": 168,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 5928
+ ]
+ },
+ {
+ "teal": 6103,
+ "source": 168,
+ "pc": [
+ 5929,
+ 5930,
+ 5931,
+ 5932,
+ 5933,
+ 5934
+ ]
+ },
+ {
+ "teal": 6104,
+ "source": 168,
+ "pc": [
+ 5935,
+ 5936,
+ 5937,
+ 5938,
+ 5939,
+ 5940
+ ]
+ },
+ {
+ "teal": 6105,
+ "source": 168,
+ "pc": [
+ 5941,
+ 5942,
+ 5943,
+ 5944,
+ 5945,
+ 5946
+ ]
+ },
+ {
+ "teal": 6106,
+ "source": 168,
+ "pc": [
+ 5947,
+ 5948,
+ 5949,
+ 5950,
+ 5951,
+ 5952
+ ]
+ },
+ {
+ "teal": 6107,
+ "source": 168,
+ "pc": [
+ 5953,
+ 5954,
+ 5955,
+ 5956,
+ 5957,
+ 5958
+ ]
+ },
+ {
+ "teal": 6108,
+ "source": 168,
+ "pc": [
+ 5959,
+ 5960,
+ 5961,
+ 5962,
+ 5963,
+ 5964
+ ]
+ },
+ {
+ "teal": 6109,
+ "source": 168,
+ "pc": [
+ 5965,
+ 5966,
+ 5967,
+ 5968,
+ 5969,
+ 5970
+ ]
+ },
+ {
+ "teal": 6110,
+ "source": 168,
+ "pc": [
+ 5971,
+ 5972,
+ 5973,
+ 5974,
+ 5975,
+ 5976
+ ]
+ },
+ {
+ "teal": 6111,
+ "source": 168,
+ "pc": [
+ 5977,
+ 5978,
+ 5979,
+ 5980,
+ 5981,
+ 5982
+ ]
+ },
+ {
+ "teal": 6112,
+ "source": 168,
+ "pc": [
+ 5983,
+ 5984,
+ 5985,
+ 5986,
+ 5987,
+ 5988
+ ]
+ },
+ {
+ "teal": 6113,
+ "source": 168,
+ "pc": [
+ 5989,
+ 5990,
+ 5991,
+ 5992,
+ 5993,
+ 5994
+ ]
+ },
+ {
+ "teal": 6114,
+ "source": 168,
+ "pc": [
+ 5995,
+ 5996,
+ 5997,
+ 5998,
+ 5999,
+ 6000
+ ]
+ },
+ {
+ "teal": 6115,
+ "source": 168,
+ "pc": [
+ 6001,
+ 6002,
+ 6003,
+ 6004,
+ 6005,
+ 6006
+ ]
+ },
+ {
+ "teal": 6116,
+ "source": 168,
+ "pc": [
+ 6007,
+ 6008,
+ 6009,
+ 6010,
+ 6011,
+ 6012
+ ]
+ },
+ {
+ "teal": 6117,
+ "source": 168,
+ "pc": [
+ 6013,
+ 6014,
+ 6015,
+ 6016,
+ 6017,
+ 6018
+ ]
+ },
+ {
+ "teal": 6118,
+ "source": 168,
+ "pc": [
+ 6019,
+ 6020,
+ 6021,
+ 6022,
+ 6023,
+ 6024
+ ]
+ },
+ {
+ "teal": 6119,
+ "source": 168,
+ "pc": [
+ 6025,
+ 6026,
+ 6027,
+ 6028,
+ 6029,
+ 6030
+ ]
+ },
+ {
+ "teal": 6120,
+ "source": 168,
+ "pc": [
+ 6031,
+ 6032,
+ 6033,
+ 6034,
+ 6035,
+ 6036
+ ]
+ },
+ {
+ "teal": 6121,
+ "source": 168,
+ "pc": [
+ 6037,
+ 6038,
+ 6039,
+ 6040,
+ 6041,
+ 6042
+ ]
+ },
+ {
+ "teal": 6122,
+ "source": 168,
+ "pc": [
+ 6043,
+ 6044,
+ 6045,
+ 6046,
+ 6047,
+ 6048
+ ]
+ },
+ {
+ "teal": 6123,
+ "source": 168,
+ "pc": [
+ 6049,
+ 6050,
+ 6051,
+ 6052,
+ 6053,
+ 6054
+ ]
+ },
+ {
+ "teal": 6124,
+ "source": 168,
+ "pc": [
+ 6055,
+ 6056,
+ 6057,
+ 6058,
+ 6059,
+ 6060
+ ]
+ },
+ {
+ "teal": 6125,
+ "source": 168,
+ "pc": [
+ 6061,
+ 6062,
+ 6063,
+ 6064,
+ 6065,
+ 6066
+ ]
+ },
+ {
+ "teal": 6126,
+ "source": 168,
+ "pc": [
+ 6067,
+ 6068,
+ 6069,
+ 6070,
+ 6071,
+ 6072
+ ]
+ },
+ {
+ "teal": 6127,
+ "source": 168,
+ "pc": [
+ 6073,
+ 6074,
+ 6075,
+ 6076,
+ 6077,
+ 6078
+ ]
+ },
+ {
+ "teal": 6128,
+ "source": 168,
+ "pc": [
+ 6079,
+ 6080,
+ 6081,
+ 6082,
+ 6083,
+ 6084
+ ]
+ },
+ {
+ "teal": 6129,
+ "source": 168,
+ "pc": [
+ 6085,
+ 6086,
+ 6087,
+ 6088,
+ 6089,
+ 6090
+ ]
+ },
+ {
+ "teal": 6130,
+ "source": 168,
+ "pc": [
+ 6091,
+ 6092,
+ 6093,
+ 6094,
+ 6095,
+ 6096
+ ]
+ },
+ {
+ "teal": 6131,
+ "source": 168,
+ "pc": [
+ 6097,
+ 6098,
+ 6099,
+ 6100,
+ 6101,
+ 6102
+ ]
+ },
+ {
+ "teal": 6132,
+ "source": 168,
+ "pc": [
+ 6103,
+ 6104,
+ 6105,
+ 6106,
+ 6107,
+ 6108
+ ]
+ },
+ {
+ "teal": 6133,
+ "source": 168,
+ "pc": [
+ 6109,
+ 6110,
+ 6111,
+ 6112,
+ 6113,
+ 6114
+ ]
+ },
+ {
+ "teal": 6134,
+ "source": 168,
+ "pc": [
+ 6115,
+ 6116,
+ 6117,
+ 6118,
+ 6119,
+ 6120
+ ]
+ },
+ {
+ "teal": 6135,
+ "source": 168,
+ "pc": [
+ 6121,
+ 6122,
+ 6123,
+ 6124,
+ 6125,
+ 6126
+ ]
+ },
+ {
+ "teal": 6136,
+ "source": 168,
+ "pc": [
+ 6127,
+ 6128,
+ 6129
+ ]
+ },
+ {
+ "teal": 6137,
+ "source": 168,
+ "pc": [
+ 6130,
+ 6131,
+ 6132,
+ 6133,
+ 6134,
+ 6135,
+ 6136,
+ 6137,
+ 6138,
+ 6139,
+ 6140,
+ 6141,
+ 6142,
+ 6143,
+ 6144,
+ 6145,
+ 6146,
+ 6147,
+ 6148,
+ 6149,
+ 6150,
+ 6151,
+ 6152,
+ 6153,
+ 6154,
+ 6155,
+ 6156,
+ 6157,
+ 6158,
+ 6159,
+ 6160,
+ 6161,
+ 6162,
+ 6163,
+ 6164,
+ 6165,
+ 6166,
+ 6167,
+ 6168,
+ 6169,
+ 6170,
+ 6171,
+ 6172,
+ 6173,
+ 6174,
+ 6175,
+ 6176,
+ 6177,
+ 6178,
+ 6179,
+ 6180,
+ 6181,
+ 6182,
+ 6183,
+ 6184,
+ 6185,
+ 6186,
+ 6187,
+ 6188,
+ 6189,
+ 6190,
+ 6191,
+ 6192,
+ 6193,
+ 6194,
+ 6195,
+ 6196,
+ 6197
+ ]
+ },
+ {
+ "teal": 6140,
+ "source": 168,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 6198
+ ]
+ },
+ {
+ "teal": 6143,
+ "source": 168,
+ "pc": [
+ 6199,
+ 6200,
+ 6201,
+ 6202,
+ 6203,
+ 6204
+ ]
+ },
+ {
+ "teal": 6144,
+ "source": 168,
+ "pc": [
+ 6205,
+ 6206,
+ 6207
+ ]
+ },
+ {
+ "teal": 6145,
+ "source": 168,
+ "pc": [
+ 6208,
+ 6209,
+ 6210,
+ 6211
+ ]
+ },
+ {
+ "teal": 6148,
+ "source": 168,
+ "errorMessage": "this contract does not implement the given ABI method for call UpdateApplication",
+ "pc": [
+ 6212
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9uZmRSZWdpc3RyeUFwcElkCmJ0b2kKc3RvcmUgMjAwCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjAyCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBZGRyZXNzLmZyb21BZGRyZXNzKCdMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRJykpCgl0eG4gU2VuZGVyCglhZGRyIExaNFYySVJWTENYRkpLNFJFSlY0VEFHRUtFWVRBMkdNUjZUQzIzNDRPQjNMM0FGM01XWFo2WkFGSVEKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjA0CgkvLyB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmRlbGV0ZSgpCglieXRlIDB4NzA2ZjZmNmM1NDY1NmQ3MDZjNjE3NDY1NDE3MDcwNzI2Zjc2NjE2YzQyNzk3NDY1NzMgLy8gInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglib3hfZGVsCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwNQoJLy8gdGhpcy5zdGFraW5nUG9vbEluaXRpYWxpemVkLnZhbHVlID0gZmFsc2UKCWJ5dGUgMHg2OTZlNjk3NCAvLyAiaW5pdCIKCWludCAwCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjA5CgkvLyB0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUgPSBmYWxzZQoJYnl0ZSAweDY5NmU2OTc0IC8vICJpbml0IgoJaW50IDAKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTAKCS8vIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSA9IDAKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTEKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTIKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlID0gMAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0OgoJLy8gYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbml0U3Rha2luZ0NvbnRyYWN0KHVpbnQ2NCl2b2lkCgljYWxsc3ViIGluaXRTdGFraW5nQ29udHJhY3QKCWludCAxCglyZXR1cm4KCi8vIGluaXRTdGFraW5nQ29udHJhY3QoYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0KTogdm9pZAppbml0U3Rha2luZ0NvbnRyYWN0OgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIxNwoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5jcmVhdGUoYXBwcm92YWxQcm9ncmFtU2l6ZSkKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWZyYW1lX2RpZyAtMSAvLyBhcHByb3ZhbFByb2dyYW1TaXplOiB1aW50NjQKCWJveF9jcmVhdGUKCXBvcAoJcmV0c3ViCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YSh1aW50NjQsYnl0ZVtdKXZvaWQKKmFiaV9yb3V0ZV9sb2FkU3Rha2luZ0NvbnRyYWN0RGF0YToKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBvZmZzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbG9hZFN0YWtpbmdDb250cmFjdERhdGEodWludDY0LGJ5dGVbXSl2b2lkCgljYWxsc3ViIGxvYWRTdGFraW5nQ29udHJhY3REYXRhCglpbnQgMQoJcmV0dXJuCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YShvZmZzZXQ6IHVpbnQ2NCwgZGF0YTogYnl0ZXMpOiB2b2lkCmxvYWRTdGFraW5nQ29udHJhY3REYXRhOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMQoJLy8gYXNzZXJ0KCF0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUpCglieXRlIDB4Njk2ZTY5NzQgLy8gImluaXQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDAKCWdldGJpdAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMgoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5yZXBsYWNlKG9mZnNldCwgZGF0YSkKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGRhdGE6IGJ5dGVzCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpdm9pZAoqYWJpX3JvdXRlX2ZpbmFsaXplU3Rha2luZ0NvbnRyYWN0OgoJLy8gZXhlY3V0ZSBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpdm9pZAoJY2FsbHN1YiBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdAoJaW50IDEKCXJldHVybgoKLy8gZmluYWxpemVTdGFraW5nQ29udHJhY3QoKTogdm9pZApmaW5hbGl6ZVN0YWtpbmdDb250cmFjdDoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMjYKCS8vIHRoaXMuc3Rha2luZ1Bvb2xJbml0aWFsaXplZC52YWx1ZSA9IHRydWUKCWJ5dGUgMHg2OTZlNjk3NCAvLyAiaW5pdCIKCWludCAxCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZ2FzKCl2b2lkCiphYmlfcm91dGVfZ2FzOgoJLy8gZXhlY3V0ZSBnYXMoKXZvaWQKCWNhbGxzdWIgZ2FzCglpbnQgMQoJcmV0dXJuCgovLyBnYXMoKTogdm9pZAovLwovLyBnYXMgaXMgYSBkdW1teSBuby1vcCBjYWxsIHRoYXQgY2FuIGJlIHVzZWQgdG8gcG9vbC11cCByZXNvdXJjZSByZWZlcmVuY2VzIGFuZCBvcGNvZGUgY29zdApnYXM6Cglwcm90byAwIDAKCXJldHN1YgoKLy8gZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRNYnJBbW91bnRzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE1ickFtb3VudHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldE1ickFtb3VudHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRNYnJBbW91bnRzKCk6IE1ickFtb3VudHMKLy8KLy8gUmV0dXJucyB0aGUgTUJSIGFtb3VudHMgbmVlZGVkIGZvciB2YXJpb3VzIGFjdGlvbnM6Ci8vIFsKLy8gYWRkVmFsaWRhdG9yTWJyOiB1aW50NjQgLSBtYnIgbmVlZGVkIHRvIGFkZCBhIG5ldyB2YWxpZGF0b3IgLSBwYWlkIHRvIHZhbGlkYXRvciBjb250cmFjdAovLyBhZGRQb29sTWJyOiB1aW50NjQgLSBtYnIgbmVlZGVkIHRvIGFkZCBhIG5ldyBwb29sIC0gcGFpZCB0byB2YWxpZGF0b3IKLy8gcG9vbEluaXRNYnI6IHVpbnQ2NCAtIG1iciBuZWVkZWQgdG8gaW5pdFN0b3JhZ2UoKSBvZiBwb29sIC0gcGFpZCB0byBwb29sIGl0c2VsZgovLyBhZGRTdGFrZXJNYnI6IHVpbnQ2NCAtIG1iciBzdGFrZXIgbmVlZHMgdG8gYWRkIHRvIGZpcnN0IHN0YWtpbmcgcGF5bWVudCAoc3RheXMgdy8gdmFsaWRhdG9yKQovLyBdCmdldE1ickFtb3VudHM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjQ2CgkvLyByZXR1cm4gewoJLy8gICAgICAgYWRkVmFsaWRhdG9yTWJyOiB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDEgLyogdiBwcmVmaXggKi8gKyBsZW48VmFsaWRhdG9ySWRUeXBlPigpICsgbGVuPFZhbGlkYXRvckluZm8+KCkpLAoJLy8gICAgICAgYWRkUG9vbE1icjogdGhpcy5taW5CYWxhbmNlRm9yQWNjb3VudCgKCS8vICAgICAgICAgMSwKCS8vICAgICAgICAgLy8gd2UgY291bGQgY2FsY3VsYXRlIHRoaXMgZGlyZWN0bHkgYnkgcmVmZXJlbmNpbmcgdGhlIHNpemUgb2Ygc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0gYnV0IGl0IHdvdWxkCgkvLyAgICAgICAgIC8vIG1lYW4gb3VyIGNhbGxlcnMgd291bGQgaGF2ZSB0byByZWZlcmVuY2UgdGhlIGJveCBBTkQgYnV5IHVwIGkvbyAtIHNvIGp1c3QgZ28gbWF4IG9uIGV4dHJhIHBhZ2VzCgkvLyAgICAgICAgIDMsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtVWludCwKCS8vICAgICAgICAgU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UKCS8vICAgICAgICksCgkvLyAgICAgICBwb29sSW5pdE1icjoKCS8vICAgICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICAgIHRoaXMuY29zdEZvckJveFN0b3JhZ2UoNyAvKiAnc3Rha2VycycgbmFtZSAqLyArIGxlbjxTdGFrZWRJbmZvPigpICogTUFYX1NUQUtFUlNfUEVSX1BPT0wpLAoJLy8gICAgICAgYWRkU3Rha2VyTWJyOgoJLy8gICAgICAgICAvLyBob3cgbXVjaCB0byBjaGFyZ2UgZm9yIGZpcnN0IHRpbWUgYSBzdGFrZXIgYWRkcyBzdGFrZSAtIHNpbmNlIHdlIGFkZCBhIHRyYWNraW5nIGJveCBwZXIgc3Rha2VyCgkvLyAgICAgICAgIHRoaXMuY29zdEZvckJveFN0b3JhZ2UoMyAvKiAnc3BzJyBwcmVmaXggKi8gKyBsZW48QWRkcmVzcz4oKSArIGxlbjxWYWxpZGF0b3JQb29sS2V5PigpICogTUFYX1BPT0xTX1BFUl9TVEFLRVIpLCAvLyBzaXplIG9mIGtleSArIGFsbCB2YWx1ZXMKCS8vICAgICB9OwoJaW50IDExMDEKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCWl0b2IKCWludCAzCglpbnQgMTEKCWludCAwCglkdXBuIDIKCWludCAzCglpbnQgMQoJY2FsbHN1YiBtaW5CYWxhbmNlRm9yQWNjb3VudAoJaXRvYgoJY29uY2F0CglpbnQgMTAwMDAwCglpbnQgMTI4MDcKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCSsKCWl0b2IKCWNvbmNhdAoJaW50IDE3OQoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJaXRvYgoJY29uY2F0CglyZXRzdWIKCi8vIGdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFByb3RvY29sQ29uc3RyYWludHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0UHJvdG9jb2xDb25zdHJhaW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFByb3RvY29sQ29uc3RyYWludHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRQcm90b2NvbENvbnN0cmFpbnRzKCk6IENvbnN0cmFpbnRzCi8vCi8vIFJldHVybnMgdGhlIHByb3RvY29sIGNvbnN0cmFpbnRzIHNvIHRoYXQgVUlzIGNhbiBsaW1pdCB3aGF0IHVzZXJzIHNwZWNpZnkgZm9yIHZhbGlkYXRvciBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMuCmdldFByb3RvY29sQ29uc3RyYWludHM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjcyCgkvLyByZXR1cm4gewoJLy8gICAgICAgZXBvY2hQYXlvdXRSb3VuZHNNaW46IE1JTl9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICBlcG9jaFBheW91dFJvdW5kc01heDogTUFYX0VQT0NIX0xFTkdUSCwKCS8vICAgICAgIG1pblBjdFRvVmFsaWRhdG9yV0ZvdXJEZWNpbWFsczogTUlOX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICBtYXhQY3RUb1ZhbGlkYXRvcldGb3VyRGVjaW1hbHM6IE1BWF9QQ1RfVE9fVkFMSURBVE9SLAoJLy8gICAgICAgbWluRW50cnlTdGFrZTogTUlOX0FMR09fU1RBS0VfUEVSX1BPT0wsCgkvLyAgICAgICBtYXhBbGdvUGVyUG9vbDogdGhpcy5tYXhBbGdvQWxsb3dlZFBlclBvb2woKSwKCS8vICAgICAgIG1heEFsZ29QZXJWYWxpZGF0b3I6IHRoaXMubWF4QWxsb3dlZFN0YWtlKCksCgkvLyAgICAgICBhbXRDb25zaWRlcmVkU2F0dXJhdGVkOiB0aGlzLmFsZ29TYXR1cmF0aW9uTGV2ZWwoKSwKCS8vICAgICAgIG1heE5vZGVzOiBNQVhfTk9ERVMsCgkvLyAgICAgICBtYXhQb29sc1Blck5vZGU6IE1BWF9QT09MU19QRVJfTk9ERSwKCS8vICAgICAgIG1heFN0YWtlcnNQZXJQb29sOiBNQVhfU1RBS0VSU19QRVJfUE9PTCwKCS8vICAgICB9OwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMGY0MjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZjQyNDAwMDAwMDAwMDAwMGY0MjQwCgljYWxsc3ViIG1heEFsZ29BbGxvd2VkUGVyUG9vbAoJaXRvYgoJY29uY2F0CgljYWxsc3ViIG1heEFsbG93ZWRTdGFrZQoJaXRvYgoJY29uY2F0CgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDgKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDMKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwYzgKCWNvbmNhdAoJcmV0c3ViCgovLyBnZXROdW1WYWxpZGF0b3JzKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXROdW1WYWxpZGF0b3JzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE51bVZhbGlkYXRvcnMoKXVpbnQ2NAoJY2FsbHN1YiBnZXROdW1WYWxpZGF0b3JzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0TnVtVmFsaWRhdG9ycygpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgY3VycmVudCBudW1iZXIgb2YgdmFsaWRhdG9ycwpnZXROdW1WYWxpZGF0b3JzOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjI5MgoJLy8gcmV0dXJuIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZTsKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yQ29uZmlnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JDb25maWcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRWYWxpZGF0b3JDb25maWcodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFZhbGlkYXRvckNvbmZpZwpnZXRWYWxpZGF0b3JDb25maWc6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mjk3CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWc7CglpbnQgMAoJaW50IDI0MgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yU3RhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFZhbGlkYXRvclN0YXRlKHVpbnQ2NCkodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JTdGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFZhbGlkYXRvclN0YXRlKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBWYWxpZGF0b3JDdXJTdGF0ZQpnZXRWYWxpZGF0b3JTdGF0ZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMDIKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlOwoJaW50IDI0MiAvLyBoZWFkT2Zmc2V0CglpbnQgMjYKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykKKmFiaV9yb3V0ZV9nZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykKCWNhbGxzdWIgZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBbQWRkcmVzcywgQWRkcmVzc10KZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMwNwoJLy8gcmV0dXJuIFt0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlcl07CglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJaW50IDQwCglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgljb25jYXQKCXJldHN1YgoKLy8gZ2V0UG9vbHModWludDY0KSh1aW50NjQsdWludDE2LHVpbnQ2NClbXQoqYWJpX3JvdXRlX2dldFBvb2xzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdCgljYWxsc3ViIGdldFBvb2xzCglkdXAKCWxlbgoJaW50IDE4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0UG9vbHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xJbmZvW10KLy8KLy8gUmV0dXJuIGxpc3Qgb2YgYWxsIHBvb2xzIGZvciB0aGlzIHZhbGlkYXRvci4KLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvcklkCi8vIEByZXR1cm4ge1Bvb2xJbmZvW119IC0gYXJyYXkgb2YgcG9vbHMKLy8gTm90IGNhbGxhYmxlIGZyb20gb3RoZXIgY29udHJhY3RzIGJlY2F1c2UgPjFLIHJldHVybiBidXQgY2FuIGJlIGNhbGxlZCB3LyBzaW11bGF0ZSB3aGljaCBidW1wcyBsb2cgcmV0dXJucwpnZXRQb29sczoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzE4CgkvLyByZXREYXRhOiBQb29sSW5mb1tdID0gW10KCWJ5dGUgMHgKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMxOQoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMpCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWludCA0MzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMAoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJPAoJYnogKmZvcl8wX2VuZAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIxCgkvLyBwb29sU2V0W2ldLnBvb2xBcHBJZCA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWludCAwCgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvcl8wX2VuZAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzI1CgkvLyByZXREYXRhLnB1c2gocG9vbFNldFtpXSkKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFBvb2xJbmZvW10KCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMTgKCWV4dHJhY3QzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyNwoJLy8gcmV0dXJuIHJldERhdGE7CglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGdldFBvb2xBcHBJZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFBvb2xBcHBJZCh2YWxpZGF0b3JJZDogdWludDY0LCBwb29sSWQ6IHVpbnQ2NCk6IHVpbnQ2NApnZXRQb29sQXBwSWQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzM1CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sSWQgIT09IDAgJiYgcG9vbElkIDw9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMubGVuZ3RoLAoJLy8gICAgICAgJ3Bvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3InCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMAoJIT0KCWR1cAoJYnogKnNraXBfYW5kMAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMjQKCTw9CgkmJgoKKnNraXBfYW5kMDoKCS8vIHBvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMzkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW3Bvb2xJZCAtIDFdLnBvb2xBcHBJZDsKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gZ2V0UG9vbEluZm8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0LHVpbnQxNix1aW50NjQpCiphYmlfcm91dGVfZ2V0UG9vbEluZm86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHBvb2xLZXk6ICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMjQKCT09CgoJLy8gYXJndW1lbnQgMCAocG9vbEtleSkgZm9yIGdldFBvb2xJbmZvIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KQoJY2FsbHN1YiBnZXRQb29sSW5mbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFBvb2xJbmZvKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiBQb29sSW5mbwpnZXRQb29sSW5mbzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNDQKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXTsKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldEN1ck1heFN0YWtlUGVyUG9vbCh1aW50NjQpdWludDY0CiphYmlfcm91dGVfZ2V0Q3VyTWF4U3Rha2VQZXJQb29sOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRDdXJNYXhTdGFrZVBlclBvb2wodWludDY0KXVpbnQ2NAoJY2FsbHN1YiBnZXRDdXJNYXhTdGFrZVBlclBvb2wKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRDdXJNYXhTdGFrZVBlclBvb2wodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IHVpbnQ2NAovLwovLyBDYWxjdWxhdGUgdGhlIG1heGltdW0gc3Rha2UgcGVyIHBvb2wgZm9yIGEgZ2l2ZW4gdmFsaWRhdG9yLgovLyBOb3JtYWxseSB0aGlzIHdvdWxkIGJlIG1heEFsZ29QZXJQb29sLCBidXQgaXQgc2hvdWxkIGFsc28gbmV2ZXIgZ28gYWJvdmUgTWF4QWxsb3dlZFN0YWtlIC8gbnVtUG9vbHMgc28KLy8gYXMgcG9vbHMgYXJlIGFkZGVkIHRoZSBtYXggYWxsb3dlZCBwZXIgcG9vbCBjYW4gcmVkdWNlLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KZ2V0Q3VyTWF4U3Rha2VQZXJQb29sOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTUKCS8vIG51bVBvb2xzID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludCAyNDIKCWludCAyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIG51bVBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU2CgkvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29scyA9IHRoaXMubWF4QWxsb3dlZFN0YWtlKCkgLyBudW1Qb29scwoJY2FsbHN1YiBtYXhBbGxvd2VkU3Rha2UKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMSAvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1NwoJLy8gbWF4UGVyUG9vbDogdWludDY0ID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWF4QWxnb1BlclBvb2wKCWludCAyMTcKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU4CgkvLyBtYXhQZXJQb29sID09PSAwCglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmMV9lbmQKCgkvLyAqaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTkKCS8vIG1heFBlclBvb2wgPSB0aGlzLm1heEFsZ29BbGxvd2VkUGVyUG9vbCgpCgljYWxsc3ViIG1heEFsZ29BbGxvd2VkUGVyUG9vbAoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKKmlmMV9lbmQ6CgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM2MQoJLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHMgPCBtYXhQZXJQb29sCglmcmFtZV9kaWcgMSAvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29sczogdWludDY0CglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCTwKCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzYyCgkvLyBtYXhQZXJQb29sID0gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHMKCWZyYW1lX2RpZyAxIC8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzOiB1aW50NjQKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCippZjJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM2NAoJLy8gcmV0dXJuIG1heFBlclBvb2w7CglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sCiphYmlfcm91dGVfZG9lc1N0YWtlck5lZWRUb1BheU1CUjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHN0YWtlcikgZm9yIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZG9lc1N0YWtlck5lZWRUb1BheU1CUihhZGRyZXNzKWJvb2wKCWNhbGxzdWIgZG9lc1N0YWtlck5lZWRUb1BheU1CUgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSKHN0YWtlcjogQWRkcmVzcyk6IGJvb2xlYW4KLy8KLy8gSGVscGVyIGNhbGxlcnMgY2FuIGNhbGwgdy8gc2ltdWxhdGUgdG8gZGV0ZXJtaW5lIGlmICdBZGRTdGFrZXInIE1CUiBzaG91bGQgYmUgaW5jbHVkZWQgdy8gc3Rha2luZyBhbW91bnQKLy8gQHBhcmFtIHN0YWtlcgpkb2VzU3Rha2VyTmVlZFRvUGF5TUJSOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM3MwoJLy8gcmV0dXJuICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHM7CglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJcmV0c3ViCgovLyBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10KKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KGFkZHJlc3MpKHVpbnQ2NCx1aW50NjQsdWludDY0KVtdCgljYWxsc3ViIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudAoJZHVwCglsZW4KCWludCAyNAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudChzdGFrZXI6IEFkZHJlc3MpOiBWYWxpZGF0b3JQb29sS2V5W10KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgcG9vbHMgZm9yIGFuIGFjY291bnQuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFjY291bnQgdG8gcmV0cmlldmUgc3Rha2VkIHBvb2xzIGZvci4KLy8gQHJldHVybiB7VmFsaWRhdG9yUG9vbEtleVtdfSAtIFRoZSBhcnJheSBvZiBzdGFrZWQgcG9vbHMgZm9yIHRoZSBhY2NvdW50LgpnZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODMKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4NAoJLy8gcmV0dXJuIFtdOwoJYnl0ZSAweAoJYiAqZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KnJldHVybgoKKmlmM19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg2CgkvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10gPSBbXQoJYnl0ZSAweAoJZnJhbWVfYnVyeSAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODcKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg4CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OAoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA2Cgk8CglieiAqZm9yXzFfZW5kCgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODkKCS8vIHBvb2xTZXRbaV0uaWQgIT09IDAKCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWludCAwCgkhPQoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozOTAKCS8vIHJldERhdGEucHVzaChwb29sU2V0W2ldKQoJZnJhbWVfZGlnIDAgLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdCglmcmFtZV9kaWcgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMjQKCWV4dHJhY3QzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10KCippZjRfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OAoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozOTMKCS8vIHJldHVybiByZXREYXRhOwoJZnJhbWVfZGlnIDAgLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdCgoqZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gZ2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoqYWJpX3JvdXRlX2dldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKCWNhbGxzdWIgZ2V0VG9rZW5QYXlvdXRSYXRpbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFRva2VuUGF5b3V0UmF0aW8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIFJldHJpZXZlcyB0aGUgdG9rZW4gcGF5b3V0IHJhdGlvIGZvciBhIGdpdmVuIHZhbGlkYXRvciAtIHJldHVybmluZyB0aGUgcG9vbCByYXRpb3Mgb2Ygd2hvbGUgc28gdGhhdCB0b2tlbgovLyBwYXlvdXRzIGFjcm9zcyBwb29scyBjYW4gYmUgYmFzZWQgb24gYSBzdGFibGUgc25hcGhvc3Qgb2Ygc3Rha2UuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcmV0dXJuIHtQb29sVG9rZW5QYXlvdXRSYXRpb30gLSBUaGUgdG9rZW4gcGF5b3V0IHJhdGlvIGZvciB0aGUgdmFsaWRhdG9yLgpnZXRUb2tlblBheW91dFJhdGlvOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQwNQoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpbzsKCWludCA3MDAgLy8gaGVhZE9mZnNldAoJaW50IDIwMAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh1aW50NjQpKCh1aW50NjRbM10pWzhdKQoqYWJpX3JvdXRlX2dldE5vZGVQb29sQXNzaWdubWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkKCWNhbGxzdWIgZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldE5vZGVQb29sQXNzaWdubWVudHModmFsaWRhdG9ySWQ6IHVpbnQ2NCk6IE5vZGVQb29sQXNzaWdubWVudENvbmZpZwpnZXROb2RlUG9vbEFzc2lnbm1lbnRzOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxMAoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAidGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgZG9lc24ndCBleGlzdCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyB0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBkb2Vzbid0IGV4aXN0Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDEyCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzOwoJaW50IDkwMCAvLyBoZWFkT2Zmc2V0CglpbnQgMTkyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRORkRSZWdpc3RyeUlEKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRORkRSZWdpc3RyeUlEOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NAoJY2FsbHN1YiBnZXRORkRSZWdpc3RyeUlECglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0TkZEUmVnaXN0cnlJRCgpOiB1aW50NjQKZ2V0TkZEUmVnaXN0cnlJRDoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MTYKCS8vIHJldHVybiB0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQ7Cglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCXJldHN1YgoKLy8gYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NAoqYWJpX3JvdXRlX2FkZFZhbGlkYXRvcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMjQyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGNvbmZpZykgZm9yIGFkZFZhbGlkYXRvciBtdXN0IGJlIGEgKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBuZmROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gbWJyUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAobWJyUGF5bWVudCkgZm9yIGFkZFZhbGlkYXRvciBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFZhbGlkYXRvcihwYXksc3RyaW5nLCh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSl1aW50NjQKCWNhbGxzdWIgYWRkVmFsaWRhdG9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkVmFsaWRhdG9yKG1iclBheW1lbnQ6IFBheVR4biwgbmZkTmFtZTogc3RyaW5nLCBjb25maWc6IFZhbGlkYXRvckNvbmZpZyk6IHVpbnQ2NAovLwovLyBBZGRzIGEgbmV3IHZhbGlkYXRvcgovLyBSZXF1aXJlcyBhdCBsZWFzdCAxMCBBTEdPIGFzIHRoZSAnZmVlJyBmb3IgdGhlIHRyYW5zYWN0aW9uIHRvIGhlbHAgZGlzc3VhZGUgc3BhbW1lZCB2YWxpZGF0b3IgYWRkcy4KLy8KLy8gQHBhcmFtIHtQYXlUeG59IG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIG5ldyB2YWxpZGF0b3Igc3RvcmFnZQovLyBAcGFyYW0ge3N0cmluZ30gbmZkTmFtZSAoT3B0aW9uYWwpIE5hbWUgb2YgbmZkICh1c2VkIGFzIGRvdWJsZS1jaGVjayBhZ2FpbnN0IGlkIHNwZWNpZmllZCBpbiBjb25maWcpCi8vIEBwYXJhbSB7VmFsaWRhdG9yQ29uZmlnfSBjb25maWcgVmFsaWRhdG9yQ29uZmlnIHN0cnVjdAovLyBAcmV0dXJucyB7dWludDY0fSB2YWxpZGF0b3IgaWQKYWRkVmFsaWRhdG9yOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDI4CgkvLyB0aGlzLnZhbGlkYXRlQ29uZmlnKGNvbmZpZykKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJY2FsbHN1YiB2YWxpZGF0ZUNvbmZpZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MjkKCS8vIGFzc2VydChjb25maWcub3duZXIgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMAoJLy8gYXNzZXJ0KGNvbmZpZy5tYW5hZ2VyICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDQwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMxCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBjb25maWcub3duZXIsICdzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcicpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJPT0KCgkvLyBzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMwoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgYW1vdW50OiB0aGlzLmdldE1ickFtb3VudHMoKS5hZGRWYWxpZGF0b3JNYnIgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkVmFsaWRhdG9yTWJyIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MzUKCS8vIGFzc2VydChtYnJQYXltZW50LmZlZSA+IDEwICogMTAwMDAwMCwgJ2ZlZSBtdXN0IGJlIDEwIEFMR08gb3IgbW9yZSB0byBwcmV2ZW50IHNwYW1taW5nIG9mIHZhbGlkYXRvcnMnKQoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgRmVlCglpbnQgMTAwMDAwMDAKCT4KCgkvLyBmZWUgbXVzdCBiZSAxMCBBTEdPIG9yIG1vcmUgdG8gcHJldmVudCBzcGFtbWluZyBvZiB2YWxpZGF0b3JzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM4CgkvLyB2YWxpZGF0b3JJZCA9IHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSArIDEKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM5CgkvLyB0aGlzLm51bVZhbGlkYXRvcnMudmFsdWUgPSB2YWxpZGF0b3JJZAoJYnl0ZSAweDZlNzU2ZDU2IC8vICJudW1WIgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmNyZWF0ZSgpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWludCAxMDkyCglib3hfY3JlYXRlCglwb3AKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQyCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZyA9IGNvbmZpZwoJaW50IDAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmlkID0gdmFsaWRhdG9ySWQKCWludCAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDYKCS8vIGNvbmZpZy5uZmRGb3JJbmZvICE9PSAwCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJaW50IDAKCSE9CglieiAqaWY1X2VuZAoKCS8vICppZjVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0OAoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMubmZkUmVnaXN0cnlBcHBJZCksCgkvLyAgICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKGNvbmZpZy5uZmRGb3JJbmZvKV0sCgkvLyAgICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pXSwKCS8vICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJbG9hZCAyMDAgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDUwCgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgbmZkTmFtZSwgaXRvYihjb25maWcubmZkRm9ySW5mbyldCglieXRlIDB4Njk3MzVmNzY2MTZjNjk2NDVmNmU2NjY0NWY2MTcwNzA2OTY0IC8vICJpc192YWxpZF9uZmRfYXBwaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA3MiA4CglidG9pCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTEKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pXQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTMKCS8vIGFzc2VydChidG9pKHRoaXMuaXR4bi5sYXN0TG9nKSA9PT0gMSwgInByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZCIpCglpdHhuIExhc3RMb2cKCWJ0b2kKCWludCAxCgk9PQoKCS8vIHByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ1NQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IChBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcyksCgkvLyAgICAgICAgICdJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXInCgkvLyAgICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0Cgk9PQoKCS8vIElmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcgoJYXNzZXJ0CgoqaWY1X2VuZDoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDYxCgkvLyBjb25maWcuZW50cnlHYXRpbmdUeXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMgfHwKCS8vICAgICAgIGNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPT09IEdBVElOR19UWVBFX1NFR01FTlRfT0ZfTkZECglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgODAgMQoJYnRvaQoJaW50IDMKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnQgNAoJPT0KCXx8Cgoqc2tpcF9vcjA6CglieiAqaWY2X2VuZAoKCS8vICppZjZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2NQoJLy8gYXNzZXJ0KHRoaXMuaXNORkRBcHBJRFZhbGlkKGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSksICdwcm92aWRlZCBORkQgQXBwIGlkIGZvciBnYXRpbmcgbXVzdCBiZSB2YWxpZCBORkQnKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzTkZEQXBwSURWYWxpZAoKCS8vIHByb3ZpZGVkIE5GRCBBcHAgaWQgZm9yIGdhdGluZyBtdXN0IGJlIHZhbGlkIE5GRAoJYXNzZXJ0CgoqaWY2X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NjgKCS8vIHJldHVybiB2YWxpZGF0b3JJZDsKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCS8vIG1hbmFnZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAobWFuYWdlcikgZm9yIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyCglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIG1hbmFnZXI6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIENoYW5nZXMgdGhlIFZhbGlkYXRvciBtYW5hZ2VyIGZvciBhIHNwZWNpZmljIFZhbGlkYXRvciBpZC4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB0byBjaGFuZ2UgdGhlIG1hbmFnZXIgZm9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IG1hbmFnZXIgLSBUaGUgbmV3IG1hbmFnZXIgYWRkcmVzcy4KY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NzkKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDgzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyID0gbWFuYWdlcgoJaW50IDQwCglmcmFtZV9kaWcgLTIgLy8gbWFuYWdlcjogQWRkcmVzcwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbzoKCS8vIHN1bnNldHRpbmdUbzogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gc3Vuc2V0dGluZ09uOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbwoJaW50IDEKCXJldHVybgoKLy8gY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBzdW5zZXR0aW5nT246IHVpbnQ2NCwgc3Vuc2V0dGluZ1RvOiBWYWxpZGF0b3JJZFR5cGUpOiB2b2lkCi8vCi8vIFVwZGF0ZXMgdGhlIHN1bnNldCBpbmZvcm1hdGlvbiBmb3IgYSBnaXZlbiB2YWxpZGF0b3IuCi8vIFsgT05MWSBPV05FUiBDQU4gQ0hBTkdFIF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IgdG8gdXBkYXRlLgovLyBAcGFyYW0ge3VpbnQ2NH0gc3Vuc2V0dGluZ09uIC0gVGhlIG5ldyBzdW5zZXQgdGltZXN0YW1wLgovLyBAcGFyYW0ge3VpbnQ2NH0gc3Vuc2V0dGluZ1RvIC0gVGhlIG5ldyBzdW5zZXQgdG8gdmFsaWRhdG9yIGlkLgpjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ5NQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludCA4CglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0OTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdPbiA9IHN1bnNldHRpbmdPbgoJaW50IDIyNgoJZnJhbWVfZGlnIC0yIC8vIHN1bnNldHRpbmdPbjogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MDAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdUbyA9IHN1bnNldHRpbmdUbwoJaW50IDIzNAoJZnJhbWVfZGlnIC0zIC8vIHN1bnNldHRpbmdUbzogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodWludDY0LHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJRDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yTkZEKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yTkZECglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbmZkQXBwSUQ6IHVpbnQ2NCwgbmZkTmFtZTogc3RyaW5nKTogdm9pZAovLwovLyBDaGFuZ2VzIHRoZSBORkQgZm9yIGEgdmFsaWRhdG9yIGluIHRoZSB2YWxpZGF0b3JMaXN0IGNvbnRyYWN0LgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIHVwZGF0ZS4KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElEIC0gVGhlIGFwcGxpY2F0aW9uIGlkIG9mIHRoZSBORkQgdG8gYXNzaWduIHRvIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7c3RyaW5nfSBuZmROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE5GRCAod2hpY2ggbXVzdCBtYXRjaCkKY2hhbmdlVmFsaWRhdG9yTkZEOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxMwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludCA4CglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MTgKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjAKCS8vIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGUgMHg2OTczNWY3NjYxNmM2OTY0NWY2ZTY2NjQ1ZjYxNzA3MDY5NjQgLy8gImlzX3ZhbGlkX25mZF9hcHBpZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTMgLy8gbmZkTmFtZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyMQoJLy8gYXBwbGljYXRpb25zOiBbQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCldCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbnMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSAoQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpIGFzIEFkZHJlc3MpLAoJLy8gICAgICAgJ0lmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0Cgk9PQoKCS8vIElmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyOAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IG5mZEFwcElECglpbnQgNzIKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3M6CgkvLyBjb21taXNzaW9uQWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjb21taXNzaW9uQWRkcmVzcykgZm9yIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzCglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQ2hhbmdlIHRoZSBjb21taXNzaW9uIGFkZHJlc3MgdGhhdCB2YWxpZGF0b3IgcmV3YXJkcyBhcmUgc2VudCB0by4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQpjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzczoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MzYKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTQwCgkvLyBhc3NlcnQoY29tbWlzc2lvbkFkZHJlc3MgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gY29tbWlzc2lvbkFkZHJlc3M6IEFkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NDEKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzID0gY29tbWlzc2lvbkFkZHJlc3MKCWludCAxNzcKCWZyYW1lX2RpZyAtMiAvLyBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyh1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbzoKCS8vIFJld2FyZFBlclBheW91dDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA2CglidG9pCgoJLy8gR2F0aW5nQXNzZXRNaW5CYWxhbmNlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWJ0b2kKCgkvLyBFbnRyeUdhdGluZ0Fzc2V0czogdWludDY0WzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDIgKEVudHJ5R2F0aW5nQXNzZXRzKSBmb3IgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyBtdXN0IGJlIGEgdWludDY0WzRdCglhc3NlcnQKCgkvLyBFbnRyeUdhdGluZ0FkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoRW50cnlHYXRpbmdBZGRyZXNzKSBmb3IgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gRW50cnlHYXRpbmdUeXBlOiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDQgKEVudHJ5R2F0aW5nVHlwZSkgZm9yIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8gbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbwoJaW50IDEKCXJldHVybgoKLy8gY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBFbnRyeUdhdGluZ1R5cGU6IHVpbnQ4LCBFbnRyeUdhdGluZ0FkZHJlc3M6IEFkZHJlc3MsIEVudHJ5R2F0aW5nQXNzZXRzOiBTdGF0aWNBcnJheTx1aW50NjQsIDQ+LCBHYXRpbmdBc3NldE1pbkJhbGFuY2U6IHVpbnQ2NCwgUmV3YXJkUGVyUGF5b3V0OiB1aW50NjQpOiB2b2lkCi8vCi8vIEFsbG93IHRoZSBhZGRpdGlvbmFsIHJld2FyZHMgKGdhdGluZyBlbnRyeSwgYWRkaXRpb25hbCB0b2tlbiByZXdhcmRzKSBpbmZvcm1hdGlvbiBiZSBjaGFuZ2VkIGF0IHdpbGwuCi8vIFsgT05MWSBPV05FUiBDQU4gQ0hBTkdFIF0KY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbzoKCXByb3RvIDYgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NTYKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTYxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPSBFbnRyeUdhdGluZ1R5cGUKCWludCA4MAoJZnJhbWVfZGlnIC0yIC8vIEVudHJ5R2F0aW5nVHlwZTogdWludDgKCWl0b2IKCWV4dHJhY3QgNyAxCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjIKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQWRkcmVzcyA9IEVudHJ5R2F0aW5nQWRkcmVzcwoJaW50IDgxCglmcmFtZV9kaWcgLTMgLy8gRW50cnlHYXRpbmdBZGRyZXNzOiBBZGRyZXNzCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzID0gRW50cnlHYXRpbmdBc3NldHMKCWludCAxMTMKCWZyYW1lX2RpZyAtNCAvLyBFbnRyeUdhdGluZ0Fzc2V0czogU3RhdGljQXJyYXk8dWludDY0LCA0PgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY0CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5nYXRpbmdBc3NldE1pbkJhbGFuY2UgPSBHYXRpbmdBc3NldE1pbkJhbGFuY2UKCWludCAxNDUKCWZyYW1lX2RpZyAtNSAvLyBHYXRpbmdBc3NldE1pbkJhbGFuY2U6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRQZXJQYXlvdXQgPSBSZXdhcmRQZXJQYXlvdXQKCWludCAxNjEKCWZyYW1lX2RpZyAtNiAvLyBSZXdhcmRQZXJQYXlvdXQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfYWRkUG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDIgKG1iclBheW1lbnQpIGZvciBhZGRQb29sIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGFkZFBvb2wKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhZGRQb29sKG1iclBheW1lbnQ6IFBheVR4biwgdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbm9kZU51bTogdWludDY0KTogVmFsaWRhdG9yUG9vbEtleQovLwovLyBBZGRzIGEgbmV3IHBvb2wgdG8gYSB2YWxpZGF0b3IncyBwb29sIHNldCwgcmV0dXJuaW5nIHRoZSAna2V5JyB0byByZWZlcmVuY2UgdGhlIHBvb2wgaW4gdGhlIGZ1dHVyZSBmb3Igc3Rha2luZywgZXRjLgovLyBUaGUgY2FsbGVyIG11c3QgcGF5IHRoZSBjb3N0IG9mIHRoZSB2YWxpZGF0b3JzIE1CUiBpbmNyZWFzZSBhcyB3ZWxsIGFzIHRoZSBNQlIgdGhhdCB3aWxsIGJlIG5lZWRlZCBmb3IgdGhlIHBvb2wgaXRzZWxmLgovLwovLyBbIE9OTFkgT1dORVIgT1IgTUFOQUdFUiBDQU4gY2FsbCBdCi8vIEBwYXJhbSB7UGF5VHhufSBtYnJQYXltZW50IHBheW1lbnQgZnJvbSBjYWxsZXIgd2hpY2ggY292ZXJzIG1iciBpbmNyZWFzZSBvZiBhZGRpbmcgYSBuZXcgcG9vbAovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgaXMgaWQgb2YgdmFsaWRhdG9yIHRvIHBvb2wgdG8gKG11c3QgYmUgb3duZXIgb3IgbWFuYWdlcikKLy8gQHBhcmFtIHt1aW50NjR9IG5vZGVOdW0gaXMgbm9kZSBudW1iZXIgdG8gYWRkIHRvCi8vIEByZXR1cm5zIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sIGtleSB0byBjcmVhdGVkIHBvb2wKYWRkUG9vbDoKCXByb3RvIDMgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyIHx8CgkvLyAgICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CglkdXAKCWJueiAqc2tpcF9vcjEKCXR4biBTZW5kZXIKCWludCA0MAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCXx8Cgoqc2tpcF9vcjE6CgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1ODgKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IGFtb3VudDogdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciwgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDggOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmV4aXN0cywgInNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQiKQoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5MgoJLy8gbnVtUG9vbHM6IHVpbnQ2NCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnQgMjQyCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gKmlmN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTMKCS8vIChudW1Qb29scyBhcyB1aW50NjQpID49IE1BWF9QT09MUwoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaW50IDI0Cgk+PQoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGFscmVhZHkgYXQgbWF4IHBvb2wgc2l6ZQoJZXJyCgoqaWY3X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTYKCS8vIG51bVBvb2xzICs9IDEKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTkKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IFsKCS8vICAgICAgICAgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5leHRyYWN0KDAsIDQwOTYpLAoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoNDA5NiwgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5zaXplIC0gNDA5NiksCgkvLyAgICAgICBdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpLAoJLy8gICAgICAgZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50LAoJLy8gICAgICAgZ2xvYmFsTnVtQnl0ZVNsaWNlOiBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZSwKCS8vICAgICAgIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbCgkvLyAgICAgICAgIC8vIGNyZWF0aW5nQ29udHJhY3RJRCwgdmFsaWRhdG9ySWQsIHBvb2xJZCwgbWluRW50cnlTdGFrZQoJLy8gICAgICAgICBtZXRob2QoJ2NyZWF0ZUFwcGxpY2F0aW9uKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkJyksCgkvLyAgICAgICAgIGl0b2IodGhpcy5hcHAuaWQpLAoJLy8gICAgICAgICBpdG9iKHZhbGlkYXRvcklkKSwKCS8vICAgICAgICAgaXRvYihudW1Qb29scyBhcyB1aW50NjQpLAoJLy8gICAgICAgICBpdG9iKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1pbkVudHJ5U3Rha2UpLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjAwCgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnQgMCAvLyBOb09wCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDEKCS8vIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoMCwgNDA5NiksCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCg0MDk2LCB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUgLSA0MDk2KSwKCS8vICAgICAgIF0KCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWludCAwCglpbnQgNDA5NgoJYm94X2V4dHJhY3QKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWludCA0MDk2CglieXRlIDB4NzA2ZjZmNmM1NDY1NmQ3MDZjNjE3NDY1NDE3MDcwNzI2Zjc2NjE2YzQyNzk3NDY1NzMgLy8gInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUKCWFzc2VydAoJaW50IDQwOTYKCS0KCWJveF9leHRyYWN0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNQoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNgoJLy8gZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50CglpbnQgMTEKCWl0eG5fZmllbGQgR2xvYmFsTnVtVWludAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDcKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UKCWludCAzCglpdHhuX2ZpZWxkIEdsb2JhbE51bUJ5dGVTbGljZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDgKCS8vIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzCglpbnQgMwoJaXR4bl9maWVsZCBFeHRyYVByb2dyYW1QYWdlcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDkKCS8vIGFwcGxpY2F0aW9uQXJnczogWwoJLy8gICAgICAgICAvLyBjcmVhdGluZ0NvbnRyYWN0SUQsIHZhbGlkYXRvcklkLCBwb29sSWQsIG1pbkVudHJ5U3Rha2UKCS8vICAgICAgICAgbWV0aG9kKCdjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCcpLAoJLy8gICAgICAgICBpdG9iKHRoaXMuYXBwLmlkKSwKCS8vICAgICAgICAgaXRvYih2YWxpZGF0b3JJZCksCgkvLyAgICAgICAgIGl0b2IobnVtUG9vbHMgYXMgdWludDY0KSwKCS8vICAgICAgICAgaXRvYih0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5taW5FbnRyeVN0YWtlKSwKCS8vICAgICAgIF0KCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWludCAyMDkKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYxOQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyA9IG51bVBvb2xzIGFzIHVpbnQxNgoJaW50IDI0MgoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyMgoJLy8gcG9vbEFwcElkID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklELmlkCglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjIzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW251bVBvb2xzIC0gMV0ucG9vbEFwcElkID0gcG9vbEFwcElkCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAxIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MjQKCS8vIHRoaXMuYWRkUG9vbFRvTm9kZSh2YWxpZGF0b3JJZCwgcG9vbEFwcElkLCBub2RlTnVtKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGFkZFBvb2xUb05vZGUKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjMyCgkvLyByZXR1cm4geyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogbnVtUG9vbHMgYXMgdWludDY0LCBwb29sQXBwSWQ6IHRoaXMuaXR4biEuY3JlYXRlZEFwcGxpY2F0aW9uSUQuaWQgfTsKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpdG9iCgljb25jYXQKCWl0eG4gQ3JlYXRlZEFwcGxpY2F0aW9uSUQKCWl0b2IKCWNvbmNhdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2FkZFN0YWtlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc3Rha2VkQW1vdW50UGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VkQW1vdW50UGF5bWVudCkgZm9yIGFkZFN0YWtlIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBhZGRTdGFrZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgdmFsdWVUb1ZlcmlmeTogdWludDY0KTogVmFsaWRhdG9yUG9vbEtleQovLwovLyBBZGRzIHN0YWtlIHRvIGEgdmFsaWRhdG9yIHBvb2wuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWx1ZVRvVmVyaWZ5IC0gb25seSBpZiB2YWxpZGF0b3IgaGFzIGdhdGluZyB0byBlbnRlciAtIHRoaXMgaXMgYXNzZXQgaWQgb3IgbmZkIGlkIHRoYXQgY29ycmVzcG9uZHMgdG8gZ2F0aW5nLgovLyBUeG4gc2VuZGVyIGlzIGZhY3RvcmVkIGluIGFzIHdlbGwgaWYgdGhhdCBpcyBwYXJ0IG9mIGdhdGluZy4KLy8gKiBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleX0gLSBUaGUga2V5IG9mIHRoZSB2YWxpZGF0b3IgcG9vbC4KYWRkU3Rha2U6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA1CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0NQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAic3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkCglhc3NlcnQKCgkvLyAqaWY4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uID4gMAoJaW50IDIyNgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJPgoJYnogKmlmOF9lbmQKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NDkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uIDwgZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAsCgkvLyAgICAgICAgICJjYW4ndCBzdGFrZSB3aXRoIGEgdmFsaWRhdG9yIHRoYXQgaXMgcGFzdCBpdHMgc3Vuc2V0dGluZyB0aW1lIgoJLy8gICAgICAgKQoJaW50IDIyNgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCgk8CgoJLy8gY2FuJ3Qgc3Rha2Ugd2l0aCBhIHZhbGlkYXRvciB0aGF0IGlzIHBhc3QgaXRzIHN1bnNldHRpbmcgdGltZQoJYXNzZXJ0CgoqaWY4X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTUKCS8vIHN0YWtlciA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfYnVyeSAwIC8vIHN0YWtlcjogYWRkcmVzcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTkKCS8vIHZlcmlmeVBheVR4bihzdGFrZWRBbW91bnRQYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IHN0YWtlciwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoic3Rha2VyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY2NgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS50b3RhbEFsZ29TdGFrZWQgPCB0aGlzLm1heEFsbG93ZWRTdGFrZSgpLAoJLy8gICAgICAgJ3RvdGFsIHN0YWtlZCBmb3IgYWxsIG9mIGEgdmFsaWRhdG9ycyBwb29scyBtYXkgbm90IGV4Y2VlZCBoYXJkIGNhcCcKCS8vICAgICApCglpbnQgMjUyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCgk8CgoJLy8gdG90YWwgc3Rha2VkIGZvciBhbGwgb2YgYSB2YWxpZGF0b3JzIHBvb2xzIG1heSBub3QgZXhjZWVkIGhhcmQgY2FwCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjczCgkvLyB0aGlzLmRvZXNTdGFrZXJNZWV0R2F0aW5nKHZhbGlkYXRvcklkLCB2YWx1ZVRvVmVyaWZ5KQoJZnJhbWVfZGlnIC0zIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZG9lc1N0YWtlck1lZXRHYXRpbmcKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njc1CgkvLyByZWFsQW1vdW50ID0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfYnVyeSAxIC8vIHJlYWxBbW91bnQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzYKCS8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0CgoJLy8gKmlmOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzgKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjlfZW5kCgoJLy8gKmlmOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgxCgkvLyBtYnJBbXRMZWZ0QmVoaW5kID0gdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkU3Rha2VyTWJyCgljYWxsc3ViIGdldE1ickFtb3VudHMKCWV4dHJhY3QgMjQgOAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODIKCS8vIHJlYWxBbW91bnQgLT0gbWJyQW10TGVmdEJlaGluZAoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMSAvLyByZWFsQW1vdW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgzCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5jcmVhdGUoKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCgljb25jYXQKCWludCAxNDQKCWJveF9jcmVhdGUKCXBvcAoKKmlmOV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg3CgkvLyBmaW5kUmV0ID0gdGhpcy5maW5kUG9vbEZvclN0YWtlcih2YWxpZGF0b3JJZCwgc3Rha2VyLCByZWFsQW1vdW50KQoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGZpbmRQb29sRm9yU3Rha2VyCglmcmFtZV9idXJ5IDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODgKCS8vIHBvb2xLZXkgPSBmaW5kUmV0WzBdCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg5CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmluZFJldFsxXQoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxOTIKCWdldGJpdAoJZnJhbWVfYnVyeSA0IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjkwCgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wgPSBmaW5kUmV0WzJdCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDE5MwoJZ2V0Yml0CglmcmFtZV9idXJ5IDUgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gKmlmMTBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjkxCgkvLyBwb29sS2V5LnBvb2xJZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjEwX2VuZAoKCS8vICppZjEwX2NvbnNlcXVlbnQKCS8vIE5vIHBvb2wgYXZhaWxhYmxlIHdpdGggZnJlZSBzdGFrZS4gIFZhbGlkYXRvciBuZWVkcyB0byBhZGQgYW5vdGhlciBwb29sCgllcnIKCippZjEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2OTYKCS8vIHRoaXMudXBkYXRlU3Rha2VyUG9vbFNldChzdGFrZXIsIHBvb2xLZXkpCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDI0CglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWNhbGxzdWIgdXBkYXRlU3Rha2VyUG9vbFNldAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2OTkKCS8vIHRoaXMuY2FsbFBvb2xBZGRTdGFrZSgKCS8vICAgICAgIHN0YWtlZEFtb3VudFBheW1lbnQsCgkvLyAgICAgICBwb29sS2V5LAoJLy8gICAgICAgbWJyQW10TGVmdEJlaGluZCwKCS8vICAgICAgIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsCgkvLyAgICAgICBpc05ld1N0YWtlclRvUHJvdG9jb2wKCS8vICAgICApCglmcmFtZV9kaWcgNSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCWZyYW1lX2RpZyA0IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCWZyYW1lX2RpZyAyIC8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyNAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJY2FsbHN1YiBjYWxsUG9vbEFkZFN0YWtlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjcxNAoJLy8gcmV0dXJuIHBvb2xLZXk7CglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDI0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNQoJcmV0c3ViCgovLyBzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpCiphYmlfcm91dGVfc2V0VG9rZW5QYXlvdXRSYXRpbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgc2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoJY2FsbHN1YiBzZXRUb2tlblBheW91dFJhdGlvCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2V0VG9rZW5QYXlvdXRSYXRpbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogUG9vbFRva2VuUGF5b3V0UmF0aW8KLy8KLy8gc2V0VG9rZW5QYXlvdXRSYXRpbyBpcyBjYWxsZWQgYnkgU3Rha2luZyBQb29sICMgMSAoT05MWSkgdG8gYXNrIHRoZSB2YWxpZGF0b3IgKHVzKSB0byBjYWxjdWxhdGUgdGhlIHJhdGlvcwovLyBvZiBzdGFrZSBpbiB0aGUgcG9vbHMgZm9yIHN1YnNlcXVlbnQgdG9rZW4gcGF5b3V0cyAoaWU6IDIgcG9vbHMsICcxMDAnIGFsZ28gdG90YWwgc3Rha2VkLCA2MCBpbiBwb29sIDEsIGFuZCA0MAovLyBpbiBwb29sIDIpICBUaGlzIGlzIGRvbmUgc28gd2UgaGF2ZSBhIHN0YWJsZSBzbmFwc2hvdCBvZiBzdGFrZSAtIHRha2VuIG9uY2UgcGVyIGVwb2NoIC0gb25seSB0cmlnZ2VyZWQgYnkKLy8gcG9vbCAxIGRvaW5nIHBheW91dC4gIHBvb2xzIG90aGVyIHRoYW4gMSBkb2luZyBwYXlvdXQgY2FsbCBwb29sIDEgdG8gYXNrIGl0IGRvIGl0IGZpcnN0LgovLyBJdCB3b3VsZCBiZSA2MC80MCUgaW4gdGhlIHBvb2xQY3RPZldob2xlIHZhbHVlcy4gIFRoZSB0b2tlbiByZXdhcmQgcGF5b3V0cyB0aGVuIHVzZSB0aGVzZSB2YWx1ZXMgaW5zdGVhZCBvZgovLyB0aGVpciAnY3VycmVudCcgc3Rha2Ugd2hpY2ggY2hhbmdlcyBhcyBwYXJ0IG9mIHRoZSBwYXlvdXRzIHRoZW1zZWx2ZXMgKGFuZCBwZW9wbGUgY291bGQgYmUgY2hhbmdpbmcgc3Rha2UKLy8gZHVyaW5nIHRoZSBlcG9jaCB1cGRhdGVzIGFjcm9zcyBwb29scykKLy8KLy8gTXVsdGlwbGUgcG9vbHMgd2lsbCBjYWxsIHVzIHZpYSBwb29sIDEgKHBvb2wyLT5wb29sMS0+dmFsaWRhdG9yLCBldGMuKSBzbyBkb24ndCBhc3NlcnQgb24gcG9vbDEgY2FsbGluZyBtdWx0aXBsZQovLyB0aW1lcyBpbiBzYW1lIGVwb2NoLiAgSnVzdCByZXR1cm4uCi8vCi8vIEBwYXJhbSB2YWxpZGF0b3JJZCAtIHZhbGlkYXRvciBpZCAoYW5kIHRodXMgcG9vbCkgY2FsbGluZyB1cy4gIFZlcmlmaWVkIHNvIHRoYXQgc2VuZGVyIE1VU1QgYmUgcG9vbCAxIG9mIHRoaXMgdmFsaWRhdG9yLgovLyBAcmV0dXJucyBQb29sVG9rZW5QYXlvdXRSYXRpbyAtIHRoZSBmaW5pc2hlZCByYXRpbyBkYXRhCnNldFRva2VuUGF5b3V0UmF0aW86Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjczNAoJLy8gcG9vbDFBcHBJRCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbMF0ucG9vbEFwcElkCglpbnQgMjY4CglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM1CgkvLyBhc3NlcnQocG9vbDFBcHBJRCAhPT0gMCkKCWZyYW1lX2RpZyAwIC8vIHBvb2wxQXBwSUQ6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzcKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5hZGRyZXNzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJIT0KCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzgKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0NAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMSAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0NQoJLy8gbGFzdFBheW91dFVwZGF0ZSA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpby51cGRhdGVkRm9yUGF5b3V0CglpbnQgODkyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCgkvLyAqaWYxMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDYKCS8vIGxhc3RQYXlvdXRVcGRhdGUgIT09IDAKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJaW50IDAKCSE9CglieiAqaWYxMl9lbmQKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyAqaWYxM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDgKCS8vIChBcHBJRC5mcm9tVWludDY0KHBvb2wxQXBwSUQpLmdsb2JhbFN0YXRlKCdsYXN0UGF5b3V0JykgYXMgdWludDY0KSA9PT0gbGFzdFBheW91dFVwZGF0ZQoJZnJhbWVfZGlnIDAgLy8gcG9vbDFBcHBJRDogdWludDY0CglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5nbG9iYWxTdGF0ZSgnbGFzdFBheW91dCcpCglhc3NlcnQKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1MQoJLy8gZXBvY2hSb3VuZExlbmd0aCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVwb2NoUm91bmRMZW5ndGggYXMgdWludDY0CglpbnQgMTY5CglpbnQgNAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzUyCgkvLyB0aGlzRXBvY2hCZWdpbiA9IGN1clJvdW5kIC0gKGN1clJvdW5kICUgZXBvY2hSb3VuZExlbmd0aCkKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfYnVyeSA0IC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCgkvLyAqaWYxNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTQKCS8vIGxhc3RQYXlvdXRVcGRhdGUgLSAobGFzdFBheW91dFVwZGF0ZSAlIGVwb2NoUm91bmRMZW5ndGgpID09PSB0aGlzRXBvY2hCZWdpbgoJZnJhbWVfZGlnIDIgLy8gbGFzdFBheW91dFVwZGF0ZTogdWludDY0CglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfZGlnIDQgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPT0KCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTUKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTRfZW5kOgoKKmlmMTJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnVwZGF0ZWRGb3JQYXlvdXQgPSBjdXJSb3VuZAoJaW50IDg5MgoJZnJhbWVfZGlnIDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYwCgkvLyBjdXJOdW1Qb29scyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnQgMjQyCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNSAvLyBjdXJOdW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MQoJLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvciA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkCglpbnQgMjUyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyB0b3RhbFN0YWtlRm9yVmFsaWRhdG9yOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA1IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfMl9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzY3CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW3RoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbaV0udG90YWxBbGdvU3Rha2VkLCAxXzAwMF8wMDBdLAoJLy8gICAgICAgICBbdG90YWxTdGFrZUZvclZhbGlkYXRvcl0KCS8vICAgICAgICkKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaW50IDFfMDAwXzAwMAoJbXVsdwoJaW50IDAKCWZyYW1lX2RpZyA2IC8vIHRvdGFsU3Rha2VGb3JWYWxpZGF0b3I6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgOCAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc3MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnBvb2xQY3RPZldob2xlW2ldID0gb3VyUG9vbFBjdE9mV2hvbGUKCWludCA3MDAKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIDggLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCipmb3JfMl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NjIKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzczCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50IDcwMCAvLyBoZWFkT2Zmc2V0CglpbnQgMjAwCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoKKnNldFRva2VuUGF5b3V0UmF0aW8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gOAoJcmV0c3ViCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzOgoJLy8gc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYWxnb1RvQWRkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIHN0YWtlVXBkYXRlZFZpYVJld2FyZHMoKHVpbnQ2NCx1aW50NjQsdWludDY0KSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzCglpbnQgMQoJcmV0dXJuCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIGFsZ29Ub0FkZDogdWludDY0LCByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkOiB1aW50NjQsIHZhbGlkYXRvckNvbW1pc3Npb246IHVpbnQ2NCwgc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0KTogdm9pZAovLwovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIGlzIGNhbGxlZCBieSBTdGFraW5nIHBvb2xzIHRvIGluZm9ybSB0aGUgdmFsaWRhdG9yICh1cykgdGhhdCBhIHBhcnRpY3VsYXIgYW1vdW50IG9mIHRvdGFsCi8vIHN0YWtlIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIFRoZSBjYWxsaW5nIEFwcCBpZCBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBvdXIgcG9vbCBsaXN0IGFzIHdlbGwuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHlwZQovLyBAcGFyYW0ge3VpbnQ2NH0gYWxnb1RvQWRkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzCi8vIEBwYXJhbSB7dWludDY0fSByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzICh0aGF0IHNob3VsZCBiZQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9yQ29tbWlzc2lvbiAtIHRoZSBjb21taXNzaW9uIGFtb3VudCB0aGUgdmFsaWRhdG9yIHdhcyBwYWlkLCBpZiBhbnkKLy8gQHBhcmFtIHt1aW50NjR9IHNhdHVyYXRlZEJ1cm5Ub0ZlZVNpbmsgLSBpZiB0aGUgcG9vbCB3YXMgaW4gc2F0dXJhdGVkIHN0YXRlLCB0aGUgYW1vdW50IHNlbnQgYmFjayB0byB0aGUgZmVlIHNpbmsuCi8vIHNlZW4gYXMgJ2FjY291bnRlZCBmb3IvcGVuZGluZyBzcGVudCcpCnN0YWtlVXBkYXRlZFZpYVJld2FyZHM6Cglwcm90byA1IDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk0CgkvLyB0aGlzLnZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CgljYWxsc3ViIHZlcmlmeVBvb2xLZXlDYWxsZXIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk3CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgKz0gYWxnb1RvQWRkCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBhbGdvVG9BZGQ6IHVpbnQ2NAoJKwoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCArPSBhbGdvVG9BZGQKCWludCAyNTIKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIGFsZ29Ub0FkZDogdWludDY0CgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk5CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjayArPSByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkCglpbnQgMjYwCglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkOiB1aW50NjQKCSsKCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MDEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGFsZ29Ub0FkZAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBhbGdvVG9BZGQ6IHVpbnQ2NAoJKwoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODA0CgkvLyB0aGlzLnJldmVyaWZ5TkZET3duZXJzaGlwKHBvb2xLZXkuaWQpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWNhbGxzdWIgcmV2ZXJpZnlORkRPd25lcnNoaXAKCXJldHN1YgoKLy8gc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoqYWJpX3JvdXRlX3N0YWtlUmVtb3ZlZDoKCS8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXJSZW1vdmVkKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoc3Rha2VyKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoJY2FsbHN1YiBzdGFrZVJlbW92ZWQKCWludCAxCglyZXR1cm4KCi8vIHN0YWtlUmVtb3ZlZChwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBzdGFrZXI6IEFkZHJlc3MsIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NCwgcmV3YXJkUmVtb3ZlZDogdWludDY0LCBzdGFrZXJSZW1vdmVkOiBib29sZWFuKTogdm9pZAovLwovLyBzdGFrZVJlbW92ZWQgaXMgY2FsbGVkIGJ5IFN0YWtpbmcgcG9vbHMgdG8gaW5mb3JtIHRoZSB2YWxpZGF0b3IgKHVzKSB0aGF0IGEgcGFydGljdWxhciBhbW91bnQgb2YgdG90YWwgc3Rha2UgaGFzIGJlZW4gcmVtb3ZlZAovLyBmcm9tIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIElmIGFueSBhbW91bnQgb2YgcmV3YXJkUmVtb3ZlZCBpcyBzcGVjaWZpZWQsIHRoZW4gdGhhdCBhbW91bnQgb2YgcmV3YXJkIGlzIHNlbnQgdG8gdGhlIHVzZQovLyBUaGUgY2FsbGluZyBBcHAgaWQgaXMgdmFsaWRhdGVkIGFnYWluc3Qgb3VyIHBvb2wgbGlzdCBhcyB3ZWxsLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2xLZXkgY2FsbGluZyB1cyBmcm9tIHdoaWNoIHN0YWtlIHdhcyByZW1vdmVkCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRSZW1vdmVkIC0gYWxnbyBhbW91bnQgcmVtb3ZlZAovLyBAcGFyYW0ge3VpbnQ2NH0gcmV3YXJkUmVtb3ZlZCAtIGlmIGFwcGxpY2FibGUsIGFtb3VudCBvZiB0b2tlbiByZXdhcmQgcmVtb3ZlZCAoYnkgcG9vbCAxIGNhbGxlcikgb3IgVE8gcmVtb3ZlIGFuZCBwYXkgb3V0ICh2aWEgcG9vbCAxIGZyb20gZGlmZmVyZW50IHBvb2wgY2FsbGVyKQovLyBAcGFyYW0ge2Jvb2xlYW59IHN0YWtlclJlbW92ZWQKc3Rha2VSZW1vdmVkOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vICppZjE1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjgzNgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MzcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MzkKCS8vIHRoaXMudmVyaWZ5UG9vbEtleUNhbGxlcihwb29sS2V5KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWNhbGxzdWIgdmVyaWZ5UG9vbEtleUNhbGxlcgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDMKCS8vIGFzc2VydChhbW91bnRSZW1vdmVkID4gMCB8fCByZXdhcmRSZW1vdmVkID4gMCwgJ3Nob3VsZCBvbmx5IGJlIGNhbGxlZCBpZiBhbGdvIG9yIHJld2FyZCB3YXMgcmVtb3ZlZCcpCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CglpbnQgMAoJPgoJZHVwCglibnogKnNraXBfb3IyCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0CglpbnQgMAoJPgoJfHwKCipza2lwX29yMjoKCS8vIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpZiBhbGdvIG9yIHJld2FyZCB3YXMgcmVtb3ZlZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0NgoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxBbGdvU3Rha2VkIC09IGFtb3VudFJlbW92ZWQKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxMCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJLQoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCAtPSBhbW91bnRSZW1vdmVkCglpbnQgMjUyCglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIC09IGFtb3VudFJlbW92ZWQKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CgktCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vICppZjE2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MAoJLy8gcmV3YXJkUmVtb3ZlZCA+IDAKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCWludCAwCgk+CglieiAqaWYxNl9lbHNlCgoJLy8gKmlmMTZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MQoJLy8gcmV3YXJkVG9rZW5JRCA9IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5jb25maWcucmV3YXJkVG9rZW5JZAoJaW50IDE1MwoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHJld2FyZFRva2VuSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTIKCS8vIGFzc2VydChyZXdhcmRUb2tlbklEICE9PSAwLCAicmV3YXJkUmVtb3ZlZCBjYW4ndCBiZSBzZXQgaWYgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSByZXdhcmQgdG9rZW4hIikKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSUQ6IHVpbnQ2NAoJaW50IDAKCSE9CgoJLy8gcmV3YXJkUmVtb3ZlZCBjYW4ndCBiZSBzZXQgaWYgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSByZXdhcmQgdG9rZW4hCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODUzCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrID49IHJld2FyZFJlbW92ZWQsCgkvLyAgICAgICAgICdyZXdhcmQgYmVpbmcgcmVtb3ZlZCBtdXN0IGJlIGNvdmVyZWQgYnkgaG9sZCBiYWNrIGFtb3VudCcKCS8vICAgICAgICkKCWludCAyNjAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCT49CgoJLy8gcmV3YXJkIGJlaW5nIHJlbW92ZWQgbXVzdCBiZSBjb3ZlcmVkIGJ5IGhvbGQgYmFjayBhbW91bnQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrIC09IHJld2FyZFJlbW92ZWQKCWludCAyNjAKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJLQoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY0CgkvLyBwb29sS2V5LnBvb2xJZCAhPT0gMQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJIT0KCWJ6ICppZjE3X2VuZAoKCS8vICppZjE3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucGF5VG9rZW5SZXdhcmQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFtzdGFrZXIsIHJld2FyZFRva2VuSUQsIHJld2FyZFJlbW92ZWRdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjYKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzWzBdLnBvb2xBcHBJZCkKCWludCAyNjgKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjcKCS8vIG1ldGhvZEFyZ3M6IFtzdGFrZXIsIHJld2FyZFRva2VuSUQsIHJld2FyZFJlbW92ZWRdCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYxN19lbmQ6CgliICppZjE2X2VuZAoKKmlmMTZfZWxzZToKCippZjE2X2VuZDoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg5MgoJLy8gc3Rha2VyUmVtb3ZlZAoJZnJhbWVfZGlnIC01IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2xlYW4KCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTQKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsU3Rha2VycyAtPSAxCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgOCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgOCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMQoJLQoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTYKCS8vIHJlbW92ZVJldCA9IHRoaXMucmVtb3ZlRnJvbVN0YWtlclBvb2xTZXQoc3Rha2VyLCA8VmFsaWRhdG9yUG9vbEtleT57CgkvLyAgICAgICAgIGlkOiBwb29sS2V5LmlkLAoJLy8gICAgICAgICBwb29sSWQ6IHBvb2xLZXkucG9vbElkLAoJLy8gICAgICAgICBwb29sQXBwSWQ6IHBvb2xLZXkucG9vbEFwcElkLAoJLy8gICAgICAgfSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJY2FsbHN1YiByZW1vdmVGcm9tU3Rha2VyUG9vbFNldAoJZnJhbWVfYnVyeSAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTAxCgkvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3IgPSByZW1vdmVSZXRbMF0KCWZyYW1lX2RpZyAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJZ2V0Yml0CglmcmFtZV9idXJ5IDIgLy8gc3Rha2VyT3V0T2ZUaGlzVmFsaWRhdG9yOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwMgoJLy8gc3Rha2VyT3V0T2ZQcm90b2NvbCA9IHJlbW92ZVJldFsxXQoJZnJhbWVfZGlnIDEgLy8gcmVtb3ZlUmV0OiAoYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxCglnZXRiaXQKCWZyYW1lX2J1cnkgMyAvLyBzdGFrZXJPdXRPZlByb3RvY29sOiBib29sCgoJLy8gKmlmMTlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTA0CgkvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3IKCWZyYW1lX2RpZyAyIC8vIHN0YWtlck91dE9mVGhpc1ZhbGlkYXRvcjogYm9vbAoJYnogKmlmMTlfZW5kCgoJLy8gKmlmMTlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwNQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsU3Rha2VycyAtPSAxCglpbnQgMjQ0CglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludCAxCgktCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjE5X2VuZDoKCS8vICppZjIwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOAoJLy8gc3Rha2VyT3V0T2ZQcm90b2NvbAoJZnJhbWVfZGlnIDMgLy8gc3Rha2VyT3V0T2ZQcm90b2NvbDogYm9vbAoJYnogKmlmMjBfZW5kCgoJLy8gKmlmMjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOQoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlIC09IDEKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJLQoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCippZjIwX2VuZDoKCippZjE4X2VuZDoKCXJldHN1YgoKLy8gZmluZFBvb2xGb3JTdGFrZXIodWludDY0LGFkZHJlc3MsdWludDY0KSgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9maW5kUG9vbEZvclN0YWtlcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYW1vdW50VG9TdGFrZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKHN0YWtlcikgZm9yIGZpbmRQb29sRm9yU3Rha2VyIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJY2FsbHN1YiBmaW5kUG9vbEZvclN0YWtlcgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGZpbmRQb29sRm9yU3Rha2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHN0YWtlcjogQWRkcmVzcywgYW1vdW50VG9TdGFrZTogdWludDY0KTogW1ZhbGlkYXRvclBvb2xLZXksIGJvb2xlYW4sIGJvb2xlYW5dCi8vCi8vIEZpbmRzIHRoZSBwb29sIGZvciBhIHN0YWtlciBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdmFsaWRhdG9yIGlkLCBzdGFrZXIgYWRkcmVzcywgYW5kIGFtb3VudCB0byBzdGFrZS4KLy8gRmlyc3QgY2hlY2tzIHRoZSBzdGFrZXJzICdhbHJlYWR5IHN0YWtlZCBsaXN0JyBmb3IgdGhlIHZhbGlkYXRvciBwcmVmZXJyaW5nIHRob3NlIChhZGRpbmcgaWYgcG9zc2libGUpIHRoZW4gYWRkcwovLyB0byBuZXcgcG9vbCBpZiBuZWNlc3NhcnkuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1N0YWtlIC0gVGhlIGFtb3VudCB0byBzdGFrZS4KLy8gQHJldHVybnMge1ZhbGlkYXRvclBvb2xLZXksIGJvb2xlYW4sIGJvb2xlYW59IC0gVGhlIHBvb2wgZm9yIHRoZSBzdGFrZXIsIHRydWUvZmFsc2Ugb24gd2hldGhlciB0aGUgc3Rha2VyIGlzICduZXcnCi8vIHRvIHRoaXMgVkFMSURBVE9SLCBhbmQgdHJ1ZS9mYWxzZSBpZiBzdGFrZXIgaXMgbmV3IHRvIHRoZSBwcm90b2NvbC4KZmluZFBvb2xGb3JTdGFrZXI6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA3CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzMAoJLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MzEKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzOQoJLy8gbWF4UGVyUG9vbCA9IHRoaXMuZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHZhbGlkYXRvcklkKQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZ2V0Q3VyTWF4U3Rha2VQZXJQb29sCglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoJLy8gKmlmMjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQyCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWYyMV9lbmQKCgkvLyAqaWYyMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQzCgkvLyBwb29sU2V0ID0gY2xvbmUodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUpCglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NAoJLy8gYXNzZXJ0KHZhbGlkYXRvcklkICE9PSAwKQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWludCAwCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBwb29sU2V0Lmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfMzoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDUKCS8vIGkgPCBwb29sU2V0Lmxlbmd0aAoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgNgoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjIyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjIyX2VuZDoKCS8vICppZjIzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0OQoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJaW50IDAKCT09CglieiAqaWYyM19lbmQKCgkvLyAqaWYyM19jb25zZXF1ZW50CgliICpmb3JfM19jb250aW51ZQoKKmlmMjNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1MgoJLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gKmlmMjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTUzCgkvLyBwb29sU2V0W2ldLmlkID09PSB2YWxpZGF0b3JJZAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCT09CglieiAqaWYyNF9lbmQKCgkvLyAqaWYyNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTU1CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1twb29sU2V0W2ldLnBvb2xJZCAtIDFdLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0KCS8vICAgICAgICAgICAgIG1heFBlclBvb2wKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDggLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxMCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRUb1N0YWtlOiB1aW50NjQKCSsKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJPD0KCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjAKCS8vIHJldHVybiBbcG9vbFNldFtpXSwgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwgaXNOZXdTdGFrZXJUb1Byb3RvY29sXTsKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCWIgKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybgoKKmlmMjVfZW5kOgoKKmlmMjRfZW5kOgoKKmZvcl8zX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgliICpmb3JfMwoKKmZvcl8zX2VuZDoKCippZjIxX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjcKCS8vIGFzc2VydCgKCS8vICAgICAgIGFtb3VudFRvU3Rha2UgPj0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSwKCS8vICAgICAgICdtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJaW50IDIwOQoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk+PQoKCS8vIG11c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3MwoJLy8gcG9vbHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzKQoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglpbnQgNDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA1IC8vIHBvb2xzOiAodWludDY0LHVpbnQxNix1aW50NjQpWzI0XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzQKCS8vIGN1ck51bVBvb2xzID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludCAyNDIKCWludCAyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWYyNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzYKCS8vIHBvb2xzW2ldLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0gbWF4UGVyUG9vbAoJZnJhbWVfZGlnIDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50VG9TdGFrZTogdWludDY0CgkrCglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCTw9CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc3CgkvLyByZXR1cm4gWwoJLy8gICAgICAgICAgIHsgaWQ6IHZhbGlkYXRvcklkLCBwb29sSWQ6IGkgKyAxLCBwb29sQXBwSWQ6IHBvb2xzW2ldLnBvb2xBcHBJZCB9LAoJLy8gICAgICAgICAgIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsCgkvLyAgICAgICAgICAgaXNOZXdTdGFrZXJUb1Byb3RvY29sLAoJLy8gICAgICAgICBdOwoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCWIgKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybgoKKmlmMjZfZW5kOgoKKmZvcl80X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDcgLy8gaTogdWludDY0CgliICpmb3JfNAoKKmZvcl80X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5ODUKCS8vIHJldHVybiBbeyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogMCwgcG9vbEFwcElkOiAwIH0sIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsIGlzTmV3U3Rha2VyVG9Qcm90b2NvbF07CglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwCglpbnQgMAoJZnJhbWVfZGlnIDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJc2V0Yml0CglpbnQgMQoJZnJhbWVfZGlnIDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglzZXRiaXQKCWNvbmNhdAoKKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDcKCXJldHN1YgoKLy8gbW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX21vdmVQb29sVG9Ob2RlOgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gcG9vbEFwcElkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBtb3ZlUG9vbFRvTm9kZSh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG1vdmVQb29sVG9Ob2RlCglpbnQgMQoJcmV0dXJuCgovLyBtb3ZlUG9vbFRvTm9kZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBwb29sQXBwSWQ6IHVpbnQ2NCwgbm9kZU51bTogdWludDY0KTogdm9pZAovLwovLyBGaW5kIHRoZSBzcGVjaWZpZWQgcG9vbCAoaW4gYW55IG5vZGUgbnVtYmVyKSBhbmQgbW92ZSBpdCB0byB0aGUgc3BlY2lmaWVkIG5vZGUuCi8vIFRoZSBwb29sIGFjY291bnQgaXMgZm9yY2VkIG9mZmxpbmUgaWYgbW92ZWQgc28gcHJpb3Igbm9kZSB3aWxsIHN0aWxsIHJ1biBmb3IgMzIwIHJvdW5kcyBidXQKLy8gbmV3IGtleSBnb2VzIG9ubGluZSBvbiBuZXcgbm9kZSBzb29uIGFmdGVyICgzMjAgcm91bmRzIGFmdGVyIGl0IGdvZXMgb25saW5lKQovLyBOby1vcCBpZiBzdWNjZXNzLCBhc3NlcnRzIGlmIG5vdCBmb3VuZCBvciBjYW4ndCBtb3ZlICAobm8gc3BhY2UgaW4gdGFyZ2V0KQovLyBbIE9OTFkgT1dORVIgT1IgTUFOQUdFUiBDQU4gQ0hBTkdFIF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSBwb29sQXBwSWQKLy8gQHBhcmFtIHt1aW50NjR9IG5vZGVOdW0KbW92ZVBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIgfHwKCS8vICAgICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCWR1cAoJYm56ICpza2lwX29yMwoJdHhuIFNlbmRlcgoJaW50IDQwCglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoJfHwKCipza2lwX29yMzoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDcKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnQgOTAwIC8vIGhlYWRPZmZzZXQKCWludCAxOTIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDA4CgkvLyBhc3NlcnQobm9kZU51bSA+PSAxICYmIG5vZGVOdW0gPD0gTUFYX05PREVTLCAnbm9kZSBudW1iZXIgb3V0IG9mIGFsbG93YWJsZSByYW5nZScpCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnQgMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50IDgKCTw9CgkmJgoKKnNraXBfYW5kMToKCS8vIG5vZGUgbnVtYmVyIG91dCBvZiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBmb3IgKGxldCBzcmNOb2RlSWR4ID0gMDsgc3JjTm9kZUlkeCA8IE1BWF9OT0RFUzsgc3JjTm9kZUlkeCArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCipmb3JfNToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBzcmNOb2RlSWR4IDwgTUFYX05PREVTCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludCA4Cgk8CglieiAqZm9yXzVfZW5kCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgTUFYX1BPT0xTX1BFUl9OT0RFOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl82OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGkgPCBNQVhfUE9PTFNfUEVSX05PREUKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDMKCTwKCWJ6ICpmb3JfNl9lbmQKCgkvLyAqaWYyN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEyCgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW3NyY05vZGVJZHhdLnBvb2xBcHBJZHNbaV0gPT09IHBvb2xBcHBJZAoJZnJhbWVfZGlnIDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoJaW50IDAKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0Cgk9PQoJYnogKmlmMjdfZW5kCgoJLy8gKmlmMjdfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTMKCS8vIGFzc2VydChub2RlTnVtIC0gMSAhPT0gc3JjTm9kZUlkeCwgImNhbid0IG1vdmUgdG8gc2FtZSBub2RlIikKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCSE9CgoJLy8gY2FuJ3QgbW92ZSB0byBzYW1lIG5vZGUKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbc3JjTm9kZUlkeF0ucG9vbEFwcElkc1tpXSA9IDAKCWludCA5MDAKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE4CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLmdvT2ZmbGluZT4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLAoJLy8gICAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJnb09mZmxpbmUoKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE5CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDIzCgkvLyB0aGlzLmFkZFBvb2xUb05vZGUodmFsaWRhdG9ySWQsIHBvb2xBcHBJZCwgbm9kZU51bSkKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgYWRkUG9vbFRvTm9kZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDI0CgkvLyByZXR1cm47CglyZXRzdWIKCippZjI3X2VuZDoKCipmb3JfNl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDExCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl82CgoqZm9yXzZfZW5kOgoKKmZvcl81X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTAKCS8vIHNyY05vZGVJZHggKz0gMQoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJYiAqZm9yXzUKCipmb3JfNV9lbmQ6CgkvLyBjb3VsZG4ndCBmaW5kIHBvb2wgYXBwIGlkIGluIG5vZGVzIHRvIG1vdmUKCWVycgoJcmV0c3ViCgovLyBlbXB0eVRva2VuUmV3YXJkcyh1aW50NjQsYWRkcmVzcyl1aW50NjQKKmFiaV9yb3V0ZV9lbXB0eVRva2VuUmV3YXJkczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gcmVjZWl2ZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciBlbXB0eVRva2VuUmV3YXJkcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0CgljYWxsc3ViIGVtcHR5VG9rZW5SZXdhcmRzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZW1wdHlUb2tlblJld2FyZHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgcmVjZWl2ZXI6IEFkZHJlc3MpOiB1aW50NjQKLy8KLy8gU2VuZHMgdGhlIHJld2FyZCB0b2tlbnMgaGVsZCBpbiBwb29sIDEgdG8gc3BlY2lmaWVkIHJlY2VpdmVyLgovLyBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgdGhlIG93bmVyIHdoZW4gdGhleSB3YW50IHRvIGdldCByZXdhcmQgdG9rZW5zICdiYWNrJyB3aGljaCB0aGV5IHNlbnQgdG8KLy8gdGhlIGZpcnN0IHBvb2wgKGxpa2VseSBiZWNhdXNlIHZhbGlkYXRvciBpcyBzdW5zZXR0aW5nLiAgQW55IHRva2VucyBjdXJyZW50bHkgJ3Jlc2VydmVkJyBmb3Igc3Rha2VycyB0byBjbGFpbSB3aWxsCi8vIE5PVCBiZSBzZW50IGFzIHRoZXkgbXVzdCBiZSBoZWxkIGJhY2sgZm9yIHN0YWtlcnMgdG8gbGF0ZXIgY2xhaW0uCi8vIFsgT05MWSBPV05FUiBDQU4gQ0FMTF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7QWRkcmVzc30gcmVjZWl2ZXIgLSB0aGUgYWNjb3VudCB0byBzZW5kIHRoZSB0b2tlbnMgdG8gKG11c3QgYWxyZWFkeSBiZSBvcHRlZC1pbiB0byB0aGUgcmV3YXJkIHRva2VuKQovLyBAcmV0dXJucyB7dWludDY0fSB0aGUgYW1vdW50IG9mIHJld2FyZCB0b2tlbiBzZW50CmVtcHR5VG9rZW5SZXdhcmRzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQzCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDcKCS8vIHJld2FyZFRva2VuSWQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRUb2tlbklkCglpbnQgMTUzCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA0OAoJLy8gcmV3YXJkVG9rZW5IZWxkQmFjayA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjawoJaW50IDI2MAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDkKCS8vIGFzc2VydChyZXdhcmRUb2tlbklkICE9PSAwLCAidGhpcyB2YWxpZGF0b3IgZG9lc24ndCBoYXZlIGEgcmV3YXJkIHRva2VuIGRlZmluZWQiKQoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0CglpbnQgMAoJIT0KCgkvLyB0aGlzIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgYSByZXdhcmQgdG9rZW4gZGVmaW5lZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTAKCS8vIHBvb2xPbmVBcHBJZCA9IEFwcElELmZyb21VaW50NjQodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpCglpbnQgMjY4CglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDUyCgkvLyB0b2tlblJld2FyZEJhbCA9IHBvb2xPbmVBcHBJZC5hZGRyZXNzLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDIgLy8gcG9vbE9uZUFwcElkOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgktCglmcmFtZV9idXJ5IDMgLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU1CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLnBheVRva2VuUmV3YXJkPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbcmVjZWl2ZXIsIHJld2FyZFRva2VuSWQsIHRva2VuUmV3YXJkQmFsXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU2CgkvLyBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQKCWZyYW1lX2RpZyAyIC8vIHBvb2xPbmVBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1NwoJLy8gbWV0aG9kQXJnczogW3JlY2VpdmVyLCByZXdhcmRUb2tlbklkLCB0b2tlblJld2FyZEJhbF0KCWZyYW1lX2RpZyAtMiAvLyByZWNlaXZlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAzIC8vIHRva2VuUmV3YXJkQmFsOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU5CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sT25lQXBwSWQuYWRkcmVzcy5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHJld2FyZFRva2VuSWQpKSA9PT0gcmV3YXJkVG9rZW5IZWxkQmFjaywKCS8vICAgICAgICdiYWxhbmNlIG9mIHJlbWFpbmluZyByZXdhcmQgdG9rZW5zIHNob3VsZCBtYXRjaCB0aGUgaGVsZCBiYWNrIGFtb3VudCcKCS8vICAgICApCglmcmFtZV9kaWcgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMSAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCT09CgoJLy8gYmFsYW5jZSBvZiByZW1haW5pbmcgcmV3YXJkIHRva2VucyBzaG91bGQgbWF0Y2ggdGhlIGhlbGQgYmFjayBhbW91bnQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDYzCgkvLyByZXR1cm4gdG9rZW5SZXdhcmRCYWw7CglmcmFtZV9kaWcgMyAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiB2b2lkCi8vCi8vIExvZ3MgdGhlIGFkZGl0aW9uIG9mIGEgbmV3IHZhbGlkYXRvciB0byB0aGUgc3lzdGVtLCBpdHMgaW5pdGlhbCBvd25lciBhbmQgbWFuYWdlcgovLwovLwovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyIHZlcmlmaWVzIHRoZSBwYXNzZWQgaW4ga2V5IChmcm9tIGEgc3Rha2luZyBwb29sIGNhbGxpbmcgdXMgdG8gdXBkYXRlIG1ldHJpY3MpIGlzIHZhbGlkCi8vIGFuZCBtYXRjaGVzIHRoZSBpbmZvcm1hdGlvbiB3ZSBoYXZlIGluIG91ciBzdGF0ZS4gICdGYWtlJyBwb29scyBjb3VsZCBjYWxsIHVzIHRvIHVwZGF0ZSBvdXIgZGF0YSwgYnV0IHRoZXkKLy8gY2FuJ3QgZmFrZSB0aGUgaWRzIGFuZCBtb3N0IGltcG9ydGFudGx5IGFwcGxpY2F0aW9uIGlkKCEpIG9mIHRoZSBjYWxsZXIgdGhhdCBoYXMgdG8gbWF0Y2guCnZlcmlmeVBvb2xLZXlDYWxsZXI6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2MQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS5leGlzdHMsICJ0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gdGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYyCgkvLyBhc3NlcnQocG9vbEtleS5wb29sSWQgPD0gTUFYX1BPT0xTLCAncG9vbCBpZCBub3QgaW4gdmFsaWQgcmFuZ2UnKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMjQKCTw9CgoJLy8gcG9vbCBpZCBub3QgaW4gdmFsaWQgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYzCgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sS2V5LnBvb2xJZCA+IDAgJiYgKHBvb2xLZXkucG9vbElkIGFzIHVpbnQxNikgPD0gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzLAoJLy8gICAgICAgJ3Bvb2wgaWQgb3V0c2lkZSBvZiByYW5nZSBvZiBwb29scyBjcmVhdGVkIGZvciB0aGlzIHZhbGlkYXRvcicKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAwCgk+CglkdXAKCWJ6ICpza2lwX2FuZDIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDI0MgoJaW50IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJPD0KCSYmCgoqc2tpcF9hbmQyOgoJLy8gcG9vbCBpZCBvdXRzaWRlIG9mIHJhbmdlIG9mIHBvb2xzIGNyZWF0ZWQgZm9yIHRoaXMgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgcG9vbEtleS5wb29sQXBwSWQgPT09IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnBvb2xBcHBJZCwKCS8vICAgICAgICJUaGUgcGFzc2VkIGluIGFwcCBpZCBkb2Vzbid0IG1hdGNoIHRoZSBwYXNzZWQgaW4gaWRzIgoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk9PQoKCS8vIFRoZSBwYXNzZWQgaW4gYXBwIGlkIGRvZXNuJ3QgbWF0Y2ggdGhlIHBhc3NlZCBpbiBpZHMKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTc0CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNzYKCS8vIGFzc2VydChwb29sS2V5LmlkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3ZhbGlkYXRvcklkJykgYXMgdWludDY0KSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmdsb2JhbFN0YXRlKCd2YWxpZGF0b3JJZCcpCglhc3NlcnQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE3NwoJLy8gYXNzZXJ0KHBvb2xLZXkucG9vbElkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3Bvb2xJZCcpIGFzIHVpbnQ2NCkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgncG9vbElkJykKCWFzc2VydAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyByZXZlcmlmeU5GRE93bmVyc2hpcCh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogdm9pZAovLwovLyBUaGlzIG1ldGhvZCB2ZXJpZmllcyB0aGUgb3duZXJzaGlwIG9mIE5GRCAoTmFtZWQgRnVuY3Rpb24gRGF0YSkgYnkgYSB2YWxpZGF0b3IuCi8vIElmIHRoZSBvd25lcnNoaXAgaXMgbm8gbG9uZ2VyIHZhbGlkLCBpdCByZW1vdmVzIHRoZSBORkQgZnJvbSB0aGUgdmFsaWRhdG9yJ3MgY29uZmlndXJhdGlvbi4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3Igd2hvc2UgZGF0YSBzaG91bGQgYmUgcmUtZXZhbHVhdGVkLgpyZXZlcmlmeU5GRE93bmVyc2hpcDoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE4NwoJLy8gdmFsaWRhdG9yQ29uZmlnID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsaWRhdG9yQ29uZmlnCgoJLy8gKmlmMjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE4OAoJLy8gdmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8gIT09IDAKCWludCA3MgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJIT0KCWJ6ICppZjI4X2VuZAoKCS8vICppZjI4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTkxCgkvLyBuZmRPd25lciA9IEFwcElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKSBhcyBBZGRyZXNzCglpbnQgNzIKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEgLy8gbmZkT3duZXI6IGFkZHJlc3MKCgkvLyAqaWYyOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTkzCgkvLyB2YWxpZGF0b3JDb25maWcub3duZXIgIT09IG5mZE93bmVyICYmIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyICE9PSBuZmRPd25lcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQzCglpbnQgNDAKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJJiYKCipza2lwX2FuZDM6CglieiAqaWYyOV9lbmQKCgkvLyAqaWYyOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE5NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IDAKCWludCA3MgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYyOV9lbmQ6CgoqaWYyOF9lbmQ6CglyZXRzdWIKCi8vIHZhbGlkYXRlQ29uZmlnKGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnKTogdm9pZAp2YWxpZGF0ZUNvbmZpZzoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjAyCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcuZW50cnlHYXRpbmdUeXBlID49IEdBVElOR19UWVBFX05PTkUgJiYgY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA8PSBHQVRJTkdfVFlQRV9DT05TVF9NQVgsCgkvLyAgICAgICAnZ2F0aW5nIHR5cGUgbm90IHZhbGlkJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnQgMAoJPj0KCWR1cAoJYnogKnNraXBfYW5kNAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludCA0Cgk8PQoJJiYKCipza2lwX2FuZDQ6CgkvLyBnYXRpbmcgdHlwZSBub3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjA2CgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcuZXBvY2hSb3VuZExlbmd0aCA+PSBNSU5fRVBPQ0hfTEVOR1RIICYmIGNvbmZpZy5lcG9jaFJvdW5kTGVuZ3RoIDw9IE1BWF9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICAnZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnQgMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kNQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnQgMTAwMDAwMAoJPD0KCSYmCgoqc2tpcF9hbmQ1OgoJLy8gZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjEwCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yID49IE1JTl9QQ1RfVE9fVkFMSURBVE9SICYmIGNvbmZpZy5wZXJjZW50VG9WYWxpZGF0b3IgPD0gTUFYX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICAnY29tbWlzc2lvbiBwZXJjZW50YWdlIG5vdCB2YWxpZCcKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAwCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ2CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAxMDAwMDAwCgk8PQoJJiYKCipza2lwX2FuZDY6CgkvLyBjb21taXNzaW9uIHBlcmNlbnRhZ2Ugbm90IHZhbGlkCglhc3NlcnQKCgkvLyAqaWYzMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjE0CgkvLyBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yICE9PSAwCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAwCgkhPQoJYnogKmlmMzBfZW5kCgoJLy8gKmlmMzBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMTUKCS8vIGFzc2VydCgKCS8vICAgICAgICAgY29uZmlnLnZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzLAoJLy8gICAgICAgICAndmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBzZXQgaWYgcGVyY2VudCB0byB2YWxpZGF0b3IgaXMgbm90IDAnCgkvLyAgICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTc3IDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBzZXQgaWYgcGVyY2VudCB0byB2YWxpZGF0b3IgaXMgbm90IDAKCWFzc2VydAoKKmlmMzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMjAKCS8vIGFzc2VydChjb25maWcubWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIwOSA4CglidG9pCglpbnQgMTAwMDAwMAoJPj0KCgkvLyBzdGFraW5nIHBvb2wgbXVzdCBoYXZlIG1pbmltdW0gZW50cnkgb2YgMSBhbGdvCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyMgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgY29uZmlnLnBvb2xzUGVyTm9kZSA+IDAgJiYgY29uZmlnLnBvb2xzUGVyTm9kZSA8PSBNQVhfUE9PTFNfUEVSX05PREUsCgkvLyAgICAgICAnbnVtYmVyIG9mIHBvb2xzIHBlciBub2RlIGV4Y2VlZHMgYWxsb3dlZCBudW1iZXInCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNSAxCglidG9pCglpbnQgMAoJPgoJZHVwCglieiAqc2tpcF9hbmQ3CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjI1IDEKCWJ0b2kKCWludCAzCgk8PQoJJiYKCipza2lwX2FuZDc6CgkvLyBudW1iZXIgb2YgcG9vbHMgcGVyIG5vZGUgZXhjZWVkcyBhbGxvd2VkIG51bWJlcgoJYXNzZXJ0CgoJLy8gKmlmMzFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyNgoJLy8gY29uZmlnLnN1bnNldHRpbmdPbiAhPT0gMAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNiA4CglidG9pCglpbnQgMAoJIT0KCWJ6ICppZjMxX2VuZAoKCS8vICppZjMxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjI3CgkvLyBhc3NlcnQoY29uZmlnLnN1bnNldHRpbmdPbiA+IGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wLCAnc3Vuc2V0dGluZ09uIG11c3QgYmUgbGF0ZXIgdGhhbiBub3cgaWYgc2V0JykKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMjYgOAoJYnRvaQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJPgoKCS8vIHN1bnNldHRpbmdPbiBtdXN0IGJlIGxhdGVyIHRoYW4gbm93IGlmIHNldAoJYXNzZXJ0CgoqaWYzMV9lbmQ6CglyZXRzdWIKCi8vIGNhbGxQb29sQWRkU3Rha2Uoc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuLCBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBtYnJBbXRQYWlkOiB1aW50NjQsIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2xlYW4sIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbik6IHZvaWQKLy8KLy8gQWRkcyBhIHN0YWtlcnMgYW1vdW50IG9mIGFsZ28gdG8gYSB2YWxpZGF0b3IgcG9vbCwgdHJhbnNmZXJyaW5nIHRoZSBhbGdvIHdlIHJlY2VpdmVkIGZyb20gdGhlbSAoYWxyZWFkeSB2ZXJpZmllZAovLyBieSBvdXIgY2FsbGVyKSB0byB0aGUgc3Rha2luZyBwb29sIGFjY291bnQsIGFuZCB0aGVuIHRlbGxpbmcgaXQgYWJvdXQgdGhlIGFtb3VudCBiZWluZyBhZGRlZCBmb3IgdGhlIHNwZWNpZmllZAovLyBzdGFrZXIuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sS2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsaWRhdG9yIHBvb2wuCi8vIEBwYXJhbSB7dWludDY0fSBtYnJBbXRQYWlkIC0gQW1vdW50IHRoZSB1c2VyIGlzIGxlYXZpbmcgYmVoaW5kIGluIHRoZSB2YWxpZGF0b3IgdG8gcGF5IGZvciB0aGVpciBzdGFrZXIgTUJSIGNvc3QKLy8gQHBhcmFtIHtib29sZWFufSBpc05ld1N0YWtlclRvVmFsaWRhdG9yIC0gaWYgdGhpcyBpcyBhIG5ldywgZmlyc3QtdGltZSBzdGFrZXIgdG8gdGhlIHZhbGlkYXRvcgovLyBAcGFyYW0ge2Jvb2xlYW59IGlzTmV3U3Rha2VyVG9Qcm90b2NvbCAtIGlmIHRoaXMgaXMgYSBuZXcsIGZpcnN0LXRpbWUgc3Rha2VyIHRvIHRoZSBwcm90b2NvbApjYWxsUG9vbEFkZFN0YWtlOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjQ5CgkvLyBwb29sQXBwSWQgPSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS5wb29sQXBwSWQKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1MwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5hZGRTdGFrZSwgdWludDY0Pih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgLy8gVEhJUyBJUyBBIFNFTkQgb2YgdGhlIGFtb3VudCByZWNlaXZlZCByaWdodCBiYWNrIG91dCBhbmQgaW50byB0aGUgc3Rha2luZyBwb29sIGNvbnRyYWN0IGFjY291bnQuCgkvLyAgICAgICAgIHsgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQsIHJlY2VpdmVyOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuYWRkcmVzcyB9LAoJLy8gICAgICAgICAvLyA9PT09PT09CgkvLyAgICAgICAgIHN0YWtlZEFtb3VudFBheW1lbnQuc2VuZGVyLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyByZWNlaXZlcjogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1NAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpCglmcmFtZV9kaWcgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTUKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgLy8gPT09PT09PQoJLy8gICAgICAgICAvLyBUSElTIElTIEEgU0VORCBvZiB0aGUgYW1vdW50IHJlY2VpdmVkIHJpZ2h0IGJhY2sgb3V0IGFuZCBpbnRvIHRoZSBzdGFraW5nIHBvb2wgY29udHJhY3QgYWNjb3VudC4KCS8vICAgICAgICAgeyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZCwgcmVjZWl2ZXI6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5hZGRyZXNzIH0sCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgc3Rha2VkQW1vdW50UGF5bWVudC5zZW5kZXIsCgkvLyAgICAgICBdCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglidG9pCgoJLy8gKmlmMzJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2MwoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCA1MDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCA1MDAKCTwKCWJ6ICppZjMyX2VuZAoKCS8vICppZjMyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjY0CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWYzMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2OAoJLy8gcG9vbE51bVN0YWtlcnMgPSBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ251bVN0YWtlcnMnKSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdudW1TdGFrZXJzJykKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xOdW1TdGFrZXJzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2OQoJLy8gcG9vbEFsZ29TdGFrZWQgPSBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3N0YWtlZCcpIGFzIHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3N0YWtlZCcpCglhc3NlcnQKCWZyYW1lX2J1cnkgMiAvLyBwb29sQWxnb1N0YWtlZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsU3Rha2VycyA9IHBvb2xOdW1TdGFrZXJzIGFzIHVpbnQxNgoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDggLy8gaGVhZE9mZnNldAoJKwoJZnJhbWVfZGlnIDEgLy8gcG9vbE51bVN0YWtlcnM6IHVpbnQ2NAoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjcxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgPSBwb29sQWxnb1N0YWtlZAoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWZyYW1lX2RpZyAyIC8vIHBvb2xBbGdvU3Rha2VkOiB1aW50NjQKCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vICppZjMzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzQKCS8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IKCWZyYW1lX2RpZyAtNCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sZWFuCglieiAqaWYzM19lbmQKCgkvLyAqaWYzM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsU3Rha2VycyArPSAxCglpbnQgMjQ0CglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludCAxCgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjMzX2VuZDoKCS8vICppZjM0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzcKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbAoJZnJhbWVfZGlnIC01IC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbgoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzgKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSArPSAxCglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCSsKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoqaWYzNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4MAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCArPSBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQKCWludCAyNTIKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4MQoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyB1cGRhdGVTdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IHZvaWQKdXBkYXRlU3Rha2VyUG9vbFNldDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NQoJLy8gYXNzZXJ0KHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cykKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NwoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDAgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg4CgkvLyBmaXJzdEVtcHR5ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzc6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OQoJLy8gaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgNgoJPAoJYnogKmZvcl83X2VuZAoKCS8vICppZjM1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTAKCS8vIHBvb2xTZXRbaV0gPT09IHBvb2xLZXkKCWZyYW1lX2RpZyAwIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5Cgk9PQoJYnogKmlmMzVfZW5kCgoJLy8gKmlmMzVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTIKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmMzVfZW5kOgoJLy8gKmlmMzZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5NAoJLy8gZmlyc3RFbXB0eSA9PT0gMCAmJiBwb29sU2V0W2ldLmlkID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJZHVwCglieiAqc2tpcF9hbmQ4CglmcmFtZV9kaWcgMCAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMAoJPT0KCSYmCgoqc2tpcF9hbmQ4OgoJYnogKmlmMzZfZW5kCgoJLy8gKmlmMzZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTUKCS8vIGZpcnN0RW1wdHkgPSBpICsgMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoKKmlmMzZfZW5kOgoKKmZvcl83X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODkKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzcKCipmb3JfN19lbmQ6CgkvLyAqaWYzN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjk4CgkvLyBmaXJzdEVtcHR5ID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmMzdfZW5kCgoJLy8gKmlmMzdfY29uc2VxdWVudAoJLy8gTm8gZW1wdHkgc2xvdCBhdmFpbGFibGUgaW4gdGhlIHN0YWtlciBwb29sIHNldAoJZXJyCgoqaWYzN19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMwMQoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWVbZmlyc3RFbXB0eSAtIDFdID0gcG9vbEtleQoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnQgMQoJLQoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIHJlbW92ZUZyb21TdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFtib29sZWFuLCBib29sZWFuXQovLwovLyBSZW1vdmVzIGEgcG9vbCBrZXkgZnJvbSB0aGUgc3Rha2VyJ3MgYWN0aXZlIHBvb2wgc2V0IC0gZmFpbHMgaWYgbm90IGZvdW5kICghKQovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFRoZSBwb29sIGtleSB0aGV5IHNob3VsZCBiZSBzdG9yZWQgaW4KLy8KLy8gQHJldHVybiBbYm9vbGVhbiwgYm9vbGVhbl0gW2lzIHRoZSBzdGFrZXIgZ29uZSBmcm9tIEFMTCBwb29scyBvZiB0aGUgZ2l2ZW4gVkFMSURBVE9SLCBhbmQgaXMgc3Rha2VyIGdvbmUgZnJvbSBBTEwgcG9vbHNdCnJlbW92ZUZyb21TdGFrZXJQb29sU2V0OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE0CgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTUKCS8vIGluQW55UG9vbENvdW50ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTYKCS8vIGZvdW5kID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOAoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfODoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpIDwgdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCA2Cgk8CglieiAqZm9yXzhfZW5kCgoJLy8gKmlmMzhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyMAoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJaW50IDAKCT09CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgliICpmb3JfOF9jb250aW51ZQoKKmlmMzhfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjMKCS8vIGluQW55UG9vbENvdW50ICs9IDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gaW5BbnlQb29sQ291bnQ6IHVpbnQ2NAoKCS8vICppZjM5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjQKCS8vIHBvb2xTZXRbaV0uaWQgPT09IHBvb2xLZXkuaWQKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vICppZjQwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjUKCS8vIHBvb2xTZXRbaV0gPT09IHBvb2xLZXkKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5Cgk9PQoJYnogKmlmNDBfZWxzZQoKCS8vICppZjQwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI2CgkvLyBmb3VuZCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyOAoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWVbaV0gPSB7IGlkOiAwLCBwb29sSWQ6IDAsIHBvb2xBcHBJZDogMCB9CglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgliICppZjQwX2VuZAoKKmlmNDBfZWxzZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzMwCgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCippZjQwX2VuZDoKCippZjM5X2VuZDoKCipmb3JfOF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpICs9IDEKCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCWIgKmZvcl84CgoqZm9yXzhfZW5kOgoJLy8gKmlmNDFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzNAoJLy8gIWZvdW5kCglmcmFtZV9kaWcgMiAvLyBmb3VuZDogYm9vbAoJIQoJYnogKmlmNDFfZW5kCgoJLy8gKmlmNDFfY29uc2VxdWVudAoJLy8gTm8gbWF0Y2hpbmcgc2xvdCBmb3VuZCB3aGVuIHRvbGQgdG8gcmVtb3ZlIGEgcG9vbCBmcm9tIHRoZSBzdGFrZXJzIHNldAoJZXJyCgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzOAoJLy8gcmV0dXJuIFtpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPT09IDAsIGluQW55UG9vbENvdW50ID09PSAwXTsKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CglpbnQgMAoJPT0KCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludCAwCgk9PQoJc2V0Yml0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgovLyBhZGRQb29sVG9Ob2RlKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHBvb2xBcHBJZDogdWludDY0LCBub2RlTnVtOiB1aW50NjQpOiB2b2lkCmFkZFBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDIKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnQgOTAwIC8vIGhlYWRPZmZzZXQKCWludCAxOTIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQzCgkvLyBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcucG9vbHNQZXJOb2RlIGFzIHVpbnQ2NAoJaW50IDIyNQoJaW50IDEKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDUKCS8vIGFzc2VydChub2RlTnVtID49IDEgJiYgbm9kZU51bSA8PSBNQVhfTk9ERVMsICdub2RlIG51bWJlciBub3QgaW4gdmFsaWQgcmFuZ2UnKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50IDEKCT49CglkdXAKCWJ6ICpza2lwX2FuZDkKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCA4Cgk8PQoJJiYKCipza2lwX2FuZDk6CgkvLyBub2RlIG51bWJlciBub3QgaW4gdmFsaWQgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3I7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzk6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0NwoJLy8gaSA8IG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3IKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcjogdWludDY0Cgk8CglieiAqZm9yXzlfZW5kCgoJLy8gKmlmNDJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0OAoJLy8gbm9kZVBvb2xBc3NpZ25tZW50cy5ub2Rlc1tub2RlTnVtIC0gMV0ucG9vbEFwcElkc1tpXSA9PT0gMAoJZnJhbWVfZGlnIDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoJaW50IDAKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjQyX2VuZAoKCS8vICppZjQyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzUwCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbbm9kZU51bSAtIDFdLnBvb2xBcHBJZHNbaV0gPSBwb29sQXBwSWQKCWludCA5MDAKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzUxCgkvLyByZXR1cm47CglyZXRzdWIKCippZjQyX2VuZDoKCipmb3JfOV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl85CgoqZm9yXzlfZW5kOgoJLy8gbm8gYXZhaWxhYmxlIHNwYWNlIGluIHNwZWNpZmllZCBub2RlIGZvciB0aGlzIHBvb2wKCWVycgoJcmV0c3ViCgovLyBkb2VzU3Rha2VyTWVldEdhdGluZyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQpOiB2b2lkCi8vCi8vIENoZWNrcyBpZiBhIHN0YWtlciBtZWV0cyB0aGUgZ2F0aW5nIHJlcXVpcmVtZW50cyBzcGVjaWZpZWQgYnkgdGhlIHZhbGlkYXRvci4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWx1ZVRvVmVyaWZ5IC0gVGhlIHZhbHVlIHRvIHZlcmlmeSBhZ2FpbnN0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzLgovLyBAcmV0dXJucyB7dm9pZH0gb3IgYXNzZXJ0cyBpZiByZXF1aXJlbWVudHMgbm90IG1ldC4KZG9lc1N0YWtlck1lZXRHYXRpbmc6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNjUKCS8vIHR5cGUgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ1R5cGUKCWludCA4MAoJaW50IDEKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gdHlwZTogdWludDgKCgkvLyAqaWY0M19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY2CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9OT05FCglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDAKCT09CglieiAqaWY0M19lbmQKCgkvLyAqaWY0M19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2NwoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWY0M19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2OQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDEgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNzAKCS8vIGNvbmZpZyA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnKQoJaW50IDAKCWludCAyNDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzc0CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVFNfQ1JFQVRFRF9CWSB8fAoJLy8gICAgICAgdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRfSUQgfHwKCS8vICAgICAgIHR5cGUgPT09IEdBVElOR19UWVBFX0NSRUFURURfQllfTkZEX0FERFJFU1NFUwoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludCAxCgk9PQoJZHVwCglibnogKnNraXBfb3I0CglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDIKCT09Cgl8fAoKKnNraXBfb3I0OgoJZHVwCglibnogKnNraXBfb3I1CglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDMKCT09Cgl8fAoKKnNraXBfb3I1OgoJYnogKmlmNDRfZW5kCgoJLy8gKmlmNDRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNzgKCS8vIGFzc2VydCh2YWx1ZVRvVmVyaWZ5ICE9PSAwKQoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3OQoJLy8gYmFsUmVxdWlyZWQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5nYXRpbmdBc3NldE1pbkJhbGFuY2UKCWludCAxNDUKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCgkvLyAqaWY0NV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzgwCgkvLyBiYWxSZXF1aXJlZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWY0NV9lbmQKCgkvLyAqaWY0NV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4MQoJLy8gYmFsUmVxdWlyZWQgPSAxCglpbnQgMQoJZnJhbWVfYnVyeSAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCippZjQ1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzgzCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHN0YWtlci5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpKSA+PSBiYWxSZXF1aXJlZCwKCS8vICAgICAgICAgJ211c3QgaGF2ZSByZXF1aXJlZCBtaW5pbXVtIGJhbGFuY2Ugb2YgdmFsaWRhdG9yIGRlZmluZWQgdG9rZW4gdG8gYWRkIHN0YWtlJwoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDEgLy8gc3Rha2VyOiBhZGRyZXNzCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoJPj0KCgkvLyBtdXN0IGhhdmUgcmVxdWlyZWQgbWluaW11bSBiYWxhbmNlIG9mIHZhbGlkYXRvciBkZWZpbmVkIHRva2VuIHRvIGFkZCBzdGFrZQoJYXNzZXJ0CgoqaWY0NF9lbmQ6CgkvLyAqaWY0Nl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzg4CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVFNfQ1JFQVRFRF9CWQoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludCAxCgk9PQoJYnogKmlmNDZfZW5kCgoJLy8gKmlmNDZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpLmNyZWF0b3IgPT09IGNvbmZpZy5lbnRyeUdhdGluZ0FkZHJlc3MsCgkvLyAgICAgICAgICdzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBjcmVhdGVkIGJ5IGNyZWF0b3IgdGhhdCB0aGUgdmFsaWRhdG9yIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZScKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDgxIDMyCgk9PQoKCS8vIHNwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IHRoZSB2YWxpZGF0b3IgZGVmaW5lZCBhcyBhIHJlcXVpcmVtZW50IHRvIHN0YWtlCglhc3NlcnQKCippZjQ2X2VuZDoKCS8vICppZjQ3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTQKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX0FTU0VUX0lECglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDIKCT09CglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NQoJLy8gYXNzZXJ0KHZhbHVlVG9WZXJpZnkgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglpbnQgMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk2CgkvLyBmb3VuZCA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSA0IC8vIGZvdW5kOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTcKCS8vIGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0cwoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTEzIDMyCglkdXAKCWZyYW1lX2J1cnkgNSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTgKCS8vIHZhbHVlVG9WZXJpZnkgPT09IGFzc2V0SWQKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGFzc2V0SWQ6IHVpbnQ2NAoJPT0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk5CgkvLyBmb3VuZCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDQgLy8gZm91bmQ6IGJvb2wKCWIgKmZvck9mXzBfZW5kCgoqaWY0OF9lbmQ6CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMzIgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyA1IC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwMwoJLy8gYXNzZXJ0KGZvdW5kLCAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgaWRlbnRpY2FsIHRvIHRoZSBhc3NldCBpZCBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UnKQoJZnJhbWVfZGlnIDQgLy8gZm91bmQ6IGJvb2wKCgkvLyBzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBpZGVudGljYWwgdG8gdGhlIGFzc2V0IGlkIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZQoJYXNzZXJ0CgoqaWY0N19lbmQ6CgkvLyAqaWY0OV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA1CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnQgMwoJPT0KCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA4CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSwgQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpLmNyZWF0b3IpLAoJLy8gICAgICAgICAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgY3JlYXRlZCBieSBjcmVhdG9yIHRoYXQgaXMgb25lIG9mIHRoZSBsaW5rZWQgYWRkcmVzc2VzIGluIGFuIG5mZCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoKCS8vIHNwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IGlzIG9uZSBvZiB0aGUgbGlua2VkIGFkZHJlc3NlcyBpbiBhbiBuZmQKCWFzc2VydAoKKmlmNDlfZW5kOgoJLy8gKmlmNTBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxMwoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfU0VHTUVOVF9PRl9ORkQKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnQgNAoJPT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE1CgkvLyB1c2VyT2ZmZXJlZE5GREFwcElEID0gdmFsdWVUb1ZlcmlmeQoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfYnVyeSA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE2CgkvLyBhc3NlcnQodGhpcy5pc05GREFwcElEVmFsaWQodXNlck9mZmVyZWRORkRBcHBJRCksICdwcm92aWRlZCBORkQgbXVzdCBiZSB2YWxpZCcpCglmcmFtZV9kaWcgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCWNhbGxzdWIgaXNORkRBcHBJRFZhbGlkCgoJLy8gcHJvdmlkZWQgTkZEIG11c3QgYmUgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE5CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHJhd0J5dGVzKEFwcElELmZyb21VaW50NjQodXNlck9mZmVyZWRORkRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpIGFzIEFkZHJlc3MpID09PSByYXdCeXRlcyhzdGFrZXIpIHx8CgkvLyAgICAgICAgICAgdGhpcy5pc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QodXNlck9mZmVyZWRORkRBcHBJRCwgc3Rha2VyKSwKCS8vICAgICAgICAgInByb3ZpZGVkIG5mZCBmb3IgZW50cnkgaXNuJ3Qgb3duZWQgb3IgbGlua2VkIHRvIHRoZSBzdGFrZXIiCgkvLyAgICAgICApCglmcmFtZV9kaWcgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCWJ5dGUgMHg2OTJlNmY3NzZlNjU3MjJlNjEgLy8gImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9kaWcgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjYKCWZyYW1lX2RpZyAxIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoJfHwKCipza2lwX29yNjoKCS8vIHByb3ZpZGVkIG5mZCBmb3IgZW50cnkgaXNuJ3Qgb3duZWQgb3IgbGlua2VkIHRvIHRoZSBzdGFrZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDI2CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIGJ0b2koQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5wYXJlbnRBcHBJRCcpIGFzIGJ5dGVzKSA9PT0KCS8vICAgICAgICAgICBjb25maWcuZW50cnlHYXRpbmdBc3NldHNbMF0sCgkvLyAgICAgICAgICdzcGVjaWZpZWQgbmZkIG11c3QgYmUgYSBzZWdtZW50IG9mIHRoZSBuZmQgdGhlIHZhbGlkYXRvciBzcGVjaWZpZWQgYXMgYSByZXF1aXJlbWVudCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJYnl0ZSAweDY5MmU3MDYxNzI2NTZlNzQ0MTcwNzA0OTQ0IC8vICJpLnBhcmVudEFwcElEIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodXNlck9mZmVyZWRORkRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kucGFyZW50QXBwSUQnKQoJYXNzZXJ0CglidG9pCglmcmFtZV9kaWcgMiAvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMTMgOAoJYnRvaQoJPT0KCgkvLyBzcGVjaWZpZWQgbmZkIG11c3QgYmUgYSBzZWdtZW50IG9mIHRoZSBuZmQgdGhlIHZhbGlkYXRvciBzcGVjaWZpZWQgYXMgYSByZXF1aXJlbWVudAoJYXNzZXJ0CgoqaWY1MF9lbmQ6CglyZXRzdWIKCi8vIGlzTkZEQXBwSURWYWxpZChuZmRBcHBJRDogdWludDY0KTogYm9vbGVhbgovLwovLyBDaGVja3MgaWYgdGhlIGdpdmVuIE5GRCBBcHAgaWQgaXMgdmFsaWQuICBVc2luZyBvbmx5IHRoZSBBcHAgaWQgdGhlcmUncyBubyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIG5hbWUgKGllOiB0aGF0IG5mZCBYIGlzIG5hbWUgWSkKLy8gU28gaXQncyBhc3N1bWVkIGZvciB0aGUgY2FsbGVyLCB0aGUgYXBwIGlkIGFsb25lIGlzIGZpbmUuICBUaGUgbmFtZSBpcyBmZXRjaGVkIGZyb20gdGhlIHNwZWNpZmllZCBhcHAgaWQgYW5kIHRoZSB0d28KLy8gdG9nZXRoZXIgYXJlIHVzZWQgZm9yIHZhbGlkaXR5IGNoZWNrIGNhbGwgdG8gdGhlIG5mZCByZWdpc3RyeS4KLy8KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElEIC0gVGhlIE5GRCBBcHAgaWQgdG8gdmVyaWZ5LgovLwovLyBAcmV0dXJucyB7Ym9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIE5GRCBBcHAgaWQgaXMgdmFsaWQsIG90aGVyd2lzZSBmYWxzZS4KaXNORkRBcHBJRFZhbGlkOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ0NQoJLy8gdXNlck9mZmVyZWRORkROYW1lID0gQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kubmFtZScpIGFzIHN0cmluZwoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWJ5dGUgMHg2OTJlNmU2MTZkNjUgLy8gImkubmFtZSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKS5nbG9iYWxTdGF0ZSgnaS5uYW1lJykKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIHVzZXJPZmZlcmVkTkZETmFtZTogc3RyaW5nCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NDcKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCB1c2VyT2ZmZXJlZE5GRE5hbWUsIGl0b2IobmZkQXBwSUQpXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ0OAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ5CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgdXNlck9mZmVyZWRORkROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGUgMHg2OTczNWY3NjYxNmM2OTY0NWY2ZTY2NjQ1ZjYxNzA3MDY5NjQgLy8gImlzX3ZhbGlkX25mZF9hcHBpZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyB1c2VyT2ZmZXJlZE5GRE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDUwCgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ1MgoJLy8gcmV0dXJuIGJ0b2kodGhpcy5pdHhuLmxhc3RMb2cpID09PSAxOwoJaXR4biBMYXN0TG9nCglidG9pCglpbnQgMQoJPT0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KG5mZEFwcElEOiB1aW50NjQsIGFkZHJUb0ZpbmQ6IEFkZHJlc3MpOiBib29sZWFuCi8vCi8vIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIGFkZHJlc3MgaXMgcHJlc2VudCBpbiBhbiBORkRzIGxpc3Qgb2YgdmVyaWZpZWQgYWRkcmVzc2VzLgovLyBUaGUgTkZEIGlzIGFzc3VtZWQgdG8gaGF2ZSBhbHJlYWR5IGJlZW4gdmFsaWRhdGVkIGFzIG9mZmljaWFsLgovLwovLyBAcGFyYW0ge3VpbnQ2NH0gbmZkQXBwSUQgLSBUaGUgTkZEIGFwcGxpY2F0aW9uIGlkLgovLyBAcGFyYW0ge0FkZHJlc3N9IGFkZHJUb0ZpbmQgLSBUaGUgYWRkcmVzcyB0byBmaW5kIGluIHRoZSB2LmNhQWxnby4wLmFzIHByb3BlcnR5Ci8vIEByZXR1cm4ge2Jvb2xlYW59IC0gYHRydWVgIGlmIHRoZSBhZGRyZXNzIGlzIHByZXNlbnQsIGBmYWxzZWAgb3RoZXJ3aXNlLgppc0FkZHJlc3NJbk5GRENBQWxnb0xpc3Q6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3JlYWRfcHJvcGVydHknLCAndi5jYUFsZ28uMC5hcyddLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY1CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY2CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsncmVhZF9wcm9wZXJ0eScsICd2LmNhQWxnby4wLmFzJ10KCWJ5dGUgMHg3MjY1NjE2NDVmNzA3MjZmNzA2NTcyNzQ3OSAvLyAicmVhZF9wcm9wZXJ0eSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4NzYyZTYzNjE0MTZjNjc2ZjJlMzAyZTYxNzMgLy8gInYuY2FBbGdvLjAuYXMiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OAoJLy8gY2FBbGdvRGF0YSA9IHRoaXMuaXR4bi5sYXN0TG9nCglpdHhuIExhc3RMb2cKCWZyYW1lX2J1cnkgMCAvLyBjYUFsZ29EYXRhOiBieXRlW10KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBjYUFsZ29EYXRhLmxlbmd0aDsgaSArPSAzMikKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzEwOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjkKCS8vIGkgPCBjYUFsZ29EYXRhLmxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBjYUFsZ29EYXRhOiBieXRlW10KCWxlbgoJPAoJYnogKmZvcl8xMF9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3MAoJLy8gYWRkciA9IGV4dHJhY3QzKGNhQWxnb0RhdGEsIGksIDMyKQoJZnJhbWVfZGlnIDAgLy8gY2FBbGdvRGF0YTogYnl0ZVtdCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludCAzMgoJZXh0cmFjdDMKCWZyYW1lX2J1cnkgMiAvLyBhZGRyOiBieXRlW10KCgkvLyAqaWY1MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDcxCgkvLyBhZGRyICE9PSByYXdCeXRlcyhnbG9iYWxzLnplcm9BZGRyZXNzKSAmJiBhZGRyID09PSByYXdCeXRlcyhhZGRyVG9GaW5kKQoJZnJhbWVfZGlnIDIgLy8gYWRkcjogYnl0ZVtdCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDEwCglmcmFtZV9kaWcgMiAvLyBhZGRyOiBieXRlW10KCWZyYW1lX2RpZyAtMiAvLyBhZGRyVG9GaW5kOiBBZGRyZXNzCgk9PQoJJiYKCipza2lwX2FuZDEwOgoJYnogKmlmNTFfZW5kCgoJLy8gKmlmNTFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NzIKCS8vIHJldHVybiB0cnVlOwoJaW50IDEKCWIgKmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdCpyZXR1cm4KCippZjUxX2VuZDoKCipmb3JfMTBfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OQoJLy8gaSArPSAzMgoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnQgMzIKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8xMAoKKmZvcl8xMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3NQoJLy8gcmV0dXJuIGZhbHNlOwoJaW50IDAKCippc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBhbGdvU2F0dXJhdGlvbkxldmVsKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBtYXhpbXVtIGFsbG93ZWQgc3Rha2UgcGVyIHZhbGlkYXRvciBiYXNlZCBvbiBhIHBlcmNlbnRhZ2Ugb2YgYWxsIGN1cnJlbnQgb25saW5lIHN0YWtlIGJlZm9yZQovLyB0aGUgdmFsaWRhdG9yIGlzIGNvbnNpZGVyZWQgc2F0dXJhdGVkIC0gd2hlcmUgcmV3YXJkcyBhcmUgZGltaW5pc2hlZC4KLy8gTk9URTogdGhpcyBmdW5jdGlvbiBpcyBkZWZpbmVkIHR3aWNlIC0gaGVyZSBhbmQgaW4gc3Rha2luZyBwb29sIGNvbnRyYWN0LiAgQm90aCBtdXN0IGJlIGlkZW50aWNhbC4KYWxnb1NhdHVyYXRpb25MZXZlbDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0ODQKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ4NgoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbb25saW5lLCBNQVhfVkFMSURBVE9SX1NPRlRfUENUX09GX09OTElORV8xREVDSU1BTF0sIFsxMDAwXSk7CglmcmFtZV9kaWcgMCAvLyBvbmxpbmU6IHVpbnQ2NAoJaW50IDEwMAoJbXVsdwoJaW50IDAKCWludCAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGxvd2VkU3Rha2UoKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgdmFsaWRhdG9yIGJhc2VkIG9uIGEgcGVyY2VudGFnZSBvZiBhbGwgY3VycmVudCBvbmxpbmUgc3Rha2UuCi8vIEFkZGluZyBzdGFrZSBpcyBjb21wbGV0ZWx5IGJsb2NrZWQgYXQgdGhpcyBhbW91bnQuCm1heEFsbG93ZWRTdGFrZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0OTQKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ5NgoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbb25saW5lLCBNQVhfVkFMSURBVE9SX0hBUkRfUENUX09GX09OTElORV8xREVDSU1BTF0sIFsxMDAwXSk7CglmcmFtZV9kaWcgMCAvLyBvbmxpbmU6IHVpbnQ2NAoJaW50IDE1MAoJbXVsdwoJaW50IDAKCWludCAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGdvQWxsb3dlZFBlclBvb2woKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgcG9vbCBhbmQgc3RpbGwgcmVjZWl2ZSBpbmNlbnRpdmVzIC0gd2UnbGwgdHJlYXQgdGhpcyBhcyB0aGUgJ21heCBwZXIgcG9vbCcKbWF4QWxnb0FsbG93ZWRQZXJQb29sOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDQKCS8vIHJldHVybiA3MF8wMDBfMDAwXzAwMF8wMDA7CglpbnQgNzBfMDAwXzAwMF8wMDBfMDAwCglyZXRzdWIKCi8vIGdldEN1cnJlbnRPbmxpbmVTdGFrZSgpOiB1aW50NjQKZ2V0Q3VycmVudE9ubGluZVN0YWtlOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDkKCS8vIHJldHVybiAyXzAwMF8wMDBfMDAwXzAwMF8wMDA7CglpbnQgMl8wMDBfMDAwXzAwMF8wMDBfMDAwCglyZXRzdWIKCi8vIG1pbkJhbGFuY2VGb3JBY2NvdW50KGNvbnRyYWN0czogdWludDY0LCBleHRyYVBhZ2VzOiB1aW50NjQsIGFzc2V0czogdWludDY0LCBsb2NhbEludHM6IHVpbnQ2NCwgbG9jYWxCeXRlczogdWludDY0LCBnbG9iYWxJbnRzOiB1aW50NjQsIGdsb2JhbEJ5dGVzOiB1aW50NjQpOiB1aW50NjQKbWluQmFsYW5jZUZvckFjY291bnQ6Cglwcm90byA3IDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTIxCgkvLyBtaW5CYWwgPSBBTEdPUkFORF9BQ0NPVU5UX01JTl9CQUxBTkNFCglpbnQgMTAwMDAwCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMgoJLy8gbWluQmFsICs9IGNvbnRyYWN0cyAqIEFQUExJQ0FUSU9OX0JBU0VfRkVFCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGNvbnRyYWN0czogdWludDY0CglpbnQgMTAwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMwoJLy8gbWluQmFsICs9IGV4dHJhUGFnZXMgKiBBUFBMSUNBVElPTl9CQVNFX0ZFRQoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBleHRyYVBhZ2VzOiB1aW50NjQKCWludCAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI0CgkvLyBtaW5CYWwgKz0gYXNzZXRzICogQVNTRVRfSE9MRElOR19GRUUKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYXNzZXRzOiB1aW50NjQKCWludCAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI1CgkvLyBtaW5CYWwgKz0gbG9jYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gbG9jYWxJbnRzOiB1aW50NjQKCWludCAyODUwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjYKCS8vIG1pbkJhbCArPSBnbG9iYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTYgLy8gZ2xvYmFsSW50czogdWludDY0CglpbnQgMjg1MDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI3CgkvLyBtaW5CYWwgKz0gbG9jYWxCeXRlcyAqIFNTQ19WQUxVRV9CWVRFUwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNSAvLyBsb2NhbEJ5dGVzOiB1aW50NjQKCWludCA1MDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjgKCS8vIG1pbkJhbCArPSBnbG9iYWxCeXRlcyAqIFNTQ19WQUxVRV9CWVRFUwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNyAvLyBnbG9iYWxCeXRlczogdWludDY0CglpbnQgNTAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI5CgkvLyByZXR1cm4gbWluQmFsOwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY29zdEZvckJveFN0b3JhZ2UodG90YWxOdW1CeXRlczogdWludDY0KTogdWludDY0CmNvc3RGb3JCb3hTdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MzYKCS8vIHJldHVybiBTQ0JPWF9QRVJCT1ggKyB0b3RhbE51bUJ5dGVzICogU0NCT1hfUEVSQllURTsKCWludCAyNTAwCglmcmFtZV9kaWcgLTEgLy8gdG90YWxOdW1CeXRlczogdWludDY0CglpbnQgNDAwCgkqCgkrCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQiCgltZXRob2QgImxvYWRTdGFraW5nQ29udHJhY3REYXRhKHVpbnQ2NCxieXRlW10pdm9pZCIKCW1ldGhvZCAiZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQiCgltZXRob2QgImdhcygpdm9pZCIKCW1ldGhvZCAiZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCgltZXRob2QgImdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiZ2V0TnVtVmFsaWRhdG9ycygpdWludDY0IgoJbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJbWV0aG9kICJnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpIgoJbWV0aG9kICJnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdIgoJbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KSIKCW1ldGhvZCAiZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sIgoJbWV0aG9kICJnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10iCgltZXRob2QgImdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCgltZXRob2QgImdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkiCgltZXRob2QgImdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NCIKCW1ldGhvZCAiYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NCIKCW1ldGhvZCAiY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImNoYW5nZVZhbGlkYXRvck5GRCh1aW50NjQsdWludDY0LHN0cmluZyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAic2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KSIKCW1ldGhvZCAic3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJbWV0aG9kICJmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKSIKCW1ldGhvZCAibW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0ICphYmlfcm91dGVfbG9hZFN0YWtpbmdDb250cmFjdERhdGEgKmFiaV9yb3V0ZV9maW5hbGl6ZVN0YWtpbmdDb250cmFjdCAqYWJpX3JvdXRlX2dhcyAqYWJpX3JvdXRlX2dldE1ickFtb3VudHMgKmFiaV9yb3V0ZV9nZXRQcm90b2NvbENvbnN0cmFpbnRzICphYmlfcm91dGVfZ2V0TnVtVmFsaWRhdG9ycyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvckNvbmZpZyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvclN0YXRlICphYmlfcm91dGVfZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyICphYmlfcm91dGVfZ2V0UG9vbHMgKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQgKmFiaV9yb3V0ZV9nZXRQb29sSW5mbyAqYWJpX3JvdXRlX2dldEN1ck1heFN0YWtlUGVyUG9vbCAqYWJpX3JvdXRlX2RvZXNTdGFrZXJOZWVkVG9QYXlNQlIgKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQgKmFiaV9yb3V0ZV9nZXRUb2tlblBheW91dFJhdGlvICphYmlfcm91dGVfZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyAqYWJpX3JvdXRlX2dldE5GRFJlZ2lzdHJ5SUQgKmFiaV9yb3V0ZV9hZGRWYWxpZGF0b3IgKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRCAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyAqYWJpX3JvdXRlX2FkZFBvb2wgKmFiaV9yb3V0ZV9hZGRTdGFrZSAqYWJpX3JvdXRlX3NldFRva2VuUGF5b3V0UmF0aW8gKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzICphYmlfcm91dGVfc3Rha2VSZW1vdmVkICphYmlfcm91dGVfZmluZFBvb2xGb3JTdGFrZXIgKmFiaV9yb3V0ZV9tb3ZlUG9vbFRvTm9kZSAqYWJpX3JvdXRlX2VtcHR5VG9rZW5SZXdhcmRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbjoKCW1ldGhvZCAidXBkYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgVXBkYXRlQXBwbGljYXRpb24KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9uZmRSZWdpc3RyeUFwcElkCmJ0b2kKc3RvcmUgMjAwCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjAyCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBZGRyZXNzLmZyb21BZGRyZXNzKCdMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRJykpCgl0eG4gU2VuZGVyCglhZGRyIExaNFYySVJWTENYRkpLNFJFSlY0VEFHRUtFWVRBMkdNUjZUQzIzNDRPQjNMM0FGM01XWFo2WkFGSVEKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjA0CgkvLyB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmRlbGV0ZSgpCglieXRlIDB4NzA2ZjZmNmM1NDY1NmQ3MDZjNjE3NDY1NDE3MDcwNzI2Zjc2NjE2YzQyNzk3NDY1NzMgLy8gInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglib3hfZGVsCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwNQoJLy8gdGhpcy5zdGFraW5nUG9vbEluaXRpYWxpemVkLnZhbHVlID0gZmFsc2UKCWJ5dGUgMHg2OTZlNjk3NCAvLyAiaW5pdCIKCWludCAwCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludCAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjA5CgkvLyB0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUgPSBmYWxzZQoJYnl0ZSAweDY5NmU2OTc0IC8vICJpbml0IgoJaW50IDAKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTAKCS8vIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSA9IDAKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTEKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWludCAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTIKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlID0gMAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJaW50IDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0OgoJLy8gYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbml0U3Rha2luZ0NvbnRyYWN0KHVpbnQ2NCl2b2lkCgljYWxsc3ViIGluaXRTdGFraW5nQ29udHJhY3QKCWludCAxCglyZXR1cm4KCi8vIGluaXRTdGFraW5nQ29udHJhY3QoYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0KTogdm9pZAppbml0U3Rha2luZ0NvbnRyYWN0OgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIxNwoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5jcmVhdGUoYXBwcm92YWxQcm9ncmFtU2l6ZSkKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWZyYW1lX2RpZyAtMSAvLyBhcHByb3ZhbFByb2dyYW1TaXplOiB1aW50NjQKCWJveF9jcmVhdGUKCXBvcAoJcmV0c3ViCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YSh1aW50NjQsYnl0ZVtdKXZvaWQKKmFiaV9yb3V0ZV9sb2FkU3Rha2luZ0NvbnRyYWN0RGF0YToKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBvZmZzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbG9hZFN0YWtpbmdDb250cmFjdERhdGEodWludDY0LGJ5dGVbXSl2b2lkCgljYWxsc3ViIGxvYWRTdGFraW5nQ29udHJhY3REYXRhCglpbnQgMQoJcmV0dXJuCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YShvZmZzZXQ6IHVpbnQ2NCwgZGF0YTogYnl0ZXMpOiB2b2lkCmxvYWRTdGFraW5nQ29udHJhY3REYXRhOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMQoJLy8gYXNzZXJ0KCF0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUpCglieXRlIDB4Njk2ZTY5NzQgLy8gImluaXQiCglhcHBfZ2xvYmFsX2dldAoJaW50IDAKCWdldGJpdAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMgoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5yZXBsYWNlKG9mZnNldCwgZGF0YSkKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGRhdGE6IGJ5dGVzCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpdm9pZAoqYWJpX3JvdXRlX2ZpbmFsaXplU3Rha2luZ0NvbnRyYWN0OgoJLy8gZXhlY3V0ZSBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpdm9pZAoJY2FsbHN1YiBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdAoJaW50IDEKCXJldHVybgoKLy8gZmluYWxpemVTdGFraW5nQ29udHJhY3QoKTogdm9pZApmaW5hbGl6ZVN0YWtpbmdDb250cmFjdDoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMjYKCS8vIHRoaXMuc3Rha2luZ1Bvb2xJbml0aWFsaXplZC52YWx1ZSA9IHRydWUKCWJ5dGUgMHg2OTZlNjk3NCAvLyAiaW5pdCIKCWludCAxCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZ2FzKCl2b2lkCiphYmlfcm91dGVfZ2FzOgoJLy8gZXhlY3V0ZSBnYXMoKXZvaWQKCWNhbGxzdWIgZ2FzCglpbnQgMQoJcmV0dXJuCgovLyBnYXMoKTogdm9pZAovLwovLyBnYXMgaXMgYSBkdW1teSBuby1vcCBjYWxsIHRoYXQgY2FuIGJlIHVzZWQgdG8gcG9vbC11cCByZXNvdXJjZSByZWZlcmVuY2VzIGFuZCBvcGNvZGUgY29zdApnYXM6Cglwcm90byAwIDAKCXJldHN1YgoKLy8gZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRNYnJBbW91bnRzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE1ickFtb3VudHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldE1ickFtb3VudHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRNYnJBbW91bnRzKCk6IE1ickFtb3VudHMKLy8KLy8gUmV0dXJucyB0aGUgTUJSIGFtb3VudHMgbmVlZGVkIGZvciB2YXJpb3VzIGFjdGlvbnM6Ci8vIFsKLy8gYWRkVmFsaWRhdG9yTWJyOiB1aW50NjQgLSBtYnIgbmVlZGVkIHRvIGFkZCBhIG5ldyB2YWxpZGF0b3IgLSBwYWlkIHRvIHZhbGlkYXRvciBjb250cmFjdAovLyBhZGRQb29sTWJyOiB1aW50NjQgLSBtYnIgbmVlZGVkIHRvIGFkZCBhIG5ldyBwb29sIC0gcGFpZCB0byB2YWxpZGF0b3IKLy8gcG9vbEluaXRNYnI6IHVpbnQ2NCAtIG1iciBuZWVkZWQgdG8gaW5pdFN0b3JhZ2UoKSBvZiBwb29sIC0gcGFpZCB0byBwb29sIGl0c2VsZgovLyBhZGRTdGFrZXJNYnI6IHVpbnQ2NCAtIG1iciBzdGFrZXIgbmVlZHMgdG8gYWRkIHRvIGZpcnN0IHN0YWtpbmcgcGF5bWVudCAoc3RheXMgdy8gdmFsaWRhdG9yKQovLyBdCmdldE1ickFtb3VudHM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjQ2CgkvLyByZXR1cm4gewoJLy8gICAgICAgYWRkVmFsaWRhdG9yTWJyOiB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDEgLyogdiBwcmVmaXggKi8gKyBsZW48VmFsaWRhdG9ySWRUeXBlPigpICsgbGVuPFZhbGlkYXRvckluZm8+KCkpLAoJLy8gICAgICAgYWRkUG9vbE1icjogdGhpcy5taW5CYWxhbmNlRm9yQWNjb3VudCgKCS8vICAgICAgICAgMSwKCS8vICAgICAgICAgLy8gd2UgY291bGQgY2FsY3VsYXRlIHRoaXMgZGlyZWN0bHkgYnkgcmVmZXJlbmNpbmcgdGhlIHNpemUgb2Ygc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0gYnV0IGl0IHdvdWxkCgkvLyAgICAgICAgIC8vIG1lYW4gb3VyIGNhbGxlcnMgd291bGQgaGF2ZSB0byByZWZlcmVuY2UgdGhlIGJveCBBTkQgYnV5IHVwIGkvbyAtIHNvIGp1c3QgZ28gbWF4IG9uIGV4dHJhIHBhZ2VzCgkvLyAgICAgICAgIDMsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIDAsCgkvLyAgICAgICAgIFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtVWludCwKCS8vICAgICAgICAgU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UKCS8vICAgICAgICksCgkvLyAgICAgICBwb29sSW5pdE1icjoKCS8vICAgICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICAgIHRoaXMuY29zdEZvckJveFN0b3JhZ2UoNyAvKiAnc3Rha2VycycgbmFtZSAqLyArIGxlbjxTdGFrZWRJbmZvPigpICogTUFYX1NUQUtFUlNfUEVSX1BPT0wpLAoJLy8gICAgICAgYWRkU3Rha2VyTWJyOgoJLy8gICAgICAgICAvLyBob3cgbXVjaCB0byBjaGFyZ2UgZm9yIGZpcnN0IHRpbWUgYSBzdGFrZXIgYWRkcyBzdGFrZSAtIHNpbmNlIHdlIGFkZCBhIHRyYWNraW5nIGJveCBwZXIgc3Rha2VyCgkvLyAgICAgICAgIHRoaXMuY29zdEZvckJveFN0b3JhZ2UoMyAvKiAnc3BzJyBwcmVmaXggKi8gKyBsZW48QWRkcmVzcz4oKSArIGxlbjxWYWxpZGF0b3JQb29sS2V5PigpICogTUFYX1BPT0xTX1BFUl9TVEFLRVIpLCAvLyBzaXplIG9mIGtleSArIGFsbCB2YWx1ZXMKCS8vICAgICB9OwoJaW50IDExMDEKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCWl0b2IKCWludCAzCglpbnQgMTEKCWludCAwCglkdXBuIDIKCWludCAzCglpbnQgMQoJY2FsbHN1YiBtaW5CYWxhbmNlRm9yQWNjb3VudAoJaXRvYgoJY29uY2F0CglpbnQgMTAwMDAwCglpbnQgMTI4MDcKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCSsKCWl0b2IKCWNvbmNhdAoJaW50IDE3OQoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJaXRvYgoJY29uY2F0CglyZXRzdWIKCi8vIGdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFByb3RvY29sQ29uc3RyYWludHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0UHJvdG9jb2xDb25zdHJhaW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFByb3RvY29sQ29uc3RyYWludHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRQcm90b2NvbENvbnN0cmFpbnRzKCk6IENvbnN0cmFpbnRzCi8vCi8vIFJldHVybnMgdGhlIHByb3RvY29sIGNvbnN0cmFpbnRzIHNvIHRoYXQgVUlzIGNhbiBsaW1pdCB3aGF0IHVzZXJzIHNwZWNpZnkgZm9yIHZhbGlkYXRvciBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMuCmdldFByb3RvY29sQ29uc3RyYWludHM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjcyCgkvLyByZXR1cm4gewoJLy8gICAgICAgZXBvY2hQYXlvdXRSb3VuZHNNaW46IE1JTl9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICBlcG9jaFBheW91dFJvdW5kc01heDogTUFYX0VQT0NIX0xFTkdUSCwKCS8vICAgICAgIG1pblBjdFRvVmFsaWRhdG9yV0ZvdXJEZWNpbWFsczogTUlOX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICBtYXhQY3RUb1ZhbGlkYXRvcldGb3VyRGVjaW1hbHM6IE1BWF9QQ1RfVE9fVkFMSURBVE9SLAoJLy8gICAgICAgbWluRW50cnlTdGFrZTogTUlOX0FMR09fU1RBS0VfUEVSX1BPT0wsCgkvLyAgICAgICBtYXhBbGdvUGVyUG9vbDogdGhpcy5tYXhBbGdvQWxsb3dlZFBlclBvb2woKSwKCS8vICAgICAgIG1heEFsZ29QZXJWYWxpZGF0b3I6IHRoaXMubWF4QWxsb3dlZFN0YWtlKCksCgkvLyAgICAgICBhbXRDb25zaWRlcmVkU2F0dXJhdGVkOiB0aGlzLmFsZ29TYXR1cmF0aW9uTGV2ZWwoKSwKCS8vICAgICAgIG1heE5vZGVzOiBNQVhfTk9ERVMsCgkvLyAgICAgICBtYXhQb29sc1Blck5vZGU6IE1BWF9QT09MU19QRVJfTk9ERSwKCS8vICAgICAgIG1heFN0YWtlcnNQZXJQb29sOiBNQVhfU1RBS0VSU19QRVJfUE9PTCwKCS8vICAgICB9OwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMGY0MjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZjQyNDAwMDAwMDAwMDAwMGY0MjQwCgljYWxsc3ViIG1heEFsZ29BbGxvd2VkUGVyUG9vbAoJaXRvYgoJY29uY2F0CgljYWxsc3ViIG1heEFsbG93ZWRTdGFrZQoJaXRvYgoJY29uY2F0CgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDgKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDMKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwYzgKCWNvbmNhdAoJcmV0c3ViCgovLyBnZXROdW1WYWxpZGF0b3JzKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXROdW1WYWxpZGF0b3JzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE51bVZhbGlkYXRvcnMoKXVpbnQ2NAoJY2FsbHN1YiBnZXROdW1WYWxpZGF0b3JzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0TnVtVmFsaWRhdG9ycygpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgY3VycmVudCBudW1iZXIgb2YgdmFsaWRhdG9ycwpnZXROdW1WYWxpZGF0b3JzOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjI5MgoJLy8gcmV0dXJuIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZTsKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yQ29uZmlnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JDb25maWcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRWYWxpZGF0b3JDb25maWcodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFZhbGlkYXRvckNvbmZpZwpnZXRWYWxpZGF0b3JDb25maWc6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mjk3CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWc7CglpbnQgMAoJaW50IDI0MgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yU3RhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFZhbGlkYXRvclN0YXRlKHVpbnQ2NCkodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JTdGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFZhbGlkYXRvclN0YXRlKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBWYWxpZGF0b3JDdXJTdGF0ZQpnZXRWYWxpZGF0b3JTdGF0ZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMDIKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlOwoJaW50IDI0MiAvLyBoZWFkT2Zmc2V0CglpbnQgMjYKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykKKmFiaV9yb3V0ZV9nZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykKCWNhbGxzdWIgZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBbQWRkcmVzcywgQWRkcmVzc10KZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMwNwoJLy8gcmV0dXJuIFt0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlcl07CglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJaW50IDQwCglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgljb25jYXQKCXJldHN1YgoKLy8gZ2V0UG9vbHModWludDY0KSh1aW50NjQsdWludDE2LHVpbnQ2NClbXQoqYWJpX3JvdXRlX2dldFBvb2xzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdCgljYWxsc3ViIGdldFBvb2xzCglkdXAKCWxlbgoJaW50IDE4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0UG9vbHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xJbmZvW10KLy8KLy8gUmV0dXJuIGxpc3Qgb2YgYWxsIHBvb2xzIGZvciB0aGlzIHZhbGlkYXRvci4KLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvcklkCi8vIEByZXR1cm4ge1Bvb2xJbmZvW119IC0gYXJyYXkgb2YgcG9vbHMKLy8gTm90IGNhbGxhYmxlIGZyb20gb3RoZXIgY29udHJhY3RzIGJlY2F1c2UgPjFLIHJldHVybiBidXQgY2FuIGJlIGNhbGxlZCB3LyBzaW11bGF0ZSB3aGljaCBidW1wcyBsb2cgcmV0dXJucwpnZXRQb29sczoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzE4CgkvLyByZXREYXRhOiBQb29sSW5mb1tdID0gW10KCWJ5dGUgMHgKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMxOQoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMpCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWludCA0MzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMAoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJPAoJYnogKmZvcl8wX2VuZAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIxCgkvLyBwb29sU2V0W2ldLnBvb2xBcHBJZCA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWludCAwCgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvcl8wX2VuZAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzI1CgkvLyByZXREYXRhLnB1c2gocG9vbFNldFtpXSkKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFBvb2xJbmZvW10KCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMTgKCWV4dHJhY3QzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyNwoJLy8gcmV0dXJuIHJldERhdGE7CglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGdldFBvb2xBcHBJZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFBvb2xBcHBJZCh2YWxpZGF0b3JJZDogdWludDY0LCBwb29sSWQ6IHVpbnQ2NCk6IHVpbnQ2NApnZXRQb29sQXBwSWQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzM1CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sSWQgIT09IDAgJiYgcG9vbElkIDw9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMubGVuZ3RoLAoJLy8gICAgICAgJ3Bvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3InCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMAoJIT0KCWR1cAoJYnogKnNraXBfYW5kMAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMjQKCTw9CgkmJgoKKnNraXBfYW5kMDoKCS8vIHBvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMzkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW3Bvb2xJZCAtIDFdLnBvb2xBcHBJZDsKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gZ2V0UG9vbEluZm8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0LHVpbnQxNix1aW50NjQpCiphYmlfcm91dGVfZ2V0UG9vbEluZm86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHBvb2xLZXk6ICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMjQKCT09CgoJLy8gYXJndW1lbnQgMCAocG9vbEtleSkgZm9yIGdldFBvb2xJbmZvIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KQoJY2FsbHN1YiBnZXRQb29sSW5mbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFBvb2xJbmZvKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiBQb29sSW5mbwpnZXRQb29sSW5mbzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNDQKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXTsKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldEN1ck1heFN0YWtlUGVyUG9vbCh1aW50NjQpdWludDY0CiphYmlfcm91dGVfZ2V0Q3VyTWF4U3Rha2VQZXJQb29sOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRDdXJNYXhTdGFrZVBlclBvb2wodWludDY0KXVpbnQ2NAoJY2FsbHN1YiBnZXRDdXJNYXhTdGFrZVBlclBvb2wKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBnZXRDdXJNYXhTdGFrZVBlclBvb2wodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IHVpbnQ2NAovLwovLyBDYWxjdWxhdGUgdGhlIG1heGltdW0gc3Rha2UgcGVyIHBvb2wgZm9yIGEgZ2l2ZW4gdmFsaWRhdG9yLgovLyBOb3JtYWxseSB0aGlzIHdvdWxkIGJlIG1heEFsZ29QZXJQb29sLCBidXQgaXQgc2hvdWxkIGFsc28gbmV2ZXIgZ28gYWJvdmUgTWF4QWxsb3dlZFN0YWtlIC8gbnVtUG9vbHMgc28KLy8gYXMgcG9vbHMgYXJlIGFkZGVkIHRoZSBtYXggYWxsb3dlZCBwZXIgcG9vbCBjYW4gcmVkdWNlLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KZ2V0Q3VyTWF4U3Rha2VQZXJQb29sOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTUKCS8vIG51bVBvb2xzID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludCAyNDIKCWludCAyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIG51bVBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU2CgkvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29scyA9IHRoaXMubWF4QWxsb3dlZFN0YWtlKCkgLyBudW1Qb29scwoJY2FsbHN1YiBtYXhBbGxvd2VkU3Rha2UKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMSAvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1NwoJLy8gbWF4UGVyUG9vbDogdWludDY0ID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWF4QWxnb1BlclBvb2wKCWludCAyMTcKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU4CgkvLyBtYXhQZXJQb29sID09PSAwCglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmMV9lbmQKCgkvLyAqaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTkKCS8vIG1heFBlclBvb2wgPSB0aGlzLm1heEFsZ29BbGxvd2VkUGVyUG9vbCgpCgljYWxsc3ViIG1heEFsZ29BbGxvd2VkUGVyUG9vbAoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKKmlmMV9lbmQ6CgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM2MQoJLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHMgPCBtYXhQZXJQb29sCglmcmFtZV9kaWcgMSAvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29sczogdWludDY0CglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCTwKCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzYyCgkvLyBtYXhQZXJQb29sID0gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHMKCWZyYW1lX2RpZyAxIC8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzOiB1aW50NjQKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCippZjJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM2NAoJLy8gcmV0dXJuIG1heFBlclBvb2w7CglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sCiphYmlfcm91dGVfZG9lc1N0YWtlck5lZWRUb1BheU1CUjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHN0YWtlcikgZm9yIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZG9lc1N0YWtlck5lZWRUb1BheU1CUihhZGRyZXNzKWJvb2wKCWNhbGxzdWIgZG9lc1N0YWtlck5lZWRUb1BheU1CUgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSKHN0YWtlcjogQWRkcmVzcyk6IGJvb2xlYW4KLy8KLy8gSGVscGVyIGNhbGxlcnMgY2FuIGNhbGwgdy8gc2ltdWxhdGUgdG8gZGV0ZXJtaW5lIGlmICdBZGRTdGFrZXInIE1CUiBzaG91bGQgYmUgaW5jbHVkZWQgdy8gc3Rha2luZyBhbW91bnQKLy8gQHBhcmFtIHN0YWtlcgpkb2VzU3Rha2VyTmVlZFRvUGF5TUJSOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM3MwoJLy8gcmV0dXJuICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHM7CglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJcmV0c3ViCgovLyBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10KKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KGFkZHJlc3MpKHVpbnQ2NCx1aW50NjQsdWludDY0KVtdCgljYWxsc3ViIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudAoJZHVwCglsZW4KCWludCAyNAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudChzdGFrZXI6IEFkZHJlc3MpOiBWYWxpZGF0b3JQb29sS2V5W10KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgcG9vbHMgZm9yIGFuIGFjY291bnQuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFjY291bnQgdG8gcmV0cmlldmUgc3Rha2VkIHBvb2xzIGZvci4KLy8gQHJldHVybiB7VmFsaWRhdG9yUG9vbEtleVtdfSAtIFRoZSBhcnJheSBvZiBzdGFrZWQgcG9vbHMgZm9yIHRoZSBhY2NvdW50LgpnZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODMKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4NAoJLy8gcmV0dXJuIFtdOwoJYnl0ZSAweAoJYiAqZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KnJldHVybgoKKmlmM19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg2CgkvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10gPSBbXQoJYnl0ZSAweAoJZnJhbWVfYnVyeSAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODcKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg4CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OAoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA2Cgk8CglieiAqZm9yXzFfZW5kCgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODkKCS8vIHBvb2xTZXRbaV0uaWQgIT09IDAKCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWludCAwCgkhPQoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozOTAKCS8vIHJldERhdGEucHVzaChwb29sU2V0W2ldKQoJZnJhbWVfZGlnIDAgLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdCglmcmFtZV9kaWcgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMjQKCWV4dHJhY3QzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10KCippZjRfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OAoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozOTMKCS8vIHJldHVybiByZXREYXRhOwoJZnJhbWVfZGlnIDAgLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdCgoqZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gZ2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoqYWJpX3JvdXRlX2dldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKCWNhbGxzdWIgZ2V0VG9rZW5QYXlvdXRSYXRpbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldFRva2VuUGF5b3V0UmF0aW8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIFJldHJpZXZlcyB0aGUgdG9rZW4gcGF5b3V0IHJhdGlvIGZvciBhIGdpdmVuIHZhbGlkYXRvciAtIHJldHVybmluZyB0aGUgcG9vbCByYXRpb3Mgb2Ygd2hvbGUgc28gdGhhdCB0b2tlbgovLyBwYXlvdXRzIGFjcm9zcyBwb29scyBjYW4gYmUgYmFzZWQgb24gYSBzdGFibGUgc25hcGhvc3Qgb2Ygc3Rha2UuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcmV0dXJuIHtQb29sVG9rZW5QYXlvdXRSYXRpb30gLSBUaGUgdG9rZW4gcGF5b3V0IHJhdGlvIGZvciB0aGUgdmFsaWRhdG9yLgpnZXRUb2tlblBheW91dFJhdGlvOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQwNQoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpbzsKCWludCA3MDAgLy8gaGVhZE9mZnNldAoJaW50IDIwMAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh1aW50NjQpKCh1aW50NjRbM10pWzhdKQoqYWJpX3JvdXRlX2dldE5vZGVQb29sQXNzaWdubWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkKCWNhbGxzdWIgZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGdldE5vZGVQb29sQXNzaWdubWVudHModmFsaWRhdG9ySWQ6IHVpbnQ2NCk6IE5vZGVQb29sQXNzaWdubWVudENvbmZpZwpnZXROb2RlUG9vbEFzc2lnbm1lbnRzOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxMAoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAidGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgZG9lc24ndCBleGlzdCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyB0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBkb2Vzbid0IGV4aXN0Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDEyCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzOwoJaW50IDkwMCAvLyBoZWFkT2Zmc2V0CglpbnQgMTkyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRORkRSZWdpc3RyeUlEKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRORkRSZWdpc3RyeUlEOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NAoJY2FsbHN1YiBnZXRORkRSZWdpc3RyeUlECglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2V0TkZEUmVnaXN0cnlJRCgpOiB1aW50NjQKZ2V0TkZEUmVnaXN0cnlJRDoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MTYKCS8vIHJldHVybiB0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQ7Cglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCXJldHN1YgoKLy8gYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NAoqYWJpX3JvdXRlX2FkZFZhbGlkYXRvcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMjQyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGNvbmZpZykgZm9yIGFkZFZhbGlkYXRvciBtdXN0IGJlIGEgKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBuZmROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gbWJyUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAobWJyUGF5bWVudCkgZm9yIGFkZFZhbGlkYXRvciBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFZhbGlkYXRvcihwYXksc3RyaW5nLCh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSl1aW50NjQKCWNhbGxzdWIgYWRkVmFsaWRhdG9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkVmFsaWRhdG9yKG1iclBheW1lbnQ6IFBheVR4biwgbmZkTmFtZTogc3RyaW5nLCBjb25maWc6IFZhbGlkYXRvckNvbmZpZyk6IHVpbnQ2NAovLwovLyBBZGRzIGEgbmV3IHZhbGlkYXRvcgovLyBSZXF1aXJlcyBhdCBsZWFzdCAxMCBBTEdPIGFzIHRoZSAnZmVlJyBmb3IgdGhlIHRyYW5zYWN0aW9uIHRvIGhlbHAgZGlzc3VhZGUgc3BhbW1lZCB2YWxpZGF0b3IgYWRkcy4KLy8KLy8gQHBhcmFtIHtQYXlUeG59IG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIG5ldyB2YWxpZGF0b3Igc3RvcmFnZQovLyBAcGFyYW0ge3N0cmluZ30gbmZkTmFtZSAoT3B0aW9uYWwpIE5hbWUgb2YgbmZkICh1c2VkIGFzIGRvdWJsZS1jaGVjayBhZ2FpbnN0IGlkIHNwZWNpZmllZCBpbiBjb25maWcpCi8vIEBwYXJhbSB7VmFsaWRhdG9yQ29uZmlnfSBjb25maWcgVmFsaWRhdG9yQ29uZmlnIHN0cnVjdAovLyBAcmV0dXJucyB7dWludDY0fSB2YWxpZGF0b3IgaWQKYWRkVmFsaWRhdG9yOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDI4CgkvLyB0aGlzLnZhbGlkYXRlQ29uZmlnKGNvbmZpZykKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJY2FsbHN1YiB2YWxpZGF0ZUNvbmZpZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MjkKCS8vIGFzc2VydChjb25maWcub3duZXIgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMAoJLy8gYXNzZXJ0KGNvbmZpZy5tYW5hZ2VyICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDQwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMxCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBjb25maWcub3duZXIsICdzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcicpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJPT0KCgkvLyBzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMwoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgYW1vdW50OiB0aGlzLmdldE1ickFtb3VudHMoKS5hZGRWYWxpZGF0b3JNYnIgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkVmFsaWRhdG9yTWJyIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MzUKCS8vIGFzc2VydChtYnJQYXltZW50LmZlZSA+IDEwICogMTAwMDAwMCwgJ2ZlZSBtdXN0IGJlIDEwIEFMR08gb3IgbW9yZSB0byBwcmV2ZW50IHNwYW1taW5nIG9mIHZhbGlkYXRvcnMnKQoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgRmVlCglpbnQgMTAwMDAwMDAKCT4KCgkvLyBmZWUgbXVzdCBiZSAxMCBBTEdPIG9yIG1vcmUgdG8gcHJldmVudCBzcGFtbWluZyBvZiB2YWxpZGF0b3JzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM4CgkvLyB2YWxpZGF0b3JJZCA9IHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSArIDEKCWJ5dGUgMHg2ZTc1NmQ1NiAvLyAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM5CgkvLyB0aGlzLm51bVZhbGlkYXRvcnMudmFsdWUgPSB2YWxpZGF0b3JJZAoJYnl0ZSAweDZlNzU2ZDU2IC8vICJudW1WIgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmNyZWF0ZSgpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWludCAxMDkyCglib3hfY3JlYXRlCglwb3AKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQyCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZyA9IGNvbmZpZwoJaW50IDAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmlkID0gdmFsaWRhdG9ySWQKCWludCAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDYKCS8vIGNvbmZpZy5uZmRGb3JJbmZvICE9PSAwCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJaW50IDAKCSE9CglieiAqaWY1X2VuZAoKCS8vICppZjVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0OAoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMubmZkUmVnaXN0cnlBcHBJZCksCgkvLyAgICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKGNvbmZpZy5uZmRGb3JJbmZvKV0sCgkvLyAgICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pXSwKCS8vICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJbG9hZCAyMDAgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDUwCgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgbmZkTmFtZSwgaXRvYihjb25maWcubmZkRm9ySW5mbyldCglieXRlIDB4Njk3MzVmNzY2MTZjNjk2NDVmNmU2NjY0NWY2MTcwNzA2OTY0IC8vICJpc192YWxpZF9uZmRfYXBwaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA3MiA4CglidG9pCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTEKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pXQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTMKCS8vIGFzc2VydChidG9pKHRoaXMuaXR4bi5sYXN0TG9nKSA9PT0gMSwgInByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZCIpCglpdHhuIExhc3RMb2cKCWJ0b2kKCWludCAxCgk9PQoKCS8vIHByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ1NQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IChBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcyksCgkvLyAgICAgICAgICdJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXInCgkvLyAgICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0Cgk9PQoKCS8vIElmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcgoJYXNzZXJ0CgoqaWY1X2VuZDoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDYxCgkvLyBjb25maWcuZW50cnlHYXRpbmdUeXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMgfHwKCS8vICAgICAgIGNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPT09IEdBVElOR19UWVBFX1NFR01FTlRfT0ZfTkZECglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgODAgMQoJYnRvaQoJaW50IDMKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnQgNAoJPT0KCXx8Cgoqc2tpcF9vcjA6CglieiAqaWY2X2VuZAoKCS8vICppZjZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2NQoJLy8gYXNzZXJ0KHRoaXMuaXNORkRBcHBJRFZhbGlkKGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSksICdwcm92aWRlZCBORkQgQXBwIGlkIGZvciBnYXRpbmcgbXVzdCBiZSB2YWxpZCBORkQnKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzTkZEQXBwSURWYWxpZAoKCS8vIHByb3ZpZGVkIE5GRCBBcHAgaWQgZm9yIGdhdGluZyBtdXN0IGJlIHZhbGlkIE5GRAoJYXNzZXJ0CgoqaWY2X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NjgKCS8vIHJldHVybiB2YWxpZGF0b3JJZDsKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCS8vIG1hbmFnZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAobWFuYWdlcikgZm9yIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyCglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIG1hbmFnZXI6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIENoYW5nZXMgdGhlIFZhbGlkYXRvciBtYW5hZ2VyIGZvciBhIHNwZWNpZmljIFZhbGlkYXRvciBpZC4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB0byBjaGFuZ2UgdGhlIG1hbmFnZXIgZm9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IG1hbmFnZXIgLSBUaGUgbmV3IG1hbmFnZXIgYWRkcmVzcy4KY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NzkKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDgzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyID0gbWFuYWdlcgoJaW50IDQwCglmcmFtZV9kaWcgLTIgLy8gbWFuYWdlcjogQWRkcmVzcwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbzoKCS8vIHN1bnNldHRpbmdUbzogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gc3Vuc2V0dGluZ09uOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbwoJaW50IDEKCXJldHVybgoKLy8gY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBzdW5zZXR0aW5nT246IHVpbnQ2NCwgc3Vuc2V0dGluZ1RvOiBWYWxpZGF0b3JJZFR5cGUpOiB2b2lkCi8vCi8vIFVwZGF0ZXMgdGhlIHN1bnNldCBpbmZvcm1hdGlvbiBmb3IgYSBnaXZlbiB2YWxpZGF0b3IuCi8vIFsgT05MWSBPV05FUiBDQU4gQ0hBTkdFIF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IgdG8gdXBkYXRlLgovLyBAcGFyYW0ge3VpbnQ2NH0gc3Vuc2V0dGluZ09uIC0gVGhlIG5ldyBzdW5zZXQgdGltZXN0YW1wLgovLyBAcGFyYW0ge3VpbnQ2NH0gc3Vuc2V0dGluZ1RvIC0gVGhlIG5ldyBzdW5zZXQgdG8gdmFsaWRhdG9yIGlkLgpjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ5NQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludCA4CglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0OTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdPbiA9IHN1bnNldHRpbmdPbgoJaW50IDIyNgoJZnJhbWVfZGlnIC0yIC8vIHN1bnNldHRpbmdPbjogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MDAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdUbyA9IHN1bnNldHRpbmdUbwoJaW50IDIzNAoJZnJhbWVfZGlnIC0zIC8vIHN1bnNldHRpbmdUbzogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodWludDY0LHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJRDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yTkZEKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yTkZECglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbmZkQXBwSUQ6IHVpbnQ2NCwgbmZkTmFtZTogc3RyaW5nKTogdm9pZAovLwovLyBDaGFuZ2VzIHRoZSBORkQgZm9yIGEgdmFsaWRhdG9yIGluIHRoZSB2YWxpZGF0b3JMaXN0IGNvbnRyYWN0LgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIHVwZGF0ZS4KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElEIC0gVGhlIGFwcGxpY2F0aW9uIGlkIG9mIHRoZSBORkQgdG8gYXNzaWduIHRvIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7c3RyaW5nfSBuZmROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE5GRCAod2hpY2ggbXVzdCBtYXRjaCkKY2hhbmdlVmFsaWRhdG9yTkZEOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxMwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludCA4CglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MTgKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjAKCS8vIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGUgMHg2OTczNWY3NjYxNmM2OTY0NWY2ZTY2NjQ1ZjYxNzA3MDY5NjQgLy8gImlzX3ZhbGlkX25mZF9hcHBpZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTMgLy8gbmZkTmFtZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyMQoJLy8gYXBwbGljYXRpb25zOiBbQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCldCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbnMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSAoQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpIGFzIEFkZHJlc3MpLAoJLy8gICAgICAgJ0lmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0Cgk9PQoKCS8vIElmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyOAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IG5mZEFwcElECglpbnQgNzIKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3M6CgkvLyBjb21taXNzaW9uQWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjb21taXNzaW9uQWRkcmVzcykgZm9yIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzCglpbnQgMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQ2hhbmdlIHRoZSBjb21taXNzaW9uIGFkZHJlc3MgdGhhdCB2YWxpZGF0b3IgcmV3YXJkcyBhcmUgc2VudCB0by4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQpjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzczoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MzYKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTQwCgkvLyBhc3NlcnQoY29tbWlzc2lvbkFkZHJlc3MgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gY29tbWlzc2lvbkFkZHJlc3M6IEFkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NDEKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzID0gY29tbWlzc2lvbkFkZHJlc3MKCWludCAxNzcKCWZyYW1lX2RpZyAtMiAvLyBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcwoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyh1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbzoKCS8vIFJld2FyZFBlclBheW91dDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA2CglidG9pCgoJLy8gR2F0aW5nQXNzZXRNaW5CYWxhbmNlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWJ0b2kKCgkvLyBFbnRyeUdhdGluZ0Fzc2V0czogdWludDY0WzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDIgKEVudHJ5R2F0aW5nQXNzZXRzKSBmb3IgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyBtdXN0IGJlIGEgdWludDY0WzRdCglhc3NlcnQKCgkvLyBFbnRyeUdhdGluZ0FkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoRW50cnlHYXRpbmdBZGRyZXNzKSBmb3IgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gRW50cnlHYXRpbmdUeXBlOiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDQgKEVudHJ5R2F0aW5nVHlwZSkgZm9yIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8gbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbwoJaW50IDEKCXJldHVybgoKLy8gY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBFbnRyeUdhdGluZ1R5cGU6IHVpbnQ4LCBFbnRyeUdhdGluZ0FkZHJlc3M6IEFkZHJlc3MsIEVudHJ5R2F0aW5nQXNzZXRzOiBTdGF0aWNBcnJheTx1aW50NjQsIDQ+LCBHYXRpbmdBc3NldE1pbkJhbGFuY2U6IHVpbnQ2NCwgUmV3YXJkUGVyUGF5b3V0OiB1aW50NjQpOiB2b2lkCi8vCi8vIEFsbG93IHRoZSBhZGRpdGlvbmFsIHJld2FyZHMgKGdhdGluZyBlbnRyeSwgYWRkaXRpb25hbCB0b2tlbiByZXdhcmRzKSBpbmZvcm1hdGlvbiBiZSBjaGFuZ2VkIGF0IHdpbGwuCi8vIFsgT05MWSBPV05FUiBDQU4gQ0hBTkdFIF0KY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbzoKCXByb3RvIDYgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NTYKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTYxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPSBFbnRyeUdhdGluZ1R5cGUKCWludCA4MAoJZnJhbWVfZGlnIC0yIC8vIEVudHJ5R2F0aW5nVHlwZTogdWludDgKCWl0b2IKCWV4dHJhY3QgNyAxCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjIKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQWRkcmVzcyA9IEVudHJ5R2F0aW5nQWRkcmVzcwoJaW50IDgxCglmcmFtZV9kaWcgLTMgLy8gRW50cnlHYXRpbmdBZGRyZXNzOiBBZGRyZXNzCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzID0gRW50cnlHYXRpbmdBc3NldHMKCWludCAxMTMKCWZyYW1lX2RpZyAtNCAvLyBFbnRyeUdhdGluZ0Fzc2V0czogU3RhdGljQXJyYXk8dWludDY0LCA0PgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY0CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5nYXRpbmdBc3NldE1pbkJhbGFuY2UgPSBHYXRpbmdBc3NldE1pbkJhbGFuY2UKCWludCAxNDUKCWZyYW1lX2RpZyAtNSAvLyBHYXRpbmdBc3NldE1pbkJhbGFuY2U6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRQZXJQYXlvdXQgPSBSZXdhcmRQZXJQYXlvdXQKCWludCAxNjEKCWZyYW1lX2RpZyAtNiAvLyBSZXdhcmRQZXJQYXlvdXQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfYWRkUG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDIgKG1iclBheW1lbnQpIGZvciBhZGRQb29sIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGFkZFBvb2wKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhZGRQb29sKG1iclBheW1lbnQ6IFBheVR4biwgdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbm9kZU51bTogdWludDY0KTogVmFsaWRhdG9yUG9vbEtleQovLwovLyBBZGRzIGEgbmV3IHBvb2wgdG8gYSB2YWxpZGF0b3IncyBwb29sIHNldCwgcmV0dXJuaW5nIHRoZSAna2V5JyB0byByZWZlcmVuY2UgdGhlIHBvb2wgaW4gdGhlIGZ1dHVyZSBmb3Igc3Rha2luZywgZXRjLgovLyBUaGUgY2FsbGVyIG11c3QgcGF5IHRoZSBjb3N0IG9mIHRoZSB2YWxpZGF0b3JzIE1CUiBpbmNyZWFzZSBhcyB3ZWxsIGFzIHRoZSBNQlIgdGhhdCB3aWxsIGJlIG5lZWRlZCBmb3IgdGhlIHBvb2wgaXRzZWxmLgovLwovLyBbIE9OTFkgT1dORVIgT1IgTUFOQUdFUiBDQU4gY2FsbCBdCi8vIEBwYXJhbSB7UGF5VHhufSBtYnJQYXltZW50IHBheW1lbnQgZnJvbSBjYWxsZXIgd2hpY2ggY292ZXJzIG1iciBpbmNyZWFzZSBvZiBhZGRpbmcgYSBuZXcgcG9vbAovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgaXMgaWQgb2YgdmFsaWRhdG9yIHRvIHBvb2wgdG8gKG11c3QgYmUgb3duZXIgb3IgbWFuYWdlcikKLy8gQHBhcmFtIHt1aW50NjR9IG5vZGVOdW0gaXMgbm9kZSBudW1iZXIgdG8gYWRkIHRvCi8vIEByZXR1cm5zIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sIGtleSB0byBjcmVhdGVkIHBvb2wKYWRkUG9vbDoKCXByb3RvIDMgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyIHx8CgkvLyAgICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CglkdXAKCWJueiAqc2tpcF9vcjEKCXR4biBTZW5kZXIKCWludCA0MAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCXx8Cgoqc2tpcF9vcjE6CgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1ODgKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IGFtb3VudDogdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciwgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDggOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmV4aXN0cywgInNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQiKQoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5MgoJLy8gbnVtUG9vbHM6IHVpbnQ2NCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnQgMjQyCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gKmlmN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTMKCS8vIChudW1Qb29scyBhcyB1aW50NjQpID49IE1BWF9QT09MUwoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaW50IDI0Cgk+PQoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGFscmVhZHkgYXQgbWF4IHBvb2wgc2l6ZQoJZXJyCgoqaWY3X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTYKCS8vIG51bVBvb2xzICs9IDEKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTkKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IFsKCS8vICAgICAgICAgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5leHRyYWN0KDAsIDQwOTYpLAoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoNDA5NiwgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5zaXplIC0gNDA5NiksCgkvLyAgICAgICBdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpLAoJLy8gICAgICAgZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50LAoJLy8gICAgICAgZ2xvYmFsTnVtQnl0ZVNsaWNlOiBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZSwKCS8vICAgICAgIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbCgkvLyAgICAgICAgIC8vIGNyZWF0aW5nQ29udHJhY3RJRCwgdmFsaWRhdG9ySWQsIHBvb2xJZCwgbWluRW50cnlTdGFrZQoJLy8gICAgICAgICBtZXRob2QoJ2NyZWF0ZUFwcGxpY2F0aW9uKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkJyksCgkvLyAgICAgICAgIGl0b2IodGhpcy5hcHAuaWQpLAoJLy8gICAgICAgICBpdG9iKHZhbGlkYXRvcklkKSwKCS8vICAgICAgICAgaXRvYihudW1Qb29scyBhcyB1aW50NjQpLAoJLy8gICAgICAgICBpdG9iKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1pbkVudHJ5U3Rha2UpLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjAwCgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnQgMCAvLyBOb09wCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDEKCS8vIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoMCwgNDA5NiksCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCg0MDk2LCB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUgLSA0MDk2KSwKCS8vICAgICAgIF0KCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWludCAwCglpbnQgNDA5NgoJYm94X2V4dHJhY3QKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCWJ5dGUgMHg3MDZmNmY2YzU0NjU2ZDcwNmM2MTc0NjU0MTcwNzA3MjZmNzY2MTZjNDI3OTc0NjU3MyAvLyAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWludCA0MDk2CglieXRlIDB4NzA2ZjZmNmM1NDY1NmQ3MDZjNjE3NDY1NDE3MDcwNzI2Zjc2NjE2YzQyNzk3NDY1NzMgLy8gInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUKCWFzc2VydAoJaW50IDQwOTYKCS0KCWJveF9leHRyYWN0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNQoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNgoJLy8gZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50CglpbnQgMTEKCWl0eG5fZmllbGQgR2xvYmFsTnVtVWludAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDcKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UKCWludCAzCglpdHhuX2ZpZWxkIEdsb2JhbE51bUJ5dGVTbGljZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDgKCS8vIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzCglpbnQgMwoJaXR4bl9maWVsZCBFeHRyYVByb2dyYW1QYWdlcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDkKCS8vIGFwcGxpY2F0aW9uQXJnczogWwoJLy8gICAgICAgICAvLyBjcmVhdGluZ0NvbnRyYWN0SUQsIHZhbGlkYXRvcklkLCBwb29sSWQsIG1pbkVudHJ5U3Rha2UKCS8vICAgICAgICAgbWV0aG9kKCdjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCcpLAoJLy8gICAgICAgICBpdG9iKHRoaXMuYXBwLmlkKSwKCS8vICAgICAgICAgaXRvYih2YWxpZGF0b3JJZCksCgkvLyAgICAgICAgIGl0b2IobnVtUG9vbHMgYXMgdWludDY0KSwKCS8vICAgICAgICAgaXRvYih0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5taW5FbnRyeVN0YWtlKSwKCS8vICAgICAgIF0KCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWludCAyMDkKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYxOQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyA9IG51bVBvb2xzIGFzIHVpbnQxNgoJaW50IDI0MgoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyMgoJLy8gcG9vbEFwcElkID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklELmlkCglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjIzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW251bVBvb2xzIC0gMV0ucG9vbEFwcElkID0gcG9vbEFwcElkCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAxIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MjQKCS8vIHRoaXMuYWRkUG9vbFRvTm9kZSh2YWxpZGF0b3JJZCwgcG9vbEFwcElkLCBub2RlTnVtKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGFkZFBvb2xUb05vZGUKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjMyCgkvLyByZXR1cm4geyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogbnVtUG9vbHMgYXMgdWludDY0LCBwb29sQXBwSWQ6IHRoaXMuaXR4biEuY3JlYXRlZEFwcGxpY2F0aW9uSUQuaWQgfTsKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpdG9iCgljb25jYXQKCWl0eG4gQ3JlYXRlZEFwcGxpY2F0aW9uSUQKCWl0b2IKCWNvbmNhdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2FkZFN0YWtlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc3Rha2VkQW1vdW50UGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50IDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VkQW1vdW50UGF5bWVudCkgZm9yIGFkZFN0YWtlIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBhZGRTdGFrZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgdmFsdWVUb1ZlcmlmeTogdWludDY0KTogVmFsaWRhdG9yUG9vbEtleQovLwovLyBBZGRzIHN0YWtlIHRvIGEgdmFsaWRhdG9yIHBvb2wuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWx1ZVRvVmVyaWZ5IC0gb25seSBpZiB2YWxpZGF0b3IgaGFzIGdhdGluZyB0byBlbnRlciAtIHRoaXMgaXMgYXNzZXQgaWQgb3IgbmZkIGlkIHRoYXQgY29ycmVzcG9uZHMgdG8gZ2F0aW5nLgovLyBUeG4gc2VuZGVyIGlzIGZhY3RvcmVkIGluIGFzIHdlbGwgaWYgdGhhdCBpcyBwYXJ0IG9mIGdhdGluZy4KLy8gKiBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleX0gLSBUaGUga2V5IG9mIHRoZSB2YWxpZGF0b3IgcG9vbC4KYWRkU3Rha2U6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA1CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0NQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAic3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkCglhc3NlcnQKCgkvLyAqaWY4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uID4gMAoJaW50IDIyNgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJPgoJYnogKmlmOF9lbmQKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NDkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uIDwgZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAsCgkvLyAgICAgICAgICJjYW4ndCBzdGFrZSB3aXRoIGEgdmFsaWRhdG9yIHRoYXQgaXMgcGFzdCBpdHMgc3Vuc2V0dGluZyB0aW1lIgoJLy8gICAgICAgKQoJaW50IDIyNgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCgk8CgoJLy8gY2FuJ3Qgc3Rha2Ugd2l0aCBhIHZhbGlkYXRvciB0aGF0IGlzIHBhc3QgaXRzIHN1bnNldHRpbmcgdGltZQoJYXNzZXJ0CgoqaWY4X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTUKCS8vIHN0YWtlciA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfYnVyeSAwIC8vIHN0YWtlcjogYWRkcmVzcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTkKCS8vIHZlcmlmeVBheVR4bihzdGFrZWRBbW91bnRQYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IHN0YWtlciwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoic3Rha2VyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY2NgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS50b3RhbEFsZ29TdGFrZWQgPCB0aGlzLm1heEFsbG93ZWRTdGFrZSgpLAoJLy8gICAgICAgJ3RvdGFsIHN0YWtlZCBmb3IgYWxsIG9mIGEgdmFsaWRhdG9ycyBwb29scyBtYXkgbm90IGV4Y2VlZCBoYXJkIGNhcCcKCS8vICAgICApCglpbnQgMjUyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCgk8CgoJLy8gdG90YWwgc3Rha2VkIGZvciBhbGwgb2YgYSB2YWxpZGF0b3JzIHBvb2xzIG1heSBub3QgZXhjZWVkIGhhcmQgY2FwCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjczCgkvLyB0aGlzLmRvZXNTdGFrZXJNZWV0R2F0aW5nKHZhbGlkYXRvcklkLCB2YWx1ZVRvVmVyaWZ5KQoJZnJhbWVfZGlnIC0zIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZG9lc1N0YWtlck1lZXRHYXRpbmcKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njc1CgkvLyByZWFsQW1vdW50ID0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfYnVyeSAxIC8vIHJlYWxBbW91bnQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzYKCS8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NCA9IDAKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0CgoJLy8gKmlmOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzgKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjlfZW5kCgoJLy8gKmlmOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgxCgkvLyBtYnJBbXRMZWZ0QmVoaW5kID0gdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkU3Rha2VyTWJyCgljYWxsc3ViIGdldE1ickFtb3VudHMKCWV4dHJhY3QgMjQgOAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODIKCS8vIHJlYWxBbW91bnQgLT0gbWJyQW10TGVmdEJlaGluZAoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMSAvLyByZWFsQW1vdW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgzCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5jcmVhdGUoKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCgljb25jYXQKCWludCAxNDQKCWJveF9jcmVhdGUKCXBvcAoKKmlmOV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg3CgkvLyBmaW5kUmV0ID0gdGhpcy5maW5kUG9vbEZvclN0YWtlcih2YWxpZGF0b3JJZCwgc3Rha2VyLCByZWFsQW1vdW50KQoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGZpbmRQb29sRm9yU3Rha2VyCglmcmFtZV9idXJ5IDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODgKCS8vIHBvb2xLZXkgPSBmaW5kUmV0WzBdCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg5CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmluZFJldFsxXQoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxOTIKCWdldGJpdAoJZnJhbWVfYnVyeSA0IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjkwCgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wgPSBmaW5kUmV0WzJdCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDE5MwoJZ2V0Yml0CglmcmFtZV9idXJ5IDUgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gKmlmMTBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjkxCgkvLyBwb29sS2V5LnBvb2xJZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjEwX2VuZAoKCS8vICppZjEwX2NvbnNlcXVlbnQKCS8vIE5vIHBvb2wgYXZhaWxhYmxlIHdpdGggZnJlZSBzdGFrZS4gIFZhbGlkYXRvciBuZWVkcyB0byBhZGQgYW5vdGhlciBwb29sCgllcnIKCippZjEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2OTYKCS8vIHRoaXMudXBkYXRlU3Rha2VyUG9vbFNldChzdGFrZXIsIHBvb2xLZXkpCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDI0CglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWNhbGxzdWIgdXBkYXRlU3Rha2VyUG9vbFNldAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2OTkKCS8vIHRoaXMuY2FsbFBvb2xBZGRTdGFrZSgKCS8vICAgICAgIHN0YWtlZEFtb3VudFBheW1lbnQsCgkvLyAgICAgICBwb29sS2V5LAoJLy8gICAgICAgbWJyQW10TGVmdEJlaGluZCwKCS8vICAgICAgIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsCgkvLyAgICAgICBpc05ld1N0YWtlclRvUHJvdG9jb2wKCS8vICAgICApCglmcmFtZV9kaWcgNSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCWZyYW1lX2RpZyA0IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCWZyYW1lX2RpZyAyIC8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyNAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJY2FsbHN1YiBjYWxsUG9vbEFkZFN0YWtlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjcxNAoJLy8gcmV0dXJuIHBvb2xLZXk7CglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDI0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNQoJcmV0c3ViCgovLyBzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpCiphYmlfcm91dGVfc2V0VG9rZW5QYXlvdXRSYXRpbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgc2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoJY2FsbHN1YiBzZXRUb2tlblBheW91dFJhdGlvCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2V0VG9rZW5QYXlvdXRSYXRpbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogUG9vbFRva2VuUGF5b3V0UmF0aW8KLy8KLy8gc2V0VG9rZW5QYXlvdXRSYXRpbyBpcyBjYWxsZWQgYnkgU3Rha2luZyBQb29sICMgMSAoT05MWSkgdG8gYXNrIHRoZSB2YWxpZGF0b3IgKHVzKSB0byBjYWxjdWxhdGUgdGhlIHJhdGlvcwovLyBvZiBzdGFrZSBpbiB0aGUgcG9vbHMgZm9yIHN1YnNlcXVlbnQgdG9rZW4gcGF5b3V0cyAoaWU6IDIgcG9vbHMsICcxMDAnIGFsZ28gdG90YWwgc3Rha2VkLCA2MCBpbiBwb29sIDEsIGFuZCA0MAovLyBpbiBwb29sIDIpICBUaGlzIGlzIGRvbmUgc28gd2UgaGF2ZSBhIHN0YWJsZSBzbmFwc2hvdCBvZiBzdGFrZSAtIHRha2VuIG9uY2UgcGVyIGVwb2NoIC0gb25seSB0cmlnZ2VyZWQgYnkKLy8gcG9vbCAxIGRvaW5nIHBheW91dC4gIHBvb2xzIG90aGVyIHRoYW4gMSBkb2luZyBwYXlvdXQgY2FsbCBwb29sIDEgdG8gYXNrIGl0IGRvIGl0IGZpcnN0LgovLyBJdCB3b3VsZCBiZSA2MC80MCUgaW4gdGhlIHBvb2xQY3RPZldob2xlIHZhbHVlcy4gIFRoZSB0b2tlbiByZXdhcmQgcGF5b3V0cyB0aGVuIHVzZSB0aGVzZSB2YWx1ZXMgaW5zdGVhZCBvZgovLyB0aGVpciAnY3VycmVudCcgc3Rha2Ugd2hpY2ggY2hhbmdlcyBhcyBwYXJ0IG9mIHRoZSBwYXlvdXRzIHRoZW1zZWx2ZXMgKGFuZCBwZW9wbGUgY291bGQgYmUgY2hhbmdpbmcgc3Rha2UKLy8gZHVyaW5nIHRoZSBlcG9jaCB1cGRhdGVzIGFjcm9zcyBwb29scykKLy8KLy8gTXVsdGlwbGUgcG9vbHMgd2lsbCBjYWxsIHVzIHZpYSBwb29sIDEgKHBvb2wyLT5wb29sMS0+dmFsaWRhdG9yLCBldGMuKSBzbyBkb24ndCBhc3NlcnQgb24gcG9vbDEgY2FsbGluZyBtdWx0aXBsZQovLyB0aW1lcyBpbiBzYW1lIGVwb2NoLiAgSnVzdCByZXR1cm4uCi8vCi8vIEBwYXJhbSB2YWxpZGF0b3JJZCAtIHZhbGlkYXRvciBpZCAoYW5kIHRodXMgcG9vbCkgY2FsbGluZyB1cy4gIFZlcmlmaWVkIHNvIHRoYXQgc2VuZGVyIE1VU1QgYmUgcG9vbCAxIG9mIHRoaXMgdmFsaWRhdG9yLgovLyBAcmV0dXJucyBQb29sVG9rZW5QYXlvdXRSYXRpbyAtIHRoZSBmaW5pc2hlZCByYXRpbyBkYXRhCnNldFRva2VuUGF5b3V0UmF0aW86Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjczNAoJLy8gcG9vbDFBcHBJRCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbMF0ucG9vbEFwcElkCglpbnQgMjY4CglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM1CgkvLyBhc3NlcnQocG9vbDFBcHBJRCAhPT0gMCkKCWZyYW1lX2RpZyAwIC8vIHBvb2wxQXBwSUQ6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzcKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5hZGRyZXNzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJIT0KCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzgKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0NAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMSAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0NQoJLy8gbGFzdFBheW91dFVwZGF0ZSA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpby51cGRhdGVkRm9yUGF5b3V0CglpbnQgODkyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCgkvLyAqaWYxMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDYKCS8vIGxhc3RQYXlvdXRVcGRhdGUgIT09IDAKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJaW50IDAKCSE9CglieiAqaWYxMl9lbmQKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyAqaWYxM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDgKCS8vIChBcHBJRC5mcm9tVWludDY0KHBvb2wxQXBwSUQpLmdsb2JhbFN0YXRlKCdsYXN0UGF5b3V0JykgYXMgdWludDY0KSA9PT0gbGFzdFBheW91dFVwZGF0ZQoJZnJhbWVfZGlnIDAgLy8gcG9vbDFBcHBJRDogdWludDY0CglieXRlIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5nbG9iYWxTdGF0ZSgnbGFzdFBheW91dCcpCglhc3NlcnQKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1MQoJLy8gZXBvY2hSb3VuZExlbmd0aCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVwb2NoUm91bmRMZW5ndGggYXMgdWludDY0CglpbnQgMTY5CglpbnQgNAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzUyCgkvLyB0aGlzRXBvY2hCZWdpbiA9IGN1clJvdW5kIC0gKGN1clJvdW5kICUgZXBvY2hSb3VuZExlbmd0aCkKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfYnVyeSA0IC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCgkvLyAqaWYxNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTQKCS8vIGxhc3RQYXlvdXRVcGRhdGUgLSAobGFzdFBheW91dFVwZGF0ZSAlIGVwb2NoUm91bmRMZW5ndGgpID09PSB0aGlzRXBvY2hCZWdpbgoJZnJhbWVfZGlnIDIgLy8gbGFzdFBheW91dFVwZGF0ZTogdWludDY0CglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfZGlnIDQgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPT0KCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTUKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnQgNzAwIC8vIGhlYWRPZmZzZXQKCWludCAyMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTRfZW5kOgoKKmlmMTJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnVwZGF0ZWRGb3JQYXlvdXQgPSBjdXJSb3VuZAoJaW50IDg5MgoJZnJhbWVfZGlnIDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYwCgkvLyBjdXJOdW1Qb29scyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnQgMjQyCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNSAvLyBjdXJOdW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MQoJLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvciA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkCglpbnQgMjUyCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyB0b3RhbFN0YWtlRm9yVmFsaWRhdG9yOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA1IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfMl9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzY3CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW3RoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbaV0udG90YWxBbGdvU3Rha2VkLCAxXzAwMF8wMDBdLAoJLy8gICAgICAgICBbdG90YWxTdGFrZUZvclZhbGlkYXRvcl0KCS8vICAgICAgICkKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaW50IDFfMDAwXzAwMAoJbXVsdwoJaW50IDAKCWZyYW1lX2RpZyA2IC8vIHRvdGFsU3Rha2VGb3JWYWxpZGF0b3I6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgOCAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc3MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnBvb2xQY3RPZldob2xlW2ldID0gb3VyUG9vbFBjdE9mV2hvbGUKCWludCA3MDAKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIDggLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCipmb3JfMl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NjIKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzczCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50IDcwMCAvLyBoZWFkT2Zmc2V0CglpbnQgMjAwCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoKKnNldFRva2VuUGF5b3V0UmF0aW8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gOAoJcmV0c3ViCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzOgoJLy8gc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYWxnb1RvQWRkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIHN0YWtlVXBkYXRlZFZpYVJld2FyZHMoKHVpbnQ2NCx1aW50NjQsdWludDY0KSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzCglpbnQgMQoJcmV0dXJuCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIGFsZ29Ub0FkZDogdWludDY0LCByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkOiB1aW50NjQsIHZhbGlkYXRvckNvbW1pc3Npb246IHVpbnQ2NCwgc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0KTogdm9pZAovLwovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIGlzIGNhbGxlZCBieSBTdGFraW5nIHBvb2xzIHRvIGluZm9ybSB0aGUgdmFsaWRhdG9yICh1cykgdGhhdCBhIHBhcnRpY3VsYXIgYW1vdW50IG9mIHRvdGFsCi8vIHN0YWtlIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIFRoZSBjYWxsaW5nIEFwcCBpZCBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBvdXIgcG9vbCBsaXN0IGFzIHdlbGwuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHlwZQovLyBAcGFyYW0ge3VpbnQ2NH0gYWxnb1RvQWRkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzCi8vIEBwYXJhbSB7dWludDY0fSByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzICh0aGF0IHNob3VsZCBiZQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9yQ29tbWlzc2lvbiAtIHRoZSBjb21taXNzaW9uIGFtb3VudCB0aGUgdmFsaWRhdG9yIHdhcyBwYWlkLCBpZiBhbnkKLy8gQHBhcmFtIHt1aW50NjR9IHNhdHVyYXRlZEJ1cm5Ub0ZlZVNpbmsgLSBpZiB0aGUgcG9vbCB3YXMgaW4gc2F0dXJhdGVkIHN0YXRlLCB0aGUgYW1vdW50IHNlbnQgYmFjayB0byB0aGUgZmVlIHNpbmsuCi8vIHNlZW4gYXMgJ2FjY291bnRlZCBmb3IvcGVuZGluZyBzcGVudCcpCnN0YWtlVXBkYXRlZFZpYVJld2FyZHM6Cglwcm90byA1IDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk0CgkvLyB0aGlzLnZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CgljYWxsc3ViIHZlcmlmeVBvb2xLZXlDYWxsZXIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk3CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgKz0gYWxnb1RvQWRkCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBhbGdvVG9BZGQ6IHVpbnQ2NAoJKwoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCArPSBhbGdvVG9BZGQKCWludCAyNTIKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIGFsZ29Ub0FkZDogdWludDY0CgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk5CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjayArPSByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkCglpbnQgMjYwCglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkOiB1aW50NjQKCSsKCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MDEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGFsZ29Ub0FkZAoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBhbGdvVG9BZGQ6IHVpbnQ2NAoJKwoJYnl0ZSAweDczNzQ2MTZiNjU2NCAvLyAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODA0CgkvLyB0aGlzLnJldmVyaWZ5TkZET3duZXJzaGlwKHBvb2xLZXkuaWQpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWNhbGxzdWIgcmV2ZXJpZnlORkRPd25lcnNoaXAKCXJldHN1YgoKLy8gc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoqYWJpX3JvdXRlX3N0YWtlUmVtb3ZlZDoKCS8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXJSZW1vdmVkKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoc3Rha2VyKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoJY2FsbHN1YiBzdGFrZVJlbW92ZWQKCWludCAxCglyZXR1cm4KCi8vIHN0YWtlUmVtb3ZlZChwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBzdGFrZXI6IEFkZHJlc3MsIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NCwgcmV3YXJkUmVtb3ZlZDogdWludDY0LCBzdGFrZXJSZW1vdmVkOiBib29sZWFuKTogdm9pZAovLwovLyBzdGFrZVJlbW92ZWQgaXMgY2FsbGVkIGJ5IFN0YWtpbmcgcG9vbHMgdG8gaW5mb3JtIHRoZSB2YWxpZGF0b3IgKHVzKSB0aGF0IGEgcGFydGljdWxhciBhbW91bnQgb2YgdG90YWwgc3Rha2UgaGFzIGJlZW4gcmVtb3ZlZAovLyBmcm9tIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIElmIGFueSBhbW91bnQgb2YgcmV3YXJkUmVtb3ZlZCBpcyBzcGVjaWZpZWQsIHRoZW4gdGhhdCBhbW91bnQgb2YgcmV3YXJkIGlzIHNlbnQgdG8gdGhlIHVzZQovLyBUaGUgY2FsbGluZyBBcHAgaWQgaXMgdmFsaWRhdGVkIGFnYWluc3Qgb3VyIHBvb2wgbGlzdCBhcyB3ZWxsLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2xLZXkgY2FsbGluZyB1cyBmcm9tIHdoaWNoIHN0YWtlIHdhcyByZW1vdmVkCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRSZW1vdmVkIC0gYWxnbyBhbW91bnQgcmVtb3ZlZAovLyBAcGFyYW0ge3VpbnQ2NH0gcmV3YXJkUmVtb3ZlZCAtIGlmIGFwcGxpY2FibGUsIGFtb3VudCBvZiB0b2tlbiByZXdhcmQgcmVtb3ZlZCAoYnkgcG9vbCAxIGNhbGxlcikgb3IgVE8gcmVtb3ZlIGFuZCBwYXkgb3V0ICh2aWEgcG9vbCAxIGZyb20gZGlmZmVyZW50IHBvb2wgY2FsbGVyKQovLyBAcGFyYW0ge2Jvb2xlYW59IHN0YWtlclJlbW92ZWQKc3Rha2VSZW1vdmVkOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vICppZjE1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjgzNgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MzcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MzkKCS8vIHRoaXMudmVyaWZ5UG9vbEtleUNhbGxlcihwb29sS2V5KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWNhbGxzdWIgdmVyaWZ5UG9vbEtleUNhbGxlcgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDMKCS8vIGFzc2VydChhbW91bnRSZW1vdmVkID4gMCB8fCByZXdhcmRSZW1vdmVkID4gMCwgJ3Nob3VsZCBvbmx5IGJlIGNhbGxlZCBpZiBhbGdvIG9yIHJld2FyZCB3YXMgcmVtb3ZlZCcpCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CglpbnQgMAoJPgoJZHVwCglibnogKnNraXBfb3IyCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0CglpbnQgMAoJPgoJfHwKCipza2lwX29yMjoKCS8vIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpZiBhbGdvIG9yIHJld2FyZCB3YXMgcmVtb3ZlZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0NgoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxBbGdvU3Rha2VkIC09IGFtb3VudFJlbW92ZWQKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxMCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJLQoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCAtPSBhbW91bnRSZW1vdmVkCglpbnQgMjUyCglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIC09IGFtb3VudFJlbW92ZWQKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CgktCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vICppZjE2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MAoJLy8gcmV3YXJkUmVtb3ZlZCA+IDAKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCWludCAwCgk+CglieiAqaWYxNl9lbHNlCgoJLy8gKmlmMTZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MQoJLy8gcmV3YXJkVG9rZW5JRCA9IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5jb25maWcucmV3YXJkVG9rZW5JZAoJaW50IDE1MwoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHJld2FyZFRva2VuSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTIKCS8vIGFzc2VydChyZXdhcmRUb2tlbklEICE9PSAwLCAicmV3YXJkUmVtb3ZlZCBjYW4ndCBiZSBzZXQgaWYgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSByZXdhcmQgdG9rZW4hIikKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSUQ6IHVpbnQ2NAoJaW50IDAKCSE9CgoJLy8gcmV3YXJkUmVtb3ZlZCBjYW4ndCBiZSBzZXQgaWYgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSByZXdhcmQgdG9rZW4hCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODUzCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrID49IHJld2FyZFJlbW92ZWQsCgkvLyAgICAgICAgICdyZXdhcmQgYmVpbmcgcmVtb3ZlZCBtdXN0IGJlIGNvdmVyZWQgYnkgaG9sZCBiYWNrIGFtb3VudCcKCS8vICAgICAgICkKCWludCAyNjAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCT49CgoJLy8gcmV3YXJkIGJlaW5nIHJlbW92ZWQgbXVzdCBiZSBjb3ZlcmVkIGJ5IGhvbGQgYmFjayBhbW91bnQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrIC09IHJld2FyZFJlbW92ZWQKCWludCAyNjAKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJLQoJaXRvYgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY0CgkvLyBwb29sS2V5LnBvb2xJZCAhPT0gMQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJIT0KCWJ6ICppZjE3X2VuZAoKCS8vICppZjE3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucGF5VG9rZW5SZXdhcmQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFtzdGFrZXIsIHJld2FyZFRva2VuSUQsIHJld2FyZFJlbW92ZWRdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjYKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzWzBdLnBvb2xBcHBJZCkKCWludCAyNjgKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjcKCS8vIG1ldGhvZEFyZ3M6IFtzdGFrZXIsIHJld2FyZFRva2VuSUQsIHJld2FyZFJlbW92ZWRdCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYxN19lbmQ6CgliICppZjE2X2VuZAoKKmlmMTZfZWxzZToKCippZjE2X2VuZDoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg5MgoJLy8gc3Rha2VyUmVtb3ZlZAoJZnJhbWVfZGlnIC01IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2xlYW4KCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTQKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsU3Rha2VycyAtPSAxCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgOCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMjY4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDEKCS0KCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnQgOCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMQoJLQoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTYKCS8vIHJlbW92ZVJldCA9IHRoaXMucmVtb3ZlRnJvbVN0YWtlclBvb2xTZXQoc3Rha2VyLCA8VmFsaWRhdG9yUG9vbEtleT57CgkvLyAgICAgICAgIGlkOiBwb29sS2V5LmlkLAoJLy8gICAgICAgICBwb29sSWQ6IHBvb2xLZXkucG9vbElkLAoJLy8gICAgICAgICBwb29sQXBwSWQ6IHBvb2xLZXkucG9vbEFwcElkLAoJLy8gICAgICAgfSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJY2FsbHN1YiByZW1vdmVGcm9tU3Rha2VyUG9vbFNldAoJZnJhbWVfYnVyeSAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTAxCgkvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3IgPSByZW1vdmVSZXRbMF0KCWZyYW1lX2RpZyAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJZ2V0Yml0CglmcmFtZV9idXJ5IDIgLy8gc3Rha2VyT3V0T2ZUaGlzVmFsaWRhdG9yOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwMgoJLy8gc3Rha2VyT3V0T2ZQcm90b2NvbCA9IHJlbW92ZVJldFsxXQoJZnJhbWVfZGlnIDEgLy8gcmVtb3ZlUmV0OiAoYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxCglnZXRiaXQKCWZyYW1lX2J1cnkgMyAvLyBzdGFrZXJPdXRPZlByb3RvY29sOiBib29sCgoJLy8gKmlmMTlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTA0CgkvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3IKCWZyYW1lX2RpZyAyIC8vIHN0YWtlck91dE9mVGhpc1ZhbGlkYXRvcjogYm9vbAoJYnogKmlmMTlfZW5kCgoJLy8gKmlmMTlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwNQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsU3Rha2VycyAtPSAxCglpbnQgMjQ0CglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludCAxCgktCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjE5X2VuZDoKCS8vICppZjIwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOAoJLy8gc3Rha2VyT3V0T2ZQcm90b2NvbAoJZnJhbWVfZGlnIDMgLy8gc3Rha2VyT3V0T2ZQcm90b2NvbDogYm9vbAoJYnogKmlmMjBfZW5kCgoJLy8gKmlmMjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOQoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlIC09IDEKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMQoJLQoJYnl0ZSAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIC8vICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCippZjIwX2VuZDoKCippZjE4X2VuZDoKCXJldHN1YgoKLy8gZmluZFBvb2xGb3JTdGFrZXIodWludDY0LGFkZHJlc3MsdWludDY0KSgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9maW5kUG9vbEZvclN0YWtlcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYW1vdW50VG9TdGFrZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKHN0YWtlcikgZm9yIGZpbmRQb29sRm9yU3Rha2VyIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJY2FsbHN1YiBmaW5kUG9vbEZvclN0YWtlcgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGZpbmRQb29sRm9yU3Rha2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHN0YWtlcjogQWRkcmVzcywgYW1vdW50VG9TdGFrZTogdWludDY0KTogW1ZhbGlkYXRvclBvb2xLZXksIGJvb2xlYW4sIGJvb2xlYW5dCi8vCi8vIEZpbmRzIHRoZSBwb29sIGZvciBhIHN0YWtlciBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdmFsaWRhdG9yIGlkLCBzdGFrZXIgYWRkcmVzcywgYW5kIGFtb3VudCB0byBzdGFrZS4KLy8gRmlyc3QgY2hlY2tzIHRoZSBzdGFrZXJzICdhbHJlYWR5IHN0YWtlZCBsaXN0JyBmb3IgdGhlIHZhbGlkYXRvciBwcmVmZXJyaW5nIHRob3NlIChhZGRpbmcgaWYgcG9zc2libGUpIHRoZW4gYWRkcwovLyB0byBuZXcgcG9vbCBpZiBuZWNlc3NhcnkuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1N0YWtlIC0gVGhlIGFtb3VudCB0byBzdGFrZS4KLy8gQHJldHVybnMge1ZhbGlkYXRvclBvb2xLZXksIGJvb2xlYW4sIGJvb2xlYW59IC0gVGhlIHBvb2wgZm9yIHRoZSBzdGFrZXIsIHRydWUvZmFsc2Ugb24gd2hldGhlciB0aGUgc3Rha2VyIGlzICduZXcnCi8vIHRvIHRoaXMgVkFMSURBVE9SLCBhbmQgdHJ1ZS9mYWxzZSBpZiBzdGFrZXIgaXMgbmV3IHRvIHRoZSBwcm90b2NvbC4KZmluZFBvb2xGb3JTdGFrZXI6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA3CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzMAoJLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MzEKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzOQoJLy8gbWF4UGVyUG9vbCA9IHRoaXMuZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHZhbGlkYXRvcklkKQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZ2V0Q3VyTWF4U3Rha2VQZXJQb29sCglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoJLy8gKmlmMjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQyCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWYyMV9lbmQKCgkvLyAqaWYyMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQzCgkvLyBwb29sU2V0ID0gY2xvbmUodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUpCglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NAoJLy8gYXNzZXJ0KHZhbGlkYXRvcklkICE9PSAwKQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWludCAwCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBwb29sU2V0Lmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfMzoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDUKCS8vIGkgPCBwb29sU2V0Lmxlbmd0aAoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgNgoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjIyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCAzMDAKCTwKCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjIyX2VuZDoKCS8vICppZjIzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0OQoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJaW50IDAKCT09CglieiAqaWYyM19lbmQKCgkvLyAqaWYyM19jb25zZXF1ZW50CgliICpmb3JfM19jb250aW51ZQoKKmlmMjNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1MgoJLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gKmlmMjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTUzCgkvLyBwb29sU2V0W2ldLmlkID09PSB2YWxpZGF0b3JJZAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCT09CglieiAqaWYyNF9lbmQKCgkvLyAqaWYyNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTU1CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1twb29sU2V0W2ldLnBvb2xJZCAtIDFdLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0KCS8vICAgICAgICAgICAgIG1heFBlclBvb2wKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDggLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAxMCAvLyBoZWFkT2Zmc2V0CgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRUb1N0YWtlOiB1aW50NjQKCSsKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJPD0KCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjAKCS8vIHJldHVybiBbcG9vbFNldFtpXSwgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwgaXNOZXdTdGFrZXJUb1Byb3RvY29sXTsKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCWIgKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybgoKKmlmMjVfZW5kOgoKKmlmMjRfZW5kOgoKKmZvcl8zX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgliICpmb3JfMwoKKmZvcl8zX2VuZDoKCippZjIxX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjcKCS8vIGFzc2VydCgKCS8vICAgICAgIGFtb3VudFRvU3Rha2UgPj0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSwKCS8vICAgICAgICdtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJaW50IDIwOQoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk+PQoKCS8vIG11c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3MwoJLy8gcG9vbHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzKQoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglpbnQgNDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA1IC8vIHBvb2xzOiAodWludDY0LHVpbnQxNix1aW50NjQpWzI0XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzQKCS8vIGN1ck51bVBvb2xzID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludCAyNDIKCWludCAyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWYyNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzYKCS8vIHBvb2xzW2ldLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0gbWF4UGVyUG9vbAoJZnJhbWVfZGlnIDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMTAgLy8gaGVhZE9mZnNldAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50VG9TdGFrZTogdWludDY0CgkrCglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCTw9CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc3CgkvLyByZXR1cm4gWwoJLy8gICAgICAgICAgIHsgaWQ6IHZhbGlkYXRvcklkLCBwb29sSWQ6IGkgKyAxLCBwb29sQXBwSWQ6IHBvb2xzW2ldLnBvb2xBcHBJZCB9LAoJLy8gICAgICAgICAgIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsCgkvLyAgICAgICAgICAgaXNOZXdTdGFrZXJUb1Byb3RvY29sLAoJLy8gICAgICAgICBdOwoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCWIgKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybgoKKmlmMjZfZW5kOgoKKmZvcl80X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDcgLy8gaTogdWludDY0CgliICpmb3JfNAoKKmZvcl80X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5ODUKCS8vIHJldHVybiBbeyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogMCwgcG9vbEFwcElkOiAwIH0sIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsIGlzTmV3U3Rha2VyVG9Qcm90b2NvbF07CglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZSAweDAwCglpbnQgMAoJZnJhbWVfZGlnIDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJc2V0Yml0CglpbnQgMQoJZnJhbWVfZGlnIDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglzZXRiaXQKCWNvbmNhdAoKKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDcKCXJldHN1YgoKLy8gbW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX21vdmVQb29sVG9Ob2RlOgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gcG9vbEFwcElkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBtb3ZlUG9vbFRvTm9kZSh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG1vdmVQb29sVG9Ob2RlCglpbnQgMQoJcmV0dXJuCgovLyBtb3ZlUG9vbFRvTm9kZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBwb29sQXBwSWQ6IHVpbnQ2NCwgbm9kZU51bTogdWludDY0KTogdm9pZAovLwovLyBGaW5kIHRoZSBzcGVjaWZpZWQgcG9vbCAoaW4gYW55IG5vZGUgbnVtYmVyKSBhbmQgbW92ZSBpdCB0byB0aGUgc3BlY2lmaWVkIG5vZGUuCi8vIFRoZSBwb29sIGFjY291bnQgaXMgZm9yY2VkIG9mZmxpbmUgaWYgbW92ZWQgc28gcHJpb3Igbm9kZSB3aWxsIHN0aWxsIHJ1biBmb3IgMzIwIHJvdW5kcyBidXQKLy8gbmV3IGtleSBnb2VzIG9ubGluZSBvbiBuZXcgbm9kZSBzb29uIGFmdGVyICgzMjAgcm91bmRzIGFmdGVyIGl0IGdvZXMgb25saW5lKQovLyBOby1vcCBpZiBzdWNjZXNzLCBhc3NlcnRzIGlmIG5vdCBmb3VuZCBvciBjYW4ndCBtb3ZlICAobm8gc3BhY2UgaW4gdGFyZ2V0KQovLyBbIE9OTFkgT1dORVIgT1IgTUFOQUdFUiBDQU4gQ0hBTkdFIF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSBwb29sQXBwSWQKLy8gQHBhcmFtIHt1aW50NjR9IG5vZGVOdW0KbW92ZVBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIgfHwKCS8vICAgICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnQgOAoJaW50IDMyCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCWR1cAoJYm56ICpza2lwX29yMwoJdHhuIFNlbmRlcgoJaW50IDQwCglpbnQgMzIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoJfHwKCipza2lwX29yMzoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDcKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnQgOTAwIC8vIGhlYWRPZmZzZXQKCWludCAxOTIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDA4CgkvLyBhc3NlcnQobm9kZU51bSA+PSAxICYmIG5vZGVOdW0gPD0gTUFYX05PREVTLCAnbm9kZSBudW1iZXIgb3V0IG9mIGFsbG93YWJsZSByYW5nZScpCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnQgMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50IDgKCTw9CgkmJgoKKnNraXBfYW5kMToKCS8vIG5vZGUgbnVtYmVyIG91dCBvZiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBmb3IgKGxldCBzcmNOb2RlSWR4ID0gMDsgc3JjTm9kZUlkeCA8IE1BWF9OT0RFUzsgc3JjTm9kZUlkeCArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCipmb3JfNToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBzcmNOb2RlSWR4IDwgTUFYX05PREVTCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludCA4Cgk8CglieiAqZm9yXzVfZW5kCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgTUFYX1BPT0xTX1BFUl9OT0RFOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl82OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGkgPCBNQVhfUE9PTFNfUEVSX05PREUKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDMKCTwKCWJ6ICpmb3JfNl9lbmQKCgkvLyAqaWYyN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEyCgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW3NyY05vZGVJZHhdLnBvb2xBcHBJZHNbaV0gPT09IHBvb2xBcHBJZAoJZnJhbWVfZGlnIDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoJaW50IDAKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0Cgk9PQoJYnogKmlmMjdfZW5kCgoJLy8gKmlmMjdfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTMKCS8vIGFzc2VydChub2RlTnVtIC0gMSAhPT0gc3JjTm9kZUlkeCwgImNhbid0IG1vdmUgdG8gc2FtZSBub2RlIikKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCSE9CgoJLy8gY2FuJ3QgbW92ZSB0byBzYW1lIG5vZGUKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbc3JjTm9kZUlkeF0ucG9vbEFwcElkc1tpXSA9IDAKCWludCA5MDAKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE4CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLmdvT2ZmbGluZT4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLAoJLy8gICAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJnb09mZmxpbmUoKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE5CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDIzCgkvLyB0aGlzLmFkZFBvb2xUb05vZGUodmFsaWRhdG9ySWQsIHBvb2xBcHBJZCwgbm9kZU51bSkKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgYWRkUG9vbFRvTm9kZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDI0CgkvLyByZXR1cm47CglyZXRzdWIKCippZjI3X2VuZDoKCipmb3JfNl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDExCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl82CgoqZm9yXzZfZW5kOgoKKmZvcl81X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTAKCS8vIHNyY05vZGVJZHggKz0gMQoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJYiAqZm9yXzUKCipmb3JfNV9lbmQ6CgkvLyBjb3VsZG4ndCBmaW5kIHBvb2wgYXBwIGlkIGluIG5vZGVzIHRvIG1vdmUKCWVycgoJcmV0c3ViCgovLyBlbXB0eVRva2VuUmV3YXJkcyh1aW50NjQsYWRkcmVzcyl1aW50NjQKKmFiaV9yb3V0ZV9lbXB0eVRva2VuUmV3YXJkczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gcmVjZWl2ZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciBlbXB0eVRva2VuUmV3YXJkcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0CgljYWxsc3ViIGVtcHR5VG9rZW5SZXdhcmRzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZW1wdHlUb2tlblJld2FyZHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgcmVjZWl2ZXI6IEFkZHJlc3MpOiB1aW50NjQKLy8KLy8gU2VuZHMgdGhlIHJld2FyZCB0b2tlbnMgaGVsZCBpbiBwb29sIDEgdG8gc3BlY2lmaWVkIHJlY2VpdmVyLgovLyBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgdGhlIG93bmVyIHdoZW4gdGhleSB3YW50IHRvIGdldCByZXdhcmQgdG9rZW5zICdiYWNrJyB3aGljaCB0aGV5IHNlbnQgdG8KLy8gdGhlIGZpcnN0IHBvb2wgKGxpa2VseSBiZWNhdXNlIHZhbGlkYXRvciBpcyBzdW5zZXR0aW5nLiAgQW55IHRva2VucyBjdXJyZW50bHkgJ3Jlc2VydmVkJyBmb3Igc3Rha2VycyB0byBjbGFpbSB3aWxsCi8vIE5PVCBiZSBzZW50IGFzIHRoZXkgbXVzdCBiZSBoZWxkIGJhY2sgZm9yIHN0YWtlcnMgdG8gbGF0ZXIgY2xhaW0uCi8vIFsgT05MWSBPV05FUiBDQU4gQ0FMTF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7QWRkcmVzc30gcmVjZWl2ZXIgLSB0aGUgYWNjb3VudCB0byBzZW5kIHRoZSB0b2tlbnMgdG8gKG11c3QgYWxyZWFkeSBiZSBvcHRlZC1pbiB0byB0aGUgcmV3YXJkIHRva2VuKQovLyBAcmV0dXJucyB7dWludDY0fSB0aGUgYW1vdW50IG9mIHJld2FyZCB0b2tlbiBzZW50CmVtcHR5VG9rZW5SZXdhcmRzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQzCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDcKCS8vIHJld2FyZFRva2VuSWQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRUb2tlbklkCglpbnQgMTUzCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA0OAoJLy8gcmV3YXJkVG9rZW5IZWxkQmFjayA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjawoJaW50IDI2MAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDkKCS8vIGFzc2VydChyZXdhcmRUb2tlbklkICE9PSAwLCAidGhpcyB2YWxpZGF0b3IgZG9lc24ndCBoYXZlIGEgcmV3YXJkIHRva2VuIGRlZmluZWQiKQoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0CglpbnQgMAoJIT0KCgkvLyB0aGlzIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgYSByZXdhcmQgdG9rZW4gZGVmaW5lZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTAKCS8vIHBvb2xPbmVBcHBJZCA9IEFwcElELmZyb21VaW50NjQodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpCglpbnQgMjY4CglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDUyCgkvLyB0b2tlblJld2FyZEJhbCA9IHBvb2xPbmVBcHBJZC5hZGRyZXNzLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDIgLy8gcG9vbE9uZUFwcElkOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgktCglmcmFtZV9idXJ5IDMgLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU1CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLnBheVRva2VuUmV3YXJkPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbcmVjZWl2ZXIsIHJld2FyZFRva2VuSWQsIHRva2VuUmV3YXJkQmFsXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU2CgkvLyBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQKCWZyYW1lX2RpZyAyIC8vIHBvb2xPbmVBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1NwoJLy8gbWV0aG9kQXJnczogW3JlY2VpdmVyLCByZXdhcmRUb2tlbklkLCB0b2tlblJld2FyZEJhbF0KCWZyYW1lX2RpZyAtMiAvLyByZWNlaXZlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAzIC8vIHRva2VuUmV3YXJkQmFsOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU5CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sT25lQXBwSWQuYWRkcmVzcy5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHJld2FyZFRva2VuSWQpKSA9PT0gcmV3YXJkVG9rZW5IZWxkQmFjaywKCS8vICAgICAgICdiYWxhbmNlIG9mIHJlbWFpbmluZyByZXdhcmQgdG9rZW5zIHNob3VsZCBtYXRjaCB0aGUgaGVsZCBiYWNrIGFtb3VudCcKCS8vICAgICApCglmcmFtZV9kaWcgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMSAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCT09CgoJLy8gYmFsYW5jZSBvZiByZW1haW5pbmcgcmV3YXJkIHRva2VucyBzaG91bGQgbWF0Y2ggdGhlIGhlbGQgYmFjayBhbW91bnQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDYzCgkvLyByZXR1cm4gdG9rZW5SZXdhcmRCYWw7CglmcmFtZV9kaWcgMyAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiB2b2lkCi8vCi8vIExvZ3MgdGhlIGFkZGl0aW9uIG9mIGEgbmV3IHZhbGlkYXRvciB0byB0aGUgc3lzdGVtLCBpdHMgaW5pdGlhbCBvd25lciBhbmQgbWFuYWdlcgovLwovLwovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyIHZlcmlmaWVzIHRoZSBwYXNzZWQgaW4ga2V5IChmcm9tIGEgc3Rha2luZyBwb29sIGNhbGxpbmcgdXMgdG8gdXBkYXRlIG1ldHJpY3MpIGlzIHZhbGlkCi8vIGFuZCBtYXRjaGVzIHRoZSBpbmZvcm1hdGlvbiB3ZSBoYXZlIGluIG91ciBzdGF0ZS4gICdGYWtlJyBwb29scyBjb3VsZCBjYWxsIHVzIHRvIHVwZGF0ZSBvdXIgZGF0YSwgYnV0IHRoZXkKLy8gY2FuJ3QgZmFrZSB0aGUgaWRzIGFuZCBtb3N0IGltcG9ydGFudGx5IGFwcGxpY2F0aW9uIGlkKCEpIG9mIHRoZSBjYWxsZXIgdGhhdCBoYXMgdG8gbWF0Y2guCnZlcmlmeVBvb2xLZXlDYWxsZXI6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2MQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS5leGlzdHMsICJ0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gdGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYyCgkvLyBhc3NlcnQocG9vbEtleS5wb29sSWQgPD0gTUFYX1BPT0xTLCAncG9vbCBpZCBub3QgaW4gdmFsaWQgcmFuZ2UnKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMjQKCTw9CgoJLy8gcG9vbCBpZCBub3QgaW4gdmFsaWQgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYzCgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sS2V5LnBvb2xJZCA+IDAgJiYgKHBvb2xLZXkucG9vbElkIGFzIHVpbnQxNikgPD0gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzLAoJLy8gICAgICAgJ3Bvb2wgaWQgb3V0c2lkZSBvZiByYW5nZSBvZiBwb29scyBjcmVhdGVkIGZvciB0aGlzIHZhbGlkYXRvcicKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAwCgk+CglkdXAKCWJ6ICpza2lwX2FuZDIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50IDI0MgoJaW50IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJPD0KCSYmCgoqc2tpcF9hbmQyOgoJLy8gcG9vbCBpZCBvdXRzaWRlIG9mIHJhbmdlIG9mIHBvb2xzIGNyZWF0ZWQgZm9yIHRoaXMgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgcG9vbEtleS5wb29sQXBwSWQgPT09IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnBvb2xBcHBJZCwKCS8vICAgICAgICJUaGUgcGFzc2VkIGluIGFwcCBpZCBkb2Vzbid0IG1hdGNoIHRoZSBwYXNzZWQgaW4gaWRzIgoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk9PQoKCS8vIFRoZSBwYXNzZWQgaW4gYXBwIGlkIGRvZXNuJ3QgbWF0Y2ggdGhlIHBhc3NlZCBpbiBpZHMKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTc0CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNzYKCS8vIGFzc2VydChwb29sS2V5LmlkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3ZhbGlkYXRvcklkJykgYXMgdWludDY0KSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYnl0ZSAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmdsb2JhbFN0YXRlKCd2YWxpZGF0b3JJZCcpCglhc3NlcnQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE3NwoJLy8gYXNzZXJ0KHBvb2xLZXkucG9vbElkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3Bvb2xJZCcpIGFzIHVpbnQ2NCkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWJ5dGUgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgncG9vbElkJykKCWFzc2VydAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyByZXZlcmlmeU5GRE93bmVyc2hpcCh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogdm9pZAovLwovLyBUaGlzIG1ldGhvZCB2ZXJpZmllcyB0aGUgb3duZXJzaGlwIG9mIE5GRCAoTmFtZWQgRnVuY3Rpb24gRGF0YSkgYnkgYSB2YWxpZGF0b3IuCi8vIElmIHRoZSBvd25lcnNoaXAgaXMgbm8gbG9uZ2VyIHZhbGlkLCBpdCByZW1vdmVzIHRoZSBORkQgZnJvbSB0aGUgdmFsaWRhdG9yJ3MgY29uZmlndXJhdGlvbi4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3Igd2hvc2UgZGF0YSBzaG91bGQgYmUgcmUtZXZhbHVhdGVkLgpyZXZlcmlmeU5GRE93bmVyc2hpcDoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE4NwoJLy8gdmFsaWRhdG9yQ29uZmlnID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsaWRhdG9yQ29uZmlnCgoJLy8gKmlmMjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE4OAoJLy8gdmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8gIT09IDAKCWludCA3MgoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnQgMAoJIT0KCWJ6ICppZjI4X2VuZAoKCS8vICppZjI4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTkxCgkvLyBuZmRPd25lciA9IEFwcElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKSBhcyBBZGRyZXNzCglpbnQgNzIKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJYnl0ZSAweDY5MmU2Zjc3NmU2NTcyMmU2MSAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEgLy8gbmZkT3duZXI6IGFkZHJlc3MKCgkvLyAqaWYyOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTkzCgkvLyB2YWxpZGF0b3JDb25maWcub3duZXIgIT09IG5mZE93bmVyICYmIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyICE9PSBuZmRPd25lcgoJaW50IDgKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQzCglpbnQgNDAKCWludCAzMgoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJJiYKCipza2lwX2FuZDM6CglieiAqaWYyOV9lbmQKCgkvLyAqaWYyOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE5NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IDAKCWludCA3MgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYyOV9lbmQ6CgoqaWYyOF9lbmQ6CglyZXRzdWIKCi8vIHZhbGlkYXRlQ29uZmlnKGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnKTogdm9pZAp2YWxpZGF0ZUNvbmZpZzoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjAyCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcuZW50cnlHYXRpbmdUeXBlID49IEdBVElOR19UWVBFX05PTkUgJiYgY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA8PSBHQVRJTkdfVFlQRV9DT05TVF9NQVgsCgkvLyAgICAgICAnZ2F0aW5nIHR5cGUgbm90IHZhbGlkJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnQgMAoJPj0KCWR1cAoJYnogKnNraXBfYW5kNAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludCA0Cgk8PQoJJiYKCipza2lwX2FuZDQ6CgkvLyBnYXRpbmcgdHlwZSBub3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjA2CgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcuZXBvY2hSb3VuZExlbmd0aCA+PSBNSU5fRVBPQ0hfTEVOR1RIICYmIGNvbmZpZy5lcG9jaFJvdW5kTGVuZ3RoIDw9IE1BWF9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICAnZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnQgMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kNQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnQgMTAwMDAwMAoJPD0KCSYmCgoqc2tpcF9hbmQ1OgoJLy8gZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjEwCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yID49IE1JTl9QQ1RfVE9fVkFMSURBVE9SICYmIGNvbmZpZy5wZXJjZW50VG9WYWxpZGF0b3IgPD0gTUFYX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICAnY29tbWlzc2lvbiBwZXJjZW50YWdlIG5vdCB2YWxpZCcKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAwCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ2CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAxMDAwMDAwCgk8PQoJJiYKCipza2lwX2FuZDY6CgkvLyBjb21taXNzaW9uIHBlcmNlbnRhZ2Ugbm90IHZhbGlkCglhc3NlcnQKCgkvLyAqaWYzMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjE0CgkvLyBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yICE9PSAwCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludCAwCgkhPQoJYnogKmlmMzBfZW5kCgoJLy8gKmlmMzBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMTUKCS8vIGFzc2VydCgKCS8vICAgICAgICAgY29uZmlnLnZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzLAoJLy8gICAgICAgICAndmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBzZXQgaWYgcGVyY2VudCB0byB2YWxpZGF0b3IgaXMgbm90IDAnCgkvLyAgICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTc3IDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBzZXQgaWYgcGVyY2VudCB0byB2YWxpZGF0b3IgaXMgbm90IDAKCWFzc2VydAoKKmlmMzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMjAKCS8vIGFzc2VydChjb25maWcubWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIwOSA4CglidG9pCglpbnQgMTAwMDAwMAoJPj0KCgkvLyBzdGFraW5nIHBvb2wgbXVzdCBoYXZlIG1pbmltdW0gZW50cnkgb2YgMSBhbGdvCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyMgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgY29uZmlnLnBvb2xzUGVyTm9kZSA+IDAgJiYgY29uZmlnLnBvb2xzUGVyTm9kZSA8PSBNQVhfUE9PTFNfUEVSX05PREUsCgkvLyAgICAgICAnbnVtYmVyIG9mIHBvb2xzIHBlciBub2RlIGV4Y2VlZHMgYWxsb3dlZCBudW1iZXInCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNSAxCglidG9pCglpbnQgMAoJPgoJZHVwCglieiAqc2tpcF9hbmQ3CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjI1IDEKCWJ0b2kKCWludCAzCgk8PQoJJiYKCipza2lwX2FuZDc6CgkvLyBudW1iZXIgb2YgcG9vbHMgcGVyIG5vZGUgZXhjZWVkcyBhbGxvd2VkIG51bWJlcgoJYXNzZXJ0CgoJLy8gKmlmMzFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyNgoJLy8gY29uZmlnLnN1bnNldHRpbmdPbiAhPT0gMAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNiA4CglidG9pCglpbnQgMAoJIT0KCWJ6ICppZjMxX2VuZAoKCS8vICppZjMxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjI3CgkvLyBhc3NlcnQoY29uZmlnLnN1bnNldHRpbmdPbiA+IGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wLCAnc3Vuc2V0dGluZ09uIG11c3QgYmUgbGF0ZXIgdGhhbiBub3cgaWYgc2V0JykKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMjYgOAoJYnRvaQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJPgoKCS8vIHN1bnNldHRpbmdPbiBtdXN0IGJlIGxhdGVyIHRoYW4gbm93IGlmIHNldAoJYXNzZXJ0CgoqaWYzMV9lbmQ6CglyZXRzdWIKCi8vIGNhbGxQb29sQWRkU3Rha2Uoc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuLCBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBtYnJBbXRQYWlkOiB1aW50NjQsIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2xlYW4sIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbik6IHZvaWQKLy8KLy8gQWRkcyBhIHN0YWtlcnMgYW1vdW50IG9mIGFsZ28gdG8gYSB2YWxpZGF0b3IgcG9vbCwgdHJhbnNmZXJyaW5nIHRoZSBhbGdvIHdlIHJlY2VpdmVkIGZyb20gdGhlbSAoYWxyZWFkeSB2ZXJpZmllZAovLyBieSBvdXIgY2FsbGVyKSB0byB0aGUgc3Rha2luZyBwb29sIGFjY291bnQsIGFuZCB0aGVuIHRlbGxpbmcgaXQgYWJvdXQgdGhlIGFtb3VudCBiZWluZyBhZGRlZCBmb3IgdGhlIHNwZWNpZmllZAovLyBzdGFrZXIuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sS2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsaWRhdG9yIHBvb2wuCi8vIEBwYXJhbSB7dWludDY0fSBtYnJBbXRQYWlkIC0gQW1vdW50IHRoZSB1c2VyIGlzIGxlYXZpbmcgYmVoaW5kIGluIHRoZSB2YWxpZGF0b3IgdG8gcGF5IGZvciB0aGVpciBzdGFrZXIgTUJSIGNvc3QKLy8gQHBhcmFtIHtib29sZWFufSBpc05ld1N0YWtlclRvVmFsaWRhdG9yIC0gaWYgdGhpcyBpcyBhIG5ldywgZmlyc3QtdGltZSBzdGFrZXIgdG8gdGhlIHZhbGlkYXRvcgovLyBAcGFyYW0ge2Jvb2xlYW59IGlzTmV3U3Rha2VyVG9Qcm90b2NvbCAtIGlmIHRoaXMgaXMgYSBuZXcsIGZpcnN0LXRpbWUgc3Rha2VyIHRvIHRoZSBwcm90b2NvbApjYWxsUG9vbEFkZFN0YWtlOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjQ5CgkvLyBwb29sQXBwSWQgPSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS5wb29sQXBwSWQKCWludCAyNjggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJLQoJaW50IDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAwCgkrCglpbnQgOAoJYnl0ZSAweDc2IC8vICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1MwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5hZGRTdGFrZSwgdWludDY0Pih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgLy8gVEhJUyBJUyBBIFNFTkQgb2YgdGhlIGFtb3VudCByZWNlaXZlZCByaWdodCBiYWNrIG91dCBhbmQgaW50byB0aGUgc3Rha2luZyBwb29sIGNvbnRyYWN0IGFjY291bnQuCgkvLyAgICAgICAgIHsgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQsIHJlY2VpdmVyOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuYWRkcmVzcyB9LAoJLy8gICAgICAgICAvLyA9PT09PT09CgkvLyAgICAgICAgIHN0YWtlZEFtb3VudFBheW1lbnQuc2VuZGVyLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyByZWNlaXZlcjogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1NAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpCglmcmFtZV9kaWcgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTUKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgLy8gPT09PT09PQoJLy8gICAgICAgICAvLyBUSElTIElTIEEgU0VORCBvZiB0aGUgYW1vdW50IHJlY2VpdmVkIHJpZ2h0IGJhY2sgb3V0IGFuZCBpbnRvIHRoZSBzdGFraW5nIHBvb2wgY29udHJhY3QgYWNjb3VudC4KCS8vICAgICAgICAgeyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZCwgcmVjZWl2ZXI6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5hZGRyZXNzIH0sCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgc3Rha2VkQW1vdW50UGF5bWVudC5zZW5kZXIsCgkvLyAgICAgICBdCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnQgMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglidG9pCgoJLy8gKmlmMzJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2MwoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCA1MDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludCA1MDAKCTwKCWJ6ICppZjMyX2VuZAoKCS8vICppZjMyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjY0CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWYzMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2OAoJLy8gcG9vbE51bVN0YWtlcnMgPSBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ251bVN0YWtlcnMnKSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdudW1TdGFrZXJzJykKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xOdW1TdGFrZXJzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2OQoJLy8gcG9vbEFsZ29TdGFrZWQgPSBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3N0YWtlZCcpIGFzIHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCWJ5dGUgMHg3Mzc0NjE2YjY1NjQgLy8gInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3N0YWtlZCcpCglhc3NlcnQKCWZyYW1lX2J1cnkgMiAvLyBwb29sQWxnb1N0YWtlZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsU3Rha2VycyA9IHBvb2xOdW1TdGFrZXJzIGFzIHVpbnQxNgoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDggLy8gaGVhZE9mZnNldAoJKwoJZnJhbWVfZGlnIDEgLy8gcG9vbE51bVN0YWtlcnM6IHVpbnQ2NAoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjcxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgPSBwb29sQWxnb1N0YWtlZAoJaW50IDI2OCAvLyBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludCAxCgktCglpbnQgMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDEwIC8vIGhlYWRPZmZzZXQKCSsKCWZyYW1lX2RpZyAyIC8vIHBvb2xBbGdvU3Rha2VkOiB1aW50NjQKCWl0b2IKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vICppZjMzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzQKCS8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IKCWZyYW1lX2RpZyAtNCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sZWFuCglieiAqaWYzM19lbmQKCgkvLyAqaWYzM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsU3Rha2VycyArPSAxCglpbnQgMjQ0CglkdXAKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludCAxCgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjMzX2VuZDoKCS8vICppZjM0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzcKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbAoJZnJhbWVfZGlnIC01IC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbgoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzgKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSArPSAxCglieXRlIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgLy8gIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50IDEKCSsKCWJ5dGUgMHg2ZTc1NmQ1Mzc0NjE2YjY1NzI3MyAvLyAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoqaWYzNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4MAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCArPSBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQKCWludCAyNTIKCWR1cAoJaW50IDgKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCgkrCglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4MQoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCgkrCglieXRlIDB4NzM3NDYxNmI2NTY0IC8vICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyB1cGRhdGVTdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IHZvaWQKdXBkYXRlU3Rha2VyUG9vbFNldDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NQoJLy8gYXNzZXJ0KHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cykKCWJ5dGUgMHg3MzcwNzMgLy8gInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NwoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDAgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg4CgkvLyBmaXJzdEVtcHR5ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzc6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OQoJLy8gaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgNgoJPAoJYnogKmZvcl83X2VuZAoKCS8vICppZjM1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTAKCS8vIHBvb2xTZXRbaV0gPT09IHBvb2xLZXkKCWZyYW1lX2RpZyAwIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5Cgk9PQoJYnogKmlmMzVfZW5kCgoJLy8gKmlmMzVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTIKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmMzVfZW5kOgoJLy8gKmlmMzZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5NAoJLy8gZmlyc3RFbXB0eSA9PT0gMCAmJiBwb29sU2V0W2ldLmlkID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJZHVwCglieiAqc2tpcF9hbmQ4CglmcmFtZV9kaWcgMCAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMAoJPT0KCSYmCgoqc2tpcF9hbmQ4OgoJYnogKmlmMzZfZW5kCgoJLy8gKmlmMzZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTUKCS8vIGZpcnN0RW1wdHkgPSBpICsgMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoKKmlmMzZfZW5kOgoKKmZvcl83X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODkKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzcKCipmb3JfN19lbmQ6CgkvLyAqaWYzN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjk4CgkvLyBmaXJzdEVtcHR5ID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludCAwCgk9PQoJYnogKmlmMzdfZW5kCgoJLy8gKmlmMzdfY29uc2VxdWVudAoJLy8gTm8gZW1wdHkgc2xvdCBhdmFpbGFibGUgaW4gdGhlIHN0YWtlciBwb29sIHNldAoJZXJyCgoqaWYzN19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMwMQoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWVbZmlyc3RFbXB0eSAtIDFdID0gcG9vbEtleQoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnQgMQoJLQoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIHJlbW92ZUZyb21TdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFtib29sZWFuLCBib29sZWFuXQovLwovLyBSZW1vdmVzIGEgcG9vbCBrZXkgZnJvbSB0aGUgc3Rha2VyJ3MgYWN0aXZlIHBvb2wgc2V0IC0gZmFpbHMgaWYgbm90IGZvdW5kICghKQovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFRoZSBwb29sIGtleSB0aGV5IHNob3VsZCBiZSBzdG9yZWQgaW4KLy8KLy8gQHJldHVybiBbYm9vbGVhbiwgYm9vbGVhbl0gW2lzIHRoZSBzdGFrZXIgZ29uZSBmcm9tIEFMTCBwb29scyBvZiB0aGUgZ2l2ZW4gVkFMSURBVE9SLCBhbmQgaXMgc3Rha2VyIGdvbmUgZnJvbSBBTEwgcG9vbHNdCnJlbW92ZUZyb21TdGFrZXJQb29sU2V0OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE0CgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTUKCS8vIGluQW55UG9vbENvdW50ID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTYKCS8vIGZvdW5kID0gZmFsc2UKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOAoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZSAweDczNzA3MyAvLyAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfODoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpIDwgdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCA2Cgk8CglieiAqZm9yXzhfZW5kCgoJLy8gKmlmMzhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyMAoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50IDAKCSsKCWludCA4CglleHRyYWN0MwoJYnRvaQoJaW50IDAKCT09CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgliICpmb3JfOF9jb250aW51ZQoKKmlmMzhfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjMKCS8vIGluQW55UG9vbENvdW50ICs9IDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gaW5BbnlQb29sQ291bnQ6IHVpbnQ2NAoKCS8vICppZjM5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjQKCS8vIHBvb2xTZXRbaV0uaWQgPT09IHBvb2xLZXkuaWQKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAwCgkrCglpbnQgOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vICppZjQwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjUKCS8vIHBvb2xTZXRbaV0gPT09IHBvb2xLZXkKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAyNAoJZXh0cmFjdDMKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5Cgk9PQoJYnogKmlmNDBfZWxzZQoKCS8vICppZjQwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI2CgkvLyBmb3VuZCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyOAoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWVbaV0gPSB7IGlkOiAwLCBwb29sSWQ6IDAsIHBvb2xBcHBJZDogMCB9CglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludCAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4NzM3MDczIC8vICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgliICppZjQwX2VuZAoKKmlmNDBfZWxzZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzMwCgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCippZjQwX2VuZDoKCippZjM5X2VuZDoKCipmb3JfOF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpICs9IDEKCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCWIgKmZvcl84CgoqZm9yXzhfZW5kOgoJLy8gKmlmNDFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzNAoJLy8gIWZvdW5kCglmcmFtZV9kaWcgMiAvLyBmb3VuZDogYm9vbAoJIQoJYnogKmlmNDFfZW5kCgoJLy8gKmlmNDFfY29uc2VxdWVudAoJLy8gTm8gbWF0Y2hpbmcgc2xvdCBmb3VuZCB3aGVuIHRvbGQgdG8gcmVtb3ZlIGEgcG9vbCBmcm9tIHRoZSBzdGFrZXJzIHNldAoJZXJyCgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzOAoJLy8gcmV0dXJuIFtpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPT09IDAsIGluQW55UG9vbENvdW50ID09PSAwXTsKCWJ5dGUgMHgwMAoJaW50IDAKCWZyYW1lX2RpZyAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CglpbnQgMAoJPT0KCXNldGJpdAoJaW50IDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludCAwCgk9PQoJc2V0Yml0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgovLyBhZGRQb29sVG9Ob2RlKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHBvb2xBcHBJZDogdWludDY0LCBub2RlTnVtOiB1aW50NjQpOiB2b2lkCmFkZFBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDIKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnQgOTAwIC8vIGhlYWRPZmZzZXQKCWludCAxOTIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQzCgkvLyBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcucG9vbHNQZXJOb2RlIGFzIHVpbnQ2NAoJaW50IDIyNQoJaW50IDEKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDUKCS8vIGFzc2VydChub2RlTnVtID49IDEgJiYgbm9kZU51bSA8PSBNQVhfTk9ERVMsICdub2RlIG51bWJlciBub3QgaW4gdmFsaWQgcmFuZ2UnKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50IDEKCT49CglkdXAKCWJ6ICpza2lwX2FuZDkKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCA4Cgk8PQoJJiYKCipza2lwX2FuZDk6CgkvLyBub2RlIG51bWJlciBub3QgaW4gdmFsaWQgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3I7IGkgKz0gMSkKCWludCAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzk6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0NwoJLy8gaSA8IG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3IKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcjogdWludDY0Cgk8CglieiAqZm9yXzlfZW5kCgoJLy8gKmlmNDJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0OAoJLy8gbm9kZVBvb2xBc3NpZ25tZW50cy5ub2Rlc1tub2RlTnVtIC0gMV0ucG9vbEFwcElkc1tpXSA9PT0gMAoJZnJhbWVfZGlnIDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoJaW50IDAKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDgKCWV4dHJhY3QzCglidG9pCglpbnQgMAoJPT0KCWJ6ICppZjQyX2VuZAoKCS8vICppZjQyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzUwCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbbm9kZU51bSAtIDFdLnBvb2xBcHBJZHNbaV0gPSBwb29sQXBwSWQKCWludCA5MDAKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludCAxCgktCglpbnQgMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50IDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzUxCgkvLyByZXR1cm47CglyZXRzdWIKCippZjQyX2VuZDoKCipmb3JfOV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl85CgoqZm9yXzlfZW5kOgoJLy8gbm8gYXZhaWxhYmxlIHNwYWNlIGluIHNwZWNpZmllZCBub2RlIGZvciB0aGlzIHBvb2wKCWVycgoJcmV0c3ViCgovLyBkb2VzU3Rha2VyTWVldEdhdGluZyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQpOiB2b2lkCi8vCi8vIENoZWNrcyBpZiBhIHN0YWtlciBtZWV0cyB0aGUgZ2F0aW5nIHJlcXVpcmVtZW50cyBzcGVjaWZpZWQgYnkgdGhlIHZhbGlkYXRvci4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWx1ZVRvVmVyaWZ5IC0gVGhlIHZhbHVlIHRvIHZlcmlmeSBhZ2FpbnN0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzLgovLyBAcmV0dXJucyB7dm9pZH0gb3IgYXNzZXJ0cyBpZiByZXF1aXJlbWVudHMgbm90IG1ldC4KZG9lc1N0YWtlck1lZXRHYXRpbmc6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiA4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNjUKCS8vIHR5cGUgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ1R5cGUKCWludCA4MAoJaW50IDEKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gdHlwZTogdWludDgKCgkvLyAqaWY0M19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY2CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9OT05FCglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDAKCT09CglieiAqaWY0M19lbmQKCgkvLyAqaWY0M19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2NwoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWY0M19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2OQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDEgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNzAKCS8vIGNvbmZpZyA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnKQoJaW50IDAKCWludCAyNDIKCWJ5dGUgMHg3NiAvLyAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzc0CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVFNfQ1JFQVRFRF9CWSB8fAoJLy8gICAgICAgdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRfSUQgfHwKCS8vICAgICAgIHR5cGUgPT09IEdBVElOR19UWVBFX0NSRUFURURfQllfTkZEX0FERFJFU1NFUwoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludCAxCgk9PQoJZHVwCglibnogKnNraXBfb3I0CglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDIKCT09Cgl8fAoKKnNraXBfb3I0OgoJZHVwCglibnogKnNraXBfb3I1CglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDMKCT09Cgl8fAoKKnNraXBfb3I1OgoJYnogKmlmNDRfZW5kCgoJLy8gKmlmNDRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNzgKCS8vIGFzc2VydCh2YWx1ZVRvVmVyaWZ5ICE9PSAwKQoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJaW50IDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3OQoJLy8gYmFsUmVxdWlyZWQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5nYXRpbmdBc3NldE1pbkJhbGFuY2UKCWludCAxNDUKCWludCA4CglieXRlIDB4NzYgLy8gInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCgkvLyAqaWY0NV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzgwCgkvLyBiYWxSZXF1aXJlZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoJaW50IDAKCT09CglieiAqaWY0NV9lbmQKCgkvLyAqaWY0NV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4MQoJLy8gYmFsUmVxdWlyZWQgPSAxCglpbnQgMQoJZnJhbWVfYnVyeSAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCippZjQ1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzgzCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHN0YWtlci5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpKSA+PSBiYWxSZXF1aXJlZCwKCS8vICAgICAgICAgJ211c3QgaGF2ZSByZXF1aXJlZCBtaW5pbXVtIGJhbGFuY2Ugb2YgdmFsaWRhdG9yIGRlZmluZWQgdG9rZW4gdG8gYWRkIHN0YWtlJwoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDEgLy8gc3Rha2VyOiBhZGRyZXNzCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoJPj0KCgkvLyBtdXN0IGhhdmUgcmVxdWlyZWQgbWluaW11bSBiYWxhbmNlIG9mIHZhbGlkYXRvciBkZWZpbmVkIHRva2VuIHRvIGFkZCBzdGFrZQoJYXNzZXJ0CgoqaWY0NF9lbmQ6CgkvLyAqaWY0Nl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzg4CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVFNfQ1JFQVRFRF9CWQoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludCAxCgk9PQoJYnogKmlmNDZfZW5kCgoJLy8gKmlmNDZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpLmNyZWF0b3IgPT09IGNvbmZpZy5lbnRyeUdhdGluZ0FkZHJlc3MsCgkvLyAgICAgICAgICdzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBjcmVhdGVkIGJ5IGNyZWF0b3IgdGhhdCB0aGUgdmFsaWRhdG9yIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZScKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDgxIDMyCgk9PQoKCS8vIHNwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IHRoZSB2YWxpZGF0b3IgZGVmaW5lZCBhcyBhIHJlcXVpcmVtZW50IHRvIHN0YWtlCglhc3NlcnQKCippZjQ2X2VuZDoKCS8vICppZjQ3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTQKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX0FTU0VUX0lECglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50IDIKCT09CglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NQoJLy8gYXNzZXJ0KHZhbHVlVG9WZXJpZnkgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglpbnQgMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk2CgkvLyBmb3VuZCA9IGZhbHNlCglpbnQgMAoJZnJhbWVfYnVyeSA0IC8vIGZvdW5kOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTcKCS8vIGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0cwoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTEzIDMyCglkdXAKCWZyYW1lX2J1cnkgNSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CglpbnQgMAoJZnJhbWVfYnVyeSA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTgKCS8vIHZhbHVlVG9WZXJpZnkgPT09IGFzc2V0SWQKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGFzc2V0SWQ6IHVpbnQ2NAoJPT0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk5CgkvLyBmb3VuZCA9IHRydWUKCWludCAxCglmcmFtZV9idXJ5IDQgLy8gZm91bmQ6IGJvb2wKCWIgKmZvck9mXzBfZW5kCgoqaWY0OF9lbmQ6CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMzIgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyA1IC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwMwoJLy8gYXNzZXJ0KGZvdW5kLCAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgaWRlbnRpY2FsIHRvIHRoZSBhc3NldCBpZCBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UnKQoJZnJhbWVfZGlnIDQgLy8gZm91bmQ6IGJvb2wKCgkvLyBzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBpZGVudGljYWwgdG8gdGhlIGFzc2V0IGlkIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZQoJYXNzZXJ0CgoqaWY0N19lbmQ6CgkvLyAqaWY0OV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA1CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnQgMwoJPT0KCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA4CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSwgQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpLmNyZWF0b3IpLAoJLy8gICAgICAgICAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgY3JlYXRlZCBieSBjcmVhdG9yIHRoYXQgaXMgb25lIG9mIHRoZSBsaW5rZWQgYWRkcmVzc2VzIGluIGFuIG5mZCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoKCS8vIHNwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IGlzIG9uZSBvZiB0aGUgbGlua2VkIGFkZHJlc3NlcyBpbiBhbiBuZmQKCWFzc2VydAoKKmlmNDlfZW5kOgoJLy8gKmlmNTBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxMwoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfU0VHTUVOVF9PRl9ORkQKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnQgNAoJPT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE1CgkvLyB1c2VyT2ZmZXJlZE5GREFwcElEID0gdmFsdWVUb1ZlcmlmeQoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfYnVyeSA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE2CgkvLyBhc3NlcnQodGhpcy5pc05GREFwcElEVmFsaWQodXNlck9mZmVyZWRORkRBcHBJRCksICdwcm92aWRlZCBORkQgbXVzdCBiZSB2YWxpZCcpCglmcmFtZV9kaWcgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCWNhbGxzdWIgaXNORkRBcHBJRFZhbGlkCgoJLy8gcHJvdmlkZWQgTkZEIG11c3QgYmUgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDE5CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHJhd0J5dGVzKEFwcElELmZyb21VaW50NjQodXNlck9mZmVyZWRORkRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpIGFzIEFkZHJlc3MpID09PSByYXdCeXRlcyhzdGFrZXIpIHx8CgkvLyAgICAgICAgICAgdGhpcy5pc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QodXNlck9mZmVyZWRORkRBcHBJRCwgc3Rha2VyKSwKCS8vICAgICAgICAgInByb3ZpZGVkIG5mZCBmb3IgZW50cnkgaXNuJ3Qgb3duZWQgb3IgbGlua2VkIHRvIHRoZSBzdGFrZXIiCgkvLyAgICAgICApCglmcmFtZV9kaWcgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCWJ5dGUgMHg2OTJlNmY3NzZlNjU3MjJlNjEgLy8gImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9kaWcgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjYKCWZyYW1lX2RpZyAxIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoJfHwKCipza2lwX29yNjoKCS8vIHByb3ZpZGVkIG5mZCBmb3IgZW50cnkgaXNuJ3Qgb3duZWQgb3IgbGlua2VkIHRvIHRoZSBzdGFrZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDI2CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIGJ0b2koQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5wYXJlbnRBcHBJRCcpIGFzIGJ5dGVzKSA9PT0KCS8vICAgICAgICAgICBjb25maWcuZW50cnlHYXRpbmdBc3NldHNbMF0sCgkvLyAgICAgICAgICdzcGVjaWZpZWQgbmZkIG11c3QgYmUgYSBzZWdtZW50IG9mIHRoZSBuZmQgdGhlIHZhbGlkYXRvciBzcGVjaWZpZWQgYXMgYSByZXF1aXJlbWVudCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJYnl0ZSAweDY5MmU3MDYxNzI2NTZlNzQ0MTcwNzA0OTQ0IC8vICJpLnBhcmVudEFwcElEIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodXNlck9mZmVyZWRORkRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kucGFyZW50QXBwSUQnKQoJYXNzZXJ0CglidG9pCglmcmFtZV9kaWcgMiAvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMTMgOAoJYnRvaQoJPT0KCgkvLyBzcGVjaWZpZWQgbmZkIG11c3QgYmUgYSBzZWdtZW50IG9mIHRoZSBuZmQgdGhlIHZhbGlkYXRvciBzcGVjaWZpZWQgYXMgYSByZXF1aXJlbWVudAoJYXNzZXJ0CgoqaWY1MF9lbmQ6CglyZXRzdWIKCi8vIGlzTkZEQXBwSURWYWxpZChuZmRBcHBJRDogdWludDY0KTogYm9vbGVhbgovLwovLyBDaGVja3MgaWYgdGhlIGdpdmVuIE5GRCBBcHAgaWQgaXMgdmFsaWQuICBVc2luZyBvbmx5IHRoZSBBcHAgaWQgdGhlcmUncyBubyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIG5hbWUgKGllOiB0aGF0IG5mZCBYIGlzIG5hbWUgWSkKLy8gU28gaXQncyBhc3N1bWVkIGZvciB0aGUgY2FsbGVyLCB0aGUgYXBwIGlkIGFsb25lIGlzIGZpbmUuICBUaGUgbmFtZSBpcyBmZXRjaGVkIGZyb20gdGhlIHNwZWNpZmllZCBhcHAgaWQgYW5kIHRoZSB0d28KLy8gdG9nZXRoZXIgYXJlIHVzZWQgZm9yIHZhbGlkaXR5IGNoZWNrIGNhbGwgdG8gdGhlIG5mZCByZWdpc3RyeS4KLy8KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElEIC0gVGhlIE5GRCBBcHAgaWQgdG8gdmVyaWZ5LgovLwovLyBAcmV0dXJucyB7Ym9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIE5GRCBBcHAgaWQgaXMgdmFsaWQsIG90aGVyd2lzZSBmYWxzZS4KaXNORkRBcHBJRFZhbGlkOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ0NQoJLy8gdXNlck9mZmVyZWRORkROYW1lID0gQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kubmFtZScpIGFzIHN0cmluZwoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWJ5dGUgMHg2OTJlNmU2MTZkNjUgLy8gImkubmFtZSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKS5nbG9iYWxTdGF0ZSgnaS5uYW1lJykKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIHVzZXJPZmZlcmVkTkZETmFtZTogc3RyaW5nCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NDcKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCB1c2VyT2ZmZXJlZE5GRE5hbWUsIGl0b2IobmZkQXBwSUQpXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ0OAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglsb2FkIDIwMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ5CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgdXNlck9mZmVyZWRORkROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGUgMHg2OTczNWY3NjYxNmM2OTY0NWY2ZTY2NjQ1ZjYxNzA3MDY5NjQgLy8gImlzX3ZhbGlkX25mZF9hcHBpZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyB1c2VyT2ZmZXJlZE5GRE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDUwCgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ1MgoJLy8gcmV0dXJuIGJ0b2kodGhpcy5pdHhuLmxhc3RMb2cpID09PSAxOwoJaXR4biBMYXN0TG9nCglidG9pCglpbnQgMQoJPT0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KG5mZEFwcElEOiB1aW50NjQsIGFkZHJUb0ZpbmQ6IEFkZHJlc3MpOiBib29sZWFuCi8vCi8vIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIGFkZHJlc3MgaXMgcHJlc2VudCBpbiBhbiBORkRzIGxpc3Qgb2YgdmVyaWZpZWQgYWRkcmVzc2VzLgovLyBUaGUgTkZEIGlzIGFzc3VtZWQgdG8gaGF2ZSBhbHJlYWR5IGJlZW4gdmFsaWRhdGVkIGFzIG9mZmljaWFsLgovLwovLyBAcGFyYW0ge3VpbnQ2NH0gbmZkQXBwSUQgLSBUaGUgTkZEIGFwcGxpY2F0aW9uIGlkLgovLyBAcGFyYW0ge0FkZHJlc3N9IGFkZHJUb0ZpbmQgLSBUaGUgYWRkcmVzcyB0byBmaW5kIGluIHRoZSB2LmNhQWxnby4wLmFzIHByb3BlcnR5Ci8vIEByZXR1cm4ge2Jvb2xlYW59IC0gYHRydWVgIGlmIHRoZSBhZGRyZXNzIGlzIHByZXNlbnQsIGBmYWxzZWAgb3RoZXJ3aXNlLgppc0FkZHJlc3NJbk5GRENBQWxnb0xpc3Q6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3JlYWRfcHJvcGVydHknLCAndi5jYUFsZ28uMC5hcyddLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY1CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY2CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsncmVhZF9wcm9wZXJ0eScsICd2LmNhQWxnby4wLmFzJ10KCWJ5dGUgMHg3MjY1NjE2NDVmNzA3MjZmNzA2NTcyNzQ3OSAvLyAicmVhZF9wcm9wZXJ0eSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglieXRlIDB4NzYyZTYzNjE0MTZjNjc2ZjJlMzAyZTYxNzMgLy8gInYuY2FBbGdvLjAuYXMiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OAoJLy8gY2FBbGdvRGF0YSA9IHRoaXMuaXR4bi5sYXN0TG9nCglpdHhuIExhc3RMb2cKCWZyYW1lX2J1cnkgMCAvLyBjYUFsZ29EYXRhOiBieXRlW10KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBjYUFsZ29EYXRhLmxlbmd0aDsgaSArPSAzMikKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzEwOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjkKCS8vIGkgPCBjYUFsZ29EYXRhLmxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBjYUFsZ29EYXRhOiBieXRlW10KCWxlbgoJPAoJYnogKmZvcl8xMF9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3MAoJLy8gYWRkciA9IGV4dHJhY3QzKGNhQWxnb0RhdGEsIGksIDMyKQoJZnJhbWVfZGlnIDAgLy8gY2FBbGdvRGF0YTogYnl0ZVtdCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludCAzMgoJZXh0cmFjdDMKCWZyYW1lX2J1cnkgMiAvLyBhZGRyOiBieXRlW10KCgkvLyAqaWY1MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDcxCgkvLyBhZGRyICE9PSByYXdCeXRlcyhnbG9iYWxzLnplcm9BZGRyZXNzKSAmJiBhZGRyID09PSByYXdCeXRlcyhhZGRyVG9GaW5kKQoJZnJhbWVfZGlnIDIgLy8gYWRkcjogYnl0ZVtdCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDEwCglmcmFtZV9kaWcgMiAvLyBhZGRyOiBieXRlW10KCWZyYW1lX2RpZyAtMiAvLyBhZGRyVG9GaW5kOiBBZGRyZXNzCgk9PQoJJiYKCipza2lwX2FuZDEwOgoJYnogKmlmNTFfZW5kCgoJLy8gKmlmNTFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NzIKCS8vIHJldHVybiB0cnVlOwoJaW50IDEKCWIgKmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdCpyZXR1cm4KCippZjUxX2VuZDoKCipmb3JfMTBfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OQoJLy8gaSArPSAzMgoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnQgMzIKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8xMAoKKmZvcl8xMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3NQoJLy8gcmV0dXJuIGZhbHNlOwoJaW50IDAKCippc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBhbGdvU2F0dXJhdGlvbkxldmVsKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBtYXhpbXVtIGFsbG93ZWQgc3Rha2UgcGVyIHZhbGlkYXRvciBiYXNlZCBvbiBhIHBlcmNlbnRhZ2Ugb2YgYWxsIGN1cnJlbnQgb25saW5lIHN0YWtlIGJlZm9yZQovLyB0aGUgdmFsaWRhdG9yIGlzIGNvbnNpZGVyZWQgc2F0dXJhdGVkIC0gd2hlcmUgcmV3YXJkcyBhcmUgZGltaW5pc2hlZC4KLy8gTk9URTogdGhpcyBmdW5jdGlvbiBpcyBkZWZpbmVkIHR3aWNlIC0gaGVyZSBhbmQgaW4gc3Rha2luZyBwb29sIGNvbnRyYWN0LiAgQm90aCBtdXN0IGJlIGlkZW50aWNhbC4KYWxnb1NhdHVyYXRpb25MZXZlbDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0ODQKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ4NgoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbb25saW5lLCBNQVhfVkFMSURBVE9SX1NPRlRfUENUX09GX09OTElORV8xREVDSU1BTF0sIFsxMDAwXSk7CglmcmFtZV9kaWcgMCAvLyBvbmxpbmU6IHVpbnQ2NAoJaW50IDEwMAoJbXVsdwoJaW50IDAKCWludCAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGxvd2VkU3Rha2UoKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgdmFsaWRhdG9yIGJhc2VkIG9uIGEgcGVyY2VudGFnZSBvZiBhbGwgY3VycmVudCBvbmxpbmUgc3Rha2UuCi8vIEFkZGluZyBzdGFrZSBpcyBjb21wbGV0ZWx5IGJsb2NrZWQgYXQgdGhpcyBhbW91bnQuCm1heEFsbG93ZWRTdGFrZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0OTQKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ5NgoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbb25saW5lLCBNQVhfVkFMSURBVE9SX0hBUkRfUENUX09GX09OTElORV8xREVDSU1BTF0sIFsxMDAwXSk7CglmcmFtZV9kaWcgMCAvLyBvbmxpbmU6IHVpbnQ2NAoJaW50IDE1MAoJbXVsdwoJaW50IDAKCWludCAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGdvQWxsb3dlZFBlclBvb2woKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgcG9vbCBhbmQgc3RpbGwgcmVjZWl2ZSBpbmNlbnRpdmVzIC0gd2UnbGwgdHJlYXQgdGhpcyBhcyB0aGUgJ21heCBwZXIgcG9vbCcKbWF4QWxnb0FsbG93ZWRQZXJQb29sOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDQKCS8vIHJldHVybiA3MF8wMDBfMDAwXzAwMF8wMDA7CglpbnQgNzBfMDAwXzAwMF8wMDBfMDAwCglyZXRzdWIKCi8vIGdldEN1cnJlbnRPbmxpbmVTdGFrZSgpOiB1aW50NjQKZ2V0Q3VycmVudE9ubGluZVN0YWtlOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDkKCS8vIHJldHVybiAyXzAwMF8wMDBfMDAwXzAwMF8wMDA7CglpbnQgMl8wMDBfMDAwXzAwMF8wMDBfMDAwCglyZXRzdWIKCi8vIG1pbkJhbGFuY2VGb3JBY2NvdW50KGNvbnRyYWN0czogdWludDY0LCBleHRyYVBhZ2VzOiB1aW50NjQsIGFzc2V0czogdWludDY0LCBsb2NhbEludHM6IHVpbnQ2NCwgbG9jYWxCeXRlczogdWludDY0LCBnbG9iYWxJbnRzOiB1aW50NjQsIGdsb2JhbEJ5dGVzOiB1aW50NjQpOiB1aW50NjQKbWluQmFsYW5jZUZvckFjY291bnQ6Cglwcm90byA3IDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTIxCgkvLyBtaW5CYWwgPSBBTEdPUkFORF9BQ0NPVU5UX01JTl9CQUxBTkNFCglpbnQgMTAwMDAwCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMgoJLy8gbWluQmFsICs9IGNvbnRyYWN0cyAqIEFQUExJQ0FUSU9OX0JBU0VfRkVFCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGNvbnRyYWN0czogdWludDY0CglpbnQgMTAwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMwoJLy8gbWluQmFsICs9IGV4dHJhUGFnZXMgKiBBUFBMSUNBVElPTl9CQVNFX0ZFRQoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBleHRyYVBhZ2VzOiB1aW50NjQKCWludCAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI0CgkvLyBtaW5CYWwgKz0gYXNzZXRzICogQVNTRVRfSE9MRElOR19GRUUKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYXNzZXRzOiB1aW50NjQKCWludCAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI1CgkvLyBtaW5CYWwgKz0gbG9jYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gbG9jYWxJbnRzOiB1aW50NjQKCWludCAyODUwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjYKCS8vIG1pbkJhbCArPSBnbG9iYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTYgLy8gZ2xvYmFsSW50czogdWludDY0CglpbnQgMjg1MDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI3CgkvLyBtaW5CYWwgKz0gbG9jYWxCeXRlcyAqIFNTQ19WQUxVRV9CWVRFUwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNSAvLyBsb2NhbEJ5dGVzOiB1aW50NjQKCWludCA1MDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjgKCS8vIG1pbkJhbCArPSBnbG9iYWxCeXRlcyAqIFNTQ19WQUxVRV9CWVRFUwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNyAvLyBnbG9iYWxCeXRlczogdWludDY0CglpbnQgNTAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI5CgkvLyByZXR1cm4gbWluQmFsOwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY29zdEZvckJveFN0b3JhZ2UodG90YWxOdW1CeXRlczogdWludDY0KTogdWludDY0CmNvc3RGb3JCb3hTdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MzYKCS8vIHJldHVybiBTQ0JPWF9QRVJCT1ggKyB0b3RhbE51bUJ5dGVzICogU0NCT1hfUEVSQllURTsKCWludCAyNTAwCglmcmFtZV9kaWcgLTEgLy8gdG90YWxOdW1CeXRlczogdWludDY0CglpbnQgNDAwCgkqCgkrCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQiCgltZXRob2QgImxvYWRTdGFraW5nQ29udHJhY3REYXRhKHVpbnQ2NCxieXRlW10pdm9pZCIKCW1ldGhvZCAiZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQiCgltZXRob2QgImdhcygpdm9pZCIKCW1ldGhvZCAiZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCgltZXRob2QgImdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiZ2V0TnVtVmFsaWRhdG9ycygpdWludDY0IgoJbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJbWV0aG9kICJnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpIgoJbWV0aG9kICJnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdIgoJbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KSIKCW1ldGhvZCAiZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sIgoJbWV0aG9kICJnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10iCgltZXRob2QgImdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCgltZXRob2QgImdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkiCgltZXRob2QgImdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NCIKCW1ldGhvZCAiYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NCIKCW1ldGhvZCAiY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImNoYW5nZVZhbGlkYXRvck5GRCh1aW50NjQsdWludDY0LHN0cmluZyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgImFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAiYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCW1ldGhvZCAic2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KSIKCW1ldGhvZCAic3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJbWV0aG9kICJmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKSIKCW1ldGhvZCAibW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0ICphYmlfcm91dGVfbG9hZFN0YWtpbmdDb250cmFjdERhdGEgKmFiaV9yb3V0ZV9maW5hbGl6ZVN0YWtpbmdDb250cmFjdCAqYWJpX3JvdXRlX2dhcyAqYWJpX3JvdXRlX2dldE1ickFtb3VudHMgKmFiaV9yb3V0ZV9nZXRQcm90b2NvbENvbnN0cmFpbnRzICphYmlfcm91dGVfZ2V0TnVtVmFsaWRhdG9ycyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvckNvbmZpZyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvclN0YXRlICphYmlfcm91dGVfZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyICphYmlfcm91dGVfZ2V0UG9vbHMgKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQgKmFiaV9yb3V0ZV9nZXRQb29sSW5mbyAqYWJpX3JvdXRlX2dldEN1ck1heFN0YWtlUGVyUG9vbCAqYWJpX3JvdXRlX2RvZXNTdGFrZXJOZWVkVG9QYXlNQlIgKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQgKmFiaV9yb3V0ZV9nZXRUb2tlblBheW91dFJhdGlvICphYmlfcm91dGVfZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyAqYWJpX3JvdXRlX2dldE5GRFJlZ2lzdHJ5SUQgKmFiaV9yb3V0ZV9hZGRWYWxpZGF0b3IgKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRCAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyAqYWJpX3JvdXRlX2FkZFBvb2wgKmFiaV9yb3V0ZV9hZGRTdGFrZSAqYWJpX3JvdXRlX3NldFRva2VuUGF5b3V0UmF0aW8gKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzICphYmlfcm91dGVfc3Rha2VSZW1vdmVkICphYmlfcm91dGVfZmluZFBvb2xGb3JTdGFrZXIgKmFiaV9yb3V0ZV9tb3ZlUG9vbFRvTm9kZSAqYWJpX3JvdXRlX2VtcHR5VG9rZW5SZXdhcmRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbjoKCW1ldGhvZCAidXBkYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgVXBkYXRlQXBwbGljYXRpb24KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"templateVariables": {
diff --git a/examples/simple/artifacts/Simple.approval.teal b/examples/simple/artifacts/Simple.approval.teal
index 5b0205fec..539d6494b 100644
--- a/examples/simple/artifacts/Simple.approval.teal
+++ b/examples/simple/artifacts/Simple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/simple/artifacts/Simple.arc32.json b/examples/simple/artifacts/Simple.arc32.json
index b49e5e92d..94d1acd36 100644
--- a/examples/simple/artifacts/Simple.arc32.json
+++ b/examples/simple/artifacts/Simple.arc32.json
@@ -59,7 +59,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBpbmNyZW1lbnRDb3VudGVyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcmVtZW50Q291bnRlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czo3CgkvLyB0aGlzLmNvdW50ZXIudmFsdWUgPSB0aGlzLmNvdW50ZXIudmFsdWUgKyBpCglieXRlIDB4NjM2Zjc1NmU3NDY1NzIgLy8gImNvdW50ZXIiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgkrCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBpbmNyKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfaW5jcjoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgaW5jcih1aW50NjQpdm9pZAoJY2FsbHN1YiBpbmNyCglpbnQgMQoJcmV0dXJuCgovLyBpbmNyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxMQoJLy8gdGhpcy5pbmNyZW1lbnRDb3VudGVyKGkpCglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgljYWxsc3ViIGluY3JlbWVudENvdW50ZXIKCXJldHN1YgoKLy8gZGVjcih1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2RlY3I6CgkvLyBpOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGRlY3IodWludDY0KXZvaWQKCWNhbGxzdWIgZGVjcgoJaW50IDEKCXJldHVybgoKLy8gZGVjcihpOiB1aW50NjQpOiB2b2lkCmRlY3I6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MTUKCS8vIHRoaXMuY291bnRlci52YWx1ZSA9IHRoaXMuY291bnRlci52YWx1ZSAtIGkKCWJ5dGUgMHg2MzZmNzU2ZTc0NjU3MiAvLyAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCS0KCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2FkZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYWRkIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBhZGQgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGFkZAoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYWRkIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxOQoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKwoJcmV0c3ViCgovLyBzdWIodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9zdWI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHN1YiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3ViIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHN1Yih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBzdWIKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHN1YiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN1YihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpzdWI6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MjMKCS8vIHJldHVybiBhIC0gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYi0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImluY3IodWludDY0KXZvaWQiCgltZXRob2QgImRlY3IodWludDY0KXZvaWQiCgltZXRob2QgImFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAic3ViKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9pbmNyICphYmlfcm91dGVfZGVjciAqYWJpX3JvdXRlX2FkZCAqYWJpX3JvdXRlX3N1YgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBpbmNyZW1lbnRDb3VudGVyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcmVtZW50Q291bnRlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czo3CgkvLyB0aGlzLmNvdW50ZXIudmFsdWUgPSB0aGlzLmNvdW50ZXIudmFsdWUgKyBpCglieXRlIDB4NjM2Zjc1NmU3NDY1NzIgLy8gImNvdW50ZXIiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgkrCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBpbmNyKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfaW5jcjoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgaW5jcih1aW50NjQpdm9pZAoJY2FsbHN1YiBpbmNyCglpbnQgMQoJcmV0dXJuCgovLyBpbmNyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxMQoJLy8gdGhpcy5pbmNyZW1lbnRDb3VudGVyKGkpCglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgljYWxsc3ViIGluY3JlbWVudENvdW50ZXIKCXJldHN1YgoKLy8gZGVjcih1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2RlY3I6CgkvLyBpOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGRlY3IodWludDY0KXZvaWQKCWNhbGxzdWIgZGVjcgoJaW50IDEKCXJldHVybgoKLy8gZGVjcihpOiB1aW50NjQpOiB2b2lkCmRlY3I6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MTUKCS8vIHRoaXMuY291bnRlci52YWx1ZSA9IHRoaXMuY291bnRlci52YWx1ZSAtIGkKCWJ5dGUgMHg2MzZmNzU2ZTc0NjU3MiAvLyAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCS0KCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2FkZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYWRkIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBhZGQgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGFkZAoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYWRkIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxOQoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKwoJcmV0c3ViCgovLyBzdWIodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9zdWI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHN1YiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3ViIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHN1Yih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBzdWIKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHN1YiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN1YihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpzdWI6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MjMKCS8vIHJldHVybiBhIC0gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYi0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImluY3IodWludDY0KXZvaWQiCgltZXRob2QgImRlY3IodWludDY0KXZvaWQiCgltZXRob2QgImFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAic3ViKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9pbmNyICphYmlfcm91dGVfZGVjciAqYWJpX3JvdXRlX2FkZCAqYWJpX3JvdXRlX3N1YgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MjcKLy8gdGhpcy5pbmNyZW1lbnRDb3VudGVyKDEpCmludCAxCmNhbGxzdWIgaW5jcmVtZW50Q291bnRlcgppbnQgMQpyZXR1cm4KCi8vIGluY3JlbWVudENvdW50ZXIoaTogdWludDY0KTogdm9pZAppbmNyZW1lbnRDb3VudGVyOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvc2ltcGxlL3NpbXBsZS5hbGdvLnRzOjcKCS8vIHRoaXMuY291bnRlci52YWx1ZSA9IHRoaXMuY291bnRlci52YWx1ZSArIGkKCWJ5dGUgMHg2MzZmNzU2ZTc0NjU3MiAvLyAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWI="
},
"contract": {
diff --git a/examples/simple/artifacts/Simple.arc56_draft.json b/examples/simple/artifacts/Simple.arc56_draft.json
index a0ce632af..7110bd8db 100644
--- a/examples/simple/artifacts/Simple.arc56_draft.json
+++ b/examples/simple/artifacts/Simple.arc56_draft.json
@@ -133,1063 +133,1066 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 3,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 13,
- "source": 3,
- "pc": [
- 55,
- 56
- ]
- },
- {
- "teal": 14,
- "source": 3,
- "pc": [
- 57
- ]
- },
- {
- "teal": 15,
- "source": 3,
- "pc": [
- 58,
- 59
- ]
- },
- {
- "teal": 16,
- "source": 3,
- "pc": [
- 60
- ]
- },
- {
- "teal": 17,
- "source": 3,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 18,
- "source": 3,
- "pc": [
- 63
- ]
- },
- {
- "teal": 19,
- "source": 3,
- "pc": [
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 23,
- "source": 3,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 90
- ]
- },
- {
- "teal": 27,
- "source": 6,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 31,
- "source": 7,
- "pc": [
- 94
- ]
- },
- {
- "teal": 32,
- "source": 7,
- "pc": [
- 95
- ]
- },
- {
- "teal": 33,
- "source": 7,
- "pc": [
- 96
- ]
- },
- {
- "teal": 34,
- "source": 7,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 35,
- "source": 7,
- "pc": [
- 99
- ]
- },
- {
- "teal": 36,
- "source": 7,
- "pc": [
- 100
- ]
- },
- {
- "teal": 37,
- "source": 6,
- "pc": [
- 101
- ]
- },
- {
- "teal": 42,
- "source": 10,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 43,
- "source": 10,
- "pc": [
- 105
- ]
- },
- {
- "teal": 46,
- "source": 10,
- "pc": [
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 47,
- "source": 10,
- "pc": [
- 109
- ]
- },
- {
- "teal": 48,
- "source": 10,
- "pc": [
- 110
- ]
- },
- {
- "teal": 52,
- "source": 10,
- "pc": [
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 56,
- "source": 11,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 57,
- "source": 11,
- "pc": [
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 58,
- "source": 10,
- "pc": [
- 119
- ]
- },
- {
- "teal": 63,
- "source": 14,
- "pc": [
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 64,
- "source": 14,
- "pc": [
- 123
- ]
- },
- {
- "teal": 67,
- "source": 14,
- "pc": [
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 68,
- "source": 14,
- "pc": [
- 127
- ]
- },
- {
- "teal": 69,
- "source": 14,
- "pc": [
- 128
- ]
- },
- {
- "teal": 73,
- "source": 14,
- "pc": [
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 77,
- "source": 15,
- "pc": [
- 132
- ]
- },
- {
- "teal": 78,
- "source": 15,
- "pc": [
- 133
- ]
- },
- {
- "teal": 79,
- "source": 15,
- "pc": [
- 134
- ]
- },
- {
- "teal": 80,
- "source": 15,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 81,
- "source": 15,
- "pc": [
- 137
- ]
- },
- {
- "teal": 82,
- "source": 15,
- "pc": [
- 138
- ]
- },
- {
- "teal": 83,
- "source": 14,
- "pc": [
- 139
- ]
- },
- {
- "teal": 88,
- "source": 18,
- "pc": [
- 140
- ]
- },
- {
- "teal": 91,
- "source": 18,
- "pc": [
- 141,
- 142,
- 143
- ]
- },
- {
- "teal": 92,
- "source": 18,
- "pc": [
- 144
- ]
- },
- {
- "teal": 93,
- "source": 18,
- "pc": [
- 145
- ]
- },
- {
- "teal": 94,
- "source": 18,
- "pc": [
- 146
- ]
- },
- {
- "teal": 95,
- "source": 18,
- "pc": [
- 147
- ]
- },
- {
- "teal": 98,
- "source": 18,
- "errorMessage": "argument 0 (b) for add must be a uint256",
- "pc": [
- 148
- ]
- },
- {
- "teal": 101,
- "source": 18,
- "pc": [
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 102,
- "source": 18,
- "pc": [
- 152
- ]
- },
- {
- "teal": 103,
- "source": 18,
- "pc": [
- 153
- ]
- },
- {
- "teal": 104,
- "source": 18,
- "pc": [
- 154
- ]
- },
- {
- "teal": 105,
- "source": 18,
- "pc": [
- 155
- ]
- },
- {
- "teal": 108,
- "source": 18,
- "errorMessage": "argument 1 (a) for add must be a uint256",
- "pc": [
- 156
- ]
- },
- {
- "teal": 111,
- "source": 18,
- "pc": [
- 157,
- 158,
- 159
- ]
- },
- {
- "teal": 112,
- "source": 18,
- "pc": [
- 160
- ]
- },
- {
- "teal": 113,
- "source": 18,
- "pc": [
- 161
- ]
- },
- {
- "teal": 114,
- "source": 18,
- "pc": [
- 162
- ]
- },
- {
- "teal": 115,
- "source": 18,
- "pc": [
- 163
- ]
- },
- {
- "teal": 118,
- "source": 18,
- "errorMessage": "add return value overflowed 256 bits",
- "pc": [
- 164
- ]
- },
- {
- "teal": 119,
- "source": 18,
- "pc": [
- 165
- ]
- },
- {
- "teal": 120,
- "source": 18,
- "pc": [
- 166
- ]
- },
- {
- "teal": 121,
- "source": 18,
- "pc": [
- 167
- ]
- },
- {
- "teal": 122,
- "source": 18,
- "pc": [
- 168
- ]
- },
- {
- "teal": 123,
- "source": 18,
- "pc": [
- 169
- ]
- },
- {
- "teal": 124,
- "source": 18,
- "pc": [
- 170
- ]
- },
- {
- "teal": 125,
- "source": 18,
- "pc": [
- 171
- ]
- },
- {
- "teal": 126,
- "source": 18,
- "pc": [
- 172
- ]
- },
- {
- "teal": 127,
- "source": 18,
- "pc": [
- 173
- ]
- },
- {
- "teal": 128,
- "source": 18,
- "pc": [
- 174
- ]
- },
- {
- "teal": 129,
- "source": 18,
- "pc": [
- 175
- ]
- },
- {
- "teal": 130,
- "source": 18,
- "pc": [
- 176
- ]
- },
- {
- "teal": 131,
- "source": 18,
- "pc": [
- 177
- ]
- },
- {
- "teal": 135,
- "source": 18,
- "pc": [
- 178,
- 179,
- 180
- ]
- },
- {
- "teal": 139,
- "source": 19,
- "pc": [
- 181,
- 182
- ]
- },
- {
- "teal": 140,
- "source": 19,
- "pc": [
- 183,
- 184
- ]
- },
- {
- "teal": 141,
- "source": 19,
- "pc": [
- 185
- ]
- },
- {
- "teal": 142,
- "source": 18,
- "pc": [
- 186
- ]
- },
- {
- "teal": 147,
- "source": 22,
- "pc": [
- 187
- ]
- },
- {
- "teal": 150,
- "source": 22,
- "pc": [
- 188,
- 189,
- 190
- ]
- },
- {
- "teal": 151,
- "source": 22,
- "pc": [
- 191
- ]
- },
- {
- "teal": 152,
- "source": 22,
- "pc": [
- 192
- ]
- },
- {
- "teal": 153,
- "source": 22,
- "pc": [
- 193
- ]
- },
- {
- "teal": 154,
- "source": 22,
- "pc": [
- 194
- ]
- },
- {
- "teal": 157,
- "source": 22,
- "errorMessage": "argument 0 (b) for sub must be a uint256",
- "pc": [
- 195
- ]
- },
- {
- "teal": 160,
- "source": 22,
- "pc": [
- 196,
- 197,
- 198
- ]
- },
- {
- "teal": 161,
- "source": 22,
- "pc": [
- 199
- ]
- },
- {
- "teal": 162,
- "source": 22,
- "pc": [
- 200
- ]
- },
- {
- "teal": 163,
- "source": 22,
- "pc": [
- 201
- ]
- },
- {
- "teal": 164,
- "source": 22,
- "pc": [
- 202
- ]
- },
- {
- "teal": 167,
- "source": 22,
- "errorMessage": "argument 1 (a) for sub must be a uint256",
- "pc": [
- 203
- ]
- },
- {
- "teal": 170,
- "source": 22,
- "pc": [
- 204,
- 205,
- 206
- ]
- },
- {
- "teal": 171,
- "source": 22,
- "pc": [
- 207
- ]
- },
- {
- "teal": 172,
- "source": 22,
- "pc": [
- 208
- ]
- },
- {
- "teal": 173,
- "source": 22,
- "pc": [
- 209
- ]
- },
- {
- "teal": 174,
- "source": 22,
- "pc": [
- 210
- ]
- },
- {
- "teal": 177,
- "source": 22,
- "errorMessage": "sub return value overflowed 256 bits",
- "pc": [
- 211
- ]
- },
- {
- "teal": 178,
- "source": 22,
- "pc": [
- 212
- ]
- },
- {
- "teal": 179,
- "source": 22,
- "pc": [
- 213
- ]
- },
- {
- "teal": 180,
- "source": 22,
- "pc": [
- 214
- ]
- },
- {
- "teal": 181,
- "source": 22,
- "pc": [
- 215
- ]
- },
- {
- "teal": 182,
- "source": 22,
- "pc": [
- 216
- ]
- },
- {
- "teal": 183,
- "source": 22,
- "pc": [
- 217
- ]
- },
- {
- "teal": 184,
- "source": 22,
- "pc": [
- 218
- ]
- },
- {
- "teal": 185,
- "source": 22,
- "pc": [
- 219
- ]
- },
- {
- "teal": 186,
- "source": 22,
- "pc": [
- 220
- ]
- },
- {
- "teal": 187,
- "source": 22,
- "pc": [
- 221
- ]
- },
- {
- "teal": 188,
- "source": 22,
- "pc": [
- 222
- ]
- },
- {
- "teal": 189,
- "source": 22,
- "pc": [
- 223
- ]
- },
- {
- "teal": 190,
- "source": 22,
- "pc": [
- 224
- ]
- },
- {
- "teal": 194,
- "source": 22,
- "pc": [
- 225,
- 226,
- 227
- ]
- },
- {
- "teal": 198,
- "source": 23,
- "pc": [
- 228,
- 229
- ]
- },
- {
- "teal": 199,
- "source": 23,
- "pc": [
- 230,
- 231
- ]
- },
- {
- "teal": 200,
- "source": 23,
- "pc": [
- 232
- ]
- },
- {
- "teal": 201,
- "source": 22,
- "pc": [
- 233
- ]
- },
- {
- "teal": 204,
- "source": 3,
- "pc": [
- 234
- ]
- },
- {
- "teal": 205,
- "source": 3,
- "pc": [
- 235
- ]
- },
- {
- "teal": 208,
- "source": 3,
- "pc": [
- 236,
- 237,
- 238,
- 239,
- 240,
- 241
- ]
- },
- {
- "teal": 209,
- "source": 3,
- "pc": [
- 242,
- 243,
- 244
- ]
- },
- {
- "teal": 210,
- "source": 3,
- "pc": [
- 245,
- 246,
- 247,
- 248
- ]
- },
- {
- "teal": 213,
- "source": 3,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 249
- ]
- },
- {
- "teal": 216,
- "source": 3,
- "pc": [
- 250,
- 251,
- 252,
- 253,
- 254,
- 255
- ]
- },
- {
- "teal": 217,
- "source": 3,
- "pc": [
- 256,
- 257,
- 258,
- 259,
- 260,
- 261
- ]
- },
- {
- "teal": 218,
- "source": 3,
- "pc": [
- 262,
- 263,
- 264,
- 265,
- 266,
- 267
- ]
- },
- {
- "teal": 219,
- "source": 3,
- "pc": [
- 268,
- 269,
- 270,
- 271,
- 272,
- 273
- ]
- },
- {
- "teal": 220,
- "source": 3,
- "pc": [
- 274,
- 275,
- 276
- ]
- },
- {
- "teal": 221,
- "source": 3,
- "pc": [
- 277,
- 278,
- 279,
- 280,
- 281,
- 282,
- 283,
- 284,
- 285,
- 286
- ]
- },
- {
- "teal": 224,
- "source": 3,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 287
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 3,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 3,
+ "pc": [
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 3,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 3,
+ "pc": [
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 3,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 3,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 3,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 3,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 3,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 27,
+ "source": 6,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 7,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 7,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 7,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 7,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 7,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 7,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 6,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 10,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 10,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 10,
+ "pc": [
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 10,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 10,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 10,
+ "pc": [
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 11,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 11,
+ "pc": [
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 10,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 14,
+ "pc": [
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 14,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 14,
+ "pc": [
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 14,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 14,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 14,
+ "pc": [
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 15,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 15,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 15,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 15,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 15,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 15,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 14,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 18,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 18,
+ "pc": [
+ 141,
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 18,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 18,
+ "pc": [
+ 145
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 18,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 18,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 18,
+ "errorMessage": "argument 0 (b) for add must be a uint256",
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 18,
+ "pc": [
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 18,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 18,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 18,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 18,
+ "pc": [
+ 155
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 18,
+ "errorMessage": "argument 1 (a) for add must be a uint256",
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 18,
+ "pc": [
+ 157,
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 18,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 18,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 18,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 18,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 18,
+ "errorMessage": "add return value overflowed 256 bits",
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 18,
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 18,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 18,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 18,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 18,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 18,
+ "pc": [
+ 170
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 18,
+ "pc": [
+ 171
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 18,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 18,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 18,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 18,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 18,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 18,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 18,
+ "pc": [
+ 178,
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 19,
+ "pc": [
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 19,
+ "pc": [
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 19,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 18,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 22,
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 22,
+ "pc": [
+ 188,
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 22,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 22,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 22,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 22,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 22,
+ "errorMessage": "argument 0 (b) for sub must be a uint256",
+ "pc": [
+ 195
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 22,
+ "pc": [
+ 196,
+ 197,
+ 198
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 22,
+ "pc": [
+ 199
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 22,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 22,
+ "pc": [
+ 201
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 22,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 22,
+ "errorMessage": "argument 1 (a) for sub must be a uint256",
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 22,
+ "pc": [
+ 204,
+ 205,
+ 206
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 22,
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 22,
+ "pc": [
+ 208
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 22,
+ "pc": [
+ 209
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 22,
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 22,
+ "errorMessage": "sub return value overflowed 256 bits",
+ "pc": [
+ 211
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 22,
+ "pc": [
+ 212
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 22,
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 22,
+ "pc": [
+ 214
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 22,
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 22,
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 22,
+ "pc": [
+ 217
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 22,
+ "pc": [
+ 218
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 22,
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 22,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 22,
+ "pc": [
+ 221
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 22,
+ "pc": [
+ 222
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 22,
+ "pc": [
+ 223
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 22,
+ "pc": [
+ 224
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 22,
+ "pc": [
+ 225,
+ 226,
+ 227
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 23,
+ "pc": [
+ 228,
+ 229
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 23,
+ "pc": [
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 23,
+ "pc": [
+ 232
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 22,
+ "pc": [
+ 233
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 3,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 3,
+ "pc": [
+ 235
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 3,
+ "pc": [
+ 236,
+ 237,
+ 238,
+ 239,
+ 240,
+ 241
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 3,
+ "pc": [
+ 242,
+ 243,
+ 244
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 3,
+ "pc": [
+ 245,
+ 246,
+ 247,
+ 248
+ ]
+ },
+ {
+ "teal": 213,
+ "source": 3,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 249
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 3,
+ "pc": [
+ 250,
+ 251,
+ 252,
+ 253,
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 3,
+ "pc": [
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 3,
+ "pc": [
+ 262,
+ 263,
+ 264,
+ 265,
+ 266,
+ 267
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 3,
+ "pc": [
+ 268,
+ 269,
+ 270,
+ 271,
+ 272,
+ 273
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 3,
+ "pc": [
+ 274,
+ 275,
+ 276
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 3,
+ "pc": [
+ 277,
+ 278,
+ 279,
+ 280,
+ 281,
+ 282,
+ 283,
+ 284,
+ 285,
+ 286
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 3,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 287
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBpbmNyZW1lbnRDb3VudGVyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcmVtZW50Q291bnRlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czo3CgkvLyB0aGlzLmNvdW50ZXIudmFsdWUgPSB0aGlzLmNvdW50ZXIudmFsdWUgKyBpCglieXRlIDB4NjM2Zjc1NmU3NDY1NzIgLy8gImNvdW50ZXIiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgkrCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBpbmNyKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfaW5jcjoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgaW5jcih1aW50NjQpdm9pZAoJY2FsbHN1YiBpbmNyCglpbnQgMQoJcmV0dXJuCgovLyBpbmNyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxMQoJLy8gdGhpcy5pbmNyZW1lbnRDb3VudGVyKGkpCglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgljYWxsc3ViIGluY3JlbWVudENvdW50ZXIKCXJldHN1YgoKLy8gZGVjcih1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2RlY3I6CgkvLyBpOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGRlY3IodWludDY0KXZvaWQKCWNhbGxzdWIgZGVjcgoJaW50IDEKCXJldHVybgoKLy8gZGVjcihpOiB1aW50NjQpOiB2b2lkCmRlY3I6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MTUKCS8vIHRoaXMuY291bnRlci52YWx1ZSA9IHRoaXMuY291bnRlci52YWx1ZSAtIGkKCWJ5dGUgMHg2MzZmNzU2ZTc0NjU3MiAvLyAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCS0KCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2FkZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYWRkIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBhZGQgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGFkZAoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYWRkIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxOQoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKwoJcmV0c3ViCgovLyBzdWIodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9zdWI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHN1YiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3ViIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHN1Yih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBzdWIKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHN1YiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN1YihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpzdWI6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MjMKCS8vIHJldHVybiBhIC0gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYi0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImluY3IodWludDY0KXZvaWQiCgltZXRob2QgImRlY3IodWludDY0KXZvaWQiCgltZXRob2QgImFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAic3ViKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9pbmNyICphYmlfcm91dGVfZGVjciAqYWJpX3JvdXRlX2FkZCAqYWJpX3JvdXRlX3N1YgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBpbmNyZW1lbnRDb3VudGVyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcmVtZW50Q291bnRlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czo3CgkvLyB0aGlzLmNvdW50ZXIudmFsdWUgPSB0aGlzLmNvdW50ZXIudmFsdWUgKyBpCglieXRlIDB4NjM2Zjc1NmU3NDY1NzIgLy8gImNvdW50ZXIiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgkrCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBpbmNyKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfaW5jcjoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgaW5jcih1aW50NjQpdm9pZAoJY2FsbHN1YiBpbmNyCglpbnQgMQoJcmV0dXJuCgovLyBpbmNyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxMQoJLy8gdGhpcy5pbmNyZW1lbnRDb3VudGVyKGkpCglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgljYWxsc3ViIGluY3JlbWVudENvdW50ZXIKCXJldHN1YgoKLy8gZGVjcih1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2RlY3I6CgkvLyBpOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGRlY3IodWludDY0KXZvaWQKCWNhbGxzdWIgZGVjcgoJaW50IDEKCXJldHVybgoKLy8gZGVjcihpOiB1aW50NjQpOiB2b2lkCmRlY3I6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MTUKCS8vIHRoaXMuY291bnRlci52YWx1ZSA9IHRoaXMuY291bnRlci52YWx1ZSAtIGkKCWJ5dGUgMHg2MzZmNzU2ZTc0NjU3MiAvLyAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCS0KCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2FkZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYWRkIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBhZGQgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGFkZAoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYWRkIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxOQoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKwoJcmV0c3ViCgovLyBzdWIodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9zdWI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHN1YiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3ViIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHN1Yih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBzdWIKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHN1YiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN1YihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpzdWI6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MjMKCS8vIHJldHVybiBhIC0gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYi0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImluY3IodWludDY0KXZvaWQiCgltZXRob2QgImRlY3IodWludDY0KXZvaWQiCgltZXRob2QgImFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAic3ViKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9pbmNyICphYmlfcm91dGVfZGVjciAqYWJpX3JvdXRlX2FkZCAqYWJpX3JvdXRlX3N1YgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MjcKLy8gdGhpcy5pbmNyZW1lbnRDb3VudGVyKDEpCmludCAxCmNhbGxzdWIgaW5jcmVtZW50Q291bnRlcgppbnQgMQpyZXR1cm4KCi8vIGluY3JlbWVudENvdW50ZXIoaTogdWludDY0KTogdm9pZAppbmNyZW1lbnRDb3VudGVyOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvc2ltcGxlL3NpbXBsZS5hbGdvLnRzOjcKCS8vIHRoaXMuY291bnRlci52YWx1ZSA9IHRoaXMuY291bnRlci52YWx1ZSArIGkKCWJ5dGUgMHg2MzZmNzU2ZTc0NjU3MiAvLyAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWI="
},
"byteCode": {
diff --git a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.approval.teal b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.approval.teal
index 40bf4a4c7..a1c43e07f 100644
--- a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.approval.teal
+++ b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc32.json b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc32.json
index 3b0f6bc97..946c7ae46 100644
--- a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc32.json
+++ b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc32.json
@@ -59,7 +59,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzZXRNeUNvbnRhY3Qoc3RyaW5nLHN0cmluZyl2b2lkCiphYmlfcm91dGVfc2V0TXlDb250YWN0OgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHNldE15Q29udGFjdChzdHJpbmcsc3RyaW5nKXZvaWQKCWNhbGxzdWIgc2V0TXlDb250YWN0CglpbnQgMQoJcmV0dXJuCgovLyBzZXRNeUNvbnRhY3QobmFtZTogc3RyaW5nLCBjb21wYW55OiBzdHJpbmcpOiB2b2lkCnNldE15Q29udGFjdDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjEyCgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gY29tcGFueTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTQKCS8vIHRoaXMubXlDb250YWN0LnZhbHVlID0gY29udGFjdAoJYnl0ZSAweDZkNzk0MzZmNmU3NDYxNjM3NCAvLyAibXlDb250YWN0IgoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTUKCS8vIHRoaXMuY29udGFjdHModGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGNvbnRhY3QKCXR4biBTZW5kZXIKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMCAvLyBjb250YWN0OiBDb250YWN0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hZGRDb250YWN0OgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgYWRkQ29udGFjdCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWRkQ29udGFjdAoJaW50IDEKCXJldHVybgoKLy8gYWRkQ29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKYWRkQ29udGFjdDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE5CgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gY29tcGFueTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjAKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUgPSBjb250YWN0CglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCWJveF9wdXQKCXJldHN1YgoKLy8gdXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkOgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgdXBkYXRlQ29udGFjdEZpZWxkIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWx1ZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIGZpZWxkOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGRhdGVDb250YWN0RmllbGQoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdXBkYXRlQ29udGFjdEZpZWxkCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVDb250YWN0RmllbGQoZmllbGQ6IHN0cmluZywgdmFsdWU6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKdXBkYXRlQ29udGFjdEZpZWxkOgoJcHJvdG8gMyAwCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNAoJLy8gZmllbGQgPT09ICduYW1lJwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCWJ5dGUgMHg2ZTYxNmQ2NSAvLyAibmFtZSIKCT09CglieiAqaWYwX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjUKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUubmFtZSA9IHZhbHVlCglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNgoJLy8gZmllbGQgPT09ICdjb21wYW55JwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCWJ5dGUgMHg2MzZmNmQ3MDYxNmU3OSAvLyAiY29tcGFueSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI3CgkvLyB0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLmNvbXBhbnkgPSB2YWx1ZQoJZnJhbWVfZGlnIC0zIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglmcmFtZV9kaWcgLTIgLy8gdmFsdWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gSW52YWxpZCBmaWVsZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gdmVyaWZ5Q29udGFjdE5hbWUoc3RyaW5nLGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeUNvbnRhY3ROYW1lOgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgdmVyaWZ5Q29udGFjdE5hbWUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHZlcmlmeUNvbnRhY3ROYW1lKHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdmVyaWZ5Q29udGFjdE5hbWUKCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeUNvbnRhY3ROYW1lKG5hbWU6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKdmVyaWZ5Q29udGFjdE5hbWU6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLm5hbWUgPT09IG5hbWUpCglmcmFtZV9kaWcgLTIgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZCIKCW1ldGhvZCAiYWRkQ29udGFjdChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3QgKmFiaV9yb3V0ZV9hZGRDb250YWN0ICphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkICphYmlfcm91dGVfdmVyaWZ5Q29udGFjdE5hbWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzZXRNeUNvbnRhY3Qoc3RyaW5nLHN0cmluZyl2b2lkCiphYmlfcm91dGVfc2V0TXlDb250YWN0OgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHNldE15Q29udGFjdChzdHJpbmcsc3RyaW5nKXZvaWQKCWNhbGxzdWIgc2V0TXlDb250YWN0CglpbnQgMQoJcmV0dXJuCgovLyBzZXRNeUNvbnRhY3QobmFtZTogc3RyaW5nLCBjb21wYW55OiBzdHJpbmcpOiB2b2lkCnNldE15Q29udGFjdDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjEyCgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gY29tcGFueTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTQKCS8vIHRoaXMubXlDb250YWN0LnZhbHVlID0gY29udGFjdAoJYnl0ZSAweDZkNzk0MzZmNmU3NDYxNjM3NCAvLyAibXlDb250YWN0IgoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTUKCS8vIHRoaXMuY29udGFjdHModGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGNvbnRhY3QKCXR4biBTZW5kZXIKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMCAvLyBjb250YWN0OiBDb250YWN0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hZGRDb250YWN0OgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgYWRkQ29udGFjdCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWRkQ29udGFjdAoJaW50IDEKCXJldHVybgoKLy8gYWRkQ29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKYWRkQ29udGFjdDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE5CgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gY29tcGFueTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjAKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUgPSBjb250YWN0CglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCWJveF9wdXQKCXJldHN1YgoKLy8gdXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkOgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgdXBkYXRlQ29udGFjdEZpZWxkIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWx1ZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIGZpZWxkOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGRhdGVDb250YWN0RmllbGQoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdXBkYXRlQ29udGFjdEZpZWxkCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVDb250YWN0RmllbGQoZmllbGQ6IHN0cmluZywgdmFsdWU6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKdXBkYXRlQ29udGFjdEZpZWxkOgoJcHJvdG8gMyAwCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNAoJLy8gZmllbGQgPT09ICduYW1lJwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCWJ5dGUgMHg2ZTYxNmQ2NSAvLyAibmFtZSIKCT09CglieiAqaWYwX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjUKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUubmFtZSA9IHZhbHVlCglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNgoJLy8gZmllbGQgPT09ICdjb21wYW55JwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCWJ5dGUgMHg2MzZmNmQ3MDYxNmU3OSAvLyAiY29tcGFueSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI3CgkvLyB0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLmNvbXBhbnkgPSB2YWx1ZQoJZnJhbWVfZGlnIC0zIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglmcmFtZV9kaWcgLTIgLy8gdmFsdWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gSW52YWxpZCBmaWVsZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gdmVyaWZ5Q29udGFjdE5hbWUoc3RyaW5nLGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeUNvbnRhY3ROYW1lOgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgdmVyaWZ5Q29udGFjdE5hbWUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHZlcmlmeUNvbnRhY3ROYW1lKHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdmVyaWZ5Q29udGFjdE5hbWUKCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeUNvbnRhY3ROYW1lKG5hbWU6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKdmVyaWZ5Q29udGFjdE5hbWU6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLm5hbWUgPT09IG5hbWUpCglmcmFtZV9kaWcgLTIgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZCIKCW1ldGhvZCAiYWRkQ29udGFjdChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3QgKmFiaV9yb3V0ZV9hZGRDb250YWN0ICphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkICphYmlfcm91dGVfdmVyaWZ5Q29udGFjdE5hbWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc56_draft.json b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc56_draft.json
index 8280be6bd..6fce86bf0 100644
--- a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc56_draft.json
+++ b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc56_draft.json
@@ -117,10 +117,16 @@
56
],
"structs": {
- "Contact": {
- "name": "string",
- "company": "string"
- }
+ "Contact": [
+ {
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "company",
+ "type": "string"
+ }
+ ]
},
"state": {
"schema": {
@@ -159,2695 +165,2698 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 6,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12
- ]
- },
- {
- "teal": 13,
- "source": 6,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 14,
- "source": 6,
- "pc": [
- 15
- ]
- },
- {
- "teal": 15,
- "source": 6,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 16,
- "source": 6,
- "pc": [
- 18
- ]
- },
- {
- "teal": 17,
- "source": 6,
- "pc": [
- 19,
- 20
- ]
- },
- {
- "teal": 18,
- "source": 6,
- "pc": [
- 21
- ]
- },
- {
- "teal": 19,
- "source": 6,
- "pc": [
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 23,
- "source": 6,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 48
- ]
- },
- {
- "teal": 28,
- "source": 11,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 29,
- "source": 11,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 32,
- "source": 11,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 33,
- "source": 11,
- "pc": [
- 58,
- 59,
- 60
- ]
- },
- {
- "teal": 36,
- "source": 11,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 37,
- "source": 11,
- "pc": [
- 64
- ]
- },
- {
- "teal": 38,
- "source": 11,
- "pc": [
- 65
- ]
- },
- {
- "teal": 42,
- "source": 11,
- "pc": [
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 45,
- "source": 11,
- "pc": [
- 69
- ]
- },
- {
- "teal": 49,
- "source": 12,
- "pc": [
- 70
- ]
- },
- {
- "teal": 50,
- "source": 12,
- "pc": [
- 71
- ]
- },
- {
- "teal": 51,
- "source": 12,
- "pc": [
- 72
- ]
- },
- {
- "teal": 52,
- "source": 12,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 53,
- "source": 12,
- "pc": [
- 75
- ]
- },
- {
- "teal": 54,
- "source": 12,
- "pc": [
- 76
- ]
- },
- {
- "teal": 55,
- "source": 12,
- "pc": [
- 77
- ]
- },
- {
- "teal": 56,
- "source": 12,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 57,
- "source": 12,
- "pc": [
- 81
- ]
- },
- {
- "teal": 58,
- "source": 12,
- "pc": [
- 82
- ]
- },
- {
- "teal": 59,
- "source": 12,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 60,
- "source": 12,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 61,
- "source": 12,
- "pc": [
- 88
- ]
- },
- {
- "teal": 62,
- "source": 12,
- "pc": [
- 89
- ]
- },
- {
- "teal": 63,
- "source": 12,
- "pc": [
- 90
- ]
- },
- {
- "teal": 64,
- "source": 12,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 65,
- "source": 12,
- "pc": [
- 94
- ]
- },
- {
- "teal": 66,
- "source": 12,
- "pc": [
- 95
- ]
- },
- {
- "teal": 67,
- "source": 12,
- "pc": [
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 68,
- "source": 12,
- "pc": [
- 99
- ]
- },
- {
- "teal": 69,
- "source": 12,
- "pc": [
- 100
- ]
- },
- {
- "teal": 70,
- "source": 12,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 74,
- "source": 14,
- "pc": [
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 75,
- "source": 14,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 76,
- "source": 14,
- "pc": [
- 116
- ]
- },
- {
- "teal": 80,
- "source": 15,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 81,
- "source": 15,
- "pc": [
- 119
- ]
- },
- {
- "teal": 82,
- "source": 15,
- "pc": [
- 120
- ]
- },
- {
- "teal": 83,
- "source": 15,
- "pc": [
- 121
- ]
- },
- {
- "teal": 84,
- "source": 15,
- "pc": [
- 122,
- 123
- ]
- },
- {
- "teal": 85,
- "source": 15,
- "pc": [
- 124
- ]
- },
- {
- "teal": 86,
- "source": 11,
- "pc": [
- 125
- ]
- },
- {
- "teal": 91,
- "source": 18,
- "pc": [
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 92,
- "source": 18,
- "pc": [
- 129
- ]
- },
- {
- "teal": 93,
- "source": 18,
- "pc": [
- 130
- ]
- },
- {
- "teal": 94,
- "source": 18,
- "pc": [
- 131
- ]
- },
- {
- "teal": 95,
- "source": 18,
- "pc": [
- 132
- ]
- },
- {
- "teal": 98,
- "source": 18,
- "errorMessage": "argument 0 (address) for addContact must be a address",
- "pc": [
- 133
- ]
- },
- {
- "teal": 101,
- "source": 18,
- "pc": [
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 102,
- "source": 18,
- "pc": [
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 105,
- "source": 18,
- "pc": [
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 106,
- "source": 18,
- "pc": [
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 109,
- "source": 18,
- "pc": [
- 146,
- 147,
- 148
- ]
- },
- {
- "teal": 110,
- "source": 18,
- "pc": [
- 149
- ]
- },
- {
- "teal": 111,
- "source": 18,
- "pc": [
- 150
- ]
- },
- {
- "teal": 115,
- "source": 18,
- "pc": [
- 151,
- 152,
- 153
- ]
- },
- {
- "teal": 118,
- "source": 18,
- "pc": [
- 154
- ]
- },
- {
- "teal": 122,
- "source": 19,
- "pc": [
- 155
- ]
- },
- {
- "teal": 123,
- "source": 19,
- "pc": [
- 156
- ]
- },
- {
- "teal": 124,
- "source": 19,
- "pc": [
- 157
- ]
- },
- {
- "teal": 125,
- "source": 19,
- "pc": [
- 158,
- 159
- ]
- },
- {
- "teal": 126,
- "source": 19,
- "pc": [
- 160
- ]
- },
- {
- "teal": 127,
- "source": 19,
- "pc": [
- 161
- ]
- },
- {
- "teal": 128,
- "source": 19,
- "pc": [
- 162
- ]
- },
- {
- "teal": 129,
- "source": 19,
- "pc": [
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 130,
- "source": 19,
- "pc": [
- 166
- ]
- },
- {
- "teal": 131,
- "source": 19,
- "pc": [
- 167
- ]
- },
- {
- "teal": 132,
- "source": 19,
- "pc": [
- 168,
- 169,
- 170
- ]
- },
- {
- "teal": 133,
- "source": 19,
- "pc": [
- 171,
- 172
- ]
- },
- {
- "teal": 134,
- "source": 19,
- "pc": [
- 173
- ]
- },
- {
- "teal": 135,
- "source": 19,
- "pc": [
- 174
- ]
- },
- {
- "teal": 136,
- "source": 19,
- "pc": [
- 175
- ]
- },
- {
- "teal": 137,
- "source": 19,
- "pc": [
- 176,
- 177,
- 178
- ]
- },
- {
- "teal": 138,
- "source": 19,
- "pc": [
- 179
- ]
- },
- {
- "teal": 139,
- "source": 19,
- "pc": [
- 180
- ]
- },
- {
- "teal": 140,
- "source": 19,
- "pc": [
- 181,
- 182,
- 183
- ]
- },
- {
- "teal": 141,
- "source": 19,
- "pc": [
- 184
- ]
- },
- {
- "teal": 142,
- "source": 19,
- "pc": [
- 185
- ]
- },
- {
- "teal": 143,
- "source": 19,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 147,
- "source": 20,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 148,
- "source": 20,
- "pc": [
- 190
- ]
- },
- {
- "teal": 149,
- "source": 20,
- "pc": [
- 191
- ]
- },
- {
- "teal": 150,
- "source": 20,
- "pc": [
- 192
- ]
- },
- {
- "teal": 151,
- "source": 20,
- "pc": [
- 193,
- 194
- ]
- },
- {
- "teal": 152,
- "source": 20,
- "pc": [
- 195
- ]
- },
- {
- "teal": 153,
- "source": 18,
- "pc": [
- 196
- ]
- },
- {
- "teal": 158,
- "source": 23,
- "pc": [
- 197,
- 198,
- 199
- ]
- },
- {
- "teal": 159,
- "source": 23,
- "pc": [
- 200
- ]
- },
- {
- "teal": 160,
- "source": 23,
- "pc": [
- 201
- ]
- },
- {
- "teal": 161,
- "source": 23,
- "pc": [
- 202
- ]
- },
- {
- "teal": 162,
- "source": 23,
- "pc": [
- 203
- ]
- },
- {
- "teal": 165,
- "source": 23,
- "errorMessage": "argument 0 (address) for updateContactField must be a address",
- "pc": [
- 204
- ]
- },
- {
- "teal": 168,
- "source": 23,
- "pc": [
- 205,
- 206,
- 207
- ]
- },
- {
- "teal": 169,
- "source": 23,
- "pc": [
- 208,
- 209,
- 210
- ]
- },
- {
- "teal": 172,
- "source": 23,
- "pc": [
- 211,
- 212,
- 213
- ]
- },
- {
- "teal": 173,
- "source": 23,
- "pc": [
- 214,
- 215,
- 216
- ]
- },
- {
- "teal": 176,
- "source": 23,
- "pc": [
- 217,
- 218,
- 219
- ]
- },
- {
- "teal": 177,
- "source": 23,
- "pc": [
- 220
- ]
- },
- {
- "teal": 178,
- "source": 23,
- "pc": [
- 221
- ]
- },
- {
- "teal": 182,
- "source": 23,
- "pc": [
- 222,
- 223,
- 224
- ]
- },
- {
- "teal": 187,
- "source": 24,
- "pc": [
- 225,
- 226
- ]
- },
- {
- "teal": 188,
- "source": 24,
- "pc": [
- 227,
- 228,
- 229,
- 230,
- 231,
- 232
- ]
- },
- {
- "teal": 189,
- "source": 24,
- "pc": [
- 233
- ]
- },
- {
- "teal": 190,
- "source": 24,
- "pc": [
- 234,
- 235,
- 236
- ]
- },
- {
- "teal": 195,
- "source": 25,
- "pc": [
- 237,
- 238
- ]
- },
- {
- "teal": 196,
- "source": 25,
- "pc": [
- 239
- ]
- },
- {
- "teal": 199,
- "source": 25,
- "errorMessage": "box value does not exist: this.contacts(address).value",
- "pc": [
- 240
- ]
- },
- {
- "teal": 200,
- "source": 25,
- "pc": [
- 241,
- 242
- ]
- },
- {
- "teal": 201,
- "source": 25,
- "pc": [
- 243
- ]
- },
- {
- "teal": 202,
- "source": 25,
- "pc": [
- 244
- ]
- },
- {
- "teal": 203,
- "source": 25,
- "pc": [
- 245,
- 246
- ]
- },
- {
- "teal": 204,
- "source": 25,
- "pc": [
- 247,
- 248
- ]
- },
- {
- "teal": 205,
- "source": 25,
- "pc": [
- 249,
- 250
- ]
- },
- {
- "teal": 206,
- "source": 25,
- "pc": [
- 251,
- 252
- ]
- },
- {
- "teal": 207,
- "source": 25,
- "pc": [
- 253
- ]
- },
- {
- "teal": 208,
- "source": 25,
- "pc": [
- 254
- ]
- },
- {
- "teal": 209,
- "source": 25,
- "pc": [
- 255,
- 256
- ]
- },
- {
- "teal": 210,
- "source": 25,
- "pc": [
- 257
- ]
- },
- {
- "teal": 211,
- "source": 25,
- "pc": [
- 258,
- 259
- ]
- },
- {
- "teal": 212,
- "source": 25,
- "pc": [
- 260
- ]
- },
- {
- "teal": 213,
- "source": 25,
- "pc": [
- 261
- ]
- },
- {
- "teal": 214,
- "source": 25,
- "pc": [
- 262
- ]
- },
- {
- "teal": 215,
- "source": 25,
- "pc": [
- 263
- ]
- },
- {
- "teal": 216,
- "source": 25,
- "pc": [
- 264
- ]
- },
- {
- "teal": 217,
- "source": 25,
- "pc": [
- 265
- ]
- },
- {
- "teal": 218,
- "source": 25,
- "pc": [
- 266,
- 267
- ]
- },
- {
- "teal": 219,
- "source": 25,
- "pc": [
- 268,
- 269
- ]
- },
- {
- "teal": 220,
- "source": 25,
- "pc": [
- 270
- ]
- },
- {
- "teal": 221,
- "source": 25,
- "pc": [
- 271,
- 272
- ]
- },
- {
- "teal": 222,
- "source": 25,
- "pc": [
- 273
- ]
- },
- {
- "teal": 223,
- "source": 25,
- "pc": [
- 274,
- 275
- ]
- },
- {
- "teal": 224,
- "source": 25,
- "pc": [
- 276
- ]
- },
- {
- "teal": 225,
- "source": 25,
- "pc": [
- 277
- ]
- },
- {
- "teal": 226,
- "source": 25,
- "pc": [
- 278
- ]
- },
- {
- "teal": 227,
- "source": 25,
- "pc": [
- 279,
- 280,
- 281
- ]
- },
- {
- "teal": 228,
- "source": 25,
- "pc": [
- 282
- ]
- },
- {
- "teal": 229,
- "source": 25,
- "pc": [
- 283
- ]
- },
- {
- "teal": 230,
- "source": 25,
- "pc": [
- 284
- ]
- },
- {
- "teal": 231,
- "source": 25,
- "pc": [
- 285,
- 286
- ]
- },
- {
- "teal": 232,
- "source": 25,
- "pc": [
- 287,
- 288
- ]
- },
- {
- "teal": 233,
- "source": 25,
- "pc": [
- 289,
- 290
- ]
- },
- {
- "teal": 234,
- "source": 25,
- "pc": [
- 291,
- 292
- ]
- },
- {
- "teal": 235,
- "source": 25,
- "pc": [
- 293
- ]
- },
- {
- "teal": 236,
- "source": 25,
- "pc": [
- 294,
- 295
- ]
- },
- {
- "teal": 237,
- "source": 25,
- "pc": [
- 296
- ]
- },
- {
- "teal": 238,
- "source": 25,
- "pc": [
- 297
- ]
- },
- {
- "teal": 239,
- "source": 25,
- "pc": [
- 298
- ]
- },
- {
- "teal": 240,
- "source": 25,
- "pc": [
- 299
- ]
- },
- {
- "teal": 241,
- "source": 25,
- "pc": [
- 300,
- 301
- ]
- },
- {
- "teal": 242,
- "source": 25,
- "pc": [
- 302,
- 303,
- 304
- ]
- },
- {
- "teal": 243,
- "source": 25,
- "pc": [
- 305,
- 306
- ]
- },
- {
- "teal": 244,
- "source": 25,
- "pc": [
- 307,
- 308
- ]
- },
- {
- "teal": 245,
- "source": 25,
- "pc": [
- 309
- ]
- },
- {
- "teal": 246,
- "source": 25,
- "pc": [
- 310
- ]
- },
- {
- "teal": 247,
- "source": 25,
- "pc": [
- 311,
- 312,
- 313
- ]
- },
- {
- "teal": 248,
- "source": 25,
- "pc": [
- 314,
- 315
- ]
- },
- {
- "teal": 249,
- "source": 25,
- "pc": [
- 316,
- 317
- ]
- },
- {
- "teal": 250,
- "source": 25,
- "pc": [
- 318
- ]
- },
- {
- "teal": 251,
- "source": 25,
- "pc": [
- 319
- ]
- },
- {
- "teal": 252,
- "source": 25,
- "pc": [
- 320
- ]
- },
- {
- "teal": 253,
- "source": 25,
- "pc": [
- 321
- ]
- },
- {
- "teal": 254,
- "source": 25,
- "pc": [
- 322
- ]
- },
- {
- "teal": 255,
- "source": 24,
- "pc": [
- 323,
- 324,
- 325
- ]
- },
- {
- "teal": 260,
- "source": 26,
- "pc": [
- 326,
- 327
- ]
- },
- {
- "teal": 261,
- "source": 26,
- "pc": [
- 328,
- 329,
- 330,
- 331,
- 332,
- 333,
- 334,
- 335,
- 336
- ]
- },
- {
- "teal": 262,
- "source": 26,
- "pc": [
- 337
- ]
- },
- {
- "teal": 263,
- "source": 26,
- "pc": [
- 338,
- 339,
- 340
- ]
- },
- {
- "teal": 268,
- "source": 27,
- "pc": [
- 341,
- 342
- ]
- },
- {
- "teal": 269,
- "source": 27,
- "pc": [
- 343
- ]
- },
- {
- "teal": 272,
- "source": 27,
- "errorMessage": "box value does not exist: this.contacts(address).value",
- "pc": [
- 344
- ]
- },
- {
- "teal": 273,
- "source": 27,
- "pc": [
- 345,
- 346
- ]
- },
- {
- "teal": 274,
- "source": 27,
- "pc": [
- 347
- ]
- },
- {
- "teal": 275,
- "source": 27,
- "pc": [
- 348
- ]
- },
- {
- "teal": 276,
- "source": 27,
- "pc": [
- 349,
- 350
- ]
- },
- {
- "teal": 277,
- "source": 27,
- "pc": [
- 351,
- 352
- ]
- },
- {
- "teal": 278,
- "source": 27,
- "pc": [
- 353,
- 354
- ]
- },
- {
- "teal": 279,
- "source": 27,
- "pc": [
- 355,
- 356
- ]
- },
- {
- "teal": 280,
- "source": 27,
- "pc": [
- 357
- ]
- },
- {
- "teal": 281,
- "source": 27,
- "pc": [
- 358
- ]
- },
- {
- "teal": 282,
- "source": 27,
- "pc": [
- 359,
- 360
- ]
- },
- {
- "teal": 283,
- "source": 27,
- "pc": [
- 361
- ]
- },
- {
- "teal": 284,
- "source": 27,
- "pc": [
- 362,
- 363
- ]
- },
- {
- "teal": 285,
- "source": 27,
- "pc": [
- 364
- ]
- },
- {
- "teal": 286,
- "source": 27,
- "pc": [
- 365
- ]
- },
- {
- "teal": 287,
- "source": 27,
- "pc": [
- 366
- ]
- },
- {
- "teal": 288,
- "source": 27,
- "pc": [
- 367
- ]
- },
- {
- "teal": 289,
- "source": 27,
- "pc": [
- 368
- ]
- },
- {
- "teal": 290,
- "source": 27,
- "pc": [
- 369
- ]
- },
- {
- "teal": 291,
- "source": 27,
- "pc": [
- 370,
- 371
- ]
- },
- {
- "teal": 292,
- "source": 27,
- "pc": [
- 372,
- 373
- ]
- },
- {
- "teal": 293,
- "source": 27,
- "pc": [
- 374
- ]
- },
- {
- "teal": 294,
- "source": 27,
- "pc": [
- 375,
- 376
- ]
- },
- {
- "teal": 295,
- "source": 27,
- "pc": [
- 377
- ]
- },
- {
- "teal": 296,
- "source": 27,
- "pc": [
- 378,
- 379
- ]
- },
- {
- "teal": 297,
- "source": 27,
- "pc": [
- 380
- ]
- },
- {
- "teal": 298,
- "source": 27,
- "pc": [
- 381
- ]
- },
- {
- "teal": 299,
- "source": 27,
- "pc": [
- 382
- ]
- },
- {
- "teal": 300,
- "source": 27,
- "pc": [
- 383,
- 384,
- 385
- ]
- },
- {
- "teal": 301,
- "source": 27,
- "pc": [
- 386
- ]
- },
- {
- "teal": 302,
- "source": 27,
- "pc": [
- 387
- ]
- },
- {
- "teal": 303,
- "source": 27,
- "pc": [
- 388
- ]
- },
- {
- "teal": 304,
- "source": 27,
- "pc": [
- 389,
- 390
- ]
- },
- {
- "teal": 305,
- "source": 27,
- "pc": [
- 391,
- 392
- ]
- },
- {
- "teal": 306,
- "source": 27,
- "pc": [
- 393,
- 394
- ]
- },
- {
- "teal": 307,
- "source": 27,
- "pc": [
- 395,
- 396
- ]
- },
- {
- "teal": 308,
- "source": 27,
- "pc": [
- 397
- ]
- },
- {
- "teal": 309,
- "source": 27,
- "pc": [
- 398,
- 399
- ]
- },
- {
- "teal": 310,
- "source": 27,
- "pc": [
- 400
- ]
- },
- {
- "teal": 311,
- "source": 27,
- "pc": [
- 401
- ]
- },
- {
- "teal": 312,
- "source": 27,
- "pc": [
- 402
- ]
- },
- {
- "teal": 313,
- "source": 27,
- "pc": [
- 403
- ]
- },
- {
- "teal": 314,
- "source": 27,
- "pc": [
- 404,
- 405
- ]
- },
- {
- "teal": 315,
- "source": 27,
- "pc": [
- 406,
- 407,
- 408
- ]
- },
- {
- "teal": 316,
- "source": 27,
- "pc": [
- 409,
- 410
- ]
- },
- {
- "teal": 317,
- "source": 27,
- "pc": [
- 411,
- 412
- ]
- },
- {
- "teal": 318,
- "source": 27,
- "pc": [
- 413
- ]
- },
- {
- "teal": 319,
- "source": 27,
- "pc": [
- 414
- ]
- },
- {
- "teal": 320,
- "source": 27,
- "pc": [
- 415
- ]
- },
- {
- "teal": 321,
- "source": 27,
- "pc": [
- 416
- ]
- },
- {
- "teal": 322,
- "source": 27,
- "pc": [
- 417
- ]
- },
- {
- "teal": 323,
- "source": 26,
- "pc": [
- 418,
- 419,
- 420
- ]
- },
- {
- "teal": 327,
- "source": 28,
- "errorMessage": "Invalid field",
- "pc": [
- 421
- ]
- },
- {
- "teal": 330,
- "source": 23,
- "pc": [
- 422
- ]
- },
- {
- "teal": 335,
- "source": 31,
- "pc": [
- 423,
- 424,
- 425
- ]
- },
- {
- "teal": 336,
- "source": 31,
- "pc": [
- 426
- ]
- },
- {
- "teal": 337,
- "source": 31,
- "pc": [
- 427
- ]
- },
- {
- "teal": 338,
- "source": 31,
- "pc": [
- 428
- ]
- },
- {
- "teal": 339,
- "source": 31,
- "pc": [
- 429
- ]
- },
- {
- "teal": 342,
- "source": 31,
- "errorMessage": "argument 0 (address) for verifyContactName must be a address",
- "pc": [
- 430
- ]
- },
- {
- "teal": 345,
- "source": 31,
- "pc": [
- 431,
- 432,
- 433
- ]
- },
- {
- "teal": 346,
- "source": 31,
- "pc": [
- 434,
- 435,
- 436
- ]
- },
- {
- "teal": 349,
- "source": 31,
- "pc": [
- 437,
- 438,
- 439
- ]
- },
- {
- "teal": 350,
- "source": 31,
- "pc": [
- 440
- ]
- },
- {
- "teal": 351,
- "source": 31,
- "pc": [
- 441
- ]
- },
- {
- "teal": 355,
- "source": 31,
- "pc": [
- 442,
- 443,
- 444
- ]
- },
- {
- "teal": 359,
- "source": 32,
- "pc": [
- 445,
- 446
- ]
- },
- {
- "teal": 360,
- "source": 32,
- "pc": [
- 447
- ]
- },
- {
- "teal": 363,
- "source": 32,
- "errorMessage": "box value does not exist: this.contacts(address).value",
- "pc": [
- 448
- ]
- },
- {
- "teal": 364,
- "source": 32,
- "pc": [
- 449,
- 450
- ]
- },
- {
- "teal": 365,
- "source": 32,
- "pc": [
- 451
- ]
- },
- {
- "teal": 366,
- "source": 32,
- "pc": [
- 452,
- 453
- ]
- },
- {
- "teal": 367,
- "source": 32,
- "pc": [
- 454,
- 455
- ]
- },
- {
- "teal": 368,
- "source": 32,
- "pc": [
- 456,
- 457
- ]
- },
- {
- "teal": 369,
- "source": 32,
- "pc": [
- 458
- ]
- },
- {
- "teal": 370,
- "source": 32,
- "pc": [
- 459
- ]
- },
- {
- "teal": 371,
- "source": 32,
- "pc": [
- 460,
- 461
- ]
- },
- {
- "teal": 372,
- "source": 32,
- "pc": [
- 462
- ]
- },
- {
- "teal": 373,
- "source": 32,
- "pc": [
- 463
- ]
- },
- {
- "teal": 374,
- "source": 32,
- "pc": [
- 464
- ]
- },
- {
- "teal": 375,
- "source": 32,
- "pc": [
- 465
- ]
- },
- {
- "teal": 376,
- "source": 32,
- "pc": [
- 466
- ]
- },
- {
- "teal": 377,
- "source": 32,
- "pc": [
- 467
- ]
- },
- {
- "teal": 378,
- "source": 32,
- "pc": [
- 468
- ]
- },
- {
- "teal": 379,
- "source": 32,
- "pc": [
- 469,
- 470,
- 471
- ]
- },
- {
- "teal": 380,
- "source": 32,
- "pc": [
- 472,
- 473
- ]
- },
- {
- "teal": 381,
- "source": 32,
- "pc": [
- 474
- ]
- },
- {
- "teal": 382,
- "source": 32,
- "pc": [
- 475
- ]
- },
- {
- "teal": 383,
- "source": 31,
- "pc": [
- 476
- ]
- },
- {
- "teal": 386,
- "source": 6,
- "pc": [
- 477
- ]
- },
- {
- "teal": 387,
- "source": 6,
- "pc": [
- 478
- ]
- },
- {
- "teal": 390,
- "source": 6,
- "pc": [
- 479,
- 480,
- 481,
- 482,
- 483,
- 484
- ]
- },
- {
- "teal": 391,
- "source": 6,
- "pc": [
- 485,
- 486,
- 487
- ]
- },
- {
- "teal": 392,
- "source": 6,
- "pc": [
- 488,
- 489,
- 490,
- 491
- ]
- },
- {
- "teal": 395,
- "source": 6,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 492
- ]
- },
- {
- "teal": 398,
- "source": 6,
- "pc": [
- 493,
- 494,
- 495,
- 496,
- 497,
- 498
- ]
- },
- {
- "teal": 399,
- "source": 6,
- "pc": [
- 499,
- 500,
- 501,
- 502,
- 503,
- 504
- ]
- },
- {
- "teal": 400,
- "source": 6,
- "pc": [
- 505,
- 506,
- 507,
- 508,
- 509,
- 510
- ]
- },
- {
- "teal": 401,
- "source": 6,
- "pc": [
- 511,
- 512,
- 513,
- 514,
- 515,
- 516
- ]
- },
- {
- "teal": 402,
- "source": 6,
- "pc": [
- 517,
- 518,
- 519
- ]
- },
- {
- "teal": 403,
- "source": 6,
- "pc": [
- 520,
- 521,
- 522,
- 523,
- 524,
- 525,
- 526,
- 527,
- 528,
- 529
- ]
- },
- {
- "teal": 406,
- "source": 6,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 530
- ]
- },
- {
- "teal": 409,
- "source": 6,
- "pc": [
- 531,
- 532,
- 533
- ]
- },
- {
- "teal": 410,
- "source": 6,
- "pc": [
- 534,
- 535
- ]
- },
- {
- "teal": 411,
- "source": 6,
- "pc": [
- 536,
- 537
- ]
- },
- {
- "teal": 412,
- "source": 6,
- "pc": [
- 538
- ]
- },
- {
- "teal": 413,
- "source": 6,
- "pc": [
- 539,
- 540
- ]
- },
- {
- "teal": 414,
- "source": 6,
- "pc": [
- 541,
- 542
- ]
- },
- {
- "teal": 415,
- "source": 6,
- "pc": [
- 543
- ]
- },
- {
- "teal": 416,
- "source": 6,
- "pc": [
- 544
- ]
- },
- {
- "teal": 417,
- "source": 6,
- "pc": [
- 545,
- 546
- ]
- },
- {
- "teal": 418,
- "source": 6,
- "pc": [
- 547
- ]
- },
- {
- "teal": 419,
- "source": 6,
- "pc": [
- 548
- ]
- },
- {
- "teal": 420,
- "source": 6,
- "pc": [
- 549
- ]
- },
- {
- "teal": 421,
- "source": 6,
- "pc": [
- 550,
- 551,
- 552
- ]
- },
- {
- "teal": 422,
- "source": 6,
- "pc": [
- 553,
- 554
- ]
- },
- {
- "teal": 423,
- "source": 6,
- "pc": [
- 555,
- 556
- ]
- },
- {
- "teal": 424,
- "source": 6,
- "pc": [
- 557
- ]
- },
- {
- "teal": 425,
- "source": 6,
- "pc": [
- 558
- ]
- },
- {
- "teal": 426,
- "source": 6,
- "pc": [
- 559,
- 560
- ]
- },
- {
- "teal": 427,
- "source": 6,
- "pc": [
- 561,
- 562
- ]
- },
- {
- "teal": 428,
- "source": 6,
- "pc": [
- 563,
- 564
- ]
- },
- {
- "teal": 429,
- "source": 6,
- "pc": [
- 565,
- 566
- ]
- },
- {
- "teal": 430,
- "source": 6,
- "pc": [
- 567
- ]
- },
- {
- "teal": 433,
- "source": 6,
- "pc": [
- 568,
- 569,
- 570
- ]
- },
- {
- "teal": 434,
- "source": 6,
- "pc": [
- 571,
- 572
- ]
- },
- {
- "teal": 435,
- "source": 6,
- "pc": [
- 573,
- 574
- ]
- },
- {
- "teal": 436,
- "source": 6,
- "pc": [
- 575,
- 576
- ]
- },
- {
- "teal": 437,
- "source": 6,
- "pc": [
- 577
- ]
- },
- {
- "teal": 438,
- "source": 6,
- "pc": [
- 578,
- 579
- ]
- },
- {
- "teal": 439,
- "source": 6,
- "pc": [
- 580,
- 581,
- 582
- ]
- },
- {
- "teal": 440,
- "source": 6,
- "pc": [
- 583
- ]
- },
- {
- "teal": 441,
- "source": 6,
- "pc": [
- 584,
- 585,
- 586
- ]
- },
- {
- "teal": 444,
- "source": 6,
- "pc": [
- 587
- ]
- },
- {
- "teal": 445,
- "source": 6,
- "pc": [
- 588
- ]
- },
- {
- "teal": 448,
- "source": 6,
- "pc": [
- 589
- ]
- },
- {
- "teal": 449,
- "source": 6,
- "pc": [
- 590,
- 591,
- 592
- ]
- },
- {
- "teal": 450,
- "source": 6,
- "pc": [
- 593,
- 594
- ]
- },
- {
- "teal": 451,
- "source": 6,
- "pc": [
- 595
- ]
- },
- {
- "teal": 452,
- "source": 6,
- "pc": [
- 596,
- 597
- ]
- },
- {
- "teal": 453,
- "source": 6,
- "pc": [
- 598
- ]
- },
- {
- "teal": 454,
- "source": 6,
- "pc": [
- 599
- ]
- },
- {
- "teal": 455,
- "source": 6,
- "pc": [
- 600,
- 601
- ]
- },
- {
- "teal": 456,
- "source": 6,
- "pc": [
- 602
- ]
- },
- {
- "teal": 459,
- "source": 6,
- "pc": [
- 603,
- 604
- ]
- },
- {
- "teal": 460,
- "source": 6,
- "pc": [
- 605
- ]
- },
- {
- "teal": 461,
- "source": 6,
- "pc": [
- 606,
- 607
- ]
- },
- {
- "teal": 462,
- "source": 6,
- "pc": [
- 608
- ]
- },
- {
- "teal": 463,
- "source": 6,
- "pc": [
- 609,
- 610,
- 611
- ]
- },
- {
- "teal": 464,
- "source": 6,
- "pc": [
- 612,
- 613
- ]
- },
- {
- "teal": 465,
- "source": 6,
- "pc": [
- 614
- ]
- },
- {
- "teal": 466,
- "source": 6,
- "pc": [
- 615,
- 616
- ]
- },
- {
- "teal": 467,
- "source": 6,
- "pc": [
- 617
- ]
- },
- {
- "teal": 468,
- "source": 6,
- "pc": [
- 618,
- 619
- ]
- },
- {
- "teal": 469,
- "source": 6,
- "pc": [
- 620,
- 621,
- 622
- ]
- },
- {
- "teal": 472,
- "source": 6,
- "pc": [
- 623,
- 624
- ]
- },
- {
- "teal": 473,
- "source": 6,
- "pc": [
- 625,
- 626
- ]
- },
- {
- "teal": 474,
- "source": 6,
- "pc": [
- 627
- ]
- },
- {
- "teal": 475,
- "source": 6,
- "pc": [
- 628
- ]
- },
- {
- "teal": 476,
- "source": 6,
- "pc": [
- 629,
- 630
- ]
- },
- {
- "teal": 479,
- "source": 6,
- "pc": [
- 631
- ]
- },
- {
- "teal": 480,
- "source": 6,
- "pc": [
- 632,
- 633
- ]
- },
- {
- "teal": 481,
- "source": 6,
- "pc": [
- 634
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 6,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 6,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 6,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 6,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 6,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 6,
+ "pc": [
+ 19,
+ 20
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 6,
+ "pc": [
+ 21
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 6,
+ "pc": [
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 6,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 11,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 11,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 11,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 11,
+ "pc": [
+ 58,
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 11,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 11,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 11,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 11,
+ "pc": [
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 11,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 12,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 12,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 12,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 12,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 12,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 12,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 12,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 12,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 12,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 12,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 12,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 12,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 12,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 12,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 12,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 12,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 12,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 12,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 12,
+ "pc": [
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 12,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 12,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 12,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 14,
+ "pc": [
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 14,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 14,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 15,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 15,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 15,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 15,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 15,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 15,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 11,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 18,
+ "pc": [
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 18,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 18,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 18,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 18,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 18,
+ "errorMessage": "argument 0 (address) for addContact must be a address",
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 18,
+ "pc": [
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 18,
+ "pc": [
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 18,
+ "pc": [
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 18,
+ "pc": [
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 18,
+ "pc": [
+ 146,
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 18,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 18,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 18,
+ "pc": [
+ 151,
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 18,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 19,
+ "pc": [
+ 155
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 19,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 19,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 19,
+ "pc": [
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 19,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 19,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 19,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 19,
+ "pc": [
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 19,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 19,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 19,
+ "pc": [
+ 168,
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 19,
+ "pc": [
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 19,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 19,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 19,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 19,
+ "pc": [
+ 176,
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 19,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 19,
+ "pc": [
+ 180
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 19,
+ "pc": [
+ 181,
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 19,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 19,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 19,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 20,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 20,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 20,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 20,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 20,
+ "pc": [
+ 193,
+ 194
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 20,
+ "pc": [
+ 195
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 18,
+ "pc": [
+ 196
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 23,
+ "pc": [
+ 197,
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 23,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 23,
+ "pc": [
+ 201
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 23,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 23,
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 23,
+ "errorMessage": "argument 0 (address) for updateContactField must be a address",
+ "pc": [
+ 204
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 23,
+ "pc": [
+ 205,
+ 206,
+ 207
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 23,
+ "pc": [
+ 208,
+ 209,
+ 210
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 23,
+ "pc": [
+ 211,
+ 212,
+ 213
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 23,
+ "pc": [
+ 214,
+ 215,
+ 216
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 23,
+ "pc": [
+ 217,
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 23,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 23,
+ "pc": [
+ 221
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 23,
+ "pc": [
+ 222,
+ 223,
+ 224
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 24,
+ "pc": [
+ 225,
+ 226
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 24,
+ "pc": [
+ 227,
+ 228,
+ 229,
+ 230,
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 24,
+ "pc": [
+ 233
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 24,
+ "pc": [
+ 234,
+ 235,
+ 236
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 25,
+ "pc": [
+ 237,
+ 238
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 25,
+ "pc": [
+ 239
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 25,
+ "errorMessage": "box value does not exist: this.contacts(address).value",
+ "pc": [
+ 240
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 25,
+ "pc": [
+ 241,
+ 242
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 25,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 25,
+ "pc": [
+ 244
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 25,
+ "pc": [
+ 245,
+ 246
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 25,
+ "pc": [
+ 247,
+ 248
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 25,
+ "pc": [
+ 249,
+ 250
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 25,
+ "pc": [
+ 251,
+ 252
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 25,
+ "pc": [
+ 253
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 25,
+ "pc": [
+ 254
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 25,
+ "pc": [
+ 255,
+ 256
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 25,
+ "pc": [
+ 257
+ ]
+ },
+ {
+ "teal": 211,
+ "source": 25,
+ "pc": [
+ 258,
+ 259
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 25,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 213,
+ "source": 25,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 214,
+ "source": 25,
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 25,
+ "pc": [
+ 263
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 25,
+ "pc": [
+ 264
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 25,
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 25,
+ "pc": [
+ 266,
+ 267
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 25,
+ "pc": [
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 25,
+ "pc": [
+ 270
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 25,
+ "pc": [
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 222,
+ "source": 25,
+ "pc": [
+ 273
+ ]
+ },
+ {
+ "teal": 223,
+ "source": 25,
+ "pc": [
+ 274,
+ 275
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 25,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 25,
+ "pc": [
+ 277
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 25,
+ "pc": [
+ 278
+ ]
+ },
+ {
+ "teal": 227,
+ "source": 25,
+ "pc": [
+ 279,
+ 280,
+ 281
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 25,
+ "pc": [
+ 282
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 25,
+ "pc": [
+ 283
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 25,
+ "pc": [
+ 284
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 25,
+ "pc": [
+ 285,
+ 286
+ ]
+ },
+ {
+ "teal": 232,
+ "source": 25,
+ "pc": [
+ 287,
+ 288
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 25,
+ "pc": [
+ 289,
+ 290
+ ]
+ },
+ {
+ "teal": 234,
+ "source": 25,
+ "pc": [
+ 291,
+ 292
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 25,
+ "pc": [
+ 293
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 25,
+ "pc": [
+ 294,
+ 295
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 25,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 25,
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 25,
+ "pc": [
+ 298
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 25,
+ "pc": [
+ 299
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 25,
+ "pc": [
+ 300,
+ 301
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 25,
+ "pc": [
+ 302,
+ 303,
+ 304
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 25,
+ "pc": [
+ 305,
+ 306
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 25,
+ "pc": [
+ 307,
+ 308
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 25,
+ "pc": [
+ 309
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 25,
+ "pc": [
+ 310
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 25,
+ "pc": [
+ 311,
+ 312,
+ 313
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 25,
+ "pc": [
+ 314,
+ 315
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 25,
+ "pc": [
+ 316,
+ 317
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 25,
+ "pc": [
+ 318
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 25,
+ "pc": [
+ 319
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 25,
+ "pc": [
+ 320
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 25,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 25,
+ "pc": [
+ 322
+ ]
+ },
+ {
+ "teal": 255,
+ "source": 24,
+ "pc": [
+ 323,
+ 324,
+ 325
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 26,
+ "pc": [
+ 326,
+ 327
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 26,
+ "pc": [
+ 328,
+ 329,
+ 330,
+ 331,
+ 332,
+ 333,
+ 334,
+ 335,
+ 336
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 26,
+ "pc": [
+ 337
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 26,
+ "pc": [
+ 338,
+ 339,
+ 340
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 27,
+ "pc": [
+ 341,
+ 342
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 27,
+ "pc": [
+ 343
+ ]
+ },
+ {
+ "teal": 272,
+ "source": 27,
+ "errorMessage": "box value does not exist: this.contacts(address).value",
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 273,
+ "source": 27,
+ "pc": [
+ 345,
+ 346
+ ]
+ },
+ {
+ "teal": 274,
+ "source": 27,
+ "pc": [
+ 347
+ ]
+ },
+ {
+ "teal": 275,
+ "source": 27,
+ "pc": [
+ 348
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 27,
+ "pc": [
+ 349,
+ 350
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 27,
+ "pc": [
+ 351,
+ 352
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 27,
+ "pc": [
+ 353,
+ 354
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 27,
+ "pc": [
+ 355,
+ 356
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 27,
+ "pc": [
+ 357
+ ]
+ },
+ {
+ "teal": 281,
+ "source": 27,
+ "pc": [
+ 358
+ ]
+ },
+ {
+ "teal": 282,
+ "source": 27,
+ "pc": [
+ 359,
+ 360
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 27,
+ "pc": [
+ 361
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 27,
+ "pc": [
+ 362,
+ 363
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 27,
+ "pc": [
+ 364
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 27,
+ "pc": [
+ 365
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 27,
+ "pc": [
+ 366
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 27,
+ "pc": [
+ 367
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 27,
+ "pc": [
+ 368
+ ]
+ },
+ {
+ "teal": 290,
+ "source": 27,
+ "pc": [
+ 369
+ ]
+ },
+ {
+ "teal": 291,
+ "source": 27,
+ "pc": [
+ 370,
+ 371
+ ]
+ },
+ {
+ "teal": 292,
+ "source": 27,
+ "pc": [
+ 372,
+ 373
+ ]
+ },
+ {
+ "teal": 293,
+ "source": 27,
+ "pc": [
+ 374
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 27,
+ "pc": [
+ 375,
+ 376
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 27,
+ "pc": [
+ 377
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 27,
+ "pc": [
+ 378,
+ 379
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 27,
+ "pc": [
+ 380
+ ]
+ },
+ {
+ "teal": 298,
+ "source": 27,
+ "pc": [
+ 381
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 27,
+ "pc": [
+ 382
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 27,
+ "pc": [
+ 383,
+ 384,
+ 385
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 27,
+ "pc": [
+ 386
+ ]
+ },
+ {
+ "teal": 302,
+ "source": 27,
+ "pc": [
+ 387
+ ]
+ },
+ {
+ "teal": 303,
+ "source": 27,
+ "pc": [
+ 388
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 27,
+ "pc": [
+ 389,
+ 390
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 27,
+ "pc": [
+ 391,
+ 392
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 27,
+ "pc": [
+ 393,
+ 394
+ ]
+ },
+ {
+ "teal": 307,
+ "source": 27,
+ "pc": [
+ 395,
+ 396
+ ]
+ },
+ {
+ "teal": 308,
+ "source": 27,
+ "pc": [
+ 397
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 27,
+ "pc": [
+ 398,
+ 399
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 27,
+ "pc": [
+ 400
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 27,
+ "pc": [
+ 401
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 27,
+ "pc": [
+ 402
+ ]
+ },
+ {
+ "teal": 313,
+ "source": 27,
+ "pc": [
+ 403
+ ]
+ },
+ {
+ "teal": 314,
+ "source": 27,
+ "pc": [
+ 404,
+ 405
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 27,
+ "pc": [
+ 406,
+ 407,
+ 408
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 27,
+ "pc": [
+ 409,
+ 410
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 27,
+ "pc": [
+ 411,
+ 412
+ ]
+ },
+ {
+ "teal": 318,
+ "source": 27,
+ "pc": [
+ 413
+ ]
+ },
+ {
+ "teal": 319,
+ "source": 27,
+ "pc": [
+ 414
+ ]
+ },
+ {
+ "teal": 320,
+ "source": 27,
+ "pc": [
+ 415
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 27,
+ "pc": [
+ 416
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 27,
+ "pc": [
+ 417
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 26,
+ "pc": [
+ 418,
+ 419,
+ 420
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 28,
+ "errorMessage": "Invalid field",
+ "pc": [
+ 421
+ ]
+ },
+ {
+ "teal": 330,
+ "source": 23,
+ "pc": [
+ 422
+ ]
+ },
+ {
+ "teal": 335,
+ "source": 31,
+ "pc": [
+ 423,
+ 424,
+ 425
+ ]
+ },
+ {
+ "teal": 336,
+ "source": 31,
+ "pc": [
+ 426
+ ]
+ },
+ {
+ "teal": 337,
+ "source": 31,
+ "pc": [
+ 427
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 31,
+ "pc": [
+ 428
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 31,
+ "pc": [
+ 429
+ ]
+ },
+ {
+ "teal": 342,
+ "source": 31,
+ "errorMessage": "argument 0 (address) for verifyContactName must be a address",
+ "pc": [
+ 430
+ ]
+ },
+ {
+ "teal": 345,
+ "source": 31,
+ "pc": [
+ 431,
+ 432,
+ 433
+ ]
+ },
+ {
+ "teal": 346,
+ "source": 31,
+ "pc": [
+ 434,
+ 435,
+ 436
+ ]
+ },
+ {
+ "teal": 349,
+ "source": 31,
+ "pc": [
+ 437,
+ 438,
+ 439
+ ]
+ },
+ {
+ "teal": 350,
+ "source": 31,
+ "pc": [
+ 440
+ ]
+ },
+ {
+ "teal": 351,
+ "source": 31,
+ "pc": [
+ 441
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 31,
+ "pc": [
+ 442,
+ 443,
+ 444
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 32,
+ "pc": [
+ 445,
+ 446
+ ]
+ },
+ {
+ "teal": 360,
+ "source": 32,
+ "pc": [
+ 447
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 32,
+ "errorMessage": "box value does not exist: this.contacts(address).value",
+ "pc": [
+ 448
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 32,
+ "pc": [
+ 449,
+ 450
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 32,
+ "pc": [
+ 451
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 32,
+ "pc": [
+ 452,
+ 453
+ ]
+ },
+ {
+ "teal": 367,
+ "source": 32,
+ "pc": [
+ 454,
+ 455
+ ]
+ },
+ {
+ "teal": 368,
+ "source": 32,
+ "pc": [
+ 456,
+ 457
+ ]
+ },
+ {
+ "teal": 369,
+ "source": 32,
+ "pc": [
+ 458
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 32,
+ "pc": [
+ 459
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 32,
+ "pc": [
+ 460,
+ 461
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 32,
+ "pc": [
+ 462
+ ]
+ },
+ {
+ "teal": 373,
+ "source": 32,
+ "pc": [
+ 463
+ ]
+ },
+ {
+ "teal": 374,
+ "source": 32,
+ "pc": [
+ 464
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 32,
+ "pc": [
+ 465
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 32,
+ "pc": [
+ 466
+ ]
+ },
+ {
+ "teal": 377,
+ "source": 32,
+ "pc": [
+ 467
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 32,
+ "pc": [
+ 468
+ ]
+ },
+ {
+ "teal": 379,
+ "source": 32,
+ "pc": [
+ 469,
+ 470,
+ 471
+ ]
+ },
+ {
+ "teal": 380,
+ "source": 32,
+ "pc": [
+ 472,
+ 473
+ ]
+ },
+ {
+ "teal": 381,
+ "source": 32,
+ "pc": [
+ 474
+ ]
+ },
+ {
+ "teal": 382,
+ "source": 32,
+ "pc": [
+ 475
+ ]
+ },
+ {
+ "teal": 383,
+ "source": 31,
+ "pc": [
+ 476
+ ]
+ },
+ {
+ "teal": 386,
+ "source": 6,
+ "pc": [
+ 477
+ ]
+ },
+ {
+ "teal": 387,
+ "source": 6,
+ "pc": [
+ 478
+ ]
+ },
+ {
+ "teal": 390,
+ "source": 6,
+ "pc": [
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484
+ ]
+ },
+ {
+ "teal": 391,
+ "source": 6,
+ "pc": [
+ 485,
+ 486,
+ 487
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 6,
+ "pc": [
+ 488,
+ 489,
+ 490,
+ 491
+ ]
+ },
+ {
+ "teal": 395,
+ "source": 6,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 492
+ ]
+ },
+ {
+ "teal": 398,
+ "source": 6,
+ "pc": [
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498
+ ]
+ },
+ {
+ "teal": 399,
+ "source": 6,
+ "pc": [
+ 499,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ]
+ },
+ {
+ "teal": 400,
+ "source": 6,
+ "pc": [
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 6,
+ "pc": [
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516
+ ]
+ },
+ {
+ "teal": 402,
+ "source": 6,
+ "pc": [
+ 517,
+ 518,
+ 519
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 6,
+ "pc": [
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529
+ ]
+ },
+ {
+ "teal": 406,
+ "source": 6,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 530
+ ]
+ },
+ {
+ "teal": 409,
+ "source": 6,
+ "pc": [
+ 531,
+ 532,
+ 533
+ ]
+ },
+ {
+ "teal": 410,
+ "source": 6,
+ "pc": [
+ 534,
+ 535
+ ]
+ },
+ {
+ "teal": 411,
+ "source": 6,
+ "pc": [
+ 536,
+ 537
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 6,
+ "pc": [
+ 538
+ ]
+ },
+ {
+ "teal": 413,
+ "source": 6,
+ "pc": [
+ 539,
+ 540
+ ]
+ },
+ {
+ "teal": 414,
+ "source": 6,
+ "pc": [
+ 541,
+ 542
+ ]
+ },
+ {
+ "teal": 415,
+ "source": 6,
+ "pc": [
+ 543
+ ]
+ },
+ {
+ "teal": 416,
+ "source": 6,
+ "pc": [
+ 544
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 6,
+ "pc": [
+ 545,
+ 546
+ ]
+ },
+ {
+ "teal": 418,
+ "source": 6,
+ "pc": [
+ 547
+ ]
+ },
+ {
+ "teal": 419,
+ "source": 6,
+ "pc": [
+ 548
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 6,
+ "pc": [
+ 549
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 6,
+ "pc": [
+ 550,
+ 551,
+ 552
+ ]
+ },
+ {
+ "teal": 422,
+ "source": 6,
+ "pc": [
+ 553,
+ 554
+ ]
+ },
+ {
+ "teal": 423,
+ "source": 6,
+ "pc": [
+ 555,
+ 556
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 6,
+ "pc": [
+ 557
+ ]
+ },
+ {
+ "teal": 425,
+ "source": 6,
+ "pc": [
+ 558
+ ]
+ },
+ {
+ "teal": 426,
+ "source": 6,
+ "pc": [
+ 559,
+ 560
+ ]
+ },
+ {
+ "teal": 427,
+ "source": 6,
+ "pc": [
+ 561,
+ 562
+ ]
+ },
+ {
+ "teal": 428,
+ "source": 6,
+ "pc": [
+ 563,
+ 564
+ ]
+ },
+ {
+ "teal": 429,
+ "source": 6,
+ "pc": [
+ 565,
+ 566
+ ]
+ },
+ {
+ "teal": 430,
+ "source": 6,
+ "pc": [
+ 567
+ ]
+ },
+ {
+ "teal": 433,
+ "source": 6,
+ "pc": [
+ 568,
+ 569,
+ 570
+ ]
+ },
+ {
+ "teal": 434,
+ "source": 6,
+ "pc": [
+ 571,
+ 572
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 6,
+ "pc": [
+ 573,
+ 574
+ ]
+ },
+ {
+ "teal": 436,
+ "source": 6,
+ "pc": [
+ 575,
+ 576
+ ]
+ },
+ {
+ "teal": 437,
+ "source": 6,
+ "pc": [
+ 577
+ ]
+ },
+ {
+ "teal": 438,
+ "source": 6,
+ "pc": [
+ 578,
+ 579
+ ]
+ },
+ {
+ "teal": 439,
+ "source": 6,
+ "pc": [
+ 580,
+ 581,
+ 582
+ ]
+ },
+ {
+ "teal": 440,
+ "source": 6,
+ "pc": [
+ 583
+ ]
+ },
+ {
+ "teal": 441,
+ "source": 6,
+ "pc": [
+ 584,
+ 585,
+ 586
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 6,
+ "pc": [
+ 587
+ ]
+ },
+ {
+ "teal": 445,
+ "source": 6,
+ "pc": [
+ 588
+ ]
+ },
+ {
+ "teal": 448,
+ "source": 6,
+ "pc": [
+ 589
+ ]
+ },
+ {
+ "teal": 449,
+ "source": 6,
+ "pc": [
+ 590,
+ 591,
+ 592
+ ]
+ },
+ {
+ "teal": 450,
+ "source": 6,
+ "pc": [
+ 593,
+ 594
+ ]
+ },
+ {
+ "teal": 451,
+ "source": 6,
+ "pc": [
+ 595
+ ]
+ },
+ {
+ "teal": 452,
+ "source": 6,
+ "pc": [
+ 596,
+ 597
+ ]
+ },
+ {
+ "teal": 453,
+ "source": 6,
+ "pc": [
+ 598
+ ]
+ },
+ {
+ "teal": 454,
+ "source": 6,
+ "pc": [
+ 599
+ ]
+ },
+ {
+ "teal": 455,
+ "source": 6,
+ "pc": [
+ 600,
+ 601
+ ]
+ },
+ {
+ "teal": 456,
+ "source": 6,
+ "pc": [
+ 602
+ ]
+ },
+ {
+ "teal": 459,
+ "source": 6,
+ "pc": [
+ 603,
+ 604
+ ]
+ },
+ {
+ "teal": 460,
+ "source": 6,
+ "pc": [
+ 605
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 6,
+ "pc": [
+ 606,
+ 607
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 6,
+ "pc": [
+ 608
+ ]
+ },
+ {
+ "teal": 463,
+ "source": 6,
+ "pc": [
+ 609,
+ 610,
+ 611
+ ]
+ },
+ {
+ "teal": 464,
+ "source": 6,
+ "pc": [
+ 612,
+ 613
+ ]
+ },
+ {
+ "teal": 465,
+ "source": 6,
+ "pc": [
+ 614
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 6,
+ "pc": [
+ 615,
+ 616
+ ]
+ },
+ {
+ "teal": 467,
+ "source": 6,
+ "pc": [
+ 617
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 6,
+ "pc": [
+ 618,
+ 619
+ ]
+ },
+ {
+ "teal": 469,
+ "source": 6,
+ "pc": [
+ 620,
+ 621,
+ 622
+ ]
+ },
+ {
+ "teal": 472,
+ "source": 6,
+ "pc": [
+ 623,
+ 624
+ ]
+ },
+ {
+ "teal": 473,
+ "source": 6,
+ "pc": [
+ 625,
+ 626
+ ]
+ },
+ {
+ "teal": 474,
+ "source": 6,
+ "pc": [
+ 627
+ ]
+ },
+ {
+ "teal": 475,
+ "source": 6,
+ "pc": [
+ 628
+ ]
+ },
+ {
+ "teal": 476,
+ "source": 6,
+ "pc": [
+ 629,
+ 630
+ ]
+ },
+ {
+ "teal": 479,
+ "source": 6,
+ "pc": [
+ 631
+ ]
+ },
+ {
+ "teal": 480,
+ "source": 6,
+ "pc": [
+ 632,
+ 633
+ ]
+ },
+ {
+ "teal": 481,
+ "source": 6,
+ "pc": [
+ 634
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzZXRNeUNvbnRhY3Qoc3RyaW5nLHN0cmluZyl2b2lkCiphYmlfcm91dGVfc2V0TXlDb250YWN0OgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHNldE15Q29udGFjdChzdHJpbmcsc3RyaW5nKXZvaWQKCWNhbGxzdWIgc2V0TXlDb250YWN0CglpbnQgMQoJcmV0dXJuCgovLyBzZXRNeUNvbnRhY3QobmFtZTogc3RyaW5nLCBjb21wYW55OiBzdHJpbmcpOiB2b2lkCnNldE15Q29udGFjdDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjEyCgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gY29tcGFueTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTQKCS8vIHRoaXMubXlDb250YWN0LnZhbHVlID0gY29udGFjdAoJYnl0ZSAweDZkNzk0MzZmNmU3NDYxNjM3NCAvLyAibXlDb250YWN0IgoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTUKCS8vIHRoaXMuY29udGFjdHModGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGNvbnRhY3QKCXR4biBTZW5kZXIKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMCAvLyBjb250YWN0OiBDb250YWN0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hZGRDb250YWN0OgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgYWRkQ29udGFjdCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWRkQ29udGFjdAoJaW50IDEKCXJldHVybgoKLy8gYWRkQ29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKYWRkQ29udGFjdDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE5CgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gY29tcGFueTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjAKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUgPSBjb250YWN0CglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCWJveF9wdXQKCXJldHN1YgoKLy8gdXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkOgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgdXBkYXRlQ29udGFjdEZpZWxkIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWx1ZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIGZpZWxkOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGRhdGVDb250YWN0RmllbGQoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdXBkYXRlQ29udGFjdEZpZWxkCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVDb250YWN0RmllbGQoZmllbGQ6IHN0cmluZywgdmFsdWU6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKdXBkYXRlQ29udGFjdEZpZWxkOgoJcHJvdG8gMyAwCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNAoJLy8gZmllbGQgPT09ICduYW1lJwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCWJ5dGUgMHg2ZTYxNmQ2NSAvLyAibmFtZSIKCT09CglieiAqaWYwX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjUKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUubmFtZSA9IHZhbHVlCglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNgoJLy8gZmllbGQgPT09ICdjb21wYW55JwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCWJ5dGUgMHg2MzZmNmQ3MDYxNmU3OSAvLyAiY29tcGFueSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI3CgkvLyB0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLmNvbXBhbnkgPSB2YWx1ZQoJZnJhbWVfZGlnIC0zIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglmcmFtZV9kaWcgLTIgLy8gdmFsdWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gSW52YWxpZCBmaWVsZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gdmVyaWZ5Q29udGFjdE5hbWUoc3RyaW5nLGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeUNvbnRhY3ROYW1lOgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgdmVyaWZ5Q29udGFjdE5hbWUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHZlcmlmeUNvbnRhY3ROYW1lKHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdmVyaWZ5Q29udGFjdE5hbWUKCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeUNvbnRhY3ROYW1lKG5hbWU6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKdmVyaWZ5Q29udGFjdE5hbWU6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLm5hbWUgPT09IG5hbWUpCglmcmFtZV9kaWcgLTIgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZCIKCW1ldGhvZCAiYWRkQ29udGFjdChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3QgKmFiaV9yb3V0ZV9hZGRDb250YWN0ICphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkICphYmlfcm91dGVfdmVyaWZ5Q29udGFjdE5hbWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzZXRNeUNvbnRhY3Qoc3RyaW5nLHN0cmluZyl2b2lkCiphYmlfcm91dGVfc2V0TXlDb250YWN0OgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHNldE15Q29udGFjdChzdHJpbmcsc3RyaW5nKXZvaWQKCWNhbGxzdWIgc2V0TXlDb250YWN0CglpbnQgMQoJcmV0dXJuCgovLyBzZXRNeUNvbnRhY3QobmFtZTogc3RyaW5nLCBjb21wYW55OiBzdHJpbmcpOiB2b2lkCnNldE15Q29udGFjdDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjEyCgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gY29tcGFueTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTQKCS8vIHRoaXMubXlDb250YWN0LnZhbHVlID0gY29udGFjdAoJYnl0ZSAweDZkNzk0MzZmNmU3NDYxNjM3NCAvLyAibXlDb250YWN0IgoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTUKCS8vIHRoaXMuY29udGFjdHModGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGNvbnRhY3QKCXR4biBTZW5kZXIKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMCAvLyBjb250YWN0OiBDb250YWN0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hZGRDb250YWN0OgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgYWRkQ29udGFjdCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWRkQ29udGFjdAoJaW50IDEKCXJldHVybgoKLy8gYWRkQ29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKYWRkQ29udGFjdDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE5CgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gY29tcGFueTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjAKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUgPSBjb250YWN0CglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAwIC8vIGNvbnRhY3Q6IENvbnRhY3QKCWJveF9wdXQKCXJldHN1YgoKLy8gdXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkOgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgdXBkYXRlQ29udGFjdEZpZWxkIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWx1ZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIGZpZWxkOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGRhdGVDb250YWN0RmllbGQoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdXBkYXRlQ29udGFjdEZpZWxkCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVDb250YWN0RmllbGQoZmllbGQ6IHN0cmluZywgdmFsdWU6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKdXBkYXRlQ29udGFjdEZpZWxkOgoJcHJvdG8gMyAwCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNAoJLy8gZmllbGQgPT09ICduYW1lJwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCWJ5dGUgMHg2ZTYxNmQ2NSAvLyAibmFtZSIKCT09CglieiAqaWYwX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjUKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUubmFtZSA9IHZhbHVlCglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNgoJLy8gZmllbGQgPT09ICdjb21wYW55JwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCWJ5dGUgMHg2MzZmNmQ3MDYxNmU3OSAvLyAiY29tcGFueSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI3CgkvLyB0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLmNvbXBhbnkgPSB2YWx1ZQoJZnJhbWVfZGlnIC0zIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglmcmFtZV9kaWcgLTIgLy8gdmFsdWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gSW52YWxpZCBmaWVsZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gdmVyaWZ5Q29udGFjdE5hbWUoc3RyaW5nLGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeUNvbnRhY3ROYW1lOgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgdmVyaWZ5Q29udGFjdE5hbWUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHZlcmlmeUNvbnRhY3ROYW1lKHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdmVyaWZ5Q29udGFjdE5hbWUKCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeUNvbnRhY3ROYW1lKG5hbWU6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKdmVyaWZ5Q29udGFjdE5hbWU6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLm5hbWUgPT09IG5hbWUpCglmcmFtZV9kaWcgLTIgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZCIKCW1ldGhvZCAiYWRkQ29udGFjdChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3QgKmFiaV9yb3V0ZV9hZGRDb250YWN0ICphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkICphYmlfcm91dGVfdmVyaWZ5Q29udGFjdE5hbWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/package.json b/package.json
index ad022f406..8299a9a2e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@algorandfoundation/tealscript",
- "version": "0.102.0",
+ "version": "0.103.0",
"description": "Enables Algorand smart contract development with native TypeScript syntax, tooling, and IDE support",
"homepage": "https://github.com/algorandfoundation/TEALScript",
"bugs": {
@@ -47,6 +47,7 @@
"compile-optin-lsig": "bun ./src/bin/tealscript.ts examples/optin-lsig/lsig.algo.ts examples/optin-lsig/artifacts",
"compile-lsig_with_app": "bun ./src/bin/tealscript.ts examples/lsig_with_app/lsig_with_app.algo.ts examples/lsig_with_app/artifacts",
"compile-reti": "bun ./src/bin/tealscript.ts examples/reti/*.algo.ts examples/reti/artifacts",
+ "compile-arc58": "bun ./src/bin/tealscript.ts examples/arc58/arc58.algo.ts examples/arc58/artifacts",
"generate-clients": "conc \"bun compile-arc75\" \"bun compile-itxns\" \"bun compile-simple\" \"bun compile-tuple_in_box\" \"bun compile-merkle\"",
"run-merkle": "bun examples/merkle/demo.ts",
"run-tuple_in_box": "bun ./examples/tuple_in_box/client.ts",
diff --git a/src/lib/compiler.ts b/src/lib/compiler.ts
index d18e95154..1f98f54f3 100644
--- a/src/lib/compiler.ts
+++ b/src/lib/compiler.ts
@@ -13,7 +13,7 @@ import path from 'path';
import langspec from '../static/langspec.json';
import { VERSION } from '../version';
import { optimizeTeal } from './optimize';
-import { type ARC56Contract, type StructFields } from '../types/arc56.d';
+import { type ARC56Contract, type StructField } from '../types/arc56.d';
const MULTI_OUTPUT_TYPES = ['split uint128', 'divmodw output', 'vrf return values', 'ecdsa pubkey'];
@@ -928,7 +928,11 @@ export default class Compiler {
node.getExpression(),
'box_get',
valueType,
- `box value does not exist: ${node.getText()}`
+ `box value does not exist: ${node
+ .getText()
+ .split('\n')
+ .map((l) => l.trim())
+ .join(' ')}`
);
}
@@ -1043,7 +1047,11 @@ export default class Compiler {
node.getExpression(),
'box_len',
StackType.uint64,
- `box value does not exist: ${node.getText()}`
+ `box value does not exist: ${node
+ .getText()
+ .split('\n')
+ .map((l) => l.trim())
+ .join(' ')}`
);
break;
default:
@@ -6120,7 +6128,11 @@ export default class Compiler {
action! !== 'value' ||
getFullValue ||
storageProp.valueType.kind === 'base' ||
- !(storageProp.type === 'box' && !this.isDynamicType(storageProp.valueType))
+ !(
+ storageProp.type === 'box' &&
+ !this.isDynamicType(storageProp.valueType) &&
+ !typeInfoToABIString(storageProp.valueType).match('bool')
+ )
) {
this.handleStorageAction({
node: actionNode,
@@ -6507,7 +6519,8 @@ export default class Compiler {
getStorageName(storageExpression) &&
this.storageProps[getStorageName(storageExpression)!] &&
this.storageProps[getStorageName(storageExpression)!].type === 'box' &&
- !this.isDynamicType(this.storageProps[getStorageName(storageExpression)!].valueType);
+ !this.isDynamicType(this.storageProps[getStorageName(storageExpression)!].valueType) &&
+ !typeInfoToABIString(this.storageProps[getStorageName(storageExpression)!].valueType).match('bool');
if (!isStaticBox) {
this.processFrame(chain[0].getExpression(), chain[0].getExpression().getText(), true);
@@ -7650,14 +7663,14 @@ declare type AssetFreezeTxn = Required;
arc56Description(): ARC56Contract {
const objectToStructFields = (typeInfo: TypeInfo & { kind: 'object' }) => {
- const fields: StructFields = {};
+ const fields: StructField[] = [];
// eslint-disable-next-line no-restricted-syntax
for (const [field, type] of Object.entries(typeInfo.properties)) {
if (type.kind === 'object') {
- fields[field] = objectToStructFields(type);
+ fields.push({ name: field, type: objectToStructFields(type) });
} else {
- fields[field] = typeInfoToABIString(type);
+ fields.push({ name: field, type: typeInfoToABIString(type) });
}
}
@@ -7693,7 +7706,8 @@ declare type AssetFreezeTxn = Required;
structs: {},
state,
bareActions: { create: [], call: [] },
- sourceInfo: this.sourceInfo,
+ // TODO: clear source mapping
+ sourceInfo: { approval: this.sourceInfo, clear: [] },
source: {
approval: Buffer.from(this.teal.approval.map((t) => t.teal).join('\n')).toString('base64'),
clear: Buffer.from(this.teal.clear.map((t) => t.teal).join('\n')).toString('base64'),
diff --git a/src/types/arc56.d.ts b/src/types/arc56.d.ts
index aaf642658..1743a0052 100644
--- a/src/types/arc56.d.ts
+++ b/src/types/arc56.d.ts
@@ -1,130 +1,4 @@
-/** An ABI-encoded type */
-type ABIType = string;
-
-/** The name of a defined struct */
-type StructName = string;
-
-/** Raw byteslice without the length prefixed that is specified in ARC-4 */
-type AVMBytes = 'bytes';
-
-/** Mapping of named structs to the ABI type of their fields */
-interface StructFields {
- [fieldName: string]: ABIType | StructFields;
-}
-
-/** Describes a single key in app storage */
-interface StorageKey {
- /** Description of what this storage key holds */
- desc?: string;
- /** The type of the key */
- keyType: ABIType | AVMBytes | StructName;
- /** The type of the value */
- valueType: ABIType | AVMBytes | StructName;
- /** The bytes of the key encoded as base64 */
- key: string;
-}
-
-interface StorageMap {
- /** Description of what the key-value pairs in this mapping hold */
- desc?: string;
- /** The type of the keys in the map */
- keyType: ABIType | AVMBytes | StructName;
- /** The type of the values in the map */
- valueType: ABIType | AVMBytes | StructName;
- /** The prefix of the map, encoded as a utf-8 string */
- prefix?: string;
-}
-
-interface SourceInfo {
- /** The line of pre-compiled TEAL */
- teal?: number;
- /** The program counter offset(s) that correspond to this line of TEAL */
- pc?: Array;
- /** A human-readable string that describes the error when the program fails at this given line of TEAL */
- errorMessage?: string;
-}
-
-interface Event {
- /** The name of the event */
- name: string;
- /** Optional, user-friendly description for the event */
- desc?: string;
- /** The arguments of the event, in order */
- args: Array<{
- /** The type of the argument */
- type: ABIType;
- /** Optional, user-friendly name for the argument */
- name?: string;
- /** Optional, user-friendly description for the argument */
- desc?: string;
- /** If the type is a struct, the name of the struct */
- struct?: StructName;
- }>;
-}
-
-/** Describes a method in the contract. This interface is an extension of the interface described in ARC-4 */
-interface Method {
- /** The name of the method */
- name: string;
- /** Optional, user-friendly description for the method */
- desc?: string;
- /** The arguments of the method, in order */
- args: Array<{
- /** The type of the argument */
- type: ABIType;
- /** If the type is a struct, the name of the struct */
- struct?: StructName;
- /** Optional, user-friendly name for the argument */
- name?: string;
- /** Optional, user-friendly description for the argument */
- desc?: string;
- /** The default value that clients should use. MUST be base64 encoded bytes */
- defaultValue?: string;
- }>;
- /** Information about the method's return value */
- returns: {
- /** The type of the return value, or "void" to indicate no return value. */
- type: ABIType;
- /** If the type is a struct, the name of the struct */
- struct?: StructName;
- /** Optional, user-friendly description for the return value */
- desc?: string;
- };
- /** an action is a combination of call/create and an OnComplete */
- actions: {
- /** OnCompletes this method allows when appID === 0 */
- create: ('NoOp' | 'OptIn' | 'DeleteApplication')[];
- /** OnCompletes this method allows when appID !== 0 */
- call: ('NoOp' | 'OptIn' | 'CloseOut' | 'ClearState' | 'UpdateApplication' | 'DeleteApplication')[];
- };
- /** If this method does not write anything to the ledger (ARC-22) */
- readonly: boolean;
- /** ARC-28 events that MAY be emitted by this method */
- events?: Array;
- /** Information that clients can use when calling the method */
- recommendations?: {
- /** The number of inner transactions the caller should cover the fees for */
- innerTransactionCount?: number;
- /** Recommended box references to include */
- boxes?: {
- /** The app ID for the box */
- app?: number;
- /** The base64 encoded box key */
- key: string;
- /** The number of bytes being read from the box */
- readBytes: number;
- /** The number of bytes being written to the box */
- writeBytes: number;
- };
- /** Recommended foreign accounts */
- accounts?: string[];
- /** Recommended foreign apps */
- apps?: number[];
- /** Recommended foreign assets */
- assets?: number[];
- };
-}
-
+/* eslint-disable no-use-before-define */
/** Describes the entire contract. This interface is an extension of the interface described in ARC-4 */
export interface ARC56Contract {
/** The ARCs used and/or supported by this contract. All contracts implicity support ARC4 and ARC56 */
@@ -134,22 +8,20 @@ export interface ARC56Contract {
/** Optional, user-friendly description for the interface */
desc?: string;
/**
- * Optional object listing the contract instances across different networks
+ * Optional object listing the contract instances across different networks.
+ * The key is the base64 genesis hash of the network, and the value contains
+ * information about the deployed contract in the network indicated by the
+ * key. A key containing the human-readable name of the network MAY be
+ * included, but the corresponding genesis hash key MUST also be define
*/
networks?: {
- /**
- * The key is the base64 genesis hash of the network, and the value contains
- * information about the deployed contract in the network indicated by the
- * key. A key containing the human-readable name of the network MAY be
- * included, but the corresponding genesis hash key MUST also be defined
- */
[network: string]: {
/** The app ID of the deployed contract in this network */
appID: number;
};
};
- /** Named structs use by the application */
- structs: { [structName: StructName]: StructFields };
+ /** Named structs use by the application. Each struct field appears in the same order as ABI encoding. */
+ structs: { [structName: StructName]: StructField[] };
/** All of the methods that the contract implements */
methods: Method[];
state: {
@@ -184,8 +56,13 @@ export interface ARC56Contract {
/** OnCompletes this method allows when appID !== 0 */
call: ('NoOp' | 'OptIn' | 'CloseOut' | 'ClearState' | 'UpdateApplication' | 'DeleteApplication')[];
};
- /** Information about the TEAL */
- sourceInfo?: SourceInfo[];
+ /** Information about the TEAL programs */
+ sourceInfo?: {
+ /** Approval program information */
+ approval: SourceInfo[];
+ /** Clear program information */
+ clear: SourceInfo[];
+ };
/** The pre-compiled TEAL that may contain template variables. MUST be omitted if included as part of ARC23 */
source?: {
/** The approval program */
@@ -209,7 +86,7 @@ export interface ARC56Contract {
major: number;
minor: number;
patch: number;
- commit?: string;
+ commitHash?: string;
};
};
/** ARC-28 events that MAY be emitted by this contract */
@@ -218,7 +95,7 @@ export interface ARC56Contract {
templateVariables?: {
[name: string]: {
/** The type of the template variable */
- type: ABIType | AVMBytes | StructName;
+ type: ABIType | AVMString | AVMBytes | StructName;
/** If given, the the base64 encoded value used for the given app/program */
value?: string;
};
@@ -227,7 +104,155 @@ export interface ARC56Contract {
scratchVariables?: {
[name: string]: {
slot: number;
- type: ABIType | AVMBytes | StructName;
+ type: ABIType | AVMString | AVMBytes | StructName;
+ };
+ };
+}
+
+/** Describes a method in the contract. This interface is an extension of the interface described in ARC-4 */
+export interface Method {
+ /** The name of the method */
+ name: string;
+ /** Optional, user-friendly description for the method */
+ desc?: string;
+ /** The arguments of the method, in order */
+ args: Array<{
+ /** The type of the argument. The `struct` field should also be checked to determine if this arg is a struct. */
+ type: ABIType;
+ /** If the type is a struct, the name of the struct */
+ struct?: StructName;
+ /** Optional, user-friendly name for the argument */
+ name?: string;
+ /** Optional, user-friendly description for the argument */
+ desc?: string;
+ /** The default value that clients should use. */
+ defaultValue?: {
+ /** Base64 encoded bytes or uint64 */
+ data: string | bigint;
+ /** How the data is encoded. This is the encoding for the data provided here, not the arg type */
+ type: ABIType | AVMBytes | AVMString;
+ /** Where the default value is coming from
+ * - box: The data key signifies the box key to read the value from
+ * - global: The data key signifies the global state key to read the value from
+ * - local: The data key signifies the local state key to read the value from (for the sender)
+ * - literal: the value is a literal and should be passed directly as the argument
+ */
+ source: 'box' | 'global' | 'local' | 'literal';
};
+ }>;
+ /** Information about the method's return value */
+ returns: {
+ /** The type of the return value, or "void" to indicate no return value. The `struct` field should also be checked to determine if this return value is a struct. */
+ type: ABIType;
+ /** If the type is a struct, the name of the struct */
+ struct?: StructName;
+ /** Optional, user-friendly description for the return value */
+ desc?: string;
};
+ /** an action is a combination of call/create and an OnComplete */
+ actions: {
+ /** OnCompletes this method allows when appID === 0 */
+ create: ('NoOp' | 'OptIn' | 'DeleteApplication')[];
+ /** OnCompletes this method allows when appID !== 0 */
+ call: ('NoOp' | 'OptIn' | 'CloseOut' | 'ClearState' | 'UpdateApplication' | 'DeleteApplication')[];
+ };
+ /** If this method does not write anything to the ledger (ARC-22) */
+ readonly?: boolean;
+ /** ARC-28 events that MAY be emitted by this method */
+ events?: Array;
+ /** Information that clients can use when calling the method */
+ recommendations?: {
+ /** The number of inner transactions the caller should cover the fees for */
+ innerTransactionCount?: number;
+ /** Recommended box references to include */
+ boxes?: {
+ /** The app ID for the box */
+ app?: number;
+ /** The base64 encoded box key */
+ key: string;
+ /** The number of bytes being read from the box */
+ readBytes: number;
+ /** The number of bytes being written to the box */
+ writeBytes: number;
+ };
+ /** Recommended foreign accounts */
+ accounts?: string[];
+ /** Recommended foreign apps */
+ apps?: number[];
+ /** Recommended foreign assets */
+ assets?: number[];
+ };
+}
+
+export interface Event {
+ /** The name of the event */
+ name: string;
+ /** Optional, user-friendly description for the event */
+ desc?: string;
+ /** The arguments of the event, in order */
+ args: Array<{
+ /** The type of the argument. The `struct` field should also be checked to determine if this arg is a struct. */
+ type: ABIType;
+ /** Optional, user-friendly name for the argument */
+ name?: string;
+ /** Optional, user-friendly description for the argument */
+ desc?: string;
+ /** If the type is a struct, the name of the struct */
+ struct?: StructName;
+ }>;
+}
+
+/** An ABI-encoded type */
+type ABIType = string;
+
+/** The name of a defined struct */
+type StructName = string;
+
+/** Raw byteslice without the length prefixed that is specified in ARC-4 */
+type AVMBytes = 'AVMBytes';
+
+/** A string without the length prefix that is specified in ARC-4 */
+type AVMString = 'AVMString';
+
+/** Information about a single field in a struct */
+export interface StructField {
+ /** The name of the struct field */
+ name: string;
+ /** The type of the struct field's value */
+ type: ABIType | StructName | StructField[];
+}
+
+/** Describes a single key in app storage */
+export interface StorageKey {
+ /** Description of what this storage key holds */
+ desc?: string;
+ /** The type of the key */
+ keyType: ABIType | AVMString | AVMBytes | StructName;
+ /** The type of the value */
+ valueType: ABIType | AVMString | AVMBytes | StructName;
+ /** The bytes of the key encoded as base64 */
+ key: string;
+}
+
+/** Describes a mapping of key-value pairs in storage */
+export interface StorageMap {
+ /** Description of what the key-value pairs in this mapping hold */
+ desc?: string;
+ /** The type of the keys in the map */
+ keyType: ABIType | AVMString | AVMBytes | StructName;
+ /** The type of the values in the map */
+ valueType: ABIType | AVMString | AVMBytes | StructName;
+ /** The base64-encoded prefix of the map keys */
+ prefix?: string;
+}
+
+export interface SourceInfo {
+ /** The line of pre-compiled TEAL */
+ teal?: number;
+ /** The program counter offset(s) that correspond to this line of TEAL */
+ pc?: Array;
+ /** A human-readable string that describes the error when the program fails at this given line of TEAL */
+ errorMessage?: string;
+ /** The line of the dissasembled TEAL this line of pre-compiled TEAL corresponds to */
+ disassembledTeal?: number;
}
diff --git a/src/version.ts b/src/version.ts
index c942abe37..52e6e4172 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1 +1 @@
-export const VERSION = '0.102.0';
+export const VERSION = '0.103.0';
diff --git a/tests/contracts/artifacts/A.approval.teal b/tests/contracts/artifacts/A.approval.teal
index 99ad7909a..ecf1850db 100644
--- a/tests/contracts/artifacts/A.approval.teal
+++ b/tests/contracts/artifacts/A.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/A.arc32.json b/tests/contracts/artifacts/A.arc32.json
index 7cc5120cd..19e26a288 100644
--- a/tests/contracts/artifacts/A.arc32.json
+++ b/tests/contracts/artifacts/A.arc32.json
@@ -44,7 +44,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/A.arc56_draft.json b/tests/contracts/artifacts/A.arc56_draft.json
index 984ec228a..8ca7a61fd 100644
--- a/tests/contracts/artifacts/A.arc56_draft.json
+++ b/tests/contracts/artifacts/A.arc56_draft.json
@@ -66,261 +66,264 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 12,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 12,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 12,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 12,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 12,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 12,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 12,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 12,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 12,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 15,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 29,
- "source": 15,
- "pc": [
- 43
- ]
- },
- {
- "teal": 30,
- "source": 15,
- "pc": [
- 44
- ]
- },
- {
- "teal": 34,
- "source": 15,
- "pc": [
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 38,
- "source": 16,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 39,
- "source": 16,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 40,
- "source": 16,
- "pc": [
- 54
- ]
- },
- {
- "teal": 41,
- "source": 15,
- "pc": [
- 55
- ]
- },
- {
- "teal": 44,
- "source": 12,
- "pc": [
- 56
- ]
- },
- {
- "teal": 45,
- "source": 12,
- "pc": [
- 57
- ]
- },
- {
- "teal": 48,
- "source": 12,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 49,
- "source": 12,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 50,
- "source": 12,
- "pc": [
- 67,
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 53,
- "source": 12,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 71
- ]
- },
- {
- "teal": 56,
- "source": 12,
- "pc": [
- 72,
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 57,
- "source": 12,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 58,
- "source": 12,
- "pc": [
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 61,
- "source": 12,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 85
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 12,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 12,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 12,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 12,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 12,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 12,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 12,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 12,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 12,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 15,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 15,
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 15,
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 15,
+ "pc": [
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 16,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 16,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 16,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 15,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 12,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 12,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 12,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 12,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 12,
+ "pc": [
+ 67,
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 12,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 12,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 12,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 12,
+ "pc": [
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 12,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 85
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestAccesStringInTuple.approval.teal b/tests/contracts/artifacts/ABITestAccesStringInTuple.approval.teal
index 3cf1a7b67..a03484c34 100644
--- a/tests/contracts/artifacts/ABITestAccesStringInTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestAccesStringInTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestAccesStringInTuple.arc32.json b/tests/contracts/artifacts/ABITestAccesStringInTuple.arc32.json
index de6754ec9..0ed1aa82d 100644
--- a/tests/contracts/artifacts/ABITestAccesStringInTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestAccesStringInTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX2FjY2VzU3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc1N0cmluZ0luVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKCk6IHN0cmluZwphY2Nlc1N0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTAKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTIKCS8vIGFzc2VydChhWzJdID09PSAnSGVsbG8gV29ybGQhJykKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJYnl0ZSAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMSAvLyAiSGVsbG8gV29ybGQhIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTQKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWNjZXNTdHJpbmdJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX2FjY2VzU3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc1N0cmluZ0luVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKCk6IHN0cmluZwphY2Nlc1N0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTAKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTIKCS8vIGFzc2VydChhWzJdID09PSAnSGVsbG8gV29ybGQhJykKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJYnl0ZSAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMSAvLyAiSGVsbG8gV29ybGQhIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTQKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWNjZXNTdHJpbmdJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestAccesStringInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestAccesStringInTuple.arc56_draft.json
index cf386fc63..4e28d79dd 100644
--- a/tests/contracts/artifacts/ABITestAccesStringInTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestAccesStringInTuple.arc56_draft.json
@@ -60,974 +60,977 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 548,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8
- ]
- },
- {
- "teal": 13,
- "source": 548,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 14,
- "source": 548,
- "pc": [
- 11
- ]
- },
- {
- "teal": 15,
- "source": 548,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 16,
- "source": 548,
- "pc": [
- 14
- ]
- },
- {
- "teal": 17,
- "source": 548,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 18,
- "source": 548,
- "pc": [
- 17
- ]
- },
- {
- "teal": 19,
- "source": 548,
- "pc": [
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43
- ]
- },
- {
- "teal": 23,
- "source": 548,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 44
- ]
- },
- {
- "teal": 28,
- "source": 549,
- "pc": [
- 45,
- 46,
- 47,
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 31,
- "source": 549,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 32,
- "source": 549,
- "pc": [
- 54
- ]
- },
- {
- "teal": 33,
- "source": 549,
- "pc": [
- 55
- ]
- },
- {
- "teal": 34,
- "source": 549,
- "pc": [
- 56
- ]
- },
- {
- "teal": 35,
- "source": 549,
- "pc": [
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 36,
- "source": 549,
- "pc": [
- 60
- ]
- },
- {
- "teal": 37,
- "source": 549,
- "pc": [
- 61
- ]
- },
- {
- "teal": 38,
- "source": 549,
- "pc": [
- 62
- ]
- },
- {
- "teal": 39,
- "source": 549,
- "pc": [
- 63
- ]
- },
- {
- "teal": 40,
- "source": 549,
- "pc": [
- 64
- ]
- },
- {
- "teal": 41,
- "source": 549,
- "pc": [
- 65
- ]
- },
- {
- "teal": 45,
- "source": 549,
- "pc": [
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 48,
- "source": 549,
- "pc": [
- 69
- ]
- },
- {
- "teal": 52,
- "source": 550,
- "pc": [
- 70
- ]
- },
- {
- "teal": 53,
- "source": 550,
- "pc": [
- 71
- ]
- },
- {
- "teal": 54,
- "source": 550,
- "pc": [
- 72,
- 73,
- 74,
- 75
- ]
- },
- {
- "teal": 55,
- "source": 550,
- "pc": [
- 76,
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 56,
- "source": 550,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 57,
- "source": 550,
- "pc": [
- 83,
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 58,
- "source": 550,
- "pc": [
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 59,
- "source": 550,
- "pc": [
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 60,
- "source": 550,
- "pc": [
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 61,
- "source": 550,
- "pc": [
- 110,
- 111,
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 62,
- "source": 550,
- "pc": [
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 63,
- "source": 550,
- "pc": [
- 118
- ]
- },
- {
- "teal": 64,
- "source": 550,
- "pc": [
- 119
- ]
- },
- {
- "teal": 65,
- "source": 550,
- "pc": [
- 120,
- 121
- ]
- },
- {
- "teal": 69,
- "source": 552,
- "pc": [
- 122,
- 123
- ]
- },
- {
- "teal": 70,
- "source": 552,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 71,
- "source": 552,
- "pc": [
- 126
- ]
- },
- {
- "teal": 72,
- "source": 552,
- "pc": [
- 127,
- 128
- ]
- },
- {
- "teal": 73,
- "source": 552,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 74,
- "source": 552,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 75,
- "source": 552,
- "pc": [
- 133
- ]
- },
- {
- "teal": 76,
- "source": 552,
- "pc": [
- 134
- ]
- },
- {
- "teal": 77,
- "source": 552,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 78,
- "source": 552,
- "pc": [
- 137
- ]
- },
- {
- "teal": 79,
- "source": 552,
- "pc": [
- 138
- ]
- },
- {
- "teal": 80,
- "source": 552,
- "pc": [
- 139
- ]
- },
- {
- "teal": 81,
- "source": 552,
- "pc": [
- 140
- ]
- },
- {
- "teal": 82,
- "source": 552,
- "pc": [
- 141
- ]
- },
- {
- "teal": 83,
- "source": 552,
- "pc": [
- 142
- ]
- },
- {
- "teal": 84,
- "source": 552,
- "pc": [
- 143
- ]
- },
- {
- "teal": 85,
- "source": 552,
- "pc": [
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 86,
- "source": 552,
- "pc": [
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160
- ]
- },
- {
- "teal": 87,
- "source": 552,
- "pc": [
- 161
- ]
- },
- {
- "teal": 88,
- "source": 552,
- "pc": [
- 162
- ]
- },
- {
- "teal": 92,
- "source": 554,
- "pc": [
- 163,
- 164
- ]
- },
- {
- "teal": 93,
- "source": 554,
- "pc": [
- 165,
- 166
- ]
- },
- {
- "teal": 94,
- "source": 554,
- "pc": [
- 167
- ]
- },
- {
- "teal": 95,
- "source": 554,
- "pc": [
- 168,
- 169
- ]
- },
- {
- "teal": 96,
- "source": 554,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 97,
- "source": 554,
- "pc": [
- 172,
- 173
- ]
- },
- {
- "teal": 98,
- "source": 554,
- "pc": [
- 174
- ]
- },
- {
- "teal": 99,
- "source": 554,
- "pc": [
- 175
- ]
- },
- {
- "teal": 100,
- "source": 554,
- "pc": [
- 176,
- 177
- ]
- },
- {
- "teal": 101,
- "source": 554,
- "pc": [
- 178
- ]
- },
- {
- "teal": 102,
- "source": 554,
- "pc": [
- 179
- ]
- },
- {
- "teal": 103,
- "source": 554,
- "pc": [
- 180
- ]
- },
- {
- "teal": 104,
- "source": 554,
- "pc": [
- 181
- ]
- },
- {
- "teal": 105,
- "source": 554,
- "pc": [
- 182
- ]
- },
- {
- "teal": 106,
- "source": 554,
- "pc": [
- 183
- ]
- },
- {
- "teal": 107,
- "source": 554,
- "pc": [
- 184
- ]
- },
- {
- "teal": 108,
- "source": 554,
- "pc": [
- 185,
- 186,
- 187
- ]
- },
- {
- "teal": 111,
- "source": 549,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 112,
- "source": 549,
- "pc": [
- 190
- ]
- },
- {
- "teal": 115,
- "source": 548,
- "pc": [
- 191
- ]
- },
- {
- "teal": 116,
- "source": 548,
- "pc": [
- 192
- ]
- },
- {
- "teal": 119,
- "source": 548,
- "pc": [
- 193,
- 194,
- 195,
- 196,
- 197,
- 198
- ]
- },
- {
- "teal": 120,
- "source": 548,
- "pc": [
- 199,
- 200,
- 201
- ]
- },
- {
- "teal": 121,
- "source": 548,
- "pc": [
- 202,
- 203,
- 204,
- 205
- ]
- },
- {
- "teal": 124,
- "source": 548,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 206
- ]
- },
- {
- "teal": 127,
- "source": 548,
- "pc": [
- 207,
- 208,
- 209,
- 210,
- 211,
- 212
- ]
- },
- {
- "teal": 128,
- "source": 548,
- "pc": [
- 213,
- 214,
- 215
- ]
- },
- {
- "teal": 129,
- "source": 548,
- "pc": [
- 216,
- 217,
- 218,
- 219
- ]
- },
- {
- "teal": 132,
- "source": 548,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 220
- ]
- },
- {
- "teal": 135,
- "source": 548,
- "pc": [
- 221,
- 222,
- 223
- ]
- },
- {
- "teal": 136,
- "source": 548,
- "pc": [
- 224,
- 225
- ]
- },
- {
- "teal": 137,
- "source": 548,
- "pc": [
- 226,
- 227
- ]
- },
- {
- "teal": 138,
- "source": 548,
- "pc": [
- 228
- ]
- },
- {
- "teal": 139,
- "source": 548,
- "pc": [
- 229,
- 230
- ]
- },
- {
- "teal": 140,
- "source": 548,
- "pc": [
- 231,
- 232
- ]
- },
- {
- "teal": 141,
- "source": 548,
- "pc": [
- 233
- ]
- },
- {
- "teal": 144,
- "source": 548,
- "pc": [
- 234,
- 235,
- 236
- ]
- },
- {
- "teal": 145,
- "source": 548,
- "pc": [
- 237,
- 238
- ]
- },
- {
- "teal": 146,
- "source": 548,
- "pc": [
- 239,
- 240
- ]
- },
- {
- "teal": 147,
- "source": 548,
- "pc": [
- 241
- ]
- },
- {
- "teal": 148,
- "source": 548,
- "pc": [
- 242,
- 243
- ]
- },
- {
- "teal": 149,
- "source": 548,
- "pc": [
- 244,
- 245
- ]
- },
- {
- "teal": 150,
- "source": 548,
- "pc": [
- 246
- ]
- },
- {
- "teal": 151,
- "source": 548,
- "pc": [
- 247
- ]
- },
- {
- "teal": 152,
- "source": 548,
- "pc": [
- 248,
- 249
- ]
- },
- {
- "teal": 153,
- "source": 548,
- "pc": [
- 250
- ]
- },
- {
- "teal": 154,
- "source": 548,
- "pc": [
- 251
- ]
- },
- {
- "teal": 155,
- "source": 548,
- "pc": [
- 252
- ]
- },
- {
- "teal": 156,
- "source": 548,
- "pc": [
- 253,
- 254,
- 255
- ]
- },
- {
- "teal": 157,
- "source": 548,
- "pc": [
- 256,
- 257
- ]
- },
- {
- "teal": 158,
- "source": 548,
- "pc": [
- 258,
- 259
- ]
- },
- {
- "teal": 159,
- "source": 548,
- "pc": [
- 260
- ]
- },
- {
- "teal": 160,
- "source": 548,
- "pc": [
- 261
- ]
- },
- {
- "teal": 161,
- "source": 548,
- "pc": [
- 262,
- 263
- ]
- },
- {
- "teal": 162,
- "source": 548,
- "pc": [
- 264,
- 265
- ]
- },
- {
- "teal": 163,
- "source": 548,
- "pc": [
- 266,
- 267
- ]
- },
- {
- "teal": 164,
- "source": 548,
- "pc": [
- 268,
- 269
- ]
- },
- {
- "teal": 165,
- "source": 548,
- "pc": [
- 270
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 548,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 548,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 548,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 548,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 548,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 548,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 548,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 548,
+ "pc": [
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 548,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 549,
+ "pc": [
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 549,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 549,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 549,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 549,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 549,
+ "pc": [
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 549,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 549,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 549,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 549,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 549,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 549,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 549,
+ "pc": [
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 549,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 550,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 550,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 550,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 550,
+ "pc": [
+ 76,
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 550,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 550,
+ "pc": [
+ 83,
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 550,
+ "pc": [
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 550,
+ "pc": [
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 550,
+ "pc": [
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 550,
+ "pc": [
+ 110,
+ 111,
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 550,
+ "pc": [
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 550,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 550,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 550,
+ "pc": [
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 552,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 552,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 552,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 552,
+ "pc": [
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 552,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 552,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 552,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 552,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 552,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 552,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 552,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 552,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 552,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 552,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 552,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 552,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 552,
+ "pc": [
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 552,
+ "pc": [
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 552,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 552,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 554,
+ "pc": [
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 554,
+ "pc": [
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 554,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 554,
+ "pc": [
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 554,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 554,
+ "pc": [
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 554,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 554,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 554,
+ "pc": [
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 554,
+ "pc": [
+ 178
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 554,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 554,
+ "pc": [
+ 180
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 554,
+ "pc": [
+ 181
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 554,
+ "pc": [
+ 182
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 554,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 554,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 554,
+ "pc": [
+ 185,
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 549,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 549,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 548,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 548,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 548,
+ "pc": [
+ 193,
+ 194,
+ 195,
+ 196,
+ 197,
+ 198
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 548,
+ "pc": [
+ 199,
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 548,
+ "pc": [
+ 202,
+ 203,
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 548,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 548,
+ "pc": [
+ 207,
+ 208,
+ 209,
+ 210,
+ 211,
+ 212
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 548,
+ "pc": [
+ 213,
+ 214,
+ 215
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 548,
+ "pc": [
+ 216,
+ 217,
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 548,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 548,
+ "pc": [
+ 221,
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 548,
+ "pc": [
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 548,
+ "pc": [
+ 226,
+ 227
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 548,
+ "pc": [
+ 228
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 548,
+ "pc": [
+ 229,
+ 230
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 548,
+ "pc": [
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 548,
+ "pc": [
+ 233
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 548,
+ "pc": [
+ 234,
+ 235,
+ 236
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 548,
+ "pc": [
+ 237,
+ 238
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 548,
+ "pc": [
+ 239,
+ 240
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 548,
+ "pc": [
+ 241
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 548,
+ "pc": [
+ 242,
+ 243
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 548,
+ "pc": [
+ 244,
+ 245
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 548,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 548,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 548,
+ "pc": [
+ 248,
+ 249
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 548,
+ "pc": [
+ 250
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 548,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 548,
+ "pc": [
+ 252
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 548,
+ "pc": [
+ 253,
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 548,
+ "pc": [
+ 256,
+ 257
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 548,
+ "pc": [
+ 258,
+ 259
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 548,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 548,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 548,
+ "pc": [
+ 262,
+ 263
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 548,
+ "pc": [
+ 264,
+ 265
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 548,
+ "pc": [
+ 266,
+ 267
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 548,
+ "pc": [
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 548,
+ "pc": [
+ 270
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX2FjY2VzU3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc1N0cmluZ0luVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKCk6IHN0cmluZwphY2Nlc1N0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTAKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTIKCS8vIGFzc2VydChhWzJdID09PSAnSGVsbG8gV29ybGQhJykKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJYnl0ZSAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMSAvLyAiSGVsbG8gV29ybGQhIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTQKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWNjZXNTdHJpbmdJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX2FjY2VzU3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc1N0cmluZ0luVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKCk6IHN0cmluZwphY2Nlc1N0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTAKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTIKCS8vIGFzc2VydChhWzJdID09PSAnSGVsbG8gV29ybGQhJykKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJYnl0ZSAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMSAvLyAiSGVsbG8gV29ybGQhIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTQKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWNjZXNTdHJpbmdJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.approval.teal b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.approval.teal
index 5c513b9a3..2770bc2c8 100644
--- a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc32.json b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc32.json
index 4bc34cbba..2ced4898e 100644
--- a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgKKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgKCWNhbGxzdWIgYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGUKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpOiB1aW50PDg+CmFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njc0CgkvLyBhOiBbdWludDE2LCB1aW50PDg+W11dID0gWzExLCBbMjIsIDMzLCA0NF1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDBiCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzE2MjEyYwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njc2CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZXh0cmFjdF91aW50MTYKCWludCAxIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJaW50IDEKCWV4dHJhY3QzCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgKKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgKCWNhbGxzdWIgYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGUKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpOiB1aW50PDg+CmFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njc0CgkvLyBhOiBbdWludDE2LCB1aW50PDg+W11dID0gWzExLCBbMjIsIDMzLCA0NF1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDBiCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzE2MjEyYwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njc2CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZXh0cmFjdF91aW50MTYKCWludCAxIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJaW50IDEKCWV4dHJhY3QzCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc56_draft.json
index b7c45c564..bd77fc32f 100644
--- a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc56_draft.json
@@ -60,747 +60,750 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 672,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7
- ]
- },
- {
- "teal": 13,
- "source": 672,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 14,
- "source": 672,
- "pc": [
- 10
- ]
- },
- {
- "teal": 15,
- "source": 672,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 16,
- "source": 672,
- "pc": [
- 13
- ]
- },
- {
- "teal": 17,
- "source": 672,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 18,
- "source": 672,
- "pc": [
- 16
- ]
- },
- {
- "teal": 19,
- "source": 672,
- "pc": [
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 23,
- "source": 672,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 43
- ]
- },
- {
- "teal": 28,
- "source": 673,
- "pc": [
- 44,
- 45,
- 46,
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 31,
- "source": 673,
- "pc": [
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 32,
- "source": 673,
- "pc": [
- 53
- ]
- },
- {
- "teal": 33,
- "source": 673,
- "pc": [
- 54
- ]
- },
- {
- "teal": 34,
- "source": 673,
- "pc": [
- 55
- ]
- },
- {
- "teal": 35,
- "source": 673,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 36,
- "source": 673,
- "pc": [
- 58
- ]
- },
- {
- "teal": 39,
- "source": 673,
- "errorMessage": "accessDynamicArrayElementInTuple return value overflowed 8 bits",
- "pc": [
- 59
- ]
- },
- {
- "teal": 40,
- "source": 673,
- "pc": [
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 41,
- "source": 673,
- "pc": [
- 63
- ]
- },
- {
- "teal": 42,
- "source": 673,
- "pc": [
- 64
- ]
- },
- {
- "teal": 43,
- "source": 673,
- "pc": [
- 65
- ]
- },
- {
- "teal": 44,
- "source": 673,
- "pc": [
- 66
- ]
- },
- {
- "teal": 48,
- "source": 673,
- "pc": [
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 51,
- "source": 673,
- "pc": [
- 70
- ]
- },
- {
- "teal": 55,
- "source": 674,
- "pc": [
- 71
- ]
- },
- {
- "teal": 56,
- "source": 674,
- "pc": [
- 72
- ]
- },
- {
- "teal": 57,
- "source": 674,
- "pc": [
- 73,
- 74,
- 75,
- 76
- ]
- },
- {
- "teal": 58,
- "source": 674,
- "pc": [
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 59,
- "source": 674,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 60,
- "source": 674,
- "pc": [
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 61,
- "source": 674,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 62,
- "source": 674,
- "pc": [
- 94
- ]
- },
- {
- "teal": 63,
- "source": 674,
- "pc": [
- 95
- ]
- },
- {
- "teal": 64,
- "source": 674,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 68,
- "source": 676,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 69,
- "source": 676,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 70,
- "source": 676,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 71,
- "source": 676,
- "pc": [
- 104
- ]
- },
- {
- "teal": 72,
- "source": 676,
- "pc": [
- 105
- ]
- },
- {
- "teal": 73,
- "source": 676,
- "pc": [
- 106
- ]
- },
- {
- "teal": 74,
- "source": 676,
- "pc": [
- 107
- ]
- },
- {
- "teal": 75,
- "source": 676,
- "pc": [
- 108
- ]
- },
- {
- "teal": 76,
- "source": 676,
- "pc": [
- 109
- ]
- },
- {
- "teal": 77,
- "source": 676,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 78,
- "source": 676,
- "pc": [
- 112
- ]
- },
- {
- "teal": 79,
- "source": 676,
- "pc": [
- 113
- ]
- },
- {
- "teal": 80,
- "source": 676,
- "pc": [
- 114
- ]
- },
- {
- "teal": 81,
- "source": 676,
- "pc": [
- 115
- ]
- },
- {
- "teal": 84,
- "source": 673,
- "pc": [
- 116,
- 117
- ]
- },
- {
- "teal": 85,
- "source": 673,
- "pc": [
- 118
- ]
- },
- {
- "teal": 88,
- "source": 672,
- "pc": [
- 119
- ]
- },
- {
- "teal": 89,
- "source": 672,
- "pc": [
- 120
- ]
- },
- {
- "teal": 92,
- "source": 672,
- "pc": [
- 121,
- 122,
- 123,
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 93,
- "source": 672,
- "pc": [
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 94,
- "source": 672,
- "pc": [
- 130,
- 131,
- 132,
- 133
- ]
- },
- {
- "teal": 97,
- "source": 672,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 134
- ]
- },
- {
- "teal": 100,
- "source": 672,
- "pc": [
- 135,
- 136,
- 137,
- 138,
- 139,
- 140
- ]
- },
- {
- "teal": 101,
- "source": 672,
- "pc": [
- 141,
- 142,
- 143
- ]
- },
- {
- "teal": 102,
- "source": 672,
- "pc": [
- 144,
- 145,
- 146,
- 147
- ]
- },
- {
- "teal": 105,
- "source": 672,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 148
- ]
- },
- {
- "teal": 108,
- "source": 672,
- "pc": [
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 109,
- "source": 672,
- "pc": [
- 152,
- 153
- ]
- },
- {
- "teal": 110,
- "source": 672,
- "pc": [
- 154,
- 155
- ]
- },
- {
- "teal": 111,
- "source": 672,
- "pc": [
- 156
- ]
- },
- {
- "teal": 112,
- "source": 672,
- "pc": [
- 157,
- 158
- ]
- },
- {
- "teal": 113,
- "source": 672,
- "pc": [
- 159,
- 160
- ]
- },
- {
- "teal": 114,
- "source": 672,
- "pc": [
- 161
- ]
- },
- {
- "teal": 117,
- "source": 672,
- "pc": [
- 162,
- 163,
- 164
- ]
- },
- {
- "teal": 118,
- "source": 672,
- "pc": [
- 165,
- 166
- ]
- },
- {
- "teal": 119,
- "source": 672,
- "pc": [
- 167,
- 168
- ]
- },
- {
- "teal": 120,
- "source": 672,
- "pc": [
- 169
- ]
- },
- {
- "teal": 121,
- "source": 672,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 122,
- "source": 672,
- "pc": [
- 172,
- 173
- ]
- },
- {
- "teal": 123,
- "source": 672,
- "pc": [
- 174
- ]
- },
- {
- "teal": 124,
- "source": 672,
- "pc": [
- 175
- ]
- },
- {
- "teal": 125,
- "source": 672,
- "pc": [
- 176,
- 177
- ]
- },
- {
- "teal": 126,
- "source": 672,
- "pc": [
- 178
- ]
- },
- {
- "teal": 127,
- "source": 672,
- "pc": [
- 179
- ]
- },
- {
- "teal": 128,
- "source": 672,
- "pc": [
- 180
- ]
- },
- {
- "teal": 129,
- "source": 672,
- "pc": [
- 181,
- 182,
- 183
- ]
- },
- {
- "teal": 130,
- "source": 672,
- "pc": [
- 184,
- 185
- ]
- },
- {
- "teal": 131,
- "source": 672,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 132,
- "source": 672,
- "pc": [
- 188
- ]
- },
- {
- "teal": 133,
- "source": 672,
- "pc": [
- 189
- ]
- },
- {
- "teal": 134,
- "source": 672,
- "pc": [
- 190,
- 191
- ]
- },
- {
- "teal": 135,
- "source": 672,
- "pc": [
- 192,
- 193
- ]
- },
- {
- "teal": 136,
- "source": 672,
- "pc": [
- 194,
- 195
- ]
- },
- {
- "teal": 137,
- "source": 672,
- "pc": [
- 196,
- 197
- ]
- },
- {
- "teal": 138,
- "source": 672,
- "pc": [
- 198
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 672,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 672,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 672,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 672,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 672,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 672,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 672,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 672,
+ "pc": [
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 672,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 673,
+ "pc": [
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 673,
+ "pc": [
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 673,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 673,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 673,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 673,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 673,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 673,
+ "errorMessage": "accessDynamicArrayElementInTuple return value overflowed 8 bits",
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 673,
+ "pc": [
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 673,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 673,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 673,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 673,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 673,
+ "pc": [
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 673,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 674,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 674,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 674,
+ "pc": [
+ 73,
+ 74,
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 674,
+ "pc": [
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 674,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 674,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 674,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 674,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 674,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 674,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 676,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 676,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 676,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 676,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 676,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 676,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 676,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 676,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 676,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 676,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 676,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 676,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 676,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 676,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 673,
+ "pc": [
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 673,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 672,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 672,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 672,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 672,
+ "pc": [
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 672,
+ "pc": [
+ 130,
+ 131,
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 672,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 672,
+ "pc": [
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 672,
+ "pc": [
+ 141,
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 672,
+ "pc": [
+ 144,
+ 145,
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 672,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 672,
+ "pc": [
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 672,
+ "pc": [
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 672,
+ "pc": [
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 672,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 672,
+ "pc": [
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 672,
+ "pc": [
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 672,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 672,
+ "pc": [
+ 162,
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 672,
+ "pc": [
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 672,
+ "pc": [
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 672,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 672,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 672,
+ "pc": [
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 672,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 672,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 672,
+ "pc": [
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 672,
+ "pc": [
+ 178
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 672,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 672,
+ "pc": [
+ 180
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 672,
+ "pc": [
+ 181,
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 672,
+ "pc": [
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 672,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 672,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 672,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 672,
+ "pc": [
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 672,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 672,
+ "pc": [
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 672,
+ "pc": [
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 672,
+ "pc": [
+ 198
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgKKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgKCWNhbGxzdWIgYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGUKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpOiB1aW50PDg+CmFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njc0CgkvLyBhOiBbdWludDE2LCB1aW50PDg+W11dID0gWzExLCBbMjIsIDMzLCA0NF1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDBiCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzE2MjEyYwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njc2CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZXh0cmFjdF91aW50MTYKCWludCAxIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJaW50IDEKCWV4dHJhY3QzCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgKKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgKCWNhbGxzdWIgYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGUKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpOiB1aW50PDg+CmFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njc0CgkvLyBhOiBbdWludDE2LCB1aW50PDg+W11dID0gWzExLCBbMjIsIDMzLCA0NF1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDBiCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzE2MjEyYwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njc2CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZXh0cmFjdF91aW50MTYKCWludCAxIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJaW50IDEKCWV4dHJhY3QzCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.approval.teal b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.approval.teal
index 7cef547cb..de0ef1b95 100644
--- a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc32.json b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc32.json
index ee95c15a9..7158a7a8b 100644
--- a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCl1aW50OFtdCgljYWxsc3ViIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogdWludDw4PltdCmFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY2NgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY2OAoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKXVpbnQ4W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCl1aW50OFtdCgljYWxsc3ViIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogdWludDw4PltdCmFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY2NgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY2OAoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKXVpbnQ4W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc56_draft.json
index 8c80a1d61..0b367990e 100644
--- a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc56_draft.json
@@ -60,780 +60,783 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 664,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7
- ]
- },
- {
- "teal": 13,
- "source": 664,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 14,
- "source": 664,
- "pc": [
- 10
- ]
- },
- {
- "teal": 15,
- "source": 664,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 16,
- "source": 664,
- "pc": [
- 13
- ]
- },
- {
- "teal": 17,
- "source": 664,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 18,
- "source": 664,
- "pc": [
- 16
- ]
- },
- {
- "teal": 19,
- "source": 664,
- "pc": [
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 23,
- "source": 664,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 43
- ]
- },
- {
- "teal": 28,
- "source": 665,
- "pc": [
- 44,
- 45,
- 46,
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 31,
- "source": 665,
- "pc": [
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 32,
- "source": 665,
- "pc": [
- 53
- ]
- },
- {
- "teal": 33,
- "source": 665,
- "pc": [
- 54
- ]
- },
- {
- "teal": 34,
- "source": 665,
- "pc": [
- 55
- ]
- },
- {
- "teal": 35,
- "source": 665,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 36,
- "source": 665,
- "pc": [
- 59
- ]
- },
- {
- "teal": 37,
- "source": 665,
- "pc": [
- 60
- ]
- },
- {
- "teal": 38,
- "source": 665,
- "pc": [
- 61
- ]
- },
- {
- "teal": 39,
- "source": 665,
- "pc": [
- 62
- ]
- },
- {
- "teal": 40,
- "source": 665,
- "pc": [
- 63
- ]
- },
- {
- "teal": 41,
- "source": 665,
- "pc": [
- 64
- ]
- },
- {
- "teal": 45,
- "source": 665,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 48,
- "source": 665,
- "pc": [
- 68
- ]
- },
- {
- "teal": 52,
- "source": 666,
- "pc": [
- 69
- ]
- },
- {
- "teal": 53,
- "source": 666,
- "pc": [
- 70
- ]
- },
- {
- "teal": 54,
- "source": 666,
- "pc": [
- 71,
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 55,
- "source": 666,
- "pc": [
- 75,
- 76,
- 77,
- 78
- ]
- },
- {
- "teal": 56,
- "source": 666,
- "pc": [
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 57,
- "source": 666,
- "pc": [
- 82,
- 83,
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 58,
- "source": 666,
- "pc": [
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 59,
- "source": 666,
- "pc": [
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 60,
- "source": 666,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 61,
- "source": 666,
- "pc": [
- 97
- ]
- },
- {
- "teal": 62,
- "source": 666,
- "pc": [
- 98
- ]
- },
- {
- "teal": 63,
- "source": 666,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 67,
- "source": 668,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 68,
- "source": 668,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 69,
- "source": 668,
- "pc": [
- 105
- ]
- },
- {
- "teal": 70,
- "source": 668,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 71,
- "source": 668,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 72,
- "source": 668,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 73,
- "source": 668,
- "pc": [
- 112
- ]
- },
- {
- "teal": 74,
- "source": 668,
- "pc": [
- 113
- ]
- },
- {
- "teal": 75,
- "source": 668,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 76,
- "source": 668,
- "pc": [
- 116
- ]
- },
- {
- "teal": 77,
- "source": 668,
- "pc": [
- 117
- ]
- },
- {
- "teal": 78,
- "source": 668,
- "pc": [
- 118
- ]
- },
- {
- "teal": 79,
- "source": 668,
- "pc": [
- 119
- ]
- },
- {
- "teal": 80,
- "source": 668,
- "pc": [
- 120
- ]
- },
- {
- "teal": 81,
- "source": 668,
- "pc": [
- 121
- ]
- },
- {
- "teal": 82,
- "source": 668,
- "pc": [
- 122
- ]
- },
- {
- "teal": 83,
- "source": 668,
- "pc": [
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 86,
- "source": 665,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 87,
- "source": 665,
- "pc": [
- 128
- ]
- },
- {
- "teal": 90,
- "source": 664,
- "pc": [
- 129
- ]
- },
- {
- "teal": 91,
- "source": 664,
- "pc": [
- 130
- ]
- },
- {
- "teal": 94,
- "source": 664,
- "pc": [
- 131,
- 132,
- 133,
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 95,
- "source": 664,
- "pc": [
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 96,
- "source": 664,
- "pc": [
- 140,
- 141,
- 142,
- 143
- ]
- },
- {
- "teal": 99,
- "source": 664,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 144
- ]
- },
- {
- "teal": 102,
- "source": 664,
- "pc": [
- 145,
- 146,
- 147,
- 148,
- 149,
- 150
- ]
- },
- {
- "teal": 103,
- "source": 664,
- "pc": [
- 151,
- 152,
- 153
- ]
- },
- {
- "teal": 104,
- "source": 664,
- "pc": [
- 154,
- 155,
- 156,
- 157
- ]
- },
- {
- "teal": 107,
- "source": 664,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 158
- ]
- },
- {
- "teal": 110,
- "source": 664,
- "pc": [
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 111,
- "source": 664,
- "pc": [
- 162,
- 163
- ]
- },
- {
- "teal": 112,
- "source": 664,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 113,
- "source": 664,
- "pc": [
- 166
- ]
- },
- {
- "teal": 114,
- "source": 664,
- "pc": [
- 167,
- 168
- ]
- },
- {
- "teal": 115,
- "source": 664,
- "pc": [
- 169,
- 170
- ]
- },
- {
- "teal": 116,
- "source": 664,
- "pc": [
- 171
- ]
- },
- {
- "teal": 119,
- "source": 664,
- "pc": [
- 172,
- 173,
- 174
- ]
- },
- {
- "teal": 120,
- "source": 664,
- "pc": [
- 175,
- 176
- ]
- },
- {
- "teal": 121,
- "source": 664,
- "pc": [
- 177,
- 178
- ]
- },
- {
- "teal": 122,
- "source": 664,
- "pc": [
- 179
- ]
- },
- {
- "teal": 123,
- "source": 664,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 124,
- "source": 664,
- "pc": [
- 182,
- 183
- ]
- },
- {
- "teal": 125,
- "source": 664,
- "pc": [
- 184
- ]
- },
- {
- "teal": 126,
- "source": 664,
- "pc": [
- 185
- ]
- },
- {
- "teal": 127,
- "source": 664,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 128,
- "source": 664,
- "pc": [
- 188
- ]
- },
- {
- "teal": 129,
- "source": 664,
- "pc": [
- 189
- ]
- },
- {
- "teal": 130,
- "source": 664,
- "pc": [
- 190
- ]
- },
- {
- "teal": 131,
- "source": 664,
- "pc": [
- 191,
- 192,
- 193
- ]
- },
- {
- "teal": 132,
- "source": 664,
- "pc": [
- 194,
- 195
- ]
- },
- {
- "teal": 133,
- "source": 664,
- "pc": [
- 196,
- 197
- ]
- },
- {
- "teal": 134,
- "source": 664,
- "pc": [
- 198
- ]
- },
- {
- "teal": 135,
- "source": 664,
- "pc": [
- 199
- ]
- },
- {
- "teal": 136,
- "source": 664,
- "pc": [
- 200,
- 201
- ]
- },
- {
- "teal": 137,
- "source": 664,
- "pc": [
- 202,
- 203
- ]
- },
- {
- "teal": 138,
- "source": 664,
- "pc": [
- 204,
- 205
- ]
- },
- {
- "teal": 139,
- "source": 664,
- "pc": [
- 206,
- 207
- ]
- },
- {
- "teal": 140,
- "source": 664,
- "pc": [
- 208
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 664,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 664,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 664,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 664,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 664,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 664,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 664,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 664,
+ "pc": [
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 664,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 665,
+ "pc": [
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 665,
+ "pc": [
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 665,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 665,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 665,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 665,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 665,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 665,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 665,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 665,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 665,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 665,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 665,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 665,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 666,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 666,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 666,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 666,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 666,
+ "pc": [
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 666,
+ "pc": [
+ 82,
+ 83,
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 666,
+ "pc": [
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 666,
+ "pc": [
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 666,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 666,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 666,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 666,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 668,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 668,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 668,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 668,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 668,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 668,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 668,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 668,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 668,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 668,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 668,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 668,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 668,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 668,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 668,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 668,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 668,
+ "pc": [
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 665,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 665,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 664,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 664,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 664,
+ "pc": [
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 664,
+ "pc": [
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 664,
+ "pc": [
+ 140,
+ 141,
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 664,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 664,
+ "pc": [
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 664,
+ "pc": [
+ 151,
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 664,
+ "pc": [
+ 154,
+ 155,
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 664,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 664,
+ "pc": [
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 664,
+ "pc": [
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 664,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 664,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 664,
+ "pc": [
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 664,
+ "pc": [
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 664,
+ "pc": [
+ 171
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 664,
+ "pc": [
+ 172,
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 664,
+ "pc": [
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 664,
+ "pc": [
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 664,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 664,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 664,
+ "pc": [
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 664,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 664,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 664,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 664,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 664,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 664,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 664,
+ "pc": [
+ 191,
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 664,
+ "pc": [
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 664,
+ "pc": [
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 664,
+ "pc": [
+ 198
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 664,
+ "pc": [
+ 199
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 664,
+ "pc": [
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 664,
+ "pc": [
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 664,
+ "pc": [
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 664,
+ "pc": [
+ 206,
+ 207
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 664,
+ "pc": [
+ 208
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCl1aW50OFtdCgljYWxsc3ViIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogdWludDw4PltdCmFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY2NgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY2OAoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKXVpbnQ4W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCl1aW50OFtdCgljYWxsc3ViIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogdWludDw4PltdCmFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY2NgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY2OAoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKXVpbnQ4W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.approval.teal b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.approval.teal
index 580508cb4..b49b960f7 100644
--- a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc32.json b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc32.json
index 57966fc99..8ee87ae2b 100644
--- a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkoKXN0cmluZwoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KCk6IHN0cmluZwphY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MTAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcxMgoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkoKXN0cmluZwoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KCk6IHN0cmluZwphY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MTAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcxMgoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc56_draft.json b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc56_draft.json
index 278e0e003..57747fc8e 100644
--- a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc56_draft.json
@@ -60,774 +60,777 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 708,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7
- ]
- },
- {
- "teal": 13,
- "source": 708,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 14,
- "source": 708,
- "pc": [
- 10
- ]
- },
- {
- "teal": 15,
- "source": 708,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 16,
- "source": 708,
- "pc": [
- 13
- ]
- },
- {
- "teal": 17,
- "source": 708,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 18,
- "source": 708,
- "pc": [
- 16
- ]
- },
- {
- "teal": 19,
- "source": 708,
- "pc": [
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 23,
- "source": 708,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 43
- ]
- },
- {
- "teal": 28,
- "source": 709,
- "pc": [
- 44,
- 45,
- 46,
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 31,
- "source": 709,
- "pc": [
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 32,
- "source": 709,
- "pc": [
- 53
- ]
- },
- {
- "teal": 33,
- "source": 709,
- "pc": [
- 54
- ]
- },
- {
- "teal": 34,
- "source": 709,
- "pc": [
- 55
- ]
- },
- {
- "teal": 35,
- "source": 709,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 36,
- "source": 709,
- "pc": [
- 59
- ]
- },
- {
- "teal": 37,
- "source": 709,
- "pc": [
- 60
- ]
- },
- {
- "teal": 38,
- "source": 709,
- "pc": [
- 61
- ]
- },
- {
- "teal": 39,
- "source": 709,
- "pc": [
- 62
- ]
- },
- {
- "teal": 40,
- "source": 709,
- "pc": [
- 63
- ]
- },
- {
- "teal": 41,
- "source": 709,
- "pc": [
- 64
- ]
- },
- {
- "teal": 45,
- "source": 709,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 48,
- "source": 709,
- "pc": [
- 68
- ]
- },
- {
- "teal": 52,
- "source": 710,
- "pc": [
- 69
- ]
- },
- {
- "teal": 53,
- "source": 710,
- "pc": [
- 70
- ]
- },
- {
- "teal": 54,
- "source": 710,
- "pc": [
- 71,
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 55,
- "source": 710,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 56,
- "source": 710,
- "pc": [
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 57,
- "source": 710,
- "pc": [
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 58,
- "source": 710,
- "pc": [
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 59,
- "source": 710,
- "pc": [
- 99,
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 60,
- "source": 710,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 61,
- "source": 710,
- "pc": [
- 107
- ]
- },
- {
- "teal": 62,
- "source": 710,
- "pc": [
- 108
- ]
- },
- {
- "teal": 63,
- "source": 710,
- "pc": [
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 64,
- "source": 710,
- "pc": [
- 113
- ]
- },
- {
- "teal": 65,
- "source": 710,
- "pc": [
- 114
- ]
- },
- {
- "teal": 66,
- "source": 710,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 70,
- "source": 712,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 71,
- "source": 712,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 72,
- "source": 712,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 73,
- "source": 712,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 74,
- "source": 712,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 75,
- "source": 712,
- "pc": [
- 127,
- 128
- ]
- },
- {
- "teal": 76,
- "source": 712,
- "pc": [
- 129
- ]
- },
- {
- "teal": 77,
- "source": 712,
- "pc": [
- 130
- ]
- },
- {
- "teal": 78,
- "source": 712,
- "pc": [
- 131
- ]
- },
- {
- "teal": 79,
- "source": 712,
- "pc": [
- 132
- ]
- },
- {
- "teal": 80,
- "source": 712,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 81,
- "source": 712,
- "pc": [
- 135
- ]
- },
- {
- "teal": 82,
- "source": 712,
- "pc": [
- 136
- ]
- },
- {
- "teal": 83,
- "source": 712,
- "pc": [
- 137
- ]
- },
- {
- "teal": 84,
- "source": 712,
- "pc": [
- 138
- ]
- },
- {
- "teal": 85,
- "source": 712,
- "pc": [
- 139
- ]
- },
- {
- "teal": 86,
- "source": 712,
- "pc": [
- 140
- ]
- },
- {
- "teal": 87,
- "source": 712,
- "pc": [
- 141
- ]
- },
- {
- "teal": 88,
- "source": 712,
- "pc": [
- 142,
- 143,
- 144
- ]
- },
- {
- "teal": 91,
- "source": 709,
- "pc": [
- 145,
- 146
- ]
- },
- {
- "teal": 92,
- "source": 709,
- "pc": [
- 147
- ]
- },
- {
- "teal": 95,
- "source": 708,
- "pc": [
- 148
- ]
- },
- {
- "teal": 96,
- "source": 708,
- "pc": [
- 149
- ]
- },
- {
- "teal": 99,
- "source": 708,
- "pc": [
- 150,
- 151,
- 152,
- 153,
- 154,
- 155
- ]
- },
- {
- "teal": 100,
- "source": 708,
- "pc": [
- 156,
- 157,
- 158
- ]
- },
- {
- "teal": 101,
- "source": 708,
- "pc": [
- 159,
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 104,
- "source": 708,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 163
- ]
- },
- {
- "teal": 107,
- "source": 708,
- "pc": [
- 164,
- 165,
- 166,
- 167,
- 168,
- 169
- ]
- },
- {
- "teal": 108,
- "source": 708,
- "pc": [
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 109,
- "source": 708,
- "pc": [
- 173,
- 174,
- 175,
- 176
- ]
- },
- {
- "teal": 112,
- "source": 708,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 177
- ]
- },
- {
- "teal": 115,
- "source": 708,
- "pc": [
- 178,
- 179,
- 180
- ]
- },
- {
- "teal": 116,
- "source": 708,
- "pc": [
- 181,
- 182
- ]
- },
- {
- "teal": 117,
- "source": 708,
- "pc": [
- 183,
- 184
- ]
- },
- {
- "teal": 118,
- "source": 708,
- "pc": [
- 185
- ]
- },
- {
- "teal": 119,
- "source": 708,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 120,
- "source": 708,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 121,
- "source": 708,
- "pc": [
- 190
- ]
- },
- {
- "teal": 122,
- "source": 708,
- "pc": [
- 191
- ]
- },
- {
- "teal": 123,
- "source": 708,
- "pc": [
- 192,
- 193
- ]
- },
- {
- "teal": 124,
- "source": 708,
- "pc": [
- 194
- ]
- },
- {
- "teal": 125,
- "source": 708,
- "pc": [
- 195
- ]
- },
- {
- "teal": 126,
- "source": 708,
- "pc": [
- 196
- ]
- },
- {
- "teal": 127,
- "source": 708,
- "pc": [
- 197,
- 198,
- 199
- ]
- },
- {
- "teal": 128,
- "source": 708,
- "pc": [
- 200,
- 201
- ]
- },
- {
- "teal": 129,
- "source": 708,
- "pc": [
- 202,
- 203
- ]
- },
- {
- "teal": 130,
- "source": 708,
- "pc": [
- 204
- ]
- },
- {
- "teal": 131,
- "source": 708,
- "pc": [
- 205
- ]
- },
- {
- "teal": 132,
- "source": 708,
- "pc": [
- 206,
- 207
- ]
- },
- {
- "teal": 133,
- "source": 708,
- "pc": [
- 208,
- 209
- ]
- },
- {
- "teal": 134,
- "source": 708,
- "pc": [
- 210,
- 211
- ]
- },
- {
- "teal": 135,
- "source": 708,
- "pc": [
- 212,
- 213
- ]
- },
- {
- "teal": 136,
- "source": 708,
- "pc": [
- 214
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 708,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 708,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 708,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 708,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 708,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 708,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 708,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 708,
+ "pc": [
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 708,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 709,
+ "pc": [
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 709,
+ "pc": [
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 709,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 709,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 709,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 709,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 709,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 709,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 709,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 709,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 709,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 709,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 709,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 709,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 710,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 710,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 710,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 710,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 710,
+ "pc": [
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 710,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 710,
+ "pc": [
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 710,
+ "pc": [
+ 99,
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 710,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 710,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 710,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 710,
+ "pc": [
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 710,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 710,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 710,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 712,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 712,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 712,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 712,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 712,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 712,
+ "pc": [
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 712,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 712,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 712,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 712,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 712,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 712,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 712,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 712,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 712,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 712,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 712,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 712,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 712,
+ "pc": [
+ 142,
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 709,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 709,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 708,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 708,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 708,
+ "pc": [
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 708,
+ "pc": [
+ 156,
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 708,
+ "pc": [
+ 159,
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 708,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 708,
+ "pc": [
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 708,
+ "pc": [
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 708,
+ "pc": [
+ 173,
+ 174,
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 708,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 708,
+ "pc": [
+ 178,
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 708,
+ "pc": [
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 708,
+ "pc": [
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 708,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 708,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 708,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 708,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 708,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 708,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 708,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 708,
+ "pc": [
+ 195
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 708,
+ "pc": [
+ 196
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 708,
+ "pc": [
+ 197,
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 708,
+ "pc": [
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 708,
+ "pc": [
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 708,
+ "pc": [
+ 204
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 708,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 708,
+ "pc": [
+ 206,
+ 207
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 708,
+ "pc": [
+ 208,
+ 209
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 708,
+ "pc": [
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 708,
+ "pc": [
+ 212,
+ 213
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 708,
+ "pc": [
+ 214
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkoKXN0cmluZwoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KCk6IHN0cmluZwphY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MTAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcxMgoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkoKXN0cmluZwoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KCk6IHN0cmluZwphY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MTAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcxMgoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.approval.teal b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.approval.teal
index d28bd0bd6..dea8aa4e5 100644
--- a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.approval.teal
+++ b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc32.json b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc32.json
index 839f03a15..079e867a9 100644
--- a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc32.json
+++ b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZSgpdWludDY0CiphYmlfcm91dGVfYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCk6IHVpbnQ2NAphY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE2CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWludCAxMjAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE3CgkvLyB2YWwgPSB0aGlzLmJLZXkudmFsdWVbaV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE5CgkvLyB2YWwudTY0ID0gMQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJaW50IDAKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTIxCgkvLyByZXR1cm4gdmFsLnU2NDsKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWludCAwCglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZSgpdWludDY0CiphYmlfcm91dGVfYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCk6IHVpbnQ2NAphY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE2CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWludCAxMjAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE3CgkvLyB2YWwgPSB0aGlzLmJLZXkudmFsdWVbaV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE5CgkvLyB2YWwudTY0ID0gMQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJaW50IDAKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTIxCgkvLyByZXR1cm4gdmFsLnU2NDsKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWludCAwCglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc56_draft.json b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc56_draft.json
index 3147a2d77..dd81ed3e7 100644
--- a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc56_draft.json
@@ -66,382 +66,385 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1511,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14
- ]
- },
- {
- "teal": 13,
- "source": 1511,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 14,
- "source": 1511,
- "pc": [
- 17
- ]
- },
- {
- "teal": 15,
- "source": 1511,
- "pc": [
- 18,
- 19
- ]
- },
- {
- "teal": 16,
- "source": 1511,
- "pc": [
- 20
- ]
- },
- {
- "teal": 17,
- "source": 1511,
- "pc": [
- 21,
- 22
- ]
- },
- {
- "teal": 18,
- "source": 1511,
- "pc": [
- 23
- ]
- },
- {
- "teal": 19,
- "source": 1511,
- "pc": [
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 23,
- "source": 1511,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 50
- ]
- },
- {
- "teal": 28,
- "source": 1514,
- "pc": [
- 51,
- 52,
- 53,
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 31,
- "source": 1514,
- "pc": [
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 32,
- "source": 1514,
- "pc": [
- 60
- ]
- },
- {
- "teal": 33,
- "source": 1514,
- "pc": [
- 61
- ]
- },
- {
- "teal": 34,
- "source": 1514,
- "pc": [
- 62
- ]
- },
- {
- "teal": 35,
- "source": 1514,
- "pc": [
- 63
- ]
- },
- {
- "teal": 36,
- "source": 1514,
- "pc": [
- 64
- ]
- },
- {
- "teal": 40,
- "source": 1514,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 44,
- "source": 1516,
- "pc": [
- 68
- ]
- },
- {
- "teal": 45,
- "source": 1516,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 46,
- "source": 1516,
- "pc": [
- 71
- ]
- },
- {
- "teal": 47,
- "source": 1516,
- "pc": [
- 72
- ]
- },
- {
- "teal": 53,
- "source": 1517,
- "pc": [
- 73
- ]
- },
- {
- "teal": 54,
- "source": 1517,
- "pc": [
- 74
- ]
- },
- {
- "teal": 55,
- "source": 1517,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 56,
- "source": 1517,
- "pc": [
- 85
- ]
- },
- {
- "teal": 60,
- "source": 1517,
- "pc": [
- 86
- ]
- },
- {
- "teal": 61,
- "source": 1517,
- "pc": [
- 87
- ]
- },
- {
- "teal": 62,
- "source": 1517,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 63,
- "source": 1517,
- "pc": [
- 90
- ]
- },
- {
- "teal": 64,
- "source": 1521,
- "pc": [
- 91
- ]
- },
- {
- "teal": 65,
- "source": 1514,
- "pc": [
- 92
- ]
- },
- {
- "teal": 68,
- "source": 1511,
- "pc": [
- 93
- ]
- },
- {
- "teal": 69,
- "source": 1511,
- "pc": [
- 94
- ]
- },
- {
- "teal": 72,
- "source": 1511,
- "pc": [
- 95,
- 96,
- 97,
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 73,
- "source": 1511,
- "pc": [
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 74,
- "source": 1511,
- "pc": [
- 104,
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 77,
- "source": 1511,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 108
- ]
- },
- {
- "teal": 80,
- "source": 1511,
- "pc": [
- 109,
- 110,
- 111,
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 81,
- "source": 1511,
- "pc": [
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 82,
- "source": 1511,
- "pc": [
- 118,
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 85,
- "source": 1511,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 122
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1511,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1511,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1511,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1511,
+ "pc": [
+ 18,
+ 19
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1511,
+ "pc": [
+ 20
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1511,
+ "pc": [
+ 21,
+ 22
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1511,
+ "pc": [
+ 23
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1511,
+ "pc": [
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1511,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1514,
+ "pc": [
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1514,
+ "pc": [
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1514,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1514,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1514,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1514,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1514,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1514,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1516,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1516,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1516,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1516,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1517,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1517,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1517,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1517,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1517,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1517,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1517,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1517,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1521,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1514,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1511,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1511,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1511,
+ "pc": [
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1511,
+ "pc": [
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1511,
+ "pc": [
+ 104,
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1511,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1511,
+ "pc": [
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1511,
+ "pc": [
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1511,
+ "pc": [
+ 118,
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1511,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 122
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZSgpdWludDY0CiphYmlfcm91dGVfYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCk6IHVpbnQ2NAphY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE2CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWludCAxMjAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE3CgkvLyB2YWwgPSB0aGlzLmJLZXkudmFsdWVbaV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE5CgkvLyB2YWwudTY0ID0gMQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJaW50IDAKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTIxCgkvLyByZXR1cm4gdmFsLnU2NDsKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWludCAwCglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZSgpdWludDY0CiphYmlfcm91dGVfYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCk6IHVpbnQ2NAphY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE2CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWludCAxMjAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE3CgkvLyB2YWwgPSB0aGlzLmJLZXkudmFsdWVbaV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE5CgkvLyB2YWwudTY0ID0gMQoJYnl0ZSAweDczNzQ2MTZiNjU3MjczIC8vICJzdGFrZXJzIgoJaW50IDAKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTIxCgkvLyByZXR1cm4gdmFsLnU2NDsKCWJ5dGUgMHg3Mzc0NjE2YjY1NzI3MyAvLyAic3Rha2VycyIKCWludCAwCglpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestAngularCasting.approval.teal b/tests/contracts/artifacts/ABITestAngularCasting.approval.teal
index 063b7b827..3f6ea1f5d 100644
--- a/tests/contracts/artifacts/ABITestAngularCasting.approval.teal
+++ b/tests/contracts/artifacts/ABITestAngularCasting.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestAngularCasting.arc32.json b/tests/contracts/artifacts/ABITestAngularCasting.arc32.json
index b6a868086..39ed24c0f 100644
--- a/tests/contracts/artifacts/ABITestAngularCasting.arc32.json
+++ b/tests/contracts/artifacts/ABITestAngularCasting.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbmd1bGFyQ2FzdGluZygpdWludDI1NgoqYWJpX3JvdXRlX2FuZ3VsYXJDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFuZ3VsYXJDYXN0aW5nKCl1aW50MjU2CgljYWxsc3ViIGFuZ3VsYXJDYXN0aW5nCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyBhbmd1bGFyQ2FzdGluZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFuZ3VsYXJDYXN0aW5nKCk6IHVpbnQyNTYKYW5ndWxhckNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDMzCgkvLyB4ID0gPHVpbnQyNTY+MTMzNwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MzkKCWZyYW1lX2J1cnkgMCAvLyB4OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMzUKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIDAgLy8geDogdWludDI1NgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYW5ndWxhckNhc3RpbmcoKXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FuZ3VsYXJDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbmd1bGFyQ2FzdGluZygpdWludDI1NgoqYWJpX3JvdXRlX2FuZ3VsYXJDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFuZ3VsYXJDYXN0aW5nKCl1aW50MjU2CgljYWxsc3ViIGFuZ3VsYXJDYXN0aW5nCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyBhbmd1bGFyQ2FzdGluZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFuZ3VsYXJDYXN0aW5nKCk6IHVpbnQyNTYKYW5ndWxhckNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDMzCgkvLyB4ID0gPHVpbnQyNTY+MTMzNwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MzkKCWZyYW1lX2J1cnkgMCAvLyB4OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMzUKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIDAgLy8geDogdWludDI1NgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYW5ndWxhckNhc3RpbmcoKXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FuZ3VsYXJDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestAngularCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestAngularCasting.arc56_draft.json
index cb2227868..14e57a055 100644
--- a/tests/contracts/artifacts/ABITestAngularCasting.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestAngularCasting.arc56_draft.json
@@ -60,469 +60,472 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1031,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1031,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1031,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1031,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1031,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1031,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1031,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1031,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1031,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1032,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1032,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1032,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1032,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1032,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 35,
- "source": 1032,
- "pc": [
- 54
- ]
- },
- {
- "teal": 38,
- "source": 1032,
- "errorMessage": "angularCasting return value overflowed 256 bits",
- "pc": [
- 55
- ]
- },
- {
- "teal": 39,
- "source": 1032,
- "pc": [
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 40,
- "source": 1032,
- "pc": [
- 90
- ]
- },
- {
- "teal": 41,
- "source": 1032,
- "pc": [
- 91
- ]
- },
- {
- "teal": 42,
- "source": 1032,
- "pc": [
- 92
- ]
- },
- {
- "teal": 43,
- "source": 1032,
- "pc": [
- 93
- ]
- },
- {
- "teal": 44,
- "source": 1032,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 45,
- "source": 1032,
- "pc": [
- 96
- ]
- },
- {
- "teal": 46,
- "source": 1032,
- "pc": [
- 97
- ]
- },
- {
- "teal": 47,
- "source": 1032,
- "pc": [
- 98
- ]
- },
- {
- "teal": 48,
- "source": 1032,
- "pc": [
- 99
- ]
- },
- {
- "teal": 49,
- "source": 1032,
- "pc": [
- 100
- ]
- },
- {
- "teal": 50,
- "source": 1032,
- "pc": [
- 101
- ]
- },
- {
- "teal": 51,
- "source": 1032,
- "pc": [
- 102
- ]
- },
- {
- "teal": 55,
- "source": 1032,
- "pc": [
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 58,
- "source": 1032,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 62,
- "source": 1033,
- "pc": [
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 63,
- "source": 1033,
- "pc": [
- 142,
- 143
- ]
- },
- {
- "teal": 67,
- "source": 1035,
- "pc": [
- 144,
- 145
- ]
- },
- {
- "teal": 70,
- "source": 1032,
- "pc": [
- 146,
- 147
- ]
- },
- {
- "teal": 71,
- "source": 1032,
- "pc": [
- 148
- ]
- },
- {
- "teal": 74,
- "source": 1031,
- "pc": [
- 149
- ]
- },
- {
- "teal": 75,
- "source": 1031,
- "pc": [
- 150
- ]
- },
- {
- "teal": 78,
- "source": 1031,
- "pc": [
- 151,
- 152,
- 153,
- 154,
- 155,
- 156
- ]
- },
- {
- "teal": 79,
- "source": 1031,
- "pc": [
- 157,
- 158,
- 159
- ]
- },
- {
- "teal": 80,
- "source": 1031,
- "pc": [
- 160,
- 161,
- 162,
- 163
- ]
- },
- {
- "teal": 83,
- "source": 1031,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 164
- ]
- },
- {
- "teal": 86,
- "source": 1031,
- "pc": [
- 165,
- 166,
- 167,
- 168,
- 169,
- 170
- ]
- },
- {
- "teal": 87,
- "source": 1031,
- "pc": [
- 171,
- 172,
- 173
- ]
- },
- {
- "teal": 88,
- "source": 1031,
- "pc": [
- 174,
- 175,
- 176,
- 177
- ]
- },
- {
- "teal": 91,
- "source": 1031,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 178
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1031,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1031,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1031,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1031,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1031,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1031,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1031,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1031,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1031,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1032,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1032,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1032,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1032,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1032,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1032,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1032,
+ "errorMessage": "angularCasting return value overflowed 256 bits",
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1032,
+ "pc": [
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1032,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1032,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1032,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1032,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1032,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1032,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1032,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1032,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1032,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1032,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1032,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1032,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1032,
+ "pc": [
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1032,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1033,
+ "pc": [
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1033,
+ "pc": [
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1035,
+ "pc": [
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1032,
+ "pc": [
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1032,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1031,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1031,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1031,
+ "pc": [
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1031,
+ "pc": [
+ 157,
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1031,
+ "pc": [
+ 160,
+ 161,
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1031,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1031,
+ "pc": [
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1031,
+ "pc": [
+ 171,
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1031,
+ "pc": [
+ 174,
+ 175,
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1031,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 178
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbmd1bGFyQ2FzdGluZygpdWludDI1NgoqYWJpX3JvdXRlX2FuZ3VsYXJDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFuZ3VsYXJDYXN0aW5nKCl1aW50MjU2CgljYWxsc3ViIGFuZ3VsYXJDYXN0aW5nCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyBhbmd1bGFyQ2FzdGluZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFuZ3VsYXJDYXN0aW5nKCk6IHVpbnQyNTYKYW5ndWxhckNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDMzCgkvLyB4ID0gPHVpbnQyNTY+MTMzNwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MzkKCWZyYW1lX2J1cnkgMCAvLyB4OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMzUKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIDAgLy8geDogdWludDI1NgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYW5ndWxhckNhc3RpbmcoKXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FuZ3VsYXJDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbmd1bGFyQ2FzdGluZygpdWludDI1NgoqYWJpX3JvdXRlX2FuZ3VsYXJDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFuZ3VsYXJDYXN0aW5nKCl1aW50MjU2CgljYWxsc3ViIGFuZ3VsYXJDYXN0aW5nCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyBhbmd1bGFyQ2FzdGluZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFuZ3VsYXJDYXN0aW5nKCk6IHVpbnQyNTYKYW5ndWxhckNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDMzCgkvLyB4ID0gPHVpbnQyNTY+MTMzNwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MzkKCWZyYW1lX2J1cnkgMCAvLyB4OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMzUKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIDAgLy8geDogdWludDI1NgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYW5ndWxhckNhc3RpbmcoKXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FuZ3VsYXJDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestArrayInMethodCall.approval.teal b/tests/contracts/artifacts/ABITestArrayInMethodCall.approval.teal
index 060ba1e84..d5e51bfda 100644
--- a/tests/contracts/artifacts/ABITestArrayInMethodCall.approval.teal
+++ b/tests/contracts/artifacts/ABITestArrayInMethodCall.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestArrayInMethodCall.arc32.json b/tests/contracts/artifacts/ABITestArrayInMethodCall.arc32.json
index 7b5626ae9..aea58f50a 100644
--- a/tests/contracts/artifacts/ABITestArrayInMethodCall.arc32.json
+++ b/tests/contracts/artifacts/ABITestArrayInMethodCall.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluTWV0aG9kQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FycmF5SW5NZXRob2RDYWxsOgoJLy8gZXhlY3V0ZSBhcnJheUluTWV0aG9kQ2FsbCgpdm9pZAoJY2FsbHN1YiBhcnJheUluTWV0aG9kQ2FsbAoJaW50IDEKCXJldHVybgoKLy8gYXJyYXlJbk1ldGhvZENhbGwoKTogdm9pZAphcnJheUluTWV0aG9kQ2FsbDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzkzCgkvLyBzZW5kTWV0aG9kQ2FsbDxbW3VpbnQ2NCwgdWludDY0XSwgQWRkcmVzcywgdWludDY0LCBib29sZWFuXSwgdm9pZD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKSwKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW1sxLCAyXSwgdGhpcy50eG4uc2VuZGVyLCAzLCBmYWxzZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImZvbygodWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsYm9vbCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM5NAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKQoJaW50IDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzk2CgkvLyBtZXRob2RBcmdzOiBbWzEsIDJdLCB0aGlzLnR4bi5zZW5kZXIsIDMsIGZhbHNlXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJaW50IDAKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5SW5NZXRob2RDYWxsKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluTWV0aG9kQ2FsbAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluTWV0aG9kQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FycmF5SW5NZXRob2RDYWxsOgoJLy8gZXhlY3V0ZSBhcnJheUluTWV0aG9kQ2FsbCgpdm9pZAoJY2FsbHN1YiBhcnJheUluTWV0aG9kQ2FsbAoJaW50IDEKCXJldHVybgoKLy8gYXJyYXlJbk1ldGhvZENhbGwoKTogdm9pZAphcnJheUluTWV0aG9kQ2FsbDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzkzCgkvLyBzZW5kTWV0aG9kQ2FsbDxbW3VpbnQ2NCwgdWludDY0XSwgQWRkcmVzcywgdWludDY0LCBib29sZWFuXSwgdm9pZD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKSwKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW1sxLCAyXSwgdGhpcy50eG4uc2VuZGVyLCAzLCBmYWxzZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImZvbygodWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsYm9vbCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM5NAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKQoJaW50IDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzk2CgkvLyBtZXRob2RBcmdzOiBbWzEsIDJdLCB0aGlzLnR4bi5zZW5kZXIsIDMsIGZhbHNlXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJaW50IDAKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5SW5NZXRob2RDYWxsKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluTWV0aG9kQ2FsbAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestArrayInMethodCall.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayInMethodCall.arc56_draft.json
index ceb3af094..fcc6098f7 100644
--- a/tests/contracts/artifacts/ABITestArrayInMethodCall.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestArrayInMethodCall.arc56_draft.json
@@ -60,434 +60,437 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1391,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 1391,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 1391,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 1391,
- "pc": [
- 9
- ]
- },
- {
- "teal": 16,
- "source": 1391,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 1391,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 1391,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 1391,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 1391,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 1392,
- "pc": [
- 41,
- 42,
- 43
- ]
- },
- {
- "teal": 29,
- "source": 1392,
- "pc": [
- 44
- ]
- },
- {
- "teal": 30,
- "source": 1392,
- "pc": [
- 45
- ]
- },
- {
- "teal": 34,
- "source": 1392,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 42,
- "source": 1393,
- "pc": [
- 49
- ]
- },
- {
- "teal": 43,
- "source": 1393,
- "pc": [
- 50
- ]
- },
- {
- "teal": 44,
- "source": 1393,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 45,
- "source": 1395,
- "pc": [
- 53,
- 54,
- 55,
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 46,
- "source": 1395,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 50,
- "source": 1394,
- "pc": [
- 61
- ]
- },
- {
- "teal": 51,
- "source": 1394,
- "pc": [
- 62,
- 63
- ]
- },
- {
- "teal": 55,
- "source": 1396,
- "pc": [
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 56,
- "source": 1396,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 57,
- "source": 1396,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 58,
- "source": 1396,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 59,
- "source": 1396,
- "pc": [
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 60,
- "source": 1396,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 61,
- "source": 1396,
- "pc": [
- 100
- ]
- },
- {
- "teal": 62,
- "source": 1396,
- "pc": [
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 63,
- "source": 1396,
- "pc": [
- 104
- ]
- },
- {
- "teal": 64,
- "source": 1396,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 65,
- "source": 1396,
- "pc": [
- 107
- ]
- },
- {
- "teal": 66,
- "source": 1396,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 69,
- "source": 1393,
- "pc": [
- 110
- ]
- },
- {
- "teal": 70,
- "source": 1393,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 73,
- "source": 1393,
- "pc": [
- 113
- ]
- },
- {
- "teal": 74,
- "source": 1392,
- "pc": [
- 114
- ]
- },
- {
- "teal": 77,
- "source": 1391,
- "pc": [
- 115
- ]
- },
- {
- "teal": 78,
- "source": 1391,
- "pc": [
- 116
- ]
- },
- {
- "teal": 81,
- "source": 1391,
- "pc": [
- 117,
- 118,
- 119,
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 82,
- "source": 1391,
- "pc": [
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 83,
- "source": 1391,
- "pc": [
- 126,
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 86,
- "source": 1391,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 130
- ]
- },
- {
- "teal": 89,
- "source": 1391,
- "pc": [
- 131,
- 132,
- 133,
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 90,
- "source": 1391,
- "pc": [
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 91,
- "source": 1391,
- "pc": [
- 140,
- 141,
- 142,
- 143
- ]
- },
- {
- "teal": 94,
- "source": 1391,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 144
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1391,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1391,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1391,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1391,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1391,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1391,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1391,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1391,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1391,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1392,
+ "pc": [
+ 41,
+ 42,
+ 43
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 1392,
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 1392,
+ "pc": [
+ 45
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1392,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1393,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1393,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1393,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1395,
+ "pc": [
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1395,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1394,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1394,
+ "pc": [
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1396,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1396,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1396,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1396,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1396,
+ "pc": [
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1396,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1396,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1396,
+ "pc": [
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1396,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1396,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1396,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1396,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1393,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1393,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1393,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1392,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1391,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1391,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1391,
+ "pc": [
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1391,
+ "pc": [
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1391,
+ "pc": [
+ 126,
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1391,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1391,
+ "pc": [
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1391,
+ "pc": [
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1391,
+ "pc": [
+ 140,
+ 141,
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1391,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 144
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluTWV0aG9kQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FycmF5SW5NZXRob2RDYWxsOgoJLy8gZXhlY3V0ZSBhcnJheUluTWV0aG9kQ2FsbCgpdm9pZAoJY2FsbHN1YiBhcnJheUluTWV0aG9kQ2FsbAoJaW50IDEKCXJldHVybgoKLy8gYXJyYXlJbk1ldGhvZENhbGwoKTogdm9pZAphcnJheUluTWV0aG9kQ2FsbDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzkzCgkvLyBzZW5kTWV0aG9kQ2FsbDxbW3VpbnQ2NCwgdWludDY0XSwgQWRkcmVzcywgdWludDY0LCBib29sZWFuXSwgdm9pZD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKSwKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW1sxLCAyXSwgdGhpcy50eG4uc2VuZGVyLCAzLCBmYWxzZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImZvbygodWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsYm9vbCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM5NAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKQoJaW50IDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzk2CgkvLyBtZXRob2RBcmdzOiBbWzEsIDJdLCB0aGlzLnR4bi5zZW5kZXIsIDMsIGZhbHNlXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJaW50IDAKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5SW5NZXRob2RDYWxsKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluTWV0aG9kQ2FsbAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluTWV0aG9kQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FycmF5SW5NZXRob2RDYWxsOgoJLy8gZXhlY3V0ZSBhcnJheUluTWV0aG9kQ2FsbCgpdm9pZAoJY2FsbHN1YiBhcnJheUluTWV0aG9kQ2FsbAoJaW50IDEKCXJldHVybgoKLy8gYXJyYXlJbk1ldGhvZENhbGwoKTogdm9pZAphcnJheUluTWV0aG9kQ2FsbDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzkzCgkvLyBzZW5kTWV0aG9kQ2FsbDxbW3VpbnQ2NCwgdWludDY0XSwgQWRkcmVzcywgdWludDY0LCBib29sZWFuXSwgdm9pZD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKSwKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW1sxLCAyXSwgdGhpcy50eG4uc2VuZGVyLCAzLCBmYWxzZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImZvbygodWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsYm9vbCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM5NAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKQoJaW50IDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzk2CgkvLyBtZXRob2RBcmdzOiBbWzEsIDJdLCB0aGlzLnR4bi5zZW5kZXIsIDMsIGZhbHNlXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJaW50IDAKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5SW5NZXRob2RDYWxsKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluTWV0aG9kQ2FsbAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestArrayInObjectInState.approval.teal b/tests/contracts/artifacts/ABITestArrayInObjectInState.approval.teal
index 46423dde5..cd7d66d76 100644
--- a/tests/contracts/artifacts/ABITestArrayInObjectInState.approval.teal
+++ b/tests/contracts/artifacts/ABITestArrayInObjectInState.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestArrayInObjectInState.arc32.json b/tests/contracts/artifacts/ABITestArrayInObjectInState.arc32.json
index 0b0f87da1..a9fbc5dd3 100644
--- a/tests/contracts/artifacts/ABITestArrayInObjectInState.arc32.json
+++ b/tests/contracts/artifacts/ABITestArrayInObjectInState.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluT2JqZWN0SW5TdGF0ZSgpdWludDY0CiphYmlfcm91dGVfYXJyYXlJbk9iamVjdEluU3RhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluT2JqZWN0SW5TdGF0ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5SW5PYmplY3RJblN0YXRlKCk6IHVpbnQ2NAphcnJheUluT2JqZWN0SW5TdGF0ZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc4CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHsgYmFyOiBbMSwgMl0gfQoJdHhuIFNlbmRlcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc5CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZS5iYXJbMV0gPSAzCgl0eG4gU2VuZGVyCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDMKCXJlcGxhY2UyIDgKCXR4biBTZW5kZXIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODAKCS8vIHJldHVybiB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZS5iYXJbMV07Cgl0eG4gU2VuZGVyCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5SW5PYmplY3RJblN0YXRlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5PYmplY3RJblN0YXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluT2JqZWN0SW5TdGF0ZSgpdWludDY0CiphYmlfcm91dGVfYXJyYXlJbk9iamVjdEluU3RhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluT2JqZWN0SW5TdGF0ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5SW5PYmplY3RJblN0YXRlKCk6IHVpbnQ2NAphcnJheUluT2JqZWN0SW5TdGF0ZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc4CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHsgYmFyOiBbMSwgMl0gfQoJdHhuIFNlbmRlcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc5CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZS5iYXJbMV0gPSAzCgl0eG4gU2VuZGVyCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDMKCXJlcGxhY2UyIDgKCXR4biBTZW5kZXIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODAKCS8vIHJldHVybiB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZS5iYXJbMV07Cgl0eG4gU2VuZGVyCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5SW5PYmplY3RJblN0YXRlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5PYmplY3RJblN0YXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestArrayInObjectInState.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayInObjectInState.arc56_draft.json
index d42846c84..f6940b24a 100644
--- a/tests/contracts/artifacts/ABITestArrayInObjectInState.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestArrayInObjectInState.arc56_draft.json
@@ -34,9 +34,12 @@
56
],
"structs": {
- "T2": {
- "bar": "uint64[2]"
- }
+ "T2": [
+ {
+ "name": "bar",
+ "type": "uint64[2]"
+ }
+ ]
},
"state": {
"schema": {
@@ -69,400 +72,403 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1074,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1074,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1074,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1074,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1074,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1074,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1074,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1074,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1074,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1077,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1077,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1077,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1077,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1077,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1077,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 1077,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 1077,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 44,
- "source": 1078,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 45,
- "source": 1078,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76
- ]
- },
- {
- "teal": 46,
- "source": 1078,
- "pc": [
- 77
- ]
- },
- {
- "teal": 50,
- "source": 1079,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 51,
- "source": 1079,
- "pc": [
- 80
- ]
- },
- {
- "teal": 52,
- "source": 1079,
- "pc": [
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 53,
- "source": 1079,
- "pc": [
- 91,
- 92
- ]
- },
- {
- "teal": 54,
- "source": 1079,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 55,
- "source": 1079,
- "pc": [
- 95
- ]
- },
- {
- "teal": 56,
- "source": 1079,
- "pc": [
- 96
- ]
- },
- {
- "teal": 60,
- "source": 1080,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 61,
- "source": 1080,
- "pc": [
- 99
- ]
- },
- {
- "teal": 62,
- "source": 1080,
- "pc": [
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 63,
- "source": 1080,
- "pc": [
- 103
- ]
- },
- {
- "teal": 64,
- "source": 1077,
- "pc": [
- 104
- ]
- },
- {
- "teal": 67,
- "source": 1074,
- "pc": [
- 105
- ]
- },
- {
- "teal": 68,
- "source": 1074,
- "pc": [
- 106
- ]
- },
- {
- "teal": 71,
- "source": 1074,
- "pc": [
- 107,
- 108,
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 72,
- "source": 1074,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 73,
- "source": 1074,
- "pc": [
- 116,
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 76,
- "source": 1074,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 120
- ]
- },
- {
- "teal": 79,
- "source": 1074,
- "pc": [
- 121,
- 122,
- 123,
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 80,
- "source": 1074,
- "pc": [
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 81,
- "source": 1074,
- "pc": [
- 130,
- 131,
- 132,
- 133
- ]
- },
- {
- "teal": 84,
- "source": 1074,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 134
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1074,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1074,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1074,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1074,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1074,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1074,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1074,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1074,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1074,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1077,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1077,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1077,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1077,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1077,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1077,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1077,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1077,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1078,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1078,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1078,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1079,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1079,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1079,
+ "pc": [
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1079,
+ "pc": [
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1079,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1079,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1079,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1080,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1080,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1080,
+ "pc": [
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1080,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1077,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1074,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1074,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1074,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1074,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1074,
+ "pc": [
+ 116,
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1074,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1074,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1074,
+ "pc": [
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1074,
+ "pc": [
+ 130,
+ 131,
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1074,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 134
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluT2JqZWN0SW5TdGF0ZSgpdWludDY0CiphYmlfcm91dGVfYXJyYXlJbk9iamVjdEluU3RhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluT2JqZWN0SW5TdGF0ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5SW5PYmplY3RJblN0YXRlKCk6IHVpbnQ2NAphcnJheUluT2JqZWN0SW5TdGF0ZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc4CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHsgYmFyOiBbMSwgMl0gfQoJdHhuIFNlbmRlcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc5CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZS5iYXJbMV0gPSAzCgl0eG4gU2VuZGVyCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDMKCXJlcGxhY2UyIDgKCXR4biBTZW5kZXIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODAKCS8vIHJldHVybiB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZS5iYXJbMV07Cgl0eG4gU2VuZGVyCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5SW5PYmplY3RJblN0YXRlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5PYmplY3RJblN0YXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluT2JqZWN0SW5TdGF0ZSgpdWludDY0CiphYmlfcm91dGVfYXJyYXlJbk9iamVjdEluU3RhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluT2JqZWN0SW5TdGF0ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5SW5PYmplY3RJblN0YXRlKCk6IHVpbnQ2NAphcnJheUluT2JqZWN0SW5TdGF0ZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc4CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHsgYmFyOiBbMSwgMl0gfQoJdHhuIFNlbmRlcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc5CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZS5iYXJbMV0gPSAzCgl0eG4gU2VuZGVyCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDMKCXJlcGxhY2UyIDgKCXR4biBTZW5kZXIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODAKCS8vIHJldHVybiB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZS5iYXJbMV07Cgl0eG4gU2VuZGVyCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5SW5PYmplY3RJblN0YXRlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5PYmplY3RJblN0YXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestArrayInTuple.approval.teal b/tests/contracts/artifacts/ABITestArrayInTuple.approval.teal
index 40ece9817..e8e21e69a 100644
--- a/tests/contracts/artifacts/ABITestArrayInTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestArrayInTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestArrayInTuple.arc32.json b/tests/contracts/artifacts/ABITestArrayInTuple.arc32.json
index 2b760df35..a0e8d1447 100644
--- a/tests/contracts/artifacts/ABITestArrayInTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestArrayInTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluVHVwbGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcnJheUluVHVwbGUoKTogdWludDY0CmFycmF5SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI2NQoJLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdID0gWzExLCAyMiwgWzMzLCA0NF0sIDU1XQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDM3CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI2NwoJLy8gcmV0dXJuIGFbMl1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIHVpbnQxNl0KCWV4dHJhY3QgMTggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYXJyYXlJblR1cGxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluVHVwbGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcnJheUluVHVwbGUoKTogdWludDY0CmFycmF5SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI2NQoJLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdID0gWzExLCAyMiwgWzMzLCA0NF0sIDU1XQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDM3CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI2NwoJLy8gcmV0dXJuIGFbMl1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIHVpbnQxNl0KCWV4dHJhY3QgMTggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYXJyYXlJblR1cGxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestArrayInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayInTuple.arc56_draft.json
index 8da441985..824ee0c20 100644
--- a/tests/contracts/artifacts/ABITestArrayInTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestArrayInTuple.arc56_draft.json
@@ -60,353 +60,356 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 263,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 263,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 263,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 263,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 263,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 263,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 263,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 263,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 263,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 264,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 264,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 264,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 264,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 264,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 264,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 264,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 264,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 264,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 265,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 48,
- "source": 265,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 52,
- "source": 267,
- "pc": [
- 91,
- 92
- ]
- },
- {
- "teal": 53,
- "source": 267,
- "pc": [
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 54,
- "source": 267,
- "pc": [
- 96
- ]
- },
- {
- "teal": 57,
- "source": 264,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 58,
- "source": 264,
- "pc": [
- 99
- ]
- },
- {
- "teal": 61,
- "source": 263,
- "pc": [
- 100
- ]
- },
- {
- "teal": 62,
- "source": 263,
- "pc": [
- 101
- ]
- },
- {
- "teal": 65,
- "source": 263,
- "pc": [
- 102,
- 103,
- 104,
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 66,
- "source": 263,
- "pc": [
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 67,
- "source": 263,
- "pc": [
- 111,
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 70,
- "source": 263,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 115
- ]
- },
- {
- "teal": 73,
- "source": 263,
- "pc": [
- 116,
- 117,
- 118,
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 74,
- "source": 263,
- "pc": [
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 75,
- "source": 263,
- "pc": [
- 125,
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 78,
- "source": 263,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 129
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 263,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 263,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 263,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 263,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 263,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 263,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 263,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 263,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 263,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 264,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 264,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 264,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 264,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 264,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 264,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 264,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 264,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 264,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 265,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 265,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 267,
+ "pc": [
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 267,
+ "pc": [
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 267,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 264,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 264,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 263,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 263,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 263,
+ "pc": [
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 263,
+ "pc": [
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 263,
+ "pc": [
+ 111,
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 263,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 263,
+ "pc": [
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 263,
+ "pc": [
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 263,
+ "pc": [
+ 125,
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 263,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 129
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluVHVwbGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcnJheUluVHVwbGUoKTogdWludDY0CmFycmF5SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI2NQoJLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdID0gWzExLCAyMiwgWzMzLCA0NF0sIDU1XQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDM3CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI2NwoJLy8gcmV0dXJuIGFbMl1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIHVpbnQxNl0KCWV4dHJhY3QgMTggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYXJyYXlJblR1cGxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUluVHVwbGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcnJheUluVHVwbGUoKTogdWludDY0CmFycmF5SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI2NQoJLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdID0gWzExLCAyMiwgWzMzLCA0NF0sIDU1XQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDM3CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI2NwoJLy8gcmV0dXJuIGFbMl1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIHVpbnQxNl0KCWV4dHJhY3QgMTggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYXJyYXlJblR1cGxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestArrayLength.approval.teal b/tests/contracts/artifacts/ABITestArrayLength.approval.teal
index 7e45b4e65..776e4509f 100644
--- a/tests/contracts/artifacts/ABITestArrayLength.approval.teal
+++ b/tests/contracts/artifacts/ABITestArrayLength.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestArrayLength.arc32.json b/tests/contracts/artifacts/ABITestArrayLength.arc32.json
index 77965e044..72539f185 100644
--- a/tests/contracts/artifacts/ABITestArrayLength.arc32.json
+++ b/tests/contracts/artifacts/ABITestArrayLength.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfYXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5TGVuZ3RoKCk6IHVpbnQ2NAphcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjczNQoJLy8gYTogdWludDw4PltdID0gWzExLCAyMiwgMzMsIDQ0LCA1NV0KCWJ5dGUgMHgwYjE2MjEyYzM3CglmcmFtZV9idXJ5IDAgLy8gYTogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjczNwoJLy8gcmV0dXJuIGEubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDw4PltdCglsZW4KCWludCAxCgkvCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheUxlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfYXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5TGVuZ3RoKCk6IHVpbnQ2NAphcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjczNQoJLy8gYTogdWludDw4PltdID0gWzExLCAyMiwgMzMsIDQ0LCA1NV0KCWJ5dGUgMHgwYjE2MjEyYzM3CglmcmFtZV9idXJ5IDAgLy8gYTogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjczNwoJLy8gcmV0dXJuIGEubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDw4PltdCglsZW4KCWludCAxCgkvCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheUxlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestArrayLength.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayLength.arc56_draft.json
index 6bddbd7f7..cd4bb9890 100644
--- a/tests/contracts/artifacts/ABITestArrayLength.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestArrayLength.arc56_draft.json
@@ -60,335 +60,338 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 733,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 733,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 733,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 733,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 733,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 733,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 733,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 733,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 733,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 734,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 734,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 734,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 734,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 734,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 734,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 734,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 734,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 734,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 735,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 48,
- "source": 735,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 52,
- "source": 737,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 53,
- "source": 737,
- "pc": [
- 70
- ]
- },
- {
- "teal": 54,
- "source": 737,
- "pc": [
- 71
- ]
- },
- {
- "teal": 55,
- "source": 737,
- "pc": [
- 72
- ]
- },
- {
- "teal": 58,
- "source": 734,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 59,
- "source": 734,
- "pc": [
- 75
- ]
- },
- {
- "teal": 62,
- "source": 733,
- "pc": [
- 76
- ]
- },
- {
- "teal": 63,
- "source": 733,
- "pc": [
- 77
- ]
- },
- {
- "teal": 66,
- "source": 733,
- "pc": [
- 78,
- 79,
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 67,
- "source": 733,
- "pc": [
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 68,
- "source": 733,
- "pc": [
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 71,
- "source": 733,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 91
- ]
- },
- {
- "teal": 74,
- "source": 733,
- "pc": [
- 92,
- 93,
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 75,
- "source": 733,
- "pc": [
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 76,
- "source": 733,
- "pc": [
- 101,
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 79,
- "source": 733,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 105
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 733,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 733,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 733,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 733,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 733,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 733,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 733,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 733,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 733,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 734,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 734,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 734,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 734,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 734,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 734,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 734,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 734,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 734,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 735,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 735,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 737,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 737,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 737,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 737,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 734,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 734,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 733,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 733,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 733,
+ "pc": [
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 733,
+ "pc": [
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 733,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 733,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 733,
+ "pc": [
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 733,
+ "pc": [
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 733,
+ "pc": [
+ 101,
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 733,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 105
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfYXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5TGVuZ3RoKCk6IHVpbnQ2NAphcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjczNQoJLy8gYTogdWludDw4PltdID0gWzExLCAyMiwgMzMsIDQ0LCA1NV0KCWJ5dGUgMHgwYjE2MjEyYzM3CglmcmFtZV9idXJ5IDAgLy8gYTogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjczNwoJLy8gcmV0dXJuIGEubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDw4PltdCglsZW4KCWludCAxCgkvCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheUxlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfYXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5TGVuZ3RoKCk6IHVpbnQ2NAphcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjczNQoJLy8gYTogdWludDw4PltdID0gWzExLCAyMiwgMzMsIDQ0LCA1NV0KCWJ5dGUgMHgwYjE2MjEyYzM3CglmcmFtZV9idXJ5IDAgLy8gYTogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjczNwoJLy8gcmV0dXJuIGEubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDw4PltdCglsZW4KCWludCAxCgkvCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheUxlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestArrayPop.approval.teal b/tests/contracts/artifacts/ABITestArrayPop.approval.teal
index f75aeec1d..2d546af6e 100644
--- a/tests/contracts/artifacts/ABITestArrayPop.approval.teal
+++ b/tests/contracts/artifacts/ABITestArrayPop.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestArrayPop.arc32.json b/tests/contracts/artifacts/ABITestArrayPop.arc32.json
index 95bde9adb..6f3b64b83 100644
--- a/tests/contracts/artifacts/ABITestArrayPop.arc32.json
+++ b/tests/contracts/artifacts/ABITestArrayPop.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcCgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVBvcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVBvcCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQb3AKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UG9wKCk6IHVpbnQxNltdCmFycmF5UG9wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDM5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MQoJLy8gYS5wb3AoKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLQoJaW50IDAKCXN3YXAKCWV4dHJhY3QzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQzCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVBvcCgpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UG9wCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcCgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVBvcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVBvcCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQb3AKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UG9wKCk6IHVpbnQxNltdCmFycmF5UG9wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDM5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MQoJLy8gYS5wb3AoKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLQoJaW50IDAKCXN3YXAKCWV4dHJhY3QzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQzCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVBvcCgpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UG9wCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestArrayPop.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayPop.arc56_draft.json
index e145e07e1..a5c3d668a 100644
--- a/tests/contracts/artifacts/ABITestArrayPop.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestArrayPop.arc56_draft.json
@@ -60,433 +60,436 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 437,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4
- ]
- },
- {
- "teal": 13,
- "source": 437,
- "pc": [
- 5,
- 6
- ]
- },
- {
- "teal": 14,
- "source": 437,
- "pc": [
- 7
- ]
- },
- {
- "teal": 15,
- "source": 437,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 16,
- "source": 437,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 437,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 437,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 437,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 437,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 438,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 438,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 32,
- "source": 438,
- "pc": [
- 50
- ]
- },
- {
- "teal": 33,
- "source": 438,
- "pc": [
- 51
- ]
- },
- {
- "teal": 34,
- "source": 438,
- "pc": [
- 52
- ]
- },
- {
- "teal": 35,
- "source": 438,
- "pc": [
- 53
- ]
- },
- {
- "teal": 36,
- "source": 438,
- "pc": [
- 54
- ]
- },
- {
- "teal": 37,
- "source": 438,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 38,
- "source": 438,
- "pc": [
- 58
- ]
- },
- {
- "teal": 39,
- "source": 438,
- "pc": [
- 59
- ]
- },
- {
- "teal": 40,
- "source": 438,
- "pc": [
- 60
- ]
- },
- {
- "teal": 41,
- "source": 438,
- "pc": [
- 61
- ]
- },
- {
- "teal": 42,
- "source": 438,
- "pc": [
- 62
- ]
- },
- {
- "teal": 43,
- "source": 438,
- "pc": [
- 63
- ]
- },
- {
- "teal": 47,
- "source": 438,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 50,
- "source": 438,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 54,
- "source": 439,
- "pc": [
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76
- ]
- },
- {
- "teal": 55,
- "source": 439,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 59,
- "source": 441,
- "pc": [
- 79,
- 80
- ]
- },
- {
- "teal": 60,
- "source": 441,
- "pc": [
- 81
- ]
- },
- {
- "teal": 61,
- "source": 441,
- "pc": [
- 82
- ]
- },
- {
- "teal": 62,
- "source": 441,
- "pc": [
- 83
- ]
- },
- {
- "teal": 63,
- "source": 441,
- "pc": [
- 84
- ]
- },
- {
- "teal": 64,
- "source": 441,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 65,
- "source": 441,
- "pc": [
- 87
- ]
- },
- {
- "teal": 66,
- "source": 441,
- "pc": [
- 88
- ]
- },
- {
- "teal": 67,
- "source": 441,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 71,
- "source": 443,
- "pc": [
- 91,
- 92
- ]
- },
- {
- "teal": 74,
- "source": 438,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 75,
- "source": 438,
- "pc": [
- 95
- ]
- },
- {
- "teal": 78,
- "source": 437,
- "pc": [
- 96
- ]
- },
- {
- "teal": 79,
- "source": 437,
- "pc": [
- 97
- ]
- },
- {
- "teal": 82,
- "source": 437,
- "pc": [
- 98,
- 99,
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 83,
- "source": 437,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 84,
- "source": 437,
- "pc": [
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 87,
- "source": 437,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 111
- ]
- },
- {
- "teal": 90,
- "source": 437,
- "pc": [
- 112,
- 113,
- 114,
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 91,
- "source": 437,
- "pc": [
- 118,
- 119,
- 120
- ]
- },
- {
- "teal": 92,
- "source": 437,
- "pc": [
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 95,
- "source": 437,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 125
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 437,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 437,
+ "pc": [
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 437,
+ "pc": [
+ 7
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 437,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 437,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 437,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 437,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 437,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 437,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 438,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 438,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 438,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 438,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 438,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 438,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 438,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 438,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 438,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 438,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 438,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 438,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 438,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 438,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 438,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 438,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 439,
+ "pc": [
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 439,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 441,
+ "pc": [
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 441,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 441,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 441,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 441,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 441,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 441,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 441,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 441,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 443,
+ "pc": [
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 438,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 438,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 437,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 437,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 437,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 437,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 437,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 437,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 437,
+ "pc": [
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 437,
+ "pc": [
+ 118,
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 437,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 437,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 125
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcCgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVBvcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVBvcCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQb3AKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UG9wKCk6IHVpbnQxNltdCmFycmF5UG9wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDM5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MQoJLy8gYS5wb3AoKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLQoJaW50IDAKCXN3YXAKCWV4dHJhY3QzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQzCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVBvcCgpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UG9wCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcCgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVBvcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVBvcCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQb3AKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UG9wKCk6IHVpbnQxNltdCmFycmF5UG9wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDM5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MQoJLy8gYS5wb3AoKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLQoJaW50IDAKCXN3YXAKCWV4dHJhY3QzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQzCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVBvcCgpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UG9wCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestArrayPopValue.approval.teal b/tests/contracts/artifacts/ABITestArrayPopValue.approval.teal
index 97d7352d2..0104e775a 100644
--- a/tests/contracts/artifacts/ABITestArrayPopValue.approval.teal
+++ b/tests/contracts/artifacts/ABITestArrayPopValue.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestArrayPopValue.arc32.json b/tests/contracts/artifacts/ABITestArrayPopValue.arc32.json
index 6c6529ab3..f64438860 100644
--- a/tests/contracts/artifacts/ABITestArrayPopValue.arc32.json
+++ b/tests/contracts/artifacts/ABITestArrayPopValue.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcFZhbHVlKCl1aW50MTYKKmFiaV9yb3V0ZV9hcnJheVBvcFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UG9wVmFsdWUoKXVpbnQxNgoJY2FsbHN1YiBhcnJheVBvcFZhbHVlCglpdG9iCglkdXAKCWJpdGxlbgoJaW50IDE2Cgk8PQoKCS8vIGFycmF5UG9wVmFsdWUgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UG9wVmFsdWUoKTogdWludDE2CmFycmF5UG9wVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0OQoJLy8gYTogdWludDE2W10gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NTEKCS8vIHYgPSBhLnBvcCgpIQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLQoJaW50IDAKCXN3YXAKCWV4dHJhY3QzCglkdXAKCWxlbgoJaW50IDIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCgljb3ZlciAyCglleHRyYWN0MwoJc3dhcAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCglidG9pCglmcmFtZV9idXJ5IDEgLy8gdjogdWludDE2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1MwoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTYKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVBvcFZhbHVlKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UG9wVmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcFZhbHVlKCl1aW50MTYKKmFiaV9yb3V0ZV9hcnJheVBvcFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UG9wVmFsdWUoKXVpbnQxNgoJY2FsbHN1YiBhcnJheVBvcFZhbHVlCglpdG9iCglkdXAKCWJpdGxlbgoJaW50IDE2Cgk8PQoKCS8vIGFycmF5UG9wVmFsdWUgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UG9wVmFsdWUoKTogdWludDE2CmFycmF5UG9wVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0OQoJLy8gYTogdWludDE2W10gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NTEKCS8vIHYgPSBhLnBvcCgpIQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLQoJaW50IDAKCXN3YXAKCWV4dHJhY3QzCglkdXAKCWxlbgoJaW50IDIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCgljb3ZlciAyCglleHRyYWN0MwoJc3dhcAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCglidG9pCglmcmFtZV9idXJ5IDEgLy8gdjogdWludDE2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1MwoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTYKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVBvcFZhbHVlKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UG9wVmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestArrayPopValue.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayPopValue.arc56_draft.json
index 019ec9279..fd7ed7552 100644
--- a/tests/contracts/artifacts/ABITestArrayPopValue.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestArrayPopValue.arc56_draft.json
@@ -60,509 +60,512 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 447,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4
- ]
- },
- {
- "teal": 13,
- "source": 447,
- "pc": [
- 5,
- 6
- ]
- },
- {
- "teal": 14,
- "source": 447,
- "pc": [
- 7
- ]
- },
- {
- "teal": 15,
- "source": 447,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 16,
- "source": 447,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 447,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 447,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 447,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 447,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 448,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 448,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 32,
- "source": 448,
- "pc": [
- 50
- ]
- },
- {
- "teal": 33,
- "source": 448,
- "pc": [
- 51
- ]
- },
- {
- "teal": 34,
- "source": 448,
- "pc": [
- 52
- ]
- },
- {
- "teal": 35,
- "source": 448,
- "pc": [
- 53,
- 54
- ]
- },
- {
- "teal": 36,
- "source": 448,
- "pc": [
- 55
- ]
- },
- {
- "teal": 39,
- "source": 448,
- "errorMessage": "arrayPopValue return value overflowed 16 bits",
- "pc": [
- 56
- ]
- },
- {
- "teal": 40,
- "source": 448,
- "pc": [
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 41,
- "source": 448,
- "pc": [
- 60
- ]
- },
- {
- "teal": 42,
- "source": 448,
- "pc": [
- 61
- ]
- },
- {
- "teal": 43,
- "source": 448,
- "pc": [
- 62
- ]
- },
- {
- "teal": 44,
- "source": 448,
- "pc": [
- 63
- ]
- },
- {
- "teal": 48,
- "source": 448,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 51,
- "source": 448,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 52,
- "source": 448,
- "pc": [
- 69
- ]
- },
- {
- "teal": 56,
- "source": 449,
- "pc": [
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 57,
- "source": 449,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 61,
- "source": 451,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 62,
- "source": 451,
- "pc": [
- 82
- ]
- },
- {
- "teal": 63,
- "source": 451,
- "pc": [
- 83
- ]
- },
- {
- "teal": 64,
- "source": 451,
- "pc": [
- 84
- ]
- },
- {
- "teal": 65,
- "source": 451,
- "pc": [
- 85
- ]
- },
- {
- "teal": 66,
- "source": 451,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 67,
- "source": 451,
- "pc": [
- 88
- ]
- },
- {
- "teal": 68,
- "source": 451,
- "pc": [
- 89
- ]
- },
- {
- "teal": 69,
- "source": 451,
- "pc": [
- 90
- ]
- },
- {
- "teal": 70,
- "source": 451,
- "pc": [
- 91
- ]
- },
- {
- "teal": 71,
- "source": 451,
- "pc": [
- 92
- ]
- },
- {
- "teal": 72,
- "source": 451,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 73,
- "source": 451,
- "pc": [
- 95,
- 96
- ]
- },
- {
- "teal": 74,
- "source": 451,
- "pc": [
- 97
- ]
- },
- {
- "teal": 75,
- "source": 451,
- "pc": [
- 98
- ]
- },
- {
- "teal": 76,
- "source": 451,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 77,
- "source": 451,
- "pc": [
- 101
- ]
- },
- {
- "teal": 78,
- "source": 451,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 82,
- "source": 453,
- "pc": [
- 104,
- 105
- ]
- },
- {
- "teal": 85,
- "source": 448,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 88,
- "source": 448,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 89,
- "source": 448,
- "pc": [
- 110
- ]
- },
- {
- "teal": 92,
- "source": 447,
- "pc": [
- 111
- ]
- },
- {
- "teal": 93,
- "source": 447,
- "pc": [
- 112
- ]
- },
- {
- "teal": 96,
- "source": 447,
- "pc": [
- 113,
- 114,
- 115,
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 97,
- "source": 447,
- "pc": [
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 98,
- "source": 447,
- "pc": [
- 122,
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 101,
- "source": 447,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 126
- ]
- },
- {
- "teal": 104,
- "source": 447,
- "pc": [
- 127,
- 128,
- 129,
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 105,
- "source": 447,
- "pc": [
- 133,
- 134,
- 135
- ]
- },
- {
- "teal": 106,
- "source": 447,
- "pc": [
- 136,
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 109,
- "source": 447,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 140
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 447,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 447,
+ "pc": [
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 447,
+ "pc": [
+ 7
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 447,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 447,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 447,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 447,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 447,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 447,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 448,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 448,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 448,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 448,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 448,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 448,
+ "pc": [
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 448,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 448,
+ "errorMessage": "arrayPopValue return value overflowed 16 bits",
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 448,
+ "pc": [
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 448,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 448,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 448,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 448,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 448,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 448,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 448,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 449,
+ "pc": [
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 449,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 451,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 451,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 451,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 451,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 451,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 451,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 451,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 451,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 451,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 451,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 451,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 451,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 451,
+ "pc": [
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 451,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 451,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 451,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 451,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 451,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 453,
+ "pc": [
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 448,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 448,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 448,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 447,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 447,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 447,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 447,
+ "pc": [
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 447,
+ "pc": [
+ 122,
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 447,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 447,
+ "pc": [
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 447,
+ "pc": [
+ 133,
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 447,
+ "pc": [
+ 136,
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 447,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 140
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcFZhbHVlKCl1aW50MTYKKmFiaV9yb3V0ZV9hcnJheVBvcFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UG9wVmFsdWUoKXVpbnQxNgoJY2FsbHN1YiBhcnJheVBvcFZhbHVlCglpdG9iCglkdXAKCWJpdGxlbgoJaW50IDE2Cgk8PQoKCS8vIGFycmF5UG9wVmFsdWUgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UG9wVmFsdWUoKTogdWludDE2CmFycmF5UG9wVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0OQoJLy8gYTogdWludDE2W10gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NTEKCS8vIHYgPSBhLnBvcCgpIQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLQoJaW50IDAKCXN3YXAKCWV4dHJhY3QzCglkdXAKCWxlbgoJaW50IDIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCgljb3ZlciAyCglleHRyYWN0MwoJc3dhcAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCglidG9pCglmcmFtZV9idXJ5IDEgLy8gdjogdWludDE2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1MwoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTYKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVBvcFZhbHVlKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UG9wVmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcFZhbHVlKCl1aW50MTYKKmFiaV9yb3V0ZV9hcnJheVBvcFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UG9wVmFsdWUoKXVpbnQxNgoJY2FsbHN1YiBhcnJheVBvcFZhbHVlCglpdG9iCglkdXAKCWJpdGxlbgoJaW50IDE2Cgk8PQoKCS8vIGFycmF5UG9wVmFsdWUgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UG9wVmFsdWUoKTogdWludDE2CmFycmF5UG9wVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0OQoJLy8gYTogdWludDE2W10gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NTEKCS8vIHYgPSBhLnBvcCgpIQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLQoJaW50IDAKCXN3YXAKCWV4dHJhY3QzCglkdXAKCWxlbgoJaW50IDIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCgljb3ZlciAyCglleHRyYWN0MwoJc3dhcAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCglidG9pCglmcmFtZV9idXJ5IDEgLy8gdjogdWludDE2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1MwoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTYKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVBvcFZhbHVlKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UG9wVmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestArrayPush.approval.teal b/tests/contracts/artifacts/ABITestArrayPush.approval.teal
index 03891591a..5d66148ba 100644
--- a/tests/contracts/artifacts/ABITestArrayPush.approval.teal
+++ b/tests/contracts/artifacts/ABITestArrayPush.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestArrayPush.arc32.json b/tests/contracts/artifacts/ABITestArrayPush.arc32.json
index e2899154c..916a87a98 100644
--- a/tests/contracts/artifacts/ABITestArrayPush.arc32.json
+++ b/tests/contracts/artifacts/ABITestArrayPush.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVB1c2goKXVpbnQxNltdCiphYmlfcm91dGVfYXJyYXlQdXNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UHVzaCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQdXNoCglkdXAKCWxlbgoJaW50IDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcnJheVB1c2goKTogdWludDE2W10KYXJyYXlQdXNoOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDI5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyXQoJYnl0ZSAweDAwMDEwMDAyCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDMxCgkvLyBhLnB1c2goMyBhcyB1aW50MTYpCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJYnl0ZSAweDAwMDMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYXJyYXlQdXNoKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlQdXNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVB1c2goKXVpbnQxNltdCiphYmlfcm91dGVfYXJyYXlQdXNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UHVzaCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQdXNoCglkdXAKCWxlbgoJaW50IDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcnJheVB1c2goKTogdWludDE2W10KYXJyYXlQdXNoOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDI5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyXQoJYnl0ZSAweDAwMDEwMDAyCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDMxCgkvLyBhLnB1c2goMyBhcyB1aW50MTYpCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJYnl0ZSAweDAwMDMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYXJyYXlQdXNoKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlQdXNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestArrayPush.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayPush.arc56_draft.json
index 4cd36fc58..74634b70e 100644
--- a/tests/contracts/artifacts/ABITestArrayPush.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestArrayPush.arc56_draft.json
@@ -60,398 +60,401 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 427,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 427,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 427,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 427,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 427,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 427,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 427,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 427,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 427,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 428,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 428,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 428,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 428,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 428,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 428,
- "pc": [
- 53
- ]
- },
- {
- "teal": 36,
- "source": 428,
- "pc": [
- 54
- ]
- },
- {
- "teal": 37,
- "source": 428,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 38,
- "source": 428,
- "pc": [
- 58
- ]
- },
- {
- "teal": 39,
- "source": 428,
- "pc": [
- 59
- ]
- },
- {
- "teal": 40,
- "source": 428,
- "pc": [
- 60
- ]
- },
- {
- "teal": 41,
- "source": 428,
- "pc": [
- 61
- ]
- },
- {
- "teal": 42,
- "source": 428,
- "pc": [
- 62
- ]
- },
- {
- "teal": 43,
- "source": 428,
- "pc": [
- 63
- ]
- },
- {
- "teal": 47,
- "source": 428,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 50,
- "source": 428,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 54,
- "source": 429,
- "pc": [
- 69,
- 70,
- 71,
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 55,
- "source": 429,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 59,
- "source": 431,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 60,
- "source": 431,
- "pc": [
- 79,
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 61,
- "source": 431,
- "pc": [
- 83
- ]
- },
- {
- "teal": 62,
- "source": 431,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 66,
- "source": 433,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 69,
- "source": 428,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 70,
- "source": 428,
- "pc": [
- 90
- ]
- },
- {
- "teal": 73,
- "source": 427,
- "pc": [
- 91
- ]
- },
- {
- "teal": 74,
- "source": 427,
- "pc": [
- 92
- ]
- },
- {
- "teal": 77,
- "source": 427,
- "pc": [
- 93,
- 94,
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 78,
- "source": 427,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 79,
- "source": 427,
- "pc": [
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 82,
- "source": 427,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 106
- ]
- },
- {
- "teal": 85,
- "source": 427,
- "pc": [
- 107,
- 108,
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 86,
- "source": 427,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 87,
- "source": 427,
- "pc": [
- 116,
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 90,
- "source": 427,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 120
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 427,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 427,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 427,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 427,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 427,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 427,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 427,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 427,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 427,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 428,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 428,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 428,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 428,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 428,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 428,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 428,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 428,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 428,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 428,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 428,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 428,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 428,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 428,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 428,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 428,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 429,
+ "pc": [
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 429,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 431,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 431,
+ "pc": [
+ 79,
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 431,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 431,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 433,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 428,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 428,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 427,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 427,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 427,
+ "pc": [
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 427,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 427,
+ "pc": [
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 427,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 427,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 427,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 427,
+ "pc": [
+ 116,
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 427,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 120
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVB1c2goKXVpbnQxNltdCiphYmlfcm91dGVfYXJyYXlQdXNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UHVzaCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQdXNoCglkdXAKCWxlbgoJaW50IDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcnJheVB1c2goKTogdWludDE2W10KYXJyYXlQdXNoOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDI5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyXQoJYnl0ZSAweDAwMDEwMDAyCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDMxCgkvLyBhLnB1c2goMyBhcyB1aW50MTYpCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJYnl0ZSAweDAwMDMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYXJyYXlQdXNoKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlQdXNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVB1c2goKXVpbnQxNltdCiphYmlfcm91dGVfYXJyYXlQdXNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UHVzaCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQdXNoCglkdXAKCWxlbgoJaW50IDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhcnJheVB1c2goKTogdWludDE2W10KYXJyYXlQdXNoOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDI5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyXQoJYnl0ZSAweDAwMDEwMDAyCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDMxCgkvLyBhLnB1c2goMyBhcyB1aW50MTYpCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJYnl0ZSAweDAwMDMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYXJyYXlQdXNoKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlQdXNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestArrayRef.approval.teal b/tests/contracts/artifacts/ABITestArrayRef.approval.teal
index 698253bb6..3c9a0b4dd 100644
--- a/tests/contracts/artifacts/ABITestArrayRef.approval.teal
+++ b/tests/contracts/artifacts/ABITestArrayRef.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestArrayRef.arc32.json b/tests/contracts/artifacts/ABITestArrayRef.arc32.json
index 48be6e0d6..75be6a857 100644
--- a/tests/contracts/artifacts/ABITestArrayRef.arc32.json
+++ b/tests/contracts/artifacts/ABITestArrayRef.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVJlZigpdWludDhbXQoqYWJpX3JvdXRlX2FycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UmVmKCl1aW50OFtdCgljYWxsc3ViIGFycmF5UmVmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UmVmKCk6IHVpbnQ8OD5bXQphcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1MAoJLy8gYTogdWludDw4PltdID0gWzEsIDIsIDNdCglieXRlIDB4MDEwMjAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1MwoJLy8gYlsxXSA9IDQgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDw4PltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDA0CglyZXBsYWNlMiAxCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1NQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50PDg+W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5UmVmKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVJlZigpdWludDhbXQoqYWJpX3JvdXRlX2FycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UmVmKCl1aW50OFtdCgljYWxsc3ViIGFycmF5UmVmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UmVmKCk6IHVpbnQ8OD5bXQphcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1MAoJLy8gYTogdWludDw4PltdID0gWzEsIDIsIDNdCglieXRlIDB4MDEwMjAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1MwoJLy8gYlsxXSA9IDQgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDw4PltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDA0CglyZXBsYWNlMiAxCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1NQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50PDg+W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5UmVmKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestArrayRef.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayRef.arc56_draft.json
index 82ce05816..66bc87ffa 100644
--- a/tests/contracts/artifacts/ABITestArrayRef.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestArrayRef.arc56_draft.json
@@ -60,398 +60,401 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 748,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 748,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 748,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 748,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 748,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 748,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 748,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 748,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 748,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 749,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 749,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 749,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 749,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 749,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 749,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 36,
- "source": 749,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 749,
- "pc": [
- 56
- ]
- },
- {
- "teal": 38,
- "source": 749,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 749,
- "pc": [
- 58
- ]
- },
- {
- "teal": 40,
- "source": 749,
- "pc": [
- 59
- ]
- },
- {
- "teal": 41,
- "source": 749,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 749,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 48,
- "source": 749,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 52,
- "source": 750,
- "pc": [
- 66,
- 67,
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 53,
- "source": 750,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 57,
- "source": 753,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 58,
- "source": 753,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 59,
- "source": 753,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 60,
- "source": 753,
- "pc": [
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 61,
- "source": 753,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 62,
- "source": 753,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 66,
- "source": 755,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 69,
- "source": 749,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 70,
- "source": 749,
- "pc": [
- 90
- ]
- },
- {
- "teal": 73,
- "source": 748,
- "pc": [
- 91
- ]
- },
- {
- "teal": 74,
- "source": 748,
- "pc": [
- 92
- ]
- },
- {
- "teal": 77,
- "source": 748,
- "pc": [
- 93,
- 94,
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 78,
- "source": 748,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 79,
- "source": 748,
- "pc": [
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 82,
- "source": 748,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 106
- ]
- },
- {
- "teal": 85,
- "source": 748,
- "pc": [
- 107,
- 108,
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 86,
- "source": 748,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 87,
- "source": 748,
- "pc": [
- 116,
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 90,
- "source": 748,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 120
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 748,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 748,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 748,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 748,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 748,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 748,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 748,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 748,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 748,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 749,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 749,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 749,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 749,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 749,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 749,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 749,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 749,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 749,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 749,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 749,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 749,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 749,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 749,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 750,
+ "pc": [
+ 66,
+ 67,
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 750,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 753,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 753,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 753,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 753,
+ "pc": [
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 753,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 753,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 755,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 749,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 749,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 748,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 748,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 748,
+ "pc": [
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 748,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 748,
+ "pc": [
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 748,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 748,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 748,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 748,
+ "pc": [
+ 116,
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 748,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 120
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVJlZigpdWludDhbXQoqYWJpX3JvdXRlX2FycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UmVmKCl1aW50OFtdCgljYWxsc3ViIGFycmF5UmVmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UmVmKCk6IHVpbnQ8OD5bXQphcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1MAoJLy8gYTogdWludDw4PltdID0gWzEsIDIsIDNdCglieXRlIDB4MDEwMjAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1MwoJLy8gYlsxXSA9IDQgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDw4PltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDA0CglyZXBsYWNlMiAxCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1NQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50PDg+W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5UmVmKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVJlZigpdWludDhbXQoqYWJpX3JvdXRlX2FycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UmVmKCl1aW50OFtdCgljYWxsc3ViIGFycmF5UmVmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5UmVmKCk6IHVpbnQ8OD5bXQphcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1MAoJLy8gYTogdWludDw4PltdID0gWzEsIDIsIDNdCglieXRlIDB4MDEwMjAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1MwoJLy8gYlsxXSA9IDQgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDw4PltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDA0CglyZXBsYWNlMiAxCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1NQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50PDg+W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5UmVmKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestArraySplice.approval.teal b/tests/contracts/artifacts/ABITestArraySplice.approval.teal
index 9298b3a34..151c60261 100644
--- a/tests/contracts/artifacts/ABITestArraySplice.approval.teal
+++ b/tests/contracts/artifacts/ABITestArraySplice.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestArraySplice.arc32.json b/tests/contracts/artifacts/ABITestArraySplice.arc32.json
index 9e532bc2c..eeae3bc19 100644
--- a/tests/contracts/artifacts/ABITestArraySplice.arc32.json
+++ b/tests/contracts/artifacts/ABITestArraySplice.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZSgpdWludDY0W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVNwbGljZSgpdWludDY0W10KCWNhbGxzdWIgYXJyYXlTcGxpY2UKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5U3BsaWNlKCk6IHVpbnQ2NFtdCmFycmF5U3BsaWNlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDU5CgkvLyBhOiB1aW50NjRbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MQoJLy8gYS5zcGxpY2UoMSwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglpbnQgMQoJaW50IDgKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCWludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5U3BsaWNlKCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2UKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZSgpdWludDY0W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVNwbGljZSgpdWludDY0W10KCWNhbGxzdWIgYXJyYXlTcGxpY2UKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5U3BsaWNlKCk6IHVpbnQ2NFtdCmFycmF5U3BsaWNlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDU5CgkvLyBhOiB1aW50NjRbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MQoJLy8gYS5zcGxpY2UoMSwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglpbnQgMQoJaW50IDgKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCWludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5U3BsaWNlKCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2UKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestArraySplice.arc56_draft.json b/tests/contracts/artifacts/ABITestArraySplice.arc56_draft.json
index f614ca710..1ed772085 100644
--- a/tests/contracts/artifacts/ABITestArraySplice.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestArraySplice.arc56_draft.json
@@ -60,550 +60,553 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 457,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4
- ]
- },
- {
- "teal": 13,
- "source": 457,
- "pc": [
- 5,
- 6
- ]
- },
- {
- "teal": 14,
- "source": 457,
- "pc": [
- 7
- ]
- },
- {
- "teal": 15,
- "source": 457,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 16,
- "source": 457,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 457,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 457,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 457,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 457,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 458,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 458,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 32,
- "source": 458,
- "pc": [
- 50
- ]
- },
- {
- "teal": 33,
- "source": 458,
- "pc": [
- 51
- ]
- },
- {
- "teal": 34,
- "source": 458,
- "pc": [
- 52
- ]
- },
- {
- "teal": 35,
- "source": 458,
- "pc": [
- 53
- ]
- },
- {
- "teal": 36,
- "source": 458,
- "pc": [
- 54
- ]
- },
- {
- "teal": 37,
- "source": 458,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 38,
- "source": 458,
- "pc": [
- 58
- ]
- },
- {
- "teal": 39,
- "source": 458,
- "pc": [
- 59
- ]
- },
- {
- "teal": 40,
- "source": 458,
- "pc": [
- 60
- ]
- },
- {
- "teal": 41,
- "source": 458,
- "pc": [
- 61
- ]
- },
- {
- "teal": 42,
- "source": 458,
- "pc": [
- 62
- ]
- },
- {
- "teal": 43,
- "source": 458,
- "pc": [
- 63
- ]
- },
- {
- "teal": 47,
- "source": 458,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 50,
- "source": 458,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 54,
- "source": 459,
- "pc": [
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 55,
- "source": 459,
- "pc": [
- 95,
- 96
- ]
- },
- {
- "teal": 59,
- "source": 461,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 60,
- "source": 461,
- "pc": [
- 99
- ]
- },
- {
- "teal": 61,
- "source": 461,
- "pc": [
- 100
- ]
- },
- {
- "teal": 62,
- "source": 461,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 63,
- "source": 461,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 64,
- "source": 461,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 65,
- "source": 461,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 66,
- "source": 461,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 67,
- "source": 461,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 68,
- "source": 461,
- "pc": [
- 113
- ]
- },
- {
- "teal": 69,
- "source": 461,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 70,
- "source": 461,
- "pc": [
- 116
- ]
- },
- {
- "teal": 71,
- "source": 461,
- "pc": [
- 117
- ]
- },
- {
- "teal": 72,
- "source": 461,
- "pc": [
- 118,
- 119
- ]
- },
- {
- "teal": 73,
- "source": 461,
- "pc": [
- 120,
- 121
- ]
- },
- {
- "teal": 74,
- "source": 461,
- "pc": [
- 122
- ]
- },
- {
- "teal": 75,
- "source": 461,
- "pc": [
- 123
- ]
- },
- {
- "teal": 76,
- "source": 461,
- "pc": [
- 124
- ]
- },
- {
- "teal": 77,
- "source": 461,
- "pc": [
- 125
- ]
- },
- {
- "teal": 78,
- "source": 461,
- "pc": [
- 126
- ]
- },
- {
- "teal": 79,
- "source": 461,
- "pc": [
- 127
- ]
- },
- {
- "teal": 80,
- "source": 461,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 84,
- "source": 463,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 87,
- "source": 458,
- "pc": [
- 132,
- 133
- ]
- },
- {
- "teal": 88,
- "source": 458,
- "pc": [
- 134
- ]
- },
- {
- "teal": 91,
- "source": 457,
- "pc": [
- 135
- ]
- },
- {
- "teal": 92,
- "source": 457,
- "pc": [
- 136
- ]
- },
- {
- "teal": 95,
- "source": 457,
- "pc": [
- 137,
- 138,
- 139,
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 96,
- "source": 457,
- "pc": [
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 97,
- "source": 457,
- "pc": [
- 146,
- 147,
- 148,
- 149
- ]
- },
- {
- "teal": 100,
- "source": 457,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 150
- ]
- },
- {
- "teal": 103,
- "source": 457,
- "pc": [
- 151,
- 152,
- 153,
- 154,
- 155,
- 156
- ]
- },
- {
- "teal": 104,
- "source": 457,
- "pc": [
- 157,
- 158,
- 159
- ]
- },
- {
- "teal": 105,
- "source": 457,
- "pc": [
- 160,
- 161,
- 162,
- 163
- ]
- },
- {
- "teal": 108,
- "source": 457,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 164
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 457,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 457,
+ "pc": [
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 457,
+ "pc": [
+ 7
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 457,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 457,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 457,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 457,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 457,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 457,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 458,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 458,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 458,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 458,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 458,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 458,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 458,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 458,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 458,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 458,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 458,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 458,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 458,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 458,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 458,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 458,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 459,
+ "pc": [
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 459,
+ "pc": [
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 461,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 461,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 461,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 461,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 461,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 461,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 461,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 461,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 461,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 461,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 461,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 461,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 461,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 461,
+ "pc": [
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 461,
+ "pc": [
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 461,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 461,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 461,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 461,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 461,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 461,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 461,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 463,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 458,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 458,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 457,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 457,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 457,
+ "pc": [
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 457,
+ "pc": [
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 457,
+ "pc": [
+ 146,
+ 147,
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 457,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 457,
+ "pc": [
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 457,
+ "pc": [
+ 157,
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 457,
+ "pc": [
+ 160,
+ 161,
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 457,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 164
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZSgpdWludDY0W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVNwbGljZSgpdWludDY0W10KCWNhbGxzdWIgYXJyYXlTcGxpY2UKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5U3BsaWNlKCk6IHVpbnQ2NFtdCmFycmF5U3BsaWNlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDU5CgkvLyBhOiB1aW50NjRbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MQoJLy8gYS5zcGxpY2UoMSwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglpbnQgMQoJaW50IDgKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCWludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5U3BsaWNlKCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2UKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZSgpdWludDY0W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVNwbGljZSgpdWludDY0W10KCWNhbGxzdWIgYXJyYXlTcGxpY2UKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFycmF5U3BsaWNlKCk6IHVpbnQ2NFtdCmFycmF5U3BsaWNlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDU5CgkvLyBhOiB1aW50NjRbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MQoJLy8gYS5zcGxpY2UoMSwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglpbnQgMQoJaW50IDgKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCWludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImFycmF5U3BsaWNlKCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2UKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestArraySpliceValue.approval.teal b/tests/contracts/artifacts/ABITestArraySpliceValue.approval.teal
index 3f630dce5..5b6fb1e0e 100644
--- a/tests/contracts/artifacts/ABITestArraySpliceValue.approval.teal
+++ b/tests/contracts/artifacts/ABITestArraySpliceValue.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestArraySpliceValue.arc32.json b/tests/contracts/artifacts/ABITestArraySpliceValue.arc32.json
index cc3fa459a..4184a3ec9 100644
--- a/tests/contracts/artifacts/ABITestArraySpliceValue.arc32.json
+++ b/tests/contracts/artifacts/ABITestArraySpliceValue.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXQoqYWJpX3JvdXRlX2FycmF5U3BsaWNlVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlTcGxpY2VWYWx1ZQoJZHVwCglsZW4KCWludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpOiB1aW50MTZbXQphcnJheVNwbGljZVZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjkKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXQoJYnl0ZSAweDAwMDEwMDAyMDAwMzAwMDQwMDA1MDAwNjAwMDcwMDA4MDAwOTAwMGEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzEKCS8vIGkgPSBidG9pKGl0b2IoMSkpCglpbnQgMQoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzIKCS8vIGwgPSBidG9pKGl0b2IoNykpCglpbnQgNwoJZnJhbWVfYnVyeSAyIC8vIGw6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzMKCS8vIHYgPSBhLnNwbGljZShpLCBsKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludCA3IC8vIGw6IHVpbnQ2NAoJaW50IDIKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludCAyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50IDIKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzUKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDMgLy8gdjogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2VWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXQoqYWJpX3JvdXRlX2FycmF5U3BsaWNlVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlTcGxpY2VWYWx1ZQoJZHVwCglsZW4KCWludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpOiB1aW50MTZbXQphcnJheVNwbGljZVZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjkKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXQoJYnl0ZSAweDAwMDEwMDAyMDAwMzAwMDQwMDA1MDAwNjAwMDcwMDA4MDAwOTAwMGEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzEKCS8vIGkgPSBidG9pKGl0b2IoMSkpCglpbnQgMQoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzIKCS8vIGwgPSBidG9pKGl0b2IoNykpCglpbnQgNwoJZnJhbWVfYnVyeSAyIC8vIGw6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzMKCS8vIHYgPSBhLnNwbGljZShpLCBsKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludCA3IC8vIGw6IHVpbnQ2NAoJaW50IDIKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludCAyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50IDIKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzUKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDMgLy8gdjogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2VWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestArraySpliceValue.arc56_draft.json b/tests/contracts/artifacts/ABITestArraySpliceValue.arc56_draft.json
index b9fd82586..6ec842c92 100644
--- a/tests/contracts/artifacts/ABITestArraySpliceValue.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestArraySpliceValue.arc56_draft.json
@@ -60,653 +60,656 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 467,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 467,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 467,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 467,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 467,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 467,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 467,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 467,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 467,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 468,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 468,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 468,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 468,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 468,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 468,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 468,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 468,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 38,
- "source": 468,
- "pc": [
- 59
- ]
- },
- {
- "teal": 39,
- "source": 468,
- "pc": [
- 60
- ]
- },
- {
- "teal": 40,
- "source": 468,
- "pc": [
- 61
- ]
- },
- {
- "teal": 41,
- "source": 468,
- "pc": [
- 62
- ]
- },
- {
- "teal": 42,
- "source": 468,
- "pc": [
- 63
- ]
- },
- {
- "teal": 43,
- "source": 468,
- "pc": [
- 64
- ]
- },
- {
- "teal": 47,
- "source": 468,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 50,
- "source": 468,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 51,
- "source": 468,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 55,
- "source": 469,
- "pc": [
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 56,
- "source": 469,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 60,
- "source": 471,
- "pc": [
- 96
- ]
- },
- {
- "teal": 61,
- "source": 471,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 65,
- "source": 472,
- "pc": [
- 99
- ]
- },
- {
- "teal": 66,
- "source": 472,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 70,
- "source": 473,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 71,
- "source": 473,
- "pc": [
- 104
- ]
- },
- {
- "teal": 72,
- "source": 473,
- "pc": [
- 105
- ]
- },
- {
- "teal": 73,
- "source": 473,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 74,
- "source": 473,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 75,
- "source": 473,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 76,
- "source": 473,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 77,
- "source": 473,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 78,
- "source": 473,
- "pc": [
- 116,
- 117
- ]
- },
- {
- "teal": 79,
- "source": 473,
- "pc": [
- 118
- ]
- },
- {
- "teal": 80,
- "source": 473,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 81,
- "source": 473,
- "pc": [
- 121
- ]
- },
- {
- "teal": 82,
- "source": 473,
- "pc": [
- 122
- ]
- },
- {
- "teal": 83,
- "source": 473,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 84,
- "source": 473,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 85,
- "source": 473,
- "pc": [
- 127
- ]
- },
- {
- "teal": 86,
- "source": 473,
- "pc": [
- 128
- ]
- },
- {
- "teal": 87,
- "source": 473,
- "pc": [
- 129
- ]
- },
- {
- "teal": 88,
- "source": 473,
- "pc": [
- 130
- ]
- },
- {
- "teal": 89,
- "source": 473,
- "pc": [
- 131
- ]
- },
- {
- "teal": 90,
- "source": 473,
- "pc": [
- 132
- ]
- },
- {
- "teal": 91,
- "source": 473,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 92,
- "source": 473,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 93,
- "source": 473,
- "pc": [
- 137,
- 138
- ]
- },
- {
- "teal": 94,
- "source": 473,
- "pc": [
- 139
- ]
- },
- {
- "teal": 95,
- "source": 473,
- "pc": [
- 140
- ]
- },
- {
- "teal": 96,
- "source": 473,
- "pc": [
- 141
- ]
- },
- {
- "teal": 97,
- "source": 473,
- "pc": [
- 142
- ]
- },
- {
- "teal": 98,
- "source": 473,
- "pc": [
- 143,
- 144
- ]
- },
- {
- "teal": 99,
- "source": 473,
- "pc": [
- 145,
- 146
- ]
- },
- {
- "teal": 103,
- "source": 475,
- "pc": [
- 147,
- 148
- ]
- },
- {
- "teal": 106,
- "source": 468,
- "pc": [
- 149,
- 150
- ]
- },
- {
- "teal": 109,
- "source": 468,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 110,
- "source": 468,
- "pc": [
- 153
- ]
- },
- {
- "teal": 113,
- "source": 467,
- "pc": [
- 154
- ]
- },
- {
- "teal": 114,
- "source": 467,
- "pc": [
- 155
- ]
- },
- {
- "teal": 117,
- "source": 467,
- "pc": [
- 156,
- 157,
- 158,
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 118,
- "source": 467,
- "pc": [
- 162,
- 163,
- 164
- ]
- },
- {
- "teal": 119,
- "source": 467,
- "pc": [
- 165,
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 122,
- "source": 467,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 169
- ]
- },
- {
- "teal": 125,
- "source": 467,
- "pc": [
- 170,
- 171,
- 172,
- 173,
- 174,
- 175
- ]
- },
- {
- "teal": 126,
- "source": 467,
- "pc": [
- 176,
- 177,
- 178
- ]
- },
- {
- "teal": 127,
- "source": 467,
- "pc": [
- 179,
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 130,
- "source": 467,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 183
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 467,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 467,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 467,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 467,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 467,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 467,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 467,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 467,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 467,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 468,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 468,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 468,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 468,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 468,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 468,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 468,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 468,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 468,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 468,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 468,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 468,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 468,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 468,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 468,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 468,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 468,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 469,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 469,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 471,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 471,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 472,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 472,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 473,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 473,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 473,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 473,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 473,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 473,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 473,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 473,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 473,
+ "pc": [
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 473,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 473,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 473,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 473,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 473,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 473,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 473,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 473,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 473,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 473,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 473,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 473,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 473,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 473,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 473,
+ "pc": [
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 473,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 473,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 473,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 473,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 473,
+ "pc": [
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 473,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 475,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 468,
+ "pc": [
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 468,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 468,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 467,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 467,
+ "pc": [
+ 155
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 467,
+ "pc": [
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 467,
+ "pc": [
+ 162,
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 467,
+ "pc": [
+ 165,
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 467,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 467,
+ "pc": [
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 467,
+ "pc": [
+ 176,
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 467,
+ "pc": [
+ 179,
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 467,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 183
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXQoqYWJpX3JvdXRlX2FycmF5U3BsaWNlVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlTcGxpY2VWYWx1ZQoJZHVwCglsZW4KCWludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpOiB1aW50MTZbXQphcnJheVNwbGljZVZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjkKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXQoJYnl0ZSAweDAwMDEwMDAyMDAwMzAwMDQwMDA1MDAwNjAwMDcwMDA4MDAwOTAwMGEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzEKCS8vIGkgPSBidG9pKGl0b2IoMSkpCglpbnQgMQoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzIKCS8vIGwgPSBidG9pKGl0b2IoNykpCglpbnQgNwoJZnJhbWVfYnVyeSAyIC8vIGw6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzMKCS8vIHYgPSBhLnNwbGljZShpLCBsKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludCA3IC8vIGw6IHVpbnQ2NAoJaW50IDIKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludCAyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50IDIKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzUKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDMgLy8gdjogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2VWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXQoqYWJpX3JvdXRlX2FycmF5U3BsaWNlVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlTcGxpY2VWYWx1ZQoJZHVwCglsZW4KCWludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpOiB1aW50MTZbXQphcnJheVNwbGljZVZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjkKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXQoJYnl0ZSAweDAwMDEwMDAyMDAwMzAwMDQwMDA1MDAwNjAwMDcwMDA4MDAwOTAwMGEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzEKCS8vIGkgPSBidG9pKGl0b2IoMSkpCglpbnQgMQoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzIKCS8vIGwgPSBidG9pKGl0b2IoNykpCglpbnQgNwoJZnJhbWVfYnVyeSAyIC8vIGw6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzMKCS8vIHYgPSBhLnNwbGljZShpLCBsKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludCA3IC8vIGw6IHVpbnQ2NAoJaW50IDIKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludCAyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50IDIKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzUKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDMgLy8gdjogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2VWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestBiggerByteCasting.approval.teal b/tests/contracts/artifacts/ABITestBiggerByteCasting.approval.teal
index 26d110590..32ce231cb 100644
--- a/tests/contracts/artifacts/ABITestBiggerByteCasting.approval.teal
+++ b/tests/contracts/artifacts/ABITestBiggerByteCasting.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestBiggerByteCasting.arc32.json b/tests/contracts/artifacts/ABITestBiggerByteCasting.arc32.json
index b3c3db8a1..fc256a38a 100644
--- a/tests/contracts/artifacts/ABITestBiggerByteCasting.arc32.json
+++ b/tests/contracts/artifacts/ABITestBiggerByteCasting.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBiaWdnZXJCeXRlQ2FzdGluZyhieXRlWzJdKWJ5dGVbNF0KKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogYnl0ZVsyXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBiaWdnZXJCeXRlQ2FzdGluZyBtdXN0IGJlIGEgYnl0ZVsyXQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaWdnZXJCeXRlQ2FzdGluZyhieXRlWzJdKWJ5dGVbNF0KCWNhbGxzdWIgYmlnZ2VyQnl0ZUNhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaWdnZXJCeXRlQ2FzdGluZyhhOiBieXRlczwyPik6IGJ5dGVzPDQ+CmJpZ2dlckJ5dGVDYXN0aW5nOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMDcKCS8vIHJldHVybiA8Ynl0ZXM8ND4+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBieXRlczwyPgoJYnl0ZSAweDAwMDAKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBiaWdnZXJCeXRlQ2FzdGluZyhieXRlWzJdKWJ5dGVbNF0KKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogYnl0ZVsyXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBiaWdnZXJCeXRlQ2FzdGluZyBtdXN0IGJlIGEgYnl0ZVsyXQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaWdnZXJCeXRlQ2FzdGluZyhieXRlWzJdKWJ5dGVbNF0KCWNhbGxzdWIgYmlnZ2VyQnl0ZUNhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaWdnZXJCeXRlQ2FzdGluZyhhOiBieXRlczwyPik6IGJ5dGVzPDQ+CmJpZ2dlckJ5dGVDYXN0aW5nOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMDcKCS8vIHJldHVybiA8Ynl0ZXM8ND4+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBieXRlczwyPgoJYnl0ZSAweDAwMDAKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestBiggerByteCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestBiggerByteCasting.arc56_draft.json
index 63e49b81c..542ddb563 100644
--- a/tests/contracts/artifacts/ABITestBiggerByteCasting.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestBiggerByteCasting.arc56_draft.json
@@ -65,333 +65,336 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1205,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1205,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1205,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1205,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1205,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1205,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1205,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1205,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1205,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1206,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1206,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1206,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1206,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1206,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 1206,
- "pc": [
- 53
- ]
- },
- {
- "teal": 38,
- "source": 1206,
- "errorMessage": "argument 0 (a) for biggerByteCasting must be a byte[2]",
- "pc": [
- 54
- ]
- },
- {
- "teal": 41,
- "source": 1206,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 42,
- "source": 1206,
- "pc": [
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1206,
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 1206,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 1206,
- "pc": [
- 61
- ]
- },
- {
- "teal": 49,
- "source": 1206,
- "pc": [
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 53,
- "source": 1207,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 54,
- "source": 1207,
- "pc": [
- 67,
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 55,
- "source": 1207,
- "pc": [
- 71
- ]
- },
- {
- "teal": 56,
- "source": 1206,
- "pc": [
- 72
- ]
- },
- {
- "teal": 59,
- "source": 1205,
- "pc": [
- 73
- ]
- },
- {
- "teal": 60,
- "source": 1205,
- "pc": [
- 74
- ]
- },
- {
- "teal": 63,
- "source": 1205,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 64,
- "source": 1205,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 65,
- "source": 1205,
- "pc": [
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 68,
- "source": 1205,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 88
- ]
- },
- {
- "teal": 71,
- "source": 1205,
- "pc": [
- 89,
- 90,
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 72,
- "source": 1205,
- "pc": [
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 73,
- "source": 1205,
- "pc": [
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 76,
- "source": 1205,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 102
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1205,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1205,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1205,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1205,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1205,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1205,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1205,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1205,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1205,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1206,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1206,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1206,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1206,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1206,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1206,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1206,
+ "errorMessage": "argument 0 (a) for biggerByteCasting must be a byte[2]",
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1206,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1206,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1206,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1206,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1206,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1206,
+ "pc": [
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1207,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1207,
+ "pc": [
+ 67,
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1207,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1206,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1205,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1205,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1205,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1205,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1205,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1205,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1205,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1205,
+ "pc": [
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1205,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1205,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 102
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBiaWdnZXJCeXRlQ2FzdGluZyhieXRlWzJdKWJ5dGVbNF0KKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogYnl0ZVsyXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBiaWdnZXJCeXRlQ2FzdGluZyBtdXN0IGJlIGEgYnl0ZVsyXQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaWdnZXJCeXRlQ2FzdGluZyhieXRlWzJdKWJ5dGVbNF0KCWNhbGxzdWIgYmlnZ2VyQnl0ZUNhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaWdnZXJCeXRlQ2FzdGluZyhhOiBieXRlczwyPik6IGJ5dGVzPDQ+CmJpZ2dlckJ5dGVDYXN0aW5nOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMDcKCS8vIHJldHVybiA8Ynl0ZXM8ND4+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBieXRlczwyPgoJYnl0ZSAweDAwMDAKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBiaWdnZXJCeXRlQ2FzdGluZyhieXRlWzJdKWJ5dGVbNF0KKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogYnl0ZVsyXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBiaWdnZXJCeXRlQ2FzdGluZyBtdXN0IGJlIGEgYnl0ZVsyXQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaWdnZXJCeXRlQ2FzdGluZyhieXRlWzJdKWJ5dGVbNF0KCWNhbGxzdWIgYmlnZ2VyQnl0ZUNhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaWdnZXJCeXRlQ2FzdGluZyhhOiBieXRlczwyPik6IGJ5dGVzPDQ+CmJpZ2dlckJ5dGVDYXN0aW5nOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMDcKCS8vIHJldHVybiA8Ynl0ZXM8ND4+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBieXRlczwyPgoJYnl0ZSAweDAwMDAKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestBoolFirstInTuple.approval.teal b/tests/contracts/artifacts/ABITestBoolFirstInTuple.approval.teal
index 379082d4f..b8c6ea394 100644
--- a/tests/contracts/artifacts/ABITestBoolFirstInTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestBoolFirstInTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc32.json b/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc32.json
index 14a85b082..d78fe18ad 100644
--- a/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2Jvb2xGaXJzdEluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYm9vbEZpcnN0SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xGaXJzdEluVHVwbGUoKTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XQpib29sRmlyc3RJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4MgoJLy8gYTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XSA9IFt0cnVlLCAxLCAyXQoJYnl0ZSAweDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCB1aW50NjQsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEZpcnN0SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2Jvb2xGaXJzdEluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYm9vbEZpcnN0SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xGaXJzdEluVHVwbGUoKTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XQpib29sRmlyc3RJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4MgoJLy8gYTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XSA9IFt0cnVlLCAxLCAyXQoJYnl0ZSAweDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCB1aW50NjQsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEZpcnN0SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc56_draft.json
index 23b61baba..17f789c61 100644
--- a/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc56_draft.json
@@ -60,371 +60,374 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1580,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1580,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1580,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1580,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1580,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1580,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1580,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1580,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1580,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1581,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1581,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1581,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1581,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1581,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1581,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 1581,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 1581,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 46,
- "source": 1582,
- "pc": [
- 58,
- 59,
- 60
- ]
- },
- {
- "teal": 47,
- "source": 1582,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 48,
- "source": 1582,
- "pc": [
- 63
- ]
- },
- {
- "teal": 49,
- "source": 1582,
- "pc": [
- 64
- ]
- },
- {
- "teal": 50,
- "source": 1582,
- "pc": [
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 51,
- "source": 1582,
- "pc": [
- 75
- ]
- },
- {
- "teal": 52,
- "source": 1582,
- "pc": [
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 53,
- "source": 1582,
- "pc": [
- 86
- ]
- },
- {
- "teal": 54,
- "source": 1582,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 58,
- "source": 1584,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 61,
- "source": 1581,
- "pc": [
- 91,
- 92
- ]
- },
- {
- "teal": 62,
- "source": 1581,
- "pc": [
- 93
- ]
- },
- {
- "teal": 65,
- "source": 1580,
- "pc": [
- 94
- ]
- },
- {
- "teal": 66,
- "source": 1580,
- "pc": [
- 95
- ]
- },
- {
- "teal": 69,
- "source": 1580,
- "pc": [
- 96,
- 97,
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 70,
- "source": 1580,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 71,
- "source": 1580,
- "pc": [
- 105,
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 74,
- "source": 1580,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 109
- ]
- },
- {
- "teal": 77,
- "source": 1580,
- "pc": [
- 110,
- 111,
- 112,
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 78,
- "source": 1580,
- "pc": [
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 79,
- "source": 1580,
- "pc": [
- 119,
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 82,
- "source": 1580,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 123
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1580,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1580,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1580,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1580,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1580,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1580,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1580,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1580,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1580,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1581,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1581,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1581,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1581,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1581,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1581,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1581,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1581,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1582,
+ "pc": [
+ 58,
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1582,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1582,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1582,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1582,
+ "pc": [
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1582,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1582,
+ "pc": [
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1582,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1582,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1584,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1581,
+ "pc": [
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1581,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1580,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1580,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1580,
+ "pc": [
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1580,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1580,
+ "pc": [
+ 105,
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1580,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1580,
+ "pc": [
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1580,
+ "pc": [
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1580,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1580,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 123
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2Jvb2xGaXJzdEluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYm9vbEZpcnN0SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xGaXJzdEluVHVwbGUoKTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XQpib29sRmlyc3RJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4MgoJLy8gYTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XSA9IFt0cnVlLCAxLCAyXQoJYnl0ZSAweDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCB1aW50NjQsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEZpcnN0SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2Jvb2xGaXJzdEluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYm9vbEZpcnN0SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xGaXJzdEluVHVwbGUoKTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XQpib29sRmlyc3RJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4MgoJLy8gYTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XSA9IFt0cnVlLCAxLCAyXQoJYnl0ZSAweDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCB1aW50NjQsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEZpcnN0SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestBoolInNestedTuple.approval.teal b/tests/contracts/artifacts/ABITestBoolInNestedTuple.approval.teal
index d32737b10..55a49c6e6 100644
--- a/tests/contracts/artifacts/ABITestBoolInNestedTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestBoolInNestedTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc32.json b/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc32.json
index 4a42b653b..336de2b03 100644
--- a/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sSW5OZXN0ZWRUdXBsZSgpYm9vbAoqYWJpX3JvdXRlX2Jvb2xJbk5lc3RlZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJvb2xJbk5lc3RlZFR1cGxlKClib29sCgljYWxsc3ViIGJvb2xJbk5lc3RlZFR1cGxlCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xJbk5lc3RlZFR1cGxlKCk6IGJvb2xlYW4KYm9vbEluTmVzdGVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDQyCgkvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXSA9IFtbMCwgMCwgMF0sIHRydWUsIGZhbHNlXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDQKCS8vIGFbMV0gPSBmYWxzZQoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMTkyCglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NQoJLy8gYVsyXSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDE5MwoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDcKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMTkzCglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xJbk5lc3RlZFR1cGxlKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sSW5OZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sSW5OZXN0ZWRUdXBsZSgpYm9vbAoqYWJpX3JvdXRlX2Jvb2xJbk5lc3RlZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJvb2xJbk5lc3RlZFR1cGxlKClib29sCgljYWxsc3ViIGJvb2xJbk5lc3RlZFR1cGxlCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xJbk5lc3RlZFR1cGxlKCk6IGJvb2xlYW4KYm9vbEluTmVzdGVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDQyCgkvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXSA9IFtbMCwgMCwgMF0sIHRydWUsIGZhbHNlXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDQKCS8vIGFbMV0gPSBmYWxzZQoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMTkyCglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NQoJLy8gYVsyXSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDE5MwoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDcKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMTkzCglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xJbk5lc3RlZFR1cGxlKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sSW5OZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc56_draft.json
index 553a3c284..125eaf6ea 100644
--- a/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc56_draft.json
@@ -60,556 +60,559 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1440,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10
- ]
- },
- {
- "teal": 13,
- "source": 1440,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 14,
- "source": 1440,
- "pc": [
- 13
- ]
- },
- {
- "teal": 15,
- "source": 1440,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 16,
- "source": 1440,
- "pc": [
- 16
- ]
- },
- {
- "teal": 17,
- "source": 1440,
- "pc": [
- 17,
- 18
- ]
- },
- {
- "teal": 18,
- "source": 1440,
- "pc": [
- 19
- ]
- },
- {
- "teal": 19,
- "source": 1440,
- "pc": [
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 23,
- "source": 1440,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 46
- ]
- },
- {
- "teal": 28,
- "source": 1441,
- "pc": [
- 47,
- 48,
- 49,
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 31,
- "source": 1441,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 32,
- "source": 1441,
- "pc": [
- 56
- ]
- },
- {
- "teal": 33,
- "source": 1441,
- "pc": [
- 57
- ]
- },
- {
- "teal": 34,
- "source": 1441,
- "pc": [
- 58,
- 59
- ]
- },
- {
- "teal": 35,
- "source": 1441,
- "pc": [
- 60
- ]
- },
- {
- "teal": 36,
- "source": 1441,
- "pc": [
- 61
- ]
- },
- {
- "teal": 37,
- "source": 1441,
- "pc": [
- 62
- ]
- },
- {
- "teal": 38,
- "source": 1441,
- "pc": [
- 63
- ]
- },
- {
- "teal": 39,
- "source": 1441,
- "pc": [
- 64
- ]
- },
- {
- "teal": 43,
- "source": 1441,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 46,
- "source": 1441,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 50,
- "source": 1442,
- "pc": [
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 51,
- "source": 1442,
- "pc": [
- 96
- ]
- },
- {
- "teal": 52,
- "source": 1442,
- "pc": [
- 97
- ]
- },
- {
- "teal": 53,
- "source": 1442,
- "pc": [
- 98
- ]
- },
- {
- "teal": 54,
- "source": 1442,
- "pc": [
- 99
- ]
- },
- {
- "teal": 55,
- "source": 1442,
- "pc": [
- 100
- ]
- },
- {
- "teal": 56,
- "source": 1442,
- "pc": [
- 101
- ]
- },
- {
- "teal": 57,
- "source": 1442,
- "pc": [
- 102
- ]
- },
- {
- "teal": 58,
- "source": 1442,
- "pc": [
- 103
- ]
- },
- {
- "teal": 59,
- "source": 1442,
- "pc": [
- 104,
- 105
- ]
- },
- {
- "teal": 63,
- "source": 1444,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 64,
- "source": 1444,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 65,
- "source": 1444,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 66,
- "source": 1444,
- "pc": [
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 67,
- "source": 1444,
- "pc": [
- 115
- ]
- },
- {
- "teal": 68,
- "source": 1444,
- "pc": [
- 116
- ]
- },
- {
- "teal": 69,
- "source": 1444,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 73,
- "source": 1445,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 74,
- "source": 1445,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 75,
- "source": 1445,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 76,
- "source": 1445,
- "pc": [
- 125
- ]
- },
- {
- "teal": 77,
- "source": 1445,
- "pc": [
- 126
- ]
- },
- {
- "teal": 78,
- "source": 1445,
- "pc": [
- 127
- ]
- },
- {
- "teal": 79,
- "source": 1445,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 83,
- "source": 1447,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 84,
- "source": 1447,
- "pc": [
- 132,
- 133
- ]
- },
- {
- "teal": 85,
- "source": 1447,
- "pc": [
- 134,
- 135
- ]
- },
- {
- "teal": 86,
- "source": 1447,
- "pc": [
- 136
- ]
- },
- {
- "teal": 87,
- "source": 1447,
- "pc": [
- 137
- ]
- },
- {
- "teal": 90,
- "source": 1441,
- "pc": [
- 138,
- 139
- ]
- },
- {
- "teal": 91,
- "source": 1441,
- "pc": [
- 140
- ]
- },
- {
- "teal": 94,
- "source": 1440,
- "pc": [
- 141
- ]
- },
- {
- "teal": 95,
- "source": 1440,
- "pc": [
- 142
- ]
- },
- {
- "teal": 98,
- "source": 1440,
- "pc": [
- 143,
- 144,
- 145,
- 146,
- 147,
- 148
- ]
- },
- {
- "teal": 99,
- "source": 1440,
- "pc": [
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 100,
- "source": 1440,
- "pc": [
- 152,
- 153,
- 154,
- 155
- ]
- },
- {
- "teal": 103,
- "source": 1440,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 156
- ]
- },
- {
- "teal": 106,
- "source": 1440,
- "pc": [
- 157,
- 158,
- 159,
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 107,
- "source": 1440,
- "pc": [
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 108,
- "source": 1440,
- "pc": [
- 166,
- 167,
- 168,
- 169
- ]
- },
- {
- "teal": 111,
- "source": 1440,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 170
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1440,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1440,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1440,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1440,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1440,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1440,
+ "pc": [
+ 17,
+ 18
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1440,
+ "pc": [
+ 19
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1440,
+ "pc": [
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1440,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 46
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1441,
+ "pc": [
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1441,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1441,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1441,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1441,
+ "pc": [
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1441,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1441,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1441,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1441,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1441,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1441,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1441,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1442,
+ "pc": [
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1442,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1442,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1442,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1442,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1442,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1442,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1442,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1442,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1442,
+ "pc": [
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1444,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1444,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1444,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1444,
+ "pc": [
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1444,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1444,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1444,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1445,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1445,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1445,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1445,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1445,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1445,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1445,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1447,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1447,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1447,
+ "pc": [
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1447,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1447,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1441,
+ "pc": [
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1441,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1440,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1440,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1440,
+ "pc": [
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1440,
+ "pc": [
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1440,
+ "pc": [
+ 152,
+ 153,
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1440,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1440,
+ "pc": [
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 1440,
+ "pc": [
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 1440,
+ "pc": [
+ 166,
+ 167,
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1440,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 170
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sSW5OZXN0ZWRUdXBsZSgpYm9vbAoqYWJpX3JvdXRlX2Jvb2xJbk5lc3RlZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJvb2xJbk5lc3RlZFR1cGxlKClib29sCgljYWxsc3ViIGJvb2xJbk5lc3RlZFR1cGxlCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xJbk5lc3RlZFR1cGxlKCk6IGJvb2xlYW4KYm9vbEluTmVzdGVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDQyCgkvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXSA9IFtbMCwgMCwgMF0sIHRydWUsIGZhbHNlXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDQKCS8vIGFbMV0gPSBmYWxzZQoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMTkyCglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NQoJLy8gYVsyXSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDE5MwoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDcKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMTkzCglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xJbk5lc3RlZFR1cGxlKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sSW5OZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sSW5OZXN0ZWRUdXBsZSgpYm9vbAoqYWJpX3JvdXRlX2Jvb2xJbk5lc3RlZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJvb2xJbk5lc3RlZFR1cGxlKClib29sCgljYWxsc3ViIGJvb2xJbk5lc3RlZFR1cGxlCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xJbk5lc3RlZFR1cGxlKCk6IGJvb2xlYW4KYm9vbEluTmVzdGVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDQyCgkvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXSA9IFtbMCwgMCwgMF0sIHRydWUsIGZhbHNlXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDQKCS8vIGFbMV0gPSBmYWxzZQoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMTkyCglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NQoJLy8gYVsyXSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDE5MwoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDcKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMTkzCglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xJbk5lc3RlZFR1cGxlKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sSW5OZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestBoolInObj.approval.teal b/tests/contracts/artifacts/ABITestBoolInObj.approval.teal
index f6acf6b49..e2f229199 100644
--- a/tests/contracts/artifacts/ABITestBoolInObj.approval.teal
+++ b/tests/contracts/artifacts/ABITestBoolInObj.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestBoolInObj.arc32.json b/tests/contracts/artifacts/ABITestBoolInObj.arc32.json
index 50403e176..6de62c661 100644
--- a/tests/contracts/artifacts/ABITestBoolInObj.arc32.json
+++ b/tests/contracts/artifacts/ABITestBoolInObj.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sSW5PYmooKXZvaWQKKmFiaV9yb3V0ZV9ib29sSW5PYmo6CgkvLyBleGVjdXRlIGJvb2xJbk9iaigpdm9pZAoJY2FsbHN1YiBib29sSW5PYmoKCWludCAxCglyZXR1cm4KCi8vIGJvb2xJbk9iaigpOiB2b2lkCmJvb2xJbk9iajoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMjUKCS8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9ID0geyBmb286IHRydWUsIGJhcjogdHJ1ZSwgYmF6OiB0cnVlIH0KCWJ5dGUgMHgwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglkdXAKCXNldGJpdAoJaW50IDIKCWludCAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI2CgkvLyB4LmJhciA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxCglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8geDogeyBmb286IGJvb2xlYW47IGJhcjogYm9vbGVhbjsgYmF6OiBib29sZWFuIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyNwoJLy8gYXNzZXJ0cyh4LmZvbyA9PT0gdHJ1ZSwgeC5iYXIgPT09IGZhbHNlLCB4LmJheiA9PT0gdHJ1ZSkKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWdldGJpdAoJaW50IDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDEKCWdldGJpdAoJaW50IDAKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDIKCWdldGJpdAoJaW50IDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xJbk9iaigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEluT2JqCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sSW5PYmooKXZvaWQKKmFiaV9yb3V0ZV9ib29sSW5PYmo6CgkvLyBleGVjdXRlIGJvb2xJbk9iaigpdm9pZAoJY2FsbHN1YiBib29sSW5PYmoKCWludCAxCglyZXR1cm4KCi8vIGJvb2xJbk9iaigpOiB2b2lkCmJvb2xJbk9iajoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMjUKCS8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9ID0geyBmb286IHRydWUsIGJhcjogdHJ1ZSwgYmF6OiB0cnVlIH0KCWJ5dGUgMHgwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglkdXAKCXNldGJpdAoJaW50IDIKCWludCAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI2CgkvLyB4LmJhciA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxCglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8geDogeyBmb286IGJvb2xlYW47IGJhcjogYm9vbGVhbjsgYmF6OiBib29sZWFuIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyNwoJLy8gYXNzZXJ0cyh4LmZvbyA9PT0gdHJ1ZSwgeC5iYXIgPT09IGZhbHNlLCB4LmJheiA9PT0gdHJ1ZSkKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWdldGJpdAoJaW50IDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDEKCWdldGJpdAoJaW50IDAKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDIKCWdldGJpdAoJaW50IDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xJbk9iaigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEluT2JqCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestBoolInObj.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolInObj.arc56_draft.json
index cccd8e6fa..adef89009 100644
--- a/tests/contracts/artifacts/ABITestBoolInObj.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestBoolInObj.arc56_draft.json
@@ -60,559 +60,562 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1223,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 1223,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 1223,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 1223,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 1223,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 1223,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 1223,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 1223,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 1223,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 1224,
- "pc": [
- 42,
- 43,
- 44
- ]
- },
- {
- "teal": 29,
- "source": 1224,
- "pc": [
- 45
- ]
- },
- {
- "teal": 30,
- "source": 1224,
- "pc": [
- 46
- ]
- },
- {
- "teal": 34,
- "source": 1224,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 37,
- "source": 1224,
- "pc": [
- 50,
- 51
- ]
- },
- {
- "teal": 41,
- "source": 1225,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 42,
- "source": 1225,
- "pc": [
- 55
- ]
- },
- {
- "teal": 43,
- "source": 1225,
- "pc": [
- 56
- ]
- },
- {
- "teal": 44,
- "source": 1225,
- "pc": [
- 57
- ]
- },
- {
- "teal": 45,
- "source": 1225,
- "pc": [
- 58
- ]
- },
- {
- "teal": 46,
- "source": 1225,
- "pc": [
- 59
- ]
- },
- {
- "teal": 47,
- "source": 1225,
- "pc": [
- 60
- ]
- },
- {
- "teal": 48,
- "source": 1225,
- "pc": [
- 61
- ]
- },
- {
- "teal": 49,
- "source": 1225,
- "pc": [
- 62
- ]
- },
- {
- "teal": 50,
- "source": 1225,
- "pc": [
- 63
- ]
- },
- {
- "teal": 51,
- "source": 1225,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 55,
- "source": 1226,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 56,
- "source": 1226,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 57,
- "source": 1226,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 58,
- "source": 1226,
- "pc": [
- 72
- ]
- },
- {
- "teal": 59,
- "source": 1226,
- "pc": [
- 73
- ]
- },
- {
- "teal": 60,
- "source": 1226,
- "pc": [
- 74
- ]
- },
- {
- "teal": 61,
- "source": 1226,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 65,
- "source": 1227,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 66,
- "source": 1227,
- "pc": [
- 79,
- 80
- ]
- },
- {
- "teal": 67,
- "source": 1227,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 68,
- "source": 1227,
- "pc": [
- 83
- ]
- },
- {
- "teal": 69,
- "source": 1227,
- "pc": [
- 84
- ]
- },
- {
- "teal": 70,
- "source": 1227,
- "pc": [
- 85
- ]
- },
- {
- "teal": 71,
- "source": 1227,
- "pc": [
- 86
- ]
- },
- {
- "teal": 74,
- "source": 1227,
- "errorMessage": "asserts failed: asserts(x.foo === true, x.bar === false, x.baz === true)",
- "pc": [
- 87
- ]
- },
- {
- "teal": 75,
- "source": 1227,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 76,
- "source": 1227,
- "pc": [
- 90,
- 91
- ]
- },
- {
- "teal": 77,
- "source": 1227,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 78,
- "source": 1227,
- "pc": [
- 94
- ]
- },
- {
- "teal": 79,
- "source": 1227,
- "pc": [
- 95
- ]
- },
- {
- "teal": 80,
- "source": 1227,
- "pc": [
- 96
- ]
- },
- {
- "teal": 81,
- "source": 1227,
- "pc": [
- 97
- ]
- },
- {
- "teal": 84,
- "source": 1227,
- "errorMessage": "asserts failed: asserts(x.foo === true, x.bar === false, x.baz === true)",
- "pc": [
- 98
- ]
- },
- {
- "teal": 85,
- "source": 1227,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 86,
- "source": 1227,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 87,
- "source": 1227,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 88,
- "source": 1227,
- "pc": [
- 105
- ]
- },
- {
- "teal": 89,
- "source": 1227,
- "pc": [
- 106
- ]
- },
- {
- "teal": 90,
- "source": 1227,
- "pc": [
- 107
- ]
- },
- {
- "teal": 91,
- "source": 1227,
- "pc": [
- 108
- ]
- },
- {
- "teal": 94,
- "source": 1227,
- "errorMessage": "asserts failed: asserts(x.foo === true, x.bar === false, x.baz === true)",
- "pc": [
- 109
- ]
- },
- {
- "teal": 95,
- "source": 1224,
- "pc": [
- 110
- ]
- },
- {
- "teal": 98,
- "source": 1223,
- "pc": [
- 111
- ]
- },
- {
- "teal": 99,
- "source": 1223,
- "pc": [
- 112
- ]
- },
- {
- "teal": 102,
- "source": 1223,
- "pc": [
- 113,
- 114,
- 115,
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 103,
- "source": 1223,
- "pc": [
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 104,
- "source": 1223,
- "pc": [
- 122,
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 107,
- "source": 1223,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 126
- ]
- },
- {
- "teal": 110,
- "source": 1223,
- "pc": [
- 127,
- 128,
- 129,
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 111,
- "source": 1223,
- "pc": [
- 133,
- 134,
- 135
- ]
- },
- {
- "teal": 112,
- "source": 1223,
- "pc": [
- 136,
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 115,
- "source": 1223,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 140
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1223,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1223,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1223,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1223,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1223,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1223,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1223,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1223,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1223,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1224,
+ "pc": [
+ 42,
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 1224,
+ "pc": [
+ 45
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 1224,
+ "pc": [
+ 46
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1224,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1224,
+ "pc": [
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1225,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1225,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1225,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1225,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1225,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1225,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1225,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1225,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1225,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1225,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1225,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1226,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1226,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1226,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1226,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1226,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1226,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1226,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1227,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1227,
+ "pc": [
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1227,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1227,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1227,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1227,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1227,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1227,
+ "errorMessage": "asserts failed: asserts(x.foo === true, x.bar === false, x.baz === true)",
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1227,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1227,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1227,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1227,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1227,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1227,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1227,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1227,
+ "errorMessage": "asserts failed: asserts(x.foo === true, x.bar === false, x.baz === true)",
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1227,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1227,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1227,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1227,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1227,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1227,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1227,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1227,
+ "errorMessage": "asserts failed: asserts(x.foo === true, x.bar === false, x.baz === true)",
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1224,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1223,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1223,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 1223,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1223,
+ "pc": [
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 1223,
+ "pc": [
+ 122,
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 1223,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1223,
+ "pc": [
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1223,
+ "pc": [
+ 133,
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 1223,
+ "pc": [
+ 136,
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 1223,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 140
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sSW5PYmooKXZvaWQKKmFiaV9yb3V0ZV9ib29sSW5PYmo6CgkvLyBleGVjdXRlIGJvb2xJbk9iaigpdm9pZAoJY2FsbHN1YiBib29sSW5PYmoKCWludCAxCglyZXR1cm4KCi8vIGJvb2xJbk9iaigpOiB2b2lkCmJvb2xJbk9iajoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMjUKCS8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9ID0geyBmb286IHRydWUsIGJhcjogdHJ1ZSwgYmF6OiB0cnVlIH0KCWJ5dGUgMHgwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglkdXAKCXNldGJpdAoJaW50IDIKCWludCAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI2CgkvLyB4LmJhciA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxCglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8geDogeyBmb286IGJvb2xlYW47IGJhcjogYm9vbGVhbjsgYmF6OiBib29sZWFuIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyNwoJLy8gYXNzZXJ0cyh4LmZvbyA9PT0gdHJ1ZSwgeC5iYXIgPT09IGZhbHNlLCB4LmJheiA9PT0gdHJ1ZSkKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWdldGJpdAoJaW50IDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDEKCWdldGJpdAoJaW50IDAKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDIKCWdldGJpdAoJaW50IDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xJbk9iaigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEluT2JqCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sSW5PYmooKXZvaWQKKmFiaV9yb3V0ZV9ib29sSW5PYmo6CgkvLyBleGVjdXRlIGJvb2xJbk9iaigpdm9pZAoJY2FsbHN1YiBib29sSW5PYmoKCWludCAxCglyZXR1cm4KCi8vIGJvb2xJbk9iaigpOiB2b2lkCmJvb2xJbk9iajoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMjUKCS8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9ID0geyBmb286IHRydWUsIGJhcjogdHJ1ZSwgYmF6OiB0cnVlIH0KCWJ5dGUgMHgwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglkdXAKCXNldGJpdAoJaW50IDIKCWludCAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI2CgkvLyB4LmJhciA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAxCglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8geDogeyBmb286IGJvb2xlYW47IGJhcjogYm9vbGVhbjsgYmF6OiBib29sZWFuIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyNwoJLy8gYXNzZXJ0cyh4LmZvbyA9PT0gdHJ1ZSwgeC5iYXIgPT09IGZhbHNlLCB4LmJheiA9PT0gdHJ1ZSkKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWdldGJpdAoJaW50IDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDEKCWdldGJpdAoJaW50IDAKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDIKCWdldGJpdAoJaW50IDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xJbk9iaigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEluT2JqCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestBoolTuple.approval.teal b/tests/contracts/artifacts/ABITestBoolTuple.approval.teal
index dce30c934..16fa6419b 100644
--- a/tests/contracts/artifacts/ABITestBoolTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestBoolTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestBoolTuple.arc32.json b/tests/contracts/artifacts/ABITestBoolTuple.arc32.json
index fff101e33..e7bfad1d2 100644
--- a/tests/contracts/artifacts/ABITestBoolTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestBoolTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODc5CgkvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0gPSBbCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICBdCglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4OTEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sVHVwbGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Jvb2xUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODc5CgkvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0gPSBbCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICBdCglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4OTEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sVHVwbGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Jvb2xUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestBoolTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolTuple.arc56_draft.json
index ac272f6a9..8b5a5eb1a 100644
--- a/tests/contracts/artifacts/ABITestBoolTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestBoolTuple.arc56_draft.json
@@ -60,500 +60,503 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 877,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 877,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 877,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 877,
- "pc": [
- 9
- ]
- },
- {
- "teal": 16,
- "source": 877,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 877,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 877,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 877,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 877,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 878,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 878,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 32,
- "source": 878,
- "pc": [
- 50
- ]
- },
- {
- "teal": 33,
- "source": 878,
- "pc": [
- 51
- ]
- },
- {
- "teal": 34,
- "source": 878,
- "pc": [
- 52
- ]
- },
- {
- "teal": 35,
- "source": 878,
- "pc": [
- 53
- ]
- },
- {
- "teal": 39,
- "source": 878,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 42,
- "source": 878,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 56,
- "source": 880,
- "pc": [
- 59,
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 57,
- "source": 880,
- "pc": [
- 63
- ]
- },
- {
- "teal": 58,
- "source": 880,
- "pc": [
- 64
- ]
- },
- {
- "teal": 59,
- "source": 880,
- "pc": [
- 65
- ]
- },
- {
- "teal": 60,
- "source": 881,
- "pc": [
- 66
- ]
- },
- {
- "teal": 61,
- "source": 881,
- "pc": [
- 67
- ]
- },
- {
- "teal": 62,
- "source": 881,
- "pc": [
- 68
- ]
- },
- {
- "teal": 63,
- "source": 882,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 64,
- "source": 882,
- "pc": [
- 71
- ]
- },
- {
- "teal": 65,
- "source": 882,
- "pc": [
- 72
- ]
- },
- {
- "teal": 66,
- "source": 883,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 67,
- "source": 883,
- "pc": [
- 75
- ]
- },
- {
- "teal": 68,
- "source": 883,
- "pc": [
- 76
- ]
- },
- {
- "teal": 69,
- "source": 884,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 70,
- "source": 884,
- "pc": [
- 79
- ]
- },
- {
- "teal": 71,
- "source": 884,
- "pc": [
- 80
- ]
- },
- {
- "teal": 72,
- "source": 885,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 73,
- "source": 885,
- "pc": [
- 83
- ]
- },
- {
- "teal": 74,
- "source": 885,
- "pc": [
- 84
- ]
- },
- {
- "teal": 75,
- "source": 886,
- "pc": [
- 85
- ]
- },
- {
- "teal": 76,
- "source": 886,
- "pc": [
- 86
- ]
- },
- {
- "teal": 77,
- "source": 886,
- "pc": [
- 87
- ]
- },
- {
- "teal": 78,
- "source": 887,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 79,
- "source": 887,
- "pc": [
- 90
- ]
- },
- {
- "teal": 80,
- "source": 887,
- "pc": [
- 91
- ]
- },
- {
- "teal": 81,
- "source": 888,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 82,
- "source": 888,
- "pc": [
- 94
- ]
- },
- {
- "teal": 83,
- "source": 888,
- "pc": [
- 95
- ]
- },
- {
- "teal": 84,
- "source": 879,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 88,
- "source": 891,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 91,
- "source": 878,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 92,
- "source": 878,
- "pc": [
- 102
- ]
- },
- {
- "teal": 95,
- "source": 877,
- "pc": [
- 103
- ]
- },
- {
- "teal": 96,
- "source": 877,
- "pc": [
- 104
- ]
- },
- {
- "teal": 99,
- "source": 877,
- "pc": [
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 100,
- "source": 877,
- "pc": [
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 101,
- "source": 877,
- "pc": [
- 114,
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 104,
- "source": 877,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 118
- ]
- },
- {
- "teal": 107,
- "source": 877,
- "pc": [
- 119,
- 120,
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 108,
- "source": 877,
- "pc": [
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 109,
- "source": 877,
- "pc": [
- 128,
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 112,
- "source": 877,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 132
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 877,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 877,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 877,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 877,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 877,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 877,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 877,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 877,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 877,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 878,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 878,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 878,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 878,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 878,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 878,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 878,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 878,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 880,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 880,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 880,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 880,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 881,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 881,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 881,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 882,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 882,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 882,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 883,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 883,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 883,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 884,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 884,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 884,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 885,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 885,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 885,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 886,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 886,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 886,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 887,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 887,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 887,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 888,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 888,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 888,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 879,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 891,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 878,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 878,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 877,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 877,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 877,
+ "pc": [
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 877,
+ "pc": [
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 877,
+ "pc": [
+ 114,
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 877,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 877,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 877,
+ "pc": [
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 877,
+ "pc": [
+ 128,
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 877,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 132
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODc5CgkvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0gPSBbCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICBdCglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4OTEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sVHVwbGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Jvb2xUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODc5CgkvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0gPSBbCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICBdCglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4OTEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sVHVwbGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Jvb2xUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestBoolTupleAccess.approval.teal b/tests/contracts/artifacts/ABITestBoolTupleAccess.approval.teal
index 3e438b9cb..8b32640c7 100644
--- a/tests/contracts/artifacts/ABITestBoolTupleAccess.approval.teal
+++ b/tests/contracts/artifacts/ABITestBoolTupleAccess.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestBoolTupleAccess.arc32.json b/tests/contracts/artifacts/ABITestBoolTupleAccess.arc32.json
index 5e6a7d2b6..db61acf63 100644
--- a/tests/contracts/artifacts/ABITestBoolTupleAccess.arc32.json
+++ b/tests/contracts/artifacts/ABITestBoolTupleAccess.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlQWNjZXNzKClib29sCgljYWxsc3ViIGJvb2xUdXBsZUFjY2VzcwoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib29sVHVwbGVBY2Nlc3MoKTogYm9vbGVhbgpib29sVHVwbGVBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MDUKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJZHVwCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDAKCXNldGJpdAoJaW50IDMKCWludCAwCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAwCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MTcKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYm9vbFR1cGxlQWNjZXNzKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlQWNjZXNzKClib29sCgljYWxsc3ViIGJvb2xUdXBsZUFjY2VzcwoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib29sVHVwbGVBY2Nlc3MoKTogYm9vbGVhbgpib29sVHVwbGVBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MDUKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJZHVwCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDAKCXNldGJpdAoJaW50IDMKCWludCAwCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAwCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MTcKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYm9vbFR1cGxlQWNjZXNzKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestBoolTupleAccess.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolTupleAccess.arc56_draft.json
index dac688a97..4e07295eb 100644
--- a/tests/contracts/artifacts/ABITestBoolTupleAccess.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestBoolTupleAccess.arc56_draft.json
@@ -60,561 +60,564 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 903,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 903,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 903,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 903,
- "pc": [
- 10
- ]
- },
- {
- "teal": 16,
- "source": 903,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 903,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 903,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 903,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 903,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 904,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 904,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 904,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 33,
- "source": 904,
- "pc": [
- 54
- ]
- },
- {
- "teal": 34,
- "source": 904,
- "pc": [
- 55,
- 56
- ]
- },
- {
- "teal": 35,
- "source": 904,
- "pc": [
- 57
- ]
- },
- {
- "teal": 36,
- "source": 904,
- "pc": [
- 58
- ]
- },
- {
- "teal": 37,
- "source": 904,
- "pc": [
- 59
- ]
- },
- {
- "teal": 38,
- "source": 904,
- "pc": [
- 60
- ]
- },
- {
- "teal": 39,
- "source": 904,
- "pc": [
- 61
- ]
- },
- {
- "teal": 43,
- "source": 904,
- "pc": [
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 46,
- "source": 904,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 60,
- "source": 906,
- "pc": [
- 67,
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 61,
- "source": 906,
- "pc": [
- 71
- ]
- },
- {
- "teal": 62,
- "source": 906,
- "pc": [
- 72
- ]
- },
- {
- "teal": 63,
- "source": 906,
- "pc": [
- 73
- ]
- },
- {
- "teal": 64,
- "source": 907,
- "pc": [
- 74
- ]
- },
- {
- "teal": 65,
- "source": 907,
- "pc": [
- 75
- ]
- },
- {
- "teal": 66,
- "source": 907,
- "pc": [
- 76
- ]
- },
- {
- "teal": 67,
- "source": 908,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 68,
- "source": 908,
- "pc": [
- 79
- ]
- },
- {
- "teal": 69,
- "source": 908,
- "pc": [
- 80
- ]
- },
- {
- "teal": 70,
- "source": 909,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 71,
- "source": 909,
- "pc": [
- 83
- ]
- },
- {
- "teal": 72,
- "source": 909,
- "pc": [
- 84
- ]
- },
- {
- "teal": 73,
- "source": 910,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 74,
- "source": 910,
- "pc": [
- 87
- ]
- },
- {
- "teal": 75,
- "source": 910,
- "pc": [
- 88
- ]
- },
- {
- "teal": 76,
- "source": 911,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 77,
- "source": 911,
- "pc": [
- 91
- ]
- },
- {
- "teal": 78,
- "source": 911,
- "pc": [
- 92
- ]
- },
- {
- "teal": 79,
- "source": 912,
- "pc": [
- 93
- ]
- },
- {
- "teal": 80,
- "source": 912,
- "pc": [
- 94
- ]
- },
- {
- "teal": 81,
- "source": 912,
- "pc": [
- 95
- ]
- },
- {
- "teal": 82,
- "source": 913,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 83,
- "source": 913,
- "pc": [
- 98
- ]
- },
- {
- "teal": 84,
- "source": 913,
- "pc": [
- 99
- ]
- },
- {
- "teal": 85,
- "source": 914,
- "pc": [
- 100
- ]
- },
- {
- "teal": 86,
- "source": 914,
- "pc": [
- 101
- ]
- },
- {
- "teal": 87,
- "source": 914,
- "pc": [
- 102
- ]
- },
- {
- "teal": 88,
- "source": 905,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 92,
- "source": 917,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 93,
- "source": 917,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 94,
- "source": 917,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 95,
- "source": 917,
- "pc": [
- 111
- ]
- },
- {
- "teal": 96,
- "source": 917,
- "pc": [
- 112
- ]
- },
- {
- "teal": 99,
- "source": 904,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 100,
- "source": 904,
- "pc": [
- 115
- ]
- },
- {
- "teal": 103,
- "source": 903,
- "pc": [
- 116
- ]
- },
- {
- "teal": 104,
- "source": 903,
- "pc": [
- 117
- ]
- },
- {
- "teal": 107,
- "source": 903,
- "pc": [
- 118,
- 119,
- 120,
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 108,
- "source": 903,
- "pc": [
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 109,
- "source": 903,
- "pc": [
- 127,
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 112,
- "source": 903,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 131
- ]
- },
- {
- "teal": 115,
- "source": 903,
- "pc": [
- 132,
- 133,
- 134,
- 135,
- 136,
- 137
- ]
- },
- {
- "teal": 116,
- "source": 903,
- "pc": [
- 138,
- 139,
- 140
- ]
- },
- {
- "teal": 117,
- "source": 903,
- "pc": [
- 141,
- 142,
- 143,
- 144
- ]
- },
- {
- "teal": 120,
- "source": 903,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 145
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 903,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 903,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 903,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 903,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 903,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 903,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 903,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 903,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 903,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 904,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 904,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 904,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 904,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 904,
+ "pc": [
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 904,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 904,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 904,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 904,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 904,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 904,
+ "pc": [
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 904,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 906,
+ "pc": [
+ 67,
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 906,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 906,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 906,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 907,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 907,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 907,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 908,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 908,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 908,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 909,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 909,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 909,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 910,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 910,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 910,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 911,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 911,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 911,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 912,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 912,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 912,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 913,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 913,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 913,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 914,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 914,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 914,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 905,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 917,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 917,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 917,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 917,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 917,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 904,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 904,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 903,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 903,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 903,
+ "pc": [
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 903,
+ "pc": [
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 903,
+ "pc": [
+ 127,
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 903,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 903,
+ "pc": [
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 903,
+ "pc": [
+ 138,
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 903,
+ "pc": [
+ 141,
+ 142,
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 903,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 145
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlQWNjZXNzKClib29sCgljYWxsc3ViIGJvb2xUdXBsZUFjY2VzcwoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib29sVHVwbGVBY2Nlc3MoKTogYm9vbGVhbgpib29sVHVwbGVBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MDUKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJZHVwCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDAKCXNldGJpdAoJaW50IDMKCWludCAwCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAwCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MTcKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYm9vbFR1cGxlQWNjZXNzKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlQWNjZXNzKClib29sCgljYWxsc3ViIGJvb2xUdXBsZUFjY2VzcwoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib29sVHVwbGVBY2Nlc3MoKTogYm9vbGVhbgpib29sVHVwbGVBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MDUKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJZHVwCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDAKCXNldGJpdAoJaW50IDMKCWludCAwCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAwCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MTcKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYm9vbFR1cGxlQWNjZXNzKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestBoolTupleUpdate.approval.teal b/tests/contracts/artifacts/ABITestBoolTupleUpdate.approval.teal
index d10620621..31a5bf7a4 100644
--- a/tests/contracts/artifacts/ABITestBoolTupleUpdate.approval.teal
+++ b/tests/contracts/artifacts/ABITestBoolTupleUpdate.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc32.json b/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc32.json
index 49f85d64e..6d6ef8be2 100644
--- a/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc32.json
+++ b/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGVVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlVXBkYXRlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZVVwZGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZVVwZGF0ZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlVXBkYXRlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTY3CgkvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0gPSBbCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICBdCglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NzkKCS8vIGFbOF0gPSB0cnVlCglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5ODAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Jvb2xUdXBsZVVwZGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGVVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlVXBkYXRlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZVVwZGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZVVwZGF0ZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlVXBkYXRlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTY3CgkvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0gPSBbCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICBdCglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NzkKCS8vIGFbOF0gPSB0cnVlCglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5ODAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Jvb2xUdXBsZVVwZGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc56_draft.json
index 45979c9e8..0682fe8c3 100644
--- a/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc56_draft.json
@@ -60,553 +60,556 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 965,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 965,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 965,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 965,
- "pc": [
- 10
- ]
- },
- {
- "teal": 16,
- "source": 965,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 965,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 965,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 965,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 965,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 966,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 966,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 966,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 966,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 966,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 966,
- "pc": [
- 54
- ]
- },
- {
- "teal": 39,
- "source": 966,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 42,
- "source": 966,
- "pc": [
- 58,
- 59
- ]
- },
- {
- "teal": 56,
- "source": 968,
- "pc": [
- 60,
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 57,
- "source": 968,
- "pc": [
- 64
- ]
- },
- {
- "teal": 58,
- "source": 968,
- "pc": [
- 65
- ]
- },
- {
- "teal": 59,
- "source": 968,
- "pc": [
- 66
- ]
- },
- {
- "teal": 60,
- "source": 969,
- "pc": [
- 67
- ]
- },
- {
- "teal": 61,
- "source": 969,
- "pc": [
- 68
- ]
- },
- {
- "teal": 62,
- "source": 969,
- "pc": [
- 69
- ]
- },
- {
- "teal": 63,
- "source": 970,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 64,
- "source": 970,
- "pc": [
- 72
- ]
- },
- {
- "teal": 65,
- "source": 970,
- "pc": [
- 73
- ]
- },
- {
- "teal": 66,
- "source": 971,
- "pc": [
- 74,
- 75
- ]
- },
- {
- "teal": 67,
- "source": 971,
- "pc": [
- 76
- ]
- },
- {
- "teal": 68,
- "source": 971,
- "pc": [
- 77
- ]
- },
- {
- "teal": 69,
- "source": 972,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 70,
- "source": 972,
- "pc": [
- 80
- ]
- },
- {
- "teal": 71,
- "source": 972,
- "pc": [
- 81
- ]
- },
- {
- "teal": 72,
- "source": 973,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 73,
- "source": 973,
- "pc": [
- 84
- ]
- },
- {
- "teal": 74,
- "source": 973,
- "pc": [
- 85
- ]
- },
- {
- "teal": 75,
- "source": 974,
- "pc": [
- 86
- ]
- },
- {
- "teal": 76,
- "source": 974,
- "pc": [
- 87
- ]
- },
- {
- "teal": 77,
- "source": 974,
- "pc": [
- 88
- ]
- },
- {
- "teal": 78,
- "source": 975,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 79,
- "source": 975,
- "pc": [
- 91
- ]
- },
- {
- "teal": 80,
- "source": 975,
- "pc": [
- 92
- ]
- },
- {
- "teal": 81,
- "source": 976,
- "pc": [
- 93
- ]
- },
- {
- "teal": 82,
- "source": 976,
- "pc": [
- 94
- ]
- },
- {
- "teal": 83,
- "source": 976,
- "pc": [
- 95
- ]
- },
- {
- "teal": 84,
- "source": 967,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 88,
- "source": 979,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 89,
- "source": 979,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 90,
- "source": 979,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 91,
- "source": 979,
- "pc": [
- 104
- ]
- },
- {
- "teal": 92,
- "source": 979,
- "pc": [
- 105
- ]
- },
- {
- "teal": 93,
- "source": 979,
- "pc": [
- 106
- ]
- },
- {
- "teal": 94,
- "source": 979,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 98,
- "source": 980,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 101,
- "source": 966,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 102,
- "source": 966,
- "pc": [
- 113
- ]
- },
- {
- "teal": 105,
- "source": 965,
- "pc": [
- 114
- ]
- },
- {
- "teal": 106,
- "source": 965,
- "pc": [
- 115
- ]
- },
- {
- "teal": 109,
- "source": 965,
- "pc": [
- 116,
- 117,
- 118,
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 110,
- "source": 965,
- "pc": [
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 111,
- "source": 965,
- "pc": [
- 125,
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 114,
- "source": 965,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 129
- ]
- },
- {
- "teal": 117,
- "source": 965,
- "pc": [
- 130,
- 131,
- 132,
- 133,
- 134,
- 135
- ]
- },
- {
- "teal": 118,
- "source": 965,
- "pc": [
- 136,
- 137,
- 138
- ]
- },
- {
- "teal": 119,
- "source": 965,
- "pc": [
- 139,
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 122,
- "source": 965,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 143
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 965,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 965,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 965,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 965,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 965,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 965,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 965,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 965,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 965,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 966,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 966,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 966,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 966,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 966,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 966,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 966,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 966,
+ "pc": [
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 968,
+ "pc": [
+ 60,
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 968,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 968,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 968,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 969,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 969,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 969,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 970,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 970,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 970,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 971,
+ "pc": [
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 971,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 971,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 972,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 972,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 972,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 973,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 973,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 973,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 974,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 974,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 974,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 975,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 975,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 975,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 976,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 976,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 976,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 967,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 979,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 979,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 979,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 979,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 979,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 979,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 979,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 980,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 966,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 966,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 965,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 965,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 965,
+ "pc": [
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 965,
+ "pc": [
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 965,
+ "pc": [
+ 125,
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 965,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 965,
+ "pc": [
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 965,
+ "pc": [
+ 136,
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 965,
+ "pc": [
+ 139,
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 965,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 143
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGVVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlVXBkYXRlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZVVwZGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZVVwZGF0ZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlVXBkYXRlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTY3CgkvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0gPSBbCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICBdCglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NzkKCS8vIGFbOF0gPSB0cnVlCglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5ODAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Jvb2xUdXBsZVVwZGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGVVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlVXBkYXRlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZVVwZGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZVVwZGF0ZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlVXBkYXRlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTY3CgkvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0gPSBbCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICBdCglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NzkKCS8vIGFbOF0gPSB0cnVlCglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5ODAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Jvb2xUdXBsZVVwZGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.approval.teal b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.approval.teal
index 0b50e9dbe..bff8d1045 100644
--- a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.approval.teal
+++ b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc32.json b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc32.json
index 70741baf8..e0cd1c633 100644
--- a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc32.json
+++ b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoqYWJpX3JvdXRlX2Jvb2xlYW5BcmdBbmRSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYm9vbGVhbkFyZ0FuZFJldHVybiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoJY2FsbHN1YiBib29sZWFuQXJnQW5kUmV0dXJuCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xlYW5BcmdBbmRSZXR1cm4oYTogYm9vbGVhbik6IGJvb2xlYW4KYm9vbGVhbkFyZ0FuZFJldHVybjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NzMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJvb2xlYW4KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xlYW5BcmdBbmRSZXR1cm4oYm9vbClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sZWFuQXJnQW5kUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoqYWJpX3JvdXRlX2Jvb2xlYW5BcmdBbmRSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYm9vbGVhbkFyZ0FuZFJldHVybiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoJY2FsbHN1YiBib29sZWFuQXJnQW5kUmV0dXJuCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xlYW5BcmdBbmRSZXR1cm4oYTogYm9vbGVhbik6IGJvb2xlYW4KYm9vbGVhbkFyZ0FuZFJldHVybjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NzMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJvb2xlYW4KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xlYW5BcmdBbmRSZXR1cm4oYm9vbClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sZWFuQXJnQW5kUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc56_draft.json b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc56_draft.json
index e453e76aa..55fffb9f2 100644
--- a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc56_draft.json
@@ -65,361 +65,364 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 871,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4
- ]
- },
- {
- "teal": 13,
- "source": 871,
- "pc": [
- 5,
- 6
- ]
- },
- {
- "teal": 14,
- "source": 871,
- "pc": [
- 7
- ]
- },
- {
- "teal": 15,
- "source": 871,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 16,
- "source": 871,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 871,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 871,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 871,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 871,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 872,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 872,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 32,
- "source": 872,
- "pc": [
- 50
- ]
- },
- {
- "teal": 33,
- "source": 872,
- "pc": [
- 51
- ]
- },
- {
- "teal": 34,
- "source": 872,
- "pc": [
- 52
- ]
- },
- {
- "teal": 35,
- "source": 872,
- "pc": [
- 53
- ]
- },
- {
- "teal": 38,
- "source": 872,
- "errorMessage": "argument 0 (a) for booleanArgAndReturn must be a bool",
- "pc": [
- 54
- ]
- },
- {
- "teal": 39,
- "source": 872,
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 872,
- "pc": [
- 56
- ]
- },
- {
- "teal": 43,
- "source": 872,
- "pc": [
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 44,
- "source": 872,
- "pc": [
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 45,
- "source": 872,
- "pc": [
- 63
- ]
- },
- {
- "teal": 46,
- "source": 872,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 47,
- "source": 872,
- "pc": [
- 66
- ]
- },
- {
- "teal": 48,
- "source": 872,
- "pc": [
- 67
- ]
- },
- {
- "teal": 49,
- "source": 872,
- "pc": [
- 68
- ]
- },
- {
- "teal": 50,
- "source": 872,
- "pc": [
- 69
- ]
- },
- {
- "teal": 51,
- "source": 872,
- "pc": [
- 70
- ]
- },
- {
- "teal": 55,
- "source": 872,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 59,
- "source": 873,
- "pc": [
- 74,
- 75
- ]
- },
- {
- "teal": 60,
- "source": 872,
- "pc": [
- 76
- ]
- },
- {
- "teal": 63,
- "source": 871,
- "pc": [
- 77
- ]
- },
- {
- "teal": 64,
- "source": 871,
- "pc": [
- 78
- ]
- },
- {
- "teal": 67,
- "source": 871,
- "pc": [
- 79,
- 80,
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 68,
- "source": 871,
- "pc": [
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 69,
- "source": 871,
- "pc": [
- 88,
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 72,
- "source": 871,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 92
- ]
- },
- {
- "teal": 75,
- "source": 871,
- "pc": [
- 93,
- 94,
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 76,
- "source": 871,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 77,
- "source": 871,
- "pc": [
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 80,
- "source": 871,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 106
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 871,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 871,
+ "pc": [
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 871,
+ "pc": [
+ 7
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 871,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 871,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 871,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 871,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 871,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 871,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 872,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 872,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 872,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 872,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 872,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 872,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 872,
+ "errorMessage": "argument 0 (a) for booleanArgAndReturn must be a bool",
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 872,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 872,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 872,
+ "pc": [
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 872,
+ "pc": [
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 872,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 872,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 872,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 872,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 872,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 872,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 872,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 872,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 873,
+ "pc": [
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 872,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 871,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 871,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 871,
+ "pc": [
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 871,
+ "pc": [
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 871,
+ "pc": [
+ 88,
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 871,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 871,
+ "pc": [
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 871,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 871,
+ "pc": [
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 871,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 106
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoqYWJpX3JvdXRlX2Jvb2xlYW5BcmdBbmRSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYm9vbGVhbkFyZ0FuZFJldHVybiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoJY2FsbHN1YiBib29sZWFuQXJnQW5kUmV0dXJuCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xlYW5BcmdBbmRSZXR1cm4oYTogYm9vbGVhbik6IGJvb2xlYW4KYm9vbGVhbkFyZ0FuZFJldHVybjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NzMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJvb2xlYW4KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xlYW5BcmdBbmRSZXR1cm4oYm9vbClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sZWFuQXJnQW5kUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoqYWJpX3JvdXRlX2Jvb2xlYW5BcmdBbmRSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYm9vbGVhbkFyZ0FuZFJldHVybiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoJY2FsbHN1YiBib29sZWFuQXJnQW5kUmV0dXJuCglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJvb2xlYW5BcmdBbmRSZXR1cm4oYTogYm9vbGVhbik6IGJvb2xlYW4KYm9vbGVhbkFyZ0FuZFJldHVybjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NzMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJvb2xlYW4KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJvb2xlYW5BcmdBbmRSZXR1cm4oYm9vbClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sZWFuQXJnQW5kUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestBooleanLastInObj.approval.teal b/tests/contracts/artifacts/ABITestBooleanLastInObj.approval.teal
index 4630e9b20..8c690abef 100644
--- a/tests/contracts/artifacts/ABITestBooleanLastInObj.approval.teal
+++ b/tests/contracts/artifacts/ABITestBooleanLastInObj.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestBooleanLastInObj.arc32.json b/tests/contracts/artifacts/ABITestBooleanLastInObj.arc32.json
index 3ef557e1c..168b06eca 100644
--- a/tests/contracts/artifacts/ABITestBooleanLastInObj.arc32.json
+++ b/tests/contracts/artifacts/ABITestBooleanLastInObj.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCiphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iajoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCgljYWxsc3ViIGJvb2xlYW5MYXN0SW5PYmoKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib29sZWFuTGFzdEluT2JqKCk6IHsgbjogdWludDY0OyBiOiBib29sZWFuIH0KYm9vbGVhbkxhc3RJbk9iajoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjY1CgkvLyByZXR1cm4gewoJLy8gICAgICAgbjogMSwKCS8vICAgICAgIGI6IGZhbHNlLAoJLy8gICAgIH07CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJYnl0ZSAweDAwCglpbnQgMAoJZHVwCglzZXRiaXQKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYm9vbGVhbkxhc3RJbk9iaigpKHVpbnQ2NCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iagoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCiphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iajoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCgljYWxsc3ViIGJvb2xlYW5MYXN0SW5PYmoKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib29sZWFuTGFzdEluT2JqKCk6IHsgbjogdWludDY0OyBiOiBib29sZWFuIH0KYm9vbGVhbkxhc3RJbk9iajoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjY1CgkvLyByZXR1cm4gewoJLy8gICAgICAgbjogMSwKCS8vICAgICAgIGI6IGZhbHNlLAoJLy8gICAgIH07CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJYnl0ZSAweDAwCglpbnQgMAoJZHVwCglzZXRiaXQKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYm9vbGVhbkxhc3RJbk9iaigpKHVpbnQ2NCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iagoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestBooleanLastInObj.arc56_draft.json b/tests/contracts/artifacts/ABITestBooleanLastInObj.arc56_draft.json
index b75d7f506..1fd1d9791 100644
--- a/tests/contracts/artifacts/ABITestBooleanLastInObj.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestBooleanLastInObj.arc56_draft.json
@@ -35,10 +35,16 @@
56
],
"structs": {
- "{ n: uint64; b: boolean; }": {
- "n": "uint64",
- "b": "bool"
- }
+ "{ n: uint64; b: boolean; }": [
+ {
+ "name": "n",
+ "type": "uint64"
+ },
+ {
+ "name": "b",
+ "type": "bool"
+ }
+ ]
},
"state": {
"schema": {
@@ -66,316 +72,319 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1263,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1263,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1263,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1263,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1263,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1263,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1263,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1263,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1263,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1264,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1264,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1264,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1264,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1264,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1264,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 1264,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 46,
- "source": 1266,
- "pc": [
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 47,
- "source": 1267,
- "pc": [
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 48,
- "source": 1267,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 49,
- "source": 1267,
- "pc": [
- 71
- ]
- },
- {
- "teal": 50,
- "source": 1267,
- "pc": [
- 72
- ]
- },
- {
- "teal": 51,
- "source": 1265,
- "pc": [
- 73
- ]
- },
- {
- "teal": 52,
- "source": 1264,
- "pc": [
- 74
- ]
- },
- {
- "teal": 55,
- "source": 1263,
- "pc": [
- 75
- ]
- },
- {
- "teal": 56,
- "source": 1263,
- "pc": [
- 76
- ]
- },
- {
- "teal": 59,
- "source": 1263,
- "pc": [
- 77,
- 78,
- 79,
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 60,
- "source": 1263,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 61,
- "source": 1263,
- "pc": [
- 86,
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 64,
- "source": 1263,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 90
- ]
- },
- {
- "teal": 67,
- "source": 1263,
- "pc": [
- 91,
- 92,
- 93,
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 68,
- "source": 1263,
- "pc": [
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 69,
- "source": 1263,
- "pc": [
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 72,
- "source": 1263,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 104
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1263,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1263,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1263,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1263,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1263,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1263,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1263,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1263,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1263,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1264,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1264,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1264,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1264,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1264,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1264,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1264,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1266,
+ "pc": [
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1267,
+ "pc": [
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1267,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1267,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1267,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1265,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1264,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1263,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1263,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1263,
+ "pc": [
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1263,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1263,
+ "pc": [
+ 86,
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1263,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1263,
+ "pc": [
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1263,
+ "pc": [
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1263,
+ "pc": [
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1263,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 104
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCiphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iajoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCgljYWxsc3ViIGJvb2xlYW5MYXN0SW5PYmoKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib29sZWFuTGFzdEluT2JqKCk6IHsgbjogdWludDY0OyBiOiBib29sZWFuIH0KYm9vbGVhbkxhc3RJbk9iajoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjY1CgkvLyByZXR1cm4gewoJLy8gICAgICAgbjogMSwKCS8vICAgICAgIGI6IGZhbHNlLAoJLy8gICAgIH07CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJYnl0ZSAweDAwCglpbnQgMAoJZHVwCglzZXRiaXQKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYm9vbGVhbkxhc3RJbk9iaigpKHVpbnQ2NCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iagoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCiphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iajoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCgljYWxsc3ViIGJvb2xlYW5MYXN0SW5PYmoKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib29sZWFuTGFzdEluT2JqKCk6IHsgbjogdWludDY0OyBiOiBib29sZWFuIH0KYm9vbGVhbkxhc3RJbk9iajoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjY1CgkvLyByZXR1cm4gewoJLy8gICAgICAgbjogMSwKCS8vICAgICAgIGI6IGZhbHNlLAoJLy8gICAgIH07CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJYnl0ZSAweDAwCglpbnQgMAoJZHVwCglzZXRiaXQKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYm9vbGVhbkxhc3RJbk9iaigpKHVpbnQ2NCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iagoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestBytesCasting.approval.teal b/tests/contracts/artifacts/ABITestBytesCasting.approval.teal
index be6d79e31..af318c7ca 100644
--- a/tests/contracts/artifacts/ABITestBytesCasting.approval.teal
+++ b/tests/contracts/artifacts/ABITestBytesCasting.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestBytesCasting.arc32.json b/tests/contracts/artifacts/ABITestBytesCasting.arc32.json
index 0ef5c3c76..f8f322105 100644
--- a/tests/contracts/artifacts/ABITestBytesCasting.arc32.json
+++ b/tests/contracts/artifacts/ABITestBytesCasting.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBieXRlc0Nhc3RpbmcoYnl0ZVtdKWJ5dGVbMl0KKmFiaV9yb3V0ZV9ieXRlc0Nhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXQoJY2FsbHN1YiBieXRlc0Nhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBieXRlc0Nhc3RpbmcoYTogYnl0ZXMpOiBieXRlczwyPgpieXRlc0Nhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIwMQoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzCglieXRlIDB4MDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMiAwCglieXRlIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYnl0ZXNDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBieXRlc0Nhc3RpbmcoYnl0ZVtdKWJ5dGVbMl0KKmFiaV9yb3V0ZV9ieXRlc0Nhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXQoJY2FsbHN1YiBieXRlc0Nhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBieXRlc0Nhc3RpbmcoYTogYnl0ZXMpOiBieXRlczwyPgpieXRlc0Nhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIwMQoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzCglieXRlIDB4MDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMiAwCglieXRlIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYnl0ZXNDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestBytesCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestBytesCasting.arc56_draft.json
index 3c7a8dd6e..f827d996f 100644
--- a/tests/contracts/artifacts/ABITestBytesCasting.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestBytesCasting.arc56_draft.json
@@ -65,352 +65,355 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1199,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1199,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1199,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1199,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1199,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1199,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1199,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1199,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1199,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1200,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1200,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1200,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1200,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 36,
- "source": 1200,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 1200,
- "pc": [
- 56
- ]
- },
- {
- "teal": 38,
- "source": 1200,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 1200,
- "pc": [
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1200,
- "pc": [
- 59,
- 60,
- 61
- ]
- },
- {
- "teal": 47,
- "source": 1201,
- "pc": [
- 62,
- 63
- ]
- },
- {
- "teal": 48,
- "source": 1201,
- "pc": [
- 64,
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 49,
- "source": 1201,
- "pc": [
- 68
- ]
- },
- {
- "teal": 50,
- "source": 1201,
- "pc": [
- 69
- ]
- },
- {
- "teal": 51,
- "source": 1201,
- "pc": [
- 70,
- 71,
- 72
- ]
- },
- {
- "teal": 52,
- "source": 1201,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 53,
- "source": 1201,
- "pc": [
- 75
- ]
- },
- {
- "teal": 54,
- "source": 1201,
- "pc": [
- 76
- ]
- },
- {
- "teal": 55,
- "source": 1201,
- "pc": [
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 56,
- "source": 1200,
- "pc": [
- 80
- ]
- },
- {
- "teal": 59,
- "source": 1199,
- "pc": [
- 81
- ]
- },
- {
- "teal": 60,
- "source": 1199,
- "pc": [
- 82
- ]
- },
- {
- "teal": 63,
- "source": 1199,
- "pc": [
- 83,
- 84,
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 64,
- "source": 1199,
- "pc": [
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 65,
- "source": 1199,
- "pc": [
- 92,
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 68,
- "source": 1199,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 96
- ]
- },
- {
- "teal": 71,
- "source": 1199,
- "pc": [
- 97,
- 98,
- 99,
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 72,
- "source": 1199,
- "pc": [
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 73,
- "source": 1199,
- "pc": [
- 106,
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 76,
- "source": 1199,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 110
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1199,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1199,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1199,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1199,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1199,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1199,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1199,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1199,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1199,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1200,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1200,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1200,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1200,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1200,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1200,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1200,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1200,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1200,
+ "pc": [
+ 59,
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1201,
+ "pc": [
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1201,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1201,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1201,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1201,
+ "pc": [
+ 70,
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1201,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1201,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1201,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1201,
+ "pc": [
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1200,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1199,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1199,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1199,
+ "pc": [
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1199,
+ "pc": [
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1199,
+ "pc": [
+ 92,
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1199,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1199,
+ "pc": [
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1199,
+ "pc": [
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1199,
+ "pc": [
+ 106,
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1199,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 110
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBieXRlc0Nhc3RpbmcoYnl0ZVtdKWJ5dGVbMl0KKmFiaV9yb3V0ZV9ieXRlc0Nhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXQoJY2FsbHN1YiBieXRlc0Nhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBieXRlc0Nhc3RpbmcoYTogYnl0ZXMpOiBieXRlczwyPgpieXRlc0Nhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIwMQoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzCglieXRlIDB4MDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMiAwCglieXRlIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYnl0ZXNDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBieXRlc0Nhc3RpbmcoYnl0ZVtdKWJ5dGVbMl0KKmFiaV9yb3V0ZV9ieXRlc0Nhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXQoJY2FsbHN1YiBieXRlc0Nhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBieXRlc0Nhc3RpbmcoYTogYnl0ZXMpOiBieXRlczwyPgpieXRlc0Nhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIwMQoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzCglieXRlIDB4MDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMiAwCglieXRlIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYnl0ZXNDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestBytesReturn.approval.teal b/tests/contracts/artifacts/ABITestBytesReturn.approval.teal
index 567c354bc..448f08592 100644
--- a/tests/contracts/artifacts/ABITestBytesReturn.approval.teal
+++ b/tests/contracts/artifacts/ABITestBytesReturn.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestBytesReturn.arc32.json b/tests/contracts/artifacts/ABITestBytesReturn.arc32.json
index 5b71ed0ab..b69ff2566 100644
--- a/tests/contracts/artifacts/ABITestBytesReturn.arc32.json
+++ b/tests/contracts/artifacts/ABITestBytesReturn.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBieXRlc1JldHVybigpYnl0ZVtdCiphYmlfcm91dGVfYnl0ZXNSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnl0ZXNSZXR1cm4oKWJ5dGVbXQoJY2FsbHN1YiBieXRlc1JldHVybgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBieXRlc1JldHVybigpOiBieXRlcwpieXRlc1JldHVybjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTI2CgkvLyByZXR1cm4gJ2Zvbyc7CglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJieXRlc1JldHVybigpYnl0ZVtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ieXRlc1JldHVybgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBieXRlc1JldHVybigpYnl0ZVtdCiphYmlfcm91dGVfYnl0ZXNSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnl0ZXNSZXR1cm4oKWJ5dGVbXQoJY2FsbHN1YiBieXRlc1JldHVybgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBieXRlc1JldHVybigpOiBieXRlcwpieXRlc1JldHVybjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTI2CgkvLyByZXR1cm4gJ2Zvbyc7CglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJieXRlc1JldHVybigpYnl0ZVtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ieXRlc1JldHVybgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestBytesReturn.arc56_draft.json b/tests/contracts/artifacts/ABITestBytesReturn.arc56_draft.json
index edcf303af..72ba5076c 100644
--- a/tests/contracts/artifacts/ABITestBytesReturn.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestBytesReturn.arc56_draft.json
@@ -60,317 +60,320 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1124,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1124,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1124,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1124,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1124,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1124,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1124,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1124,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1124,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1125,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1125,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1125,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1125,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1125,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1125,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 36,
- "source": 1125,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 1125,
- "pc": [
- 56
- ]
- },
- {
- "teal": 38,
- "source": 1125,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 1125,
- "pc": [
- 58
- ]
- },
- {
- "teal": 40,
- "source": 1125,
- "pc": [
- 59
- ]
- },
- {
- "teal": 41,
- "source": 1125,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 1125,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 49,
- "source": 1126,
- "pc": [
- 64,
- 65,
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 50,
- "source": 1125,
- "pc": [
- 69
- ]
- },
- {
- "teal": 53,
- "source": 1124,
- "pc": [
- 70
- ]
- },
- {
- "teal": 54,
- "source": 1124,
- "pc": [
- 71
- ]
- },
- {
- "teal": 57,
- "source": 1124,
- "pc": [
- 72,
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 58,
- "source": 1124,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 59,
- "source": 1124,
- "pc": [
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 62,
- "source": 1124,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 85
- ]
- },
- {
- "teal": 65,
- "source": 1124,
- "pc": [
- 86,
- 87,
- 88,
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 66,
- "source": 1124,
- "pc": [
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 67,
- "source": 1124,
- "pc": [
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 70,
- "source": 1124,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 99
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1124,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1124,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1124,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1124,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1124,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1124,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1124,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1124,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1124,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1125,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1125,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1125,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1125,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1125,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1125,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1125,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1125,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1125,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1125,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1125,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1125,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1125,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1126,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1125,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1124,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1124,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1124,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1124,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1124,
+ "pc": [
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1124,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1124,
+ "pc": [
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1124,
+ "pc": [
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1124,
+ "pc": [
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1124,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 99
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBieXRlc1JldHVybigpYnl0ZVtdCiphYmlfcm91dGVfYnl0ZXNSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnl0ZXNSZXR1cm4oKWJ5dGVbXQoJY2FsbHN1YiBieXRlc1JldHVybgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBieXRlc1JldHVybigpOiBieXRlcwpieXRlc1JldHVybjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTI2CgkvLyByZXR1cm4gJ2Zvbyc7CglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJieXRlc1JldHVybigpYnl0ZVtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ieXRlc1JldHVybgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBieXRlc1JldHVybigpYnl0ZVtdCiphYmlfcm91dGVfYnl0ZXNSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnl0ZXNSZXR1cm4oKWJ5dGVbXQoJY2FsbHN1YiBieXRlc1JldHVybgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBieXRlc1JldHVybigpOiBieXRlcwpieXRlc1JldHVybjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTI2CgkvLyByZXR1cm4gJ2Zvbyc7CglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJieXRlc1JldHVybigpYnl0ZVtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ieXRlc1JldHVybgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestCastBytesFunction.approval.teal b/tests/contracts/artifacts/ABITestCastBytesFunction.approval.teal
index 9369c50db..e59110557 100644
--- a/tests/contracts/artifacts/ABITestCastBytesFunction.approval.teal
+++ b/tests/contracts/artifacts/ABITestCastBytesFunction.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestCastBytesFunction.arc32.json b/tests/contracts/artifacts/ABITestCastBytesFunction.arc32.json
index 1485e5fda..6e16b8f83 100644
--- a/tests/contracts/artifacts/ABITestCastBytesFunction.arc32.json
+++ b/tests/contracts/artifacts/ABITestCastBytesFunction.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KKmFiaV9yb3V0ZV9jYXN0Qnl0ZXNGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KCWNhbGxzdWIgY2FzdEJ5dGVzRnVuY3Rpb24KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgpjYXN0Qnl0ZXNGdW5jdGlvbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDQ3CgkvLyByZXR1cm4gY2FzdEJ5dGVzPFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+PihoZXgoJzB4MDEwMjAzJykpOwoJYnl0ZSAweDAxMDIwMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY2FzdEJ5dGVzRnVuY3Rpb24oKXVpbnQ4WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jYXN0Qnl0ZXNGdW5jdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KKmFiaV9yb3V0ZV9jYXN0Qnl0ZXNGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KCWNhbGxzdWIgY2FzdEJ5dGVzRnVuY3Rpb24KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgpjYXN0Qnl0ZXNGdW5jdGlvbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDQ3CgkvLyByZXR1cm4gY2FzdEJ5dGVzPFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+PihoZXgoJzB4MDEwMjAzJykpOwoJYnl0ZSAweDAxMDIwMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY2FzdEJ5dGVzRnVuY3Rpb24oKXVpbnQ4WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jYXN0Qnl0ZXNGdW5jdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestCastBytesFunction.arc56_draft.json b/tests/contracts/artifacts/ABITestCastBytesFunction.arc56_draft.json
index a3f1a4cc5..7b5430190 100644
--- a/tests/contracts/artifacts/ABITestCastBytesFunction.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestCastBytesFunction.arc56_draft.json
@@ -60,273 +60,276 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1045,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1045,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1045,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1045,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1045,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1045,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1045,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1045,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1045,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1046,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1046,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1046,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1046,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1046,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1046,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 1046,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 43,
- "source": 1047,
- "pc": [
- 56,
- 57,
- 58,
- 59,
- 60
- ]
- },
- {
- "teal": 44,
- "source": 1046,
- "pc": [
- 61
- ]
- },
- {
- "teal": 47,
- "source": 1045,
- "pc": [
- 62
- ]
- },
- {
- "teal": 48,
- "source": 1045,
- "pc": [
- 63
- ]
- },
- {
- "teal": 51,
- "source": 1045,
- "pc": [
- 64,
- 65,
- 66,
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 52,
- "source": 1045,
- "pc": [
- 70,
- 71,
- 72
- ]
- },
- {
- "teal": 53,
- "source": 1045,
- "pc": [
- 73,
- 74,
- 75,
- 76
- ]
- },
- {
- "teal": 56,
- "source": 1045,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 77
- ]
- },
- {
- "teal": 59,
- "source": 1045,
- "pc": [
- 78,
- 79,
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 60,
- "source": 1045,
- "pc": [
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 61,
- "source": 1045,
- "pc": [
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 64,
- "source": 1045,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 91
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1045,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1045,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1045,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1045,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1045,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1045,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1045,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1045,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1045,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1046,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1046,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1046,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1046,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1046,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1046,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1046,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1047,
+ "pc": [
+ 56,
+ 57,
+ 58,
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1046,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1045,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1045,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1045,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1045,
+ "pc": [
+ 70,
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1045,
+ "pc": [
+ 73,
+ 74,
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1045,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1045,
+ "pc": [
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1045,
+ "pc": [
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1045,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1045,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 91
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KKmFiaV9yb3V0ZV9jYXN0Qnl0ZXNGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KCWNhbGxzdWIgY2FzdEJ5dGVzRnVuY3Rpb24KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgpjYXN0Qnl0ZXNGdW5jdGlvbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDQ3CgkvLyByZXR1cm4gY2FzdEJ5dGVzPFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+PihoZXgoJzB4MDEwMjAzJykpOwoJYnl0ZSAweDAxMDIwMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY2FzdEJ5dGVzRnVuY3Rpb24oKXVpbnQ4WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jYXN0Qnl0ZXNGdW5jdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KKmFiaV9yb3V0ZV9jYXN0Qnl0ZXNGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KCWNhbGxzdWIgY2FzdEJ5dGVzRnVuY3Rpb24KCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgpjYXN0Qnl0ZXNGdW5jdGlvbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDQ3CgkvLyByZXR1cm4gY2FzdEJ5dGVzPFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+PihoZXgoJzB4MDEwMjAzJykpOwoJYnl0ZSAweDAxMDIwMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY2FzdEJ5dGVzRnVuY3Rpb24oKXVpbnQ4WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jYXN0Qnl0ZXNGdW5jdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.approval.teal b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.approval.teal
index 8297e007b..32233d028 100644
--- a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc32.json b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc32.json
index 312efa24d..9746a497f 100644
--- a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZToKCS8vIGFzYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGUKCWludCAxCglyZXR1cm4KCi8vIGNoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGUoYXNhOiBBc3NldElEKTogdm9pZApjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3MwoJLy8gbzogVDcgPSB7IGZvbzogdGhpcy5hcHAuYWRkcmVzcyB9CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIG86IFQ3CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNzUKCS8vIGFzc2VydCghby5mb28uaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIDAgLy8gbzogVDcKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIGFzYTogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZToKCS8vIGFzYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGUKCWludCAxCglyZXR1cm4KCi8vIGNoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGUoYXNhOiBBc3NldElEKTogdm9pZApjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3MwoJLy8gbzogVDcgPSB7IGZvbzogdGhpcy5hcHAuYWRkcmVzcyB9CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIG86IFQ3CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNzUKCS8vIGFzc2VydCghby5mb28uaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIDAgLy8gbzogVDcKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIGFzYTogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc56_draft.json
index bfd4e64f0..88d067376 100644
--- a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc56_draft.json
@@ -65,337 +65,340 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1171,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1171,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1171,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1171,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1171,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1171,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1171,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1171,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1171,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1172,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 29,
- "source": 1172,
- "pc": [
- 43
- ]
- },
- {
- "teal": 32,
- "source": 1172,
- "pc": [
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 33,
- "source": 1172,
- "pc": [
- 47
- ]
- },
- {
- "teal": 34,
- "source": 1172,
- "pc": [
- 48
- ]
- },
- {
- "teal": 38,
- "source": 1172,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 41,
- "source": 1172,
- "pc": [
- 52,
- 53
- ]
- },
- {
- "teal": 45,
- "source": 1173,
- "pc": [
- 54,
- 55
- ]
- },
- {
- "teal": 46,
- "source": 1173,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 50,
- "source": 1175,
- "pc": [
- 58,
- 59
- ]
- },
- {
- "teal": 51,
- "source": 1175,
- "pc": [
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 52,
- "source": 1175,
- "pc": [
- 63,
- 64
- ]
- },
- {
- "teal": 53,
- "source": 1175,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 54,
- "source": 1175,
- "pc": [
- 67
- ]
- },
- {
- "teal": 55,
- "source": 1175,
- "pc": [
- 68
- ]
- },
- {
- "teal": 56,
- "source": 1175,
- "pc": [
- 69
- ]
- },
- {
- "teal": 57,
- "source": 1175,
- "pc": [
- 70
- ]
- },
- {
- "teal": 58,
- "source": 1172,
- "pc": [
- 71
- ]
- },
- {
- "teal": 61,
- "source": 1171,
- "pc": [
- 72
- ]
- },
- {
- "teal": 62,
- "source": 1171,
- "pc": [
- 73
- ]
- },
- {
- "teal": 65,
- "source": 1171,
- "pc": [
- 74,
- 75,
- 76,
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 66,
- "source": 1171,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 67,
- "source": 1171,
- "pc": [
- 83,
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 70,
- "source": 1171,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 87
- ]
- },
- {
- "teal": 73,
- "source": 1171,
- "pc": [
- 88,
- 89,
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 74,
- "source": 1171,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 75,
- "source": 1171,
- "pc": [
- 97,
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 78,
- "source": 1171,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 101
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1171,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1171,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1171,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1171,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1171,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1171,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1171,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1171,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1171,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1172,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 1172,
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1172,
+ "pc": [
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1172,
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1172,
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1172,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1172,
+ "pc": [
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1173,
+ "pc": [
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1173,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1175,
+ "pc": [
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1175,
+ "pc": [
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1175,
+ "pc": [
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1175,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1175,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1175,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1175,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1175,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1172,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1171,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1171,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1171,
+ "pc": [
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1171,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1171,
+ "pc": [
+ 83,
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1171,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1171,
+ "pc": [
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1171,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1171,
+ "pc": [
+ 97,
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1171,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 101
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZToKCS8vIGFzYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGUKCWludCAxCglyZXR1cm4KCi8vIGNoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGUoYXNhOiBBc3NldElEKTogdm9pZApjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3MwoJLy8gbzogVDcgPSB7IGZvbzogdGhpcy5hcHAuYWRkcmVzcyB9CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIG86IFQ3CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNzUKCS8vIGFzc2VydCghby5mb28uaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIDAgLy8gbzogVDcKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIGFzYTogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZToKCS8vIGFzYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGUKCWludCAxCglyZXR1cm4KCi8vIGNoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGUoYXNhOiBBc3NldElEKTogdm9pZApjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3MwoJLy8gbzogVDcgPSB7IGZvbzogdGhpcy5hcHAuYWRkcmVzcyB9CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIG86IFQ3CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNzUKCS8vIGFzc2VydCghby5mb28uaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIDAgLy8gbzogVDcKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIGFzYTogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestCustomTypes.approval.teal b/tests/contracts/artifacts/ABITestCustomTypes.approval.teal
index d2784cd9b..46f8c6914 100644
--- a/tests/contracts/artifacts/ABITestCustomTypes.approval.teal
+++ b/tests/contracts/artifacts/ABITestCustomTypes.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestCustomTypes.arc32.json b/tests/contracts/artifacts/ABITestCustomTypes.arc32.json
index 7ceaff27c..df226a7d5 100644
--- a/tests/contracts/artifacts/ABITestCustomTypes.arc32.json
+++ b/tests/contracts/artifacts/ABITestCustomTypes.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjdXN0b21UeXBlcygpc3RyaW5nCiphYmlfcm91dGVfY3VzdG9tVHlwZXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY3VzdG9tVHlwZXMoKXN0cmluZwoJY2FsbHN1YiBjdXN0b21UeXBlcwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjdXN0b21UeXBlcygpOiBzdHJpbmcKY3VzdG9tVHlwZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MzIKCS8vIGFhOiBDdXN0b21UeXBlID0gewoJLy8gICAgICAgZm9vOiAxLAoJLy8gICAgICAgYmFyOiAnSGk/JywKCS8vICAgICB9CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzQ4NjkzZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGFhOiBDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjYzNwoJLy8gYWEuYmFyID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGFhOiBDdXN0b21UeXBlCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDBjNDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxCglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYWE6IEN1c3RvbVR5cGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjM5CgkvLyByZXR1cm4gYWEuYmFyOwoJZnJhbWVfZGlnIDAgLy8gYWE6IEN1c3RvbVR5cGUKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJjdXN0b21UeXBlcygpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21UeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlOgoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgk8CglibnogKnN3YXBwZWRfZGlmZmVyZW5jZQoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglpbnQgMQoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYiAqZ2V0X2RpZmZlcmVuY2UKCipzd2FwcGVkX2RpZmZlcmVuY2U6Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWludCAwCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgoqZ2V0X2RpZmZlcmVuY2U6CgktIC8vIGdldCBsZW5ndGggZGlmZmVyZW5jZQoJc3RvcmUgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjdXN0b21UeXBlcygpc3RyaW5nCiphYmlfcm91dGVfY3VzdG9tVHlwZXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY3VzdG9tVHlwZXMoKXN0cmluZwoJY2FsbHN1YiBjdXN0b21UeXBlcwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjdXN0b21UeXBlcygpOiBzdHJpbmcKY3VzdG9tVHlwZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MzIKCS8vIGFhOiBDdXN0b21UeXBlID0gewoJLy8gICAgICAgZm9vOiAxLAoJLy8gICAgICAgYmFyOiAnSGk/JywKCS8vICAgICB9CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzQ4NjkzZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGFhOiBDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjYzNwoJLy8gYWEuYmFyID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGFhOiBDdXN0b21UeXBlCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDBjNDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxCglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYWE6IEN1c3RvbVR5cGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjM5CgkvLyByZXR1cm4gYWEuYmFyOwoJZnJhbWVfZGlnIDAgLy8gYWE6IEN1c3RvbVR5cGUKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJjdXN0b21UeXBlcygpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21UeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlOgoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgk8CglibnogKnN3YXBwZWRfZGlmZmVyZW5jZQoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglpbnQgMQoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYiAqZ2V0X2RpZmZlcmVuY2UKCipzd2FwcGVkX2RpZmZlcmVuY2U6Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWludCAwCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgoqZ2V0X2RpZmZlcmVuY2U6CgktIC8vIGdldCBsZW5ndGggZGlmZmVyZW5jZQoJc3RvcmUgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestCustomTypes.arc56_draft.json b/tests/contracts/artifacts/ABITestCustomTypes.arc56_draft.json
index 00b416a1f..578bf54ae 100644
--- a/tests/contracts/artifacts/ABITestCustomTypes.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestCustomTypes.arc56_draft.json
@@ -60,1226 +60,1229 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 630,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8
- ]
- },
- {
- "teal": 13,
- "source": 630,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 14,
- "source": 630,
- "pc": [
- 11
- ]
- },
- {
- "teal": 15,
- "source": 630,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 16,
- "source": 630,
- "pc": [
- 14
- ]
- },
- {
- "teal": 17,
- "source": 630,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 18,
- "source": 630,
- "pc": [
- 17
- ]
- },
- {
- "teal": 19,
- "source": 630,
- "pc": [
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43
- ]
- },
- {
- "teal": 23,
- "source": 630,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 44
- ]
- },
- {
- "teal": 28,
- "source": 631,
- "pc": [
- 45,
- 46,
- 47,
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 31,
- "source": 631,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 32,
- "source": 631,
- "pc": [
- 54
- ]
- },
- {
- "teal": 33,
- "source": 631,
- "pc": [
- 55
- ]
- },
- {
- "teal": 34,
- "source": 631,
- "pc": [
- 56
- ]
- },
- {
- "teal": 35,
- "source": 631,
- "pc": [
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 36,
- "source": 631,
- "pc": [
- 60
- ]
- },
- {
- "teal": 37,
- "source": 631,
- "pc": [
- 61
- ]
- },
- {
- "teal": 38,
- "source": 631,
- "pc": [
- 62
- ]
- },
- {
- "teal": 39,
- "source": 631,
- "pc": [
- 63
- ]
- },
- {
- "teal": 40,
- "source": 631,
- "pc": [
- 64
- ]
- },
- {
- "teal": 41,
- "source": 631,
- "pc": [
- 65
- ]
- },
- {
- "teal": 45,
- "source": 631,
- "pc": [
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 48,
- "source": 631,
- "pc": [
- 69
- ]
- },
- {
- "teal": 55,
- "source": 632,
- "pc": [
- 70
- ]
- },
- {
- "teal": 56,
- "source": 632,
- "pc": [
- 71
- ]
- },
- {
- "teal": 57,
- "source": 632,
- "pc": [
- 72,
- 73,
- 74,
- 75
- ]
- },
- {
- "teal": 58,
- "source": 633,
- "pc": [
- 76,
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 59,
- "source": 633,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 60,
- "source": 634,
- "pc": [
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 61,
- "source": 634,
- "pc": [
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 62,
- "source": 632,
- "pc": [
- 93
- ]
- },
- {
- "teal": 63,
- "source": 632,
- "pc": [
- 94
- ]
- },
- {
- "teal": 64,
- "source": 632,
- "pc": [
- 95,
- 96
- ]
- },
- {
- "teal": 68,
- "source": 637,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 69,
- "source": 637,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 70,
- "source": 637,
- "pc": [
- 101
- ]
- },
- {
- "teal": 71,
- "source": 637,
- "pc": [
- 102
- ]
- },
- {
- "teal": 72,
- "source": 637,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 73,
- "source": 637,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 74,
- "source": 637,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 75,
- "source": 637,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 76,
- "source": 637,
- "pc": [
- 111
- ]
- },
- {
- "teal": 77,
- "source": 637,
- "pc": [
- 112
- ]
- },
- {
- "teal": 78,
- "source": 637,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 79,
- "source": 637,
- "pc": [
- 115
- ]
- },
- {
- "teal": 80,
- "source": 637,
- "pc": [
- 116,
- 117
- ]
- },
- {
- "teal": 81,
- "source": 637,
- "pc": [
- 118
- ]
- },
- {
- "teal": 82,
- "source": 637,
- "pc": [
- 119
- ]
- },
- {
- "teal": 83,
- "source": 637,
- "pc": [
- 120
- ]
- },
- {
- "teal": 84,
- "source": 637,
- "pc": [
- 121
- ]
- },
- {
- "teal": 85,
- "source": 637,
- "pc": [
- 122
- ]
- },
- {
- "teal": 86,
- "source": 637,
- "pc": [
- 123
- ]
- },
- {
- "teal": 87,
- "source": 637,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 88,
- "source": 637,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 89,
- "source": 637,
- "pc": [
- 128
- ]
- },
- {
- "teal": 90,
- "source": 637,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 91,
- "source": 637,
- "pc": [
- 131
- ]
- },
- {
- "teal": 92,
- "source": 637,
- "pc": [
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147
- ]
- },
- {
- "teal": 93,
- "source": 637,
- "pc": [
- 148
- ]
- },
- {
- "teal": 94,
- "source": 637,
- "pc": [
- 149,
- 150
- ]
- },
- {
- "teal": 95,
- "source": 637,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 96,
- "source": 637,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 97,
- "source": 637,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 98,
- "source": 637,
- "pc": [
- 157
- ]
- },
- {
- "teal": 99,
- "source": 637,
- "pc": [
- 158,
- 159
- ]
- },
- {
- "teal": 100,
- "source": 637,
- "pc": [
- 160
- ]
- },
- {
- "teal": 101,
- "source": 637,
- "pc": [
- 161
- ]
- },
- {
- "teal": 102,
- "source": 637,
- "pc": [
- 162
- ]
- },
- {
- "teal": 103,
- "source": 637,
- "pc": [
- 163
- ]
- },
- {
- "teal": 104,
- "source": 637,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 105,
- "source": 637,
- "pc": [
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 106,
- "source": 637,
- "pc": [
- 169,
- 170
- ]
- },
- {
- "teal": 107,
- "source": 637,
- "pc": [
- 171,
- 172
- ]
- },
- {
- "teal": 111,
- "source": 639,
- "pc": [
- 173,
- 174
- ]
- },
- {
- "teal": 112,
- "source": 639,
- "pc": [
- 175,
- 176
- ]
- },
- {
- "teal": 113,
- "source": 639,
- "pc": [
- 177
- ]
- },
- {
- "teal": 114,
- "source": 639,
- "pc": [
- 178,
- 179
- ]
- },
- {
- "teal": 115,
- "source": 639,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 116,
- "source": 639,
- "pc": [
- 182,
- 183
- ]
- },
- {
- "teal": 117,
- "source": 639,
- "pc": [
- 184
- ]
- },
- {
- "teal": 118,
- "source": 639,
- "pc": [
- 185
- ]
- },
- {
- "teal": 119,
- "source": 639,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 120,
- "source": 639,
- "pc": [
- 188
- ]
- },
- {
- "teal": 121,
- "source": 639,
- "pc": [
- 189
- ]
- },
- {
- "teal": 122,
- "source": 639,
- "pc": [
- 190
- ]
- },
- {
- "teal": 123,
- "source": 639,
- "pc": [
- 191
- ]
- },
- {
- "teal": 124,
- "source": 639,
- "pc": [
- 192
- ]
- },
- {
- "teal": 125,
- "source": 639,
- "pc": [
- 193
- ]
- },
- {
- "teal": 126,
- "source": 639,
- "pc": [
- 194
- ]
- },
- {
- "teal": 127,
- "source": 639,
- "pc": [
- 195,
- 196,
- 197
- ]
- },
- {
- "teal": 130,
- "source": 631,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 131,
- "source": 631,
- "pc": [
- 200
- ]
- },
- {
- "teal": 134,
- "source": 630,
- "pc": [
- 201
- ]
- },
- {
- "teal": 135,
- "source": 630,
- "pc": [
- 202
- ]
- },
- {
- "teal": 138,
- "source": 630,
- "pc": [
- 203,
- 204,
- 205,
- 206,
- 207,
- 208
- ]
- },
- {
- "teal": 139,
- "source": 630,
- "pc": [
- 209,
- 210,
- 211
- ]
- },
- {
- "teal": 140,
- "source": 630,
- "pc": [
- 212,
- 213,
- 214,
- 215
- ]
- },
- {
- "teal": 143,
- "source": 630,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 216
- ]
- },
- {
- "teal": 146,
- "source": 630,
- "pc": [
- 217,
- 218,
- 219,
- 220,
- 221,
- 222
- ]
- },
- {
- "teal": 147,
- "source": 630,
- "pc": [
- 223,
- 224,
- 225
- ]
- },
- {
- "teal": 148,
- "source": 630,
- "pc": [
- 226,
- 227,
- 228,
- 229
- ]
- },
- {
- "teal": 151,
- "source": 630,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 230
- ]
- },
- {
- "teal": 154,
- "source": 630,
- "pc": [
- 231,
- 232,
- 233
- ]
- },
- {
- "teal": 155,
- "source": 630,
- "pc": [
- 234,
- 235
- ]
- },
- {
- "teal": 156,
- "source": 630,
- "pc": [
- 236,
- 237
- ]
- },
- {
- "teal": 157,
- "source": 630,
- "pc": [
- 238
- ]
- },
- {
- "teal": 158,
- "source": 630,
- "pc": [
- 239,
- 240
- ]
- },
- {
- "teal": 159,
- "source": 630,
- "pc": [
- 241,
- 242
- ]
- },
- {
- "teal": 160,
- "source": 630,
- "pc": [
- 243
- ]
- },
- {
- "teal": 163,
- "source": 630,
- "pc": [
- 244,
- 245,
- 246
- ]
- },
- {
- "teal": 164,
- "source": 630,
- "pc": [
- 247,
- 248
- ]
- },
- {
- "teal": 165,
- "source": 630,
- "pc": [
- 249,
- 250
- ]
- },
- {
- "teal": 166,
- "source": 630,
- "pc": [
- 251
- ]
- },
- {
- "teal": 167,
- "source": 630,
- "pc": [
- 252,
- 253
- ]
- },
- {
- "teal": 168,
- "source": 630,
- "pc": [
- 254,
- 255
- ]
- },
- {
- "teal": 169,
- "source": 630,
- "pc": [
- 256
- ]
- },
- {
- "teal": 170,
- "source": 630,
- "pc": [
- 257
- ]
- },
- {
- "teal": 171,
- "source": 630,
- "pc": [
- 258,
- 259
- ]
- },
- {
- "teal": 172,
- "source": 630,
- "pc": [
- 260
- ]
- },
- {
- "teal": 173,
- "source": 630,
- "pc": [
- 261
- ]
- },
- {
- "teal": 174,
- "source": 630,
- "pc": [
- 262
- ]
- },
- {
- "teal": 175,
- "source": 630,
- "pc": [
- 263,
- 264,
- 265
- ]
- },
- {
- "teal": 176,
- "source": 630,
- "pc": [
- 266,
- 267
- ]
- },
- {
- "teal": 177,
- "source": 630,
- "pc": [
- 268,
- 269
- ]
- },
- {
- "teal": 178,
- "source": 630,
- "pc": [
- 270
- ]
- },
- {
- "teal": 179,
- "source": 630,
- "pc": [
- 271
- ]
- },
- {
- "teal": 180,
- "source": 630,
- "pc": [
- 272,
- 273
- ]
- },
- {
- "teal": 181,
- "source": 630,
- "pc": [
- 274,
- 275
- ]
- },
- {
- "teal": 182,
- "source": 630,
- "pc": [
- 276,
- 277
- ]
- },
- {
- "teal": 183,
- "source": 630,
- "pc": [
- 278,
- 279
- ]
- },
- {
- "teal": 184,
- "source": 630,
- "pc": [
- 280
- ]
- },
- {
- "teal": 187,
- "source": 630,
- "pc": [
- 281,
- 282
- ]
- },
- {
- "teal": 188,
- "source": 630,
- "pc": [
- 283
- ]
- },
- {
- "teal": 189,
- "source": 630,
- "pc": [
- 284,
- 285
- ]
- },
- {
- "teal": 190,
- "source": 630,
- "pc": [
- 286
- ]
- },
- {
- "teal": 191,
- "source": 630,
- "pc": [
- 287,
- 288,
- 289
- ]
- },
- {
- "teal": 192,
- "source": 630,
- "pc": [
- 290,
- 291
- ]
- },
- {
- "teal": 193,
- "source": 630,
- "pc": [
- 292
- ]
- },
- {
- "teal": 194,
- "source": 630,
- "pc": [
- 293,
- 294
- ]
- },
- {
- "teal": 195,
- "source": 630,
- "pc": [
- 295
- ]
- },
- {
- "teal": 196,
- "source": 630,
- "pc": [
- 296,
- 297
- ]
- },
- {
- "teal": 197,
- "source": 630,
- "pc": [
- 298,
- 299,
- 300
- ]
- },
- {
- "teal": 200,
- "source": 630,
- "pc": [
- 301,
- 302
- ]
- },
- {
- "teal": 201,
- "source": 630,
- "pc": [
- 303,
- 304
- ]
- },
- {
- "teal": 202,
- "source": 630,
- "pc": [
- 305
- ]
- },
- {
- "teal": 203,
- "source": 630,
- "pc": [
- 306
- ]
- },
- {
- "teal": 204,
- "source": 630,
- "pc": [
- 307,
- 308
- ]
- },
- {
- "teal": 207,
- "source": 630,
- "pc": [
- 309
- ]
- },
- {
- "teal": 208,
- "source": 630,
- "pc": [
- 310,
- 311
- ]
- },
- {
- "teal": 209,
- "source": 630,
- "pc": [
- 312
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 630,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 630,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 630,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 630,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 630,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 630,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 630,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 630,
+ "pc": [
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 630,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 631,
+ "pc": [
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 631,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 631,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 631,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 631,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 631,
+ "pc": [
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 631,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 631,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 631,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 631,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 631,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 631,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 631,
+ "pc": [
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 631,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 632,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 632,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 632,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 633,
+ "pc": [
+ 76,
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 633,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 634,
+ "pc": [
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 634,
+ "pc": [
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 632,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 632,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 632,
+ "pc": [
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 637,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 637,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 637,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 637,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 637,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 637,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 637,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 637,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 637,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 637,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 637,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 637,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 637,
+ "pc": [
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 637,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 637,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 637,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 637,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 637,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 637,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 637,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 637,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 637,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 637,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 637,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 637,
+ "pc": [
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 637,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 637,
+ "pc": [
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 637,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 637,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 637,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 637,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 637,
+ "pc": [
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 637,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 637,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 637,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 637,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 637,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 637,
+ "pc": [
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 637,
+ "pc": [
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 637,
+ "pc": [
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 639,
+ "pc": [
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 639,
+ "pc": [
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 639,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 639,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 639,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 639,
+ "pc": [
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 639,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 639,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 639,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 639,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 639,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 639,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 639,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 639,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 639,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 639,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 639,
+ "pc": [
+ 195,
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 631,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 631,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 630,
+ "pc": [
+ 201
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 630,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 630,
+ "pc": [
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 630,
+ "pc": [
+ 209,
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 630,
+ "pc": [
+ 212,
+ 213,
+ 214,
+ 215
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 630,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 630,
+ "pc": [
+ 217,
+ 218,
+ 219,
+ 220,
+ 221,
+ 222
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 630,
+ "pc": [
+ 223,
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 630,
+ "pc": [
+ 226,
+ 227,
+ 228,
+ 229
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 630,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 230
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 630,
+ "pc": [
+ 231,
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 630,
+ "pc": [
+ 234,
+ 235
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 630,
+ "pc": [
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 630,
+ "pc": [
+ 238
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 630,
+ "pc": [
+ 239,
+ 240
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 630,
+ "pc": [
+ 241,
+ 242
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 630,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 630,
+ "pc": [
+ 244,
+ 245,
+ 246
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 630,
+ "pc": [
+ 247,
+ 248
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 630,
+ "pc": [
+ 249,
+ 250
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 630,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 630,
+ "pc": [
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 630,
+ "pc": [
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 630,
+ "pc": [
+ 256
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 630,
+ "pc": [
+ 257
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 630,
+ "pc": [
+ 258,
+ 259
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 630,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 630,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 630,
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 630,
+ "pc": [
+ 263,
+ 264,
+ 265
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 630,
+ "pc": [
+ 266,
+ 267
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 630,
+ "pc": [
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 630,
+ "pc": [
+ 270
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 630,
+ "pc": [
+ 271
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 630,
+ "pc": [
+ 272,
+ 273
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 630,
+ "pc": [
+ 274,
+ 275
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 630,
+ "pc": [
+ 276,
+ 277
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 630,
+ "pc": [
+ 278,
+ 279
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 630,
+ "pc": [
+ 280
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 630,
+ "pc": [
+ 281,
+ 282
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 630,
+ "pc": [
+ 283
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 630,
+ "pc": [
+ 284,
+ 285
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 630,
+ "pc": [
+ 286
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 630,
+ "pc": [
+ 287,
+ 288,
+ 289
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 630,
+ "pc": [
+ 290,
+ 291
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 630,
+ "pc": [
+ 292
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 630,
+ "pc": [
+ 293,
+ 294
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 630,
+ "pc": [
+ 295
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 630,
+ "pc": [
+ 296,
+ 297
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 630,
+ "pc": [
+ 298,
+ 299,
+ 300
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 630,
+ "pc": [
+ 301,
+ 302
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 630,
+ "pc": [
+ 303,
+ 304
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 630,
+ "pc": [
+ 305
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 630,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 630,
+ "pc": [
+ 307,
+ 308
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 630,
+ "pc": [
+ 309
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 630,
+ "pc": [
+ 310,
+ 311
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 630,
+ "pc": [
+ 312
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjdXN0b21UeXBlcygpc3RyaW5nCiphYmlfcm91dGVfY3VzdG9tVHlwZXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY3VzdG9tVHlwZXMoKXN0cmluZwoJY2FsbHN1YiBjdXN0b21UeXBlcwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjdXN0b21UeXBlcygpOiBzdHJpbmcKY3VzdG9tVHlwZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MzIKCS8vIGFhOiBDdXN0b21UeXBlID0gewoJLy8gICAgICAgZm9vOiAxLAoJLy8gICAgICAgYmFyOiAnSGk/JywKCS8vICAgICB9CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzQ4NjkzZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGFhOiBDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjYzNwoJLy8gYWEuYmFyID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGFhOiBDdXN0b21UeXBlCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDBjNDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxCglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYWE6IEN1c3RvbVR5cGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjM5CgkvLyByZXR1cm4gYWEuYmFyOwoJZnJhbWVfZGlnIDAgLy8gYWE6IEN1c3RvbVR5cGUKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJjdXN0b21UeXBlcygpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21UeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlOgoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgk8CglibnogKnN3YXBwZWRfZGlmZmVyZW5jZQoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglpbnQgMQoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYiAqZ2V0X2RpZmZlcmVuY2UKCipzd2FwcGVkX2RpZmZlcmVuY2U6Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWludCAwCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgoqZ2V0X2RpZmZlcmVuY2U6CgktIC8vIGdldCBsZW5ndGggZGlmZmVyZW5jZQoJc3RvcmUgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjdXN0b21UeXBlcygpc3RyaW5nCiphYmlfcm91dGVfY3VzdG9tVHlwZXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY3VzdG9tVHlwZXMoKXN0cmluZwoJY2FsbHN1YiBjdXN0b21UeXBlcwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjdXN0b21UeXBlcygpOiBzdHJpbmcKY3VzdG9tVHlwZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MzIKCS8vIGFhOiBDdXN0b21UeXBlID0gewoJLy8gICAgICAgZm9vOiAxLAoJLy8gICAgICAgYmFyOiAnSGk/JywKCS8vICAgICB9CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzQ4NjkzZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGFhOiBDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjYzNwoJLy8gYWEuYmFyID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGFhOiBDdXN0b21UeXBlCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDBjNDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxCglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYWE6IEN1c3RvbVR5cGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjM5CgkvLyByZXR1cm4gYWEuYmFyOwoJZnJhbWVfZGlnIDAgLy8gYWE6IEN1c3RvbVR5cGUKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJjdXN0b21UeXBlcygpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21UeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlOgoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgk8CglibnogKnN3YXBwZWRfZGlmZmVyZW5jZQoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglpbnQgMQoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYiAqZ2V0X2RpZmZlcmVuY2UKCipzd2FwcGVkX2RpZmZlcmVuY2U6Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWludCAwCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgoqZ2V0X2RpZmZlcmVuY2U6CgktIC8vIGdldCBsZW5ndGggZGlmZmVyZW5jZQoJc3RvcmUgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDisgusting.approval.teal b/tests/contracts/artifacts/ABITestDisgusting.approval.teal
index b7144e8f2..c44ca7f0a 100644
--- a/tests/contracts/artifacts/ABITestDisgusting.approval.teal
+++ b/tests/contracts/artifacts/ABITestDisgusting.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDisgusting.arc32.json b/tests/contracts/artifacts/ABITestDisgusting.arc32.json
index c2687931a..481ee88fe 100644
--- a/tests/contracts/artifacts/ABITestDisgusting.arc32.json
+++ b/tests/contracts/artifacts/ABITestDisgusting.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkaXNndXN0aW5nKCl1aW50NjQKKmFiaV9yb3V0ZV9kaXNndXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRpc2d1c3RpbmcoKXVpbnQ2NAoJY2FsbHN1YiBkaXNndXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGlzZ3VzdGluZygpOiB1aW50NjQKZGlzZ3VzdGluZzoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMwNAoJLy8gYTogU3RhdGljQXJyYXk8CgkvLyAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sCgkvLyAgICAgICAyCgkvLyAgICAgPiA9IFsKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzExLCAyMl0sCgkvLyAgICAgICAgIDMzLAoJLy8gICAgICAgICBbNDQsIDU1XSwKCS8vICAgICAgICAgWwoJLy8gICAgICAgICAgIFs2NiwgNzddLAoJLy8gICAgICAgICAgIFs4OCwgOTldLAoJLy8gICAgICAgICBdLAoJLy8gICAgICAgXSwKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzExMSwgMjIyXSwKCS8vICAgICAgICAgMzMzLAoJLy8gICAgICAgICBbNDQ0LCA1NTVdLAoJLy8gICAgICAgICBbCgkvLyAgICAgICAgICAgWzY2NiwgNzc3XSwKCS8vICAgICAgICAgICBbODg4LCA5OTldLAoJLy8gICAgICAgICBdLAoJLy8gICAgICAgXSwKCS8vICAgICBdCglieXRlIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAyYzAwMDAwMDAwMDAwMDAwMzcwMDAwMDAwMDAwMDAwMDQyMDAwMDAwMDAwMDAwMDA0ZDAwMDAwMDAwMDAwMDAwNTgwMDAwMDAwMDAwMDAwMDYzMDA2ZjAwZGUwMDAwMDAwMDAwMDAwMTRkMDFiYzAwMDAwMDAwMDAwMDAyMmIwMDAwMDAwMDAwMDAwMjlhMDAwMDAwMDAwMDAwMDMwOTAwMDAwMDAwMDAwMDAzNzgwMDAwMDAwMDAwMDAwM2U3CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8ICAgICAgIFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCB1aW50NjQsIFt1aW50MTYsIHVpbnQ2NF0sIFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIDI+XSwgICAgICAgMiAgICAgPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMjgKCS8vIGFbMV1bM11bMV0gPSBbODg4OCwgOTk5OV0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PCAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sICAgICAgIDIgICAgID4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAyMmI4MDAwMDAwMDAwMDAwMjcwZgoJcmVwbGFjZTIgOTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMyOQoJLy8gcmV0dXJuIGFbMV1bM11bMV1bMF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglleHRyYWN0IDkyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImRpc2d1c3RpbmcoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGlzZ3VzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkaXNndXN0aW5nKCl1aW50NjQKKmFiaV9yb3V0ZV9kaXNndXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRpc2d1c3RpbmcoKXVpbnQ2NAoJY2FsbHN1YiBkaXNndXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGlzZ3VzdGluZygpOiB1aW50NjQKZGlzZ3VzdGluZzoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMwNAoJLy8gYTogU3RhdGljQXJyYXk8CgkvLyAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sCgkvLyAgICAgICAyCgkvLyAgICAgPiA9IFsKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzExLCAyMl0sCgkvLyAgICAgICAgIDMzLAoJLy8gICAgICAgICBbNDQsIDU1XSwKCS8vICAgICAgICAgWwoJLy8gICAgICAgICAgIFs2NiwgNzddLAoJLy8gICAgICAgICAgIFs4OCwgOTldLAoJLy8gICAgICAgICBdLAoJLy8gICAgICAgXSwKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzExMSwgMjIyXSwKCS8vICAgICAgICAgMzMzLAoJLy8gICAgICAgICBbNDQ0LCA1NTVdLAoJLy8gICAgICAgICBbCgkvLyAgICAgICAgICAgWzY2NiwgNzc3XSwKCS8vICAgICAgICAgICBbODg4LCA5OTldLAoJLy8gICAgICAgICBdLAoJLy8gICAgICAgXSwKCS8vICAgICBdCglieXRlIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAyYzAwMDAwMDAwMDAwMDAwMzcwMDAwMDAwMDAwMDAwMDQyMDAwMDAwMDAwMDAwMDA0ZDAwMDAwMDAwMDAwMDAwNTgwMDAwMDAwMDAwMDAwMDYzMDA2ZjAwZGUwMDAwMDAwMDAwMDAwMTRkMDFiYzAwMDAwMDAwMDAwMDAyMmIwMDAwMDAwMDAwMDAwMjlhMDAwMDAwMDAwMDAwMDMwOTAwMDAwMDAwMDAwMDAzNzgwMDAwMDAwMDAwMDAwM2U3CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8ICAgICAgIFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCB1aW50NjQsIFt1aW50MTYsIHVpbnQ2NF0sIFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIDI+XSwgICAgICAgMiAgICAgPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMjgKCS8vIGFbMV1bM11bMV0gPSBbODg4OCwgOTk5OV0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PCAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sICAgICAgIDIgICAgID4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAyMmI4MDAwMDAwMDAwMDAwMjcwZgoJcmVwbGFjZTIgOTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMyOQoJLy8gcmV0dXJuIGFbMV1bM11bMV1bMF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglleHRyYWN0IDkyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImRpc2d1c3RpbmcoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGlzZ3VzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDisgusting.arc56_draft.json b/tests/contracts/artifacts/ABITestDisgusting.arc56_draft.json
index 68a13d0e9..3ab8926c5 100644
--- a/tests/contracts/artifacts/ABITestDisgusting.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDisgusting.arc56_draft.json
@@ -60,481 +60,484 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 302,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 302,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 302,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 302,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 302,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 302,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 302,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 302,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 302,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 303,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 303,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 303,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 303,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 303,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 303,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 303,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 303,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 303,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 69,
- "source": 307,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 70,
- "source": 304,
- "pc": [
- 169,
- 170
- ]
- },
- {
- "teal": 74,
- "source": 328,
- "pc": [
- 171,
- 172
- ]
- },
- {
- "teal": 75,
- "source": 328,
- "pc": [
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190
- ]
- },
- {
- "teal": 76,
- "source": 328,
- "pc": [
- 191,
- 192
- ]
- },
- {
- "teal": 77,
- "source": 328,
- "pc": [
- 193,
- 194
- ]
- },
- {
- "teal": 81,
- "source": 329,
- "pc": [
- 195,
- 196
- ]
- },
- {
- "teal": 82,
- "source": 329,
- "pc": [
- 197,
- 198,
- 199
- ]
- },
- {
- "teal": 83,
- "source": 329,
- "pc": [
- 200
- ]
- },
- {
- "teal": 86,
- "source": 303,
- "pc": [
- 201,
- 202
- ]
- },
- {
- "teal": 87,
- "source": 303,
- "pc": [
- 203
- ]
- },
- {
- "teal": 90,
- "source": 302,
- "pc": [
- 204
- ]
- },
- {
- "teal": 91,
- "source": 302,
- "pc": [
- 205
- ]
- },
- {
- "teal": 94,
- "source": 302,
- "pc": [
- 206,
- 207,
- 208,
- 209,
- 210,
- 211
- ]
- },
- {
- "teal": 95,
- "source": 302,
- "pc": [
- 212,
- 213,
- 214
- ]
- },
- {
- "teal": 96,
- "source": 302,
- "pc": [
- 215,
- 216,
- 217,
- 218
- ]
- },
- {
- "teal": 99,
- "source": 302,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 219
- ]
- },
- {
- "teal": 102,
- "source": 302,
- "pc": [
- 220,
- 221,
- 222,
- 223,
- 224,
- 225
- ]
- },
- {
- "teal": 103,
- "source": 302,
- "pc": [
- 226,
- 227,
- 228
- ]
- },
- {
- "teal": 104,
- "source": 302,
- "pc": [
- 229,
- 230,
- 231,
- 232
- ]
- },
- {
- "teal": 107,
- "source": 302,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 233
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 302,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 302,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 302,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 302,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 302,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 302,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 302,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 302,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 302,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 303,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 303,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 303,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 303,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 303,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 303,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 303,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 303,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 303,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 307,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 304,
+ "pc": [
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 328,
+ "pc": [
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 328,
+ "pc": [
+ 173,
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184,
+ 185,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 328,
+ "pc": [
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 328,
+ "pc": [
+ 193,
+ 194
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 329,
+ "pc": [
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 329,
+ "pc": [
+ 197,
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 329,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 303,
+ "pc": [
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 303,
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 302,
+ "pc": [
+ 204
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 302,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 302,
+ "pc": [
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 302,
+ "pc": [
+ 212,
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 302,
+ "pc": [
+ 215,
+ 216,
+ 217,
+ 218
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 302,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 302,
+ "pc": [
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 302,
+ "pc": [
+ 226,
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 302,
+ "pc": [
+ 229,
+ 230,
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 302,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 233
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkaXNndXN0aW5nKCl1aW50NjQKKmFiaV9yb3V0ZV9kaXNndXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRpc2d1c3RpbmcoKXVpbnQ2NAoJY2FsbHN1YiBkaXNndXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGlzZ3VzdGluZygpOiB1aW50NjQKZGlzZ3VzdGluZzoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMwNAoJLy8gYTogU3RhdGljQXJyYXk8CgkvLyAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sCgkvLyAgICAgICAyCgkvLyAgICAgPiA9IFsKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzExLCAyMl0sCgkvLyAgICAgICAgIDMzLAoJLy8gICAgICAgICBbNDQsIDU1XSwKCS8vICAgICAgICAgWwoJLy8gICAgICAgICAgIFs2NiwgNzddLAoJLy8gICAgICAgICAgIFs4OCwgOTldLAoJLy8gICAgICAgICBdLAoJLy8gICAgICAgXSwKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzExMSwgMjIyXSwKCS8vICAgICAgICAgMzMzLAoJLy8gICAgICAgICBbNDQ0LCA1NTVdLAoJLy8gICAgICAgICBbCgkvLyAgICAgICAgICAgWzY2NiwgNzc3XSwKCS8vICAgICAgICAgICBbODg4LCA5OTldLAoJLy8gICAgICAgICBdLAoJLy8gICAgICAgXSwKCS8vICAgICBdCglieXRlIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAyYzAwMDAwMDAwMDAwMDAwMzcwMDAwMDAwMDAwMDAwMDQyMDAwMDAwMDAwMDAwMDA0ZDAwMDAwMDAwMDAwMDAwNTgwMDAwMDAwMDAwMDAwMDYzMDA2ZjAwZGUwMDAwMDAwMDAwMDAwMTRkMDFiYzAwMDAwMDAwMDAwMDAyMmIwMDAwMDAwMDAwMDAwMjlhMDAwMDAwMDAwMDAwMDMwOTAwMDAwMDAwMDAwMDAzNzgwMDAwMDAwMDAwMDAwM2U3CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8ICAgICAgIFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCB1aW50NjQsIFt1aW50MTYsIHVpbnQ2NF0sIFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIDI+XSwgICAgICAgMiAgICAgPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMjgKCS8vIGFbMV1bM11bMV0gPSBbODg4OCwgOTk5OV0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PCAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sICAgICAgIDIgICAgID4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAyMmI4MDAwMDAwMDAwMDAwMjcwZgoJcmVwbGFjZTIgOTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMyOQoJLy8gcmV0dXJuIGFbMV1bM11bMV1bMF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglleHRyYWN0IDkyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImRpc2d1c3RpbmcoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGlzZ3VzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkaXNndXN0aW5nKCl1aW50NjQKKmFiaV9yb3V0ZV9kaXNndXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRpc2d1c3RpbmcoKXVpbnQ2NAoJY2FsbHN1YiBkaXNndXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGlzZ3VzdGluZygpOiB1aW50NjQKZGlzZ3VzdGluZzoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMwNAoJLy8gYTogU3RhdGljQXJyYXk8CgkvLyAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sCgkvLyAgICAgICAyCgkvLyAgICAgPiA9IFsKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzExLCAyMl0sCgkvLyAgICAgICAgIDMzLAoJLy8gICAgICAgICBbNDQsIDU1XSwKCS8vICAgICAgICAgWwoJLy8gICAgICAgICAgIFs2NiwgNzddLAoJLy8gICAgICAgICAgIFs4OCwgOTldLAoJLy8gICAgICAgICBdLAoJLy8gICAgICAgXSwKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzExMSwgMjIyXSwKCS8vICAgICAgICAgMzMzLAoJLy8gICAgICAgICBbNDQ0LCA1NTVdLAoJLy8gICAgICAgICBbCgkvLyAgICAgICAgICAgWzY2NiwgNzc3XSwKCS8vICAgICAgICAgICBbODg4LCA5OTldLAoJLy8gICAgICAgICBdLAoJLy8gICAgICAgXSwKCS8vICAgICBdCglieXRlIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAyYzAwMDAwMDAwMDAwMDAwMzcwMDAwMDAwMDAwMDAwMDQyMDAwMDAwMDAwMDAwMDA0ZDAwMDAwMDAwMDAwMDAwNTgwMDAwMDAwMDAwMDAwMDYzMDA2ZjAwZGUwMDAwMDAwMDAwMDAwMTRkMDFiYzAwMDAwMDAwMDAwMDAyMmIwMDAwMDAwMDAwMDAwMjlhMDAwMDAwMDAwMDAwMDMwOTAwMDAwMDAwMDAwMDAzNzgwMDAwMDAwMDAwMDAwM2U3CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8ICAgICAgIFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCB1aW50NjQsIFt1aW50MTYsIHVpbnQ2NF0sIFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIDI+XSwgICAgICAgMiAgICAgPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMjgKCS8vIGFbMV1bM11bMV0gPSBbODg4OCwgOTk5OV0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PCAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sICAgICAgIDIgICAgID4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAyMmI4MDAwMDAwMDAwMDAwMjcwZgoJcmVwbGFjZTIgOTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMyOQoJLy8gcmV0dXJuIGFbMV1bM11bMV1bMF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglleHRyYWN0IDkyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImRpc2d1c3RpbmcoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGlzZ3VzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.approval.teal b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.approval.teal
index 0402ce32c..06b78cdd4 100644
--- a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc32.json b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc32.json
index f6096bec5..9cd147ee1 100644
--- a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogc3RyaW5nWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCgoJLy8gZXhlY3V0ZSBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5KGE6IFN0YXRpY0FycmF5PHN0cmluZywgMz4pOiBzdHJpbmcKZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5OgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjUxCgkvLyBpID0gYnRvaShpdG9iKDEpKQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjUyCgkvLyByZXR1cm4gYVtpXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAgLy8gaW5pdGlhbCBvZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIKCSogLy8gYWNjICogMgoJKwoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogc3RyaW5nWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCgoJLy8gZXhlY3V0ZSBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5KGE6IFN0YXRpY0FycmF5PHN0cmluZywgMz4pOiBzdHJpbmcKZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5OgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjUxCgkvLyBpID0gYnRvaShpdG9iKDEpKQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjUyCgkvLyByZXR1cm4gYVtpXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAgLy8gaW5pdGlhbCBvZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIKCSogLy8gYWNjICogMgoJKwoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc56_draft.json
index adc325b2e..826919b90 100644
--- a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc56_draft.json
@@ -65,504 +65,507 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 649,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4
- ]
- },
- {
- "teal": 13,
- "source": 649,
- "pc": [
- 5,
- 6
- ]
- },
- {
- "teal": 14,
- "source": 649,
- "pc": [
- 7
- ]
- },
- {
- "teal": 15,
- "source": 649,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 16,
- "source": 649,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 649,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 649,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 649,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 649,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 650,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 650,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 34,
- "source": 650,
- "pc": [
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 650,
- "pc": [
- 53
- ]
- },
- {
- "teal": 36,
- "source": 650,
- "pc": [
- 54
- ]
- },
- {
- "teal": 37,
- "source": 650,
- "pc": [
- 55
- ]
- },
- {
- "teal": 38,
- "source": 650,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 39,
- "source": 650,
- "pc": [
- 59
- ]
- },
- {
- "teal": 40,
- "source": 650,
- "pc": [
- 60
- ]
- },
- {
- "teal": 41,
- "source": 650,
- "pc": [
- 61
- ]
- },
- {
- "teal": 42,
- "source": 650,
- "pc": [
- 62
- ]
- },
- {
- "teal": 43,
- "source": 650,
- "pc": [
- 63
- ]
- },
- {
- "teal": 44,
- "source": 650,
- "pc": [
- 64
- ]
- },
- {
- "teal": 48,
- "source": 650,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 51,
- "source": 650,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 55,
- "source": 651,
- "pc": [
- 70
- ]
- },
- {
- "teal": 56,
- "source": 651,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 60,
- "source": 652,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 61,
- "source": 652,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 62,
- "source": 652,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 63,
- "source": 652,
- "pc": [
- 79,
- 80
- ]
- },
- {
- "teal": 64,
- "source": 652,
- "pc": [
- 81
- ]
- },
- {
- "teal": 65,
- "source": 652,
- "pc": [
- 82
- ]
- },
- {
- "teal": 66,
- "source": 652,
- "pc": [
- 83
- ]
- },
- {
- "teal": 67,
- "source": 652,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 68,
- "source": 652,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 69,
- "source": 652,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 70,
- "source": 652,
- "pc": [
- 90
- ]
- },
- {
- "teal": 71,
- "source": 652,
- "pc": [
- 91
- ]
- },
- {
- "teal": 72,
- "source": 652,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 73,
- "source": 652,
- "pc": [
- 94
- ]
- },
- {
- "teal": 74,
- "source": 652,
- "pc": [
- 95
- ]
- },
- {
- "teal": 75,
- "source": 652,
- "pc": [
- 96
- ]
- },
- {
- "teal": 76,
- "source": 652,
- "pc": [
- 97
- ]
- },
- {
- "teal": 77,
- "source": 652,
- "pc": [
- 98
- ]
- },
- {
- "teal": 78,
- "source": 652,
- "pc": [
- 99
- ]
- },
- {
- "teal": 79,
- "source": 652,
- "pc": [
- 100
- ]
- },
- {
- "teal": 80,
- "source": 652,
- "pc": [
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 83,
- "source": 650,
- "pc": [
- 104,
- 105
- ]
- },
- {
- "teal": 84,
- "source": 650,
- "pc": [
- 106
- ]
- },
- {
- "teal": 87,
- "source": 649,
- "pc": [
- 107
- ]
- },
- {
- "teal": 88,
- "source": 649,
- "pc": [
- 108
- ]
- },
- {
- "teal": 91,
- "source": 649,
- "pc": [
- 109,
- 110,
- 111,
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 92,
- "source": 649,
- "pc": [
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 93,
- "source": 649,
- "pc": [
- 118,
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 96,
- "source": 649,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 122
- ]
- },
- {
- "teal": 99,
- "source": 649,
- "pc": [
- 123,
- 124,
- 125,
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 100,
- "source": 649,
- "pc": [
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 101,
- "source": 649,
- "pc": [
- 132,
- 133,
- 134,
- 135
- ]
- },
- {
- "teal": 104,
- "source": 649,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 136
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 649,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 649,
+ "pc": [
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 649,
+ "pc": [
+ 7
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 649,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 649,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 649,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 649,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 649,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 649,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 650,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 650,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 650,
+ "pc": [
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 650,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 650,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 650,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 650,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 650,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 650,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 650,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 650,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 650,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 650,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 650,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 650,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 651,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 651,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 652,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 652,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 652,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 652,
+ "pc": [
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 652,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 652,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 652,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 652,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 652,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 652,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 652,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 652,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 652,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 652,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 652,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 652,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 652,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 652,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 652,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 652,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 652,
+ "pc": [
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 650,
+ "pc": [
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 650,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 649,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 649,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 649,
+ "pc": [
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 649,
+ "pc": [
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 649,
+ "pc": [
+ 118,
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 649,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 649,
+ "pc": [
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 649,
+ "pc": [
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 649,
+ "pc": [
+ 132,
+ 133,
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 649,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 136
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogc3RyaW5nWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCgoJLy8gZXhlY3V0ZSBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5KGE6IFN0YXRpY0FycmF5PHN0cmluZywgMz4pOiBzdHJpbmcKZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5OgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjUxCgkvLyBpID0gYnRvaShpdG9iKDEpKQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjUyCgkvLyByZXR1cm4gYVtpXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAgLy8gaW5pdGlhbCBvZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIKCSogLy8gYWNjICogMgoJKwoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogc3RyaW5nWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCgoJLy8gZXhlY3V0ZSBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5KGE6IFN0YXRpY0FycmF5PHN0cmluZywgMz4pOiBzdHJpbmcKZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5OgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjUxCgkvLyBpID0gYnRvaShpdG9iKDEpKQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjUyCgkvLyByZXR1cm4gYVtpXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAgLy8gaW5pdGlhbCBvZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDIKCSogLy8gYWNjICogMgoJKwoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArray.approval.teal b/tests/contracts/artifacts/ABITestDynamicArray.approval.teal
index 2f2893bef..0a1f2d3a9 100644
--- a/tests/contracts/artifacts/ABITestDynamicArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestDynamicArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDynamicArray.arc32.json b/tests/contracts/artifacts/ABITestDynamicArray.arc32.json
index 8b1f657e5..77aab0abd 100644
--- a/tests/contracts/artifacts/ABITestDynamicArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestDynamicArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXkoKTogdWludDY0CmR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM0OAoJLy8gYTogdWludDY0W10gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNTAKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZHluYW1pY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXkoKTogdWludDY0CmR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM0OAoJLy8gYTogdWludDY0W10gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNTAKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZHluYW1pY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArray.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArray.arc56_draft.json
index ba2cf81b0..90bfa2d3f 100644
--- a/tests/contracts/artifacts/ABITestDynamicArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDynamicArray.arc56_draft.json
@@ -60,365 +60,368 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 346,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 346,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 346,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 346,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 346,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 346,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 346,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 346,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 346,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 347,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 347,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 347,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 347,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 347,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 347,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 347,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 347,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 347,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 348,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 48,
- "source": 348,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 52,
- "source": 350,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 53,
- "source": 350,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 54,
- "source": 350,
- "pc": [
- 91,
- 92
- ]
- },
- {
- "teal": 55,
- "source": 350,
- "pc": [
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 56,
- "source": 350,
- "pc": [
- 96
- ]
- },
- {
- "teal": 59,
- "source": 347,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 60,
- "source": 347,
- "pc": [
- 99
- ]
- },
- {
- "teal": 63,
- "source": 346,
- "pc": [
- 100
- ]
- },
- {
- "teal": 64,
- "source": 346,
- "pc": [
- 101
- ]
- },
- {
- "teal": 67,
- "source": 346,
- "pc": [
- 102,
- 103,
- 104,
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 68,
- "source": 346,
- "pc": [
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 69,
- "source": 346,
- "pc": [
- 111,
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 72,
- "source": 346,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 115
- ]
- },
- {
- "teal": 75,
- "source": 346,
- "pc": [
- 116,
- 117,
- 118,
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 76,
- "source": 346,
- "pc": [
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 77,
- "source": 346,
- "pc": [
- 125,
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 80,
- "source": 346,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 129
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 346,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 346,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 346,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 346,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 346,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 346,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 346,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 346,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 346,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 347,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 347,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 347,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 347,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 347,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 347,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 347,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 347,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 347,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 348,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 348,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 350,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 350,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 350,
+ "pc": [
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 350,
+ "pc": [
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 350,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 347,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 347,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 346,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 346,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 346,
+ "pc": [
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 346,
+ "pc": [
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 346,
+ "pc": [
+ 111,
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 346,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 346,
+ "pc": [
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 346,
+ "pc": [
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 346,
+ "pc": [
+ 125,
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 346,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 129
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXkoKTogdWludDY0CmR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM0OAoJLy8gYTogdWludDY0W10gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNTAKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZHluYW1pY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXkoKTogdWludDY0CmR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM0OAoJLy8gYTogdWludDY0W10gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNTAKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZHluYW1pY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayArg.approval.teal b/tests/contracts/artifacts/ABITestDynamicArrayArg.approval.teal
index 6509cbcd6..a4e029825 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayArg.approval.teal
+++ b/tests/contracts/artifacts/ABITestDynamicArrayArg.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayArg.arc32.json b/tests/contracts/artifacts/ABITestDynamicArrayArg.arc32.json
index 2317c7d1a..332063195 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayArg.arc32.json
+++ b/tests/contracts/artifacts/ABITestDynamicArrayArg.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlBcmcodWludDY0W10pdWludDY0CiphYmlfcm91dGVfZHluYW1pY0FycmF5QXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5QXJnKGE6IHVpbnQ2NFtdKTogdWludDY0CmR5bmFtaWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNjMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlBcmcodWludDY0W10pdWludDY0CiphYmlfcm91dGVfZHluYW1pY0FycmF5QXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5QXJnKGE6IHVpbnQ2NFtdKTogdWludDY0CmR5bmFtaWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNjMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayArg.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArrayArg.arc56_draft.json
index 4850b1130..46e9f924d 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayArg.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDynamicArrayArg.arc56_draft.json
@@ -65,327 +65,330 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 361,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 361,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 361,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 361,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 361,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 361,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 361,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 361,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 361,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 362,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 362,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 362,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 35,
- "source": 362,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 36,
- "source": 362,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 362,
- "pc": [
- 56
- ]
- },
- {
- "teal": 38,
- "source": 362,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 362,
- "pc": [
- 58
- ]
- },
- {
- "teal": 40,
- "source": 362,
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 362,
- "pc": [
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 48,
- "source": 363,
- "pc": [
- 63,
- 64
- ]
- },
- {
- "teal": 49,
- "source": 363,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 50,
- "source": 363,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 51,
- "source": 363,
- "pc": [
- 69,
- 70,
- 71
- ]
- },
- {
- "teal": 52,
- "source": 363,
- "pc": [
- 72
- ]
- },
- {
- "teal": 53,
- "source": 362,
- "pc": [
- 73
- ]
- },
- {
- "teal": 56,
- "source": 361,
- "pc": [
- 74
- ]
- },
- {
- "teal": 57,
- "source": 361,
- "pc": [
- 75
- ]
- },
- {
- "teal": 60,
- "source": 361,
- "pc": [
- 76,
- 77,
- 78,
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 61,
- "source": 361,
- "pc": [
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 62,
- "source": 361,
- "pc": [
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 65,
- "source": 361,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 89
- ]
- },
- {
- "teal": 68,
- "source": 361,
- "pc": [
- 90,
- 91,
- 92,
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 69,
- "source": 361,
- "pc": [
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 70,
- "source": 361,
- "pc": [
- 99,
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 73,
- "source": 361,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 103
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 361,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 361,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 361,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 361,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 361,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 361,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 361,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 361,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 361,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 362,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 362,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 362,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 362,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 362,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 362,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 362,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 362,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 362,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 362,
+ "pc": [
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 363,
+ "pc": [
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 363,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 363,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 363,
+ "pc": [
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 363,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 362,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 361,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 361,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 361,
+ "pc": [
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 361,
+ "pc": [
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 361,
+ "pc": [
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 361,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 361,
+ "pc": [
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 361,
+ "pc": [
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 361,
+ "pc": [
+ 99,
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 361,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 103
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlBcmcodWludDY0W10pdWludDY0CiphYmlfcm91dGVfZHluYW1pY0FycmF5QXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5QXJnKGE6IHVpbnQ2NFtdKTogdWludDY0CmR5bmFtaWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNjMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlBcmcodWludDY0W10pdWludDY0CiphYmlfcm91dGVfZHluYW1pY0FycmF5QXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5QXJnKGE6IHVpbnQ2NFtdKTogdWludDY0CmR5bmFtaWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNjMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayElements.approval.teal b/tests/contracts/artifacts/ABITestDynamicArrayElements.approval.teal
index cbe91ed6c..506c5ccf8 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayElements.approval.teal
+++ b/tests/contracts/artifacts/ABITestDynamicArrayElements.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayElements.arc32.json b/tests/contracts/artifacts/ABITestDynamicArrayElements.arc32.json
index ad19cd4cf..ed4bea7b4 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayElements.arc32.json
+++ b/tests/contracts/artifacts/ABITestDynamicArrayElements.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KCWNhbGxzdWIgZHluYW1pY0FycmF5RWxlbWVudHMKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNBcnJheUVsZW1lbnRzKCk6IHVpbnQxNltdCmR5bmFtaWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODEKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDgyCgkvLyBuZXdBOiB1aW50MTZbXSA9IFthWzBdLCBhWzFdLCBhWzJdXQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAyIDIKCWJ0b2kKCWl0b2IKCWV4dHJhY3QgNiAyCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA0IDIKCWJ0b2kKCWl0b2IKCWV4dHJhY3QgNiAyCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBuZXdBOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODQKCS8vIHJldHVybiBuZXdBOwoJZnJhbWVfZGlnIDEgLy8gbmV3QTogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUVsZW1lbnRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KCWNhbGxzdWIgZHluYW1pY0FycmF5RWxlbWVudHMKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNBcnJheUVsZW1lbnRzKCk6IHVpbnQxNltdCmR5bmFtaWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODEKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDgyCgkvLyBuZXdBOiB1aW50MTZbXSA9IFthWzBdLCBhWzFdLCBhWzJdXQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAyIDIKCWJ0b2kKCWl0b2IKCWV4dHJhY3QgNiAyCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA0IDIKCWJ0b2kKCWl0b2IKCWV4dHJhY3QgNiAyCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBuZXdBOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODQKCS8vIHJldHVybiBuZXdBOwoJZnJhbWVfZGlnIDEgLy8gbmV3QTogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUVsZW1lbnRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayElements.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArrayElements.arc56_draft.json
index 34bf41a3e..33bfae485 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayElements.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDynamicArrayElements.arc56_draft.json
@@ -60,572 +60,575 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 479,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 479,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 479,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 479,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 479,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 479,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 479,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 479,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 479,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 480,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 480,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 480,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 480,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 480,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 480,
- "pc": [
- 53
- ]
- },
- {
- "teal": 36,
- "source": 480,
- "pc": [
- 54
- ]
- },
- {
- "teal": 37,
- "source": 480,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 38,
- "source": 480,
- "pc": [
- 58
- ]
- },
- {
- "teal": 39,
- "source": 480,
- "pc": [
- 59
- ]
- },
- {
- "teal": 40,
- "source": 480,
- "pc": [
- 60
- ]
- },
- {
- "teal": 41,
- "source": 480,
- "pc": [
- 61
- ]
- },
- {
- "teal": 42,
- "source": 480,
- "pc": [
- 62
- ]
- },
- {
- "teal": 43,
- "source": 480,
- "pc": [
- 63
- ]
- },
- {
- "teal": 47,
- "source": 480,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 50,
- "source": 480,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 51,
- "source": 480,
- "pc": [
- 69
- ]
- },
- {
- "teal": 55,
- "source": 481,
- "pc": [
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 56,
- "source": 481,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 60,
- "source": 482,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 61,
- "source": 482,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 62,
- "source": 482,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 63,
- "source": 482,
- "pc": [
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 64,
- "source": 482,
- "pc": [
- 89
- ]
- },
- {
- "teal": 65,
- "source": 482,
- "pc": [
- 90
- ]
- },
- {
- "teal": 66,
- "source": 482,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 67,
- "source": 482,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 68,
- "source": 482,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 69,
- "source": 482,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 70,
- "source": 482,
- "pc": [
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 71,
- "source": 482,
- "pc": [
- 103
- ]
- },
- {
- "teal": 72,
- "source": 482,
- "pc": [
- 104
- ]
- },
- {
- "teal": 73,
- "source": 482,
- "pc": [
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 74,
- "source": 482,
- "pc": [
- 108
- ]
- },
- {
- "teal": 75,
- "source": 482,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 76,
- "source": 482,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 77,
- "source": 482,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 78,
- "source": 482,
- "pc": [
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 79,
- "source": 482,
- "pc": [
- 118
- ]
- },
- {
- "teal": 80,
- "source": 482,
- "pc": [
- 119
- ]
- },
- {
- "teal": 81,
- "source": 482,
- "pc": [
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 82,
- "source": 482,
- "pc": [
- 123
- ]
- },
- {
- "teal": 83,
- "source": 482,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 87,
- "source": 484,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 90,
- "source": 480,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 93,
- "source": 480,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 94,
- "source": 480,
- "pc": [
- 132
- ]
- },
- {
- "teal": 97,
- "source": 479,
- "pc": [
- 133
- ]
- },
- {
- "teal": 98,
- "source": 479,
- "pc": [
- 134
- ]
- },
- {
- "teal": 101,
- "source": 479,
- "pc": [
- 135,
- 136,
- 137,
- 138,
- 139,
- 140
- ]
- },
- {
- "teal": 102,
- "source": 479,
- "pc": [
- 141,
- 142,
- 143
- ]
- },
- {
- "teal": 103,
- "source": 479,
- "pc": [
- 144,
- 145,
- 146,
- 147
- ]
- },
- {
- "teal": 106,
- "source": 479,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 148
- ]
- },
- {
- "teal": 109,
- "source": 479,
- "pc": [
- 149,
- 150,
- 151,
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 110,
- "source": 479,
- "pc": [
- 155,
- 156,
- 157
- ]
- },
- {
- "teal": 111,
- "source": 479,
- "pc": [
- 158,
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 114,
- "source": 479,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 162
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 479,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 479,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 479,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 479,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 479,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 479,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 479,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 479,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 479,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 480,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 480,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 480,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 480,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 480,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 480,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 480,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 480,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 480,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 480,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 480,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 480,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 480,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 480,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 480,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 480,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 480,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 481,
+ "pc": [
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 481,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 482,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 482,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 482,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 482,
+ "pc": [
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 482,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 482,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 482,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 482,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 482,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 482,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 482,
+ "pc": [
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 482,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 482,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 482,
+ "pc": [
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 482,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 482,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 482,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 482,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 482,
+ "pc": [
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 482,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 482,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 482,
+ "pc": [
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 482,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 482,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 484,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 480,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 480,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 480,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 479,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 479,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 479,
+ "pc": [
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 479,
+ "pc": [
+ 141,
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 479,
+ "pc": [
+ 144,
+ 145,
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 479,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 479,
+ "pc": [
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 479,
+ "pc": [
+ 155,
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 479,
+ "pc": [
+ 158,
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 479,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 162
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KCWNhbGxzdWIgZHluYW1pY0FycmF5RWxlbWVudHMKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNBcnJheUVsZW1lbnRzKCk6IHVpbnQxNltdCmR5bmFtaWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODEKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDgyCgkvLyBuZXdBOiB1aW50MTZbXSA9IFthWzBdLCBhWzFdLCBhWzJdXQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAyIDIKCWJ0b2kKCWl0b2IKCWV4dHJhY3QgNiAyCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA0IDIKCWJ0b2kKCWl0b2IKCWV4dHJhY3QgNiAyCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBuZXdBOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODQKCS8vIHJldHVybiBuZXdBOwoJZnJhbWVfZGlnIDEgLy8gbmV3QTogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUVsZW1lbnRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KCWNhbGxzdWIgZHluYW1pY0FycmF5RWxlbWVudHMKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNBcnJheUVsZW1lbnRzKCk6IHVpbnQxNltdCmR5bmFtaWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODEKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDgyCgkvLyBuZXdBOiB1aW50MTZbXSA9IFthWzBdLCBhWzFdLCBhWzJdXQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAyIDIKCWJ0b2kKCWl0b2IKCWV4dHJhY3QgNiAyCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA0IDIKCWJ0b2kKCWl0b2IKCWV4dHJhY3QgNiAyCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBuZXdBOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODQKCS8vIHJldHVybiBuZXdBOwoJZnJhbWVfZGlnIDEgLy8gbmV3QTogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUVsZW1lbnRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.approval.teal b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.approval.teal
index e56061091..351eaf7ee 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc32.json b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc32.json
index 879f7a654..6bfd3eb5d 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpKHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQpkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NTgKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpKHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQpkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NTgKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc56_draft.json
index 407106368..45262cb25 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc56_draft.json
@@ -60,616 +60,619 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 656,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 656,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 656,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 656,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 16,
- "source": 656,
- "pc": [
- 12
- ]
- },
- {
- "teal": 17,
- "source": 656,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 18,
- "source": 656,
- "pc": [
- 15
- ]
- },
- {
- "teal": 19,
- "source": 656,
- "pc": [
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41
- ]
- },
- {
- "teal": 23,
- "source": 656,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 42
- ]
- },
- {
- "teal": 28,
- "source": 657,
- "pc": [
- 43,
- 44,
- 45,
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 31,
- "source": 657,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 32,
- "source": 657,
- "pc": [
- 52
- ]
- },
- {
- "teal": 33,
- "source": 657,
- "pc": [
- 53
- ]
- },
- {
- "teal": 34,
- "source": 657,
- "pc": [
- 54
- ]
- },
- {
- "teal": 35,
- "source": 657,
- "pc": [
- 55
- ]
- },
- {
- "teal": 39,
- "source": 657,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 42,
- "source": 657,
- "pc": [
- 59
- ]
- },
- {
- "teal": 46,
- "source": 658,
- "pc": [
- 60
- ]
- },
- {
- "teal": 47,
- "source": 658,
- "pc": [
- 61
- ]
- },
- {
- "teal": 48,
- "source": 658,
- "pc": [
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 49,
- "source": 658,
- "pc": [
- 66,
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 50,
- "source": 658,
- "pc": [
- 70,
- 71,
- 72
- ]
- },
- {
- "teal": 51,
- "source": 658,
- "pc": [
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 52,
- "source": 658,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 53,
- "source": 658,
- "pc": [
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 54,
- "source": 658,
- "pc": [
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 55,
- "source": 658,
- "pc": [
- 88
- ]
- },
- {
- "teal": 56,
- "source": 658,
- "pc": [
- 89
- ]
- },
- {
- "teal": 57,
- "source": 658,
- "pc": [
- 90,
- 91
- ]
- },
- {
- "teal": 61,
- "source": 660,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 64,
- "source": 657,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 65,
- "source": 657,
- "pc": [
- 96
- ]
- },
- {
- "teal": 68,
- "source": 656,
- "pc": [
- 97
- ]
- },
- {
- "teal": 69,
- "source": 656,
- "pc": [
- 98
- ]
- },
- {
- "teal": 72,
- "source": 656,
- "pc": [
- 99,
- 100,
- 101,
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 73,
- "source": 656,
- "pc": [
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 74,
- "source": 656,
- "pc": [
- 108,
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 77,
- "source": 656,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 112
- ]
- },
- {
- "teal": 80,
- "source": 656,
- "pc": [
- 113,
- 114,
- 115,
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 81,
- "source": 656,
- "pc": [
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 82,
- "source": 656,
- "pc": [
- 122,
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 85,
- "source": 656,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 126
- ]
- },
- {
- "teal": 88,
- "source": 656,
- "pc": [
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 89,
- "source": 656,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 90,
- "source": 656,
- "pc": [
- 132,
- 133
- ]
- },
- {
- "teal": 91,
- "source": 656,
- "pc": [
- 134
- ]
- },
- {
- "teal": 92,
- "source": 656,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 93,
- "source": 656,
- "pc": [
- 137,
- 138
- ]
- },
- {
- "teal": 94,
- "source": 656,
- "pc": [
- 139
- ]
- },
- {
- "teal": 97,
- "source": 656,
- "pc": [
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 98,
- "source": 656,
- "pc": [
- 143,
- 144
- ]
- },
- {
- "teal": 99,
- "source": 656,
- "pc": [
- 145,
- 146
- ]
- },
- {
- "teal": 100,
- "source": 656,
- "pc": [
- 147
- ]
- },
- {
- "teal": 101,
- "source": 656,
- "pc": [
- 148,
- 149
- ]
- },
- {
- "teal": 102,
- "source": 656,
- "pc": [
- 150,
- 151
- ]
- },
- {
- "teal": 103,
- "source": 656,
- "pc": [
- 152
- ]
- },
- {
- "teal": 104,
- "source": 656,
- "pc": [
- 153
- ]
- },
- {
- "teal": 105,
- "source": 656,
- "pc": [
- 154,
- 155
- ]
- },
- {
- "teal": 106,
- "source": 656,
- "pc": [
- 156
- ]
- },
- {
- "teal": 107,
- "source": 656,
- "pc": [
- 157
- ]
- },
- {
- "teal": 108,
- "source": 656,
- "pc": [
- 158
- ]
- },
- {
- "teal": 109,
- "source": 656,
- "pc": [
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 110,
- "source": 656,
- "pc": [
- 162,
- 163
- ]
- },
- {
- "teal": 111,
- "source": 656,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 112,
- "source": 656,
- "pc": [
- 166
- ]
- },
- {
- "teal": 113,
- "source": 656,
- "pc": [
- 167
- ]
- },
- {
- "teal": 114,
- "source": 656,
- "pc": [
- 168,
- 169
- ]
- },
- {
- "teal": 115,
- "source": 656,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 116,
- "source": 656,
- "pc": [
- 172,
- 173
- ]
- },
- {
- "teal": 117,
- "source": 656,
- "pc": [
- 174,
- 175
- ]
- },
- {
- "teal": 118,
- "source": 656,
- "pc": [
- 176
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 656,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 656,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 656,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 656,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 656,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 656,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 656,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 656,
+ "pc": [
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 656,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 42
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 657,
+ "pc": [
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 657,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 657,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 657,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 657,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 657,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 657,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 657,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 658,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 658,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 658,
+ "pc": [
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 658,
+ "pc": [
+ 66,
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 658,
+ "pc": [
+ 70,
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 658,
+ "pc": [
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 658,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 658,
+ "pc": [
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 658,
+ "pc": [
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 658,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 658,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 658,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 660,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 657,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 657,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 656,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 656,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 656,
+ "pc": [
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 656,
+ "pc": [
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 656,
+ "pc": [
+ 108,
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 656,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 656,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 656,
+ "pc": [
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 656,
+ "pc": [
+ 122,
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 656,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 656,
+ "pc": [
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 656,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 656,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 656,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 656,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 656,
+ "pc": [
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 656,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 656,
+ "pc": [
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 656,
+ "pc": [
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 656,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 656,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 656,
+ "pc": [
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 656,
+ "pc": [
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 656,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 656,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 656,
+ "pc": [
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 656,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 656,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 656,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 656,
+ "pc": [
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 656,
+ "pc": [
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 656,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 656,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 656,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 656,
+ "pc": [
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 656,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 656,
+ "pc": [
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 656,
+ "pc": [
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 656,
+ "pc": [
+ 176
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpKHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQpkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NTgKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpKHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQpkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NTgKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayIteration.approval.teal b/tests/contracts/artifacts/ABITestDynamicArrayIteration.approval.teal
index 60e797e67..38811d382 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayIteration.approval.teal
+++ b/tests/contracts/artifacts/ABITestDynamicArrayIteration.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc32.json b/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc32.json
index ceb224ddc..47526455e 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc32.json
+++ b/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUl0ZXJhdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQXJyYXlJdGVyYXRpb24KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKCk6IHN0cmluZwpkeW5hbWljQXJyYXlJdGVyYXRpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbyAnLCAnV29ybGQnLCAnISddCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDA2NDg2NTZjNmM2ZjIwCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDEKCS8vIG1lc3NhZ2UgPSAnJwoJYnl0ZSAweCAvLyAiIgoJZnJhbWVfYnVyeSAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjAzCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGEubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDMKCS8vIGkgPCBhLmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJaW50IDAKCWV4dHJhY3RfdWludDE2Cgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDQKCS8vIG1lc3NhZ2UgKz0gYVtpXQoJZnJhbWVfZGlnIDEgLy8gbWVzc2FnZTogYnl0ZVtdCglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwIC8vIGluaXRpYWwgb2Zmc2V0CglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyCgkqIC8vIGFjYyAqIDIKCSsKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDMKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwNwoJLy8gcmV0dXJuIG1lc3NhZ2U7CglmcmFtZV9kaWcgMSAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5SXRlcmF0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUl0ZXJhdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQXJyYXlJdGVyYXRpb24KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKCk6IHN0cmluZwpkeW5hbWljQXJyYXlJdGVyYXRpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbyAnLCAnV29ybGQnLCAnISddCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDA2NDg2NTZjNmM2ZjIwCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDEKCS8vIG1lc3NhZ2UgPSAnJwoJYnl0ZSAweCAvLyAiIgoJZnJhbWVfYnVyeSAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjAzCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGEubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDMKCS8vIGkgPCBhLmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJaW50IDAKCWV4dHJhY3RfdWludDE2Cgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDQKCS8vIG1lc3NhZ2UgKz0gYVtpXQoJZnJhbWVfZGlnIDEgLy8gbWVzc2FnZTogYnl0ZVtdCglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwIC8vIGluaXRpYWwgb2Zmc2V0CglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyCgkqIC8vIGFjYyAqIDIKCSsKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDMKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwNwoJLy8gcmV0dXJuIG1lc3NhZ2U7CglmcmFtZV9kaWcgMSAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5SXRlcmF0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc56_draft.json
index 2f13d956a..19b2d5c4e 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc56_draft.json
@@ -60,980 +60,983 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1598,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8
- ]
- },
- {
- "teal": 13,
- "source": 1598,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 14,
- "source": 1598,
- "pc": [
- 11
- ]
- },
- {
- "teal": 15,
- "source": 1598,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 16,
- "source": 1598,
- "pc": [
- 14
- ]
- },
- {
- "teal": 17,
- "source": 1598,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 18,
- "source": 1598,
- "pc": [
- 17
- ]
- },
- {
- "teal": 19,
- "source": 1598,
- "pc": [
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43
- ]
- },
- {
- "teal": 23,
- "source": 1598,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 44
- ]
- },
- {
- "teal": 28,
- "source": 1599,
- "pc": [
- 45,
- 46,
- 47,
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 31,
- "source": 1599,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 32,
- "source": 1599,
- "pc": [
- 54
- ]
- },
- {
- "teal": 33,
- "source": 1599,
- "pc": [
- 55
- ]
- },
- {
- "teal": 34,
- "source": 1599,
- "pc": [
- 56
- ]
- },
- {
- "teal": 35,
- "source": 1599,
- "pc": [
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 36,
- "source": 1599,
- "pc": [
- 60
- ]
- },
- {
- "teal": 37,
- "source": 1599,
- "pc": [
- 61
- ]
- },
- {
- "teal": 38,
- "source": 1599,
- "pc": [
- 62
- ]
- },
- {
- "teal": 39,
- "source": 1599,
- "pc": [
- 63
- ]
- },
- {
- "teal": 40,
- "source": 1599,
- "pc": [
- 64
- ]
- },
- {
- "teal": 41,
- "source": 1599,
- "pc": [
- 65
- ]
- },
- {
- "teal": 45,
- "source": 1599,
- "pc": [
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 48,
- "source": 1599,
- "pc": [
- 69
- ]
- },
- {
- "teal": 49,
- "source": 1599,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 53,
- "source": 1600,
- "pc": [
- 72
- ]
- },
- {
- "teal": 54,
- "source": 1600,
- "pc": [
- 73
- ]
- },
- {
- "teal": 55,
- "source": 1600,
- "pc": [
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 56,
- "source": 1600,
- "pc": [
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 57,
- "source": 1600,
- "pc": [
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 58,
- "source": 1600,
- "pc": [
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 59,
- "source": 1600,
- "pc": [
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 60,
- "source": 1600,
- "pc": [
- 103,
- 104,
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 61,
- "source": 1600,
- "pc": [
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 62,
- "source": 1600,
- "pc": [
- 111
- ]
- },
- {
- "teal": 63,
- "source": 1600,
- "pc": [
- 112
- ]
- },
- {
- "teal": 64,
- "source": 1600,
- "pc": [
- 113,
- 114,
- 115,
- 116
- ]
- },
- {
- "teal": 65,
- "source": 1600,
- "pc": [
- 117
- ]
- },
- {
- "teal": 66,
- "source": 1600,
- "pc": [
- 118
- ]
- },
- {
- "teal": 67,
- "source": 1600,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 71,
- "source": 1601,
- "pc": [
- 121
- ]
- },
- {
- "teal": 72,
- "source": 1601,
- "pc": [
- 122,
- 123
- ]
- },
- {
- "teal": 76,
- "source": 1603,
- "pc": [
- 124
- ]
- },
- {
- "teal": 77,
- "source": 1603,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 82,
- "source": 1603,
- "pc": [
- 127,
- 128
- ]
- },
- {
- "teal": 83,
- "source": 1603,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 84,
- "source": 1603,
- "pc": [
- 131
- ]
- },
- {
- "teal": 85,
- "source": 1603,
- "pc": [
- 132
- ]
- },
- {
- "teal": 86,
- "source": 1603,
- "pc": [
- 133
- ]
- },
- {
- "teal": 87,
- "source": 1603,
- "pc": [
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 91,
- "source": 1604,
- "pc": [
- 137,
- 138
- ]
- },
- {
- "teal": 92,
- "source": 1604,
- "pc": [
- 139,
- 140
- ]
- },
- {
- "teal": 93,
- "source": 1604,
- "pc": [
- 141,
- 142
- ]
- },
- {
- "teal": 94,
- "source": 1604,
- "pc": [
- 143
- ]
- },
- {
- "teal": 95,
- "source": 1604,
- "pc": [
- 144,
- 145
- ]
- },
- {
- "teal": 96,
- "source": 1604,
- "pc": [
- 146
- ]
- },
- {
- "teal": 97,
- "source": 1604,
- "pc": [
- 147
- ]
- },
- {
- "teal": 98,
- "source": 1604,
- "pc": [
- 148
- ]
- },
- {
- "teal": 99,
- "source": 1604,
- "pc": [
- 149
- ]
- },
- {
- "teal": 100,
- "source": 1604,
- "pc": [
- 150
- ]
- },
- {
- "teal": 101,
- "source": 1604,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 102,
- "source": 1604,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 103,
- "source": 1604,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 104,
- "source": 1604,
- "pc": [
- 157
- ]
- },
- {
- "teal": 105,
- "source": 1604,
- "pc": [
- 158
- ]
- },
- {
- "teal": 106,
- "source": 1604,
- "pc": [
- 159
- ]
- },
- {
- "teal": 107,
- "source": 1604,
- "pc": [
- 160
- ]
- },
- {
- "teal": 108,
- "source": 1604,
- "pc": [
- 161,
- 162
- ]
- },
- {
- "teal": 109,
- "source": 1604,
- "pc": [
- 163
- ]
- },
- {
- "teal": 110,
- "source": 1604,
- "pc": [
- 164
- ]
- },
- {
- "teal": 111,
- "source": 1604,
- "pc": [
- 165
- ]
- },
- {
- "teal": 112,
- "source": 1604,
- "pc": [
- 166
- ]
- },
- {
- "teal": 113,
- "source": 1604,
- "pc": [
- 167
- ]
- },
- {
- "teal": 114,
- "source": 1604,
- "pc": [
- 168
- ]
- },
- {
- "teal": 115,
- "source": 1604,
- "pc": [
- 169
- ]
- },
- {
- "teal": 116,
- "source": 1604,
- "pc": [
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 117,
- "source": 1604,
- "pc": [
- 173
- ]
- },
- {
- "teal": 118,
- "source": 1604,
- "pc": [
- 174,
- 175
- ]
- },
- {
- "teal": 123,
- "source": 1603,
- "pc": [
- 176,
- 177
- ]
- },
- {
- "teal": 124,
- "source": 1603,
- "pc": [
- 178
- ]
- },
- {
- "teal": 125,
- "source": 1603,
- "pc": [
- 179
- ]
- },
- {
- "teal": 126,
- "source": 1603,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 127,
- "source": 1603,
- "pc": [
- 182,
- 183,
- 184
- ]
- },
- {
- "teal": 132,
- "source": 1607,
- "pc": [
- 185,
- 186
- ]
- },
- {
- "teal": 135,
- "source": 1599,
- "pc": [
- 187,
- 188
- ]
- },
- {
- "teal": 138,
- "source": 1599,
- "pc": [
- 189,
- 190
- ]
- },
- {
- "teal": 139,
- "source": 1599,
- "pc": [
- 191
- ]
- },
- {
- "teal": 142,
- "source": 1598,
- "pc": [
- 192
- ]
- },
- {
- "teal": 143,
- "source": 1598,
- "pc": [
- 193
- ]
- },
- {
- "teal": 146,
- "source": 1598,
- "pc": [
- 194,
- 195,
- 196,
- 197,
- 198,
- 199
- ]
- },
- {
- "teal": 147,
- "source": 1598,
- "pc": [
- 200,
- 201,
- 202
- ]
- },
- {
- "teal": 148,
- "source": 1598,
- "pc": [
- 203,
- 204,
- 205,
- 206
- ]
- },
- {
- "teal": 151,
- "source": 1598,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 207
- ]
- },
- {
- "teal": 154,
- "source": 1598,
- "pc": [
- 208,
- 209,
- 210,
- 211,
- 212,
- 213
- ]
- },
- {
- "teal": 155,
- "source": 1598,
- "pc": [
- 214,
- 215,
- 216
- ]
- },
- {
- "teal": 156,
- "source": 1598,
- "pc": [
- 217,
- 218,
- 219,
- 220
- ]
- },
- {
- "teal": 159,
- "source": 1598,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 221
- ]
- },
- {
- "teal": 162,
- "source": 1598,
- "pc": [
- 222,
- 223,
- 224
- ]
- },
- {
- "teal": 163,
- "source": 1598,
- "pc": [
- 225,
- 226
- ]
- },
- {
- "teal": 164,
- "source": 1598,
- "pc": [
- 227,
- 228
- ]
- },
- {
- "teal": 165,
- "source": 1598,
- "pc": [
- 229
- ]
- },
- {
- "teal": 166,
- "source": 1598,
- "pc": [
- 230,
- 231
- ]
- },
- {
- "teal": 167,
- "source": 1598,
- "pc": [
- 232,
- 233
- ]
- },
- {
- "teal": 168,
- "source": 1598,
- "pc": [
- 234
- ]
- },
- {
- "teal": 169,
- "source": 1598,
- "pc": [
- 235
- ]
- },
- {
- "teal": 170,
- "source": 1598,
- "pc": [
- 236,
- 237
- ]
- },
- {
- "teal": 171,
- "source": 1598,
- "pc": [
- 238
- ]
- },
- {
- "teal": 172,
- "source": 1598,
- "pc": [
- 239
- ]
- },
- {
- "teal": 173,
- "source": 1598,
- "pc": [
- 240
- ]
- },
- {
- "teal": 174,
- "source": 1598,
- "pc": [
- 241,
- 242,
- 243
- ]
- },
- {
- "teal": 175,
- "source": 1598,
- "pc": [
- 244,
- 245
- ]
- },
- {
- "teal": 176,
- "source": 1598,
- "pc": [
- 246,
- 247
- ]
- },
- {
- "teal": 177,
- "source": 1598,
- "pc": [
- 248
- ]
- },
- {
- "teal": 178,
- "source": 1598,
- "pc": [
- 249
- ]
- },
- {
- "teal": 179,
- "source": 1598,
- "pc": [
- 250,
- 251
- ]
- },
- {
- "teal": 180,
- "source": 1598,
- "pc": [
- 252,
- 253
- ]
- },
- {
- "teal": 181,
- "source": 1598,
- "pc": [
- 254,
- 255
- ]
- },
- {
- "teal": 182,
- "source": 1598,
- "pc": [
- 256,
- 257
- ]
- },
- {
- "teal": 183,
- "source": 1598,
- "pc": [
- 258
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1598,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1598,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1598,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1598,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1598,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1598,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1598,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1598,
+ "pc": [
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1598,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1599,
+ "pc": [
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1599,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1599,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1599,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1599,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1599,
+ "pc": [
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1599,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1599,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1599,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1599,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1599,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1599,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1599,
+ "pc": [
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1599,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1599,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1600,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1600,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1600,
+ "pc": [
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1600,
+ "pc": [
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1600,
+ "pc": [
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1600,
+ "pc": [
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1600,
+ "pc": [
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1600,
+ "pc": [
+ 103,
+ 104,
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1600,
+ "pc": [
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1600,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1600,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1600,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1600,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1600,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1600,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1601,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1601,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1603,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1603,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1603,
+ "pc": [
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1603,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1603,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1603,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1603,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1603,
+ "pc": [
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1604,
+ "pc": [
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1604,
+ "pc": [
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1604,
+ "pc": [
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1604,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1604,
+ "pc": [
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1604,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1604,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1604,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1604,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1604,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 1604,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 1604,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1604,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 1604,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 1604,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1604,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 1604,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 1604,
+ "pc": [
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 1604,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1604,
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1604,
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 1604,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 1604,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 1604,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 1604,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 1604,
+ "pc": [
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 1604,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 1604,
+ "pc": [
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 1603,
+ "pc": [
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 1603,
+ "pc": [
+ 178
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 1603,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 1603,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 1603,
+ "pc": [
+ 182,
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 1607,
+ "pc": [
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 1599,
+ "pc": [
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 1599,
+ "pc": [
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 1599,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 1598,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 1598,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 1598,
+ "pc": [
+ 194,
+ 195,
+ 196,
+ 197,
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 1598,
+ "pc": [
+ 200,
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 1598,
+ "pc": [
+ 203,
+ 204,
+ 205,
+ 206
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 1598,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 1598,
+ "pc": [
+ 208,
+ 209,
+ 210,
+ 211,
+ 212,
+ 213
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 1598,
+ "pc": [
+ 214,
+ 215,
+ 216
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 1598,
+ "pc": [
+ 217,
+ 218,
+ 219,
+ 220
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 1598,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 221
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 1598,
+ "pc": [
+ 222,
+ 223,
+ 224
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 1598,
+ "pc": [
+ 225,
+ 226
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 1598,
+ "pc": [
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 1598,
+ "pc": [
+ 229
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 1598,
+ "pc": [
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 1598,
+ "pc": [
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 1598,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 1598,
+ "pc": [
+ 235
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 1598,
+ "pc": [
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 1598,
+ "pc": [
+ 238
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 1598,
+ "pc": [
+ 239
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 1598,
+ "pc": [
+ 240
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 1598,
+ "pc": [
+ 241,
+ 242,
+ 243
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 1598,
+ "pc": [
+ 244,
+ 245
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 1598,
+ "pc": [
+ 246,
+ 247
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 1598,
+ "pc": [
+ 248
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 1598,
+ "pc": [
+ 249
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 1598,
+ "pc": [
+ 250,
+ 251
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 1598,
+ "pc": [
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 1598,
+ "pc": [
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 1598,
+ "pc": [
+ 256,
+ 257
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 1598,
+ "pc": [
+ 258
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUl0ZXJhdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQXJyYXlJdGVyYXRpb24KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKCk6IHN0cmluZwpkeW5hbWljQXJyYXlJdGVyYXRpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbyAnLCAnV29ybGQnLCAnISddCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDA2NDg2NTZjNmM2ZjIwCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDEKCS8vIG1lc3NhZ2UgPSAnJwoJYnl0ZSAweCAvLyAiIgoJZnJhbWVfYnVyeSAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjAzCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGEubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDMKCS8vIGkgPCBhLmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJaW50IDAKCWV4dHJhY3RfdWludDE2Cgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDQKCS8vIG1lc3NhZ2UgKz0gYVtpXQoJZnJhbWVfZGlnIDEgLy8gbWVzc2FnZTogYnl0ZVtdCglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwIC8vIGluaXRpYWwgb2Zmc2V0CglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyCgkqIC8vIGFjYyAqIDIKCSsKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDMKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwNwoJLy8gcmV0dXJuIG1lc3NhZ2U7CglmcmFtZV9kaWcgMSAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5SXRlcmF0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUl0ZXJhdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQXJyYXlJdGVyYXRpb24KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKCk6IHN0cmluZwpkeW5hbWljQXJyYXlJdGVyYXRpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbyAnLCAnV29ybGQnLCAnISddCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDA2NDg2NTZjNmM2ZjIwCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDEKCS8vIG1lc3NhZ2UgPSAnJwoJYnl0ZSAweCAvLyAiIgoJZnJhbWVfYnVyeSAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjAzCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGEubGVuZ3RoOyBpICs9IDEpCglpbnQgMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDMKCS8vIGkgPCBhLmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJaW50IDAKCWV4dHJhY3RfdWludDE2Cgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDQKCS8vIG1lc3NhZ2UgKz0gYVtpXQoJZnJhbWVfZGlnIDEgLy8gbWVzc2FnZTogYnl0ZVtdCglmcmFtZV9kaWcgMCAvLyBhOiBzdHJpbmdbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwIC8vIGluaXRpYWwgb2Zmc2V0CglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludCAyCgkqIC8vIGFjYyAqIDIKCSsKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDMKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwNwoJLy8gcmV0dXJuIG1lc3NhZ2U7CglmcmFtZV9kaWcgMSAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5SXRlcmF0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayLength.approval.teal b/tests/contracts/artifacts/ABITestDynamicArrayLength.approval.teal
index 046ba8c40..832fa14bd 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayLength.approval.teal
+++ b/tests/contracts/artifacts/ABITestDynamicArrayLength.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayLength.arc32.json b/tests/contracts/artifacts/ABITestDynamicArrayLength.arc32.json
index 7506efe23..89e36c3cc 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayLength.arc32.json
+++ b/tests/contracts/artifacts/ABITestDynamicArrayLength.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXlMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXlMZW5ndGgoKTogdWludDY0CmR5bmFtaWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU5MAoJLy8gbzogeyBhOiB1aW50NjQ7IGI6IHVpbnQ2NFtdIH0gPSB7IGE6IDEsIGI6IFsxLCAyLCAzXSB9CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDBhIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTIKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTQKCS8vIHJldHVybiBhLmxlbmd0aCArIG8uYi5sZW5ndGg7CglmcmFtZV9kaWcgMSAvLyBhOiBzdHJpbmdbXQoJaW50IDAKCWV4dHJhY3RfdWludDE2CglmcmFtZV9kaWcgMCAvLyBvOiB7IGE6IHVpbnQ2NDsgYjogdWludDY0W10gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA4Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCA4IC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCWxlbgoJaW50IDgKCS8KCSsKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5TGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXlMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXlMZW5ndGgoKTogdWludDY0CmR5bmFtaWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU5MAoJLy8gbzogeyBhOiB1aW50NjQ7IGI6IHVpbnQ2NFtdIH0gPSB7IGE6IDEsIGI6IFsxLCAyLCAzXSB9CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDBhIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTIKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTQKCS8vIHJldHVybiBhLmxlbmd0aCArIG8uYi5sZW5ndGg7CglmcmFtZV9kaWcgMSAvLyBhOiBzdHJpbmdbXQoJaW50IDAKCWV4dHJhY3RfdWludDE2CglmcmFtZV9kaWcgMCAvLyBvOiB7IGE6IHVpbnQ2NDsgYjogdWludDY0W10gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA4Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCA4IC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCWxlbgoJaW50IDgKCS8KCSsKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5TGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDynamicArrayLength.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArrayLength.arc56_draft.json
index 6de491244..87c6324f3 100644
--- a/tests/contracts/artifacts/ABITestDynamicArrayLength.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDynamicArrayLength.arc56_draft.json
@@ -60,958 +60,961 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1588,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7
- ]
- },
- {
- "teal": 13,
- "source": 1588,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 14,
- "source": 1588,
- "pc": [
- 10
- ]
- },
- {
- "teal": 15,
- "source": 1588,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 16,
- "source": 1588,
- "pc": [
- 13
- ]
- },
- {
- "teal": 17,
- "source": 1588,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 18,
- "source": 1588,
- "pc": [
- 16
- ]
- },
- {
- "teal": 19,
- "source": 1588,
- "pc": [
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 23,
- "source": 1588,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 43
- ]
- },
- {
- "teal": 28,
- "source": 1589,
- "pc": [
- 44,
- 45,
- 46,
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 31,
- "source": 1589,
- "pc": [
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 32,
- "source": 1589,
- "pc": [
- 53
- ]
- },
- {
- "teal": 33,
- "source": 1589,
- "pc": [
- 54
- ]
- },
- {
- "teal": 34,
- "source": 1589,
- "pc": [
- 55
- ]
- },
- {
- "teal": 35,
- "source": 1589,
- "pc": [
- 56
- ]
- },
- {
- "teal": 36,
- "source": 1589,
- "pc": [
- 57
- ]
- },
- {
- "teal": 40,
- "source": 1589,
- "pc": [
- 58,
- 59,
- 60
- ]
- },
- {
- "teal": 43,
- "source": 1589,
- "pc": [
- 61
- ]
- },
- {
- "teal": 44,
- "source": 1589,
- "pc": [
- 62
- ]
- },
- {
- "teal": 48,
- "source": 1590,
- "pc": [
- 63
- ]
- },
- {
- "teal": 49,
- "source": 1590,
- "pc": [
- 64
- ]
- },
- {
- "teal": 50,
- "source": 1590,
- "pc": [
- 65,
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 51,
- "source": 1590,
- "pc": [
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78
- ]
- },
- {
- "teal": 52,
- "source": 1590,
- "pc": [
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 53,
- "source": 1590,
- "pc": [
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 54,
- "source": 1590,
- "pc": [
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 55,
- "source": 1590,
- "pc": [
- 113
- ]
- },
- {
- "teal": 56,
- "source": 1590,
- "pc": [
- 114
- ]
- },
- {
- "teal": 57,
- "source": 1590,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 61,
- "source": 1592,
- "pc": [
- 117
- ]
- },
- {
- "teal": 62,
- "source": 1592,
- "pc": [
- 118
- ]
- },
- {
- "teal": 63,
- "source": 1592,
- "pc": [
- 119,
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 64,
- "source": 1592,
- "pc": [
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 65,
- "source": 1592,
- "pc": [
- 132,
- 133,
- 134
- ]
- },
- {
- "teal": 66,
- "source": 1592,
- "pc": [
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143
- ]
- },
- {
- "teal": 67,
- "source": 1592,
- "pc": [
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 68,
- "source": 1592,
- "pc": [
- 147,
- 148,
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 69,
- "source": 1592,
- "pc": [
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 70,
- "source": 1592,
- "pc": [
- 155
- ]
- },
- {
- "teal": 71,
- "source": 1592,
- "pc": [
- 156
- ]
- },
- {
- "teal": 72,
- "source": 1592,
- "pc": [
- 157,
- 158,
- 159,
- 160
- ]
- },
- {
- "teal": 73,
- "source": 1592,
- "pc": [
- 161
- ]
- },
- {
- "teal": 74,
- "source": 1592,
- "pc": [
- 162
- ]
- },
- {
- "teal": 75,
- "source": 1592,
- "pc": [
- 163,
- 164
- ]
- },
- {
- "teal": 79,
- "source": 1594,
- "pc": [
- 165,
- 166
- ]
- },
- {
- "teal": 80,
- "source": 1594,
- "pc": [
- 167,
- 168
- ]
- },
- {
- "teal": 81,
- "source": 1594,
- "pc": [
- 169
- ]
- },
- {
- "teal": 82,
- "source": 1594,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 83,
- "source": 1594,
- "pc": [
- 172,
- 173
- ]
- },
- {
- "teal": 84,
- "source": 1594,
- "pc": [
- 174
- ]
- },
- {
- "teal": 85,
- "source": 1594,
- "pc": [
- 175,
- 176
- ]
- },
- {
- "teal": 86,
- "source": 1594,
- "pc": [
- 177,
- 178
- ]
- },
- {
- "teal": 87,
- "source": 1594,
- "pc": [
- 179,
- 180
- ]
- },
- {
- "teal": 88,
- "source": 1594,
- "pc": [
- 181
- ]
- },
- {
- "teal": 89,
- "source": 1594,
- "pc": [
- 182
- ]
- },
- {
- "teal": 90,
- "source": 1594,
- "pc": [
- 183,
- 184
- ]
- },
- {
- "teal": 91,
- "source": 1594,
- "pc": [
- 185
- ]
- },
- {
- "teal": 92,
- "source": 1594,
- "pc": [
- 186
- ]
- },
- {
- "teal": 93,
- "source": 1594,
- "pc": [
- 187
- ]
- },
- {
- "teal": 94,
- "source": 1594,
- "pc": [
- 188
- ]
- },
- {
- "teal": 95,
- "source": 1594,
- "pc": [
- 189,
- 190
- ]
- },
- {
- "teal": 96,
- "source": 1594,
- "pc": [
- 191
- ]
- },
- {
- "teal": 97,
- "source": 1594,
- "pc": [
- 192
- ]
- },
- {
- "teal": 98,
- "source": 1594,
- "pc": [
- 193,
- 194,
- 195
- ]
- },
- {
- "teal": 99,
- "source": 1594,
- "pc": [
- 196
- ]
- },
- {
- "teal": 100,
- "source": 1594,
- "pc": [
- 197
- ]
- },
- {
- "teal": 101,
- "source": 1594,
- "pc": [
- 198
- ]
- },
- {
- "teal": 102,
- "source": 1594,
- "pc": [
- 199
- ]
- },
- {
- "teal": 105,
- "source": 1589,
- "pc": [
- 200,
- 201
- ]
- },
- {
- "teal": 108,
- "source": 1589,
- "pc": [
- 202,
- 203
- ]
- },
- {
- "teal": 109,
- "source": 1589,
- "pc": [
- 204
- ]
- },
- {
- "teal": 112,
- "source": 1588,
- "pc": [
- 205
- ]
- },
- {
- "teal": 113,
- "source": 1588,
- "pc": [
- 206
- ]
- },
- {
- "teal": 116,
- "source": 1588,
- "pc": [
- 207,
- 208,
- 209,
- 210,
- 211,
- 212
- ]
- },
- {
- "teal": 117,
- "source": 1588,
- "pc": [
- 213,
- 214,
- 215
- ]
- },
- {
- "teal": 118,
- "source": 1588,
- "pc": [
- 216,
- 217,
- 218,
- 219
- ]
- },
- {
- "teal": 121,
- "source": 1588,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 220
- ]
- },
- {
- "teal": 124,
- "source": 1588,
- "pc": [
- 221,
- 222,
- 223,
- 224,
- 225,
- 226
- ]
- },
- {
- "teal": 125,
- "source": 1588,
- "pc": [
- 227,
- 228,
- 229
- ]
- },
- {
- "teal": 126,
- "source": 1588,
- "pc": [
- 230,
- 231,
- 232,
- 233
- ]
- },
- {
- "teal": 129,
- "source": 1588,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 234
- ]
- },
- {
- "teal": 132,
- "source": 1588,
- "pc": [
- 235,
- 236,
- 237
- ]
- },
- {
- "teal": 133,
- "source": 1588,
- "pc": [
- 238,
- 239
- ]
- },
- {
- "teal": 134,
- "source": 1588,
- "pc": [
- 240,
- 241
- ]
- },
- {
- "teal": 135,
- "source": 1588,
- "pc": [
- 242
- ]
- },
- {
- "teal": 136,
- "source": 1588,
- "pc": [
- 243,
- 244
- ]
- },
- {
- "teal": 137,
- "source": 1588,
- "pc": [
- 245,
- 246
- ]
- },
- {
- "teal": 138,
- "source": 1588,
- "pc": [
- 247
- ]
- },
- {
- "teal": 141,
- "source": 1588,
- "pc": [
- 248,
- 249,
- 250
- ]
- },
- {
- "teal": 142,
- "source": 1588,
- "pc": [
- 251,
- 252
- ]
- },
- {
- "teal": 143,
- "source": 1588,
- "pc": [
- 253,
- 254
- ]
- },
- {
- "teal": 144,
- "source": 1588,
- "pc": [
- 255
- ]
- },
- {
- "teal": 145,
- "source": 1588,
- "pc": [
- 256,
- 257
- ]
- },
- {
- "teal": 146,
- "source": 1588,
- "pc": [
- 258,
- 259
- ]
- },
- {
- "teal": 147,
- "source": 1588,
- "pc": [
- 260
- ]
- },
- {
- "teal": 148,
- "source": 1588,
- "pc": [
- 261
- ]
- },
- {
- "teal": 149,
- "source": 1588,
- "pc": [
- 262,
- 263
- ]
- },
- {
- "teal": 150,
- "source": 1588,
- "pc": [
- 264
- ]
- },
- {
- "teal": 151,
- "source": 1588,
- "pc": [
- 265
- ]
- },
- {
- "teal": 152,
- "source": 1588,
- "pc": [
- 266
- ]
- },
- {
- "teal": 153,
- "source": 1588,
- "pc": [
- 267,
- 268,
- 269
- ]
- },
- {
- "teal": 154,
- "source": 1588,
- "pc": [
- 270,
- 271
- ]
- },
- {
- "teal": 155,
- "source": 1588,
- "pc": [
- 272,
- 273
- ]
- },
- {
- "teal": 156,
- "source": 1588,
- "pc": [
- 274
- ]
- },
- {
- "teal": 157,
- "source": 1588,
- "pc": [
- 275
- ]
- },
- {
- "teal": 158,
- "source": 1588,
- "pc": [
- 276,
- 277
- ]
- },
- {
- "teal": 159,
- "source": 1588,
- "pc": [
- 278,
- 279
- ]
- },
- {
- "teal": 160,
- "source": 1588,
- "pc": [
- 280,
- 281
- ]
- },
- {
- "teal": 161,
- "source": 1588,
- "pc": [
- 282,
- 283
- ]
- },
- {
- "teal": 162,
- "source": 1588,
- "pc": [
- 284
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1588,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1588,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1588,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1588,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1588,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1588,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1588,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1588,
+ "pc": [
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1588,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1589,
+ "pc": [
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1589,
+ "pc": [
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1589,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1589,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1589,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1589,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1589,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1589,
+ "pc": [
+ 58,
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1589,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1589,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1590,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1590,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1590,
+ "pc": [
+ 65,
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1590,
+ "pc": [
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1590,
+ "pc": [
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1590,
+ "pc": [
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1590,
+ "pc": [
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1590,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1590,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1590,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1592,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1592,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1592,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1592,
+ "pc": [
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1592,
+ "pc": [
+ 132,
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1592,
+ "pc": [
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1592,
+ "pc": [
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1592,
+ "pc": [
+ 147,
+ 148,
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1592,
+ "pc": [
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1592,
+ "pc": [
+ 155
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1592,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1592,
+ "pc": [
+ 157,
+ 158,
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1592,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1592,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1592,
+ "pc": [
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1594,
+ "pc": [
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1594,
+ "pc": [
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1594,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1594,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1594,
+ "pc": [
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1594,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1594,
+ "pc": [
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1594,
+ "pc": [
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1594,
+ "pc": [
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1594,
+ "pc": [
+ 181
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1594,
+ "pc": [
+ 182
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1594,
+ "pc": [
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1594,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1594,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1594,
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1594,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1594,
+ "pc": [
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1594,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1594,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1594,
+ "pc": [
+ 193,
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1594,
+ "pc": [
+ 196
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1594,
+ "pc": [
+ 197
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 1594,
+ "pc": [
+ 198
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 1594,
+ "pc": [
+ 199
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 1589,
+ "pc": [
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 1589,
+ "pc": [
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 1589,
+ "pc": [
+ 204
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 1588,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 1588,
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 1588,
+ "pc": [
+ 207,
+ 208,
+ 209,
+ 210,
+ 211,
+ 212
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 1588,
+ "pc": [
+ 213,
+ 214,
+ 215
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 1588,
+ "pc": [
+ 216,
+ 217,
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 1588,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 1588,
+ "pc": [
+ 221,
+ 222,
+ 223,
+ 224,
+ 225,
+ 226
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 1588,
+ "pc": [
+ 227,
+ 228,
+ 229
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 1588,
+ "pc": [
+ 230,
+ 231,
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 1588,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 1588,
+ "pc": [
+ 235,
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 1588,
+ "pc": [
+ 238,
+ 239
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 1588,
+ "pc": [
+ 240,
+ 241
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 1588,
+ "pc": [
+ 242
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 1588,
+ "pc": [
+ 243,
+ 244
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 1588,
+ "pc": [
+ 245,
+ 246
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 1588,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 1588,
+ "pc": [
+ 248,
+ 249,
+ 250
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 1588,
+ "pc": [
+ 251,
+ 252
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 1588,
+ "pc": [
+ 253,
+ 254
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 1588,
+ "pc": [
+ 255
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 1588,
+ "pc": [
+ 256,
+ 257
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 1588,
+ "pc": [
+ 258,
+ 259
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 1588,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 1588,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 1588,
+ "pc": [
+ 262,
+ 263
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 1588,
+ "pc": [
+ 264
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 1588,
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 1588,
+ "pc": [
+ 266
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 1588,
+ "pc": [
+ 267,
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 1588,
+ "pc": [
+ 270,
+ 271
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 1588,
+ "pc": [
+ 272,
+ 273
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 1588,
+ "pc": [
+ 274
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 1588,
+ "pc": [
+ 275
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 1588,
+ "pc": [
+ 276,
+ 277
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 1588,
+ "pc": [
+ 278,
+ 279
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 1588,
+ "pc": [
+ 280,
+ 281
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 1588,
+ "pc": [
+ 282,
+ 283
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 1588,
+ "pc": [
+ 284
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXlMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXlMZW5ndGgoKTogdWludDY0CmR5bmFtaWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU5MAoJLy8gbzogeyBhOiB1aW50NjQ7IGI6IHVpbnQ2NFtdIH0gPSB7IGE6IDEsIGI6IFsxLCAyLCAzXSB9CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDBhIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTIKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTQKCS8vIHJldHVybiBhLmxlbmd0aCArIG8uYi5sZW5ndGg7CglmcmFtZV9kaWcgMSAvLyBhOiBzdHJpbmdbXQoJaW50IDAKCWV4dHJhY3RfdWludDE2CglmcmFtZV9kaWcgMCAvLyBvOiB7IGE6IHVpbnQ2NDsgYjogdWludDY0W10gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA4Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCA4IC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCWxlbgoJaW50IDgKCS8KCSsKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5TGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXlMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXlMZW5ndGgoKTogdWludDY0CmR5bmFtaWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU5MAoJLy8gbzogeyBhOiB1aW50NjQ7IGI6IHVpbnQ2NFtdIH0gPSB7IGE6IDEsIGI6IFsxLCAyLCAzXSB9CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDBhIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTIKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYnl0ZSAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTQKCS8vIHJldHVybiBhLmxlbmd0aCArIG8uYi5sZW5ndGg7CglmcmFtZV9kaWcgMSAvLyBhOiBzdHJpbmdbXQoJaW50IDAKCWV4dHJhY3RfdWludDE2CglmcmFtZV9kaWcgMCAvLyBvOiB7IGE6IHVpbnQ2NDsgYjogdWludDY0W10gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA4Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCA4IC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCWxlbgoJaW50IDgKCS8KCSsKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5TGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArray.approval.teal b/tests/contracts/artifacts/ABITestDynamicBoolArray.approval.teal
index 7aa614b66..2bcfff55f 100644
--- a/tests/contracts/artifacts/ABITestDynamicBoolArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestDynamicBoolArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArray.arc32.json b/tests/contracts/artifacts/ABITestDynamicBoolArray.arc32.json
index df2335807..cc063cf55 100644
--- a/tests/contracts/artifacts/ABITestDynamicBoolArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestDynamicBoolArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5KClib29sW10KKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMQoJLy8gYTogYm9vbGVhbltdID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDA5CglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBib29sZWFuW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5KClib29sW10KKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMQoJLy8gYTogYm9vbGVhbltdID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDA5CglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBib29sZWFuW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArray.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicBoolArray.arc56_draft.json
index fd7c3dbdc..bac3108db 100644
--- a/tests/contracts/artifacts/ABITestDynamicBoolArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDynamicBoolArray.arc56_draft.json
@@ -60,517 +60,520 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 929,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 929,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 929,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 929,
- "pc": [
- 9
- ]
- },
- {
- "teal": 16,
- "source": 929,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 929,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 929,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 929,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 929,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 930,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 930,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 32,
- "source": 930,
- "pc": [
- 50
- ]
- },
- {
- "teal": 33,
- "source": 930,
- "pc": [
- 51
- ]
- },
- {
- "teal": 34,
- "source": 930,
- "pc": [
- 52
- ]
- },
- {
- "teal": 35,
- "source": 930,
- "pc": [
- 53
- ]
- },
- {
- "teal": 39,
- "source": 930,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 42,
- "source": 930,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 46,
- "source": 931,
- "pc": [
- 59,
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 47,
- "source": 931,
- "pc": [
- 63,
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 48,
- "source": 931,
- "pc": [
- 67
- ]
- },
- {
- "teal": 49,
- "source": 931,
- "pc": [
- 68
- ]
- },
- {
- "teal": 50,
- "source": 931,
- "pc": [
- 69
- ]
- },
- {
- "teal": 51,
- "source": 931,
- "pc": [
- 70
- ]
- },
- {
- "teal": 52,
- "source": 931,
- "pc": [
- 71
- ]
- },
- {
- "teal": 53,
- "source": 931,
- "pc": [
- 72
- ]
- },
- {
- "teal": 54,
- "source": 931,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 55,
- "source": 931,
- "pc": [
- 75
- ]
- },
- {
- "teal": 56,
- "source": 931,
- "pc": [
- 76
- ]
- },
- {
- "teal": 57,
- "source": 931,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 58,
- "source": 931,
- "pc": [
- 79
- ]
- },
- {
- "teal": 59,
- "source": 931,
- "pc": [
- 80
- ]
- },
- {
- "teal": 60,
- "source": 931,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 61,
- "source": 931,
- "pc": [
- 83
- ]
- },
- {
- "teal": 62,
- "source": 931,
- "pc": [
- 84
- ]
- },
- {
- "teal": 63,
- "source": 931,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 64,
- "source": 931,
- "pc": [
- 87
- ]
- },
- {
- "teal": 65,
- "source": 931,
- "pc": [
- 88
- ]
- },
- {
- "teal": 66,
- "source": 931,
- "pc": [
- 89
- ]
- },
- {
- "teal": 67,
- "source": 931,
- "pc": [
- 90
- ]
- },
- {
- "teal": 68,
- "source": 931,
- "pc": [
- 91
- ]
- },
- {
- "teal": 69,
- "source": 931,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 70,
- "source": 931,
- "pc": [
- 94
- ]
- },
- {
- "teal": 71,
- "source": 931,
- "pc": [
- 95
- ]
- },
- {
- "teal": 72,
- "source": 931,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 73,
- "source": 931,
- "pc": [
- 98
- ]
- },
- {
- "teal": 74,
- "source": 931,
- "pc": [
- 99
- ]
- },
- {
- "teal": 75,
- "source": 931,
- "pc": [
- 100
- ]
- },
- {
- "teal": 76,
- "source": 931,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 80,
- "source": 933,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 83,
- "source": 930,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 84,
- "source": 930,
- "pc": [
- 107
- ]
- },
- {
- "teal": 87,
- "source": 929,
- "pc": [
- 108
- ]
- },
- {
- "teal": 88,
- "source": 929,
- "pc": [
- 109
- ]
- },
- {
- "teal": 91,
- "source": 929,
- "pc": [
- 110,
- 111,
- 112,
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 92,
- "source": 929,
- "pc": [
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 93,
- "source": 929,
- "pc": [
- 119,
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 96,
- "source": 929,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 123
- ]
- },
- {
- "teal": 99,
- "source": 929,
- "pc": [
- 124,
- 125,
- 126,
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 100,
- "source": 929,
- "pc": [
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 101,
- "source": 929,
- "pc": [
- 133,
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 104,
- "source": 929,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 137
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 929,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 929,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 929,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 929,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 929,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 929,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 929,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 929,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 929,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 930,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 930,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 930,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 930,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 930,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 930,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 930,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 930,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 931,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 931,
+ "pc": [
+ 63,
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 931,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 931,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 931,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 931,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 931,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 931,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 931,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 931,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 931,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 931,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 931,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 931,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 931,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 931,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 931,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 931,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 931,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 931,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 931,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 931,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 931,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 931,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 931,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 931,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 931,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 931,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 931,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 931,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 931,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 933,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 930,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 930,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 929,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 929,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 929,
+ "pc": [
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 929,
+ "pc": [
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 929,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 929,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 929,
+ "pc": [
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 929,
+ "pc": [
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 929,
+ "pc": [
+ 133,
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 929,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 137
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5KClib29sW10KKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMQoJLy8gYTogYm9vbGVhbltdID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDA5CglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBib29sZWFuW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5KClib29sW10KKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMQoJLy8gYTogYm9vbGVhbltdID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDA5CglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBib29sZWFuW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.approval.teal b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.approval.teal
index 40a440f96..ddbc30780 100644
--- a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.approval.teal
+++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc32.json b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc32.json
index e21f953e2..3879851eb 100644
--- a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc32.json
+++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCgljYWxsc3ViIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpOiBib29sZWFuCmR5bmFtaWNCb29sQXJyYXlBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MzkKCS8vIGE6IGJvb2xlYW5bXSA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglieXRlIDB4MDAwOQoJYnl0ZSAweDAwMDAKCWludCAwCglpbnQgMQoJc2V0Yml0CglpbnQgMQoJaW50IDAKCXNldGJpdAoJaW50IDIKCWludCAxCglzZXRiaXQKCWludCAzCglpbnQgMQoJc2V0Yml0CglpbnQgNAoJaW50IDAKCXNldGJpdAoJaW50IDUKCWludCAwCglzZXRiaXQKCWludCA2CglpbnQgMQoJc2V0Yml0CglpbnQgNwoJaW50IDAKCXNldGJpdAoJaW50IDgKCWludCAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDEKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCgljYWxsc3ViIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpOiBib29sZWFuCmR5bmFtaWNCb29sQXJyYXlBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MzkKCS8vIGE6IGJvb2xlYW5bXSA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglieXRlIDB4MDAwOQoJYnl0ZSAweDAwMDAKCWludCAwCglpbnQgMQoJc2V0Yml0CglpbnQgMQoJaW50IDAKCXNldGJpdAoJaW50IDIKCWludCAxCglzZXRiaXQKCWludCAzCglpbnQgMQoJc2V0Yml0CglpbnQgNAoJaW50IDAKCXNldGJpdAoJaW50IDUKCWludCAwCglzZXRiaXQKCWludCA2CglpbnQgMQoJc2V0Yml0CglpbnQgNwoJaW50IDAKCXNldGJpdAoJaW50IDgKCWludCAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDEKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc56_draft.json
index 92a1a022e..78a907a19 100644
--- a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc56_draft.json
@@ -60,578 +60,581 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 937,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 937,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 937,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 937,
- "pc": [
- 10
- ]
- },
- {
- "teal": 16,
- "source": 937,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 937,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 937,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 937,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 937,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 938,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 938,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 938,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 33,
- "source": 938,
- "pc": [
- 54
- ]
- },
- {
- "teal": 34,
- "source": 938,
- "pc": [
- 55,
- 56
- ]
- },
- {
- "teal": 35,
- "source": 938,
- "pc": [
- 57
- ]
- },
- {
- "teal": 36,
- "source": 938,
- "pc": [
- 58
- ]
- },
- {
- "teal": 37,
- "source": 938,
- "pc": [
- 59
- ]
- },
- {
- "teal": 38,
- "source": 938,
- "pc": [
- 60
- ]
- },
- {
- "teal": 39,
- "source": 938,
- "pc": [
- 61
- ]
- },
- {
- "teal": 43,
- "source": 938,
- "pc": [
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 46,
- "source": 938,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 50,
- "source": 939,
- "pc": [
- 67,
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 51,
- "source": 939,
- "pc": [
- 71,
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 52,
- "source": 939,
- "pc": [
- 75
- ]
- },
- {
- "teal": 53,
- "source": 939,
- "pc": [
- 76
- ]
- },
- {
- "teal": 54,
- "source": 939,
- "pc": [
- 77
- ]
- },
- {
- "teal": 55,
- "source": 939,
- "pc": [
- 78
- ]
- },
- {
- "teal": 56,
- "source": 939,
- "pc": [
- 79
- ]
- },
- {
- "teal": 57,
- "source": 939,
- "pc": [
- 80
- ]
- },
- {
- "teal": 58,
- "source": 939,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 59,
- "source": 939,
- "pc": [
- 83
- ]
- },
- {
- "teal": 60,
- "source": 939,
- "pc": [
- 84
- ]
- },
- {
- "teal": 61,
- "source": 939,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 62,
- "source": 939,
- "pc": [
- 87
- ]
- },
- {
- "teal": 63,
- "source": 939,
- "pc": [
- 88
- ]
- },
- {
- "teal": 64,
- "source": 939,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 65,
- "source": 939,
- "pc": [
- 91
- ]
- },
- {
- "teal": 66,
- "source": 939,
- "pc": [
- 92
- ]
- },
- {
- "teal": 67,
- "source": 939,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 68,
- "source": 939,
- "pc": [
- 95
- ]
- },
- {
- "teal": 69,
- "source": 939,
- "pc": [
- 96
- ]
- },
- {
- "teal": 70,
- "source": 939,
- "pc": [
- 97
- ]
- },
- {
- "teal": 71,
- "source": 939,
- "pc": [
- 98
- ]
- },
- {
- "teal": 72,
- "source": 939,
- "pc": [
- 99
- ]
- },
- {
- "teal": 73,
- "source": 939,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 74,
- "source": 939,
- "pc": [
- 102
- ]
- },
- {
- "teal": 75,
- "source": 939,
- "pc": [
- 103
- ]
- },
- {
- "teal": 76,
- "source": 939,
- "pc": [
- 104
- ]
- },
- {
- "teal": 77,
- "source": 939,
- "pc": [
- 105
- ]
- },
- {
- "teal": 78,
- "source": 939,
- "pc": [
- 106
- ]
- },
- {
- "teal": 79,
- "source": 939,
- "pc": [
- 107
- ]
- },
- {
- "teal": 80,
- "source": 939,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 84,
- "source": 941,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 85,
- "source": 941,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 86,
- "source": 941,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 87,
- "source": 941,
- "pc": [
- 116
- ]
- },
- {
- "teal": 88,
- "source": 941,
- "pc": [
- 117
- ]
- },
- {
- "teal": 91,
- "source": 938,
- "pc": [
- 118,
- 119
- ]
- },
- {
- "teal": 92,
- "source": 938,
- "pc": [
- 120
- ]
- },
- {
- "teal": 95,
- "source": 937,
- "pc": [
- 121
- ]
- },
- {
- "teal": 96,
- "source": 937,
- "pc": [
- 122
- ]
- },
- {
- "teal": 99,
- "source": 937,
- "pc": [
- 123,
- 124,
- 125,
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 100,
- "source": 937,
- "pc": [
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 101,
- "source": 937,
- "pc": [
- 132,
- 133,
- 134,
- 135
- ]
- },
- {
- "teal": 104,
- "source": 937,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 136
- ]
- },
- {
- "teal": 107,
- "source": 937,
- "pc": [
- 137,
- 138,
- 139,
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 108,
- "source": 937,
- "pc": [
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 109,
- "source": 937,
- "pc": [
- 146,
- 147,
- 148,
- 149
- ]
- },
- {
- "teal": 112,
- "source": 937,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 150
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 937,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 937,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 937,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 937,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 937,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 937,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 937,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 937,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 937,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 938,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 938,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 938,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 938,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 938,
+ "pc": [
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 938,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 938,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 938,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 938,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 938,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 938,
+ "pc": [
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 938,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 939,
+ "pc": [
+ 67,
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 939,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 939,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 939,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 939,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 939,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 939,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 939,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 939,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 939,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 939,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 939,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 939,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 939,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 939,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 939,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 939,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 939,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 939,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 939,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 939,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 939,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 939,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 939,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 939,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 939,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 939,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 939,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 939,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 939,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 939,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 941,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 941,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 941,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 941,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 941,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 938,
+ "pc": [
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 938,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 937,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 937,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 937,
+ "pc": [
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 937,
+ "pc": [
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 937,
+ "pc": [
+ 132,
+ 133,
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 937,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 937,
+ "pc": [
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 937,
+ "pc": [
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 937,
+ "pc": [
+ 146,
+ 147,
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 937,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 150
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCgljYWxsc3ViIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpOiBib29sZWFuCmR5bmFtaWNCb29sQXJyYXlBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MzkKCS8vIGE6IGJvb2xlYW5bXSA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglieXRlIDB4MDAwOQoJYnl0ZSAweDAwMDAKCWludCAwCglpbnQgMQoJc2V0Yml0CglpbnQgMQoJaW50IDAKCXNldGJpdAoJaW50IDIKCWludCAxCglzZXRiaXQKCWludCAzCglpbnQgMQoJc2V0Yml0CglpbnQgNAoJaW50IDAKCXNldGJpdAoJaW50IDUKCWludCAwCglzZXRiaXQKCWludCA2CglpbnQgMQoJc2V0Yml0CglpbnQgNwoJaW50IDAKCXNldGJpdAoJaW50IDgKCWludCAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDEKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCgljYWxsc3ViIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MKCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpOiBib29sZWFuCmR5bmFtaWNCb29sQXJyYXlBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MzkKCS8vIGE6IGJvb2xlYW5bXSA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglieXRlIDB4MDAwOQoJYnl0ZSAweDAwMDAKCWludCAwCglpbnQgMQoJc2V0Yml0CglpbnQgMQoJaW50IDAKCXNldGJpdAoJaW50IDIKCWludCAxCglzZXRiaXQKCWludCAzCglpbnQgMQoJc2V0Yml0CglpbnQgNAoJaW50IDAKCXNldGJpdAoJaW50IDUKCWludCAwCglzZXRiaXQKCWludCA2CglpbnQgMQoJc2V0Yml0CglpbnQgNwoJaW50IDAKCXNldGJpdAoJaW50IDgKCWludCAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDEKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.approval.teal b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.approval.teal
index 89d78a462..5c2c96b61 100644
--- a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.approval.teal
+++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc32.json b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc32.json
index f7b986f10..ef4def8ad 100644
--- a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc32.json
+++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5VXBkYXRlKClib29sW10KKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5VXBkYXRlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1NwoJLy8gYTogYm9vbGVhbltdID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDA5CglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyNAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NjEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQm9vbEFycmF5VXBkYXRlKClib29sW10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNCb29sQXJyYXlVcGRhdGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5VXBkYXRlKClib29sW10KKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5VXBkYXRlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1NwoJLy8gYTogYm9vbGVhbltdID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDA5CglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyNAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NjEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQm9vbEFycmF5VXBkYXRlKClib29sW10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNCb29sQXJyYXlVcGRhdGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc56_draft.json
index 11ec0afef..dd592f689 100644
--- a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc56_draft.json
@@ -60,571 +60,574 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 955,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 955,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 955,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 955,
- "pc": [
- 9
- ]
- },
- {
- "teal": 16,
- "source": 955,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 955,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 955,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 955,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 955,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 956,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 956,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 32,
- "source": 956,
- "pc": [
- 50
- ]
- },
- {
- "teal": 33,
- "source": 956,
- "pc": [
- 51
- ]
- },
- {
- "teal": 34,
- "source": 956,
- "pc": [
- 52
- ]
- },
- {
- "teal": 35,
- "source": 956,
- "pc": [
- 53
- ]
- },
- {
- "teal": 39,
- "source": 956,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 42,
- "source": 956,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 46,
- "source": 957,
- "pc": [
- 59,
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 47,
- "source": 957,
- "pc": [
- 63,
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 48,
- "source": 957,
- "pc": [
- 67
- ]
- },
- {
- "teal": 49,
- "source": 957,
- "pc": [
- 68
- ]
- },
- {
- "teal": 50,
- "source": 957,
- "pc": [
- 69
- ]
- },
- {
- "teal": 51,
- "source": 957,
- "pc": [
- 70
- ]
- },
- {
- "teal": 52,
- "source": 957,
- "pc": [
- 71
- ]
- },
- {
- "teal": 53,
- "source": 957,
- "pc": [
- 72
- ]
- },
- {
- "teal": 54,
- "source": 957,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 55,
- "source": 957,
- "pc": [
- 75
- ]
- },
- {
- "teal": 56,
- "source": 957,
- "pc": [
- 76
- ]
- },
- {
- "teal": 57,
- "source": 957,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 58,
- "source": 957,
- "pc": [
- 79
- ]
- },
- {
- "teal": 59,
- "source": 957,
- "pc": [
- 80
- ]
- },
- {
- "teal": 60,
- "source": 957,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 61,
- "source": 957,
- "pc": [
- 83
- ]
- },
- {
- "teal": 62,
- "source": 957,
- "pc": [
- 84
- ]
- },
- {
- "teal": 63,
- "source": 957,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 64,
- "source": 957,
- "pc": [
- 87
- ]
- },
- {
- "teal": 65,
- "source": 957,
- "pc": [
- 88
- ]
- },
- {
- "teal": 66,
- "source": 957,
- "pc": [
- 89
- ]
- },
- {
- "teal": 67,
- "source": 957,
- "pc": [
- 90
- ]
- },
- {
- "teal": 68,
- "source": 957,
- "pc": [
- 91
- ]
- },
- {
- "teal": 69,
- "source": 957,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 70,
- "source": 957,
- "pc": [
- 94
- ]
- },
- {
- "teal": 71,
- "source": 957,
- "pc": [
- 95
- ]
- },
- {
- "teal": 72,
- "source": 957,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 73,
- "source": 957,
- "pc": [
- 98
- ]
- },
- {
- "teal": 74,
- "source": 957,
- "pc": [
- 99
- ]
- },
- {
- "teal": 75,
- "source": 957,
- "pc": [
- 100
- ]
- },
- {
- "teal": 76,
- "source": 957,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 80,
- "source": 959,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 81,
- "source": 959,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 82,
- "source": 959,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 83,
- "source": 959,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 84,
- "source": 959,
- "pc": [
- 111
- ]
- },
- {
- "teal": 85,
- "source": 959,
- "pc": [
- 112
- ]
- },
- {
- "teal": 86,
- "source": 959,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 90,
- "source": 961,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 93,
- "source": 956,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 94,
- "source": 956,
- "pc": [
- 119
- ]
- },
- {
- "teal": 97,
- "source": 955,
- "pc": [
- 120
- ]
- },
- {
- "teal": 98,
- "source": 955,
- "pc": [
- 121
- ]
- },
- {
- "teal": 101,
- "source": 955,
- "pc": [
- 122,
- 123,
- 124,
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 102,
- "source": 955,
- "pc": [
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 103,
- "source": 955,
- "pc": [
- 131,
- 132,
- 133,
- 134
- ]
- },
- {
- "teal": 106,
- "source": 955,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 135
- ]
- },
- {
- "teal": 109,
- "source": 955,
- "pc": [
- 136,
- 137,
- 138,
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 110,
- "source": 955,
- "pc": [
- 142,
- 143,
- 144
- ]
- },
- {
- "teal": 111,
- "source": 955,
- "pc": [
- 145,
- 146,
- 147,
- 148
- ]
- },
- {
- "teal": 114,
- "source": 955,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 149
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 955,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 955,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 955,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 955,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 955,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 955,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 955,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 955,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 955,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 956,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 956,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 956,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 956,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 956,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 956,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 956,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 956,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 957,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 957,
+ "pc": [
+ 63,
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 957,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 957,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 957,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 957,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 957,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 957,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 957,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 957,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 957,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 957,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 957,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 957,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 957,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 957,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 957,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 957,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 957,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 957,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 957,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 957,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 957,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 957,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 957,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 957,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 957,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 957,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 957,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 957,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 957,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 959,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 959,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 959,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 959,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 959,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 959,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 959,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 961,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 956,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 956,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 955,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 955,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 955,
+ "pc": [
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 955,
+ "pc": [
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 955,
+ "pc": [
+ 131,
+ 132,
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 955,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 955,
+ "pc": [
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 955,
+ "pc": [
+ 142,
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 955,
+ "pc": [
+ 145,
+ 146,
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 955,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 149
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5VXBkYXRlKClib29sW10KKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5VXBkYXRlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1NwoJLy8gYTogYm9vbGVhbltdID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDA5CglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyNAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NjEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQm9vbEFycmF5VXBkYXRlKClib29sW10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNCb29sQXJyYXlVcGRhdGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5VXBkYXRlKClib29sW10KKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5VXBkYXRlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1NwoJLy8gYTogYm9vbGVhbltdID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDA5CglieXRlIDB4MDAwMAoJaW50IDAKCWludCAxCglzZXRiaXQKCWludCAxCglpbnQgMAoJc2V0Yml0CglpbnQgMgoJaW50IDEKCXNldGJpdAoJaW50IDMKCWludCAxCglzZXRiaXQKCWludCA0CglpbnQgMAoJc2V0Yml0CglpbnQgNQoJaW50IDAKCXNldGJpdAoJaW50IDYKCWludCAxCglzZXRiaXQKCWludCA3CglpbnQgMAoJc2V0Yml0CglpbnQgOAoJaW50IDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyNAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NjEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljQm9vbEFycmF5VXBkYXRlKClib29sW10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNCb29sQXJyYXlVcGRhdGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestDynamicTupleArray.approval.teal b/tests/contracts/artifacts/ABITestDynamicTupleArray.approval.teal
index f2bd08541..3c4f82508 100644
--- a/tests/contracts/artifacts/ABITestDynamicTupleArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestDynamicTupleArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestDynamicTupleArray.arc32.json b/tests/contracts/artifacts/ABITestDynamicTupleArray.arc32.json
index 3695c6ba1..6c8d3f5f9 100644
--- a/tests/contracts/artifacts/ABITestDynamicTupleArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestDynamicTupleArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljVHVwbGVBcnJheSgpdWludDY0CiphYmlfcm91dGVfZHluYW1pY1R1cGxlQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljVHVwbGVBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNUdXBsZUFycmF5KCk6IHVpbnQ2NApkeW5hbWljVHVwbGVBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM3OQoJLy8gYTogW3VpbnQxNiwgdWludDY0XVtdID0gWwoJLy8gICAgICAgWzExLCAyMl0sCgkvLyAgICAgICBbMzMsIDQ0XSwKCS8vICAgICBdCglieXRlIDB4MDAwYjAwMDAwMDAwMDAwMDAwMTYwMDIxMDAwMDAwMDAwMDAwMDAyYwoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ2NF1bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozODQKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDY0XVtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAxMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljVHVwbGVBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljVHVwbGVBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljVHVwbGVBcnJheSgpdWludDY0CiphYmlfcm91dGVfZHluYW1pY1R1cGxlQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljVHVwbGVBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNUdXBsZUFycmF5KCk6IHVpbnQ2NApkeW5hbWljVHVwbGVBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM3OQoJLy8gYTogW3VpbnQxNiwgdWludDY0XVtdID0gWwoJLy8gICAgICAgWzExLCAyMl0sCgkvLyAgICAgICBbMzMsIDQ0XSwKCS8vICAgICBdCglieXRlIDB4MDAwYjAwMDAwMDAwMDAwMDAwMTYwMDIxMDAwMDAwMDAwMDAwMDAyYwoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ2NF1bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozODQKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDY0XVtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAxMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljVHVwbGVBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljVHVwbGVBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestDynamicTupleArray.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicTupleArray.arc56_draft.json
index c4bcd0165..e7489cd78 100644
--- a/tests/contracts/artifacts/ABITestDynamicTupleArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestDynamicTupleArray.arc56_draft.json
@@ -60,361 +60,364 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 377,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 377,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 377,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 377,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 377,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 377,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 377,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 377,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 377,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 378,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 378,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 378,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 378,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 378,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 378,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 378,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 378,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 378,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 50,
- "source": 379,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 51,
- "source": 379,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 55,
- "source": 384,
- "pc": [
- 83,
- 84
- ]
- },
- {
- "teal": 56,
- "source": 384,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 57,
- "source": 384,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 58,
- "source": 384,
- "pc": [
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 59,
- "source": 384,
- "pc": [
- 92
- ]
- },
- {
- "teal": 62,
- "source": 378,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 63,
- "source": 378,
- "pc": [
- 95
- ]
- },
- {
- "teal": 66,
- "source": 377,
- "pc": [
- 96
- ]
- },
- {
- "teal": 67,
- "source": 377,
- "pc": [
- 97
- ]
- },
- {
- "teal": 70,
- "source": 377,
- "pc": [
- 98,
- 99,
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 71,
- "source": 377,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 72,
- "source": 377,
- "pc": [
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 75,
- "source": 377,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 111
- ]
- },
- {
- "teal": 78,
- "source": 377,
- "pc": [
- 112,
- 113,
- 114,
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 79,
- "source": 377,
- "pc": [
- 118,
- 119,
- 120
- ]
- },
- {
- "teal": 80,
- "source": 377,
- "pc": [
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 83,
- "source": 377,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 125
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 377,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 377,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 377,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 377,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 377,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 377,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 377,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 377,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 377,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 378,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 378,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 378,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 378,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 378,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 378,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 378,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 378,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 378,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 379,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 379,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 384,
+ "pc": [
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 384,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 384,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 384,
+ "pc": [
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 384,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 378,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 378,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 377,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 377,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 377,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 377,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 377,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 377,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 377,
+ "pc": [
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 377,
+ "pc": [
+ 118,
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 377,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 377,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 125
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljVHVwbGVBcnJheSgpdWludDY0CiphYmlfcm91dGVfZHluYW1pY1R1cGxlQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljVHVwbGVBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNUdXBsZUFycmF5KCk6IHVpbnQ2NApkeW5hbWljVHVwbGVBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM3OQoJLy8gYTogW3VpbnQxNiwgdWludDY0XVtdID0gWwoJLy8gICAgICAgWzExLCAyMl0sCgkvLyAgICAgICBbMzMsIDQ0XSwKCS8vICAgICBdCglieXRlIDB4MDAwYjAwMDAwMDAwMDAwMDAwMTYwMDIxMDAwMDAwMDAwMDAwMDAyYwoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ2NF1bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozODQKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDY0XVtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAxMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljVHVwbGVBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljVHVwbGVBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljVHVwbGVBcnJheSgpdWludDY0CiphYmlfcm91dGVfZHluYW1pY1R1cGxlQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljVHVwbGVBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNUdXBsZUFycmF5KCk6IHVpbnQ2NApkeW5hbWljVHVwbGVBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM3OQoJLy8gYTogW3VpbnQxNiwgdWludDY0XVtdID0gWwoJLy8gICAgICAgWzExLCAyMl0sCgkvLyAgICAgICBbMzMsIDQ0XSwKCS8vICAgICBdCglieXRlIDB4MDAwYjAwMDAwMDAwMDAwMDAwMTYwMDIxMDAwMDAwMDAwMDAwMDAyYwoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ2NF1bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozODQKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDY0XVtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAxMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJkeW5hbWljVHVwbGVBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljVHVwbGVBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestEmptyDynamicArray.approval.teal b/tests/contracts/artifacts/ABITestEmptyDynamicArray.approval.teal
index ec5a10d40..d190c5c4f 100644
--- a/tests/contracts/artifacts/ABITestEmptyDynamicArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestEmptyDynamicArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc32.json b/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc32.json
index 78fdefb40..5bf509e04 100644
--- a/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgZW1wdHlEeW5hbWljQXJyYXkKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGVtcHR5RHluYW1pY0FycmF5KCk6IHVpbnQ2NFtdCmVtcHR5RHluYW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2OAoJLy8gcmV0dXJuIFtdOwoJYnl0ZSAweAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgZW1wdHlEeW5hbWljQXJyYXkKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGVtcHR5RHluYW1pY0FycmF5KCk6IHVpbnQ2NFtdCmVtcHR5RHluYW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2OAoJLy8gcmV0dXJuIFtdOwoJYnl0ZSAweAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc56_draft.json b/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc56_draft.json
index 418ae5708..30ef72981 100644
--- a/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc56_draft.json
@@ -60,329 +60,332 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 866,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 866,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 866,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 866,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 866,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 866,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 866,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 866,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 866,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 867,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 867,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 867,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 867,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 867,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 867,
- "pc": [
- 53
- ]
- },
- {
- "teal": 36,
- "source": 867,
- "pc": [
- 54
- ]
- },
- {
- "teal": 37,
- "source": 867,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 38,
- "source": 867,
- "pc": [
- 58
- ]
- },
- {
- "teal": 39,
- "source": 867,
- "pc": [
- 59
- ]
- },
- {
- "teal": 40,
- "source": 867,
- "pc": [
- 60
- ]
- },
- {
- "teal": 41,
- "source": 867,
- "pc": [
- 61
- ]
- },
- {
- "teal": 42,
- "source": 867,
- "pc": [
- 62
- ]
- },
- {
- "teal": 43,
- "source": 867,
- "pc": [
- 63
- ]
- },
- {
- "teal": 47,
- "source": 867,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 51,
- "source": 868,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 52,
- "source": 867,
- "pc": [
- 69
- ]
- },
- {
- "teal": 55,
- "source": 866,
- "pc": [
- 70
- ]
- },
- {
- "teal": 56,
- "source": 866,
- "pc": [
- 71
- ]
- },
- {
- "teal": 59,
- "source": 866,
- "pc": [
- 72,
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 60,
- "source": 866,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 61,
- "source": 866,
- "pc": [
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 64,
- "source": 866,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 85
- ]
- },
- {
- "teal": 67,
- "source": 866,
- "pc": [
- 86,
- 87,
- 88,
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 68,
- "source": 866,
- "pc": [
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 69,
- "source": 866,
- "pc": [
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 72,
- "source": 866,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 99
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 866,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 866,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 866,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 866,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 866,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 866,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 866,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 866,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 866,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 867,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 867,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 867,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 867,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 867,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 867,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 867,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 867,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 867,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 867,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 867,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 867,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 867,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 867,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 867,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 868,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 867,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 866,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 866,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 866,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 866,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 866,
+ "pc": [
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 866,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 866,
+ "pc": [
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 866,
+ "pc": [
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 866,
+ "pc": [
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 866,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 99
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgZW1wdHlEeW5hbWljQXJyYXkKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGVtcHR5RHluYW1pY0FycmF5KCk6IHVpbnQ2NFtdCmVtcHR5RHluYW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2OAoJLy8gcmV0dXJuIFtdOwoJYnl0ZSAweAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgZW1wdHlEeW5hbWljQXJyYXkKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGVtcHR5RHluYW1pY0FycmF5KCk6IHVpbnQ2NFtdCmVtcHR5RHluYW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2OAoJLy8gcmV0dXJuIFtdOwoJYnl0ZSAweAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestEmptyStaticArray.approval.teal b/tests/contracts/artifacts/ABITestEmptyStaticArray.approval.teal
index 99d47fae2..40a23d02d 100644
--- a/tests/contracts/artifacts/ABITestEmptyStaticArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestEmptyStaticArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestEmptyStaticArray.arc32.json b/tests/contracts/artifacts/ABITestEmptyStaticArray.arc32.json
index 135793005..ab0546e32 100644
--- a/tests/contracts/artifacts/ABITestEmptyStaticArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestEmptyStaticArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBlbXB0eVN0YXRpY0FycmF5KCl1aW50MTZbM10KKmFiaV9yb3V0ZV9lbXB0eVN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBlbXB0eVN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CmVtcHR5U3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NDIKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4gPSBbXQoJYnl0ZSAweDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODQ0CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZW1wdHlTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBlbXB0eVN0YXRpY0FycmF5KCl1aW50MTZbM10KKmFiaV9yb3V0ZV9lbXB0eVN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBlbXB0eVN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CmVtcHR5U3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NDIKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4gPSBbXQoJYnl0ZSAweDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODQ0CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZW1wdHlTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestEmptyStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestEmptyStaticArray.arc56_draft.json
index 2f418fb6f..e6f2d948d 100644
--- a/tests/contracts/artifacts/ABITestEmptyStaticArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestEmptyStaticArray.arc56_draft.json
@@ -60,308 +60,311 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 840,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 840,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 840,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 840,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 840,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 840,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 840,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 840,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 840,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 841,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 841,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 841,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 841,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 841,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 841,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 841,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 841,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 46,
- "source": 842,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 47,
- "source": 842,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 51,
- "source": 844,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 54,
- "source": 841,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 55,
- "source": 841,
- "pc": [
- 72
- ]
- },
- {
- "teal": 58,
- "source": 840,
- "pc": [
- 73
- ]
- },
- {
- "teal": 59,
- "source": 840,
- "pc": [
- 74
- ]
- },
- {
- "teal": 62,
- "source": 840,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 63,
- "source": 840,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 64,
- "source": 840,
- "pc": [
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 67,
- "source": 840,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 88
- ]
- },
- {
- "teal": 70,
- "source": 840,
- "pc": [
- 89,
- 90,
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 71,
- "source": 840,
- "pc": [
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 72,
- "source": 840,
- "pc": [
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 75,
- "source": 840,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 102
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 840,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 840,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 840,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 840,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 840,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 840,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 840,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 840,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 840,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 841,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 841,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 841,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 841,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 841,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 841,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 841,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 841,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 842,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 842,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 844,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 841,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 841,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 840,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 840,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 840,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 840,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 840,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 840,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 840,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 840,
+ "pc": [
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 840,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 840,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 102
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBlbXB0eVN0YXRpY0FycmF5KCl1aW50MTZbM10KKmFiaV9yb3V0ZV9lbXB0eVN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBlbXB0eVN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CmVtcHR5U3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NDIKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4gPSBbXQoJYnl0ZSAweDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODQ0CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZW1wdHlTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBlbXB0eVN0YXRpY0FycmF5KCl1aW50MTZbM10KKmFiaV9yb3V0ZV9lbXB0eVN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBlbXB0eVN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CmVtcHR5U3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NDIKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4gPSBbXQoJYnl0ZSAweDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODQ0CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZW1wdHlTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestExtractUint.approval.teal b/tests/contracts/artifacts/ABITestExtractUint.approval.teal
index b672f8e3d..e5b0da27b 100644
--- a/tests/contracts/artifacts/ABITestExtractUint.approval.teal
+++ b/tests/contracts/artifacts/ABITestExtractUint.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestExtractUint.arc32.json b/tests/contracts/artifacts/ABITestExtractUint.arc32.json
index e8ac16b1f..58987acb2 100644
--- a/tests/contracts/artifacts/ABITestExtractUint.arc32.json
+++ b/tests/contracts/artifacts/ABITestExtractUint.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRyYWN0VWludCh1aW50NjQpdWludDgKKmFiaV9yb3V0ZV9leHRyYWN0VWludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGV4dHJhY3RVaW50KHVpbnQ2NCl1aW50OAoJY2FsbHN1YiBleHRyYWN0VWludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIGV4dHJhY3RVaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGV4dHJhY3RVaW50KGFyZzogdWludDY0KTogdWludDw4PgpleHRyYWN0VWludDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTkKCS8vIHggPSA8dWludDw4Pj5hcmcKCWZyYW1lX2RpZyAtMSAvLyBhcmc6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTIwCgkvLyByZXR1cm4geDsKCWZyYW1lX2RpZyAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRyYWN0VWludAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRyYWN0VWludCh1aW50NjQpdWludDgKKmFiaV9yb3V0ZV9leHRyYWN0VWludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGV4dHJhY3RVaW50KHVpbnQ2NCl1aW50OAoJY2FsbHN1YiBleHRyYWN0VWludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIGV4dHJhY3RVaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGV4dHJhY3RVaW50KGFyZzogdWludDY0KTogdWludDw4PgpleHRyYWN0VWludDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTkKCS8vIHggPSA8dWludDw4Pj5hcmcKCWZyYW1lX2RpZyAtMSAvLyBhcmc6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTIwCgkvLyByZXR1cm4geDsKCWZyYW1lX2RpZyAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRyYWN0VWludAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestExtractUint.arc56_draft.json b/tests/contracts/artifacts/ABITestExtractUint.arc56_draft.json
index 4eec1872c..1a1eb432b 100644
--- a/tests/contracts/artifacts/ABITestExtractUint.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestExtractUint.arc56_draft.json
@@ -65,371 +65,374 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1117,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1117,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1117,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1117,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1117,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1117,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1117,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1117,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1117,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1118,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1118,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1118,
- "pc": [
- 49
- ]
- },
- {
- "teal": 35,
- "source": 1118,
- "pc": [
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 36,
- "source": 1118,
- "pc": [
- 53
- ]
- },
- {
- "teal": 37,
- "source": 1118,
- "pc": [
- 54
- ]
- },
- {
- "teal": 38,
- "source": 1118,
- "pc": [
- 55
- ]
- },
- {
- "teal": 39,
- "source": 1118,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 40,
- "source": 1118,
- "pc": [
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1118,
- "errorMessage": "extractUint return value overflowed 8 bits",
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 1118,
- "pc": [
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 45,
- "source": 1118,
- "pc": [
- 63
- ]
- },
- {
- "teal": 46,
- "source": 1118,
- "pc": [
- 64
- ]
- },
- {
- "teal": 47,
- "source": 1118,
- "pc": [
- 65
- ]
- },
- {
- "teal": 48,
- "source": 1118,
- "pc": [
- 66
- ]
- },
- {
- "teal": 52,
- "source": 1118,
- "pc": [
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 55,
- "source": 1118,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 59,
- "source": 1119,
- "pc": [
- 72,
- 73
- ]
- },
- {
- "teal": 60,
- "source": 1119,
- "pc": [
- 74,
- 75
- ]
- },
- {
- "teal": 64,
- "source": 1120,
- "pc": [
- 76,
- 77
- ]
- },
- {
- "teal": 67,
- "source": 1118,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 68,
- "source": 1118,
- "pc": [
- 80
- ]
- },
- {
- "teal": 71,
- "source": 1117,
- "pc": [
- 81
- ]
- },
- {
- "teal": 72,
- "source": 1117,
- "pc": [
- 82
- ]
- },
- {
- "teal": 75,
- "source": 1117,
- "pc": [
- 83,
- 84,
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 76,
- "source": 1117,
- "pc": [
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 77,
- "source": 1117,
- "pc": [
- 92,
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 80,
- "source": 1117,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 96
- ]
- },
- {
- "teal": 83,
- "source": 1117,
- "pc": [
- 97,
- 98,
- 99,
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 84,
- "source": 1117,
- "pc": [
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 85,
- "source": 1117,
- "pc": [
- 106,
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 88,
- "source": 1117,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 110
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1117,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1117,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1117,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1117,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1117,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1117,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1117,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1117,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1117,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1118,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1118,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1118,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1118,
+ "pc": [
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1118,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1118,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1118,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1118,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1118,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1118,
+ "errorMessage": "extractUint return value overflowed 8 bits",
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1118,
+ "pc": [
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1118,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1118,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1118,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1118,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1118,
+ "pc": [
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1118,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1119,
+ "pc": [
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1119,
+ "pc": [
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1120,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1118,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1118,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1117,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1117,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1117,
+ "pc": [
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1117,
+ "pc": [
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1117,
+ "pc": [
+ 92,
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1117,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1117,
+ "pc": [
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1117,
+ "pc": [
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1117,
+ "pc": [
+ 106,
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1117,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 110
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRyYWN0VWludCh1aW50NjQpdWludDgKKmFiaV9yb3V0ZV9leHRyYWN0VWludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGV4dHJhY3RVaW50KHVpbnQ2NCl1aW50OAoJY2FsbHN1YiBleHRyYWN0VWludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIGV4dHJhY3RVaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGV4dHJhY3RVaW50KGFyZzogdWludDY0KTogdWludDw4PgpleHRyYWN0VWludDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTkKCS8vIHggPSA8dWludDw4Pj5hcmcKCWZyYW1lX2RpZyAtMSAvLyBhcmc6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTIwCgkvLyByZXR1cm4geDsKCWZyYW1lX2RpZyAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRyYWN0VWludAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRyYWN0VWludCh1aW50NjQpdWludDgKKmFiaV9yb3V0ZV9leHRyYWN0VWludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGV4dHJhY3RVaW50KHVpbnQ2NCl1aW50OAoJY2FsbHN1YiBleHRyYWN0VWludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIGV4dHJhY3RVaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGV4dHJhY3RVaW50KGFyZzogdWludDY0KTogdWludDw4PgpleHRyYWN0VWludDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTkKCS8vIHggPSA8dWludDw4Pj5hcmcKCWZyYW1lX2RpZyAtMSAvLyBhcmc6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTIwCgkvLyByZXR1cm4geDsKCWZyYW1lX2RpZyAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRyYWN0VWludAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestForEachReturn.approval.teal b/tests/contracts/artifacts/ABITestForEachReturn.approval.teal
index 660228016..304f0f99a 100644
--- a/tests/contracts/artifacts/ABITestForEachReturn.approval.teal
+++ b/tests/contracts/artifacts/ABITestForEachReturn.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestForEachReturn.arc32.json b/tests/contracts/artifacts/ABITestForEachReturn.arc32.json
index 1f0ac123b..b4e93dbff 100644
--- a/tests/contracts/artifacts/ABITestForEachReturn.arc32.json
+++ b/tests/contracts/artifacts/ABITestForEachReturn.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JFYWNoUmV0dXJuKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JFYWNoUmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvckVhY2hSZXR1cm4oKXVpbnQ2NAoJY2FsbHN1YiBmb3JFYWNoUmV0dXJuCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yRWFjaFJldHVybigpOiB1aW50NjQKZm9yRWFjaFJldHVybjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MwoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc1CgkvLyBhLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWR1cAoJZnJhbWVfYnVyeSAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNzYKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc2CgkvLyByZXR1cm47CgliICpmb3JFYWNoXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc3CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc5CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJmb3JFYWNoUmV0dXJuKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2ZvckVhY2hSZXR1cm4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JFYWNoUmV0dXJuKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JFYWNoUmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvckVhY2hSZXR1cm4oKXVpbnQ2NAoJY2FsbHN1YiBmb3JFYWNoUmV0dXJuCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yRWFjaFJldHVybigpOiB1aW50NjQKZm9yRWFjaFJldHVybjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MwoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc1CgkvLyBhLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWR1cAoJZnJhbWVfYnVyeSAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNzYKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc2CgkvLyByZXR1cm47CgliICpmb3JFYWNoXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc3CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc5CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJmb3JFYWNoUmV0dXJuKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2ZvckVhY2hSZXR1cm4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestForEachReturn.arc56_draft.json b/tests/contracts/artifacts/ABITestForEachReturn.arc56_draft.json
index be80d7331..a3173def3 100644
--- a/tests/contracts/artifacts/ABITestForEachReturn.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestForEachReturn.arc56_draft.json
@@ -60,615 +60,618 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1370,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 1370,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 1370,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 1370,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 1370,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 1370,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 1370,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 1370,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 1370,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 1371,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 1371,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 1371,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 1371,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 1371,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 1371,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 1371,
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 1371,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1371,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 44,
- "source": 1371,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 48,
- "source": 1372,
- "pc": [
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 49,
- "source": 1372,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 53,
- "source": 1373,
- "pc": [
- 91
- ]
- },
- {
- "teal": 54,
- "source": 1373,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 58,
- "source": 1375,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 59,
- "source": 1375,
- "pc": [
- 96
- ]
- },
- {
- "teal": 60,
- "source": 1375,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 61,
- "source": 1375,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 62,
- "source": 1375,
- "pc": [
- 102
- ]
- },
- {
- "teal": 63,
- "source": 1375,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 64,
- "source": 1375,
- "pc": [
- 105
- ]
- },
- {
- "teal": 65,
- "source": 1375,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 71,
- "source": 1376,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 72,
- "source": 1376,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 73,
- "source": 1376,
- "pc": [
- 112
- ]
- },
- {
- "teal": 74,
- "source": 1376,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 79,
- "source": 1376,
- "pc": [
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 84,
- "source": 1377,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 85,
- "source": 1377,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 86,
- "source": 1377,
- "pc": [
- 123
- ]
- },
- {
- "teal": 87,
- "source": 1377,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 90,
- "source": 1375,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 91,
- "source": 1375,
- "pc": [
- 128
- ]
- },
- {
- "teal": 92,
- "source": 1375,
- "pc": [
- 129
- ]
- },
- {
- "teal": 93,
- "source": 1375,
- "pc": [
- 130
- ]
- },
- {
- "teal": 94,
- "source": 1375,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 95,
- "source": 1375,
- "pc": [
- 133
- ]
- },
- {
- "teal": 96,
- "source": 1375,
- "pc": [
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 97,
- "source": 1375,
- "pc": [
- 137,
- 138
- ]
- },
- {
- "teal": 98,
- "source": 1375,
- "pc": [
- 139,
- 140
- ]
- },
- {
- "teal": 99,
- "source": 1375,
- "pc": [
- 141,
- 142
- ]
- },
- {
- "teal": 100,
- "source": 1375,
- "pc": [
- 143
- ]
- },
- {
- "teal": 101,
- "source": 1375,
- "pc": [
- 144
- ]
- },
- {
- "teal": 102,
- "source": 1375,
- "pc": [
- 145
- ]
- },
- {
- "teal": 103,
- "source": 1375,
- "pc": [
- 146,
- 147
- ]
- },
- {
- "teal": 104,
- "source": 1375,
- "pc": [
- 148,
- 149,
- 150
- ]
- },
- {
- "teal": 109,
- "source": 1379,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 112,
- "source": 1371,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 115,
- "source": 1371,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 116,
- "source": 1371,
- "pc": [
- 157
- ]
- },
- {
- "teal": 119,
- "source": 1370,
- "pc": [
- 158
- ]
- },
- {
- "teal": 120,
- "source": 1370,
- "pc": [
- 159
- ]
- },
- {
- "teal": 123,
- "source": 1370,
- "pc": [
- 160,
- 161,
- 162,
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 124,
- "source": 1370,
- "pc": [
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 125,
- "source": 1370,
- "pc": [
- 169,
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 128,
- "source": 1370,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 173
- ]
- },
- {
- "teal": 131,
- "source": 1370,
- "pc": [
- 174,
- 175,
- 176,
- 177,
- 178,
- 179
- ]
- },
- {
- "teal": 132,
- "source": 1370,
- "pc": [
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 133,
- "source": 1370,
- "pc": [
- 183,
- 184,
- 185,
- 186
- ]
- },
- {
- "teal": 136,
- "source": 1370,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 187
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1370,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1370,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1370,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1370,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1370,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1370,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1370,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1370,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1370,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1371,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1371,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1371,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1371,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1371,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1371,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1371,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1371,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1371,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1371,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1372,
+ "pc": [
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1372,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1373,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1373,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1375,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1375,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1375,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1375,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1375,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1375,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1375,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1375,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1376,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1376,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1376,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1376,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1376,
+ "pc": [
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1377,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1377,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1377,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1377,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1375,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1375,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1375,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1375,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1375,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1375,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1375,
+ "pc": [
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1375,
+ "pc": [
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1375,
+ "pc": [
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1375,
+ "pc": [
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1375,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 1375,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 1375,
+ "pc": [
+ 145
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1375,
+ "pc": [
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 1375,
+ "pc": [
+ 148,
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 1379,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 1371,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 1371,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 1371,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 1370,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 1370,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 1370,
+ "pc": [
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 1370,
+ "pc": [
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 1370,
+ "pc": [
+ 169,
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 1370,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 1370,
+ "pc": [
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 1370,
+ "pc": [
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 1370,
+ "pc": [
+ 183,
+ 184,
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 1370,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 187
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JFYWNoUmV0dXJuKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JFYWNoUmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvckVhY2hSZXR1cm4oKXVpbnQ2NAoJY2FsbHN1YiBmb3JFYWNoUmV0dXJuCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yRWFjaFJldHVybigpOiB1aW50NjQKZm9yRWFjaFJldHVybjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MwoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc1CgkvLyBhLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWR1cAoJZnJhbWVfYnVyeSAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNzYKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc2CgkvLyByZXR1cm47CgliICpmb3JFYWNoXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc3CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc5CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJmb3JFYWNoUmV0dXJuKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2ZvckVhY2hSZXR1cm4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JFYWNoUmV0dXJuKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JFYWNoUmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvckVhY2hSZXR1cm4oKXVpbnQ2NAoJY2FsbHN1YiBmb3JFYWNoUmV0dXJuCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yRWFjaFJldHVybigpOiB1aW50NjQKZm9yRWFjaFJldHVybjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MwoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc1CgkvLyBhLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWR1cAoJZnJhbWVfYnVyeSAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNzYKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc2CgkvLyByZXR1cm47CgliICpmb3JFYWNoXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc3CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc5CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJmb3JFYWNoUmV0dXJuKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2ZvckVhY2hSZXR1cm4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestForOfBreak.approval.teal b/tests/contracts/artifacts/ABITestForOfBreak.approval.teal
index 198b96727..27f334778 100644
--- a/tests/contracts/artifacts/ABITestForOfBreak.approval.teal
+++ b/tests/contracts/artifacts/ABITestForOfBreak.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestForOfBreak.arc32.json b/tests/contracts/artifacts/ABITestForOfBreak.arc32.json
index 9948c8a57..b810b184f 100644
--- a/tests/contracts/artifacts/ABITestForOfBreak.arc32.json
+++ b/tests/contracts/artifacts/ABITestForOfBreak.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JPZkJyZWFrKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JPZkJyZWFrOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQnJlYWsoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkJyZWFrCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yT2ZCcmVhaygpOiB1aW50NjQKZm9yT2ZCcmVhazoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OQoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MDQKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTA1CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUwNwoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZm9yT2ZCcmVhaygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JPZkJyZWFrCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JPZkJyZWFrKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JPZkJyZWFrOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQnJlYWsoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkJyZWFrCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yT2ZCcmVhaygpOiB1aW50NjQKZm9yT2ZCcmVhazoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OQoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MDQKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTA1CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUwNwoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZm9yT2ZCcmVhaygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JPZkJyZWFrCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestForOfBreak.arc56_draft.json b/tests/contracts/artifacts/ABITestForOfBreak.arc56_draft.json
index 91d6b8317..1518072c6 100644
--- a/tests/contracts/artifacts/ABITestForOfBreak.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestForOfBreak.arc56_draft.json
@@ -60,615 +60,618 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1496,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 1496,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 1496,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 1496,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 1496,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 1496,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 1496,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 1496,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 1496,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 1497,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 1497,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 1497,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 1497,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 1497,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 1497,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 1497,
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 1497,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1497,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 44,
- "source": 1497,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 48,
- "source": 1498,
- "pc": [
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 49,
- "source": 1498,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 53,
- "source": 1499,
- "pc": [
- 91
- ]
- },
- {
- "teal": 54,
- "source": 1499,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 55,
- "source": 1502,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 56,
- "source": 1502,
- "pc": [
- 96
- ]
- },
- {
- "teal": 57,
- "source": 1502,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 58,
- "source": 1502,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 59,
- "source": 1502,
- "pc": [
- 102
- ]
- },
- {
- "teal": 60,
- "source": 1502,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 61,
- "source": 1502,
- "pc": [
- 105
- ]
- },
- {
- "teal": 62,
- "source": 1502,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 68,
- "source": 1504,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 69,
- "source": 1504,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 70,
- "source": 1504,
- "pc": [
- 112
- ]
- },
- {
- "teal": 71,
- "source": 1504,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 74,
- "source": 1504,
- "pc": [
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 79,
- "source": 1505,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 80,
- "source": 1505,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 81,
- "source": 1505,
- "pc": [
- 123
- ]
- },
- {
- "teal": 82,
- "source": 1505,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 86,
- "source": 1502,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 87,
- "source": 1502,
- "pc": [
- 128
- ]
- },
- {
- "teal": 88,
- "source": 1502,
- "pc": [
- 129
- ]
- },
- {
- "teal": 89,
- "source": 1502,
- "pc": [
- 130
- ]
- },
- {
- "teal": 90,
- "source": 1502,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 91,
- "source": 1502,
- "pc": [
- 133
- ]
- },
- {
- "teal": 92,
- "source": 1502,
- "pc": [
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 93,
- "source": 1502,
- "pc": [
- 137,
- 138
- ]
- },
- {
- "teal": 94,
- "source": 1502,
- "pc": [
- 139,
- 140
- ]
- },
- {
- "teal": 95,
- "source": 1502,
- "pc": [
- 141,
- 142
- ]
- },
- {
- "teal": 96,
- "source": 1502,
- "pc": [
- 143
- ]
- },
- {
- "teal": 97,
- "source": 1502,
- "pc": [
- 144
- ]
- },
- {
- "teal": 98,
- "source": 1502,
- "pc": [
- 145
- ]
- },
- {
- "teal": 99,
- "source": 1502,
- "pc": [
- 146,
- 147
- ]
- },
- {
- "teal": 100,
- "source": 1502,
- "pc": [
- 148,
- 149,
- 150
- ]
- },
- {
- "teal": 105,
- "source": 1507,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 108,
- "source": 1497,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 111,
- "source": 1497,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 112,
- "source": 1497,
- "pc": [
- 157
- ]
- },
- {
- "teal": 115,
- "source": 1496,
- "pc": [
- 158
- ]
- },
- {
- "teal": 116,
- "source": 1496,
- "pc": [
- 159
- ]
- },
- {
- "teal": 119,
- "source": 1496,
- "pc": [
- 160,
- 161,
- 162,
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 120,
- "source": 1496,
- "pc": [
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 121,
- "source": 1496,
- "pc": [
- 169,
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 124,
- "source": 1496,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 173
- ]
- },
- {
- "teal": 127,
- "source": 1496,
- "pc": [
- 174,
- 175,
- 176,
- 177,
- 178,
- 179
- ]
- },
- {
- "teal": 128,
- "source": 1496,
- "pc": [
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 129,
- "source": 1496,
- "pc": [
- 183,
- 184,
- 185,
- 186
- ]
- },
- {
- "teal": 132,
- "source": 1496,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 187
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1496,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1496,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1496,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1496,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1496,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1496,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1496,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1496,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1496,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1497,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1497,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1497,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1497,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1497,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1497,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1497,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1497,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1497,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1497,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1498,
+ "pc": [
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1498,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1499,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1499,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1502,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1502,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1502,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1502,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1502,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1502,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1502,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1502,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1504,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1504,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1504,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1504,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1504,
+ "pc": [
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1505,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1505,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1505,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1505,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1502,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1502,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1502,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1502,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1502,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1502,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1502,
+ "pc": [
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1502,
+ "pc": [
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1502,
+ "pc": [
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1502,
+ "pc": [
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1502,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1502,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1502,
+ "pc": [
+ 145
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1502,
+ "pc": [
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1502,
+ "pc": [
+ 148,
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 1507,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 1497,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1497,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 1497,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 1496,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 1496,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 1496,
+ "pc": [
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 1496,
+ "pc": [
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 1496,
+ "pc": [
+ 169,
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 1496,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 1496,
+ "pc": [
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 1496,
+ "pc": [
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 1496,
+ "pc": [
+ 183,
+ 184,
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 1496,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 187
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JPZkJyZWFrKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JPZkJyZWFrOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQnJlYWsoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkJyZWFrCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yT2ZCcmVhaygpOiB1aW50NjQKZm9yT2ZCcmVhazoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OQoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MDQKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTA1CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUwNwoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZm9yT2ZCcmVhaygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JPZkJyZWFrCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JPZkJyZWFrKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JPZkJyZWFrOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQnJlYWsoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkJyZWFrCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yT2ZCcmVhaygpOiB1aW50NjQKZm9yT2ZCcmVhazoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OQoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MDQKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTA1CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUwNwoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZm9yT2ZCcmVhaygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JPZkJyZWFrCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestForOfContinue.approval.teal b/tests/contracts/artifacts/ABITestForOfContinue.approval.teal
index ff8a66c4e..014f0df37 100644
--- a/tests/contracts/artifacts/ABITestForOfContinue.approval.teal
+++ b/tests/contracts/artifacts/ABITestForOfContinue.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestForOfContinue.arc32.json b/tests/contracts/artifacts/ABITestForOfContinue.arc32.json
index 7356128ce..644ea6f5e 100644
--- a/tests/contracts/artifacts/ABITestForOfContinue.arc32.json
+++ b/tests/contracts/artifacts/ABITestForOfContinue.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JPZkNvbnRpbnVlKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JPZkNvbnRpbnVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQ29udGludWUoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkNvbnRpbnVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yT2ZDb250aW51ZSgpOiB1aW50NjQKZm9yT2ZDb250aW51ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0ODkKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfY29udGludWUKCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OTAKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCipmb3JPZl8wX2NvbnRpbnVlOgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yT2ZfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvck9mXzAKCipmb3JPZl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDkyCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJmb3JPZkNvbnRpbnVlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Zvck9mQ29udGludWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JPZkNvbnRpbnVlKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JPZkNvbnRpbnVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQ29udGludWUoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkNvbnRpbnVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yT2ZDb250aW51ZSgpOiB1aW50NjQKZm9yT2ZDb250aW51ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0ODkKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfY29udGludWUKCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OTAKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCipmb3JPZl8wX2NvbnRpbnVlOgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yT2ZfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvck9mXzAKCipmb3JPZl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDkyCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJmb3JPZkNvbnRpbnVlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Zvck9mQ29udGludWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestForOfContinue.arc56_draft.json b/tests/contracts/artifacts/ABITestForOfContinue.arc56_draft.json
index 2fff9c5eb..4d6841b32 100644
--- a/tests/contracts/artifacts/ABITestForOfContinue.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestForOfContinue.arc56_draft.json
@@ -60,615 +60,618 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1481,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 1481,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 1481,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 1481,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 1481,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 1481,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 1481,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 1481,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 1481,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 1482,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 1482,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 1482,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 1482,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 1482,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 1482,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 1482,
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 1482,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1482,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 44,
- "source": 1482,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 48,
- "source": 1483,
- "pc": [
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 49,
- "source": 1483,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 53,
- "source": 1484,
- "pc": [
- 91
- ]
- },
- {
- "teal": 54,
- "source": 1484,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 55,
- "source": 1487,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 56,
- "source": 1487,
- "pc": [
- 96
- ]
- },
- {
- "teal": 57,
- "source": 1487,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 58,
- "source": 1487,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 59,
- "source": 1487,
- "pc": [
- 102
- ]
- },
- {
- "teal": 60,
- "source": 1487,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 61,
- "source": 1487,
- "pc": [
- 105
- ]
- },
- {
- "teal": 62,
- "source": 1487,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 68,
- "source": 1489,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 69,
- "source": 1489,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 70,
- "source": 1489,
- "pc": [
- 112
- ]
- },
- {
- "teal": 71,
- "source": 1489,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 74,
- "source": 1489,
- "pc": [
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 79,
- "source": 1490,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 80,
- "source": 1490,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 81,
- "source": 1490,
- "pc": [
- 123
- ]
- },
- {
- "teal": 82,
- "source": 1490,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 86,
- "source": 1487,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 87,
- "source": 1487,
- "pc": [
- 128
- ]
- },
- {
- "teal": 88,
- "source": 1487,
- "pc": [
- 129
- ]
- },
- {
- "teal": 89,
- "source": 1487,
- "pc": [
- 130
- ]
- },
- {
- "teal": 90,
- "source": 1487,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 91,
- "source": 1487,
- "pc": [
- 133
- ]
- },
- {
- "teal": 92,
- "source": 1487,
- "pc": [
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 93,
- "source": 1487,
- "pc": [
- 137,
- 138
- ]
- },
- {
- "teal": 94,
- "source": 1487,
- "pc": [
- 139,
- 140
- ]
- },
- {
- "teal": 95,
- "source": 1487,
- "pc": [
- 141,
- 142
- ]
- },
- {
- "teal": 96,
- "source": 1487,
- "pc": [
- 143
- ]
- },
- {
- "teal": 97,
- "source": 1487,
- "pc": [
- 144
- ]
- },
- {
- "teal": 98,
- "source": 1487,
- "pc": [
- 145
- ]
- },
- {
- "teal": 99,
- "source": 1487,
- "pc": [
- 146,
- 147
- ]
- },
- {
- "teal": 100,
- "source": 1487,
- "pc": [
- 148,
- 149,
- 150
- ]
- },
- {
- "teal": 105,
- "source": 1492,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 108,
- "source": 1482,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 111,
- "source": 1482,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 112,
- "source": 1482,
- "pc": [
- 157
- ]
- },
- {
- "teal": 115,
- "source": 1481,
- "pc": [
- 158
- ]
- },
- {
- "teal": 116,
- "source": 1481,
- "pc": [
- 159
- ]
- },
- {
- "teal": 119,
- "source": 1481,
- "pc": [
- 160,
- 161,
- 162,
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 120,
- "source": 1481,
- "pc": [
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 121,
- "source": 1481,
- "pc": [
- 169,
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 124,
- "source": 1481,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 173
- ]
- },
- {
- "teal": 127,
- "source": 1481,
- "pc": [
- 174,
- 175,
- 176,
- 177,
- 178,
- 179
- ]
- },
- {
- "teal": 128,
- "source": 1481,
- "pc": [
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 129,
- "source": 1481,
- "pc": [
- 183,
- 184,
- 185,
- 186
- ]
- },
- {
- "teal": 132,
- "source": 1481,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 187
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1481,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1481,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1481,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1481,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1481,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1481,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1481,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1481,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1481,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1482,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1482,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1482,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1482,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1482,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1482,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1482,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1482,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1482,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1482,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1483,
+ "pc": [
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1483,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1484,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1484,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1487,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1487,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1487,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1487,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1487,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1487,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1487,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1487,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1489,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1489,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1489,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1489,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1489,
+ "pc": [
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1490,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1490,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1490,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1490,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1487,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1487,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1487,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1487,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1487,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1487,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1487,
+ "pc": [
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1487,
+ "pc": [
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1487,
+ "pc": [
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1487,
+ "pc": [
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1487,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1487,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1487,
+ "pc": [
+ 145
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1487,
+ "pc": [
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1487,
+ "pc": [
+ 148,
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 1492,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 1482,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1482,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 1482,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 1481,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 1481,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 1481,
+ "pc": [
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 1481,
+ "pc": [
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 1481,
+ "pc": [
+ 169,
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 1481,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 1481,
+ "pc": [
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 1481,
+ "pc": [
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 1481,
+ "pc": [
+ 183,
+ 184,
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 1481,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 187
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JPZkNvbnRpbnVlKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JPZkNvbnRpbnVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQ29udGludWUoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkNvbnRpbnVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yT2ZDb250aW51ZSgpOiB1aW50NjQKZm9yT2ZDb250aW51ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0ODkKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfY29udGludWUKCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OTAKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCipmb3JPZl8wX2NvbnRpbnVlOgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yT2ZfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvck9mXzAKCipmb3JPZl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDkyCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJmb3JPZkNvbnRpbnVlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Zvck9mQ29udGludWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBmb3JPZkNvbnRpbnVlKCl1aW50NjQKKmFiaV9yb3V0ZV9mb3JPZkNvbnRpbnVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQ29udGludWUoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkNvbnRpbnVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZm9yT2ZDb250aW51ZSgpOiB1aW50NjQKZm9yT2ZDb250aW51ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0ODkKCS8vIHN1bSA+IDIKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfY29udGludWUKCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OTAKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCipmb3JPZl8wX2NvbnRpbnVlOgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yT2ZfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvck9mXzAKCipmb3JPZl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDkyCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJmb3JPZkNvbnRpbnVlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Zvck9mQ29udGludWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestGlobalMethodInChain.approval.teal b/tests/contracts/artifacts/ABITestGlobalMethodInChain.approval.teal
index d21bce2dd..5b66a53d6 100644
--- a/tests/contracts/artifacts/ABITestGlobalMethodInChain.approval.teal
+++ b/tests/contracts/artifacts/ABITestGlobalMethodInChain.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc32.json b/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc32.json
index 64de86a43..c342950e8 100644
--- a/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc32.json
+++ b/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBnbG9iYWxNZXRob2RJbkNoYWluKCl1aW50OAoqYWJpX3JvdXRlX2dsb2JhbE1ldGhvZEluQ2hhaW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKCWNhbGxzdWIgZ2xvYmFsTWV0aG9kSW5DaGFpbgoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIGdsb2JhbE1ldGhvZEluQ2hhaW4gcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWV0aG9kSW5DaGFpbigpOiB1aW50PDg+Cmdsb2JhbE1ldGhvZEluQ2hhaW46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA2MQoJLy8gcmV0dXJuIGNhc3RCeXRlczxUMT4oaGV4KCcweDAwJykpLmJhcjsKCWludCAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJnbG9iYWxNZXRob2RJbkNoYWluKCl1aW50OCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZ2xvYmFsTWV0aG9kSW5DaGFpbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBnbG9iYWxNZXRob2RJbkNoYWluKCl1aW50OAoqYWJpX3JvdXRlX2dsb2JhbE1ldGhvZEluQ2hhaW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKCWNhbGxzdWIgZ2xvYmFsTWV0aG9kSW5DaGFpbgoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIGdsb2JhbE1ldGhvZEluQ2hhaW4gcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWV0aG9kSW5DaGFpbigpOiB1aW50PDg+Cmdsb2JhbE1ldGhvZEluQ2hhaW46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA2MQoJLy8gcmV0dXJuIGNhc3RCeXRlczxUMT4oaGV4KCcweDAwJykpLmJhcjsKCWludCAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJnbG9iYWxNZXRob2RJbkNoYWluKCl1aW50OCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZ2xvYmFsTWV0aG9kSW5DaGFpbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc56_draft.json b/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc56_draft.json
index e08677005..e5df4f801 100644
--- a/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc56_draft.json
@@ -60,323 +60,326 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1059,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1059,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1059,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1059,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1059,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1059,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1059,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1059,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1059,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1060,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1060,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1060,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1060,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1060,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1060,
- "pc": [
- 52,
- 53
- ]
- },
- {
- "teal": 36,
- "source": 1060,
- "pc": [
- 54
- ]
- },
- {
- "teal": 39,
- "source": 1060,
- "errorMessage": "globalMethodInChain return value overflowed 8 bits",
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 1060,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 41,
- "source": 1060,
- "pc": [
- 59
- ]
- },
- {
- "teal": 42,
- "source": 1060,
- "pc": [
- 60
- ]
- },
- {
- "teal": 43,
- "source": 1060,
- "pc": [
- 61
- ]
- },
- {
- "teal": 44,
- "source": 1060,
- "pc": [
- 62
- ]
- },
- {
- "teal": 48,
- "source": 1060,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 52,
- "source": 1061,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 53,
- "source": 1060,
- "pc": [
- 68
- ]
- },
- {
- "teal": 56,
- "source": 1059,
- "pc": [
- 69
- ]
- },
- {
- "teal": 57,
- "source": 1059,
- "pc": [
- 70
- ]
- },
- {
- "teal": 60,
- "source": 1059,
- "pc": [
- 71,
- 72,
- 73,
- 74,
- 75,
- 76
- ]
- },
- {
- "teal": 61,
- "source": 1059,
- "pc": [
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 62,
- "source": 1059,
- "pc": [
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 65,
- "source": 1059,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 84
- ]
- },
- {
- "teal": 68,
- "source": 1059,
- "pc": [
- 85,
- 86,
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 69,
- "source": 1059,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 70,
- "source": 1059,
- "pc": [
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 73,
- "source": 1059,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 98
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1059,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1059,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1059,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1059,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1059,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1059,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1059,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1059,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1059,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1060,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1060,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1060,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1060,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1060,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1060,
+ "pc": [
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1060,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1060,
+ "errorMessage": "globalMethodInChain return value overflowed 8 bits",
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1060,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1060,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1060,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1060,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1060,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1060,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1061,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1060,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1059,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1059,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1059,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1059,
+ "pc": [
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1059,
+ "pc": [
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1059,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1059,
+ "pc": [
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1059,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1059,
+ "pc": [
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1059,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 98
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBnbG9iYWxNZXRob2RJbkNoYWluKCl1aW50OAoqYWJpX3JvdXRlX2dsb2JhbE1ldGhvZEluQ2hhaW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKCWNhbGxzdWIgZ2xvYmFsTWV0aG9kSW5DaGFpbgoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIGdsb2JhbE1ldGhvZEluQ2hhaW4gcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWV0aG9kSW5DaGFpbigpOiB1aW50PDg+Cmdsb2JhbE1ldGhvZEluQ2hhaW46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA2MQoJLy8gcmV0dXJuIGNhc3RCeXRlczxUMT4oaGV4KCcweDAwJykpLmJhcjsKCWludCAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJnbG9iYWxNZXRob2RJbkNoYWluKCl1aW50OCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZ2xvYmFsTWV0aG9kSW5DaGFpbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBnbG9iYWxNZXRob2RJbkNoYWluKCl1aW50OAoqYWJpX3JvdXRlX2dsb2JhbE1ldGhvZEluQ2hhaW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKCWNhbGxzdWIgZ2xvYmFsTWV0aG9kSW5DaGFpbgoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIGdsb2JhbE1ldGhvZEluQ2hhaW4gcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWV0aG9kSW5DaGFpbigpOiB1aW50PDg+Cmdsb2JhbE1ldGhvZEluQ2hhaW46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA2MQoJLy8gcmV0dXJuIGNhc3RCeXRlczxUMT4oaGV4KCcweDAwJykpLmJhcjsKCWludCAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJnbG9iYWxNZXRob2RJbkNoYWluKCl1aW50OCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZ2xvYmFsTWV0aG9kSW5DaGFpbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.approval.teal b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.approval.teal
index 0acb3ba4c..6aa2ba890 100644
--- a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.approval.teal
+++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc32.json b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc32.json
index 6cbca834a..0103cb006 100644
--- a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc32.json
+++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0CiphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCk6IHVpbnQ2NApsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM1OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzU5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2MAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYyCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWludCA0MTYwCglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiCglmcmFtZV9idXJ5IDEgLy8ga2V5IGZvciB0aGUgYm94IHRoYXQgY29udGFpbnMgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJc3dhcAoJZHVwCglmcmFtZV9idXJ5IDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCSsKCWZyYW1lX2J1cnkgMyAvLyB0aGUgb2Zmc2V0IG9mIHRoZSBsYXN0IGVsZW1lbnQKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIgLy8ga2V5IGZvciB0aGUgYm94IHRoYXQgY29udGFpbnMgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA2NAoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyB2OiB1aW50NTEyCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNjMKCS8vIHN1bSArPSAxCglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCSsKCWR1cAoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzY2CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9sYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0CiphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCk6IHVpbnQ2NApsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM1OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzU5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2MAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYyCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWludCA0MTYwCglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiCglmcmFtZV9idXJ5IDEgLy8ga2V5IGZvciB0aGUgYm94IHRoYXQgY29udGFpbnMgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJc3dhcAoJZHVwCglmcmFtZV9idXJ5IDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCSsKCWZyYW1lX2J1cnkgMyAvLyB0aGUgb2Zmc2V0IG9mIHRoZSBsYXN0IGVsZW1lbnQKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIgLy8ga2V5IGZvciB0aGUgYm94IHRoYXQgY29udGFpbnMgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA2NAoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyB2OiB1aW50NTEyCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNjMKCS8vIHN1bSArPSAxCglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCSsKCWR1cAoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzY2CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9sYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc56_draft.json
index f05001563..9a9e7a29e 100644
--- a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc56_draft.json
@@ -66,700 +66,703 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1354,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13
- ]
- },
- {
- "teal": 13,
- "source": 1354,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 14,
- "source": 1354,
- "pc": [
- 16
- ]
- },
- {
- "teal": 15,
- "source": 1354,
- "pc": [
- 17
- ]
- },
- {
- "teal": 16,
- "source": 1354,
- "pc": [
- 18
- ]
- },
- {
- "teal": 17,
- "source": 1354,
- "pc": [
- 19,
- 20
- ]
- },
- {
- "teal": 18,
- "source": 1354,
- "pc": [
- 21
- ]
- },
- {
- "teal": 19,
- "source": 1354,
- "pc": [
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 23,
- "source": 1354,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 48
- ]
- },
- {
- "teal": 28,
- "source": 1357,
- "pc": [
- 49,
- 50,
- 51,
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 31,
- "source": 1357,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 32,
- "source": 1357,
- "pc": [
- 58
- ]
- },
- {
- "teal": 33,
- "source": 1357,
- "pc": [
- 59
- ]
- },
- {
- "teal": 34,
- "source": 1357,
- "pc": [
- 60
- ]
- },
- {
- "teal": 35,
- "source": 1357,
- "pc": [
- 61
- ]
- },
- {
- "teal": 36,
- "source": 1357,
- "pc": [
- 62
- ]
- },
- {
- "teal": 40,
- "source": 1357,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 43,
- "source": 1357,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 44,
- "source": 1357,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 48,
- "source": 1358,
- "pc": [
- 70
- ]
- },
- {
- "teal": 49,
- "source": 1358,
- "pc": [
- 71
- ]
- },
- {
- "teal": 50,
- "source": 1358,
- "pc": [
- 72,
- 73
- ]
- },
- {
- "teal": 51,
- "source": 1358,
- "pc": [
- 74
- ]
- },
- {
- "teal": 52,
- "source": 1358,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 53,
- "source": 1358,
- "pc": [
- 77,
- 78,
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 54,
- "source": 1358,
- "pc": [
- 82
- ]
- },
- {
- "teal": 55,
- "source": 1358,
- "pc": [
- 83,
- 84
- ]
- },
- {
- "teal": 56,
- "source": 1358,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 57,
- "source": 1358,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 58,
- "source": 1358,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 59,
- "source": 1358,
- "pc": [
- 91
- ]
- },
- {
- "teal": 63,
- "source": 1359,
- "pc": [
- 92
- ]
- },
- {
- "teal": 64,
- "source": 1359,
- "pc": [
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 65,
- "source": 1359,
- "pc": [
- 96
- ]
- },
- {
- "teal": 66,
- "source": 1359,
- "pc": [
- 97
- ]
- },
- {
- "teal": 70,
- "source": 1360,
- "pc": [
- 98
- ]
- },
- {
- "teal": 71,
- "source": 1360,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 75,
- "source": 1362,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 76,
- "source": 1362,
- "pc": [
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 77,
- "source": 1362,
- "pc": [
- 106
- ]
- },
- {
- "teal": 78,
- "source": 1362,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 79,
- "source": 1362,
- "pc": [
- 109
- ]
- },
- {
- "teal": 80,
- "source": 1362,
- "pc": [
- 110
- ]
- },
- {
- "teal": 81,
- "source": 1362,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 82,
- "source": 1362,
- "pc": [
- 113
- ]
- },
- {
- "teal": 83,
- "source": 1362,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 84,
- "source": 1362,
- "pc": [
- 116
- ]
- },
- {
- "teal": 85,
- "source": 1362,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 86,
- "source": 1362,
- "pc": [
- 119
- ]
- },
- {
- "teal": 87,
- "source": 1362,
- "pc": [
- 120
- ]
- },
- {
- "teal": 88,
- "source": 1362,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 93,
- "source": 1363,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 94,
- "source": 1363,
- "pc": [
- 125
- ]
- },
- {
- "teal": 95,
- "source": 1363,
- "pc": [
- 126
- ]
- },
- {
- "teal": 96,
- "source": 1363,
- "pc": [
- 127,
- 128
- ]
- },
- {
- "teal": 99,
- "source": 1362,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 100,
- "source": 1362,
- "pc": [
- 131
- ]
- },
- {
- "teal": 101,
- "source": 1362,
- "pc": [
- 132
- ]
- },
- {
- "teal": 102,
- "source": 1362,
- "pc": [
- 133
- ]
- },
- {
- "teal": 103,
- "source": 1362,
- "pc": [
- 134,
- 135
- ]
- },
- {
- "teal": 104,
- "source": 1362,
- "pc": [
- 136
- ]
- },
- {
- "teal": 105,
- "source": 1362,
- "pc": [
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 106,
- "source": 1362,
- "pc": [
- 140,
- 141
- ]
- },
- {
- "teal": 107,
- "source": 1362,
- "pc": [
- 142
- ]
- },
- {
- "teal": 108,
- "source": 1362,
- "pc": [
- 143,
- 144
- ]
- },
- {
- "teal": 109,
- "source": 1362,
- "pc": [
- 145
- ]
- },
- {
- "teal": 110,
- "source": 1362,
- "pc": [
- 146
- ]
- },
- {
- "teal": 111,
- "source": 1362,
- "pc": [
- 147,
- 148
- ]
- },
- {
- "teal": 112,
- "source": 1362,
- "pc": [
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 117,
- "source": 1366,
- "pc": [
- 152,
- 153
- ]
- },
- {
- "teal": 120,
- "source": 1357,
- "pc": [
- 154,
- 155
- ]
- },
- {
- "teal": 123,
- "source": 1357,
- "pc": [
- 156,
- 157
- ]
- },
- {
- "teal": 124,
- "source": 1357,
- "pc": [
- 158
- ]
- },
- {
- "teal": 127,
- "source": 1354,
- "pc": [
- 159
- ]
- },
- {
- "teal": 128,
- "source": 1354,
- "pc": [
- 160
- ]
- },
- {
- "teal": 131,
- "source": 1354,
- "pc": [
- 161,
- 162,
- 163,
- 164,
- 165,
- 166
- ]
- },
- {
- "teal": 132,
- "source": 1354,
- "pc": [
- 167,
- 168,
- 169
- ]
- },
- {
- "teal": 133,
- "source": 1354,
- "pc": [
- 170,
- 171,
- 172,
- 173
- ]
- },
- {
- "teal": 136,
- "source": 1354,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 174
- ]
- },
- {
- "teal": 139,
- "source": 1354,
- "pc": [
- 175,
- 176,
- 177,
- 178,
- 179,
- 180
- ]
- },
- {
- "teal": 140,
- "source": 1354,
- "pc": [
- 181,
- 182,
- 183
- ]
- },
- {
- "teal": 141,
- "source": 1354,
- "pc": [
- 184,
- 185,
- 186,
- 187
- ]
- },
- {
- "teal": 144,
- "source": 1354,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 188
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1354,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1354,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1354,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1354,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1354,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1354,
+ "pc": [
+ 19,
+ 20
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1354,
+ "pc": [
+ 21
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1354,
+ "pc": [
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1354,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1357,
+ "pc": [
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1357,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1357,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1357,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1357,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1357,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1357,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1357,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1357,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1357,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1358,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1358,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1358,
+ "pc": [
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1358,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1358,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1358,
+ "pc": [
+ 77,
+ 78,
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1358,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1358,
+ "pc": [
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1358,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1358,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1358,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1358,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1359,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1359,
+ "pc": [
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1359,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1359,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1360,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1360,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1362,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1362,
+ "pc": [
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1362,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1362,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1362,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1362,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1362,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1362,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1362,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1362,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1362,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1362,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1362,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1362,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1363,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1363,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1363,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1363,
+ "pc": [
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1362,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1362,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 1362,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 1362,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1362,
+ "pc": [
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 1362,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 1362,
+ "pc": [
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1362,
+ "pc": [
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 1362,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 1362,
+ "pc": [
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 1362,
+ "pc": [
+ 145
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1362,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1362,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 1362,
+ "pc": [
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 1366,
+ "pc": [
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 1357,
+ "pc": [
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 1357,
+ "pc": [
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 1357,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 1354,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 1354,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 1354,
+ "pc": [
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 1354,
+ "pc": [
+ 167,
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 1354,
+ "pc": [
+ 170,
+ 171,
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 1354,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 1354,
+ "pc": [
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 1354,
+ "pc": [
+ 181,
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 1354,
+ "pc": [
+ 184,
+ 185,
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 1354,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 188
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0CiphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCk6IHVpbnQ2NApsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM1OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzU5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2MAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYyCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWludCA0MTYwCglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiCglmcmFtZV9idXJ5IDEgLy8ga2V5IGZvciB0aGUgYm94IHRoYXQgY29udGFpbnMgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJc3dhcAoJZHVwCglmcmFtZV9idXJ5IDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCSsKCWZyYW1lX2J1cnkgMyAvLyB0aGUgb2Zmc2V0IG9mIHRoZSBsYXN0IGVsZW1lbnQKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIgLy8ga2V5IGZvciB0aGUgYm94IHRoYXQgY29udGFpbnMgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA2NAoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyB2OiB1aW50NTEyCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNjMKCS8vIHN1bSArPSAxCglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCSsKCWR1cAoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzY2CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9sYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0CiphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCk6IHVpbnQ2NApsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM1OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzU5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2MAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYyCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJaW50IDMyIC8vIGhlYWRPZmZzZXQKCWludCA0MTYwCglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiCglmcmFtZV9idXJ5IDEgLy8ga2V5IGZvciB0aGUgYm94IHRoYXQgY29udGFpbnMgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJc3dhcAoJZHVwCglmcmFtZV9idXJ5IDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCSsKCWZyYW1lX2J1cnkgMyAvLyB0aGUgb2Zmc2V0IG9mIHRoZSBsYXN0IGVsZW1lbnQKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIgLy8ga2V5IGZvciB0aGUgYm94IHRoYXQgY29udGFpbnMgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA2NAoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyB2OiB1aW50NTEyCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNjMKCS8vIHN1bSArPSAxCglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCSsKCWR1cAoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzY2CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9sYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.approval.teal b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.approval.teal
index 460ddfeae..822ae2231 100644
--- a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.approval.teal
+++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc32.json b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc32.json
index 43e75b9c8..be256cb4a 100644
--- a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc32.json
+++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX2xhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKTogdWludDY0CmxhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ2OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDY5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3MAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDczCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0KCWludCAzMiAvLyBoZWFkT2Zmc2V0CglpbnQgNDE2MAoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IgoJZnJhbWVfYnVyeSAxIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCXN3YXAKCWR1cAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgkrCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50CglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoKKmZvck9mXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3NAoJLy8gc3VtICs9IDEKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCSsKCWR1cAoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yT2ZfMF9lbmQKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IiAvLyBrZXkgZm9yIHRoZSBib3ggdGhhdCBjb250YWlucyB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCWIgKmZvck9mXzAKCipmb3JPZl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDc3CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX2xhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKTogdWludDY0CmxhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ2OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDY5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3MAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDczCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0KCWludCAzMiAvLyBoZWFkT2Zmc2V0CglpbnQgNDE2MAoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IgoJZnJhbWVfYnVyeSAxIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCXN3YXAKCWR1cAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgkrCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50CglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoKKmZvck9mXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3NAoJLy8gc3VtICs9IDEKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCSsKCWR1cAoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yT2ZfMF9lbmQKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IiAvLyBrZXkgZm9yIHRoZSBib3ggdGhhdCBjb250YWlucyB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCWIgKmZvck9mXzAKCipmb3JPZl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDc3CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc56_draft.json
index ae351325a..f13c9aba7 100644
--- a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc56_draft.json
@@ -66,700 +66,703 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1464,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13
- ]
- },
- {
- "teal": 13,
- "source": 1464,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 14,
- "source": 1464,
- "pc": [
- 16
- ]
- },
- {
- "teal": 15,
- "source": 1464,
- "pc": [
- 17
- ]
- },
- {
- "teal": 16,
- "source": 1464,
- "pc": [
- 18
- ]
- },
- {
- "teal": 17,
- "source": 1464,
- "pc": [
- 19,
- 20
- ]
- },
- {
- "teal": 18,
- "source": 1464,
- "pc": [
- 21
- ]
- },
- {
- "teal": 19,
- "source": 1464,
- "pc": [
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 23,
- "source": 1464,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 48
- ]
- },
- {
- "teal": 28,
- "source": 1467,
- "pc": [
- 49,
- 50,
- 51,
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 31,
- "source": 1467,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 32,
- "source": 1467,
- "pc": [
- 58
- ]
- },
- {
- "teal": 33,
- "source": 1467,
- "pc": [
- 59
- ]
- },
- {
- "teal": 34,
- "source": 1467,
- "pc": [
- 60
- ]
- },
- {
- "teal": 35,
- "source": 1467,
- "pc": [
- 61
- ]
- },
- {
- "teal": 36,
- "source": 1467,
- "pc": [
- 62
- ]
- },
- {
- "teal": 40,
- "source": 1467,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 43,
- "source": 1467,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 44,
- "source": 1467,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 48,
- "source": 1468,
- "pc": [
- 70
- ]
- },
- {
- "teal": 49,
- "source": 1468,
- "pc": [
- 71
- ]
- },
- {
- "teal": 50,
- "source": 1468,
- "pc": [
- 72,
- 73
- ]
- },
- {
- "teal": 51,
- "source": 1468,
- "pc": [
- 74
- ]
- },
- {
- "teal": 52,
- "source": 1468,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 53,
- "source": 1468,
- "pc": [
- 77,
- 78,
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 54,
- "source": 1468,
- "pc": [
- 82
- ]
- },
- {
- "teal": 55,
- "source": 1468,
- "pc": [
- 83,
- 84
- ]
- },
- {
- "teal": 56,
- "source": 1468,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 57,
- "source": 1468,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 58,
- "source": 1468,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 59,
- "source": 1468,
- "pc": [
- 91
- ]
- },
- {
- "teal": 63,
- "source": 1469,
- "pc": [
- 92
- ]
- },
- {
- "teal": 64,
- "source": 1469,
- "pc": [
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 65,
- "source": 1469,
- "pc": [
- 96
- ]
- },
- {
- "teal": 66,
- "source": 1469,
- "pc": [
- 97
- ]
- },
- {
- "teal": 70,
- "source": 1470,
- "pc": [
- 98
- ]
- },
- {
- "teal": 71,
- "source": 1470,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 75,
- "source": 1473,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 76,
- "source": 1473,
- "pc": [
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 77,
- "source": 1473,
- "pc": [
- 106
- ]
- },
- {
- "teal": 78,
- "source": 1473,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 79,
- "source": 1473,
- "pc": [
- 109
- ]
- },
- {
- "teal": 80,
- "source": 1473,
- "pc": [
- 110
- ]
- },
- {
- "teal": 81,
- "source": 1473,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 82,
- "source": 1473,
- "pc": [
- 113
- ]
- },
- {
- "teal": 83,
- "source": 1473,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 84,
- "source": 1473,
- "pc": [
- 116
- ]
- },
- {
- "teal": 85,
- "source": 1473,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 86,
- "source": 1473,
- "pc": [
- 119
- ]
- },
- {
- "teal": 87,
- "source": 1473,
- "pc": [
- 120
- ]
- },
- {
- "teal": 88,
- "source": 1473,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 93,
- "source": 1474,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 94,
- "source": 1474,
- "pc": [
- 125
- ]
- },
- {
- "teal": 95,
- "source": 1474,
- "pc": [
- 126
- ]
- },
- {
- "teal": 96,
- "source": 1474,
- "pc": [
- 127,
- 128
- ]
- },
- {
- "teal": 100,
- "source": 1473,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 101,
- "source": 1473,
- "pc": [
- 131
- ]
- },
- {
- "teal": 102,
- "source": 1473,
- "pc": [
- 132
- ]
- },
- {
- "teal": 103,
- "source": 1473,
- "pc": [
- 133
- ]
- },
- {
- "teal": 104,
- "source": 1473,
- "pc": [
- 134,
- 135
- ]
- },
- {
- "teal": 105,
- "source": 1473,
- "pc": [
- 136
- ]
- },
- {
- "teal": 106,
- "source": 1473,
- "pc": [
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 107,
- "source": 1473,
- "pc": [
- 140,
- 141
- ]
- },
- {
- "teal": 108,
- "source": 1473,
- "pc": [
- 142
- ]
- },
- {
- "teal": 109,
- "source": 1473,
- "pc": [
- 143,
- 144
- ]
- },
- {
- "teal": 110,
- "source": 1473,
- "pc": [
- 145
- ]
- },
- {
- "teal": 111,
- "source": 1473,
- "pc": [
- 146
- ]
- },
- {
- "teal": 112,
- "source": 1473,
- "pc": [
- 147,
- 148
- ]
- },
- {
- "teal": 113,
- "source": 1473,
- "pc": [
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 118,
- "source": 1477,
- "pc": [
- 152,
- 153
- ]
- },
- {
- "teal": 121,
- "source": 1467,
- "pc": [
- 154,
- 155
- ]
- },
- {
- "teal": 124,
- "source": 1467,
- "pc": [
- 156,
- 157
- ]
- },
- {
- "teal": 125,
- "source": 1467,
- "pc": [
- 158
- ]
- },
- {
- "teal": 128,
- "source": 1464,
- "pc": [
- 159
- ]
- },
- {
- "teal": 129,
- "source": 1464,
- "pc": [
- 160
- ]
- },
- {
- "teal": 132,
- "source": 1464,
- "pc": [
- 161,
- 162,
- 163,
- 164,
- 165,
- 166
- ]
- },
- {
- "teal": 133,
- "source": 1464,
- "pc": [
- 167,
- 168,
- 169
- ]
- },
- {
- "teal": 134,
- "source": 1464,
- "pc": [
- 170,
- 171,
- 172,
- 173
- ]
- },
- {
- "teal": 137,
- "source": 1464,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 174
- ]
- },
- {
- "teal": 140,
- "source": 1464,
- "pc": [
- 175,
- 176,
- 177,
- 178,
- 179,
- 180
- ]
- },
- {
- "teal": 141,
- "source": 1464,
- "pc": [
- 181,
- 182,
- 183
- ]
- },
- {
- "teal": 142,
- "source": 1464,
- "pc": [
- 184,
- 185,
- 186,
- 187
- ]
- },
- {
- "teal": 145,
- "source": 1464,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 188
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1464,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1464,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1464,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1464,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1464,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1464,
+ "pc": [
+ 19,
+ 20
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1464,
+ "pc": [
+ 21
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1464,
+ "pc": [
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1464,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1467,
+ "pc": [
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1467,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1467,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1467,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1467,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1467,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1467,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1467,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1467,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1467,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1468,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1468,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1468,
+ "pc": [
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1468,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1468,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1468,
+ "pc": [
+ 77,
+ 78,
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1468,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1468,
+ "pc": [
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1468,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1468,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1468,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1468,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1469,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1469,
+ "pc": [
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1469,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1469,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1470,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1470,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1473,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1473,
+ "pc": [
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1473,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1473,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1473,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1473,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1473,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1473,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1473,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1473,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1473,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1473,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1473,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1473,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1474,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1474,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1474,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1474,
+ "pc": [
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1473,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 1473,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 1473,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1473,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 1473,
+ "pc": [
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 1473,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1473,
+ "pc": [
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 1473,
+ "pc": [
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 1473,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 1473,
+ "pc": [
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1473,
+ "pc": [
+ 145
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1473,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 1473,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 1473,
+ "pc": [
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 1477,
+ "pc": [
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 1467,
+ "pc": [
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 1467,
+ "pc": [
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 1467,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 1464,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 1464,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 1464,
+ "pc": [
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 1464,
+ "pc": [
+ 167,
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 1464,
+ "pc": [
+ 170,
+ 171,
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 1464,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 1464,
+ "pc": [
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 1464,
+ "pc": [
+ 181,
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 1464,
+ "pc": [
+ 184,
+ 185,
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 1464,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 188
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX2xhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKTogdWludDY0CmxhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ2OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDY5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3MAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDczCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0KCWludCAzMiAvLyBoZWFkT2Zmc2V0CglpbnQgNDE2MAoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IgoJZnJhbWVfYnVyeSAxIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCXN3YXAKCWR1cAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgkrCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50CglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoKKmZvck9mXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3NAoJLy8gc3VtICs9IDEKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCSsKCWR1cAoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yT2ZfMF9lbmQKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IiAvLyBrZXkgZm9yIHRoZSBib3ggdGhhdCBjb250YWlucyB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCWIgKmZvck9mXzAKCipmb3JPZl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDc3CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX2xhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKTogdWludDY0CmxhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ2OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDY5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3MAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDczCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0KCWludCAzMiAvLyBoZWFkT2Zmc2V0CglpbnQgNDE2MAoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IgoJZnJhbWVfYnVyeSAxIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCXN3YXAKCWR1cAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgkrCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50CglieXRlIDB4NjI0YjY1NzkgLy8gImJLZXkiIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoKKmZvck9mXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3NAoJLy8gc3VtICs9IDEKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgNjQKCSsKCWR1cAoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yT2ZfMF9lbmQKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IiAvLyBrZXkgZm9yIHRoZSBib3ggdGhhdCBjb250YWlucyB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCWIgKmZvck9mXzAKCipmb3JPZl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDc3CgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3goKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestMaxUfixed.approval.teal b/tests/contracts/artifacts/ABITestMaxUfixed.approval.teal
index b08520c20..957ef77c1 100644
--- a/tests/contracts/artifacts/ABITestMaxUfixed.approval.teal
+++ b/tests/contracts/artifacts/ABITestMaxUfixed.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestMaxUfixed.arc32.json b/tests/contracts/artifacts/ABITestMaxUfixed.arc32.json
index e30cb2293..6d290c32b 100644
--- a/tests/contracts/artifacts/ABITestMaxUfixed.arc32.json
+++ b/tests/contracts/artifacts/ABITestMaxUfixed.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtYXhVZml4ZWQoKXVmaXhlZDY0eDIKKmFiaV9yb3V0ZV9tYXhVZml4ZWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCgljYWxsc3ViIG1heFVmaXhlZAoJaXRvYgoJZXh0cmFjdCAwIDgKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtYXhVZml4ZWQoKTogdWZpeGVkPDY0LCAyPgptYXhVZml4ZWQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTQyCgkvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4gPSAxMi4zNAoJaW50IDEyMzQKCWZyYW1lX2J1cnkgMCAvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0NAoJLy8gcmV0dXJuIHU2NG1heDsKCWZyYW1lX2RpZyAwIC8vIHU2NG1heDogdWZpeGVkPDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibWF4VWZpeGVkKCl1Zml4ZWQ2NHgyIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhVZml4ZWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtYXhVZml4ZWQoKXVmaXhlZDY0eDIKKmFiaV9yb3V0ZV9tYXhVZml4ZWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCgljYWxsc3ViIG1heFVmaXhlZAoJaXRvYgoJZXh0cmFjdCAwIDgKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtYXhVZml4ZWQoKTogdWZpeGVkPDY0LCAyPgptYXhVZml4ZWQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTQyCgkvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4gPSAxMi4zNAoJaW50IDEyMzQKCWZyYW1lX2J1cnkgMCAvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0NAoJLy8gcmV0dXJuIHU2NG1heDsKCWZyYW1lX2RpZyAwIC8vIHU2NG1heDogdWZpeGVkPDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibWF4VWZpeGVkKCl1Zml4ZWQ2NHgyIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhVZml4ZWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestMaxUfixed.arc56_draft.json b/tests/contracts/artifacts/ABITestMaxUfixed.arc56_draft.json
index 2f4c58f4b..0895da66e 100644
--- a/tests/contracts/artifacts/ABITestMaxUfixed.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestMaxUfixed.arc56_draft.json
@@ -60,319 +60,322 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1140,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1140,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1140,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1140,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1140,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1140,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1140,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1140,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1140,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1141,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1141,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1141,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1141,
- "pc": [
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 34,
- "source": 1141,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 1141,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 1141,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 1141,
- "pc": [
- 56
- ]
- },
- {
- "teal": 41,
- "source": 1141,
- "pc": [
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 44,
- "source": 1141,
- "pc": [
- 60,
- 61
- ]
- },
- {
- "teal": 48,
- "source": 1142,
- "pc": [
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 49,
- "source": 1142,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 53,
- "source": 1144,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 56,
- "source": 1141,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 57,
- "source": 1141,
- "pc": [
- 71
- ]
- },
- {
- "teal": 60,
- "source": 1140,
- "pc": [
- 72
- ]
- },
- {
- "teal": 61,
- "source": 1140,
- "pc": [
- 73
- ]
- },
- {
- "teal": 64,
- "source": 1140,
- "pc": [
- 74,
- 75,
- 76,
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 65,
- "source": 1140,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 66,
- "source": 1140,
- "pc": [
- 83,
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 69,
- "source": 1140,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 87
- ]
- },
- {
- "teal": 72,
- "source": 1140,
- "pc": [
- 88,
- 89,
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 73,
- "source": 1140,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 74,
- "source": 1140,
- "pc": [
- 97,
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 77,
- "source": 1140,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 101
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1140,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1140,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1140,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1140,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1140,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1140,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1140,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1140,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1140,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1141,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1141,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1141,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1141,
+ "pc": [
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1141,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1141,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1141,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1141,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1141,
+ "pc": [
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1141,
+ "pc": [
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1142,
+ "pc": [
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1142,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1144,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1141,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1141,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1140,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1140,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1140,
+ "pc": [
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1140,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1140,
+ "pc": [
+ 83,
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1140,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1140,
+ "pc": [
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1140,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1140,
+ "pc": [
+ 97,
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1140,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 101
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtYXhVZml4ZWQoKXVmaXhlZDY0eDIKKmFiaV9yb3V0ZV9tYXhVZml4ZWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCgljYWxsc3ViIG1heFVmaXhlZAoJaXRvYgoJZXh0cmFjdCAwIDgKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtYXhVZml4ZWQoKTogdWZpeGVkPDY0LCAyPgptYXhVZml4ZWQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTQyCgkvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4gPSAxMi4zNAoJaW50IDEyMzQKCWZyYW1lX2J1cnkgMCAvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0NAoJLy8gcmV0dXJuIHU2NG1heDsKCWZyYW1lX2RpZyAwIC8vIHU2NG1heDogdWZpeGVkPDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibWF4VWZpeGVkKCl1Zml4ZWQ2NHgyIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhVZml4ZWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtYXhVZml4ZWQoKXVmaXhlZDY0eDIKKmFiaV9yb3V0ZV9tYXhVZml4ZWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCgljYWxsc3ViIG1heFVmaXhlZAoJaXRvYgoJZXh0cmFjdCAwIDgKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtYXhVZml4ZWQoKTogdWZpeGVkPDY0LCAyPgptYXhVZml4ZWQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTQyCgkvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4gPSAxMi4zNAoJaW50IDEyMzQKCWZyYW1lX2J1cnkgMCAvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0NAoJLy8gcmV0dXJuIHU2NG1heDsKCWZyYW1lX2RpZyAwIC8vIHU2NG1heDogdWZpeGVkPDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibWF4VWZpeGVkKCl1Zml4ZWQ2NHgyIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhVZml4ZWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.approval.teal b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.approval.teal
index 5a2d2fe54..4b9e30080 100644
--- a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.approval.teal
+++ b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc32.json b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc32.json
index c85a1897c..f107864ba 100644
--- a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc32.json
+++ b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoqYWJpX3JvdXRlX21peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoJY2FsbHN1YiBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKTogdWludDY0Cm1peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQKCS8vIG4xID0gYnRvaShpdG9iKDMpKQoJaW50IDMKCWZyYW1lX2J1cnkgMCAvLyBuMTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1CgkvLyBuMiA9IGJ0b2koaXRvYig0KSkKCWludCA0CglmcmFtZV9idXJ5IDEgLy8gbjI6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NgoJLy8gbjMgPSBidG9pKGl0b2IoNSkpCglpbnQgNQoJZnJhbWVfYnVyeSAyIC8vIG4zOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDcKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4gPSBbMCwgMSwgMiwgbjEsIG4yLCBuMywgNiwgNywgOF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWZyYW1lX2RpZyAwIC8vIG4xOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDQKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDUKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDYKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDcKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDgKCWNvbmNhdAoJZnJhbWVfYnVyeSAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkKCS8vIHJldHVybiBhWzFdICsgYVs0XSArIGFbN107CglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDggOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PgoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDU2IDgKCWJ0b2kKCSsKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbWl4ZWRTdGF0aWNBcnJheUVsZW1lbnRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoqYWJpX3JvdXRlX21peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoJY2FsbHN1YiBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKTogdWludDY0Cm1peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQKCS8vIG4xID0gYnRvaShpdG9iKDMpKQoJaW50IDMKCWZyYW1lX2J1cnkgMCAvLyBuMTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1CgkvLyBuMiA9IGJ0b2koaXRvYig0KSkKCWludCA0CglmcmFtZV9idXJ5IDEgLy8gbjI6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NgoJLy8gbjMgPSBidG9pKGl0b2IoNSkpCglpbnQgNQoJZnJhbWVfYnVyeSAyIC8vIG4zOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDcKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4gPSBbMCwgMSwgMiwgbjEsIG4yLCBuMywgNiwgNywgOF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWZyYW1lX2RpZyAwIC8vIG4xOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDQKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDUKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDYKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDcKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDgKCWNvbmNhdAoJZnJhbWVfYnVyeSAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkKCS8vIHJldHVybiBhWzFdICsgYVs0XSArIGFbN107CglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDggOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PgoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDU2IDgKCWJ0b2kKCSsKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbWl4ZWRTdGF0aWNBcnJheUVsZW1lbnRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc56_draft.json b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc56_draft.json
index f7f89e7e9..e84089ba1 100644
--- a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc56_draft.json
@@ -60,612 +60,615 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 42,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 42,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 42,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 42,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 42,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 42,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 42,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 42,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 42,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 43,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 43,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 43,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 43,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 43,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 43,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 43,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 43,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 43,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 44,
- "source": 43,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 48,
- "source": 44,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 49,
- "source": 44,
- "pc": [
- 63,
- 64
- ]
- },
- {
- "teal": 53,
- "source": 45,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 54,
- "source": 45,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 58,
- "source": 46,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 59,
- "source": 46,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 63,
- "source": 47,
- "pc": [
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 64,
- "source": 47,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 65,
- "source": 47,
- "pc": [
- 101
- ]
- },
- {
- "teal": 66,
- "source": 47,
- "pc": [
- 102
- ]
- },
- {
- "teal": 67,
- "source": 47,
- "pc": [
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 68,
- "source": 47,
- "pc": [
- 113
- ]
- },
- {
- "teal": 69,
- "source": 47,
- "pc": [
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 70,
- "source": 47,
- "pc": [
- 124
- ]
- },
- {
- "teal": 71,
- "source": 47,
- "pc": [
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134
- ]
- },
- {
- "teal": 72,
- "source": 47,
- "pc": [
- 135
- ]
- },
- {
- "teal": 73,
- "source": 47,
- "pc": [
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 74,
- "source": 47,
- "pc": [
- 146
- ]
- },
- {
- "teal": 75,
- "source": 47,
- "pc": [
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156
- ]
- },
- {
- "teal": 76,
- "source": 47,
- "pc": [
- 157
- ]
- },
- {
- "teal": 77,
- "source": 47,
- "pc": [
- 158,
- 159
- ]
- },
- {
- "teal": 81,
- "source": 49,
- "pc": [
- 160,
- 161
- ]
- },
- {
- "teal": 82,
- "source": 49,
- "pc": [
- 162,
- 163,
- 164
- ]
- },
- {
- "teal": 83,
- "source": 49,
- "pc": [
- 165
- ]
- },
- {
- "teal": 84,
- "source": 49,
- "pc": [
- 166,
- 167
- ]
- },
- {
- "teal": 85,
- "source": 49,
- "pc": [
- 168,
- 169,
- 170
- ]
- },
- {
- "teal": 86,
- "source": 49,
- "pc": [
- 171
- ]
- },
- {
- "teal": 87,
- "source": 49,
- "pc": [
- 172
- ]
- },
- {
- "teal": 88,
- "source": 49,
- "pc": [
- 173,
- 174
- ]
- },
- {
- "teal": 89,
- "source": 49,
- "pc": [
- 175,
- 176,
- 177
- ]
- },
- {
- "teal": 90,
- "source": 49,
- "pc": [
- 178
- ]
- },
- {
- "teal": 91,
- "source": 49,
- "pc": [
- 179
- ]
- },
- {
- "teal": 94,
- "source": 43,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 97,
- "source": 43,
- "pc": [
- 182,
- 183
- ]
- },
- {
- "teal": 98,
- "source": 43,
- "pc": [
- 184
- ]
- },
- {
- "teal": 101,
- "source": 42,
- "pc": [
- 185
- ]
- },
- {
- "teal": 102,
- "source": 42,
- "pc": [
- 186
- ]
- },
- {
- "teal": 105,
- "source": 42,
- "pc": [
- 187,
- 188,
- 189,
- 190,
- 191,
- 192
- ]
- },
- {
- "teal": 106,
- "source": 42,
- "pc": [
- 193,
- 194,
- 195
- ]
- },
- {
- "teal": 107,
- "source": 42,
- "pc": [
- 196,
- 197,
- 198,
- 199
- ]
- },
- {
- "teal": 110,
- "source": 42,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 200
- ]
- },
- {
- "teal": 113,
- "source": 42,
- "pc": [
- 201,
- 202,
- 203,
- 204,
- 205,
- 206
- ]
- },
- {
- "teal": 114,
- "source": 42,
- "pc": [
- 207,
- 208,
- 209
- ]
- },
- {
- "teal": 115,
- "source": 42,
- "pc": [
- 210,
- 211,
- 212,
- 213
- ]
- },
- {
- "teal": 118,
- "source": 42,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 214
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 42,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 42,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 42,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 42,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 42,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 42,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 42,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 42,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 42,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 43,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 43,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 43,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 43,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 43,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 43,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 43,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 43,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 43,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 43,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 44,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 44,
+ "pc": [
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 45,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 45,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 46,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 46,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 47,
+ "pc": [
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 47,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 47,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 47,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 47,
+ "pc": [
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 47,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 47,
+ "pc": [
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 47,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 47,
+ "pc": [
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 47,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 47,
+ "pc": [
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 47,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 47,
+ "pc": [
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 47,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 47,
+ "pc": [
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 49,
+ "pc": [
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 49,
+ "pc": [
+ 162,
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 49,
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 49,
+ "pc": [
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 49,
+ "pc": [
+ 168,
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 49,
+ "pc": [
+ 171
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 49,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 49,
+ "pc": [
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 49,
+ "pc": [
+ 175,
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 49,
+ "pc": [
+ 178
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 49,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 43,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 43,
+ "pc": [
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 43,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 42,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 42,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 42,
+ "pc": [
+ 187,
+ 188,
+ 189,
+ 190,
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 42,
+ "pc": [
+ 193,
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 42,
+ "pc": [
+ 196,
+ 197,
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 42,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 42,
+ "pc": [
+ 201,
+ 202,
+ 203,
+ 204,
+ 205,
+ 206
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 42,
+ "pc": [
+ 207,
+ 208,
+ 209
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 42,
+ "pc": [
+ 210,
+ 211,
+ 212,
+ 213
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 42,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 214
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoqYWJpX3JvdXRlX21peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoJY2FsbHN1YiBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKTogdWludDY0Cm1peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQKCS8vIG4xID0gYnRvaShpdG9iKDMpKQoJaW50IDMKCWZyYW1lX2J1cnkgMCAvLyBuMTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1CgkvLyBuMiA9IGJ0b2koaXRvYig0KSkKCWludCA0CglmcmFtZV9idXJ5IDEgLy8gbjI6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NgoJLy8gbjMgPSBidG9pKGl0b2IoNSkpCglpbnQgNQoJZnJhbWVfYnVyeSAyIC8vIG4zOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDcKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4gPSBbMCwgMSwgMiwgbjEsIG4yLCBuMywgNiwgNywgOF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWZyYW1lX2RpZyAwIC8vIG4xOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDQKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDUKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDYKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDcKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDgKCWNvbmNhdAoJZnJhbWVfYnVyeSAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkKCS8vIHJldHVybiBhWzFdICsgYVs0XSArIGFbN107CglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDggOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PgoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDU2IDgKCWJ0b2kKCSsKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbWl4ZWRTdGF0aWNBcnJheUVsZW1lbnRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoqYWJpX3JvdXRlX21peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoJY2FsbHN1YiBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKTogdWludDY0Cm1peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQKCS8vIG4xID0gYnRvaShpdG9iKDMpKQoJaW50IDMKCWZyYW1lX2J1cnkgMCAvLyBuMTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1CgkvLyBuMiA9IGJ0b2koaXRvYig0KSkKCWludCA0CglmcmFtZV9idXJ5IDEgLy8gbjI6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NgoJLy8gbjMgPSBidG9pKGl0b2IoNSkpCglpbnQgNQoJZnJhbWVfYnVyeSAyIC8vIG4zOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDcKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4gPSBbMCwgMSwgMiwgbjEsIG4yLCBuMywgNiwgNywgOF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWZyYW1lX2RpZyAwIC8vIG4xOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDQKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDUKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDYKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDcKCWNvbmNhdAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDgKCWNvbmNhdAoJZnJhbWVfYnVyeSAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkKCS8vIHJldHVybiBhWzFdICsgYVs0XSArIGFbN107CglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDggOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PgoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDU2IDgKCWJ0b2kKCSsKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbWl4ZWRTdGF0aWNBcnJheUVsZW1lbnRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestMultiBytesTuple.approval.teal b/tests/contracts/artifacts/ABITestMultiBytesTuple.approval.teal
index 63ea3aa47..feaf3936c 100644
--- a/tests/contracts/artifacts/ABITestMultiBytesTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestMultiBytesTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestMultiBytesTuple.arc32.json b/tests/contracts/artifacts/ABITestMultiBytesTuple.arc32.json
index b1dcba21d..24abcb179 100644
--- a/tests/contracts/artifacts/ABITestMultiBytesTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestMultiBytesTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoqYWJpX3JvdXRlX211bHRpQnl0ZXNUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoJY2FsbHN1YiBtdWx0aUJ5dGVzVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aUJ5dGVzVHVwbGUoKTogW2J5dGVzLCBieXRlc10KbXVsdGlCeXRlc1R1cGxlOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMTkKCS8vIHJldHVybiBbaGV4KCcweDAxJyksIGhleCgnMHgwMicpXTsKCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEwMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm11bHRpQnl0ZXNUdXBsZSgpKGJ5dGVbXSxieXRlW10pIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aUJ5dGVzVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoqYWJpX3JvdXRlX211bHRpQnl0ZXNUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoJY2FsbHN1YiBtdWx0aUJ5dGVzVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aUJ5dGVzVHVwbGUoKTogW2J5dGVzLCBieXRlc10KbXVsdGlCeXRlc1R1cGxlOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMTkKCS8vIHJldHVybiBbaGV4KCcweDAxJyksIGhleCgnMHgwMicpXTsKCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEwMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm11bHRpQnl0ZXNUdXBsZSgpKGJ5dGVbXSxieXRlW10pIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aUJ5dGVzVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestMultiBytesTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestMultiBytesTuple.arc56_draft.json
index 4a4b53c5d..c83af338c 100644
--- a/tests/contracts/artifacts/ABITestMultiBytesTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestMultiBytesTuple.arc56_draft.json
@@ -60,512 +60,515 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1217,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 1217,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 1217,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 1217,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 16,
- "source": 1217,
- "pc": [
- 12
- ]
- },
- {
- "teal": 17,
- "source": 1217,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 18,
- "source": 1217,
- "pc": [
- 15
- ]
- },
- {
- "teal": 19,
- "source": 1217,
- "pc": [
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41
- ]
- },
- {
- "teal": 23,
- "source": 1217,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 42
- ]
- },
- {
- "teal": 28,
- "source": 1218,
- "pc": [
- 43,
- 44,
- 45,
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 31,
- "source": 1218,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 32,
- "source": 1218,
- "pc": [
- 52
- ]
- },
- {
- "teal": 33,
- "source": 1218,
- "pc": [
- 53
- ]
- },
- {
- "teal": 34,
- "source": 1218,
- "pc": [
- 54
- ]
- },
- {
- "teal": 35,
- "source": 1218,
- "pc": [
- 55
- ]
- },
- {
- "teal": 39,
- "source": 1218,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1219,
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 1219,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 1219,
- "pc": [
- 61,
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 46,
- "source": 1219,
- "pc": [
- 65,
- 66,
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 47,
- "source": 1219,
- "pc": [
- 70,
- 71,
- 72
- ]
- },
- {
- "teal": 48,
- "source": 1219,
- "pc": [
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 49,
- "source": 1219,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 50,
- "source": 1219,
- "pc": [
- 81
- ]
- },
- {
- "teal": 51,
- "source": 1219,
- "pc": [
- 82
- ]
- },
- {
- "teal": 52,
- "source": 1218,
- "pc": [
- 83
- ]
- },
- {
- "teal": 55,
- "source": 1217,
- "pc": [
- 84
- ]
- },
- {
- "teal": 56,
- "source": 1217,
- "pc": [
- 85
- ]
- },
- {
- "teal": 59,
- "source": 1217,
- "pc": [
- 86,
- 87,
- 88,
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 60,
- "source": 1217,
- "pc": [
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 61,
- "source": 1217,
- "pc": [
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 64,
- "source": 1217,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 99
- ]
- },
- {
- "teal": 67,
- "source": 1217,
- "pc": [
- 100,
- 101,
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 68,
- "source": 1217,
- "pc": [
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 69,
- "source": 1217,
- "pc": [
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 72,
- "source": 1217,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 113
- ]
- },
- {
- "teal": 75,
- "source": 1217,
- "pc": [
- 114,
- 115,
- 116
- ]
- },
- {
- "teal": 76,
- "source": 1217,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 77,
- "source": 1217,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 78,
- "source": 1217,
- "pc": [
- 121
- ]
- },
- {
- "teal": 79,
- "source": 1217,
- "pc": [
- 122,
- 123
- ]
- },
- {
- "teal": 80,
- "source": 1217,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 81,
- "source": 1217,
- "pc": [
- 126
- ]
- },
- {
- "teal": 82,
- "source": 1217,
- "pc": [
- 127
- ]
- },
- {
- "teal": 83,
- "source": 1217,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 84,
- "source": 1217,
- "pc": [
- 130
- ]
- },
- {
- "teal": 85,
- "source": 1217,
- "pc": [
- 131
- ]
- },
- {
- "teal": 86,
- "source": 1217,
- "pc": [
- 132
- ]
- },
- {
- "teal": 87,
- "source": 1217,
- "pc": [
- 133,
- 134,
- 135
- ]
- },
- {
- "teal": 88,
- "source": 1217,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 89,
- "source": 1217,
- "pc": [
- 138,
- 139
- ]
- },
- {
- "teal": 90,
- "source": 1217,
- "pc": [
- 140
- ]
- },
- {
- "teal": 91,
- "source": 1217,
- "pc": [
- 141
- ]
- },
- {
- "teal": 92,
- "source": 1217,
- "pc": [
- 142,
- 143
- ]
- },
- {
- "teal": 93,
- "source": 1217,
- "pc": [
- 144,
- 145
- ]
- },
- {
- "teal": 94,
- "source": 1217,
- "pc": [
- 146,
- 147
- ]
- },
- {
- "teal": 95,
- "source": 1217,
- "pc": [
- 148,
- 149
- ]
- },
- {
- "teal": 96,
- "source": 1217,
- "pc": [
- 150
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1217,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1217,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1217,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1217,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1217,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1217,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1217,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1217,
+ "pc": [
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1217,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 42
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1218,
+ "pc": [
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1218,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1218,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1218,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1218,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1218,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1218,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1219,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1219,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1219,
+ "pc": [
+ 61,
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1219,
+ "pc": [
+ 65,
+ 66,
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1219,
+ "pc": [
+ 70,
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1219,
+ "pc": [
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1219,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1219,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1219,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1218,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1217,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1217,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1217,
+ "pc": [
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1217,
+ "pc": [
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1217,
+ "pc": [
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1217,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1217,
+ "pc": [
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1217,
+ "pc": [
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1217,
+ "pc": [
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1217,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1217,
+ "pc": [
+ 114,
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1217,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1217,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1217,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1217,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1217,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1217,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1217,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1217,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1217,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1217,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1217,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1217,
+ "pc": [
+ 133,
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1217,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1217,
+ "pc": [
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1217,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1217,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1217,
+ "pc": [
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1217,
+ "pc": [
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1217,
+ "pc": [
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1217,
+ "pc": [
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1217,
+ "pc": [
+ 150
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoqYWJpX3JvdXRlX211bHRpQnl0ZXNUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoJY2FsbHN1YiBtdWx0aUJ5dGVzVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aUJ5dGVzVHVwbGUoKTogW2J5dGVzLCBieXRlc10KbXVsdGlCeXRlc1R1cGxlOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMTkKCS8vIHJldHVybiBbaGV4KCcweDAxJyksIGhleCgnMHgwMicpXTsKCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEwMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm11bHRpQnl0ZXNUdXBsZSgpKGJ5dGVbXSxieXRlW10pIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aUJ5dGVzVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoqYWJpX3JvdXRlX211bHRpQnl0ZXNUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoJY2FsbHN1YiBtdWx0aUJ5dGVzVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aUJ5dGVzVHVwbGUoKTogW2J5dGVzLCBieXRlc10KbXVsdGlCeXRlc1R1cGxlOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMTkKCS8vIHJldHVybiBbaGV4KCcweDAxJyksIGhleCgnMHgwMicpXTsKCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEwMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm11bHRpQnl0ZXNUdXBsZSgpKGJ5dGVbXSxieXRlW10pIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aUJ5dGVzVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.approval.teal b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.approval.teal
index 5a3d25b7b..5de2488db 100644
--- a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.approval.teal
+++ b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc32.json b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc32.json
index ca653a089..471ea728d 100644
--- a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc32.json
+++ b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aU5lc3RlZEFycmF5UmVmKCl1aW50OFsyXVsyXVsyXQoqYWJpX3JvdXRlX211bHRpTmVzdGVkQXJyYXlSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KCWNhbGxzdWIgbXVsdGlOZXN0ZWRBcnJheVJlZgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG11bHRpTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+LCAyPgptdWx0aU5lc3RlZEFycmF5UmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzkzCgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMSwgMl0sCgkvLyAgICAgICAgIFszLCA0XSwKCS8vICAgICAgIF0sCgkvLyAgICAgICBbCgkvLyAgICAgICAgIFs1LCA2XSwKCS8vICAgICAgICAgWzcsIDhdLAoJLy8gICAgICAgXSwKCS8vICAgICBdCglieXRlIDB4MDEwMjAzMDQwNTA2MDcwOAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA0CgkvLyBiID0gYVsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgwNQoJLy8gYyA9IGJbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MDcKCS8vIGNbMV0gPSA5IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCWJ5dGUgMHgwOQoJcmVwbGFjZTIgNwoJZnJhbWVfYnVyeSAwIC8vIGM6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm11bHRpTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aU5lc3RlZEFycmF5UmVmKCl1aW50OFsyXVsyXVsyXQoqYWJpX3JvdXRlX211bHRpTmVzdGVkQXJyYXlSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KCWNhbGxzdWIgbXVsdGlOZXN0ZWRBcnJheVJlZgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG11bHRpTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+LCAyPgptdWx0aU5lc3RlZEFycmF5UmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzkzCgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMSwgMl0sCgkvLyAgICAgICAgIFszLCA0XSwKCS8vICAgICAgIF0sCgkvLyAgICAgICBbCgkvLyAgICAgICAgIFs1LCA2XSwKCS8vICAgICAgICAgWzcsIDhdLAoJLy8gICAgICAgXSwKCS8vICAgICBdCglieXRlIDB4MDEwMjAzMDQwNTA2MDcwOAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA0CgkvLyBiID0gYVsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgwNQoJLy8gYyA9IGJbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MDcKCS8vIGNbMV0gPSA5IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCWJ5dGUgMHgwOQoJcmVwbGFjZTIgNwoJZnJhbWVfYnVyeSAwIC8vIGM6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm11bHRpTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc56_draft.json b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc56_draft.json
index 7706e563d..06d2d6ac4 100644
--- a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc56_draft.json
@@ -60,343 +60,346 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 791,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 791,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 791,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 791,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 791,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 791,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 791,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 791,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 791,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 792,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 792,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 792,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 792,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 792,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 792,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 792,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 792,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 55,
- "source": 793,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 56,
- "source": 793,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 64,
- "source": 807,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 65,
- "source": 807,
- "pc": [
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 66,
- "source": 807,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 67,
- "source": 807,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 71,
- "source": 809,
- "pc": [
- 79,
- 80
- ]
- },
- {
- "teal": 74,
- "source": 792,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 75,
- "source": 792,
- "pc": [
- 83
- ]
- },
- {
- "teal": 78,
- "source": 791,
- "pc": [
- 84
- ]
- },
- {
- "teal": 79,
- "source": 791,
- "pc": [
- 85
- ]
- },
- {
- "teal": 82,
- "source": 791,
- "pc": [
- 86,
- 87,
- 88,
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 83,
- "source": 791,
- "pc": [
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 84,
- "source": 791,
- "pc": [
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 87,
- "source": 791,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 99
- ]
- },
- {
- "teal": 90,
- "source": 791,
- "pc": [
- 100,
- 101,
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 91,
- "source": 791,
- "pc": [
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 92,
- "source": 791,
- "pc": [
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 95,
- "source": 791,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 113
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 791,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 791,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 791,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 791,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 791,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 791,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 791,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 791,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 791,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 792,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 792,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 792,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 792,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 792,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 792,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 792,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 792,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 793,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 793,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 807,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 807,
+ "pc": [
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 807,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 807,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 809,
+ "pc": [
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 792,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 792,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 791,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 791,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 791,
+ "pc": [
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 791,
+ "pc": [
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 791,
+ "pc": [
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 791,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 791,
+ "pc": [
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 791,
+ "pc": [
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 791,
+ "pc": [
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 791,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 113
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aU5lc3RlZEFycmF5UmVmKCl1aW50OFsyXVsyXVsyXQoqYWJpX3JvdXRlX211bHRpTmVzdGVkQXJyYXlSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KCWNhbGxzdWIgbXVsdGlOZXN0ZWRBcnJheVJlZgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG11bHRpTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+LCAyPgptdWx0aU5lc3RlZEFycmF5UmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzkzCgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMSwgMl0sCgkvLyAgICAgICAgIFszLCA0XSwKCS8vICAgICAgIF0sCgkvLyAgICAgICBbCgkvLyAgICAgICAgIFs1LCA2XSwKCS8vICAgICAgICAgWzcsIDhdLAoJLy8gICAgICAgXSwKCS8vICAgICBdCglieXRlIDB4MDEwMjAzMDQwNTA2MDcwOAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA0CgkvLyBiID0gYVsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgwNQoJLy8gYyA9IGJbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MDcKCS8vIGNbMV0gPSA5IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCWJ5dGUgMHgwOQoJcmVwbGFjZTIgNwoJZnJhbWVfYnVyeSAwIC8vIGM6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm11bHRpTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aU5lc3RlZEFycmF5UmVmKCl1aW50OFsyXVsyXVsyXQoqYWJpX3JvdXRlX211bHRpTmVzdGVkQXJyYXlSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KCWNhbGxzdWIgbXVsdGlOZXN0ZWRBcnJheVJlZgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG11bHRpTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+LCAyPgptdWx0aU5lc3RlZEFycmF5UmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzkzCgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMSwgMl0sCgkvLyAgICAgICAgIFszLCA0XSwKCS8vICAgICAgIF0sCgkvLyAgICAgICBbCgkvLyAgICAgICAgIFs1LCA2XSwKCS8vICAgICAgICAgWzcsIDhdLAoJLy8gICAgICAgXSwKCS8vICAgICBdCglieXRlIDB4MDEwMjAzMDQwNTA2MDcwOAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA0CgkvLyBiID0gYVsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgwNQoJLy8gYyA9IGJbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MDcKCS8vIGNbMV0gPSA5IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCWJ5dGUgMHgwOQoJcmVwbGFjZTIgNwoJZnJhbWVfYnVyeSAwIC8vIGM6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm11bHRpTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNamedTuple.approval.teal b/tests/contracts/artifacts/ABITestNamedTuple.approval.teal
index a09600637..bb12d2577 100644
--- a/tests/contracts/artifacts/ABITestNamedTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestNamedTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNamedTuple.arc32.json b/tests/contracts/artifacts/ABITestNamedTuple.arc32.json
index 13d5998b5..5dbb2dd5f 100644
--- a/tests/contracts/artifacts/ABITestNamedTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestNamedTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuYW1lZFR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV9uYW1lZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5hbWVkVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBuYW1lZFR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5hbWVkVHVwbGUoKTogc3RyaW5nCm5hbWVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MDIKCS8vIGE6IHsKCS8vICAgICAgIGZvbzogdWludDE2OwoJLy8gICAgICAgYmFyOiBzdHJpbmc7CgkvLyAgICAgfSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hlbGxvIFdvcmxkIScsCgkvLyAgICAgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjEwCgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuYW1lZFR1cGxlKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25hbWVkVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuYW1lZFR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV9uYW1lZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5hbWVkVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBuYW1lZFR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5hbWVkVHVwbGUoKTogc3RyaW5nCm5hbWVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MDIKCS8vIGE6IHsKCS8vICAgICAgIGZvbzogdWludDE2OwoJLy8gICAgICAgYmFyOiBzdHJpbmc7CgkvLyAgICAgfSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hlbGxvIFdvcmxkIScsCgkvLyAgICAgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjEwCgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuYW1lZFR1cGxlKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25hbWVkVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNamedTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestNamedTuple.arc56_draft.json
index fa8313422..78d5dd608 100644
--- a/tests/contracts/artifacts/ABITestNamedTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNamedTuple.arc56_draft.json
@@ -60,772 +60,775 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 600,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7
- ]
- },
- {
- "teal": 13,
- "source": 600,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 14,
- "source": 600,
- "pc": [
- 10
- ]
- },
- {
- "teal": 15,
- "source": 600,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 16,
- "source": 600,
- "pc": [
- 13
- ]
- },
- {
- "teal": 17,
- "source": 600,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 18,
- "source": 600,
- "pc": [
- 16
- ]
- },
- {
- "teal": 19,
- "source": 600,
- "pc": [
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 23,
- "source": 600,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 43
- ]
- },
- {
- "teal": 28,
- "source": 601,
- "pc": [
- 44,
- 45,
- 46,
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 31,
- "source": 601,
- "pc": [
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 32,
- "source": 601,
- "pc": [
- 53
- ]
- },
- {
- "teal": 33,
- "source": 601,
- "pc": [
- 54
- ]
- },
- {
- "teal": 34,
- "source": 601,
- "pc": [
- 55
- ]
- },
- {
- "teal": 35,
- "source": 601,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 36,
- "source": 601,
- "pc": [
- 59
- ]
- },
- {
- "teal": 37,
- "source": 601,
- "pc": [
- 60
- ]
- },
- {
- "teal": 38,
- "source": 601,
- "pc": [
- 61
- ]
- },
- {
- "teal": 39,
- "source": 601,
- "pc": [
- 62
- ]
- },
- {
- "teal": 40,
- "source": 601,
- "pc": [
- 63
- ]
- },
- {
- "teal": 41,
- "source": 601,
- "pc": [
- 64
- ]
- },
- {
- "teal": 45,
- "source": 601,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 48,
- "source": 601,
- "pc": [
- 68
- ]
- },
- {
- "teal": 58,
- "source": 605,
- "pc": [
- 69
- ]
- },
- {
- "teal": 59,
- "source": 605,
- "pc": [
- 70
- ]
- },
- {
- "teal": 60,
- "source": 605,
- "pc": [
- 71,
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 61,
- "source": 606,
- "pc": [
- 75,
- 76,
- 77,
- 78
- ]
- },
- {
- "teal": 62,
- "source": 606,
- "pc": [
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 63,
- "source": 607,
- "pc": [
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 64,
- "source": 607,
- "pc": [
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 65,
- "source": 605,
- "pc": [
- 101
- ]
- },
- {
- "teal": 66,
- "source": 605,
- "pc": [
- 102
- ]
- },
- {
- "teal": 67,
- "source": 602,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 71,
- "source": 610,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 72,
- "source": 610,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 73,
- "source": 610,
- "pc": [
- 109
- ]
- },
- {
- "teal": 74,
- "source": 610,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 75,
- "source": 610,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 76,
- "source": 610,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 77,
- "source": 610,
- "pc": [
- 116
- ]
- },
- {
- "teal": 78,
- "source": 610,
- "pc": [
- 117
- ]
- },
- {
- "teal": 79,
- "source": 610,
- "pc": [
- 118,
- 119
- ]
- },
- {
- "teal": 80,
- "source": 610,
- "pc": [
- 120
- ]
- },
- {
- "teal": 81,
- "source": 610,
- "pc": [
- 121
- ]
- },
- {
- "teal": 82,
- "source": 610,
- "pc": [
- 122
- ]
- },
- {
- "teal": 83,
- "source": 610,
- "pc": [
- 123
- ]
- },
- {
- "teal": 84,
- "source": 610,
- "pc": [
- 124
- ]
- },
- {
- "teal": 85,
- "source": 610,
- "pc": [
- 125
- ]
- },
- {
- "teal": 86,
- "source": 610,
- "pc": [
- 126
- ]
- },
- {
- "teal": 87,
- "source": 610,
- "pc": [
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 90,
- "source": 601,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 91,
- "source": 601,
- "pc": [
- 132
- ]
- },
- {
- "teal": 94,
- "source": 600,
- "pc": [
- 133
- ]
- },
- {
- "teal": 95,
- "source": 600,
- "pc": [
- 134
- ]
- },
- {
- "teal": 98,
- "source": 600,
- "pc": [
- 135,
- 136,
- 137,
- 138,
- 139,
- 140
- ]
- },
- {
- "teal": 99,
- "source": 600,
- "pc": [
- 141,
- 142,
- 143
- ]
- },
- {
- "teal": 100,
- "source": 600,
- "pc": [
- 144,
- 145,
- 146,
- 147
- ]
- },
- {
- "teal": 103,
- "source": 600,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 148
- ]
- },
- {
- "teal": 106,
- "source": 600,
- "pc": [
- 149,
- 150,
- 151,
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 107,
- "source": 600,
- "pc": [
- 155,
- 156,
- 157
- ]
- },
- {
- "teal": 108,
- "source": 600,
- "pc": [
- 158,
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 111,
- "source": 600,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 162
- ]
- },
- {
- "teal": 114,
- "source": 600,
- "pc": [
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 115,
- "source": 600,
- "pc": [
- 166,
- 167
- ]
- },
- {
- "teal": 116,
- "source": 600,
- "pc": [
- 168,
- 169
- ]
- },
- {
- "teal": 117,
- "source": 600,
- "pc": [
- 170
- ]
- },
- {
- "teal": 118,
- "source": 600,
- "pc": [
- 171,
- 172
- ]
- },
- {
- "teal": 119,
- "source": 600,
- "pc": [
- 173,
- 174
- ]
- },
- {
- "teal": 120,
- "source": 600,
- "pc": [
- 175
- ]
- },
- {
- "teal": 123,
- "source": 600,
- "pc": [
- 176,
- 177,
- 178
- ]
- },
- {
- "teal": 124,
- "source": 600,
- "pc": [
- 179,
- 180
- ]
- },
- {
- "teal": 125,
- "source": 600,
- "pc": [
- 181,
- 182
- ]
- },
- {
- "teal": 126,
- "source": 600,
- "pc": [
- 183
- ]
- },
- {
- "teal": 127,
- "source": 600,
- "pc": [
- 184,
- 185
- ]
- },
- {
- "teal": 128,
- "source": 600,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 129,
- "source": 600,
- "pc": [
- 188
- ]
- },
- {
- "teal": 130,
- "source": 600,
- "pc": [
- 189
- ]
- },
- {
- "teal": 131,
- "source": 600,
- "pc": [
- 190,
- 191
- ]
- },
- {
- "teal": 132,
- "source": 600,
- "pc": [
- 192
- ]
- },
- {
- "teal": 133,
- "source": 600,
- "pc": [
- 193
- ]
- },
- {
- "teal": 134,
- "source": 600,
- "pc": [
- 194
- ]
- },
- {
- "teal": 135,
- "source": 600,
- "pc": [
- 195,
- 196,
- 197
- ]
- },
- {
- "teal": 136,
- "source": 600,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 137,
- "source": 600,
- "pc": [
- 200,
- 201
- ]
- },
- {
- "teal": 138,
- "source": 600,
- "pc": [
- 202
- ]
- },
- {
- "teal": 139,
- "source": 600,
- "pc": [
- 203
- ]
- },
- {
- "teal": 140,
- "source": 600,
- "pc": [
- 204,
- 205
- ]
- },
- {
- "teal": 141,
- "source": 600,
- "pc": [
- 206,
- 207
- ]
- },
- {
- "teal": 142,
- "source": 600,
- "pc": [
- 208,
- 209
- ]
- },
- {
- "teal": 143,
- "source": 600,
- "pc": [
- 210,
- 211
- ]
- },
- {
- "teal": 144,
- "source": 600,
- "pc": [
- 212
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 600,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 600,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 600,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 600,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 600,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 600,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 600,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 600,
+ "pc": [
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 600,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 601,
+ "pc": [
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 601,
+ "pc": [
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 601,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 601,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 601,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 601,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 601,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 601,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 601,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 601,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 601,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 601,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 601,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 601,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 605,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 605,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 605,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 606,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 606,
+ "pc": [
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 607,
+ "pc": [
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 607,
+ "pc": [
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 605,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 605,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 602,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 610,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 610,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 610,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 610,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 610,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 610,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 610,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 610,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 610,
+ "pc": [
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 610,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 610,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 610,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 610,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 610,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 610,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 610,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 610,
+ "pc": [
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 601,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 601,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 600,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 600,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 600,
+ "pc": [
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 600,
+ "pc": [
+ 141,
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 600,
+ "pc": [
+ 144,
+ 145,
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 600,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 600,
+ "pc": [
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 600,
+ "pc": [
+ 155,
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 600,
+ "pc": [
+ 158,
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 600,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 600,
+ "pc": [
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 600,
+ "pc": [
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 600,
+ "pc": [
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 600,
+ "pc": [
+ 170
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 600,
+ "pc": [
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 600,
+ "pc": [
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 600,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 600,
+ "pc": [
+ 176,
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 600,
+ "pc": [
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 600,
+ "pc": [
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 600,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 600,
+ "pc": [
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 600,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 600,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 600,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 600,
+ "pc": [
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 600,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 600,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 600,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 600,
+ "pc": [
+ 195,
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 600,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 600,
+ "pc": [
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 600,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 600,
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 600,
+ "pc": [
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 600,
+ "pc": [
+ 206,
+ 207
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 600,
+ "pc": [
+ 208,
+ 209
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 600,
+ "pc": [
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 600,
+ "pc": [
+ 212
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuYW1lZFR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV9uYW1lZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5hbWVkVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBuYW1lZFR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5hbWVkVHVwbGUoKTogc3RyaW5nCm5hbWVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MDIKCS8vIGE6IHsKCS8vICAgICAgIGZvbzogdWludDE2OwoJLy8gICAgICAgYmFyOiBzdHJpbmc7CgkvLyAgICAgfSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hlbGxvIFdvcmxkIScsCgkvLyAgICAgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjEwCgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuYW1lZFR1cGxlKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25hbWVkVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuYW1lZFR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV9uYW1lZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5hbWVkVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBuYW1lZFR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5hbWVkVHVwbGUoKTogc3RyaW5nCm5hbWVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MDIKCS8vIGE6IHsKCS8vICAgICAgIGZvbzogdWludDE2OwoJLy8gICAgICAgYmFyOiBzdHJpbmc7CgkvLyAgICAgfSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hlbGxvIFdvcmxkIScsCgkvLyAgICAgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjEwCgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuYW1lZFR1cGxlKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25hbWVkVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.approval.teal b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.approval.teal
index b62378d42..66d50580b 100644
--- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc32.json b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc32.json
index 09d1b1e0c..bf98d8da8 100644
--- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0KCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpOiB1aW50NjQKbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MjYKCS8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfSA9IHsgZm9vOiBbMTEsIDIyLCAzMywgNDQsIDU1XSB9CglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDI4CgkvLyByZXR1cm4gYS5mb28ubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0KCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpOiB1aW50NjQKbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MjYKCS8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfSA9IHsgZm9vOiBbMTEsIDIyLCAzMywgNDQsIDU1XSB9CglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDI4CgkvLyByZXR1cm4gYS5mb28ubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc56_draft.json
index 28edfd73a..86cef0458 100644
--- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc56_draft.json
@@ -60,322 +60,325 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1424,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1424,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1424,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1424,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1424,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1424,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1424,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1424,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1424,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1425,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1425,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1425,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1425,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1425,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1425,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 1425,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 1425,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 1425,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 1426,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 48,
- "source": 1426,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 52,
- "source": 1428,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 53,
- "source": 1428,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 56,
- "source": 1425,
- "pc": [
- 72,
- 73
- ]
- },
- {
- "teal": 57,
- "source": 1425,
- "pc": [
- 74
- ]
- },
- {
- "teal": 60,
- "source": 1424,
- "pc": [
- 75
- ]
- },
- {
- "teal": 61,
- "source": 1424,
- "pc": [
- 76
- ]
- },
- {
- "teal": 64,
- "source": 1424,
- "pc": [
- 77,
- 78,
- 79,
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 65,
- "source": 1424,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 66,
- "source": 1424,
- "pc": [
- 86,
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 69,
- "source": 1424,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 90
- ]
- },
- {
- "teal": 72,
- "source": 1424,
- "pc": [
- 91,
- 92,
- 93,
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 73,
- "source": 1424,
- "pc": [
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 74,
- "source": 1424,
- "pc": [
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 77,
- "source": 1424,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 104
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1424,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1424,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1424,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1424,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1424,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1424,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1424,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1424,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1424,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1425,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1425,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1425,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1425,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1425,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1425,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1425,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1425,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1425,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1426,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1426,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1428,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1428,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1425,
+ "pc": [
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1425,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1424,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1424,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1424,
+ "pc": [
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1424,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1424,
+ "pc": [
+ 86,
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1424,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1424,
+ "pc": [
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1424,
+ "pc": [
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1424,
+ "pc": [
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1424,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 104
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0KCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpOiB1aW50NjQKbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MjYKCS8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfSA9IHsgZm9vOiBbMTEsIDIyLCAzMywgNDQsIDU1XSB9CglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDI4CgkvLyByZXR1cm4gYS5mb28ubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0KCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpOiB1aW50NjQKbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MjYKCS8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfSA9IHsgZm9vOiBbMTEsIDIyLCAzMywgNDQsIDU1XSB9CglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDI4CgkvLyByZXR1cm4gYS5mb28ubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.approval.teal b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.approval.teal
index 4c383c42a..0151cdf1b 100644
--- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc32.json b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc32.json
index eae3a5cd8..7e8943214 100644
--- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKTogdWludDY0Cm5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MzQKCS8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfSA9IHsgZm9vOiBbMTEsIDIyLCAzMywgNDQsIDU1XSB9CglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDM3CgkvLyByZXR1cm4gYi5sZW5ndGg7CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKTogdWludDY0Cm5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MzQKCS8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfSA9IHsgZm9vOiBbMTEsIDIyLCAzMywgNDQsIDU1XSB9CglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDM3CgkvLyByZXR1cm4gYi5sZW5ndGg7CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc56_draft.json
index 507e75935..b58e9353f 100644
--- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc56_draft.json
@@ -60,314 +60,317 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1432,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1432,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1432,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1432,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1432,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1432,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1432,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1432,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1432,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1433,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1433,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1433,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1433,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1433,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1433,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 1433,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 1433,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 1433,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 1434,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 48,
- "source": 1434,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 52,
- "source": 1437,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 55,
- "source": 1433,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 56,
- "source": 1433,
- "pc": [
- 72
- ]
- },
- {
- "teal": 59,
- "source": 1432,
- "pc": [
- 73
- ]
- },
- {
- "teal": 60,
- "source": 1432,
- "pc": [
- 74
- ]
- },
- {
- "teal": 63,
- "source": 1432,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 64,
- "source": 1432,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 65,
- "source": 1432,
- "pc": [
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 68,
- "source": 1432,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 88
- ]
- },
- {
- "teal": 71,
- "source": 1432,
- "pc": [
- 89,
- 90,
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 72,
- "source": 1432,
- "pc": [
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 73,
- "source": 1432,
- "pc": [
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 76,
- "source": 1432,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 102
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1432,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1432,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1432,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1432,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1432,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1432,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1432,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1432,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1432,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1433,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1433,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1433,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1433,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1433,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1433,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1433,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1433,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1433,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1434,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1434,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1437,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1433,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1433,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1432,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1432,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1432,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1432,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1432,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1432,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1432,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1432,
+ "pc": [
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1432,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1432,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 102
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKTogdWludDY0Cm5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MzQKCS8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfSA9IHsgZm9vOiBbMTEsIDIyLCAzMywgNDQsIDU1XSB9CglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDM3CgkvLyByZXR1cm4gYi5sZW5ndGg7CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKTogdWludDY0Cm5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MzQKCS8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfSA9IHsgZm9vOiBbMTEsIDIyLCAzMywgNDQsIDU1XSB9CglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDM3CgkvLyByZXR1cm4gYi5sZW5ndGg7CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedArrayRef.approval.teal b/tests/contracts/artifacts/ABITestNestedArrayRef.approval.teal
index 603f2f3cf..f80c6ce09 100644
--- a/tests/contracts/artifacts/ABITestNestedArrayRef.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedArrayRef.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedArrayRef.arc32.json b/tests/contracts/artifacts/ABITestNestedArrayRef.arc32.json
index 07e28f8cd..fb2c9488b 100644
--- a/tests/contracts/artifacts/ABITestNestedArrayRef.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedArrayRef.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheVJlZigpOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KbmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NjEKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiA9IFsKCS8vICAgICAgIFsxLCAyXSwKCS8vICAgICAgIFszLCA0XSwKCS8vICAgICBdCglieXRlIDB4MDEwMjAzMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY1CgkvLyBiID0gYVsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2NwoJLy8gYlsxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CglieXRlIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheVJlZigpOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KbmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NjEKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiA9IFsKCS8vICAgICAgIFsxLCAyXSwKCS8vICAgICAgIFszLCA0XSwKCS8vICAgICBdCglieXRlIDB4MDEwMjAzMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY1CgkvLyBiID0gYVsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2NwoJLy8gYlsxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CglieXRlIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedArrayRef.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedArrayRef.arc56_draft.json
index da4790051..512e9e2ba 100644
--- a/tests/contracts/artifacts/ABITestNestedArrayRef.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedArrayRef.arc56_draft.json
@@ -60,339 +60,342 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 759,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 759,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 759,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 759,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 759,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 759,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 759,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 759,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 759,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 760,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 760,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 760,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 760,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 760,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 760,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 760,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 760,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 49,
- "source": 761,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 50,
- "source": 761,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 56,
- "source": 767,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 57,
- "source": 767,
- "pc": [
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 58,
- "source": 767,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 59,
- "source": 767,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 63,
- "source": 769,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 66,
- "source": 760,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 67,
- "source": 760,
- "pc": [
- 79
- ]
- },
- {
- "teal": 70,
- "source": 759,
- "pc": [
- 80
- ]
- },
- {
- "teal": 71,
- "source": 759,
- "pc": [
- 81
- ]
- },
- {
- "teal": 74,
- "source": 759,
- "pc": [
- 82,
- 83,
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 75,
- "source": 759,
- "pc": [
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 76,
- "source": 759,
- "pc": [
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 79,
- "source": 759,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 95
- ]
- },
- {
- "teal": 82,
- "source": 759,
- "pc": [
- 96,
- 97,
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 83,
- "source": 759,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 84,
- "source": 759,
- "pc": [
- 105,
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 87,
- "source": 759,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 109
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 759,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 759,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 759,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 759,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 759,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 759,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 759,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 759,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 759,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 760,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 760,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 760,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 760,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 760,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 760,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 760,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 760,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 761,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 761,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 767,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 767,
+ "pc": [
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 767,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 767,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 769,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 760,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 760,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 759,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 759,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 759,
+ "pc": [
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 759,
+ "pc": [
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 759,
+ "pc": [
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 759,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 759,
+ "pc": [
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 759,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 759,
+ "pc": [
+ 105,
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 759,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 109
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheVJlZigpOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KbmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NjEKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiA9IFsKCS8vICAgICAgIFsxLCAyXSwKCS8vICAgICAgIFszLCA0XSwKCS8vICAgICBdCglieXRlIDB4MDEwMjAzMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY1CgkvLyBiID0gYVsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2NwoJLy8gYlsxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CglieXRlIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheVJlZigpOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KbmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NjEKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiA9IFsKCS8vICAgICAgIFsxLCAyXSwKCS8vICAgICAgIFszLCA0XSwKCS8vICAgICBdCglieXRlIDB4MDEwMjAzMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY1CgkvLyBiID0gYVsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2NwoJLy8gYlsxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CglieXRlIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedObject.approval.teal b/tests/contracts/artifacts/ABITestNestedObject.approval.teal
index c31844d01..c25a9a9d2 100644
--- a/tests/contracts/artifacts/ABITestNestedObject.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedObject.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedObject.arc32.json b/tests/contracts/artifacts/ABITestNestedObject.arc32.json
index e6de42367..349bcbdd1 100644
--- a/tests/contracts/artifacts/ABITestNestedObject.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedObject.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZE9iamVjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRPYmplY3QoKTogdWludDY0Cm5lc3RlZE9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODYKCS8vIGE6IHsgYjogeyBjOiB7IGQ6IHVpbnQ2NCB9IH0gfSA9IHsgYjogeyBjOiB7IGQ6IDEgfSB9IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODcKCS8vIGEuYi5jLmQgPSAyCglmcmFtZV9kaWcgMCAvLyBhOiB7IGI6IHsgYzogeyBkOiB1aW50NjQgfSB9IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODgKCS8vIHJldHVybiBhLmIuYy5kOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglleHRyYWN0IDAgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZE9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZE9iamVjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRPYmplY3QoKTogdWludDY0Cm5lc3RlZE9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODYKCS8vIGE6IHsgYjogeyBjOiB7IGQ6IHVpbnQ2NCB9IH0gfSA9IHsgYjogeyBjOiB7IGQ6IDEgfSB9IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODcKCS8vIGEuYi5jLmQgPSAyCglmcmFtZV9kaWcgMCAvLyBhOiB7IGI6IHsgYzogeyBkOiB1aW50NjQgfSB9IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODgKCS8vIHJldHVybiBhLmIuYy5kOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglleHRyYWN0IDAgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZE9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedObject.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedObject.arc56_draft.json
index fad376016..16e80477c 100644
--- a/tests/contracts/artifacts/ABITestNestedObject.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedObject.arc56_draft.json
@@ -60,373 +60,376 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1084,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1084,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1084,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1084,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1084,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1084,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1084,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1084,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1084,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1085,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1085,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1085,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1085,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1085,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1085,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 1085,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 1085,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 1085,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 1086,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 48,
- "source": 1086,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 52,
- "source": 1087,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 53,
- "source": 1087,
- "pc": [
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 54,
- "source": 1087,
- "pc": [
- 83,
- 84
- ]
- },
- {
- "teal": 55,
- "source": 1087,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 59,
- "source": 1088,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 60,
- "source": 1088,
- "pc": [
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 61,
- "source": 1088,
- "pc": [
- 92
- ]
- },
- {
- "teal": 64,
- "source": 1085,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 65,
- "source": 1085,
- "pc": [
- 95
- ]
- },
- {
- "teal": 68,
- "source": 1084,
- "pc": [
- 96
- ]
- },
- {
- "teal": 69,
- "source": 1084,
- "pc": [
- 97
- ]
- },
- {
- "teal": 72,
- "source": 1084,
- "pc": [
- 98,
- 99,
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 73,
- "source": 1084,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 74,
- "source": 1084,
- "pc": [
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 77,
- "source": 1084,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 111
- ]
- },
- {
- "teal": 80,
- "source": 1084,
- "pc": [
- 112,
- 113,
- 114,
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 81,
- "source": 1084,
- "pc": [
- 118,
- 119,
- 120
- ]
- },
- {
- "teal": 82,
- "source": 1084,
- "pc": [
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 85,
- "source": 1084,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 125
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1084,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1084,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1084,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1084,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1084,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1084,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1084,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1084,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1084,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1085,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1085,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1085,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1085,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1085,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1085,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1085,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1085,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1085,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1086,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1086,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1087,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1087,
+ "pc": [
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1087,
+ "pc": [
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1087,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1088,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1088,
+ "pc": [
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1088,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1085,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1085,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1084,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1084,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1084,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1084,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1084,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1084,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1084,
+ "pc": [
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1084,
+ "pc": [
+ 118,
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1084,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1084,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 125
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZE9iamVjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRPYmplY3QoKTogdWludDY0Cm5lc3RlZE9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODYKCS8vIGE6IHsgYjogeyBjOiB7IGQ6IHVpbnQ2NCB9IH0gfSA9IHsgYjogeyBjOiB7IGQ6IDEgfSB9IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODcKCS8vIGEuYi5jLmQgPSAyCglmcmFtZV9kaWcgMCAvLyBhOiB7IGI6IHsgYzogeyBkOiB1aW50NjQgfSB9IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODgKCS8vIHJldHVybiBhLmIuYy5kOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglleHRyYWN0IDAgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZE9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZE9iamVjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRPYmplY3QoKTogdWludDY0Cm5lc3RlZE9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODYKCS8vIGE6IHsgYjogeyBjOiB7IGQ6IHVpbnQ2NCB9IH0gfSA9IHsgYjogeyBjOiB7IGQ6IDEgfSB9IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODcKCS8vIGEuYi5jLmQgPSAyCglmcmFtZV9kaWcgMCAvLyBhOiB7IGI6IHsgYzogeyBkOiB1aW50NjQgfSB9IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODgKCS8vIHJldHVybiBhLmIuYy5kOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglleHRyYWN0IDAgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibmVzdGVkT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZE9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedObjectType.approval.teal b/tests/contracts/artifacts/ABITestNestedObjectType.approval.teal
index dc041dfda..d77ae620c 100644
--- a/tests/contracts/artifacts/ABITestNestedObjectType.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedObjectType.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedObjectType.arc32.json b/tests/contracts/artifacts/ABITestNestedObjectType.arc32.json
index 9c142c363..c68ca9fa2 100644
--- a/tests/contracts/artifacts/ABITestNestedObjectType.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedObjectType.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRPYmplY3RUeXBlKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRPYmplY3RUeXBlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3RUeXBlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpOiB1aW50NjQKbmVzdGVkT2JqZWN0VHlwZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwOTYKCS8vIGE6IFQ0ID0geyBiOiB7IGM6IHsgZDogMSB9IH0gfQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCWZyYW1lX2J1cnkgMCAvLyBhOiBUNAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDk3CgkvLyBhLmIuYy5kID0gMgoJZnJhbWVfZGlnIDAgLy8gYTogVDQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5OAoJLy8gcmV0dXJuIGEuYi5jLmQ7CglmcmFtZV9kaWcgMCAvLyBhOiBUNAoJZXh0cmFjdCAwIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRPYmplY3RUeXBlKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRPYmplY3RUeXBlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3RUeXBlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpOiB1aW50NjQKbmVzdGVkT2JqZWN0VHlwZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwOTYKCS8vIGE6IFQ0ID0geyBiOiB7IGM6IHsgZDogMSB9IH0gfQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCWZyYW1lX2J1cnkgMCAvLyBhOiBUNAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDk3CgkvLyBhLmIuYy5kID0gMgoJZnJhbWVfZGlnIDAgLy8gYTogVDQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5OAoJLy8gcmV0dXJuIGEuYi5jLmQ7CglmcmFtZV9kaWcgMCAvLyBhOiBUNAoJZXh0cmFjdCAwIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedObjectType.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedObjectType.arc56_draft.json
index 3ca5e30ff..54176579c 100644
--- a/tests/contracts/artifacts/ABITestNestedObjectType.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedObjectType.arc56_draft.json
@@ -60,373 +60,376 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1094,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1094,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1094,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1094,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1094,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1094,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1094,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1094,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1094,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1095,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1095,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1095,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1095,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1095,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1095,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 1095,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 1095,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 1095,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 1096,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 48,
- "source": 1096,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 52,
- "source": 1097,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 53,
- "source": 1097,
- "pc": [
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 54,
- "source": 1097,
- "pc": [
- 83,
- 84
- ]
- },
- {
- "teal": 55,
- "source": 1097,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 59,
- "source": 1098,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 60,
- "source": 1098,
- "pc": [
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 61,
- "source": 1098,
- "pc": [
- 92
- ]
- },
- {
- "teal": 64,
- "source": 1095,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 65,
- "source": 1095,
- "pc": [
- 95
- ]
- },
- {
- "teal": 68,
- "source": 1094,
- "pc": [
- 96
- ]
- },
- {
- "teal": 69,
- "source": 1094,
- "pc": [
- 97
- ]
- },
- {
- "teal": 72,
- "source": 1094,
- "pc": [
- 98,
- 99,
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 73,
- "source": 1094,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 74,
- "source": 1094,
- "pc": [
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 77,
- "source": 1094,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 111
- ]
- },
- {
- "teal": 80,
- "source": 1094,
- "pc": [
- 112,
- 113,
- 114,
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 81,
- "source": 1094,
- "pc": [
- 118,
- 119,
- 120
- ]
- },
- {
- "teal": 82,
- "source": 1094,
- "pc": [
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 85,
- "source": 1094,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 125
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1094,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1094,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1094,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1094,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1094,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1094,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1094,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1094,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1094,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1095,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1095,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1095,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1095,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1095,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1095,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1095,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1095,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1095,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1096,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1096,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1097,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1097,
+ "pc": [
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1097,
+ "pc": [
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1097,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1098,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1098,
+ "pc": [
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1098,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1095,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1095,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1094,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1094,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1094,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1094,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1094,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1094,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1094,
+ "pc": [
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1094,
+ "pc": [
+ 118,
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1094,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1094,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 125
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRPYmplY3RUeXBlKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRPYmplY3RUeXBlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3RUeXBlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpOiB1aW50NjQKbmVzdGVkT2JqZWN0VHlwZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwOTYKCS8vIGE6IFQ0ID0geyBiOiB7IGM6IHsgZDogMSB9IH0gfQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCWZyYW1lX2J1cnkgMCAvLyBhOiBUNAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDk3CgkvLyBhLmIuYy5kID0gMgoJZnJhbWVfZGlnIDAgLy8gYTogVDQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5OAoJLy8gcmV0dXJuIGEuYi5jLmQ7CglmcmFtZV9kaWcgMCAvLyBhOiBUNAoJZXh0cmFjdCAwIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRPYmplY3RUeXBlKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRPYmplY3RUeXBlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3RUeXBlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpOiB1aW50NjQKbmVzdGVkT2JqZWN0VHlwZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwOTYKCS8vIGE6IFQ0ID0geyBiOiB7IGM6IHsgZDogMSB9IH0gfQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCWZyYW1lX2J1cnkgMCAvLyBhOiBUNAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDk3CgkvLyBhLmIuYy5kID0gMgoJZnJhbWVfZGlnIDAgLy8gYTogVDQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5OAoJLy8gcmV0dXJuIGEuYi5jLmQ7CglmcmFtZV9kaWcgMCAvLyBhOiBUNAoJZXh0cmFjdCAwIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedStaticArray.approval.teal b/tests/contracts/artifacts/ABITestNestedStaticArray.approval.teal
index 643c3c542..c5c1f3d54 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedStaticArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedStaticArray.arc32.json b/tests/contracts/artifacts/ABITestNestedStaticArray.arc32.json
index 30b6ea4e3..264d31665 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedStaticArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5OAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIwNAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5OAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIwNAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedStaticArray.arc56_draft.json
index 343593d83..423707926 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedStaticArray.arc56_draft.json
@@ -60,397 +60,400 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 196,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 196,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 196,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 196,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 196,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 196,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 196,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 196,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 196,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 197,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 197,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 197,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 197,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 197,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 197,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 197,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 197,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 197,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 51,
- "source": 198,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 52,
- "source": 198,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 56,
- "source": 204,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 57,
- "source": 204,
- "pc": [
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 58,
- "source": 204,
- "pc": [
- 140
- ]
- },
- {
- "teal": 61,
- "source": 197,
- "pc": [
- 141,
- 142
- ]
- },
- {
- "teal": 62,
- "source": 197,
- "pc": [
- 143
- ]
- },
- {
- "teal": 65,
- "source": 196,
- "pc": [
- 144
- ]
- },
- {
- "teal": 66,
- "source": 196,
- "pc": [
- 145
- ]
- },
- {
- "teal": 69,
- "source": 196,
- "pc": [
- 146,
- 147,
- 148,
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 70,
- "source": 196,
- "pc": [
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 71,
- "source": 196,
- "pc": [
- 155,
- 156,
- 157,
- 158
- ]
- },
- {
- "teal": 74,
- "source": 196,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 159
- ]
- },
- {
- "teal": 77,
- "source": 196,
- "pc": [
- 160,
- 161,
- 162,
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 78,
- "source": 196,
- "pc": [
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 79,
- "source": 196,
- "pc": [
- 169,
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 82,
- "source": 196,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 173
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 196,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 196,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 196,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 196,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 196,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 196,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 196,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 196,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 196,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 197,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 197,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 197,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 197,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 197,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 197,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 197,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 197,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 197,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 198,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 198,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 204,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 204,
+ "pc": [
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 204,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 197,
+ "pc": [
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 197,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 196,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 196,
+ "pc": [
+ 145
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 196,
+ "pc": [
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 196,
+ "pc": [
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 196,
+ "pc": [
+ 155,
+ 156,
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 196,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 196,
+ "pc": [
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 196,
+ "pc": [
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 196,
+ "pc": [
+ 169,
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 196,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 173
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5OAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIwNAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5OAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIwNAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.approval.teal b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.approval.teal
index d6c84dc09..d5593280a 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc32.json b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc32.json
index 0fde656c3..483545a08 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MTQKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzMywgNDQsIDU1XSwKCS8vICAgICAgIFs2NiwgNzcsIDg4LCA5OSwgMTAwXSwKCS8vICAgICAgIFsxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNV0sCgkvLyAgICAgXQoJYnl0ZSAweDBiMTYyMTJjMzc0MjRkNTg2MzY0NjU2NjY3Njg2OQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyMAoJLy8gcmV0dXJuIGFbMF0ubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDgsIDU+LCAzPgoJaW50IDUKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5TGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MTQKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzMywgNDQsIDU1XSwKCS8vICAgICAgIFs2NiwgNzcsIDg4LCA5OSwgMTAwXSwKCS8vICAgICAgIFsxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNV0sCgkvLyAgICAgXQoJYnl0ZSAweDBiMTYyMTJjMzc0MjRkNTg2MzY0NjU2NjY3Njg2OQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyMAoJLy8gcmV0dXJuIGFbMF0ubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDgsIDU+LCAzPgoJaW50IDUKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5TGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc56_draft.json
index 4eb809a97..24189a1b7 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc56_draft.json
@@ -60,332 +60,335 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1412,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1412,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1412,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1412,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1412,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1412,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1412,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1412,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1412,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1413,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1413,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1413,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1413,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1413,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1413,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 1413,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 1413,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 1413,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 51,
- "source": 1414,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75
- ]
- },
- {
- "teal": 52,
- "source": 1414,
- "pc": [
- 76,
- 77
- ]
- },
- {
- "teal": 56,
- "source": 1420,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 57,
- "source": 1420,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 60,
- "source": 1413,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 61,
- "source": 1413,
- "pc": [
- 84
- ]
- },
- {
- "teal": 64,
- "source": 1412,
- "pc": [
- 85
- ]
- },
- {
- "teal": 65,
- "source": 1412,
- "pc": [
- 86
- ]
- },
- {
- "teal": 68,
- "source": 1412,
- "pc": [
- 87,
- 88,
- 89,
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 69,
- "source": 1412,
- "pc": [
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 70,
- "source": 1412,
- "pc": [
- 96,
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 73,
- "source": 1412,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 100
- ]
- },
- {
- "teal": 76,
- "source": 1412,
- "pc": [
- 101,
- 102,
- 103,
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 77,
- "source": 1412,
- "pc": [
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 78,
- "source": 1412,
- "pc": [
- 110,
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 81,
- "source": 1412,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 114
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1412,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1412,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1412,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1412,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1412,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1412,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1412,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1412,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1412,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1413,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1413,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1413,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1413,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1413,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1413,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1413,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1413,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1413,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1414,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1414,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1420,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1420,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1413,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1413,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1412,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1412,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1412,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1412,
+ "pc": [
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1412,
+ "pc": [
+ 96,
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1412,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1412,
+ "pc": [
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1412,
+ "pc": [
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1412,
+ "pc": [
+ 110,
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1412,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 114
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MTQKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzMywgNDQsIDU1XSwKCS8vICAgICAgIFs2NiwgNzcsIDg4LCA5OSwgMTAwXSwKCS8vICAgICAgIFsxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNV0sCgkvLyAgICAgXQoJYnl0ZSAweDBiMTYyMTJjMzc0MjRkNTg2MzY0NjU2NjY3Njg2OQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyMAoJLy8gcmV0dXJuIGFbMF0ubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDgsIDU+LCAzPgoJaW50IDUKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5TGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MTQKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzMywgNDQsIDU1XSwKCS8vICAgICAgIFs2NiwgNzcsIDg4LCA5OSwgMTAwXSwKCS8vICAgICAgIFsxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNV0sCgkvLyAgICAgXQoJYnl0ZSAweDBiMTYyMTJjMzc0MjRkNTg2MzY0NjU2NjY3Njg2OQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyMAoJLy8gcmV0dXJuIGFbMF0ubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDgsIDU+LCAzPgoJaW50IDUKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5TGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEach.approval.teal b/tests/contracts/artifacts/ABITestNestedStaticForEach.approval.teal
index 7dbf41a16..0f8f66da2 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticForEach.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedStaticForEach.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEach.arc32.json b/tests/contracts/artifacts/ABITestNestedStaticForEach.arc32.json
index d110dc6a7..384e6db45 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticForEach.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedStaticForEach.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMDA1MDAwMDAwMDAwMDAwMDAwNjAwMDAwMDAwMDAwMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwOQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMjUKCS8vIHN1bSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyNwoJLy8gYVsxXS5mb3JFYWNoCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAyNCAyNAoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzI4CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzMxCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMDA1MDAwMDAwMDAwMDAwMDAwNjAwMDAwMDAwMDAwMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwOQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMjUKCS8vIHN1bSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyNwoJLy8gYVsxXS5mb3JFYWNoCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAyNCAyNAoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzI4CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzMxCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEach.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedStaticForEach.arc56_draft.json
index 09679adf9..c004d26bd 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticForEach.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedStaticForEach.arc56_draft.json
@@ -60,631 +60,634 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1318,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 1318,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 1318,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 1318,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 1318,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 1318,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 1318,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 1318,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 1318,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 1319,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 1319,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 1319,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 1319,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 1319,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 1319,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 1319,
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 1319,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1319,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 44,
- "source": 1319,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 52,
- "source": 1320,
- "pc": [
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 53,
- "source": 1320,
- "pc": [
- 137,
- 138
- ]
- },
- {
- "teal": 57,
- "source": 1325,
- "pc": [
- 139
- ]
- },
- {
- "teal": 58,
- "source": 1325,
- "pc": [
- 140,
- 141
- ]
- },
- {
- "teal": 62,
- "source": 1327,
- "pc": [
- 142,
- 143
- ]
- },
- {
- "teal": 63,
- "source": 1327,
- "pc": [
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 64,
- "source": 1327,
- "pc": [
- 147
- ]
- },
- {
- "teal": 65,
- "source": 1327,
- "pc": [
- 148,
- 149
- ]
- },
- {
- "teal": 66,
- "source": 1327,
- "pc": [
- 150,
- 151,
- 152
- ]
- },
- {
- "teal": 67,
- "source": 1327,
- "pc": [
- 153
- ]
- },
- {
- "teal": 68,
- "source": 1327,
- "pc": [
- 154,
- 155
- ]
- },
- {
- "teal": 69,
- "source": 1327,
- "pc": [
- 156
- ]
- },
- {
- "teal": 70,
- "source": 1327,
- "pc": [
- 157,
- 158
- ]
- },
- {
- "teal": 75,
- "source": 1328,
- "pc": [
- 159,
- 160
- ]
- },
- {
- "teal": 76,
- "source": 1328,
- "pc": [
- 161,
- 162
- ]
- },
- {
- "teal": 77,
- "source": 1328,
- "pc": [
- 163
- ]
- },
- {
- "teal": 78,
- "source": 1328,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 81,
- "source": 1327,
- "pc": [
- 166,
- 167
- ]
- },
- {
- "teal": 82,
- "source": 1327,
- "pc": [
- 168
- ]
- },
- {
- "teal": 83,
- "source": 1327,
- "pc": [
- 169
- ]
- },
- {
- "teal": 84,
- "source": 1327,
- "pc": [
- 170
- ]
- },
- {
- "teal": 85,
- "source": 1327,
- "pc": [
- 171,
- 172
- ]
- },
- {
- "teal": 86,
- "source": 1327,
- "pc": [
- 173
- ]
- },
- {
- "teal": 87,
- "source": 1327,
- "pc": [
- 174,
- 175,
- 176
- ]
- },
- {
- "teal": 88,
- "source": 1327,
- "pc": [
- 177,
- 178
- ]
- },
- {
- "teal": 89,
- "source": 1327,
- "pc": [
- 179,
- 180
- ]
- },
- {
- "teal": 90,
- "source": 1327,
- "pc": [
- 181,
- 182
- ]
- },
- {
- "teal": 91,
- "source": 1327,
- "pc": [
- 183
- ]
- },
- {
- "teal": 92,
- "source": 1327,
- "pc": [
- 184
- ]
- },
- {
- "teal": 93,
- "source": 1327,
- "pc": [
- 185
- ]
- },
- {
- "teal": 94,
- "source": 1327,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 95,
- "source": 1327,
- "pc": [
- 188,
- 189,
- 190
- ]
- },
- {
- "teal": 100,
- "source": 1331,
- "pc": [
- 191,
- 192
- ]
- },
- {
- "teal": 103,
- "source": 1319,
- "pc": [
- 193,
- 194
- ]
- },
- {
- "teal": 106,
- "source": 1319,
- "pc": [
- 195,
- 196
- ]
- },
- {
- "teal": 107,
- "source": 1319,
- "pc": [
- 197
- ]
- },
- {
- "teal": 110,
- "source": 1318,
- "pc": [
- 198
- ]
- },
- {
- "teal": 111,
- "source": 1318,
- "pc": [
- 199
- ]
- },
- {
- "teal": 114,
- "source": 1318,
- "pc": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205
- ]
- },
- {
- "teal": 115,
- "source": 1318,
- "pc": [
- 206,
- 207,
- 208
- ]
- },
- {
- "teal": 116,
- "source": 1318,
- "pc": [
- 209,
- 210,
- 211,
- 212
- ]
- },
- {
- "teal": 119,
- "source": 1318,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 213
- ]
- },
- {
- "teal": 122,
- "source": 1318,
- "pc": [
- 214,
- 215,
- 216,
- 217,
- 218,
- 219
- ]
- },
- {
- "teal": 123,
- "source": 1318,
- "pc": [
- 220,
- 221,
- 222
- ]
- },
- {
- "teal": 124,
- "source": 1318,
- "pc": [
- 223,
- 224,
- 225,
- 226
- ]
- },
- {
- "teal": 127,
- "source": 1318,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 227
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1318,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1318,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1318,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1318,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1318,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1318,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1318,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1318,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1318,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1319,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1319,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1319,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1319,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1319,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1319,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1319,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1319,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1319,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1319,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1320,
+ "pc": [
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1320,
+ "pc": [
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1325,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1325,
+ "pc": [
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1327,
+ "pc": [
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1327,
+ "pc": [
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1327,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1327,
+ "pc": [
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1327,
+ "pc": [
+ 150,
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1327,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1327,
+ "pc": [
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1327,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1327,
+ "pc": [
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1328,
+ "pc": [
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1328,
+ "pc": [
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1328,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1328,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1327,
+ "pc": [
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1327,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1327,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1327,
+ "pc": [
+ 170
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1327,
+ "pc": [
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1327,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1327,
+ "pc": [
+ 174,
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1327,
+ "pc": [
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1327,
+ "pc": [
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1327,
+ "pc": [
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1327,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1327,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1327,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1327,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1327,
+ "pc": [
+ 188,
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1331,
+ "pc": [
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1319,
+ "pc": [
+ 193,
+ 194
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1319,
+ "pc": [
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 1319,
+ "pc": [
+ 197
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1318,
+ "pc": [
+ 198
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1318,
+ "pc": [
+ 199
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 1318,
+ "pc": [
+ 200,
+ 201,
+ 202,
+ 203,
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 1318,
+ "pc": [
+ 206,
+ 207,
+ 208
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 1318,
+ "pc": [
+ 209,
+ 210,
+ 211,
+ 212
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 1318,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 1318,
+ "pc": [
+ 214,
+ 215,
+ 216,
+ 217,
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 1318,
+ "pc": [
+ 220,
+ 221,
+ 222
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 1318,
+ "pc": [
+ 223,
+ 224,
+ 225,
+ 226
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 1318,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 227
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMDA1MDAwMDAwMDAwMDAwMDAwNjAwMDAwMDAwMDAwMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwOQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMjUKCS8vIHN1bSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyNwoJLy8gYVsxXS5mb3JFYWNoCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAyNCAyNAoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzI4CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzMxCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMDA1MDAwMDAwMDAwMDAwMDAwNjAwMDAwMDAwMDAwMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwOQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMjUKCS8vIHN1bSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyNwoJLy8gYVsxXS5mb3JFYWNoCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAyNCAyNAoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzI4CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CgkrCglkdXAKCWludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzMxCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.approval.teal b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.approval.teal
index 690c48e4c..6793d37e2 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc32.json b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc32.json
index f13452e6f..0c0ae2b77 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKTogdWludDY0Cm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMzOQoJLy8gdGhpcy5iS2V5LnZhbHVlID0gWwoJLy8gICAgICAgWzEsIDIsIDNdLAoJLy8gICAgICAgWzQsIDUsIDZdLAoJLy8gICAgICAgWzcsIDgsIDldLAoJLy8gICAgIF0KCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwNTAwMDAwMDAwMDAwMDAwMDYwMDAwMDAwMDAwMDAwMDA3MDAwMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDAwMDkKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzQ2CgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IgoJaW50IDI0CglkdXAKCWJveF9leHRyYWN0CglkdXAKCWZyYW1lX2J1cnkgMSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CglpbnQgMAoJZnJhbWVfYnVyeSAzIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNDcKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDIgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMyAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCSsKCWR1cAoJaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JFYWNoXzBfZW5kCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CgliICpmb3JFYWNoXzAKCipmb3JFYWNoXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKTogdWludDY0Cm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMzOQoJLy8gdGhpcy5iS2V5LnZhbHVlID0gWwoJLy8gICAgICAgWzEsIDIsIDNdLAoJLy8gICAgICAgWzQsIDUsIDZdLAoJLy8gICAgICAgWzcsIDgsIDldLAoJLy8gICAgIF0KCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwNTAwMDAwMDAwMDAwMDAwMDYwMDAwMDAwMDAwMDAwMDA3MDAwMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDAwMDkKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzQ2CgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IgoJaW50IDI0CglkdXAKCWJveF9leHRyYWN0CglkdXAKCWZyYW1lX2J1cnkgMSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CglpbnQgMAoJZnJhbWVfYnVyeSAzIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNDcKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDIgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMyAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCSsKCWR1cAoJaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JFYWNoXzBfZW5kCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CgliICpmb3JFYWNoXzAKCipmb3JFYWNoXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc56_draft.json
index 0e4402dcf..a53f8606e 100644
--- a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc56_draft.json
@@ -66,655 +66,658 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1335,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13
- ]
- },
- {
- "teal": 13,
- "source": 1335,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 14,
- "source": 1335,
- "pc": [
- 16
- ]
- },
- {
- "teal": 15,
- "source": 1335,
- "pc": [
- 17,
- 18
- ]
- },
- {
- "teal": 16,
- "source": 1335,
- "pc": [
- 19
- ]
- },
- {
- "teal": 17,
- "source": 1335,
- "pc": [
- 20,
- 21
- ]
- },
- {
- "teal": 18,
- "source": 1335,
- "pc": [
- 22
- ]
- },
- {
- "teal": 19,
- "source": 1335,
- "pc": [
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 23,
- "source": 1335,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 49
- ]
- },
- {
- "teal": 28,
- "source": 1338,
- "pc": [
- 50,
- 51,
- 52,
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 31,
- "source": 1338,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 32,
- "source": 1338,
- "pc": [
- 59
- ]
- },
- {
- "teal": 33,
- "source": 1338,
- "pc": [
- 60
- ]
- },
- {
- "teal": 34,
- "source": 1338,
- "pc": [
- 61
- ]
- },
- {
- "teal": 35,
- "source": 1338,
- "pc": [
- 62
- ]
- },
- {
- "teal": 36,
- "source": 1338,
- "pc": [
- 63
- ]
- },
- {
- "teal": 40,
- "source": 1338,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 43,
- "source": 1338,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 44,
- "source": 1338,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 52,
- "source": 1339,
- "pc": [
- 71
- ]
- },
- {
- "teal": 53,
- "source": 1339,
- "pc": [
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 54,
- "source": 1339,
- "pc": [
- 146
- ]
- },
- {
- "teal": 58,
- "source": 1344,
- "pc": [
- 147
- ]
- },
- {
- "teal": 59,
- "source": 1344,
- "pc": [
- 148,
- 149
- ]
- },
- {
- "teal": 63,
- "source": 1346,
- "pc": [
- 150
- ]
- },
- {
- "teal": 64,
- "source": 1346,
- "pc": [
- 151
- ]
- },
- {
- "teal": 65,
- "source": 1346,
- "pc": [
- 152
- ]
- },
- {
- "teal": 66,
- "source": 1346,
- "pc": [
- 153
- ]
- },
- {
- "teal": 67,
- "source": 1346,
- "pc": [
- 154
- ]
- },
- {
- "teal": 68,
- "source": 1346,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 69,
- "source": 1346,
- "pc": [
- 157,
- 158,
- 159
- ]
- },
- {
- "teal": 70,
- "source": 1346,
- "pc": [
- 160
- ]
- },
- {
- "teal": 71,
- "source": 1346,
- "pc": [
- 161,
- 162
- ]
- },
- {
- "teal": 72,
- "source": 1346,
- "pc": [
- 163
- ]
- },
- {
- "teal": 73,
- "source": 1346,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 78,
- "source": 1347,
- "pc": [
- 166,
- 167
- ]
- },
- {
- "teal": 79,
- "source": 1347,
- "pc": [
- 168,
- 169
- ]
- },
- {
- "teal": 80,
- "source": 1347,
- "pc": [
- 170
- ]
- },
- {
- "teal": 81,
- "source": 1347,
- "pc": [
- 171,
- 172
- ]
- },
- {
- "teal": 84,
- "source": 1346,
- "pc": [
- 173,
- 174
- ]
- },
- {
- "teal": 85,
- "source": 1346,
- "pc": [
- 175
- ]
- },
- {
- "teal": 86,
- "source": 1346,
- "pc": [
- 176
- ]
- },
- {
- "teal": 87,
- "source": 1346,
- "pc": [
- 177
- ]
- },
- {
- "teal": 88,
- "source": 1346,
- "pc": [
- 178
- ]
- },
- {
- "teal": 89,
- "source": 1346,
- "pc": [
- 179
- ]
- },
- {
- "teal": 90,
- "source": 1346,
- "pc": [
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 91,
- "source": 1346,
- "pc": [
- 183,
- 184
- ]
- },
- {
- "teal": 92,
- "source": 1346,
- "pc": [
- 185,
- 186
- ]
- },
- {
- "teal": 93,
- "source": 1346,
- "pc": [
- 187,
- 188
- ]
- },
- {
- "teal": 94,
- "source": 1346,
- "pc": [
- 189
- ]
- },
- {
- "teal": 95,
- "source": 1346,
- "pc": [
- 190
- ]
- },
- {
- "teal": 96,
- "source": 1346,
- "pc": [
- 191
- ]
- },
- {
- "teal": 97,
- "source": 1346,
- "pc": [
- 192,
- 193
- ]
- },
- {
- "teal": 98,
- "source": 1346,
- "pc": [
- 194,
- 195,
- 196
- ]
- },
- {
- "teal": 103,
- "source": 1350,
- "pc": [
- 197,
- 198
- ]
- },
- {
- "teal": 106,
- "source": 1338,
- "pc": [
- 199,
- 200
- ]
- },
- {
- "teal": 109,
- "source": 1338,
- "pc": [
- 201,
- 202
- ]
- },
- {
- "teal": 110,
- "source": 1338,
- "pc": [
- 203
- ]
- },
- {
- "teal": 113,
- "source": 1335,
- "pc": [
- 204
- ]
- },
- {
- "teal": 114,
- "source": 1335,
- "pc": [
- 205
- ]
- },
- {
- "teal": 117,
- "source": 1335,
- "pc": [
- 206,
- 207,
- 208,
- 209,
- 210,
- 211
- ]
- },
- {
- "teal": 118,
- "source": 1335,
- "pc": [
- 212,
- 213,
- 214
- ]
- },
- {
- "teal": 119,
- "source": 1335,
- "pc": [
- 215,
- 216,
- 217,
- 218
- ]
- },
- {
- "teal": 122,
- "source": 1335,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 219
- ]
- },
- {
- "teal": 125,
- "source": 1335,
- "pc": [
- 220,
- 221,
- 222,
- 223,
- 224,
- 225
- ]
- },
- {
- "teal": 126,
- "source": 1335,
- "pc": [
- 226,
- 227,
- 228
- ]
- },
- {
- "teal": 127,
- "source": 1335,
- "pc": [
- 229,
- 230,
- 231,
- 232
- ]
- },
- {
- "teal": 130,
- "source": 1335,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 233
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1335,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1335,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1335,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1335,
+ "pc": [
+ 17,
+ 18
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1335,
+ "pc": [
+ 19
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1335,
+ "pc": [
+ 20,
+ 21
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1335,
+ "pc": [
+ 22
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1335,
+ "pc": [
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1335,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1338,
+ "pc": [
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1338,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1338,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1338,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1338,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1338,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1338,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1338,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1338,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1338,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1339,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1339,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1339,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1344,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1344,
+ "pc": [
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1346,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1346,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1346,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1346,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1346,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1346,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1346,
+ "pc": [
+ 157,
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1346,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1346,
+ "pc": [
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1346,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1346,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1347,
+ "pc": [
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1347,
+ "pc": [
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1347,
+ "pc": [
+ 170
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1347,
+ "pc": [
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1346,
+ "pc": [
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1346,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1346,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1346,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1346,
+ "pc": [
+ 178
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1346,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1346,
+ "pc": [
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1346,
+ "pc": [
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1346,
+ "pc": [
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1346,
+ "pc": [
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1346,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1346,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1346,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1346,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1346,
+ "pc": [
+ 194,
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1350,
+ "pc": [
+ 197,
+ 198
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1338,
+ "pc": [
+ 199,
+ 200
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 1338,
+ "pc": [
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1338,
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 1335,
+ "pc": [
+ 204
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 1335,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 1335,
+ "pc": [
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 1335,
+ "pc": [
+ 212,
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 1335,
+ "pc": [
+ 215,
+ 216,
+ 217,
+ 218
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 1335,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 1335,
+ "pc": [
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 1335,
+ "pc": [
+ 226,
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 1335,
+ "pc": [
+ 229,
+ 230,
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 1335,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 233
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKTogdWludDY0Cm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMzOQoJLy8gdGhpcy5iS2V5LnZhbHVlID0gWwoJLy8gICAgICAgWzEsIDIsIDNdLAoJLy8gICAgICAgWzQsIDUsIDZdLAoJLy8gICAgICAgWzcsIDgsIDldLAoJLy8gICAgIF0KCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwNTAwMDAwMDAwMDAwMDAwMDYwMDAwMDAwMDAwMDAwMDA3MDAwMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDAwMDkKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzQ2CgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IgoJaW50IDI0CglkdXAKCWJveF9leHRyYWN0CglkdXAKCWZyYW1lX2J1cnkgMSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CglpbnQgMAoJZnJhbWVfYnVyeSAzIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNDcKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDIgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMyAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCSsKCWR1cAoJaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JFYWNoXzBfZW5kCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CgliICpmb3JFYWNoXzAKCipmb3JFYWNoXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKTogdWludDY0Cm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMzOQoJLy8gdGhpcy5iS2V5LnZhbHVlID0gWwoJLy8gICAgICAgWzEsIDIsIDNdLAoJLy8gICAgICAgWzQsIDUsIDZdLAoJLy8gICAgICAgWzcsIDgsIDldLAoJLy8gICAgIF0KCWJ5dGUgMHg2MjRiNjU3OSAvLyAiYktleSIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwNTAwMDAwMDAwMDAwMDAwMDYwMDAwMDAwMDAwMDAwMDA3MDAwMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDAwMDkKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzQ2CgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJYnl0ZSAweDYyNGI2NTc5IC8vICJiS2V5IgoJaW50IDI0CglkdXAKCWJveF9leHRyYWN0CglkdXAKCWZyYW1lX2J1cnkgMSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CglpbnQgMAoJZnJhbWVfYnVyeSAzIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNDcKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDIgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMyAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCSsKCWR1cAoJaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JFYWNoXzBfZW5kCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludCA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CgliICpmb3JFYWNoXzAKCipmb3JFYWNoXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.approval.teal b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.approval.teal
index aa364d330..aac2f3816 100644
--- a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc32.json b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc32.json
index e72bb64fa..ce60c87da 100644
--- a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdHJ1Y3RJbkJveE1hcCgpKCh1aW50OCkpCiphYmlfcm91dGVfbmVzdGVkU3RydWN0SW5Cb3hNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoJY2FsbHN1YiBuZXN0ZWRTdHJ1Y3RJbkJveE1hcAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0cnVjdEluQm94TWFwKCk6IFQ4Cm5lc3RlZFN0cnVjdEluQm94TWFwOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHsgYmFyOiAxIH0gfQoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJYnl0ZSAweDAxCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODEKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmZvby5iYXIgPSAzCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglpbnQgMAoJYnl0ZSAweDAzCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjgyCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5mb28uYmFyID0gPHVpbnQ4PjIKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCAwCglieXRlIDB4MDIKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODMKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0cnVjdEluQm94TWFwKCkoKHVpbnQ4KSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0cnVjdEluQm94TWFwCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdHJ1Y3RJbkJveE1hcCgpKCh1aW50OCkpCiphYmlfcm91dGVfbmVzdGVkU3RydWN0SW5Cb3hNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoJY2FsbHN1YiBuZXN0ZWRTdHJ1Y3RJbkJveE1hcAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0cnVjdEluQm94TWFwKCk6IFQ4Cm5lc3RlZFN0cnVjdEluQm94TWFwOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHsgYmFyOiAxIH0gfQoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJYnl0ZSAweDAxCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODEKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmZvby5iYXIgPSAzCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglpbnQgMAoJYnl0ZSAweDAzCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjgyCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5mb28uYmFyID0gPHVpbnQ4PjIKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCAwCglieXRlIDB4MDIKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODMKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0cnVjdEluQm94TWFwKCkoKHVpbnQ4KSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0cnVjdEluQm94TWFwCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc56_draft.json
index d132d3f99..f8b7a9416 100644
--- a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc56_draft.json
@@ -35,11 +35,17 @@
56
],
"structs": {
- "T8": {
- "foo": {
- "bar": "uint8"
+ "T8": [
+ {
+ "name": "foo",
+ "type": [
+ {
+ "name": "bar",
+ "type": "uint8"
+ }
+ ]
}
- }
+ ]
},
"state": {
"schema": {
@@ -72,375 +78,378 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1276,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11
- ]
- },
- {
- "teal": 13,
- "source": 1276,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 14,
- "source": 1276,
- "pc": [
- 14
- ]
- },
- {
- "teal": 15,
- "source": 1276,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 16,
- "source": 1276,
- "pc": [
- 17
- ]
- },
- {
- "teal": 17,
- "source": 1276,
- "pc": [
- 18,
- 19
- ]
- },
- {
- "teal": 18,
- "source": 1276,
- "pc": [
- 20
- ]
- },
- {
- "teal": 19,
- "source": 1276,
- "pc": [
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 23,
- "source": 1276,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 47
- ]
- },
- {
- "teal": 28,
- "source": 1279,
- "pc": [
- 48,
- 49,
- 50,
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 31,
- "source": 1279,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 32,
- "source": 1279,
- "pc": [
- 57
- ]
- },
- {
- "teal": 33,
- "source": 1279,
- "pc": [
- 58
- ]
- },
- {
- "teal": 34,
- "source": 1279,
- "pc": [
- 59
- ]
- },
- {
- "teal": 35,
- "source": 1279,
- "pc": [
- 60
- ]
- },
- {
- "teal": 39,
- "source": 1279,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 43,
- "source": 1280,
- "pc": [
- 64
- ]
- },
- {
- "teal": 44,
- "source": 1280,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 45,
- "source": 1280,
- "pc": [
- 68
- ]
- },
- {
- "teal": 49,
- "source": 1281,
- "pc": [
- 69
- ]
- },
- {
- "teal": 50,
- "source": 1281,
- "pc": [
- 70
- ]
- },
- {
- "teal": 51,
- "source": 1281,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 52,
- "source": 1281,
- "pc": [
- 74
- ]
- },
- {
- "teal": 56,
- "source": 1282,
- "pc": [
- 75
- ]
- },
- {
- "teal": 57,
- "source": 1282,
- "pc": [
- 76
- ]
- },
- {
- "teal": 58,
- "source": 1282,
- "pc": [
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 59,
- "source": 1282,
- "pc": [
- 80
- ]
- },
- {
- "teal": 63,
- "source": 1283,
- "pc": [
- 81
- ]
- },
- {
- "teal": 64,
- "source": 1283,
- "pc": [
- 82
- ]
- },
- {
- "teal": 67,
- "source": 1283,
- "errorMessage": "box value does not exist: this.bMap('bMap').value",
- "pc": [
- 83
- ]
- },
- {
- "teal": 68,
- "source": 1279,
- "pc": [
- 84
- ]
- },
- {
- "teal": 71,
- "source": 1276,
- "pc": [
- 85
- ]
- },
- {
- "teal": 72,
- "source": 1276,
- "pc": [
- 86
- ]
- },
- {
- "teal": 75,
- "source": 1276,
- "pc": [
- 87,
- 88,
- 89,
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 76,
- "source": 1276,
- "pc": [
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 77,
- "source": 1276,
- "pc": [
- 96,
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 80,
- "source": 1276,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 100
- ]
- },
- {
- "teal": 83,
- "source": 1276,
- "pc": [
- 101,
- 102,
- 103,
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 84,
- "source": 1276,
- "pc": [
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 85,
- "source": 1276,
- "pc": [
- 110,
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 88,
- "source": 1276,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 114
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1276,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1276,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1276,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1276,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1276,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1276,
+ "pc": [
+ 18,
+ 19
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1276,
+ "pc": [
+ 20
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1276,
+ "pc": [
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1276,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1279,
+ "pc": [
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1279,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1279,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1279,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1279,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1279,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1279,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1280,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1280,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1280,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1281,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1281,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1281,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1281,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1282,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1282,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1282,
+ "pc": [
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1282,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1283,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1283,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1283,
+ "errorMessage": "box value does not exist: this.bMap('bMap').value",
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1279,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1276,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1276,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1276,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1276,
+ "pc": [
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1276,
+ "pc": [
+ 96,
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1276,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1276,
+ "pc": [
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1276,
+ "pc": [
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1276,
+ "pc": [
+ 110,
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1276,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 114
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdHJ1Y3RJbkJveE1hcCgpKCh1aW50OCkpCiphYmlfcm91dGVfbmVzdGVkU3RydWN0SW5Cb3hNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoJY2FsbHN1YiBuZXN0ZWRTdHJ1Y3RJbkJveE1hcAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0cnVjdEluQm94TWFwKCk6IFQ4Cm5lc3RlZFN0cnVjdEluQm94TWFwOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHsgYmFyOiAxIH0gfQoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJYnl0ZSAweDAxCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODEKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmZvby5iYXIgPSAzCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglpbnQgMAoJYnl0ZSAweDAzCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjgyCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5mb28uYmFyID0gPHVpbnQ4PjIKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCAwCglieXRlIDB4MDIKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODMKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0cnVjdEluQm94TWFwKCkoKHVpbnQ4KSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0cnVjdEluQm94TWFwCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdHJ1Y3RJbkJveE1hcCgpKCh1aW50OCkpCiphYmlfcm91dGVfbmVzdGVkU3RydWN0SW5Cb3hNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoJY2FsbHN1YiBuZXN0ZWRTdHJ1Y3RJbkJveE1hcAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFN0cnVjdEluQm94TWFwKCk6IFQ4Cm5lc3RlZFN0cnVjdEluQm94TWFwOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHsgYmFyOiAxIH0gfQoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJYnl0ZSAweDAxCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODEKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmZvby5iYXIgPSAzCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglpbnQgMAoJYnl0ZSAweDAzCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjgyCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5mb28uYmFyID0gPHVpbnQ4PjIKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCAwCglieXRlIDB4MDIKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODMKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFN0cnVjdEluQm94TWFwKCkoKHVpbnQ4KSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0cnVjdEluQm94TWFwCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedTuple.approval.teal b/tests/contracts/artifacts/ABITestNestedTuple.approval.teal
index 2ee743636..834c0e48a 100644
--- a/tests/contracts/artifacts/ABITestNestedTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedTuple.arc32.json b/tests/contracts/artifacts/ABITestNestedTuple.arc32.json
index 5c7f8b2ce..8f985ef7d 100644
--- a/tests/contracts/artifacts/ABITestNestedTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCiphYmlfcm91dGVfbmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkVHVwbGUoKSh1aW50MTYsKHVpbnQ4LHN0cmluZyksKHVpbnQxNixzdHJpbmcpKQoJY2FsbHN1YiBuZXN0ZWRUdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFR1cGxlKCk6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQpuZXN0ZWRUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY5MgoJLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dID0gWzExLCBbMjIsICdmb28nXSwgWzMzLCAnYmFyJ11dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDBiCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDAzIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgxNgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM2NjZmNmYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDIxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzYyNjE3MgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2OTQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCiphYmlfcm91dGVfbmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkVHVwbGUoKSh1aW50MTYsKHVpbnQ4LHN0cmluZyksKHVpbnQxNixzdHJpbmcpKQoJY2FsbHN1YiBuZXN0ZWRUdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFR1cGxlKCk6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQpuZXN0ZWRUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY5MgoJLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dID0gWzExLCBbMjIsICdmb28nXSwgWzMzLCAnYmFyJ11dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDBiCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDAzIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgxNgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM2NjZmNmYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDIxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzYyNjE3MgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2OTQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedTuple.arc56_draft.json
index c909f86ec..d1c94b040 100644
--- a/tests/contracts/artifacts/ABITestNestedTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedTuple.arc56_draft.json
@@ -60,752 +60,755 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 690,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 690,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 690,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 690,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 16,
- "source": 690,
- "pc": [
- 12
- ]
- },
- {
- "teal": 17,
- "source": 690,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 18,
- "source": 690,
- "pc": [
- 15
- ]
- },
- {
- "teal": 19,
- "source": 690,
- "pc": [
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41
- ]
- },
- {
- "teal": 23,
- "source": 690,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 42
- ]
- },
- {
- "teal": 28,
- "source": 691,
- "pc": [
- 43,
- 44,
- 45,
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 31,
- "source": 691,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 32,
- "source": 691,
- "pc": [
- 52
- ]
- },
- {
- "teal": 33,
- "source": 691,
- "pc": [
- 53
- ]
- },
- {
- "teal": 34,
- "source": 691,
- "pc": [
- 54
- ]
- },
- {
- "teal": 35,
- "source": 691,
- "pc": [
- 55
- ]
- },
- {
- "teal": 39,
- "source": 691,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 42,
- "source": 691,
- "pc": [
- 59
- ]
- },
- {
- "teal": 46,
- "source": 692,
- "pc": [
- 60
- ]
- },
- {
- "teal": 47,
- "source": 692,
- "pc": [
- 61
- ]
- },
- {
- "teal": 48,
- "source": 692,
- "pc": [
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 49,
- "source": 692,
- "pc": [
- 66,
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 50,
- "source": 692,
- "pc": [
- 70,
- 71,
- 72
- ]
- },
- {
- "teal": 51,
- "source": 692,
- "pc": [
- 73
- ]
- },
- {
- "teal": 52,
- "source": 692,
- "pc": [
- 74
- ]
- },
- {
- "teal": 53,
- "source": 692,
- "pc": [
- 75,
- 76,
- 77,
- 78
- ]
- },
- {
- "teal": 54,
- "source": 692,
- "pc": [
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 55,
- "source": 692,
- "pc": [
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 56,
- "source": 692,
- "pc": [
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 57,
- "source": 692,
- "pc": [
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 58,
- "source": 692,
- "pc": [
- 95
- ]
- },
- {
- "teal": 59,
- "source": 692,
- "pc": [
- 96
- ]
- },
- {
- "teal": 60,
- "source": 692,
- "pc": [
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 61,
- "source": 692,
- "pc": [
- 100
- ]
- },
- {
- "teal": 62,
- "source": 692,
- "pc": [
- 101
- ]
- },
- {
- "teal": 63,
- "source": 692,
- "pc": [
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 64,
- "source": 692,
- "pc": [
- 106,
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 65,
- "source": 692,
- "pc": [
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 66,
- "source": 692,
- "pc": [
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 67,
- "source": 692,
- "pc": [
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 68,
- "source": 692,
- "pc": [
- 123
- ]
- },
- {
- "teal": 69,
- "source": 692,
- "pc": [
- 124
- ]
- },
- {
- "teal": 70,
- "source": 692,
- "pc": [
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 71,
- "source": 692,
- "pc": [
- 128
- ]
- },
- {
- "teal": 72,
- "source": 692,
- "pc": [
- 129
- ]
- },
- {
- "teal": 73,
- "source": 692,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 77,
- "source": 694,
- "pc": [
- 132,
- 133
- ]
- },
- {
- "teal": 80,
- "source": 691,
- "pc": [
- 134,
- 135
- ]
- },
- {
- "teal": 81,
- "source": 691,
- "pc": [
- 136
- ]
- },
- {
- "teal": 84,
- "source": 690,
- "pc": [
- 137
- ]
- },
- {
- "teal": 85,
- "source": 690,
- "pc": [
- 138
- ]
- },
- {
- "teal": 88,
- "source": 690,
- "pc": [
- 139,
- 140,
- 141,
- 142,
- 143,
- 144
- ]
- },
- {
- "teal": 89,
- "source": 690,
- "pc": [
- 145,
- 146,
- 147
- ]
- },
- {
- "teal": 90,
- "source": 690,
- "pc": [
- 148,
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 93,
- "source": 690,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 152
- ]
- },
- {
- "teal": 96,
- "source": 690,
- "pc": [
- 153,
- 154,
- 155,
- 156,
- 157,
- 158
- ]
- },
- {
- "teal": 97,
- "source": 690,
- "pc": [
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 98,
- "source": 690,
- "pc": [
- 162,
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 101,
- "source": 690,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 166
- ]
- },
- {
- "teal": 104,
- "source": 690,
- "pc": [
- 167,
- 168,
- 169
- ]
- },
- {
- "teal": 105,
- "source": 690,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 106,
- "source": 690,
- "pc": [
- 172,
- 173
- ]
- },
- {
- "teal": 107,
- "source": 690,
- "pc": [
- 174
- ]
- },
- {
- "teal": 108,
- "source": 690,
- "pc": [
- 175,
- 176
- ]
- },
- {
- "teal": 109,
- "source": 690,
- "pc": [
- 177,
- 178
- ]
- },
- {
- "teal": 110,
- "source": 690,
- "pc": [
- 179
- ]
- },
- {
- "teal": 113,
- "source": 690,
- "pc": [
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 114,
- "source": 690,
- "pc": [
- 183,
- 184
- ]
- },
- {
- "teal": 115,
- "source": 690,
- "pc": [
- 185,
- 186
- ]
- },
- {
- "teal": 116,
- "source": 690,
- "pc": [
- 187
- ]
- },
- {
- "teal": 117,
- "source": 690,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 118,
- "source": 690,
- "pc": [
- 190,
- 191
- ]
- },
- {
- "teal": 119,
- "source": 690,
- "pc": [
- 192
- ]
- },
- {
- "teal": 120,
- "source": 690,
- "pc": [
- 193
- ]
- },
- {
- "teal": 121,
- "source": 690,
- "pc": [
- 194,
- 195
- ]
- },
- {
- "teal": 122,
- "source": 690,
- "pc": [
- 196
- ]
- },
- {
- "teal": 123,
- "source": 690,
- "pc": [
- 197
- ]
- },
- {
- "teal": 124,
- "source": 690,
- "pc": [
- 198
- ]
- },
- {
- "teal": 125,
- "source": 690,
- "pc": [
- 199,
- 200,
- 201
- ]
- },
- {
- "teal": 126,
- "source": 690,
- "pc": [
- 202,
- 203
- ]
- },
- {
- "teal": 127,
- "source": 690,
- "pc": [
- 204,
- 205
- ]
- },
- {
- "teal": 128,
- "source": 690,
- "pc": [
- 206
- ]
- },
- {
- "teal": 129,
- "source": 690,
- "pc": [
- 207
- ]
- },
- {
- "teal": 130,
- "source": 690,
- "pc": [
- 208,
- 209
- ]
- },
- {
- "teal": 131,
- "source": 690,
- "pc": [
- 210,
- 211
- ]
- },
- {
- "teal": 132,
- "source": 690,
- "pc": [
- 212,
- 213
- ]
- },
- {
- "teal": 133,
- "source": 690,
- "pc": [
- 214,
- 215
- ]
- },
- {
- "teal": 134,
- "source": 690,
- "pc": [
- 216
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 690,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 690,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 690,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 690,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 690,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 690,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 690,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 690,
+ "pc": [
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 690,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 42
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 691,
+ "pc": [
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 691,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 691,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 691,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 691,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 691,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 691,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 691,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 692,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 692,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 692,
+ "pc": [
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 692,
+ "pc": [
+ 66,
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 692,
+ "pc": [
+ 70,
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 692,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 692,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 692,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 692,
+ "pc": [
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 692,
+ "pc": [
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 692,
+ "pc": [
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 692,
+ "pc": [
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 692,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 692,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 692,
+ "pc": [
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 692,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 692,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 692,
+ "pc": [
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 692,
+ "pc": [
+ 106,
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 692,
+ "pc": [
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 692,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 692,
+ "pc": [
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 692,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 692,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 692,
+ "pc": [
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 692,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 692,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 692,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 694,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 691,
+ "pc": [
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 691,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 690,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 690,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 690,
+ "pc": [
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 690,
+ "pc": [
+ 145,
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 690,
+ "pc": [
+ 148,
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 690,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 690,
+ "pc": [
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 690,
+ "pc": [
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 690,
+ "pc": [
+ 162,
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 690,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 690,
+ "pc": [
+ 167,
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 690,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 690,
+ "pc": [
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 690,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 690,
+ "pc": [
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 690,
+ "pc": [
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 690,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 690,
+ "pc": [
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 690,
+ "pc": [
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 690,
+ "pc": [
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 690,
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 690,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 690,
+ "pc": [
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 690,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 690,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 690,
+ "pc": [
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 690,
+ "pc": [
+ 196
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 690,
+ "pc": [
+ 197
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 690,
+ "pc": [
+ 198
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 690,
+ "pc": [
+ 199,
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 690,
+ "pc": [
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 690,
+ "pc": [
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 690,
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 690,
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 690,
+ "pc": [
+ 208,
+ 209
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 690,
+ "pc": [
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 690,
+ "pc": [
+ 212,
+ 213
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 690,
+ "pc": [
+ 214,
+ 215
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 690,
+ "pc": [
+ 216
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCiphYmlfcm91dGVfbmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkVHVwbGUoKSh1aW50MTYsKHVpbnQ4LHN0cmluZyksKHVpbnQxNixzdHJpbmcpKQoJY2FsbHN1YiBuZXN0ZWRUdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFR1cGxlKCk6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQpuZXN0ZWRUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY5MgoJLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dID0gWzExLCBbMjIsICdmb28nXSwgWzMzLCAnYmFyJ11dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDBiCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDAzIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgxNgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM2NjZmNmYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDIxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzYyNjE3MgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2OTQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCiphYmlfcm91dGVfbmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkVHVwbGUoKSh1aW50MTYsKHVpbnQ4LHN0cmluZyksKHVpbnQxNixzdHJpbmcpKQoJY2FsbHN1YiBuZXN0ZWRUdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5lc3RlZFR1cGxlKCk6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQpuZXN0ZWRUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY5MgoJLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dID0gWzExLCBbMjIsICdmb28nXSwgWzMzLCAnYmFyJ11dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDBiCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDAzIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgxNgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM2NjZmNmYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDIxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMzYyNjE3MgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2OTQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNestedTypesInSignature.approval.teal b/tests/contracts/artifacts/ABITestNestedTypesInSignature.approval.teal
index e5ba9da21..e490ab0d8 100644
--- a/tests/contracts/artifacts/ABITestNestedTypesInSignature.approval.teal
+++ b/tests/contracts/artifacts/ABITestNestedTypesInSignature.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc32.json b/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc32.json
index d78d38e3b..37b54f18e 100644
--- a/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc32.json
+++ b/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlKCkoKHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCkKKmFiaV9yb3V0ZV9uZXN0ZWRUeXBlc0luU2lnbmF0dXJlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KQoJY2FsbHN1YiBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpOiBbVDUsIHVpbnQ2NF0KbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTM2CgkvLyByZXR1cm4gW2J6ZXJvPFQ1PigpLCAwXTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkVHlwZXNJblNpZ25hdHVyZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlKCkoKHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCkKKmFiaV9yb3V0ZV9uZXN0ZWRUeXBlc0luU2lnbmF0dXJlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KQoJY2FsbHN1YiBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpOiBbVDUsIHVpbnQ2NF0KbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTM2CgkvLyByZXR1cm4gW2J6ZXJvPFQ1PigpLCAwXTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkVHlwZXNJblNpZ25hdHVyZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc56_draft.json
index 726ba6119..4e0a150bc 100644
--- a/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc56_draft.json
@@ -60,294 +60,297 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1134,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1134,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1134,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1134,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1134,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1134,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1134,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1134,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1134,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1135,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1135,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1135,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1135,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1135,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1135,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 1135,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 43,
- "source": 1136,
- "pc": [
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 44,
- "source": 1135,
- "pc": [
- 82
- ]
- },
- {
- "teal": 47,
- "source": 1134,
- "pc": [
- 83
- ]
- },
- {
- "teal": 48,
- "source": 1134,
- "pc": [
- 84
- ]
- },
- {
- "teal": 51,
- "source": 1134,
- "pc": [
- 85,
- 86,
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 52,
- "source": 1134,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 53,
- "source": 1134,
- "pc": [
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 56,
- "source": 1134,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 98
- ]
- },
- {
- "teal": 59,
- "source": 1134,
- "pc": [
- 99,
- 100,
- 101,
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 60,
- "source": 1134,
- "pc": [
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 61,
- "source": 1134,
- "pc": [
- 108,
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 64,
- "source": 1134,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 112
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1134,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1134,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1134,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1134,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1134,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1134,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1134,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1134,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1134,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1135,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1135,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1135,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1135,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1135,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1135,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1135,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1136,
+ "pc": [
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1135,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1134,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1134,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1134,
+ "pc": [
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1134,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1134,
+ "pc": [
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1134,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1134,
+ "pc": [
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1134,
+ "pc": [
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1134,
+ "pc": [
+ 108,
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1134,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 112
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlKCkoKHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCkKKmFiaV9yb3V0ZV9uZXN0ZWRUeXBlc0luU2lnbmF0dXJlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KQoJY2FsbHN1YiBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpOiBbVDUsIHVpbnQ2NF0KbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTM2CgkvLyByZXR1cm4gW2J6ZXJvPFQ1PigpLCAwXTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkVHlwZXNJblNpZ25hdHVyZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlKCkoKHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCkKKmFiaV9yb3V0ZV9uZXN0ZWRUeXBlc0luU2lnbmF0dXJlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KQoJY2FsbHN1YiBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpOiBbVDUsIHVpbnQ2NF0KbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTM2CgkvLyByZXR1cm4gW2J6ZXJvPFQ1PigpLCAwXTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkVHlwZXNJblNpZ25hdHVyZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNonE2E.approval.teal b/tests/contracts/artifacts/ABITestNonE2E.approval.teal
index a24df1445..3189ec1d3 100644
--- a/tests/contracts/artifacts/ABITestNonE2E.approval.teal
+++ b/tests/contracts/artifacts/ABITestNonE2E.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNonE2E.arc32.json b/tests/contracts/artifacts/ABITestNonE2E.arc32.json
index 09a23474f..c88d772d9 100644
--- a/tests/contracts/artifacts/ABITestNonE2E.arc32.json
+++ b/tests/contracts/artifacts/ABITestNonE2E.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIHR5cGVXaXRoQ29tbWVudHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0eXBlV2l0aENvbW1lbnRzKCk6IFQ2CnR5cGVXaXRoQ29tbWVudHM6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE2MAoJLy8gcmV0dXJuIHsKCS8vICAgICAgIGZvbzogJ0hlbGxvIFdvcmxkIScsCgkvLyAgICAgICBiYXI6IDEsCgkvLyAgICAgICBiYXo6IDIsCgkvLyAgICAgfTsKCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMTIgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidHlwZVdpdGhDb21tZW50cygpKHN0cmluZyx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIHR5cGVXaXRoQ29tbWVudHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0eXBlV2l0aENvbW1lbnRzKCk6IFQ2CnR5cGVXaXRoQ29tbWVudHM6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE2MAoJLy8gcmV0dXJuIHsKCS8vICAgICAgIGZvbzogJ0hlbGxvIFdvcmxkIScsCgkvLyAgICAgICBiYXI6IDEsCgkvLyAgICAgICBiYXo6IDIsCgkvLyAgICAgfTsKCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMTIgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidHlwZVdpdGhDb21tZW50cygpKHN0cmluZyx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNonE2E.arc56_draft.json b/tests/contracts/artifacts/ABITestNonE2E.arc56_draft.json
index 5ce4ebea8..4b988a1d9 100644
--- a/tests/contracts/artifacts/ABITestNonE2E.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNonE2E.arc56_draft.json
@@ -35,11 +35,20 @@
56
],
"structs": {
- "T6": {
- "foo": "string",
- "bar": "uint64",
- "baz": "uint64"
- }
+ "T6": [
+ {
+ "name": "foo",
+ "type": "string"
+ },
+ {
+ "name": "bar",
+ "type": "uint64"
+ },
+ {
+ "name": "baz",
+ "type": "uint64"
+ }
+ ]
},
"state": {
"schema": {
@@ -67,608 +76,611 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1158,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 1158,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 1158,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 1158,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 16,
- "source": 1158,
- "pc": [
- 12
- ]
- },
- {
- "teal": 17,
- "source": 1158,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 18,
- "source": 1158,
- "pc": [
- 15
- ]
- },
- {
- "teal": 19,
- "source": 1158,
- "pc": [
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41
- ]
- },
- {
- "teal": 23,
- "source": 1158,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 42
- ]
- },
- {
- "teal": 28,
- "source": 1159,
- "pc": [
- 43,
- 44,
- 45,
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 31,
- "source": 1159,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 32,
- "source": 1159,
- "pc": [
- 52
- ]
- },
- {
- "teal": 33,
- "source": 1159,
- "pc": [
- 53
- ]
- },
- {
- "teal": 34,
- "source": 1159,
- "pc": [
- 54
- ]
- },
- {
- "teal": 35,
- "source": 1159,
- "pc": [
- 55
- ]
- },
- {
- "teal": 39,
- "source": 1159,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 1160,
- "pc": [
- 59
- ]
- },
- {
- "teal": 48,
- "source": 1160,
- "pc": [
- 60
- ]
- },
- {
- "teal": 49,
- "source": 1160,
- "pc": [
- 61,
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 50,
- "source": 1161,
- "pc": [
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 51,
- "source": 1161,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 52,
- "source": 1162,
- "pc": [
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 53,
- "source": 1162,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 54,
- "source": 1163,
- "pc": [
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 55,
- "source": 1163,
- "pc": [
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 56,
- "source": 1160,
- "pc": [
- 110
- ]
- },
- {
- "teal": 57,
- "source": 1160,
- "pc": [
- 111
- ]
- },
- {
- "teal": 58,
- "source": 1159,
- "pc": [
- 112
- ]
- },
- {
- "teal": 61,
- "source": 1158,
- "pc": [
- 113
- ]
- },
- {
- "teal": 62,
- "source": 1158,
- "pc": [
- 114
- ]
- },
- {
- "teal": 65,
- "source": 1158,
- "pc": [
- 115,
- 116,
- 117,
- 118,
- 119,
- 120
- ]
- },
- {
- "teal": 66,
- "source": 1158,
- "pc": [
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 67,
- "source": 1158,
- "pc": [
- 124,
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 70,
- "source": 1158,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 128
- ]
- },
- {
- "teal": 73,
- "source": 1158,
- "pc": [
- 129,
- 130,
- 131,
- 132,
- 133,
- 134
- ]
- },
- {
- "teal": 74,
- "source": 1158,
- "pc": [
- 135,
- 136,
- 137
- ]
- },
- {
- "teal": 75,
- "source": 1158,
- "pc": [
- 138,
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 78,
- "source": 1158,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 142
- ]
- },
- {
- "teal": 81,
- "source": 1158,
- "pc": [
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 82,
- "source": 1158,
- "pc": [
- 146,
- 147
- ]
- },
- {
- "teal": 83,
- "source": 1158,
- "pc": [
- 148,
- 149
- ]
- },
- {
- "teal": 84,
- "source": 1158,
- "pc": [
- 150
- ]
- },
- {
- "teal": 85,
- "source": 1158,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 86,
- "source": 1158,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 87,
- "source": 1158,
- "pc": [
- 155
- ]
- },
- {
- "teal": 90,
- "source": 1158,
- "pc": [
- 156,
- 157,
- 158
- ]
- },
- {
- "teal": 91,
- "source": 1158,
- "pc": [
- 159,
- 160
- ]
- },
- {
- "teal": 92,
- "source": 1158,
- "pc": [
- 161,
- 162
- ]
- },
- {
- "teal": 93,
- "source": 1158,
- "pc": [
- 163
- ]
- },
- {
- "teal": 94,
- "source": 1158,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 95,
- "source": 1158,
- "pc": [
- 166,
- 167
- ]
- },
- {
- "teal": 96,
- "source": 1158,
- "pc": [
- 168
- ]
- },
- {
- "teal": 97,
- "source": 1158,
- "pc": [
- 169
- ]
- },
- {
- "teal": 98,
- "source": 1158,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 99,
- "source": 1158,
- "pc": [
- 172
- ]
- },
- {
- "teal": 100,
- "source": 1158,
- "pc": [
- 173
- ]
- },
- {
- "teal": 101,
- "source": 1158,
- "pc": [
- 174
- ]
- },
- {
- "teal": 102,
- "source": 1158,
- "pc": [
- 175,
- 176,
- 177
- ]
- },
- {
- "teal": 103,
- "source": 1158,
- "pc": [
- 178,
- 179
- ]
- },
- {
- "teal": 104,
- "source": 1158,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 105,
- "source": 1158,
- "pc": [
- 182
- ]
- },
- {
- "teal": 106,
- "source": 1158,
- "pc": [
- 183
- ]
- },
- {
- "teal": 107,
- "source": 1158,
- "pc": [
- 184,
- 185
- ]
- },
- {
- "teal": 108,
- "source": 1158,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 109,
- "source": 1158,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 110,
- "source": 1158,
- "pc": [
- 190,
- 191
- ]
- },
- {
- "teal": 111,
- "source": 1158,
- "pc": [
- 192
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1158,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1158,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1158,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1158,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1158,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1158,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1158,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1158,
+ "pc": [
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1158,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 42
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1159,
+ "pc": [
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1159,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1159,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1159,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1159,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1159,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1159,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1160,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1160,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1160,
+ "pc": [
+ 61,
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1161,
+ "pc": [
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1161,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1162,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1162,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1163,
+ "pc": [
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1163,
+ "pc": [
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1160,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1160,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1159,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1158,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1158,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1158,
+ "pc": [
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1158,
+ "pc": [
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1158,
+ "pc": [
+ 124,
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1158,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1158,
+ "pc": [
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1158,
+ "pc": [
+ 135,
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1158,
+ "pc": [
+ 138,
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1158,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1158,
+ "pc": [
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1158,
+ "pc": [
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1158,
+ "pc": [
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1158,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1158,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1158,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1158,
+ "pc": [
+ 155
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1158,
+ "pc": [
+ 156,
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1158,
+ "pc": [
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1158,
+ "pc": [
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1158,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1158,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1158,
+ "pc": [
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1158,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1158,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1158,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1158,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1158,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 1158,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 1158,
+ "pc": [
+ 175,
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1158,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 1158,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 1158,
+ "pc": [
+ 182
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1158,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 1158,
+ "pc": [
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 1158,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 1158,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1158,
+ "pc": [
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1158,
+ "pc": [
+ 192
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIHR5cGVXaXRoQ29tbWVudHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0eXBlV2l0aENvbW1lbnRzKCk6IFQ2CnR5cGVXaXRoQ29tbWVudHM6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE2MAoJLy8gcmV0dXJuIHsKCS8vICAgICAgIGZvbzogJ0hlbGxvIFdvcmxkIScsCgkvLyAgICAgICBiYXI6IDEsCgkvLyAgICAgICBiYXo6IDIsCgkvLyAgICAgfTsKCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMTIgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidHlwZVdpdGhDb21tZW50cygpKHN0cmluZyx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIHR5cGVXaXRoQ29tbWVudHMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0eXBlV2l0aENvbW1lbnRzKCk6IFQ2CnR5cGVXaXRoQ29tbWVudHM6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE2MAoJLy8gcmV0dXJuIHsKCS8vICAgICAgIGZvbzogJ0hlbGxvIFdvcmxkIScsCgkvLyAgICAgICBiYXI6IDEsCgkvLyAgICAgICBiYXo6IDIsCgkvLyAgICAgfTsKCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMTIgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidHlwZVdpdGhDb21tZW50cygpKHN0cmluZyx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.approval.teal b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.approval.teal
index b3b967883..6513cf07e 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc32.json b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc32.json
index 578259ddc..08bdbf905 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKKmFiaV9yb3V0ZV9ub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50OCx1aW50MTYsdWludDhbXSx1aW50MTZbXSx1aW50OFtdKQoJY2FsbHN1YiBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZSgpOiBbdWludDw4PiwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCm5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQyMAoJLy8gZTogdWludDE2W10gPSBbNSwgNl0KCWJ5dGUgMHgwMDA1MDAwNgoJZnJhbWVfYnVyeSAwIC8vIGU6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQyMQoJLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFsxLCAyLCBbMywgNF0sIGUsIFs3LCA4XV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDkgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwMzA0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIDAgLy8gZTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDcwOAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAxIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDIzCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAxIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKKmFiaV9yb3V0ZV9ub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50OCx1aW50MTYsdWludDhbXSx1aW50MTZbXSx1aW50OFtdKQoJY2FsbHN1YiBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZSgpOiBbdWludDw4PiwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCm5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQyMAoJLy8gZTogdWludDE2W10gPSBbNSwgNl0KCWJ5dGUgMHgwMDA1MDAwNgoJZnJhbWVfYnVyeSAwIC8vIGU6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQyMQoJLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFsxLCAyLCBbMywgNF0sIGUsIFs3LCA4XV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDkgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwMzA0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIDAgLy8gZTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDcwOAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAxIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDIzCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAxIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc56_draft.json
index 5a1bd38bd..6b89467a0 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc56_draft.json
@@ -60,748 +60,751 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 418,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 418,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 418,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 418,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 16,
- "source": 418,
- "pc": [
- 12
- ]
- },
- {
- "teal": 17,
- "source": 418,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 18,
- "source": 418,
- "pc": [
- 15
- ]
- },
- {
- "teal": 19,
- "source": 418,
- "pc": [
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41
- ]
- },
- {
- "teal": 23,
- "source": 418,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 42
- ]
- },
- {
- "teal": 28,
- "source": 419,
- "pc": [
- 43,
- 44,
- 45,
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 31,
- "source": 419,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 32,
- "source": 419,
- "pc": [
- 52
- ]
- },
- {
- "teal": 33,
- "source": 419,
- "pc": [
- 53
- ]
- },
- {
- "teal": 34,
- "source": 419,
- "pc": [
- 54
- ]
- },
- {
- "teal": 35,
- "source": 419,
- "pc": [
- 55
- ]
- },
- {
- "teal": 39,
- "source": 419,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 42,
- "source": 419,
- "pc": [
- 59
- ]
- },
- {
- "teal": 43,
- "source": 419,
- "pc": [
- 60
- ]
- },
- {
- "teal": 47,
- "source": 420,
- "pc": [
- 61,
- 62,
- 63,
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 48,
- "source": 420,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 52,
- "source": 421,
- "pc": [
- 69
- ]
- },
- {
- "teal": 53,
- "source": 421,
- "pc": [
- 70
- ]
- },
- {
- "teal": 54,
- "source": 421,
- "pc": [
- 71,
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 55,
- "source": 421,
- "pc": [
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 56,
- "source": 421,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 57,
- "source": 421,
- "pc": [
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 58,
- "source": 421,
- "pc": [
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 59,
- "source": 421,
- "pc": [
- 88,
- 89,
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 60,
- "source": 421,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 61,
- "source": 421,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 62,
- "source": 421,
- "pc": [
- 99
- ]
- },
- {
- "teal": 63,
- "source": 421,
- "pc": [
- 100
- ]
- },
- {
- "teal": 64,
- "source": 421,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 65,
- "source": 421,
- "pc": [
- 103
- ]
- },
- {
- "teal": 66,
- "source": 421,
- "pc": [
- 104
- ]
- },
- {
- "teal": 67,
- "source": 421,
- "pc": [
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 68,
- "source": 421,
- "pc": [
- 108
- ]
- },
- {
- "teal": 69,
- "source": 421,
- "pc": [
- 109
- ]
- },
- {
- "teal": 70,
- "source": 421,
- "pc": [
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 71,
- "source": 421,
- "pc": [
- 113,
- 114,
- 115,
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 72,
- "source": 421,
- "pc": [
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 73,
- "source": 421,
- "pc": [
- 122
- ]
- },
- {
- "teal": 74,
- "source": 421,
- "pc": [
- 123
- ]
- },
- {
- "teal": 75,
- "source": 421,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 79,
- "source": 423,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 82,
- "source": 419,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 85,
- "source": 419,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 86,
- "source": 419,
- "pc": [
- 132
- ]
- },
- {
- "teal": 89,
- "source": 418,
- "pc": [
- 133
- ]
- },
- {
- "teal": 90,
- "source": 418,
- "pc": [
- 134
- ]
- },
- {
- "teal": 93,
- "source": 418,
- "pc": [
- 135,
- 136,
- 137,
- 138,
- 139,
- 140
- ]
- },
- {
- "teal": 94,
- "source": 418,
- "pc": [
- 141,
- 142,
- 143
- ]
- },
- {
- "teal": 95,
- "source": 418,
- "pc": [
- 144,
- 145,
- 146,
- 147
- ]
- },
- {
- "teal": 98,
- "source": 418,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 148
- ]
- },
- {
- "teal": 101,
- "source": 418,
- "pc": [
- 149,
- 150,
- 151,
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 102,
- "source": 418,
- "pc": [
- 155,
- 156,
- 157
- ]
- },
- {
- "teal": 103,
- "source": 418,
- "pc": [
- 158,
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 106,
- "source": 418,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 162
- ]
- },
- {
- "teal": 109,
- "source": 418,
- "pc": [
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 110,
- "source": 418,
- "pc": [
- 166,
- 167
- ]
- },
- {
- "teal": 111,
- "source": 418,
- "pc": [
- 168,
- 169
- ]
- },
- {
- "teal": 112,
- "source": 418,
- "pc": [
- 170
- ]
- },
- {
- "teal": 113,
- "source": 418,
- "pc": [
- 171,
- 172
- ]
- },
- {
- "teal": 114,
- "source": 418,
- "pc": [
- 173,
- 174
- ]
- },
- {
- "teal": 115,
- "source": 418,
- "pc": [
- 175
- ]
- },
- {
- "teal": 118,
- "source": 418,
- "pc": [
- 176,
- 177,
- 178
- ]
- },
- {
- "teal": 119,
- "source": 418,
- "pc": [
- 179,
- 180
- ]
- },
- {
- "teal": 120,
- "source": 418,
- "pc": [
- 181,
- 182
- ]
- },
- {
- "teal": 121,
- "source": 418,
- "pc": [
- 183
- ]
- },
- {
- "teal": 122,
- "source": 418,
- "pc": [
- 184,
- 185
- ]
- },
- {
- "teal": 123,
- "source": 418,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 124,
- "source": 418,
- "pc": [
- 188
- ]
- },
- {
- "teal": 125,
- "source": 418,
- "pc": [
- 189
- ]
- },
- {
- "teal": 126,
- "source": 418,
- "pc": [
- 190,
- 191
- ]
- },
- {
- "teal": 127,
- "source": 418,
- "pc": [
- 192
- ]
- },
- {
- "teal": 128,
- "source": 418,
- "pc": [
- 193
- ]
- },
- {
- "teal": 129,
- "source": 418,
- "pc": [
- 194
- ]
- },
- {
- "teal": 130,
- "source": 418,
- "pc": [
- 195,
- 196,
- 197
- ]
- },
- {
- "teal": 131,
- "source": 418,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 132,
- "source": 418,
- "pc": [
- 200,
- 201
- ]
- },
- {
- "teal": 133,
- "source": 418,
- "pc": [
- 202
- ]
- },
- {
- "teal": 134,
- "source": 418,
- "pc": [
- 203
- ]
- },
- {
- "teal": 135,
- "source": 418,
- "pc": [
- 204,
- 205
- ]
- },
- {
- "teal": 136,
- "source": 418,
- "pc": [
- 206,
- 207
- ]
- },
- {
- "teal": 137,
- "source": 418,
- "pc": [
- 208,
- 209
- ]
- },
- {
- "teal": 138,
- "source": 418,
- "pc": [
- 210,
- 211
- ]
- },
- {
- "teal": 139,
- "source": 418,
- "pc": [
- 212
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 418,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 418,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 418,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 418,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 418,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 418,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 418,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 418,
+ "pc": [
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 418,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 42
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 419,
+ "pc": [
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 419,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 419,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 419,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 419,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 419,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 419,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 419,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 419,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 420,
+ "pc": [
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 420,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 421,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 421,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 421,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 421,
+ "pc": [
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 421,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 421,
+ "pc": [
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 421,
+ "pc": [
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 421,
+ "pc": [
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 421,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 421,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 421,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 421,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 421,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 421,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 421,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 421,
+ "pc": [
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 421,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 421,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 421,
+ "pc": [
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 421,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 421,
+ "pc": [
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 421,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 421,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 421,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 423,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 419,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 419,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 419,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 418,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 418,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 418,
+ "pc": [
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 418,
+ "pc": [
+ 141,
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 418,
+ "pc": [
+ 144,
+ 145,
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 418,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 418,
+ "pc": [
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 418,
+ "pc": [
+ 155,
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 418,
+ "pc": [
+ 158,
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 418,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 418,
+ "pc": [
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 418,
+ "pc": [
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 418,
+ "pc": [
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 418,
+ "pc": [
+ 170
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 418,
+ "pc": [
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 418,
+ "pc": [
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 418,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 418,
+ "pc": [
+ 176,
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 418,
+ "pc": [
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 418,
+ "pc": [
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 418,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 418,
+ "pc": [
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 418,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 418,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 418,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 418,
+ "pc": [
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 418,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 418,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 418,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 418,
+ "pc": [
+ 195,
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 418,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 418,
+ "pc": [
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 418,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 418,
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 418,
+ "pc": [
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 418,
+ "pc": [
+ 206,
+ 207
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 418,
+ "pc": [
+ 208,
+ 209
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 418,
+ "pc": [
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 418,
+ "pc": [
+ 212
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKKmFiaV9yb3V0ZV9ub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50OCx1aW50MTYsdWludDhbXSx1aW50MTZbXSx1aW50OFtdKQoJY2FsbHN1YiBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZSgpOiBbdWludDw4PiwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCm5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQyMAoJLy8gZTogdWludDE2W10gPSBbNSwgNl0KCWJ5dGUgMHgwMDA1MDAwNgoJZnJhbWVfYnVyeSAwIC8vIGU6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQyMQoJLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFsxLCAyLCBbMywgNF0sIGUsIFs3LCA4XV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDkgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwMzA0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIDAgLy8gZTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDcwOAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAxIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDIzCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAxIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKKmFiaV9yb3V0ZV9ub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50OCx1aW50MTYsdWludDhbXSx1aW50MTZbXSx1aW50OFtdKQoJY2FsbHN1YiBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZSgpOiBbdWludDw4PiwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCm5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQyMAoJLy8gZTogdWludDE2W10gPSBbNSwgNl0KCWJ5dGUgMHgwMDA1MDAwNgoJZnJhbWVfYnVyeSAwIC8vIGU6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQyMQoJLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFsxLCAyLCBbMywgNF0sIGUsIFs3LCA4XV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDkgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwMzA0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIDAgLy8gZTogdWludDE2W10KCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDcwOAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAxIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDIzCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAxIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.approval.teal b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.approval.teal
index 8113ef80f..da18520ca 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.approval.teal
+++ b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc32.json b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc32.json
index 9e9314326..353c90373 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc32.json
+++ b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmKCk6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgpub25MaXRlcmFsTmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc3NQoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWzEsIDJdLAoJLy8gICAgICAgWzMsIDRdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMTAyMDMwNAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3ODAKCS8vIGkgPSAxCglpbnQgMQoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9iCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4MwoJLy8gaSA9IDEzMzcKCWludCAxMzM3CglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4NQoJLy8gYlsxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CglmcmFtZV9kaWcgMiAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2IKCWludCAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAxCgkrCglieXRlIDB4MDUKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYjogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4NwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmKCk6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgpub25MaXRlcmFsTmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc3NQoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWzEsIDJdLAoJLy8gICAgICAgWzMsIDRdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMTAyMDMwNAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3ODAKCS8vIGkgPSAxCglpbnQgMQoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9iCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4MwoJLy8gaSA9IDEzMzcKCWludCAxMzM3CglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4NQoJLy8gYlsxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CglmcmFtZV9kaWcgMiAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2IKCWludCAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAxCgkrCglieXRlIDB4MDUKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYjogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4NwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc56_draft.json b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc56_draft.json
index 7e9ceb36a..4ce533a1d 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc56_draft.json
@@ -60,439 +60,442 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 773,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 773,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 773,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 773,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 773,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 773,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 773,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 773,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 773,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 774,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 774,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 774,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 774,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 774,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 774,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 774,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 774,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 43,
- "source": 774,
- "pc": [
- 58,
- 59
- ]
- },
- {
- "teal": 50,
- "source": 775,
- "pc": [
- 60,
- 61,
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 51,
- "source": 775,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 55,
- "source": 780,
- "pc": [
- 68
- ]
- },
- {
- "teal": 56,
- "source": 780,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 57,
- "source": 781,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 58,
- "source": 781,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 62,
- "source": 783,
- "pc": [
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 63,
- "source": 783,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 67,
- "source": 785,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 68,
- "source": 785,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 69,
- "source": 785,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 70,
- "source": 785,
- "pc": [
- 86
- ]
- },
- {
- "teal": 71,
- "source": 785,
- "pc": [
- 87
- ]
- },
- {
- "teal": 72,
- "source": 785,
- "pc": [
- 88
- ]
- },
- {
- "teal": 73,
- "source": 785,
- "pc": [
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 74,
- "source": 785,
- "pc": [
- 92
- ]
- },
- {
- "teal": 75,
- "source": 785,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 79,
- "source": 787,
- "pc": [
- 95,
- 96
- ]
- },
- {
- "teal": 82,
- "source": 774,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 85,
- "source": 774,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 86,
- "source": 774,
- "pc": [
- 101
- ]
- },
- {
- "teal": 89,
- "source": 773,
- "pc": [
- 102
- ]
- },
- {
- "teal": 90,
- "source": 773,
- "pc": [
- 103
- ]
- },
- {
- "teal": 93,
- "source": 773,
- "pc": [
- 104,
- 105,
- 106,
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 94,
- "source": 773,
- "pc": [
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 95,
- "source": 773,
- "pc": [
- 113,
- 114,
- 115,
- 116
- ]
- },
- {
- "teal": 98,
- "source": 773,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 117
- ]
- },
- {
- "teal": 101,
- "source": 773,
- "pc": [
- 118,
- 119,
- 120,
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 102,
- "source": 773,
- "pc": [
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 103,
- "source": 773,
- "pc": [
- 127,
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 106,
- "source": 773,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 131
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 773,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 773,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 773,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 773,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 773,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 773,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 773,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 773,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 773,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 774,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 774,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 774,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 774,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 774,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 774,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 774,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 774,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 774,
+ "pc": [
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 775,
+ "pc": [
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 775,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 780,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 780,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 781,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 781,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 783,
+ "pc": [
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 783,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 785,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 785,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 785,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 785,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 785,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 785,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 785,
+ "pc": [
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 785,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 785,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 787,
+ "pc": [
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 774,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 774,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 774,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 773,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 773,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 773,
+ "pc": [
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 773,
+ "pc": [
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 773,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 773,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 773,
+ "pc": [
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 773,
+ "pc": [
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 773,
+ "pc": [
+ 127,
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 773,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 131
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmKCk6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgpub25MaXRlcmFsTmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc3NQoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWzEsIDJdLAoJLy8gICAgICAgWzMsIDRdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMTAyMDMwNAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3ODAKCS8vIGkgPSAxCglpbnQgMQoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9iCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4MwoJLy8gaSA9IDEzMzcKCWludCAxMzM3CglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4NQoJLy8gYlsxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CglmcmFtZV9kaWcgMiAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2IKCWludCAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAxCgkrCglieXRlIDB4MDUKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYjogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4NwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmKCk6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgpub25MaXRlcmFsTmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc3NQoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWzEsIDJdLAoJLy8gICAgICAgWzMsIDRdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMTAyMDMwNAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3ODAKCS8vIGkgPSAxCglpbnQgMQoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9iCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4MwoJLy8gaSA9IDEzMzcKCWludCAxMzM3CglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4NQoJLy8gYlsxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CglmcmFtZV9kaWcgMiAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2IKCWludCAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludCAxCgkrCglieXRlIDB4MDUKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYjogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc4NwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.approval.teal b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.approval.teal
index 6edb9d818..59ec42b7b 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.approval.teal
+++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc32.json b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc32.json
index d2b74e8b6..4222b96d9 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc32.json
+++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoJY2FsbHN1YiBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKTogdWludDY0Cm5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2CgkvLyBuID0gYnRvaShpdG9iKDIpKQoJaW50IDIKCWZyYW1lX2J1cnkgMSAvLyBuOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTgKCS8vIHJldHVybiBhW25dOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCAxNiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoJY2FsbHN1YiBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKTogdWludDY0Cm5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2CgkvLyBuID0gYnRvaShpdG9iKDIpKQoJaW50IDIKCWZyYW1lX2J1cnkgMSAvLyBuOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTgKCS8vIHJldHVybiBhW25dOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCAxNiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc56_draft.json b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc56_draft.json
index fb0db2393..0c93b930e 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc56_draft.json
@@ -60,380 +60,383 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 53,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 53,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 53,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 53,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 53,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 53,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 53,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 53,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 53,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 54,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 54,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 54,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 54,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 54,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 54,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 54,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 54,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 54,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 44,
- "source": 54,
- "pc": [
- 59
- ]
- },
- {
- "teal": 48,
- "source": 55,
- "pc": [
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 49,
- "source": 55,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 53,
- "source": 56,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 54,
- "source": 56,
- "pc": [
- 90,
- 91
- ]
- },
- {
- "teal": 58,
- "source": 58,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 59,
- "source": 58,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 60,
- "source": 58,
- "pc": [
- 97
- ]
- },
- {
- "teal": 63,
- "source": 54,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 66,
- "source": 54,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 67,
- "source": 54,
- "pc": [
- 102
- ]
- },
- {
- "teal": 70,
- "source": 53,
- "pc": [
- 103
- ]
- },
- {
- "teal": 71,
- "source": 53,
- "pc": [
- 104
- ]
- },
- {
- "teal": 74,
- "source": 53,
- "pc": [
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 75,
- "source": 53,
- "pc": [
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 76,
- "source": 53,
- "pc": [
- 114,
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 79,
- "source": 53,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 118
- ]
- },
- {
- "teal": 82,
- "source": 53,
- "pc": [
- 119,
- 120,
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 83,
- "source": 53,
- "pc": [
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 84,
- "source": 53,
- "pc": [
- 128,
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 87,
- "source": 53,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 132
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 53,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 53,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 53,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 53,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 53,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 53,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 53,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 53,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 53,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 54,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 54,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 54,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 54,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 54,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 54,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 54,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 54,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 54,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 54,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 55,
+ "pc": [
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 55,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 56,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 56,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 58,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 58,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 58,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 54,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 54,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 54,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 53,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 53,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 53,
+ "pc": [
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 53,
+ "pc": [
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 53,
+ "pc": [
+ 114,
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 53,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 53,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 53,
+ "pc": [
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 53,
+ "pc": [
+ 128,
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 53,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 132
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoJY2FsbHN1YiBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKTogdWludDY0Cm5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2CgkvLyBuID0gYnRvaShpdG9iKDIpKQoJaW50IDIKCWZyYW1lX2J1cnkgMSAvLyBuOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTgKCS8vIHJldHVybiBhW25dOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCAxNiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoJY2FsbHN1YiBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKTogdWludDY0Cm5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2CgkvLyBuID0gYnRvaShpdG9iKDIpKQoJaW50IDIKCWZyYW1lX2J1cnkgMSAvLyBuOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTgKCS8vIHJldHVybiBhW25dOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCAxNiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.approval.teal b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.approval.teal
index f9654e61a..031bd3b89 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.approval.teal
+++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc32.json b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc32.json
index 720248462..2a3a920d5 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc32.json
+++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CiphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoJY2FsbHN1YiBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzKCk6IHVpbnQ2NApub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50czoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzMKCS8vIG4xID0gYnRvaShpdG9iKDExKSkKCWludCAxMQoJZnJhbWVfYnVyeSAwIC8vIG4xOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQKCS8vIG4yID0gYnRvaShpdG9iKDIyKSkKCWludCAyMgoJZnJhbWVfYnVyeSAxIC8vIG4yOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzUKCS8vIG4zID0gYnRvaShpdG9iKDMzKSkKCWludCAzMwoJZnJhbWVfYnVyeSAyIC8vIG4zOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzYKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbbjEsIG4yLCBuM10KCWZyYW1lX2RpZyAwIC8vIG4xOiB1aW50NjQKCWl0b2IKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDE2Cgljb25jYXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDIxCgljb25jYXQKCWZyYW1lX2J1cnkgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CiphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoJY2FsbHN1YiBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzKCk6IHVpbnQ2NApub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50czoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzMKCS8vIG4xID0gYnRvaShpdG9iKDExKSkKCWludCAxMQoJZnJhbWVfYnVyeSAwIC8vIG4xOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQKCS8vIG4yID0gYnRvaShpdG9iKDIyKSkKCWludCAyMgoJZnJhbWVfYnVyeSAxIC8vIG4yOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzUKCS8vIG4zID0gYnRvaShpdG9iKDMzKSkKCWludCAzMwoJZnJhbWVfYnVyeSAyIC8vIG4zOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzYKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbbjEsIG4yLCBuM10KCWZyYW1lX2RpZyAwIC8vIG4xOiB1aW50NjQKCWl0b2IKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDE2Cgljb25jYXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDIxCgljb25jYXQKCWZyYW1lX2J1cnkgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc56_draft.json b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc56_draft.json
index 23fe6c4fe..499099990 100644
--- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc56_draft.json
@@ -60,442 +60,445 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 31,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 31,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 31,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 31,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 31,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 31,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 31,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 31,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 31,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 32,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 32,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 32,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 32,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 32,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 32,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 32,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 32,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 32,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 44,
- "source": 32,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 48,
- "source": 33,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 49,
- "source": 33,
- "pc": [
- 63,
- 64
- ]
- },
- {
- "teal": 53,
- "source": 34,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 54,
- "source": 34,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 58,
- "source": 35,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 59,
- "source": 35,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 63,
- "source": 36,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 64,
- "source": 36,
- "pc": [
- 75
- ]
- },
- {
- "teal": 65,
- "source": 36,
- "pc": [
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 66,
- "source": 36,
- "pc": [
- 86
- ]
- },
- {
- "teal": 67,
- "source": 36,
- "pc": [
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 68,
- "source": 36,
- "pc": [
- 97
- ]
- },
- {
- "teal": 69,
- "source": 36,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 73,
- "source": 38,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 74,
- "source": 38,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 75,
- "source": 38,
- "pc": [
- 105
- ]
- },
- {
- "teal": 78,
- "source": 32,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 81,
- "source": 32,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 82,
- "source": 32,
- "pc": [
- 110
- ]
- },
- {
- "teal": 85,
- "source": 31,
- "pc": [
- 111
- ]
- },
- {
- "teal": 86,
- "source": 31,
- "pc": [
- 112
- ]
- },
- {
- "teal": 89,
- "source": 31,
- "pc": [
- 113,
- 114,
- 115,
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 90,
- "source": 31,
- "pc": [
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 91,
- "source": 31,
- "pc": [
- 122,
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 94,
- "source": 31,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 126
- ]
- },
- {
- "teal": 97,
- "source": 31,
- "pc": [
- 127,
- 128,
- 129,
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 98,
- "source": 31,
- "pc": [
- 133,
- 134,
- 135
- ]
- },
- {
- "teal": 99,
- "source": 31,
- "pc": [
- 136,
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 102,
- "source": 31,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 140
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 31,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 31,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 31,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 31,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 31,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 31,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 31,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 31,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 31,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 32,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 32,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 32,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 32,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 32,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 32,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 32,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 32,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 32,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 32,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 33,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 33,
+ "pc": [
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 34,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 34,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 35,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 35,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 36,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 36,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 36,
+ "pc": [
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 36,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 36,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 36,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 36,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 38,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 38,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 38,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 32,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 32,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 32,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 31,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 31,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 31,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 31,
+ "pc": [
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 31,
+ "pc": [
+ 122,
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 31,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 31,
+ "pc": [
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 31,
+ "pc": [
+ 133,
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 31,
+ "pc": [
+ 136,
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 31,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 140
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CiphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoJY2FsbHN1YiBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzKCk6IHVpbnQ2NApub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50czoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzMKCS8vIG4xID0gYnRvaShpdG9iKDExKSkKCWludCAxMQoJZnJhbWVfYnVyeSAwIC8vIG4xOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQKCS8vIG4yID0gYnRvaShpdG9iKDIyKSkKCWludCAyMgoJZnJhbWVfYnVyeSAxIC8vIG4yOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzUKCS8vIG4zID0gYnRvaShpdG9iKDMzKSkKCWludCAzMwoJZnJhbWVfYnVyeSAyIC8vIG4zOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzYKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbbjEsIG4yLCBuM10KCWZyYW1lX2RpZyAwIC8vIG4xOiB1aW50NjQKCWl0b2IKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDE2Cgljb25jYXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDIxCgljb25jYXQKCWZyYW1lX2J1cnkgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CiphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoJY2FsbHN1YiBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzKCk6IHVpbnQ2NApub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50czoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzMKCS8vIG4xID0gYnRvaShpdG9iKDExKSkKCWludCAxMQoJZnJhbWVfYnVyeSAwIC8vIG4xOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQKCS8vIG4yID0gYnRvaShpdG9iKDIyKSkKCWludCAyMgoJZnJhbWVfYnVyeSAxIC8vIG4yOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzUKCS8vIG4zID0gYnRvaShpdG9iKDMzKSkKCWludCAzMwoJZnJhbWVfYnVyeSAyIC8vIG4zOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzYKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbbjEsIG4yLCBuM10KCWZyYW1lX2RpZyAwIC8vIG4xOiB1aW50NjQKCWl0b2IKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDE2Cgljb25jYXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDIxCgljb25jYXQKCWZyYW1lX2J1cnkgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestObjectArrayRef.approval.teal b/tests/contracts/artifacts/ABITestObjectArrayRef.approval.teal
index 3ea0b991d..9d7c238ae 100644
--- a/tests/contracts/artifacts/ABITestObjectArrayRef.approval.teal
+++ b/tests/contracts/artifacts/ABITestObjectArrayRef.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestObjectArrayRef.arc32.json b/tests/contracts/artifacts/ABITestObjectArrayRef.arc32.json
index 1acf2fba3..9eb7977aa 100644
--- a/tests/contracts/artifacts/ABITestObjectArrayRef.arc32.json
+++ b/tests/contracts/artifacts/ABITestObjectArrayRef.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKQoqYWJpX3JvdXRlX29iamVjdEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdEFycmF5UmVmKCkodWludDhbMl1bMl0pCgljYWxsc3ViIG9iamVjdEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gb2JqZWN0QXJyYXlSZWYoKTogT2JqZWN0UmVmVHlwZQpvYmplY3RBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgxNwoJLy8gYTogT2JqZWN0UmVmVHlwZSA9IHsKCS8vICAgICAgIGZvbzogWwoJLy8gICAgICAgICBbMSwgMl0sCgkvLyAgICAgICAgIFszLCA0XSwKCS8vICAgICAgIF0sCgkvLyAgICAgfQoJYnl0ZSAweDAxMDIwMzA0CglmcmFtZV9idXJ5IDAgLy8gYTogT2JqZWN0UmVmVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MjQKCS8vIGMgPSBiWzFdCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODI2CgkvLyBjWzFdID0gNSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCglieXRlIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBjOiBPYmplY3RSZWZUeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyOAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0QXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKQoqYWJpX3JvdXRlX29iamVjdEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdEFycmF5UmVmKCkodWludDhbMl1bMl0pCgljYWxsc3ViIG9iamVjdEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gb2JqZWN0QXJyYXlSZWYoKTogT2JqZWN0UmVmVHlwZQpvYmplY3RBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgxNwoJLy8gYTogT2JqZWN0UmVmVHlwZSA9IHsKCS8vICAgICAgIGZvbzogWwoJLy8gICAgICAgICBbMSwgMl0sCgkvLyAgICAgICAgIFszLCA0XSwKCS8vICAgICAgIF0sCgkvLyAgICAgfQoJYnl0ZSAweDAxMDIwMzA0CglmcmFtZV9idXJ5IDAgLy8gYTogT2JqZWN0UmVmVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MjQKCS8vIGMgPSBiWzFdCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODI2CgkvLyBjWzFdID0gNSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCglieXRlIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBjOiBPYmplY3RSZWZUeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyOAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0QXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestObjectArrayRef.arc56_draft.json b/tests/contracts/artifacts/ABITestObjectArrayRef.arc56_draft.json
index 0679ed3ea..820dd6b3d 100644
--- a/tests/contracts/artifacts/ABITestObjectArrayRef.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestObjectArrayRef.arc56_draft.json
@@ -35,9 +35,12 @@
56
],
"structs": {
- "ObjectRefType": {
- "foo": "uint8[2][2]"
- }
+ "ObjectRefType": [
+ {
+ "name": "foo",
+ "type": "uint8[2][2]"
+ }
+ ]
},
"state": {
"schema": {
@@ -65,339 +68,342 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 815,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 815,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 815,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 815,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 815,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 815,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 815,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 815,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 815,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 816,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 816,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 816,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 816,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 816,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 816,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 816,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 816,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 51,
- "source": 818,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 52,
- "source": 817,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 58,
- "source": 826,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 59,
- "source": 826,
- "pc": [
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 60,
- "source": 826,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 61,
- "source": 826,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 65,
- "source": 828,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 68,
- "source": 816,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 69,
- "source": 816,
- "pc": [
- 79
- ]
- },
- {
- "teal": 72,
- "source": 815,
- "pc": [
- 80
- ]
- },
- {
- "teal": 73,
- "source": 815,
- "pc": [
- 81
- ]
- },
- {
- "teal": 76,
- "source": 815,
- "pc": [
- 82,
- 83,
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 77,
- "source": 815,
- "pc": [
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 78,
- "source": 815,
- "pc": [
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 81,
- "source": 815,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 95
- ]
- },
- {
- "teal": 84,
- "source": 815,
- "pc": [
- 96,
- 97,
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 85,
- "source": 815,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 86,
- "source": 815,
- "pc": [
- 105,
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 89,
- "source": 815,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 109
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 815,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 815,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 815,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 815,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 815,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 815,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 815,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 815,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 815,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 816,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 816,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 816,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 816,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 816,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 816,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 816,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 816,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 818,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 817,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 826,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 826,
+ "pc": [
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 826,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 826,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 828,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 816,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 816,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 815,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 815,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 815,
+ "pc": [
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 815,
+ "pc": [
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 815,
+ "pc": [
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 815,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 815,
+ "pc": [
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 815,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 815,
+ "pc": [
+ 105,
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 815,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 109
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKQoqYWJpX3JvdXRlX29iamVjdEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdEFycmF5UmVmKCkodWludDhbMl1bMl0pCgljYWxsc3ViIG9iamVjdEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gb2JqZWN0QXJyYXlSZWYoKTogT2JqZWN0UmVmVHlwZQpvYmplY3RBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgxNwoJLy8gYTogT2JqZWN0UmVmVHlwZSA9IHsKCS8vICAgICAgIGZvbzogWwoJLy8gICAgICAgICBbMSwgMl0sCgkvLyAgICAgICAgIFszLCA0XSwKCS8vICAgICAgIF0sCgkvLyAgICAgfQoJYnl0ZSAweDAxMDIwMzA0CglmcmFtZV9idXJ5IDAgLy8gYTogT2JqZWN0UmVmVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MjQKCS8vIGMgPSBiWzFdCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODI2CgkvLyBjWzFdID0gNSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCglieXRlIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBjOiBPYmplY3RSZWZUeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyOAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0QXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKQoqYWJpX3JvdXRlX29iamVjdEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdEFycmF5UmVmKCkodWludDhbMl1bMl0pCgljYWxsc3ViIG9iamVjdEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gb2JqZWN0QXJyYXlSZWYoKTogT2JqZWN0UmVmVHlwZQpvYmplY3RBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgxNwoJLy8gYTogT2JqZWN0UmVmVHlwZSA9IHsKCS8vICAgICAgIGZvbzogWwoJLy8gICAgICAgICBbMSwgMl0sCgkvLyAgICAgICAgIFszLCA0XSwKCS8vICAgICAgIF0sCgkvLyAgICAgfQoJYnl0ZSAweDAxMDIwMzA0CglmcmFtZV9idXJ5IDAgLy8gYTogT2JqZWN0UmVmVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MjQKCS8vIGMgPSBiWzFdCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODI2CgkvLyBjWzFdID0gNSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCglieXRlIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBjOiBPYmplY3RSZWZUeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyOAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0QXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestObjectInArgs.approval.teal b/tests/contracts/artifacts/ABITestObjectInArgs.approval.teal
index bc9772628..0b1b71a10 100644
--- a/tests/contracts/artifacts/ABITestObjectInArgs.approval.teal
+++ b/tests/contracts/artifacts/ABITestObjectInArgs.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestObjectInArgs.arc32.json b/tests/contracts/artifacts/ABITestObjectInArgs.arc32.json
index 62792ed1e..82d00352a 100644
--- a/tests/contracts/artifacts/ABITestObjectInArgs.arc32.json
+++ b/tests/contracts/artifacts/ABITestObjectInArgs.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcml2YXRlTWV0aG9kKGE6IEFkZHJlc3MsIG9iajogT2JqZWN0SW5BcmdzVHlwZSk6IHVpbnQ2NApwcml2YXRlTWV0aG9kOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MDQKCS8vIHJldHVybiBvYmouYmFyICsgb2JqLmZvbzsKCWZyYW1lX2RpZyAtMiAvLyBvYmo6IE9iamVjdEluQXJnc1R5cGUKCWV4dHJhY3QgOCA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gb2JqOiBPYmplY3RJbkFyZ3NUeXBlCglleHRyYWN0IDAgOAoJYnRvaQoJKwoJcmV0c3ViCgovLyBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoqYWJpX3JvdXRlX29iamVjdEluQXJnczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoJY2FsbHN1YiBvYmplY3RJbkFyZ3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBvYmplY3RJbkFyZ3MoKTogdWludDY0Cm9iamVjdEluQXJnczoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA4CgkvLyByZXR1cm4gdGhpcy5wcml2YXRlTWV0aG9kKHRoaXMudHhuLnNlbmRlciwgeyBmb286IDEsIGJhcjogMiB9KTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwcml2YXRlTWV0aG9kCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvYmplY3RJbkFyZ3MoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0SW5BcmdzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcml2YXRlTWV0aG9kKGE6IEFkZHJlc3MsIG9iajogT2JqZWN0SW5BcmdzVHlwZSk6IHVpbnQ2NApwcml2YXRlTWV0aG9kOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MDQKCS8vIHJldHVybiBvYmouYmFyICsgb2JqLmZvbzsKCWZyYW1lX2RpZyAtMiAvLyBvYmo6IE9iamVjdEluQXJnc1R5cGUKCWV4dHJhY3QgOCA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gb2JqOiBPYmplY3RJbkFyZ3NUeXBlCglleHRyYWN0IDAgOAoJYnRvaQoJKwoJcmV0c3ViCgovLyBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoqYWJpX3JvdXRlX29iamVjdEluQXJnczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoJY2FsbHN1YiBvYmplY3RJbkFyZ3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBvYmplY3RJbkFyZ3MoKTogdWludDY0Cm9iamVjdEluQXJnczoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA4CgkvLyByZXR1cm4gdGhpcy5wcml2YXRlTWV0aG9kKHRoaXMudHhuLnNlbmRlciwgeyBmb286IDEsIGJhcjogMiB9KTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwcml2YXRlTWV0aG9kCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvYmplY3RJbkFyZ3MoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0SW5BcmdzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestObjectInArgs.arc56_draft.json b/tests/contracts/artifacts/ABITestObjectInArgs.arc56_draft.json
index c7190cb32..23214b859 100644
--- a/tests/contracts/artifacts/ABITestObjectInArgs.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestObjectInArgs.arc56_draft.json
@@ -60,381 +60,384 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1402,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1402,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1402,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1402,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1402,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1402,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1402,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1402,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1402,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 27,
- "source": 1403,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 31,
- "source": 1404,
- "pc": [
- 43,
- 44
- ]
- },
- {
- "teal": 32,
- "source": 1404,
- "pc": [
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 33,
- "source": 1404,
- "pc": [
- 48
- ]
- },
- {
- "teal": 34,
- "source": 1404,
- "pc": [
- 49,
- 50
- ]
- },
- {
- "teal": 35,
- "source": 1404,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 36,
- "source": 1404,
- "pc": [
- 54
- ]
- },
- {
- "teal": 37,
- "source": 1404,
- "pc": [
- 55
- ]
- },
- {
- "teal": 38,
- "source": 1403,
- "pc": [
- 56
- ]
- },
- {
- "teal": 43,
- "source": 1407,
- "pc": [
- 57,
- 58,
- 59,
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 46,
- "source": 1407,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 47,
- "source": 1407,
- "pc": [
- 66
- ]
- },
- {
- "teal": 48,
- "source": 1407,
- "pc": [
- 67
- ]
- },
- {
- "teal": 49,
- "source": 1407,
- "pc": [
- 68
- ]
- },
- {
- "teal": 50,
- "source": 1407,
- "pc": [
- 69
- ]
- },
- {
- "teal": 51,
- "source": 1407,
- "pc": [
- 70
- ]
- },
- {
- "teal": 55,
- "source": 1407,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 59,
- "source": 1408,
- "pc": [
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 60,
- "source": 1408,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 61,
- "source": 1408,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 62,
- "source": 1407,
- "pc": [
- 97
- ]
- },
- {
- "teal": 65,
- "source": 1402,
- "pc": [
- 98
- ]
- },
- {
- "teal": 66,
- "source": 1402,
- "pc": [
- 99
- ]
- },
- {
- "teal": 69,
- "source": 1402,
- "pc": [
- 100,
- 101,
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 70,
- "source": 1402,
- "pc": [
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 71,
- "source": 1402,
- "pc": [
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 74,
- "source": 1402,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 113
- ]
- },
- {
- "teal": 77,
- "source": 1402,
- "pc": [
- 114,
- 115,
- 116,
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 78,
- "source": 1402,
- "pc": [
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 79,
- "source": 1402,
- "pc": [
- 123,
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 82,
- "source": 1402,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 127
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1402,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1402,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1402,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1402,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1402,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1402,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1402,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1402,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1402,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 27,
+ "source": 1403,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1404,
+ "pc": [
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1404,
+ "pc": [
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1404,
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1404,
+ "pc": [
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1404,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1404,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1404,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1403,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1407,
+ "pc": [
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1407,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1407,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1407,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1407,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1407,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1407,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1407,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1408,
+ "pc": [
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1408,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1408,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1407,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1402,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1402,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1402,
+ "pc": [
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1402,
+ "pc": [
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1402,
+ "pc": [
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1402,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1402,
+ "pc": [
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1402,
+ "pc": [
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1402,
+ "pc": [
+ 123,
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1402,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 127
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcml2YXRlTWV0aG9kKGE6IEFkZHJlc3MsIG9iajogT2JqZWN0SW5BcmdzVHlwZSk6IHVpbnQ2NApwcml2YXRlTWV0aG9kOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MDQKCS8vIHJldHVybiBvYmouYmFyICsgb2JqLmZvbzsKCWZyYW1lX2RpZyAtMiAvLyBvYmo6IE9iamVjdEluQXJnc1R5cGUKCWV4dHJhY3QgOCA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gb2JqOiBPYmplY3RJbkFyZ3NUeXBlCglleHRyYWN0IDAgOAoJYnRvaQoJKwoJcmV0c3ViCgovLyBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoqYWJpX3JvdXRlX29iamVjdEluQXJnczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoJY2FsbHN1YiBvYmplY3RJbkFyZ3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBvYmplY3RJbkFyZ3MoKTogdWludDY0Cm9iamVjdEluQXJnczoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA4CgkvLyByZXR1cm4gdGhpcy5wcml2YXRlTWV0aG9kKHRoaXMudHhuLnNlbmRlciwgeyBmb286IDEsIGJhcjogMiB9KTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwcml2YXRlTWV0aG9kCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvYmplY3RJbkFyZ3MoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0SW5BcmdzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcml2YXRlTWV0aG9kKGE6IEFkZHJlc3MsIG9iajogT2JqZWN0SW5BcmdzVHlwZSk6IHVpbnQ2NApwcml2YXRlTWV0aG9kOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MDQKCS8vIHJldHVybiBvYmouYmFyICsgb2JqLmZvbzsKCWZyYW1lX2RpZyAtMiAvLyBvYmo6IE9iamVjdEluQXJnc1R5cGUKCWV4dHJhY3QgOCA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gb2JqOiBPYmplY3RJbkFyZ3NUeXBlCglleHRyYWN0IDAgOAoJYnRvaQoJKwoJcmV0c3ViCgovLyBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoqYWJpX3JvdXRlX29iamVjdEluQXJnczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoJY2FsbHN1YiBvYmplY3RJbkFyZ3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBvYmplY3RJbkFyZ3MoKTogdWludDY0Cm9iamVjdEluQXJnczoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA4CgkvLyByZXR1cm4gdGhpcy5wcml2YXRlTWV0aG9kKHRoaXMudHhuLnNlbmRlciwgeyBmb286IDEsIGJhcjogMiB9KTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwcml2YXRlTWV0aG9kCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvYmplY3RJbkFyZ3MoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0SW5BcmdzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestObjectRef.approval.teal b/tests/contracts/artifacts/ABITestObjectRef.approval.teal
index 5a92e3db1..34a8f1149 100644
--- a/tests/contracts/artifacts/ABITestObjectRef.approval.teal
+++ b/tests/contracts/artifacts/ABITestObjectRef.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestObjectRef.arc32.json b/tests/contracts/artifacts/ABITestObjectRef.arc32.json
index e0aebc22e..b7aa27050 100644
--- a/tests/contracts/artifacts/ABITestObjectRef.arc32.json
+++ b/tests/contracts/artifacts/ABITestObjectRef.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvYmplY3RSZWYoKSh1aW50NjQpCiphYmlfcm91dGVfb2JqZWN0UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdFJlZigpKHVpbnQ2NCkKCWNhbGxzdWIgb2JqZWN0UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gb2JqZWN0UmVmKCk6IHsgZm9vOiB1aW50NjQgfQpvYmplY3RSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5ODYKCS8vIG86IHsgZm9vOiB1aW50NjQgfSA9IHsgZm9vOiAxIH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gbzogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MAoJLy8gci5mb28gPSAyCglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gcjogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MgoJLy8gcmV0dXJuIG87CglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm9iamVjdFJlZigpKHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29iamVjdFJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvYmplY3RSZWYoKSh1aW50NjQpCiphYmlfcm91dGVfb2JqZWN0UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdFJlZigpKHVpbnQ2NCkKCWNhbGxzdWIgb2JqZWN0UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gb2JqZWN0UmVmKCk6IHsgZm9vOiB1aW50NjQgfQpvYmplY3RSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5ODYKCS8vIG86IHsgZm9vOiB1aW50NjQgfSA9IHsgZm9vOiAxIH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gbzogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MAoJLy8gci5mb28gPSAyCglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gcjogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MgoJLy8gcmV0dXJuIG87CglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm9iamVjdFJlZigpKHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29iamVjdFJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestObjectRef.arc56_draft.json b/tests/contracts/artifacts/ABITestObjectRef.arc56_draft.json
index 6210bf87d..af85379ed 100644
--- a/tests/contracts/artifacts/ABITestObjectRef.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestObjectRef.arc56_draft.json
@@ -35,9 +35,12 @@
56
],
"structs": {
- "{ foo: uint64; }": {
- "foo": "uint64"
- }
+ "{ foo: uint64; }": [
+ {
+ "name": "foo",
+ "type": "uint64"
+ }
+ ]
},
"state": {
"schema": {
@@ -65,350 +68,353 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 984,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 984,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 984,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 984,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 984,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 984,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 984,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 984,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 984,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 985,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 985,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 985,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 985,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 985,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 985,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 985,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 985,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 46,
- "source": 986,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 47,
- "source": 986,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 51,
- "source": 990,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 52,
- "source": 990,
- "pc": [
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 53,
- "source": 990,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 54,
- "source": 990,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 58,
- "source": 992,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 61,
- "source": 985,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 62,
- "source": 985,
- "pc": [
- 90
- ]
- },
- {
- "teal": 65,
- "source": 984,
- "pc": [
- 91
- ]
- },
- {
- "teal": 66,
- "source": 984,
- "pc": [
- 92
- ]
- },
- {
- "teal": 69,
- "source": 984,
- "pc": [
- 93,
- 94,
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 70,
- "source": 984,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 71,
- "source": 984,
- "pc": [
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 74,
- "source": 984,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 106
- ]
- },
- {
- "teal": 77,
- "source": 984,
- "pc": [
- 107,
- 108,
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 78,
- "source": 984,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 79,
- "source": 984,
- "pc": [
- 116,
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 82,
- "source": 984,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 120
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 984,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 984,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 984,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 984,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 984,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 984,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 984,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 984,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 984,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 985,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 985,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 985,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 985,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 985,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 985,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 985,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 985,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 986,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 986,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 990,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 990,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 990,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 990,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 992,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 985,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 985,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 984,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 984,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 984,
+ "pc": [
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 984,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 984,
+ "pc": [
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 984,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 984,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 984,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 984,
+ "pc": [
+ 116,
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 984,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 120
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvYmplY3RSZWYoKSh1aW50NjQpCiphYmlfcm91dGVfb2JqZWN0UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdFJlZigpKHVpbnQ2NCkKCWNhbGxzdWIgb2JqZWN0UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gb2JqZWN0UmVmKCk6IHsgZm9vOiB1aW50NjQgfQpvYmplY3RSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5ODYKCS8vIG86IHsgZm9vOiB1aW50NjQgfSA9IHsgZm9vOiAxIH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gbzogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MAoJLy8gci5mb28gPSAyCglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gcjogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MgoJLy8gcmV0dXJuIG87CglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm9iamVjdFJlZigpKHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29iamVjdFJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvYmplY3RSZWYoKSh1aW50NjQpCiphYmlfcm91dGVfb2JqZWN0UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdFJlZigpKHVpbnQ2NCkKCWNhbGxzdWIgb2JqZWN0UmVmCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gb2JqZWN0UmVmKCk6IHsgZm9vOiB1aW50NjQgfQpvYmplY3RSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5ODYKCS8vIG86IHsgZm9vOiB1aW50NjQgfSA9IHsgZm9vOiAxIH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gbzogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MAoJLy8gci5mb28gPSAyCglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gcjogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MgoJLy8gcmV0dXJuIG87CglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgIm9iamVjdFJlZigpKHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29iamVjdFJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.approval.teal b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.approval.teal
index 97f9b4e03..857627ecd 100644
--- a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.approval.teal
+++ b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc32.json b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc32.json
index 662f5ae86..5042376e0 100644
--- a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc32.json
+++ b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvcGNvZGVQYXJhbUZyb21PYmplY3QoKWFkZHJlc3MKKmFiaV9yb3V0ZV9vcGNvZGVQYXJhbUZyb21PYmplY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCgljYWxsc3ViIG9wY29kZVBhcmFtRnJvbU9iamVjdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG9wY29kZVBhcmFtRnJvbU9iamVjdCgpOiBBZGRyZXNzCm9wY29kZVBhcmFtRnJvbU9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjcKCS8vIGE6IHsgbXlBcHA6IEFwcElEIH0gPSB7IG15QXBwOiB0aGlzLmFwcCB9Cgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglmcmFtZV9idXJ5IDAgLy8gYTogeyBteUFwcDogQXBwSUQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDY5CgkvLyByZXR1cm4gdGhpcy5hcHAuYWRkcmVzczsKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvcGNvZGVQYXJhbUZyb21PYmplY3QoKWFkZHJlc3MiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wY29kZVBhcmFtRnJvbU9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvcGNvZGVQYXJhbUZyb21PYmplY3QoKWFkZHJlc3MKKmFiaV9yb3V0ZV9vcGNvZGVQYXJhbUZyb21PYmplY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCgljYWxsc3ViIG9wY29kZVBhcmFtRnJvbU9iamVjdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG9wY29kZVBhcmFtRnJvbU9iamVjdCgpOiBBZGRyZXNzCm9wY29kZVBhcmFtRnJvbU9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjcKCS8vIGE6IHsgbXlBcHA6IEFwcElEIH0gPSB7IG15QXBwOiB0aGlzLmFwcCB9Cgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglmcmFtZV9idXJ5IDAgLy8gYTogeyBteUFwcDogQXBwSUQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDY5CgkvLyByZXR1cm4gdGhpcy5hcHAuYWRkcmVzczsKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvcGNvZGVQYXJhbUZyb21PYmplY3QoKWFkZHJlc3MiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wY29kZVBhcmFtRnJvbU9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc56_draft.json b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc56_draft.json
index ecf806f53..e54413fa8 100644
--- a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc56_draft.json
@@ -60,310 +60,313 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1065,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1065,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1065,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1065,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1065,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1065,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1065,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1065,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1065,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1066,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1066,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1066,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1066,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1066,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1066,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 1066,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 1066,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 46,
- "source": 1067,
- "pc": [
- 58,
- 59,
- 60
- ]
- },
- {
- "teal": 47,
- "source": 1067,
- "pc": [
- 61
- ]
- },
- {
- "teal": 48,
- "source": 1067,
- "pc": [
- 62,
- 63
- ]
- },
- {
- "teal": 52,
- "source": 1069,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 55,
- "source": 1066,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 56,
- "source": 1066,
- "pc": [
- 68
- ]
- },
- {
- "teal": 59,
- "source": 1065,
- "pc": [
- 69
- ]
- },
- {
- "teal": 60,
- "source": 1065,
- "pc": [
- 70
- ]
- },
- {
- "teal": 63,
- "source": 1065,
- "pc": [
- 71,
- 72,
- 73,
- 74,
- 75,
- 76
- ]
- },
- {
- "teal": 64,
- "source": 1065,
- "pc": [
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 65,
- "source": 1065,
- "pc": [
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 68,
- "source": 1065,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 84
- ]
- },
- {
- "teal": 71,
- "source": 1065,
- "pc": [
- 85,
- 86,
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 72,
- "source": 1065,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 73,
- "source": 1065,
- "pc": [
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 76,
- "source": 1065,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 98
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1065,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1065,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1065,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1065,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1065,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1065,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1065,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1065,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1065,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1066,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1066,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1066,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1066,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1066,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1066,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1066,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1066,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1067,
+ "pc": [
+ 58,
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1067,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1067,
+ "pc": [
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1069,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1066,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1066,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1065,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1065,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1065,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1065,
+ "pc": [
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1065,
+ "pc": [
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1065,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1065,
+ "pc": [
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1065,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1065,
+ "pc": [
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1065,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 98
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvcGNvZGVQYXJhbUZyb21PYmplY3QoKWFkZHJlc3MKKmFiaV9yb3V0ZV9vcGNvZGVQYXJhbUZyb21PYmplY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCgljYWxsc3ViIG9wY29kZVBhcmFtRnJvbU9iamVjdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG9wY29kZVBhcmFtRnJvbU9iamVjdCgpOiBBZGRyZXNzCm9wY29kZVBhcmFtRnJvbU9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjcKCS8vIGE6IHsgbXlBcHA6IEFwcElEIH0gPSB7IG15QXBwOiB0aGlzLmFwcCB9Cgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglmcmFtZV9idXJ5IDAgLy8gYTogeyBteUFwcDogQXBwSUQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDY5CgkvLyByZXR1cm4gdGhpcy5hcHAuYWRkcmVzczsKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvcGNvZGVQYXJhbUZyb21PYmplY3QoKWFkZHJlc3MiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wY29kZVBhcmFtRnJvbU9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBvcGNvZGVQYXJhbUZyb21PYmplY3QoKWFkZHJlc3MKKmFiaV9yb3V0ZV9vcGNvZGVQYXJhbUZyb21PYmplY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCgljYWxsc3ViIG9wY29kZVBhcmFtRnJvbU9iamVjdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG9wY29kZVBhcmFtRnJvbU9iamVjdCgpOiBBZGRyZXNzCm9wY29kZVBhcmFtRnJvbU9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjcKCS8vIGE6IHsgbXlBcHA6IEFwcElEIH0gPSB7IG15QXBwOiB0aGlzLmFwcCB9Cgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglmcmFtZV9idXJ5IDAgLy8gYTogeyBteUFwcDogQXBwSUQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDY5CgkvLyByZXR1cm4gdGhpcy5hcHAuYWRkcmVzczsKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJvcGNvZGVQYXJhbUZyb21PYmplY3QoKWFkZHJlc3MiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wY29kZVBhcmFtRnJvbU9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestPartialStaticArray.approval.teal b/tests/contracts/artifacts/ABITestPartialStaticArray.approval.teal
index 1c2f0f410..ff2fa8e5f 100644
--- a/tests/contracts/artifacts/ABITestPartialStaticArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestPartialStaticArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestPartialStaticArray.arc32.json b/tests/contracts/artifacts/ABITestPartialStaticArray.arc32.json
index 38550497a..af1b2c9b7 100644
--- a/tests/contracts/artifacts/ABITestPartialStaticArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestPartialStaticArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NTAKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4gPSBbMV0KCWJ5dGUgMHgwMDAxMDAwMDAwMDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg1MgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NTAKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4gPSBbMV0KCWJ5dGUgMHgwMDAxMDAwMDAwMDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg1MgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestPartialStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestPartialStaticArray.arc56_draft.json
index 579b14b6a..072e5b2ad 100644
--- a/tests/contracts/artifacts/ABITestPartialStaticArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestPartialStaticArray.arc56_draft.json
@@ -60,308 +60,311 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 848,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 848,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 848,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 848,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 848,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 848,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 848,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 848,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 848,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 849,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 849,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 849,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 849,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 849,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 849,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 849,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 849,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 46,
- "source": 850,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 47,
- "source": 850,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 51,
- "source": 852,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 54,
- "source": 849,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 55,
- "source": 849,
- "pc": [
- 72
- ]
- },
- {
- "teal": 58,
- "source": 848,
- "pc": [
- 73
- ]
- },
- {
- "teal": 59,
- "source": 848,
- "pc": [
- 74
- ]
- },
- {
- "teal": 62,
- "source": 848,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 63,
- "source": 848,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 64,
- "source": 848,
- "pc": [
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 67,
- "source": 848,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 88
- ]
- },
- {
- "teal": 70,
- "source": 848,
- "pc": [
- 89,
- 90,
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 71,
- "source": 848,
- "pc": [
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 72,
- "source": 848,
- "pc": [
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 75,
- "source": 848,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 102
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 848,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 848,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 848,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 848,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 848,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 848,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 848,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 848,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 848,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 849,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 849,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 849,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 849,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 849,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 849,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 849,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 849,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 850,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 850,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 852,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 849,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 849,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 848,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 848,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 848,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 848,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 848,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 848,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 848,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 848,
+ "pc": [
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 848,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 848,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 102
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NTAKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4gPSBbMV0KCWJ5dGUgMHgwMDAxMDAwMDAwMDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg1MgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NTAKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4gPSBbMV0KCWJ5dGUgMHgwMDAxMDAwMDAwMDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg1MgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.approval.teal b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.approval.teal
index b89d0894d..65aa99b6b 100644
--- a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.approval.teal
+++ b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc32.json b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc32.json
index cf4e1485f..702613fc9 100644
--- a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc32.json
+++ b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzQXJyYXlWYWx1ZSgpdWludDY0WzJdCiphYmlfcm91dGVfcGx1c0VxdWFsc0FycmF5VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoJY2FsbHN1YiBwbHVzRXF1YWxzQXJyYXlWYWx1ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNBcnJheVZhbHVlKCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KcGx1c0VxdWFsc0FycmF5VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjMzCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+ID0gWzEsIDJdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzQKCS8vIGFbMV0gKz0gMQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoJaW50IDgKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzUKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc0FycmF5VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzQXJyYXlWYWx1ZSgpdWludDY0WzJdCiphYmlfcm91dGVfcGx1c0VxdWFsc0FycmF5VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoJY2FsbHN1YiBwbHVzRXF1YWxzQXJyYXlWYWx1ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNBcnJheVZhbHVlKCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KcGx1c0VxdWFsc0FycmF5VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjMzCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+ID0gWzEsIDJdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzQKCS8vIGFbMV0gKz0gMQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoJaW50IDgKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzUKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc0FycmF5VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc56_draft.json b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc56_draft.json
index e89338f5c..3b8367dfc 100644
--- a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc56_draft.json
@@ -60,394 +60,397 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1231,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1231,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1231,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1231,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1231,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1231,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1231,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1231,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1231,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1232,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1232,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1232,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1232,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1232,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1232,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 1232,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 1232,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 46,
- "source": 1233,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75
- ]
- },
- {
- "teal": 47,
- "source": 1233,
- "pc": [
- 76,
- 77
- ]
- },
- {
- "teal": 51,
- "source": 1234,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 52,
- "source": 1234,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 53,
- "source": 1234,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 54,
- "source": 1234,
- "pc": [
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 55,
- "source": 1234,
- "pc": [
- 87
- ]
- },
- {
- "teal": 56,
- "source": 1234,
- "pc": [
- 88
- ]
- },
- {
- "teal": 57,
- "source": 1234,
- "pc": [
- 89
- ]
- },
- {
- "teal": 58,
- "source": 1234,
- "pc": [
- 90
- ]
- },
- {
- "teal": 59,
- "source": 1234,
- "pc": [
- 91
- ]
- },
- {
- "teal": 60,
- "source": 1234,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 64,
- "source": 1235,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 67,
- "source": 1232,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 68,
- "source": 1232,
- "pc": [
- 98
- ]
- },
- {
- "teal": 71,
- "source": 1231,
- "pc": [
- 99
- ]
- },
- {
- "teal": 72,
- "source": 1231,
- "pc": [
- 100
- ]
- },
- {
- "teal": 75,
- "source": 1231,
- "pc": [
- 101,
- 102,
- 103,
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 76,
- "source": 1231,
- "pc": [
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 77,
- "source": 1231,
- "pc": [
- 110,
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 80,
- "source": 1231,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 114
- ]
- },
- {
- "teal": 83,
- "source": 1231,
- "pc": [
- 115,
- 116,
- 117,
- 118,
- 119,
- 120
- ]
- },
- {
- "teal": 84,
- "source": 1231,
- "pc": [
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 85,
- "source": 1231,
- "pc": [
- 124,
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 88,
- "source": 1231,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 128
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1231,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1231,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1231,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1231,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1231,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1231,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1231,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1231,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1231,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1232,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1232,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1232,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1232,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1232,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1232,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1232,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1232,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1233,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1233,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1234,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1234,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1234,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1234,
+ "pc": [
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1234,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1234,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1234,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1234,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1234,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1234,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1235,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1232,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1232,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1231,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1231,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1231,
+ "pc": [
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1231,
+ "pc": [
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1231,
+ "pc": [
+ 110,
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1231,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1231,
+ "pc": [
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1231,
+ "pc": [
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1231,
+ "pc": [
+ 124,
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1231,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 128
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzQXJyYXlWYWx1ZSgpdWludDY0WzJdCiphYmlfcm91dGVfcGx1c0VxdWFsc0FycmF5VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoJY2FsbHN1YiBwbHVzRXF1YWxzQXJyYXlWYWx1ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNBcnJheVZhbHVlKCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KcGx1c0VxdWFsc0FycmF5VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjMzCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+ID0gWzEsIDJdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzQKCS8vIGFbMV0gKz0gMQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoJaW50IDgKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzUKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc0FycmF5VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzQXJyYXlWYWx1ZSgpdWludDY0WzJdCiphYmlfcm91dGVfcGx1c0VxdWFsc0FycmF5VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoJY2FsbHN1YiBwbHVzRXF1YWxzQXJyYXlWYWx1ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNBcnJheVZhbHVlKCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KcGx1c0VxdWFsc0FycmF5VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjMzCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+ID0gWzEsIDJdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzQKCS8vIGFbMV0gKz0gMQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoJaW50IDgKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzUKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc0FycmF5VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.approval.teal b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.approval.teal
index 095663880..5f29d3a69 100644
--- a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.approval.teal
+++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc32.json b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc32.json
index 5264de7df..cf67c2146 100644
--- a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc32.json
+++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQpwbHVzRXF1YWxzT2JqVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjQxCgkvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9ID0geyBmb286IDMsIGJhcjogNCB9CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDIKCS8vIGEuYmFyICs9IDEKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCWludCA4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc09ialZhbHVlKCkodWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQpwbHVzRXF1YWxzT2JqVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjQxCgkvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9ID0geyBmb286IDMsIGJhcjogNCB9CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDIKCS8vIGEuYmFyICs9IDEKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCWludCA4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc09ialZhbHVlKCkodWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc56_draft.json b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc56_draft.json
index f994b02ce..cbaa991b3 100644
--- a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc56_draft.json
@@ -35,10 +35,16 @@
56
],
"structs": {
- "{ foo: uint64; bar: uint64; }": {
- "foo": "uint64",
- "bar": "uint64"
- }
+ "{ foo: uint64; bar: uint64; }": [
+ {
+ "name": "foo",
+ "type": "uint64"
+ },
+ {
+ "name": "bar",
+ "type": "uint64"
+ }
+ ]
},
"state": {
"schema": {
@@ -66,394 +72,397 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1239,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1239,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1239,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1239,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1239,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1239,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1239,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1239,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1239,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1240,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1240,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1240,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1240,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1240,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1240,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 1240,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 1240,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 46,
- "source": 1241,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75
- ]
- },
- {
- "teal": 47,
- "source": 1241,
- "pc": [
- 76,
- 77
- ]
- },
- {
- "teal": 51,
- "source": 1242,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 52,
- "source": 1242,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 53,
- "source": 1242,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 54,
- "source": 1242,
- "pc": [
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 55,
- "source": 1242,
- "pc": [
- 87
- ]
- },
- {
- "teal": 56,
- "source": 1242,
- "pc": [
- 88
- ]
- },
- {
- "teal": 57,
- "source": 1242,
- "pc": [
- 89
- ]
- },
- {
- "teal": 58,
- "source": 1242,
- "pc": [
- 90
- ]
- },
- {
- "teal": 59,
- "source": 1242,
- "pc": [
- 91
- ]
- },
- {
- "teal": 60,
- "source": 1242,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 64,
- "source": 1243,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 67,
- "source": 1240,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 68,
- "source": 1240,
- "pc": [
- 98
- ]
- },
- {
- "teal": 71,
- "source": 1239,
- "pc": [
- 99
- ]
- },
- {
- "teal": 72,
- "source": 1239,
- "pc": [
- 100
- ]
- },
- {
- "teal": 75,
- "source": 1239,
- "pc": [
- 101,
- 102,
- 103,
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 76,
- "source": 1239,
- "pc": [
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 77,
- "source": 1239,
- "pc": [
- 110,
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 80,
- "source": 1239,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 114
- ]
- },
- {
- "teal": 83,
- "source": 1239,
- "pc": [
- 115,
- 116,
- 117,
- 118,
- 119,
- 120
- ]
- },
- {
- "teal": 84,
- "source": 1239,
- "pc": [
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 85,
- "source": 1239,
- "pc": [
- 124,
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 88,
- "source": 1239,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 128
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1239,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1239,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1239,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1239,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1239,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1239,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1239,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1239,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1239,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1240,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1240,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1240,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1240,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1240,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1240,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1240,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1240,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1241,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1241,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1242,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1242,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1242,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1242,
+ "pc": [
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1242,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1242,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1242,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1242,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1242,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1242,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1243,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1240,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1240,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1239,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1239,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1239,
+ "pc": [
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1239,
+ "pc": [
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1239,
+ "pc": [
+ 110,
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1239,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1239,
+ "pc": [
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1239,
+ "pc": [
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1239,
+ "pc": [
+ 124,
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1239,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 128
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQpwbHVzRXF1YWxzT2JqVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjQxCgkvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9ID0geyBmb286IDMsIGJhcjogNCB9CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDIKCS8vIGEuYmFyICs9IDEKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCWludCA4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc09ialZhbHVlKCkodWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQpwbHVzRXF1YWxzT2JqVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjQxCgkvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9ID0geyBmb286IDMsIGJhcjogNCB9CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDIKCS8vIGEuYmFyICs9IDEKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCWludCA4IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCWV4dHJhY3QgOCA4CglidG9pCglpbnQgMQoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc09ialZhbHVlKCkodWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.approval.teal b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.approval.teal
index cc13bc177..32798524e 100644
--- a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.approval.teal
+++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc32.json b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc32.json
index c4600cec1..2830fd41b 100644
--- a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc32.json
+++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveCgpKHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNPYmpWYWx1ZUluQm94KCk6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGZvbzogMywgYmFyOiA0IH0KCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwNAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjUyCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5iYXIgKz0gMQoJaW50IDggLy8gaGVhZE9mZnNldAoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJaW50IDggLy8gaGVhZE9mZnNldAoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCglpbnQgMQoJKwoJaXRvYgoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MwoJLy8gcmV0dXJuIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlOwoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveCgpKHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNPYmpWYWx1ZUluQm94KCk6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGZvbzogMywgYmFyOiA0IH0KCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwNAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjUyCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5iYXIgKz0gMQoJaW50IDggLy8gaGVhZE9mZnNldAoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJaW50IDggLy8gaGVhZE9mZnNldAoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCglpbnQgMQoJKwoJaXRvYgoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MwoJLy8gcmV0dXJuIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlOwoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc56_draft.json
index a749a06fe..da5cd3f09 100644
--- a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc56_draft.json
@@ -35,14 +35,26 @@
56
],
"structs": {
- "{ foo: uint64; bar: uint64 }": {
- "foo": "uint64",
- "bar": "uint64"
- },
- "{ foo: uint64; bar: uint64; }": {
- "foo": "uint64",
- "bar": "uint64"
- }
+ "{ foo: uint64; bar: uint64 }": [
+ {
+ "name": "foo",
+ "type": "uint64"
+ },
+ {
+ "name": "bar",
+ "type": "uint64"
+ }
+ ],
+ "{ foo: uint64; bar: uint64; }": [
+ {
+ "name": "foo",
+ "type": "uint64"
+ },
+ {
+ "name": "bar",
+ "type": "uint64"
+ }
+ ]
},
"state": {
"schema": {
@@ -75,415 +87,418 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1247,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11
- ]
- },
- {
- "teal": 13,
- "source": 1247,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 14,
- "source": 1247,
- "pc": [
- 14
- ]
- },
- {
- "teal": 15,
- "source": 1247,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 16,
- "source": 1247,
- "pc": [
- 17
- ]
- },
- {
- "teal": 17,
- "source": 1247,
- "pc": [
- 18,
- 19
- ]
- },
- {
- "teal": 18,
- "source": 1247,
- "pc": [
- 20
- ]
- },
- {
- "teal": 19,
- "source": 1247,
- "pc": [
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 23,
- "source": 1247,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 47
- ]
- },
- {
- "teal": 28,
- "source": 1250,
- "pc": [
- 48,
- 49,
- 50,
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 31,
- "source": 1250,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 32,
- "source": 1250,
- "pc": [
- 57
- ]
- },
- {
- "teal": 33,
- "source": 1250,
- "pc": [
- 58
- ]
- },
- {
- "teal": 34,
- "source": 1250,
- "pc": [
- 59
- ]
- },
- {
- "teal": 35,
- "source": 1250,
- "pc": [
- 60
- ]
- },
- {
- "teal": 39,
- "source": 1250,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 43,
- "source": 1251,
- "pc": [
- 64
- ]
- },
- {
- "teal": 44,
- "source": 1251,
- "pc": [
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 45,
- "source": 1251,
- "pc": [
- 83
- ]
- },
- {
- "teal": 49,
- "source": 1252,
- "pc": [
- 84
- ]
- },
- {
- "teal": 50,
- "source": 1252,
- "pc": [
- 85
- ]
- },
- {
- "teal": 51,
- "source": 1252,
- "pc": [
- 86
- ]
- },
- {
- "teal": 52,
- "source": 1252,
- "pc": [
- 87
- ]
- },
- {
- "teal": 53,
- "source": 1252,
- "pc": [
- 88
- ]
- },
- {
- "teal": 54,
- "source": 1252,
- "pc": [
- 89
- ]
- },
- {
- "teal": 55,
- "source": 1252,
- "pc": [
- 90
- ]
- },
- {
- "teal": 56,
- "source": 1252,
- "pc": [
- 91
- ]
- },
- {
- "teal": 57,
- "source": 1252,
- "pc": [
- 92
- ]
- },
- {
- "teal": 58,
- "source": 1252,
- "pc": [
- 93
- ]
- },
- {
- "teal": 59,
- "source": 1252,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 60,
- "source": 1252,
- "pc": [
- 96
- ]
- },
- {
- "teal": 64,
- "source": 1253,
- "pc": [
- 97
- ]
- },
- {
- "teal": 65,
- "source": 1253,
- "pc": [
- 98
- ]
- },
- {
- "teal": 68,
- "source": 1253,
- "errorMessage": "box value does not exist: this.bMap('bMap').value",
- "pc": [
- 99
- ]
- },
- {
- "teal": 69,
- "source": 1250,
- "pc": [
- 100
- ]
- },
- {
- "teal": 72,
- "source": 1247,
- "pc": [
- 101
- ]
- },
- {
- "teal": 73,
- "source": 1247,
- "pc": [
- 102
- ]
- },
- {
- "teal": 76,
- "source": 1247,
- "pc": [
- 103,
- 104,
- 105,
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 77,
- "source": 1247,
- "pc": [
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 78,
- "source": 1247,
- "pc": [
- 112,
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 81,
- "source": 1247,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 116
- ]
- },
- {
- "teal": 84,
- "source": 1247,
- "pc": [
- 117,
- 118,
- 119,
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 85,
- "source": 1247,
- "pc": [
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 86,
- "source": 1247,
- "pc": [
- 126,
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 89,
- "source": 1247,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 130
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1247,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1247,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1247,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1247,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1247,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1247,
+ "pc": [
+ 18,
+ 19
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1247,
+ "pc": [
+ 20
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1247,
+ "pc": [
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1247,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1250,
+ "pc": [
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1250,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1250,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1250,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1250,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1250,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1250,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1251,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1251,
+ "pc": [
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1251,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1252,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1252,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1252,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1252,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1252,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1252,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1252,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1252,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1252,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1252,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1252,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1252,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1253,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1253,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1253,
+ "errorMessage": "box value does not exist: this.bMap('bMap').value",
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1250,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1247,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1247,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1247,
+ "pc": [
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1247,
+ "pc": [
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1247,
+ "pc": [
+ 112,
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1247,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1247,
+ "pc": [
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1247,
+ "pc": [
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1247,
+ "pc": [
+ 126,
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1247,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 130
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveCgpKHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNPYmpWYWx1ZUluQm94KCk6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGZvbzogMywgYmFyOiA0IH0KCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwNAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjUyCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5iYXIgKz0gMQoJaW50IDggLy8gaGVhZE9mZnNldAoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJaW50IDggLy8gaGVhZE9mZnNldAoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCglpbnQgMQoJKwoJaXRvYgoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MwoJLy8gcmV0dXJuIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlOwoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveCgpKHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNPYmpWYWx1ZUluQm94KCk6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGZvbzogMywgYmFyOiA0IH0KCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwNAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjUyCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5iYXIgKz0gMQoJaW50IDggLy8gaGVhZE9mZnNldAoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJaW50IDggLy8gaGVhZE9mZnNldAoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCglpbnQgMQoJKwoJaXRvYgoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MwoJLy8gcmV0dXJuIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlOwoJYnl0ZSAweDYyNGQ2MTcwIC8vICJiTWFwIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.approval.teal b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.approval.teal
index 54739f845..a6e17ca31 100644
--- a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.approval.teal
+++ b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc32.json b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc32.json
index 1d8776f85..f68068baa 100644
--- a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc32.json
+++ b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcG9zdEJvb2xUdXBsZU9mZnNldCgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgcG9zdEJvb2xUdXBsZU9mZnNldAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBvc3RCb29sVHVwbGVPZmZzZXQoKTogVDkKcG9zdEJvb2xUdXBsZU9mZnNldDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MTkKCS8vIHJldFZhbDogVDkgPSB7IGE6IGZhbHNlLCBiOiAwLCBjOiAwIH0KCWJ5dGUgMHgwMAoJaW50IDAKCWR1cAoJc2V0Yml0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjIxCgkvLyByZXRWYWwuYSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMgoJLy8gcmV0VmFsLmIgPSAxCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCXJlcGxhY2UyIDEKCWZyYW1lX2J1cnkgMCAvLyByZXRWYWw6IFQ5CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MjMKCS8vIHJldFZhbC5jID0gMgoJZnJhbWVfZGlnIDAgLy8gcmV0VmFsOiBUOQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiA5CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjI1CgkvLyByZXR1cm4gcmV0VmFsOwoJZnJhbWVfZGlnIDAgLy8gcmV0VmFsOiBUOQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicG9zdEJvb2xUdXBsZU9mZnNldCgpKGJvb2wsdWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcG9zdEJvb2xUdXBsZU9mZnNldCgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgcG9zdEJvb2xUdXBsZU9mZnNldAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBvc3RCb29sVHVwbGVPZmZzZXQoKTogVDkKcG9zdEJvb2xUdXBsZU9mZnNldDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MTkKCS8vIHJldFZhbDogVDkgPSB7IGE6IGZhbHNlLCBiOiAwLCBjOiAwIH0KCWJ5dGUgMHgwMAoJaW50IDAKCWR1cAoJc2V0Yml0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjIxCgkvLyByZXRWYWwuYSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMgoJLy8gcmV0VmFsLmIgPSAxCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCXJlcGxhY2UyIDEKCWZyYW1lX2J1cnkgMCAvLyByZXRWYWw6IFQ5CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MjMKCS8vIHJldFZhbC5jID0gMgoJZnJhbWVfZGlnIDAgLy8gcmV0VmFsOiBUOQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiA5CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjI1CgkvLyByZXR1cm4gcmV0VmFsOwoJZnJhbWVfZGlnIDAgLy8gcmV0VmFsOiBUOQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicG9zdEJvb2xUdXBsZU9mZnNldCgpKGJvb2wsdWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc56_draft.json b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc56_draft.json
index 2f45dab47..d6a4bec79 100644
--- a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc56_draft.json
@@ -35,11 +35,20 @@
56
],
"structs": {
- "T9": {
- "a": "bool",
- "b": "uint64",
- "c": "uint64"
- }
+ "T9": [
+ {
+ "name": "a",
+ "type": "bool"
+ },
+ {
+ "name": "b",
+ "type": "uint64"
+ },
+ {
+ "name": "c",
+ "type": "uint64"
+ }
+ ]
},
"state": {
"schema": {
@@ -67,529 +76,532 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1617,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15
- ]
- },
- {
- "teal": 13,
- "source": 1617,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 14,
- "source": 1617,
- "pc": [
- 18
- ]
- },
- {
- "teal": 15,
- "source": 1617,
- "pc": [
- 19,
- 20
- ]
- },
- {
- "teal": 16,
- "source": 1617,
- "pc": [
- 21
- ]
- },
- {
- "teal": 17,
- "source": 1617,
- "pc": [
- 22,
- 23
- ]
- },
- {
- "teal": 18,
- "source": 1617,
- "pc": [
- 24
- ]
- },
- {
- "teal": 19,
- "source": 1617,
- "pc": [
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 23,
- "source": 1617,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 51
- ]
- },
- {
- "teal": 28,
- "source": 1618,
- "pc": [
- 52,
- 53,
- 54,
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 31,
- "source": 1618,
- "pc": [
- 58,
- 59,
- 60
- ]
- },
- {
- "teal": 32,
- "source": 1618,
- "pc": [
- 61
- ]
- },
- {
- "teal": 33,
- "source": 1618,
- "pc": [
- 62
- ]
- },
- {
- "teal": 34,
- "source": 1618,
- "pc": [
- 63
- ]
- },
- {
- "teal": 35,
- "source": 1618,
- "pc": [
- 64
- ]
- },
- {
- "teal": 39,
- "source": 1618,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 42,
- "source": 1618,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 46,
- "source": 1619,
- "pc": [
- 70,
- 71,
- 72
- ]
- },
- {
- "teal": 47,
- "source": 1619,
- "pc": [
- 73
- ]
- },
- {
- "teal": 48,
- "source": 1619,
- "pc": [
- 74
- ]
- },
- {
- "teal": 49,
- "source": 1619,
- "pc": [
- 75
- ]
- },
- {
- "teal": 50,
- "source": 1619,
- "pc": [
- 76
- ]
- },
- {
- "teal": 51,
- "source": 1619,
- "pc": [
- 77
- ]
- },
- {
- "teal": 52,
- "source": 1619,
- "pc": [
- 78
- ]
- },
- {
- "teal": 53,
- "source": 1619,
- "pc": [
- 79
- ]
- },
- {
- "teal": 54,
- "source": 1619,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 58,
- "source": 1621,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 59,
- "source": 1621,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 60,
- "source": 1621,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 61,
- "source": 1621,
- "pc": [
- 88
- ]
- },
- {
- "teal": 62,
- "source": 1621,
- "pc": [
- 89
- ]
- },
- {
- "teal": 63,
- "source": 1621,
- "pc": [
- 90
- ]
- },
- {
- "teal": 64,
- "source": 1621,
- "pc": [
- 91,
- 92
- ]
- },
- {
- "teal": 68,
- "source": 1622,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 69,
- "source": 1622,
- "pc": [
- 95,
- 96
- ]
- },
- {
- "teal": 70,
- "source": 1622,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 71,
- "source": 1622,
- "pc": [
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 72,
- "source": 1622,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 73,
- "source": 1622,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 77,
- "source": 1623,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 78,
- "source": 1623,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 79,
- "source": 1623,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 80,
- "source": 1623,
- "pc": [
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 81,
- "source": 1623,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 82,
- "source": 1623,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 86,
- "source": 1625,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 89,
- "source": 1618,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 90,
- "source": 1618,
- "pc": [
- 137
- ]
- },
- {
- "teal": 93,
- "source": 1617,
- "pc": [
- 138
- ]
- },
- {
- "teal": 94,
- "source": 1617,
- "pc": [
- 139
- ]
- },
- {
- "teal": 97,
- "source": 1617,
- "pc": [
- 140,
- 141,
- 142,
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 98,
- "source": 1617,
- "pc": [
- 146,
- 147,
- 148
- ]
- },
- {
- "teal": 99,
- "source": 1617,
- "pc": [
- 149,
- 150,
- 151,
- 152
- ]
- },
- {
- "teal": 102,
- "source": 1617,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 153
- ]
- },
- {
- "teal": 105,
- "source": 1617,
- "pc": [
- 154,
- 155,
- 156,
- 157,
- 158,
- 159
- ]
- },
- {
- "teal": 106,
- "source": 1617,
- "pc": [
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 107,
- "source": 1617,
- "pc": [
- 163,
- 164,
- 165,
- 166
- ]
- },
- {
- "teal": 110,
- "source": 1617,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 167
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1617,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1617,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1617,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1617,
+ "pc": [
+ 19,
+ 20
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1617,
+ "pc": [
+ 21
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1617,
+ "pc": [
+ 22,
+ 23
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1617,
+ "pc": [
+ 24
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1617,
+ "pc": [
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1617,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1618,
+ "pc": [
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1618,
+ "pc": [
+ 58,
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1618,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1618,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1618,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1618,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1618,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1618,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1619,
+ "pc": [
+ 70,
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1619,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1619,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1619,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1619,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1619,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1619,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1619,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1619,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1621,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1621,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1621,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1621,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1621,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1621,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1621,
+ "pc": [
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1622,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1622,
+ "pc": [
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1622,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1622,
+ "pc": [
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1622,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1622,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1623,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1623,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1623,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1623,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1623,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1623,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1625,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1618,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1618,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1617,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1617,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1617,
+ "pc": [
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1617,
+ "pc": [
+ 146,
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1617,
+ "pc": [
+ 149,
+ 150,
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 1617,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 1617,
+ "pc": [
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1617,
+ "pc": [
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 1617,
+ "pc": [
+ 163,
+ 164,
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1617,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 167
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcG9zdEJvb2xUdXBsZU9mZnNldCgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgcG9zdEJvb2xUdXBsZU9mZnNldAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBvc3RCb29sVHVwbGVPZmZzZXQoKTogVDkKcG9zdEJvb2xUdXBsZU9mZnNldDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MTkKCS8vIHJldFZhbDogVDkgPSB7IGE6IGZhbHNlLCBiOiAwLCBjOiAwIH0KCWJ5dGUgMHgwMAoJaW50IDAKCWR1cAoJc2V0Yml0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjIxCgkvLyByZXRWYWwuYSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMgoJLy8gcmV0VmFsLmIgPSAxCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCXJlcGxhY2UyIDEKCWZyYW1lX2J1cnkgMCAvLyByZXRWYWw6IFQ5CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MjMKCS8vIHJldFZhbC5jID0gMgoJZnJhbWVfZGlnIDAgLy8gcmV0VmFsOiBUOQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiA5CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjI1CgkvLyByZXR1cm4gcmV0VmFsOwoJZnJhbWVfZGlnIDAgLy8gcmV0VmFsOiBUOQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicG9zdEJvb2xUdXBsZU9mZnNldCgpKGJvb2wsdWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcG9zdEJvb2xUdXBsZU9mZnNldCgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgcG9zdEJvb2xUdXBsZU9mZnNldAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBvc3RCb29sVHVwbGVPZmZzZXQoKTogVDkKcG9zdEJvb2xUdXBsZU9mZnNldDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MTkKCS8vIHJldFZhbDogVDkgPSB7IGE6IGZhbHNlLCBiOiAwLCBjOiAwIH0KCWJ5dGUgMHgwMAoJaW50IDAKCWR1cAoJc2V0Yml0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjIxCgkvLyByZXRWYWwuYSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMgoJLy8gcmV0VmFsLmIgPSAxCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEKCXJlcGxhY2UyIDEKCWZyYW1lX2J1cnkgMCAvLyByZXRWYWw6IFQ5CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MjMKCS8vIHJldFZhbC5jID0gMgoJZnJhbWVfZGlnIDAgLy8gcmV0VmFsOiBUOQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiA5CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjI1CgkvLyByZXR1cm4gcmV0VmFsOwoJZnJhbWVfZGlnIDAgLy8gcmV0VmFsOiBUOQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicG9zdEJvb2xUdXBsZU9mZnNldCgpKGJvb2wsdWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestPushToArrayInBox.approval.teal b/tests/contracts/artifacts/ABITestPushToArrayInBox.approval.teal
index aa7f68786..595740bf7 100644
--- a/tests/contracts/artifacts/ABITestPushToArrayInBox.approval.teal
+++ b/tests/contracts/artifacts/ABITestPushToArrayInBox.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestPushToArrayInBox.arc32.json b/tests/contracts/artifacts/ABITestPushToArrayInBox.arc32.json
index d6aefa43d..f147492d7 100644
--- a/tests/contracts/artifacts/ABITestPushToArrayInBox.arc32.json
+++ b/tests/contracts/artifacts/ABITestPushToArrayInBox.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXQoqYWJpX3JvdXRlX3B1c2hUb0FycmF5SW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KCWNhbGxzdWIgcHVzaFRvQXJyYXlJbkJveAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpOiBBcHBJRFtdCnB1c2hUb0FycmF5SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU1NAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBbQXBwSUQuZnJvbVVpbnQ2NCgxKSwgQXBwSUQuZnJvbVVpbnQ2NCgyKV0KCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlIDB4MDAwMjAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTYKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLnB1c2goQXBwSUQuZnJvbVVpbnQ2NCgzKSkKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMwoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTcKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLnB1c2goQXBwSUQuZnJvbVVpbnQ2NCg0KSkKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwNAoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTkKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcHVzaFRvQXJyYXlJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXQoqYWJpX3JvdXRlX3B1c2hUb0FycmF5SW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KCWNhbGxzdWIgcHVzaFRvQXJyYXlJbkJveAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpOiBBcHBJRFtdCnB1c2hUb0FycmF5SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU1NAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBbQXBwSUQuZnJvbVVpbnQ2NCgxKSwgQXBwSUQuZnJvbVVpbnQ2NCgyKV0KCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlIDB4MDAwMjAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTYKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLnB1c2goQXBwSUQuZnJvbVVpbnQ2NCgzKSkKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMwoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTcKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLnB1c2goQXBwSUQuZnJvbVVpbnQ2NCg0KSkKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwNAoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTkKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcHVzaFRvQXJyYXlJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestPushToArrayInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestPushToArrayInBox.arc56_draft.json
index e6a93f37f..391ee8472 100644
--- a/tests/contracts/artifacts/ABITestPushToArrayInBox.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestPushToArrayInBox.arc56_draft.json
@@ -65,728 +65,731 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1550,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11
- ]
- },
- {
- "teal": 13,
- "source": 1550,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 14,
- "source": 1550,
- "pc": [
- 14
- ]
- },
- {
- "teal": 15,
- "source": 1550,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 16,
- "source": 1550,
- "pc": [
- 17
- ]
- },
- {
- "teal": 17,
- "source": 1550,
- "pc": [
- 18,
- 19
- ]
- },
- {
- "teal": 18,
- "source": 1550,
- "pc": [
- 20
- ]
- },
- {
- "teal": 19,
- "source": 1550,
- "pc": [
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 23,
- "source": 1550,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 47
- ]
- },
- {
- "teal": 28,
- "source": 1553,
- "pc": [
- 48,
- 49,
- 50,
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 31,
- "source": 1553,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 32,
- "source": 1553,
- "pc": [
- 57
- ]
- },
- {
- "teal": 33,
- "source": 1553,
- "pc": [
- 58
- ]
- },
- {
- "teal": 34,
- "source": 1553,
- "pc": [
- 59
- ]
- },
- {
- "teal": 35,
- "source": 1553,
- "pc": [
- 60
- ]
- },
- {
- "teal": 36,
- "source": 1553,
- "pc": [
- 61
- ]
- },
- {
- "teal": 37,
- "source": 1553,
- "pc": [
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 38,
- "source": 1553,
- "pc": [
- 65
- ]
- },
- {
- "teal": 39,
- "source": 1553,
- "pc": [
- 66
- ]
- },
- {
- "teal": 40,
- "source": 1553,
- "pc": [
- 67
- ]
- },
- {
- "teal": 41,
- "source": 1553,
- "pc": [
- 68
- ]
- },
- {
- "teal": 42,
- "source": 1553,
- "pc": [
- 69
- ]
- },
- {
- "teal": 43,
- "source": 1553,
- "pc": [
- 70
- ]
- },
- {
- "teal": 47,
- "source": 1553,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 51,
- "source": 1554,
- "pc": [
- 74
- ]
- },
- {
- "teal": 52,
- "source": 1554,
- "pc": [
- 75
- ]
- },
- {
- "teal": 53,
- "source": 1554,
- "pc": [
- 76
- ]
- },
- {
- "teal": 54,
- "source": 1554,
- "pc": [
- 77
- ]
- },
- {
- "teal": 55,
- "source": 1554,
- "pc": [
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 56,
- "source": 1554,
- "pc": [
- 98
- ]
- },
- {
- "teal": 60,
- "source": 1556,
- "pc": [
- 99
- ]
- },
- {
- "teal": 61,
- "source": 1556,
- "pc": [
- 100
- ]
- },
- {
- "teal": 64,
- "source": 1556,
- "errorMessage": "box value does not exist: this.bMap('bMap').value",
- "pc": [
- 101
- ]
- },
- {
- "teal": 65,
- "source": 1556,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 66,
- "source": 1556,
- "pc": [
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 67,
- "source": 1556,
- "pc": [
- 115
- ]
- },
- {
- "teal": 68,
- "source": 1556,
- "pc": [
- 116
- ]
- },
- {
- "teal": 69,
- "source": 1556,
- "pc": [
- 117
- ]
- },
- {
- "teal": 70,
- "source": 1556,
- "pc": [
- 118
- ]
- },
- {
- "teal": 71,
- "source": 1556,
- "pc": [
- 119
- ]
- },
- {
- "teal": 72,
- "source": 1556,
- "pc": [
- 120
- ]
- },
- {
- "teal": 73,
- "source": 1556,
- "pc": [
- 121
- ]
- },
- {
- "teal": 74,
- "source": 1556,
- "pc": [
- 122
- ]
- },
- {
- "teal": 75,
- "source": 1556,
- "pc": [
- 123
- ]
- },
- {
- "teal": 76,
- "source": 1556,
- "pc": [
- 124
- ]
- },
- {
- "teal": 77,
- "source": 1556,
- "pc": [
- 125
- ]
- },
- {
- "teal": 78,
- "source": 1556,
- "pc": [
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 79,
- "source": 1556,
- "pc": [
- 129
- ]
- },
- {
- "teal": 80,
- "source": 1556,
- "pc": [
- 130
- ]
- },
- {
- "teal": 81,
- "source": 1556,
- "pc": [
- 131
- ]
- },
- {
- "teal": 85,
- "source": 1557,
- "pc": [
- 132
- ]
- },
- {
- "teal": 86,
- "source": 1557,
- "pc": [
- 133
- ]
- },
- {
- "teal": 89,
- "source": 1557,
- "errorMessage": "box value does not exist: this.bMap('bMap').value",
- "pc": [
- 134
- ]
- },
- {
- "teal": 90,
- "source": 1557,
- "pc": [
- 135,
- 136,
- 137
- ]
- },
- {
- "teal": 91,
- "source": 1557,
- "pc": [
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147
- ]
- },
- {
- "teal": 92,
- "source": 1557,
- "pc": [
- 148
- ]
- },
- {
- "teal": 93,
- "source": 1557,
- "pc": [
- 149
- ]
- },
- {
- "teal": 94,
- "source": 1557,
- "pc": [
- 150
- ]
- },
- {
- "teal": 95,
- "source": 1557,
- "pc": [
- 151
- ]
- },
- {
- "teal": 96,
- "source": 1557,
- "pc": [
- 152
- ]
- },
- {
- "teal": 97,
- "source": 1557,
- "pc": [
- 153
- ]
- },
- {
- "teal": 98,
- "source": 1557,
- "pc": [
- 154
- ]
- },
- {
- "teal": 99,
- "source": 1557,
- "pc": [
- 155
- ]
- },
- {
- "teal": 100,
- "source": 1557,
- "pc": [
- 156
- ]
- },
- {
- "teal": 101,
- "source": 1557,
- "pc": [
- 157
- ]
- },
- {
- "teal": 102,
- "source": 1557,
- "pc": [
- 158
- ]
- },
- {
- "teal": 103,
- "source": 1557,
- "pc": [
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 104,
- "source": 1557,
- "pc": [
- 162
- ]
- },
- {
- "teal": 105,
- "source": 1557,
- "pc": [
- 163
- ]
- },
- {
- "teal": 106,
- "source": 1557,
- "pc": [
- 164
- ]
- },
- {
- "teal": 110,
- "source": 1559,
- "pc": [
- 165
- ]
- },
- {
- "teal": 111,
- "source": 1559,
- "pc": [
- 166
- ]
- },
- {
- "teal": 114,
- "source": 1559,
- "errorMessage": "box value does not exist: this.bMap('bMap').value",
- "pc": [
- 167
- ]
- },
- {
- "teal": 115,
- "source": 1559,
- "pc": [
- 168,
- 169,
- 170
- ]
- },
- {
- "teal": 116,
- "source": 1553,
- "pc": [
- 171
- ]
- },
- {
- "teal": 119,
- "source": 1550,
- "pc": [
- 172
- ]
- },
- {
- "teal": 120,
- "source": 1550,
- "pc": [
- 173
- ]
- },
- {
- "teal": 123,
- "source": 1550,
- "pc": [
- 174,
- 175,
- 176,
- 177,
- 178,
- 179
- ]
- },
- {
- "teal": 124,
- "source": 1550,
- "pc": [
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 125,
- "source": 1550,
- "pc": [
- 183,
- 184,
- 185,
- 186
- ]
- },
- {
- "teal": 128,
- "source": 1550,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 187
- ]
- },
- {
- "teal": 131,
- "source": 1550,
- "pc": [
- 188,
- 189,
- 190,
- 191,
- 192,
- 193
- ]
- },
- {
- "teal": 132,
- "source": 1550,
- "pc": [
- 194,
- 195,
- 196
- ]
- },
- {
- "teal": 133,
- "source": 1550,
- "pc": [
- 197,
- 198,
- 199,
- 200
- ]
- },
- {
- "teal": 136,
- "source": 1550,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 201
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1550,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1550,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1550,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1550,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1550,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1550,
+ "pc": [
+ 18,
+ 19
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1550,
+ "pc": [
+ 20
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1550,
+ "pc": [
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1550,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1553,
+ "pc": [
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1553,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1553,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1553,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1553,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1553,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1553,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1553,
+ "pc": [
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1553,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1553,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1553,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1553,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1553,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1553,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1553,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1554,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1554,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1554,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1554,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1554,
+ "pc": [
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1554,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1556,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1556,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1556,
+ "errorMessage": "box value does not exist: this.bMap('bMap').value",
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1556,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1556,
+ "pc": [
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1556,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1556,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1556,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1556,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1556,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1556,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1556,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1556,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1556,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1556,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1556,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1556,
+ "pc": [
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1556,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1556,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1556,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1557,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1557,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1557,
+ "errorMessage": "box value does not exist: this.bMap('bMap').value",
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1557,
+ "pc": [
+ 135,
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1557,
+ "pc": [
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1557,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1557,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1557,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1557,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1557,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1557,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1557,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1557,
+ "pc": [
+ 155
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1557,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 1557,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 1557,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1557,
+ "pc": [
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 1557,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 1557,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1557,
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1559,
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1559,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 1559,
+ "errorMessage": "box value does not exist: this.bMap('bMap').value",
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 1559,
+ "pc": [
+ 168,
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 1553,
+ "pc": [
+ 171
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 1550,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 1550,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 1550,
+ "pc": [
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 1550,
+ "pc": [
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 1550,
+ "pc": [
+ 183,
+ 184,
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 1550,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 1550,
+ "pc": [
+ 188,
+ 189,
+ 190,
+ 191,
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 1550,
+ "pc": [
+ 194,
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 1550,
+ "pc": [
+ 197,
+ 198,
+ 199,
+ 200
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 1550,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 201
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXQoqYWJpX3JvdXRlX3B1c2hUb0FycmF5SW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KCWNhbGxzdWIgcHVzaFRvQXJyYXlJbkJveAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpOiBBcHBJRFtdCnB1c2hUb0FycmF5SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU1NAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBbQXBwSUQuZnJvbVVpbnQ2NCgxKSwgQXBwSUQuZnJvbVVpbnQ2NCgyKV0KCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlIDB4MDAwMjAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTYKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLnB1c2goQXBwSUQuZnJvbVVpbnQ2NCgzKSkKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMwoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTcKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLnB1c2goQXBwSUQuZnJvbVVpbnQ2NCg0KSkKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwNAoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTkKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcHVzaFRvQXJyYXlJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXQoqYWJpX3JvdXRlX3B1c2hUb0FycmF5SW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KCWNhbGxzdWIgcHVzaFRvQXJyYXlJbkJveAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpOiBBcHBJRFtdCnB1c2hUb0FycmF5SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU1NAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBbQXBwSUQuZnJvbVVpbnQ2NCgxKSwgQXBwSUQuZnJvbVVpbnQ2NCgyKV0KCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlIDB4MDAwMjAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTYKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLnB1c2goQXBwSUQuZnJvbVVpbnQ2NCgzKSkKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMwoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTcKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLnB1c2goQXBwSUQuZnJvbVVpbnQ2NCg0KSkKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwNAoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NTkKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcHVzaFRvQXJyYXlJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestRawBytesFunction.approval.teal b/tests/contracts/artifacts/ABITestRawBytesFunction.approval.teal
index 7746b2e9d..ff9cce403 100644
--- a/tests/contracts/artifacts/ABITestRawBytesFunction.approval.teal
+++ b/tests/contracts/artifacts/ABITestRawBytesFunction.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestRawBytesFunction.arc32.json b/tests/contracts/artifacts/ABITestRawBytesFunction.arc32.json
index 024744bf8..eff01d7fd 100644
--- a/tests/contracts/artifacts/ABITestRawBytesFunction.arc32.json
+++ b/tests/contracts/artifacts/ABITestRawBytesFunction.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByYXdCeXRlc0Z1bmN0aW9uKClzdHJpbmcKKmFiaV9yb3V0ZV9yYXdCeXRlc0Z1bmN0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJhd0J5dGVzRnVuY3Rpb24oKXN0cmluZwoJY2FsbHN1YiByYXdCeXRlc0Z1bmN0aW9uCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJhd0J5dGVzRnVuY3Rpb24oKTogc3RyaW5nCnJhd0J5dGVzRnVuY3Rpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDUzCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAxMDIwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNTQKCS8vIHJldHVybiByYXdCeXRlcyhhKTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJyYXdCeXRlc0Z1bmN0aW9uKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Jhd0J5dGVzRnVuY3Rpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByYXdCeXRlc0Z1bmN0aW9uKClzdHJpbmcKKmFiaV9yb3V0ZV9yYXdCeXRlc0Z1bmN0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJhd0J5dGVzRnVuY3Rpb24oKXN0cmluZwoJY2FsbHN1YiByYXdCeXRlc0Z1bmN0aW9uCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJhd0J5dGVzRnVuY3Rpb24oKTogc3RyaW5nCnJhd0J5dGVzRnVuY3Rpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDUzCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAxMDIwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNTQKCS8vIHJldHVybiByYXdCeXRlcyhhKTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJyYXdCeXRlc0Z1bmN0aW9uKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Jhd0J5dGVzRnVuY3Rpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestRawBytesFunction.arc56_draft.json b/tests/contracts/artifacts/ABITestRawBytesFunction.arc56_draft.json
index 34410b051..820adc5bd 100644
--- a/tests/contracts/artifacts/ABITestRawBytesFunction.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestRawBytesFunction.arc56_draft.json
@@ -60,349 +60,352 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1051,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1051,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1051,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1051,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1051,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1051,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1051,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1051,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1051,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1052,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1052,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1052,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1052,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1052,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1052,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 36,
- "source": 1052,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 1052,
- "pc": [
- 56
- ]
- },
- {
- "teal": 38,
- "source": 1052,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 1052,
- "pc": [
- 58
- ]
- },
- {
- "teal": 40,
- "source": 1052,
- "pc": [
- 59
- ]
- },
- {
- "teal": 41,
- "source": 1052,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 1052,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 48,
- "source": 1052,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 52,
- "source": 1053,
- "pc": [
- 66,
- 67,
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 53,
- "source": 1053,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 57,
- "source": 1054,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 60,
- "source": 1052,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 61,
- "source": 1052,
- "pc": [
- 77
- ]
- },
- {
- "teal": 64,
- "source": 1051,
- "pc": [
- 78
- ]
- },
- {
- "teal": 65,
- "source": 1051,
- "pc": [
- 79
- ]
- },
- {
- "teal": 68,
- "source": 1051,
- "pc": [
- 80,
- 81,
- 82,
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 69,
- "source": 1051,
- "pc": [
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 70,
- "source": 1051,
- "pc": [
- 89,
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 73,
- "source": 1051,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 93
- ]
- },
- {
- "teal": 76,
- "source": 1051,
- "pc": [
- 94,
- 95,
- 96,
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 77,
- "source": 1051,
- "pc": [
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 78,
- "source": 1051,
- "pc": [
- 103,
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 81,
- "source": 1051,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 107
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1051,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1051,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1051,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1051,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1051,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1051,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1051,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1051,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1051,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1052,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1052,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1052,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1052,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1052,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1052,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1052,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1052,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1052,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1052,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1052,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1052,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1052,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1052,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1053,
+ "pc": [
+ 66,
+ 67,
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1053,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1054,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1052,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1052,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1051,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1051,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1051,
+ "pc": [
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1051,
+ "pc": [
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1051,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1051,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1051,
+ "pc": [
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1051,
+ "pc": [
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1051,
+ "pc": [
+ 103,
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1051,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 107
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByYXdCeXRlc0Z1bmN0aW9uKClzdHJpbmcKKmFiaV9yb3V0ZV9yYXdCeXRlc0Z1bmN0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJhd0J5dGVzRnVuY3Rpb24oKXN0cmluZwoJY2FsbHN1YiByYXdCeXRlc0Z1bmN0aW9uCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJhd0J5dGVzRnVuY3Rpb24oKTogc3RyaW5nCnJhd0J5dGVzRnVuY3Rpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDUzCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAxMDIwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNTQKCS8vIHJldHVybiByYXdCeXRlcyhhKTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJyYXdCeXRlc0Z1bmN0aW9uKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Jhd0J5dGVzRnVuY3Rpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByYXdCeXRlc0Z1bmN0aW9uKClzdHJpbmcKKmFiaV9yb3V0ZV9yYXdCeXRlc0Z1bmN0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJhd0J5dGVzRnVuY3Rpb24oKXN0cmluZwoJY2FsbHN1YiByYXdCeXRlc0Z1bmN0aW9uCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJhd0J5dGVzRnVuY3Rpb24oKTogc3RyaW5nCnJhd0J5dGVzRnVuY3Rpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDUzCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAxMDIwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNTQKCS8vIHJldHVybiByYXdCeXRlcyhhKTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJyYXdCeXRlc0Z1bmN0aW9uKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Jhd0J5dGVzRnVuY3Rpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestRefTypes.approval.teal b/tests/contracts/artifacts/ABITestRefTypes.approval.teal
index 0fe9343af..5026516d0 100644
--- a/tests/contracts/artifacts/ABITestRefTypes.approval.teal
+++ b/tests/contracts/artifacts/ABITestRefTypes.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestRefTypes.arc32.json b/tests/contracts/artifacts/ABITestRefTypes.arc32.json
index 12911c4f8..a1eb33101 100644
--- a/tests/contracts/artifacts/ABITestRefTypes.arc32.json
+++ b/tests/contracts/artifacts/ABITestRefTypes.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQKKmFiaV9yb3V0ZV9yZWZUeXBlczoKCS8vIGFzYTogYXNzZXQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCXR4bmFzIEFzc2V0cwoKCS8vIGFwcDogYXBwbGljYXRpb24KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCXR4bmFzIEFwcGxpY2F0aW9ucwoKCS8vIGFjY3Q6IGFjY291bnQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCXR4bmFzIEFjY291bnRzCgoJLy8gZXhlY3V0ZSByZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQKCWNhbGxzdWIgcmVmVHlwZXMKCWludCAxCglyZXR1cm4KCi8vIHJlZlR5cGVzKGFjY3Q6IEFjY291bnRSZWZlcmVuY2UsIGFwcDogQXBwUmVmZXJlbmNlLCBhc2E6IEFzc2V0UmVmZXJlbmNlKTogdm9pZApyZWZUeXBlczoKCXByb3RvIDMgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTI2CgkvLyBhc3NlcnQoIWFjY3QuaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIC0xIC8vIGFjY3Q6IEFjY291bnRSZWZlcmVuY2UKCWZyYW1lX2RpZyAtMyAvLyBhc2E6IEFzc2V0UmVmZXJlbmNlCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MjcKCS8vIGFzc2VydCghYXBwLmFkZHJlc3MuaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIC0yIC8vIGFwcDogQXBwUmVmZXJlbmNlCglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2RpZyAtMyAvLyBhc2E6IEFzc2V0UmVmZXJlbmNlCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJyZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JlZlR5cGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQKKmFiaV9yb3V0ZV9yZWZUeXBlczoKCS8vIGFzYTogYXNzZXQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCXR4bmFzIEFzc2V0cwoKCS8vIGFwcDogYXBwbGljYXRpb24KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCXR4bmFzIEFwcGxpY2F0aW9ucwoKCS8vIGFjY3Q6IGFjY291bnQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCXR4bmFzIEFjY291bnRzCgoJLy8gZXhlY3V0ZSByZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQKCWNhbGxzdWIgcmVmVHlwZXMKCWludCAxCglyZXR1cm4KCi8vIHJlZlR5cGVzKGFjY3Q6IEFjY291bnRSZWZlcmVuY2UsIGFwcDogQXBwUmVmZXJlbmNlLCBhc2E6IEFzc2V0UmVmZXJlbmNlKTogdm9pZApyZWZUeXBlczoKCXByb3RvIDMgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTI2CgkvLyBhc3NlcnQoIWFjY3QuaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIC0xIC8vIGFjY3Q6IEFjY291bnRSZWZlcmVuY2UKCWZyYW1lX2RpZyAtMyAvLyBhc2E6IEFzc2V0UmVmZXJlbmNlCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MjcKCS8vIGFzc2VydCghYXBwLmFkZHJlc3MuaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIC0yIC8vIGFwcDogQXBwUmVmZXJlbmNlCglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2RpZyAtMyAvLyBhc2E6IEFzc2V0UmVmZXJlbmNlCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJyZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JlZlR5cGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestRefTypes.arc56_draft.json b/tests/contracts/artifacts/ABITestRefTypes.arc56_draft.json
index 44e4f5080..d3eb4322b 100644
--- a/tests/contracts/artifacts/ABITestRefTypes.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestRefTypes.arc56_draft.json
@@ -73,427 +73,430 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1524,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1524,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1524,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1524,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1524,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1524,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1524,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1524,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1524,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1525,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 29,
- "source": 1525,
- "pc": [
- 43
- ]
- },
- {
- "teal": 30,
- "source": 1525,
- "pc": [
- 44,
- 45
- ]
- },
- {
- "teal": 33,
- "source": 1525,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 34,
- "source": 1525,
- "pc": [
- 49
- ]
- },
- {
- "teal": 35,
- "source": 1525,
- "pc": [
- 50,
- 51
- ]
- },
- {
- "teal": 38,
- "source": 1525,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 39,
- "source": 1525,
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 1525,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 43,
- "source": 1525,
- "pc": [
- 58,
- 59,
- 60
- ]
- },
- {
- "teal": 44,
- "source": 1525,
- "pc": [
- 61
- ]
- },
- {
- "teal": 45,
- "source": 1525,
- "pc": [
- 62
- ]
- },
- {
- "teal": 49,
- "source": 1525,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 53,
- "source": 1526,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 54,
- "source": 1526,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 55,
- "source": 1526,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 56,
- "source": 1526,
- "pc": [
- 72
- ]
- },
- {
- "teal": 57,
- "source": 1526,
- "pc": [
- 73
- ]
- },
- {
- "teal": 58,
- "source": 1526,
- "pc": [
- 74
- ]
- },
- {
- "teal": 59,
- "source": 1526,
- "pc": [
- 75
- ]
- },
- {
- "teal": 63,
- "source": 1527,
- "pc": [
- 76,
- 77
- ]
- },
- {
- "teal": 64,
- "source": 1527,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 65,
- "source": 1527,
- "pc": [
- 80
- ]
- },
- {
- "teal": 66,
- "source": 1527,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 67,
- "source": 1527,
- "pc": [
- 83,
- 84
- ]
- },
- {
- "teal": 68,
- "source": 1527,
- "pc": [
- 85
- ]
- },
- {
- "teal": 69,
- "source": 1527,
- "pc": [
- 86
- ]
- },
- {
- "teal": 70,
- "source": 1527,
- "pc": [
- 87
- ]
- },
- {
- "teal": 71,
- "source": 1527,
- "pc": [
- 88
- ]
- },
- {
- "teal": 72,
- "source": 1525,
- "pc": [
- 89
- ]
- },
- {
- "teal": 75,
- "source": 1524,
- "pc": [
- 90
- ]
- },
- {
- "teal": 76,
- "source": 1524,
- "pc": [
- 91
- ]
- },
- {
- "teal": 79,
- "source": 1524,
- "pc": [
- 92,
- 93,
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 80,
- "source": 1524,
- "pc": [
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 81,
- "source": 1524,
- "pc": [
- 101,
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 84,
- "source": 1524,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 105
- ]
- },
- {
- "teal": 87,
- "source": 1524,
- "pc": [
- 106,
- 107,
- 108,
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 88,
- "source": 1524,
- "pc": [
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 89,
- "source": 1524,
- "pc": [
- 115,
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 92,
- "source": 1524,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 119
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1524,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1524,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1524,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1524,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1524,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1524,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1524,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1524,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1524,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1525,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 1525,
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 1525,
+ "pc": [
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1525,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1525,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1525,
+ "pc": [
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1525,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1525,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1525,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1525,
+ "pc": [
+ 58,
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1525,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1525,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1525,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1526,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1526,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1526,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1526,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1526,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1526,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1526,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1527,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1527,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1527,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1527,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1527,
+ "pc": [
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1527,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1527,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1527,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1527,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1525,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1524,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1524,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1524,
+ "pc": [
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1524,
+ "pc": [
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1524,
+ "pc": [
+ 101,
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1524,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1524,
+ "pc": [
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1524,
+ "pc": [
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1524,
+ "pc": [
+ 115,
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1524,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 119
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQKKmFiaV9yb3V0ZV9yZWZUeXBlczoKCS8vIGFzYTogYXNzZXQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCXR4bmFzIEFzc2V0cwoKCS8vIGFwcDogYXBwbGljYXRpb24KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCXR4bmFzIEFwcGxpY2F0aW9ucwoKCS8vIGFjY3Q6IGFjY291bnQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCXR4bmFzIEFjY291bnRzCgoJLy8gZXhlY3V0ZSByZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQKCWNhbGxzdWIgcmVmVHlwZXMKCWludCAxCglyZXR1cm4KCi8vIHJlZlR5cGVzKGFjY3Q6IEFjY291bnRSZWZlcmVuY2UsIGFwcDogQXBwUmVmZXJlbmNlLCBhc2E6IEFzc2V0UmVmZXJlbmNlKTogdm9pZApyZWZUeXBlczoKCXByb3RvIDMgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTI2CgkvLyBhc3NlcnQoIWFjY3QuaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIC0xIC8vIGFjY3Q6IEFjY291bnRSZWZlcmVuY2UKCWZyYW1lX2RpZyAtMyAvLyBhc2E6IEFzc2V0UmVmZXJlbmNlCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MjcKCS8vIGFzc2VydCghYXBwLmFkZHJlc3MuaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIC0yIC8vIGFwcDogQXBwUmVmZXJlbmNlCglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2RpZyAtMyAvLyBhc2E6IEFzc2V0UmVmZXJlbmNlCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJyZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JlZlR5cGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQKKmFiaV9yb3V0ZV9yZWZUeXBlczoKCS8vIGFzYTogYXNzZXQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCXR4bmFzIEFzc2V0cwoKCS8vIGFwcDogYXBwbGljYXRpb24KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCXR4bmFzIEFwcGxpY2F0aW9ucwoKCS8vIGFjY3Q6IGFjY291bnQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCXR4bmFzIEFjY291bnRzCgoJLy8gZXhlY3V0ZSByZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQKCWNhbGxzdWIgcmVmVHlwZXMKCWludCAxCglyZXR1cm4KCi8vIHJlZlR5cGVzKGFjY3Q6IEFjY291bnRSZWZlcmVuY2UsIGFwcDogQXBwUmVmZXJlbmNlLCBhc2E6IEFzc2V0UmVmZXJlbmNlKTogdm9pZApyZWZUeXBlczoKCXByb3RvIDMgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTI2CgkvLyBhc3NlcnQoIWFjY3QuaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIC0xIC8vIGFjY3Q6IEFjY291bnRSZWZlcmVuY2UKCWZyYW1lX2RpZyAtMyAvLyBhc2E6IEFzc2V0UmVmZXJlbmNlCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MjcKCS8vIGFzc2VydCghYXBwLmFkZHJlc3MuaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIC0yIC8vIGFwcDogQXBwUmVmZXJlbmNlCglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2RpZyAtMyAvLyBhc2E6IEFzc2V0UmVmZXJlbmNlCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJyZWZUeXBlcyhhY2NvdW50LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JlZlR5cGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestReturnByte.approval.teal b/tests/contracts/artifacts/ABITestReturnByte.approval.teal
index 4a4eb389f..5dc31d161 100644
--- a/tests/contracts/artifacts/ABITestReturnByte.approval.teal
+++ b/tests/contracts/artifacts/ABITestReturnByte.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestReturnByte.arc32.json b/tests/contracts/artifacts/ABITestReturnByte.arc32.json
index 969f9d384..9de480886 100644
--- a/tests/contracts/artifacts/ABITestReturnByte.arc32.json
+++ b/tests/contracts/artifacts/ABITestReturnByte.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5CeXRlKClieXRlCiphYmlfcm91dGVfcmV0dXJuQnl0ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5CeXRlKClieXRlCgljYWxsc3ViIHJldHVybkJ5dGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuQnl0ZSgpOiBieXRlCnJldHVybkJ5dGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU2NQoJLy8gcmV0dXJuIHJhd0J5dGUodHJ1ZSk7CglpbnQgMQoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVybkJ5dGUoKWJ5dGUiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVybkJ5dGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5CeXRlKClieXRlCiphYmlfcm91dGVfcmV0dXJuQnl0ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5CeXRlKClieXRlCgljYWxsc3ViIHJldHVybkJ5dGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuQnl0ZSgpOiBieXRlCnJldHVybkJ5dGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU2NQoJLy8gcmV0dXJuIHJhd0J5dGUodHJ1ZSk7CglpbnQgMQoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVybkJ5dGUoKWJ5dGUiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVybkJ5dGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestReturnByte.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnByte.arc56_draft.json
index 180074ab0..2bc7b0ad4 100644
--- a/tests/contracts/artifacts/ABITestReturnByte.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestReturnByte.arc56_draft.json
@@ -60,345 +60,348 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1563,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1563,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1563,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1563,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1563,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1563,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1563,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1563,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1563,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1564,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1564,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1564,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1564,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1564,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1564,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 36,
- "source": 1564,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 1564,
- "pc": [
- 56
- ]
- },
- {
- "teal": 38,
- "source": 1564,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 1564,
- "pc": [
- 58
- ]
- },
- {
- "teal": 40,
- "source": 1564,
- "pc": [
- 59
- ]
- },
- {
- "teal": 41,
- "source": 1564,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 1564,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 49,
- "source": 1565,
- "pc": [
- 64
- ]
- },
- {
- "teal": 50,
- "source": 1565,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 51,
- "source": 1565,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 52,
- "source": 1565,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 53,
- "source": 1565,
- "pc": [
- 72
- ]
- },
- {
- "teal": 54,
- "source": 1564,
- "pc": [
- 73
- ]
- },
- {
- "teal": 57,
- "source": 1563,
- "pc": [
- 74
- ]
- },
- {
- "teal": 58,
- "source": 1563,
- "pc": [
- 75
- ]
- },
- {
- "teal": 61,
- "source": 1563,
- "pc": [
- 76,
- 77,
- 78,
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 62,
- "source": 1563,
- "pc": [
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 63,
- "source": 1563,
- "pc": [
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 66,
- "source": 1563,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 89
- ]
- },
- {
- "teal": 69,
- "source": 1563,
- "pc": [
- 90,
- 91,
- 92,
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 70,
- "source": 1563,
- "pc": [
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 71,
- "source": 1563,
- "pc": [
- 99,
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 74,
- "source": 1563,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 103
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1563,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1563,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1563,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1563,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1563,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1563,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1563,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1563,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1563,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1564,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1564,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1564,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1564,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1564,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1564,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1564,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1564,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1564,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1564,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1564,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1564,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1564,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1565,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1565,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1565,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1565,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1565,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1564,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1563,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1563,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1563,
+ "pc": [
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1563,
+ "pc": [
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1563,
+ "pc": [
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1563,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1563,
+ "pc": [
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1563,
+ "pc": [
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1563,
+ "pc": [
+ 99,
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1563,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 103
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5CeXRlKClieXRlCiphYmlfcm91dGVfcmV0dXJuQnl0ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5CeXRlKClieXRlCgljYWxsc3ViIHJldHVybkJ5dGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuQnl0ZSgpOiBieXRlCnJldHVybkJ5dGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU2NQoJLy8gcmV0dXJuIHJhd0J5dGUodHJ1ZSk7CglpbnQgMQoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVybkJ5dGUoKWJ5dGUiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVybkJ5dGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5CeXRlKClieXRlCiphYmlfcm91dGVfcmV0dXJuQnl0ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5CeXRlKClieXRlCgljYWxsc3ViIHJldHVybkJ5dGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuQnl0ZSgpOiBieXRlCnJldHVybkJ5dGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU2NQoJLy8gcmV0dXJuIHJhd0J5dGUodHJ1ZSk7CglpbnQgMQoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVybkJ5dGUoKWJ5dGUiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVybkJ5dGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArray.approval.teal b/tests/contracts/artifacts/ABITestReturnDynamicArray.approval.teal
index eef24ec12..ad833c407 100644
--- a/tests/contracts/artifacts/ABITestReturnDynamicArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestReturnDynamicArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArray.arc32.json b/tests/contracts/artifacts/ABITestReturnDynamicArray.arc32.json
index 22f627c61..29044b461 100644
--- a/tests/contracts/artifacts/ABITestReturnDynamicArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestReturnDynamicArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXkoKXVpbnQ2NFtdCiphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5CglkdXAKCWxlbgoJaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5EeW5hbWljQXJyYXkoKTogdWludDY0W10KcmV0dXJuRHluYW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU2CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM1NwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuRHluYW1pY0FycmF5KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXkoKXVpbnQ2NFtdCiphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5CglkdXAKCWxlbgoJaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5EeW5hbWljQXJyYXkoKTogdWludDY0W10KcmV0dXJuRHluYW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU2CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM1NwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuRHluYW1pY0FycmF5KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArray.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnDynamicArray.arc56_draft.json
index 3db4661f8..e3476d5c3 100644
--- a/tests/contracts/artifacts/ABITestReturnDynamicArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestReturnDynamicArray.arc56_draft.json
@@ -60,385 +60,388 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 354,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 354,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 354,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 354,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 354,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 354,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 354,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 354,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 354,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 355,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 355,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 355,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 355,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 355,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 355,
- "pc": [
- 53
- ]
- },
- {
- "teal": 36,
- "source": 355,
- "pc": [
- 54
- ]
- },
- {
- "teal": 37,
- "source": 355,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 38,
- "source": 355,
- "pc": [
- 58
- ]
- },
- {
- "teal": 39,
- "source": 355,
- "pc": [
- 59
- ]
- },
- {
- "teal": 40,
- "source": 355,
- "pc": [
- 60
- ]
- },
- {
- "teal": 41,
- "source": 355,
- "pc": [
- 61
- ]
- },
- {
- "teal": 42,
- "source": 355,
- "pc": [
- 62
- ]
- },
- {
- "teal": 43,
- "source": 355,
- "pc": [
- 63
- ]
- },
- {
- "teal": 47,
- "source": 355,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 50,
- "source": 355,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 54,
- "source": 356,
- "pc": [
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 55,
- "source": 356,
- "pc": [
- 95,
- 96
- ]
- },
- {
- "teal": 59,
- "source": 357,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 62,
- "source": 355,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 63,
- "source": 355,
- "pc": [
- 101
- ]
- },
- {
- "teal": 66,
- "source": 354,
- "pc": [
- 102
- ]
- },
- {
- "teal": 67,
- "source": 354,
- "pc": [
- 103
- ]
- },
- {
- "teal": 70,
- "source": 354,
- "pc": [
- 104,
- 105,
- 106,
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 71,
- "source": 354,
- "pc": [
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 72,
- "source": 354,
- "pc": [
- 113,
- 114,
- 115,
- 116
- ]
- },
- {
- "teal": 75,
- "source": 354,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 117
- ]
- },
- {
- "teal": 78,
- "source": 354,
- "pc": [
- 118,
- 119,
- 120,
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 79,
- "source": 354,
- "pc": [
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 80,
- "source": 354,
- "pc": [
- 127,
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 83,
- "source": 354,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 131
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 354,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 354,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 354,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 354,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 354,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 354,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 354,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 354,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 354,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 355,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 355,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 355,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 355,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 355,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 355,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 355,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 355,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 355,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 355,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 355,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 355,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 355,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 355,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 355,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 355,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 356,
+ "pc": [
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 356,
+ "pc": [
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 357,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 355,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 355,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 354,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 354,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 354,
+ "pc": [
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 354,
+ "pc": [
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 354,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 354,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 354,
+ "pc": [
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 354,
+ "pc": [
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 354,
+ "pc": [
+ 127,
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 354,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 131
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXkoKXVpbnQ2NFtdCiphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5CglkdXAKCWxlbgoJaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5EeW5hbWljQXJyYXkoKTogdWludDY0W10KcmV0dXJuRHluYW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU2CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM1NwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuRHluYW1pY0FycmF5KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXkoKXVpbnQ2NFtdCiphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5CglkdXAKCWxlbgoJaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5EeW5hbWljQXJyYXkoKTogdWludDY0W10KcmV0dXJuRHluYW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU2CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM1NwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuRHluYW1pY0FycmF5KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.approval.teal b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.approval.teal
index 7dff7d37c..cedcffc55 100644
--- a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc32.json b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc32.json
index 17c56fe61..556922296 100644
--- a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlKCl1aW50OFtdCgljYWxsc3ViIHJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKTogdWludDw4PltdCnJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5OAoJLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFsxLCAyLCBbMywgNF0sIFs1LCA2XSwgWzcsIDhdXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAwMDUwMDA2CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MDAKCS8vIHJldHVybiBhWzRdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZSgpdWludDhbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlKCl1aW50OFtdCgljYWxsc3ViIHJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKTogdWludDw4PltdCnJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5OAoJLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFsxLCAyLCBbMywgNF0sIFs1LCA2XSwgWzcsIDhdXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAwMDUwMDA2CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MDAKCS8vIHJldHVybiBhWzRdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZSgpdWludDhbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc56_draft.json
index 1d3e2e80b..6f6dfa440 100644
--- a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc56_draft.json
@@ -60,825 +60,828 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 396,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 396,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 396,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 396,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 16,
- "source": 396,
- "pc": [
- 12
- ]
- },
- {
- "teal": 17,
- "source": 396,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 18,
- "source": 396,
- "pc": [
- 15
- ]
- },
- {
- "teal": 19,
- "source": 396,
- "pc": [
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41
- ]
- },
- {
- "teal": 23,
- "source": 396,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 42
- ]
- },
- {
- "teal": 28,
- "source": 397,
- "pc": [
- 43,
- 44,
- 45,
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 31,
- "source": 397,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 32,
- "source": 397,
- "pc": [
- 52
- ]
- },
- {
- "teal": 33,
- "source": 397,
- "pc": [
- 53
- ]
- },
- {
- "teal": 34,
- "source": 397,
- "pc": [
- 54
- ]
- },
- {
- "teal": 35,
- "source": 397,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 36,
- "source": 397,
- "pc": [
- 58
- ]
- },
- {
- "teal": 37,
- "source": 397,
- "pc": [
- 59
- ]
- },
- {
- "teal": 38,
- "source": 397,
- "pc": [
- 60
- ]
- },
- {
- "teal": 39,
- "source": 397,
- "pc": [
- 61
- ]
- },
- {
- "teal": 40,
- "source": 397,
- "pc": [
- 62
- ]
- },
- {
- "teal": 41,
- "source": 397,
- "pc": [
- 63
- ]
- },
- {
- "teal": 45,
- "source": 397,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 48,
- "source": 397,
- "pc": [
- 67
- ]
- },
- {
- "teal": 52,
- "source": 398,
- "pc": [
- 68
- ]
- },
- {
- "teal": 53,
- "source": 398,
- "pc": [
- 69
- ]
- },
- {
- "teal": 54,
- "source": 398,
- "pc": [
- 70,
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 55,
- "source": 398,
- "pc": [
- 74,
- 75,
- 76
- ]
- },
- {
- "teal": 56,
- "source": 398,
- "pc": [
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 57,
- "source": 398,
- "pc": [
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 58,
- "source": 398,
- "pc": [
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 59,
- "source": 398,
- "pc": [
- 87,
- 88,
- 89,
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 60,
- "source": 398,
- "pc": [
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 61,
- "source": 398,
- "pc": [
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 62,
- "source": 398,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 63,
- "source": 398,
- "pc": [
- 107,
- 108,
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 64,
- "source": 398,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 65,
- "source": 398,
- "pc": [
- 116
- ]
- },
- {
- "teal": 66,
- "source": 398,
- "pc": [
- 117
- ]
- },
- {
- "teal": 67,
- "source": 398,
- "pc": [
- 118,
- 119
- ]
- },
- {
- "teal": 71,
- "source": 400,
- "pc": [
- 120,
- 121
- ]
- },
- {
- "teal": 72,
- "source": 400,
- "pc": [
- 122,
- 123
- ]
- },
- {
- "teal": 73,
- "source": 400,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 74,
- "source": 400,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 75,
- "source": 400,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 76,
- "source": 400,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 77,
- "source": 400,
- "pc": [
- 132
- ]
- },
- {
- "teal": 78,
- "source": 400,
- "pc": [
- 133
- ]
- },
- {
- "teal": 79,
- "source": 400,
- "pc": [
- 134,
- 135
- ]
- },
- {
- "teal": 80,
- "source": 400,
- "pc": [
- 136
- ]
- },
- {
- "teal": 81,
- "source": 400,
- "pc": [
- 137
- ]
- },
- {
- "teal": 82,
- "source": 400,
- "pc": [
- 138
- ]
- },
- {
- "teal": 83,
- "source": 400,
- "pc": [
- 139
- ]
- },
- {
- "teal": 84,
- "source": 400,
- "pc": [
- 140,
- 141
- ]
- },
- {
- "teal": 85,
- "source": 400,
- "pc": [
- 142
- ]
- },
- {
- "teal": 86,
- "source": 400,
- "pc": [
- 143
- ]
- },
- {
- "teal": 87,
- "source": 400,
- "pc": [
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 90,
- "source": 397,
- "pc": [
- 147,
- 148
- ]
- },
- {
- "teal": 91,
- "source": 397,
- "pc": [
- 149
- ]
- },
- {
- "teal": 94,
- "source": 396,
- "pc": [
- 150
- ]
- },
- {
- "teal": 95,
- "source": 396,
- "pc": [
- 151
- ]
- },
- {
- "teal": 98,
- "source": 396,
- "pc": [
- 152,
- 153,
- 154,
- 155,
- 156,
- 157
- ]
- },
- {
- "teal": 99,
- "source": 396,
- "pc": [
- 158,
- 159,
- 160
- ]
- },
- {
- "teal": 100,
- "source": 396,
- "pc": [
- 161,
- 162,
- 163,
- 164
- ]
- },
- {
- "teal": 103,
- "source": 396,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 165
- ]
- },
- {
- "teal": 106,
- "source": 396,
- "pc": [
- 166,
- 167,
- 168,
- 169,
- 170,
- 171
- ]
- },
- {
- "teal": 107,
- "source": 396,
- "pc": [
- 172,
- 173,
- 174
- ]
- },
- {
- "teal": 108,
- "source": 396,
- "pc": [
- 175,
- 176,
- 177,
- 178
- ]
- },
- {
- "teal": 111,
- "source": 396,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 179
- ]
- },
- {
- "teal": 114,
- "source": 396,
- "pc": [
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 115,
- "source": 396,
- "pc": [
- 183,
- 184
- ]
- },
- {
- "teal": 116,
- "source": 396,
- "pc": [
- 185,
- 186
- ]
- },
- {
- "teal": 117,
- "source": 396,
- "pc": [
- 187
- ]
- },
- {
- "teal": 118,
- "source": 396,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 119,
- "source": 396,
- "pc": [
- 190,
- 191
- ]
- },
- {
- "teal": 120,
- "source": 396,
- "pc": [
- 192
- ]
- },
- {
- "teal": 123,
- "source": 396,
- "pc": [
- 193,
- 194,
- 195
- ]
- },
- {
- "teal": 124,
- "source": 396,
- "pc": [
- 196,
- 197
- ]
- },
- {
- "teal": 125,
- "source": 396,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 126,
- "source": 396,
- "pc": [
- 200
- ]
- },
- {
- "teal": 127,
- "source": 396,
- "pc": [
- 201,
- 202
- ]
- },
- {
- "teal": 128,
- "source": 396,
- "pc": [
- 203,
- 204
- ]
- },
- {
- "teal": 129,
- "source": 396,
- "pc": [
- 205
- ]
- },
- {
- "teal": 130,
- "source": 396,
- "pc": [
- 206
- ]
- },
- {
- "teal": 131,
- "source": 396,
- "pc": [
- 207,
- 208
- ]
- },
- {
- "teal": 132,
- "source": 396,
- "pc": [
- 209
- ]
- },
- {
- "teal": 133,
- "source": 396,
- "pc": [
- 210
- ]
- },
- {
- "teal": 134,
- "source": 396,
- "pc": [
- 211
- ]
- },
- {
- "teal": 135,
- "source": 396,
- "pc": [
- 212,
- 213,
- 214
- ]
- },
- {
- "teal": 136,
- "source": 396,
- "pc": [
- 215,
- 216
- ]
- },
- {
- "teal": 137,
- "source": 396,
- "pc": [
- 217,
- 218
- ]
- },
- {
- "teal": 138,
- "source": 396,
- "pc": [
- 219
- ]
- },
- {
- "teal": 139,
- "source": 396,
- "pc": [
- 220
- ]
- },
- {
- "teal": 140,
- "source": 396,
- "pc": [
- 221,
- 222
- ]
- },
- {
- "teal": 141,
- "source": 396,
- "pc": [
- 223,
- 224
- ]
- },
- {
- "teal": 142,
- "source": 396,
- "pc": [
- 225,
- 226
- ]
- },
- {
- "teal": 143,
- "source": 396,
- "pc": [
- 227,
- 228
- ]
- },
- {
- "teal": 144,
- "source": 396,
- "pc": [
- 229
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 396,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 396,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 396,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 396,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 396,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 396,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 396,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 396,
+ "pc": [
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 396,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 42
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 397,
+ "pc": [
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 397,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 397,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 397,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 397,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 397,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 397,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 397,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 397,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 397,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 397,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 397,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 397,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 397,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 398,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 398,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 398,
+ "pc": [
+ 70,
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 398,
+ "pc": [
+ 74,
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 398,
+ "pc": [
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 398,
+ "pc": [
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 398,
+ "pc": [
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 398,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 398,
+ "pc": [
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 398,
+ "pc": [
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 398,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 398,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 398,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 398,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 398,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 398,
+ "pc": [
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 400,
+ "pc": [
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 400,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 400,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 400,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 400,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 400,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 400,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 400,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 400,
+ "pc": [
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 400,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 400,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 400,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 400,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 400,
+ "pc": [
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 400,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 400,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 400,
+ "pc": [
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 397,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 397,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 396,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 396,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 396,
+ "pc": [
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 396,
+ "pc": [
+ 158,
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 396,
+ "pc": [
+ 161,
+ 162,
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 396,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 396,
+ "pc": [
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 396,
+ "pc": [
+ 172,
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 396,
+ "pc": [
+ 175,
+ 176,
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 396,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 396,
+ "pc": [
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 396,
+ "pc": [
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 396,
+ "pc": [
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 396,
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 396,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 396,
+ "pc": [
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 396,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 396,
+ "pc": [
+ 193,
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 396,
+ "pc": [
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 396,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 396,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 396,
+ "pc": [
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 396,
+ "pc": [
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 396,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 396,
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 396,
+ "pc": [
+ 207,
+ 208
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 396,
+ "pc": [
+ 209
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 396,
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 396,
+ "pc": [
+ 211
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 396,
+ "pc": [
+ 212,
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 396,
+ "pc": [
+ 215,
+ 216
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 396,
+ "pc": [
+ 217,
+ 218
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 396,
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 396,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 396,
+ "pc": [
+ 221,
+ 222
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 396,
+ "pc": [
+ 223,
+ 224
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 396,
+ "pc": [
+ 225,
+ 226
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 396,
+ "pc": [
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 396,
+ "pc": [
+ 229
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlKCl1aW50OFtdCgljYWxsc3ViIHJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKTogdWludDw4PltdCnJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5OAoJLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFsxLCAyLCBbMywgNF0sIFs1LCA2XSwgWzcsIDhdXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAwMDUwMDA2CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MDAKCS8vIHJldHVybiBhWzRdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZSgpdWludDhbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlKCl1aW50OFtdCgljYWxsc3ViIHJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKTogdWludDw4PltdCnJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5OAoJLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFsxLCAyLCBbMywgNF0sIFs1LCA2XSwgWzcsIDhdXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAwMDUwMDA2CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MDAKCS8vIHJldHVybiBhWzRdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZSgpdWludDhbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestReturnStaticArray.approval.teal b/tests/contracts/artifacts/ABITestReturnStaticArray.approval.teal
index 02382dd50..ea7934655 100644
--- a/tests/contracts/artifacts/ABITestReturnStaticArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestReturnStaticArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestReturnStaticArray.arc32.json b/tests/contracts/artifacts/ABITestReturnStaticArray.arc32.json
index 544460f5c..fb048f14d 100644
--- a/tests/contracts/artifacts/ABITestReturnStaticArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestReturnStaticArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5TdGF0aWNBcnJheSgpdWludDY0WzNdCiphYmlfcm91dGVfcmV0dXJuU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoJY2FsbHN1YiByZXR1cm5TdGF0aWNBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJldHVyblN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KcmV0dXJuU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxOQoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuU3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5TdGF0aWNBcnJheSgpdWludDY0WzNdCiphYmlfcm91dGVfcmV0dXJuU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoJY2FsbHN1YiByZXR1cm5TdGF0aWNBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJldHVyblN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KcmV0dXJuU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxOQoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuU3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestReturnStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnStaticArray.arc56_draft.json
index 85318673d..71f36109e 100644
--- a/tests/contracts/artifacts/ABITestReturnStaticArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestReturnStaticArray.arc56_draft.json
@@ -60,326 +60,329 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 17,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 17,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 17,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 17,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 17,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 17,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 17,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 17,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 17,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 18,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 18,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 18,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 18,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 18,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 18,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 18,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 18,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 46,
- "source": 19,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 47,
- "source": 19,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 51,
- "source": 21,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 54,
- "source": 18,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 55,
- "source": 18,
- "pc": [
- 90
- ]
- },
- {
- "teal": 58,
- "source": 17,
- "pc": [
- 91
- ]
- },
- {
- "teal": 59,
- "source": 17,
- "pc": [
- 92
- ]
- },
- {
- "teal": 62,
- "source": 17,
- "pc": [
- 93,
- 94,
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 63,
- "source": 17,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 64,
- "source": 17,
- "pc": [
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 67,
- "source": 17,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 106
- ]
- },
- {
- "teal": 70,
- "source": 17,
- "pc": [
- 107,
- 108,
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 71,
- "source": 17,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 72,
- "source": 17,
- "pc": [
- 116,
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 75,
- "source": 17,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 120
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 17,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 17,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 17,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 17,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 17,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 17,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 17,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 17,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 17,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 18,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 18,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 18,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 18,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 18,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 18,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 18,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 18,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 19,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 19,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 21,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 18,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 18,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 17,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 17,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 17,
+ "pc": [
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 17,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 17,
+ "pc": [
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 17,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 17,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 17,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 17,
+ "pc": [
+ 116,
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 17,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 120
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5TdGF0aWNBcnJheSgpdWludDY0WzNdCiphYmlfcm91dGVfcmV0dXJuU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoJY2FsbHN1YiByZXR1cm5TdGF0aWNBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJldHVyblN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KcmV0dXJuU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxOQoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuU3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5TdGF0aWNBcnJheSgpdWludDY0WzNdCiphYmlfcm91dGVfcmV0dXJuU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoJY2FsbHN1YiByZXR1cm5TdGF0aWNBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJldHVyblN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KcmV0dXJuU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxOQoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjEKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuU3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestReturnTuple.approval.teal b/tests/contracts/artifacts/ABITestReturnTuple.approval.teal
index 50d16d1da..9cacafbb5 100644
--- a/tests/contracts/artifacts/ABITestReturnTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestReturnTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestReturnTuple.arc32.json b/tests/contracts/artifacts/ABITestReturnTuple.arc32.json
index 2c45ff858..55966f45d 100644
--- a/tests/contracts/artifacts/ABITestReturnTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestReturnTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZSgpKHVpbnQ2NCx1aW50MTYsdWludDY0KQoqYWJpX3JvdXRlX3JldHVyblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpCgljYWxsc3ViIHJldHVyblR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGUoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCnJldHVyblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzM1CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzM2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuVHVwbGUoKSh1aW50NjQsdWludDE2LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZSgpKHVpbnQ2NCx1aW50MTYsdWludDY0KQoqYWJpX3JvdXRlX3JldHVyblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpCgljYWxsc3ViIHJldHVyblR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGUoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCnJldHVyblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzM1CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzM2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuVHVwbGUoKSh1aW50NjQsdWludDE2LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestReturnTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnTuple.arc56_draft.json
index 0d5e60585..917457caf 100644
--- a/tests/contracts/artifacts/ABITestReturnTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestReturnTuple.arc56_draft.json
@@ -60,320 +60,323 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 333,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 333,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 333,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 333,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 333,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 333,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 333,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 333,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 333,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 334,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 334,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 334,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 334,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 334,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 334,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 334,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 334,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 46,
- "source": 335,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 47,
- "source": 335,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 51,
- "source": 336,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 54,
- "source": 334,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 55,
- "source": 334,
- "pc": [
- 84
- ]
- },
- {
- "teal": 58,
- "source": 333,
- "pc": [
- 85
- ]
- },
- {
- "teal": 59,
- "source": 333,
- "pc": [
- 86
- ]
- },
- {
- "teal": 62,
- "source": 333,
- "pc": [
- 87,
- 88,
- 89,
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 63,
- "source": 333,
- "pc": [
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 64,
- "source": 333,
- "pc": [
- 96,
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 67,
- "source": 333,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 100
- ]
- },
- {
- "teal": 70,
- "source": 333,
- "pc": [
- 101,
- 102,
- 103,
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 71,
- "source": 333,
- "pc": [
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 72,
- "source": 333,
- "pc": [
- 110,
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 75,
- "source": 333,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 114
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 333,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 333,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 333,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 333,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 333,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 333,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 333,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 333,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 333,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 334,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 334,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 334,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 334,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 334,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 334,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 334,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 334,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 335,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 335,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 336,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 334,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 334,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 333,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 333,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 333,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 333,
+ "pc": [
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 333,
+ "pc": [
+ 96,
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 333,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 333,
+ "pc": [
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 333,
+ "pc": [
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 333,
+ "pc": [
+ 110,
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 333,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 114
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZSgpKHVpbnQ2NCx1aW50MTYsdWludDY0KQoqYWJpX3JvdXRlX3JldHVyblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpCgljYWxsc3ViIHJldHVyblR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGUoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCnJldHVyblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzM1CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzM2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuVHVwbGUoKSh1aW50NjQsdWludDE2LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZSgpKHVpbnQ2NCx1aW50MTYsdWludDY0KQoqYWJpX3JvdXRlX3JldHVyblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpCgljYWxsc3ViIHJldHVyblR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGUoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCnJldHVyblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzM1CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzM2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAicmV0dXJuVHVwbGUoKSh1aW50NjQsdWludDE2LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.approval.teal b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.approval.teal
index 6de52b0fe..c5a037336 100644
--- a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc32.json b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc32.json
index dc68dc0b9..78fac2a74 100644
--- a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCiphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKSh1aW50NjQsdWludDE2LHVpbnQ2NFtdLHVpbnQxNltdKQoJY2FsbHN1YiByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5KCk6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0W10sIHVpbnQxNltdXQpyZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5MAoJLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dID0gWzEsIDIsIFszLCA0XSwgWzUsIDZdXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwZSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAwMDUwMDA2CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5MgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5KCkodWludDY0LHVpbnQxNix1aW50NjRbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblR1cGxlV2l0aER5YW1pY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCiphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKSh1aW50NjQsdWludDE2LHVpbnQ2NFtdLHVpbnQxNltdKQoJY2FsbHN1YiByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5KCk6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0W10sIHVpbnQxNltdXQpyZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5MAoJLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dID0gWzEsIDIsIFszLCA0XSwgWzUsIDZdXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwZSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAwMDUwMDA2CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5MgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5KCkodWludDY0LHVpbnQxNix1aW50NjRbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblR1cGxlV2l0aER5YW1pY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc56_draft.json
index 47ca78d6a..9d5aefc88 100644
--- a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc56_draft.json
@@ -60,660 +60,663 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 388,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 388,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 388,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 388,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 16,
- "source": 388,
- "pc": [
- 12
- ]
- },
- {
- "teal": 17,
- "source": 388,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 18,
- "source": 388,
- "pc": [
- 15
- ]
- },
- {
- "teal": 19,
- "source": 388,
- "pc": [
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41
- ]
- },
- {
- "teal": 23,
- "source": 388,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 42
- ]
- },
- {
- "teal": 28,
- "source": 389,
- "pc": [
- 43,
- 44,
- 45,
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 31,
- "source": 389,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 32,
- "source": 389,
- "pc": [
- 52
- ]
- },
- {
- "teal": 33,
- "source": 389,
- "pc": [
- 53
- ]
- },
- {
- "teal": 34,
- "source": 389,
- "pc": [
- 54
- ]
- },
- {
- "teal": 35,
- "source": 389,
- "pc": [
- 55
- ]
- },
- {
- "teal": 39,
- "source": 389,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 42,
- "source": 389,
- "pc": [
- 59
- ]
- },
- {
- "teal": 46,
- "source": 390,
- "pc": [
- 60
- ]
- },
- {
- "teal": 47,
- "source": 390,
- "pc": [
- 61
- ]
- },
- {
- "teal": 48,
- "source": 390,
- "pc": [
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 49,
- "source": 390,
- "pc": [
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75
- ]
- },
- {
- "teal": 50,
- "source": 390,
- "pc": [
- 76,
- 77,
- 78
- ]
- },
- {
- "teal": 51,
- "source": 390,
- "pc": [
- 79,
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 52,
- "source": 390,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 53,
- "source": 390,
- "pc": [
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 54,
- "source": 390,
- "pc": [
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 55,
- "source": 390,
- "pc": [
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116
- ]
- },
- {
- "teal": 56,
- "source": 390,
- "pc": [
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 57,
- "source": 390,
- "pc": [
- 120
- ]
- },
- {
- "teal": 58,
- "source": 390,
- "pc": [
- 121
- ]
- },
- {
- "teal": 59,
- "source": 390,
- "pc": [
- 122,
- 123
- ]
- },
- {
- "teal": 63,
- "source": 392,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 66,
- "source": 389,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 67,
- "source": 389,
- "pc": [
- 128
- ]
- },
- {
- "teal": 70,
- "source": 388,
- "pc": [
- 129
- ]
- },
- {
- "teal": 71,
- "source": 388,
- "pc": [
- 130
- ]
- },
- {
- "teal": 74,
- "source": 388,
- "pc": [
- 131,
- 132,
- 133,
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 75,
- "source": 388,
- "pc": [
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 76,
- "source": 388,
- "pc": [
- 140,
- 141,
- 142,
- 143
- ]
- },
- {
- "teal": 79,
- "source": 388,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 144
- ]
- },
- {
- "teal": 82,
- "source": 388,
- "pc": [
- 145,
- 146,
- 147,
- 148,
- 149,
- 150
- ]
- },
- {
- "teal": 83,
- "source": 388,
- "pc": [
- 151,
- 152,
- 153
- ]
- },
- {
- "teal": 84,
- "source": 388,
- "pc": [
- 154,
- 155,
- 156,
- 157
- ]
- },
- {
- "teal": 87,
- "source": 388,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 158
- ]
- },
- {
- "teal": 90,
- "source": 388,
- "pc": [
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 91,
- "source": 388,
- "pc": [
- 162,
- 163
- ]
- },
- {
- "teal": 92,
- "source": 388,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 93,
- "source": 388,
- "pc": [
- 166
- ]
- },
- {
- "teal": 94,
- "source": 388,
- "pc": [
- 167,
- 168
- ]
- },
- {
- "teal": 95,
- "source": 388,
- "pc": [
- 169,
- 170
- ]
- },
- {
- "teal": 96,
- "source": 388,
- "pc": [
- 171
- ]
- },
- {
- "teal": 99,
- "source": 388,
- "pc": [
- 172,
- 173,
- 174
- ]
- },
- {
- "teal": 100,
- "source": 388,
- "pc": [
- 175,
- 176
- ]
- },
- {
- "teal": 101,
- "source": 388,
- "pc": [
- 177,
- 178
- ]
- },
- {
- "teal": 102,
- "source": 388,
- "pc": [
- 179
- ]
- },
- {
- "teal": 103,
- "source": 388,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 104,
- "source": 388,
- "pc": [
- 182,
- 183
- ]
- },
- {
- "teal": 105,
- "source": 388,
- "pc": [
- 184
- ]
- },
- {
- "teal": 106,
- "source": 388,
- "pc": [
- 185
- ]
- },
- {
- "teal": 107,
- "source": 388,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 108,
- "source": 388,
- "pc": [
- 188
- ]
- },
- {
- "teal": 109,
- "source": 388,
- "pc": [
- 189
- ]
- },
- {
- "teal": 110,
- "source": 388,
- "pc": [
- 190
- ]
- },
- {
- "teal": 111,
- "source": 388,
- "pc": [
- 191,
- 192,
- 193
- ]
- },
- {
- "teal": 112,
- "source": 388,
- "pc": [
- 194,
- 195
- ]
- },
- {
- "teal": 113,
- "source": 388,
- "pc": [
- 196,
- 197
- ]
- },
- {
- "teal": 114,
- "source": 388,
- "pc": [
- 198
- ]
- },
- {
- "teal": 115,
- "source": 388,
- "pc": [
- 199
- ]
- },
- {
- "teal": 116,
- "source": 388,
- "pc": [
- 200,
- 201
- ]
- },
- {
- "teal": 117,
- "source": 388,
- "pc": [
- 202,
- 203
- ]
- },
- {
- "teal": 118,
- "source": 388,
- "pc": [
- 204,
- 205
- ]
- },
- {
- "teal": 119,
- "source": 388,
- "pc": [
- 206,
- 207
- ]
- },
- {
- "teal": 120,
- "source": 388,
- "pc": [
- 208
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 388,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 388,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 388,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 388,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 388,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 388,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 388,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 388,
+ "pc": [
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 388,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 42
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 389,
+ "pc": [
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 389,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 389,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 389,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 389,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 389,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 389,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 389,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 390,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 390,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 390,
+ "pc": [
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 390,
+ "pc": [
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 390,
+ "pc": [
+ 76,
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 390,
+ "pc": [
+ 79,
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 390,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 390,
+ "pc": [
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 390,
+ "pc": [
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 390,
+ "pc": [
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 390,
+ "pc": [
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 390,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 390,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 390,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 392,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 389,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 389,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 388,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 388,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 388,
+ "pc": [
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 388,
+ "pc": [
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 388,
+ "pc": [
+ 140,
+ 141,
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 388,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 388,
+ "pc": [
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 388,
+ "pc": [
+ 151,
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 388,
+ "pc": [
+ 154,
+ 155,
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 388,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 388,
+ "pc": [
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 388,
+ "pc": [
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 388,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 388,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 388,
+ "pc": [
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 388,
+ "pc": [
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 388,
+ "pc": [
+ 171
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 388,
+ "pc": [
+ 172,
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 388,
+ "pc": [
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 388,
+ "pc": [
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 388,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 388,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 388,
+ "pc": [
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 388,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 388,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 388,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 388,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 388,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 388,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 388,
+ "pc": [
+ 191,
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 388,
+ "pc": [
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 388,
+ "pc": [
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 388,
+ "pc": [
+ 198
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 388,
+ "pc": [
+ 199
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 388,
+ "pc": [
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 388,
+ "pc": [
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 388,
+ "pc": [
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 388,
+ "pc": [
+ 206,
+ 207
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 388,
+ "pc": [
+ 208
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCiphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKSh1aW50NjQsdWludDE2LHVpbnQ2NFtdLHVpbnQxNltdKQoJY2FsbHN1YiByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5KCk6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0W10sIHVpbnQxNltdXQpyZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5MAoJLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dID0gWzEsIDIsIFszLCA0XSwgWzUsIDZdXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwZSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAwMDUwMDA2CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5MgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5KCkodWludDY0LHVpbnQxNix1aW50NjRbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblR1cGxlV2l0aER5YW1pY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCiphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKSh1aW50NjQsdWludDE2LHVpbnQ2NFtdLHVpbnQxNltdKQoJY2FsbHN1YiByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5KCk6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0W10sIHVpbnQxNltdXQpyZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5MAoJLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dID0gWzEsIDIsIFszLCA0XSwgWzUsIDZdXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwZSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMjAwMDUwMDA2CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM5MgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5KCkodWludDY0LHVpbnQxNix1aW50NjRbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblR1cGxlV2l0aER5YW1pY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestSetStaticArrayElement.approval.teal b/tests/contracts/artifacts/ABITestSetStaticArrayElement.approval.teal
index a57dcf8b2..375bb3dc9 100644
--- a/tests/contracts/artifacts/ABITestSetStaticArrayElement.approval.teal
+++ b/tests/contracts/artifacts/ABITestSetStaticArrayElement.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc32.json b/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc32.json
index 149e04aad..1c6bf32e8 100644
--- a/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc32.json
+++ b/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3NldFN0YXRpY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiBzZXRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnNldFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY0CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NgoJLy8gYVsxXSA9IDIyMgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2V0U3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3NldFN0YXRpY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiBzZXRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnNldFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY0CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NgoJLy8gYVsxXSA9IDIyMgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2V0U3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc56_draft.json b/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc56_draft.json
index 4618bcb9f..d37e66e54 100644
--- a/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc56_draft.json
@@ -60,389 +60,392 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 62,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 62,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 62,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 62,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 62,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 62,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 62,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 62,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 62,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 63,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 63,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 63,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 63,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 63,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 63,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 63,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 63,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 63,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 64,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 48,
- "source": 64,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 52,
- "source": 66,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 53,
- "source": 66,
- "pc": [
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 54,
- "source": 66,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 55,
- "source": 66,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 59,
- "source": 68,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 60,
- "source": 68,
- "pc": [
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 61,
- "source": 68,
- "pc": [
- 108
- ]
- },
- {
- "teal": 64,
- "source": 63,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 65,
- "source": 63,
- "pc": [
- 111
- ]
- },
- {
- "teal": 68,
- "source": 62,
- "pc": [
- 112
- ]
- },
- {
- "teal": 69,
- "source": 62,
- "pc": [
- 113
- ]
- },
- {
- "teal": 72,
- "source": 62,
- "pc": [
- 114,
- 115,
- 116,
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 73,
- "source": 62,
- "pc": [
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 74,
- "source": 62,
- "pc": [
- 123,
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 77,
- "source": 62,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 127
- ]
- },
- {
- "teal": 80,
- "source": 62,
- "pc": [
- 128,
- 129,
- 130,
- 131,
- 132,
- 133
- ]
- },
- {
- "teal": 81,
- "source": 62,
- "pc": [
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 82,
- "source": 62,
- "pc": [
- 137,
- 138,
- 139,
- 140
- ]
- },
- {
- "teal": 85,
- "source": 62,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 141
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 62,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 62,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 62,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 62,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 62,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 62,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 62,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 62,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 62,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 63,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 63,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 63,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 63,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 63,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 63,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 63,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 63,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 63,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 64,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 64,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 66,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 66,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 66,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 66,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 68,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 68,
+ "pc": [
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 68,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 63,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 63,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 62,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 62,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 62,
+ "pc": [
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 62,
+ "pc": [
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 62,
+ "pc": [
+ 123,
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 62,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 62,
+ "pc": [
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 62,
+ "pc": [
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 62,
+ "pc": [
+ 137,
+ 138,
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 62,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 141
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3NldFN0YXRpY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiBzZXRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnNldFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY0CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NgoJLy8gYVsxXSA9IDIyMgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2V0U3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3NldFN0YXRpY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiBzZXRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnNldFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY0CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NgoJLy8gYVsxXSA9IDIyMgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2V0U3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestShortTypeNotation.approval.teal b/tests/contracts/artifacts/ABITestShortTypeNotation.approval.teal
index 61b60ccda..5b0708692 100644
--- a/tests/contracts/artifacts/ABITestShortTypeNotation.approval.teal
+++ b/tests/contracts/artifacts/ABITestShortTypeNotation.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestShortTypeNotation.arc32.json b/tests/contracts/artifacts/ABITestShortTypeNotation.arc32.json
index 25fd9ecde..0c575f78e 100644
--- a/tests/contracts/artifacts/ABITestShortTypeNotation.arc32.json
+++ b/tests/contracts/artifacts/ABITestShortTypeNotation.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydFR5cGVOb3RhdGlvbigpdWludDE2CiphYmlfcm91dGVfc2hvcnRUeXBlTm90YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoJY2FsbHN1YiBzaG9ydFR5cGVOb3RhdGlvbgoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBzaG9ydFR5cGVOb3RhdGlvbiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2hvcnRUeXBlTm90YXRpb24oKTogdWludDE2CnNob3J0VHlwZU5vdGF0aW9uOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjkyCgkvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgICAgWzU1LCA2Nl0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDM3MDA0MgoJZnJhbWVfYnVyeSAwIC8vIGE6IFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCBTdGF0aWNBcnJheTx1aW50MTYsIDI+XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyOTgKCS8vIHJldHVybiBhWzJdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIFN0YXRpY0FycmF5PHVpbnQxNiwgMj5dCglleHRyYWN0IDIyIDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNob3J0VHlwZU5vdGF0aW9uKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Nob3J0VHlwZU5vdGF0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydFR5cGVOb3RhdGlvbigpdWludDE2CiphYmlfcm91dGVfc2hvcnRUeXBlTm90YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoJY2FsbHN1YiBzaG9ydFR5cGVOb3RhdGlvbgoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBzaG9ydFR5cGVOb3RhdGlvbiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2hvcnRUeXBlTm90YXRpb24oKTogdWludDE2CnNob3J0VHlwZU5vdGF0aW9uOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjkyCgkvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgICAgWzU1LCA2Nl0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDM3MDA0MgoJZnJhbWVfYnVyeSAwIC8vIGE6IFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCBTdGF0aWNBcnJheTx1aW50MTYsIDI+XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyOTgKCS8vIHJldHVybiBhWzJdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIFN0YXRpY0FycmF5PHVpbnQxNiwgMj5dCglleHRyYWN0IDIyIDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNob3J0VHlwZU5vdGF0aW9uKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Nob3J0VHlwZU5vdGF0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestShortTypeNotation.arc56_draft.json b/tests/contracts/artifacts/ABITestShortTypeNotation.arc56_draft.json
index 69c2bc3d8..6604834ce 100644
--- a/tests/contracts/artifacts/ABITestShortTypeNotation.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestShortTypeNotation.arc56_draft.json
@@ -60,395 +60,398 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 290,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 290,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 290,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 290,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 290,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 290,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 290,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 290,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 290,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 291,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 291,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 291,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 291,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 291,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 291,
- "pc": [
- 52,
- 53
- ]
- },
- {
- "teal": 36,
- "source": 291,
- "pc": [
- 54
- ]
- },
- {
- "teal": 39,
- "source": 291,
- "errorMessage": "shortTypeNotation return value overflowed 16 bits",
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 291,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 41,
- "source": 291,
- "pc": [
- 59
- ]
- },
- {
- "teal": 42,
- "source": 291,
- "pc": [
- 60
- ]
- },
- {
- "teal": 43,
- "source": 291,
- "pc": [
- 61
- ]
- },
- {
- "teal": 44,
- "source": 291,
- "pc": [
- 62
- ]
- },
- {
- "teal": 48,
- "source": 291,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 51,
- "source": 291,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 59,
- "source": 295,
- "pc": [
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 60,
- "source": 292,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 64,
- "source": 298,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 65,
- "source": 298,
- "pc": [
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 66,
- "source": 298,
- "pc": [
- 101
- ]
- },
- {
- "teal": 69,
- "source": 291,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 70,
- "source": 291,
- "pc": [
- 104
- ]
- },
- {
- "teal": 73,
- "source": 290,
- "pc": [
- 105
- ]
- },
- {
- "teal": 74,
- "source": 290,
- "pc": [
- 106
- ]
- },
- {
- "teal": 77,
- "source": 290,
- "pc": [
- 107,
- 108,
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 78,
- "source": 290,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 79,
- "source": 290,
- "pc": [
- 116,
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 82,
- "source": 290,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 120
- ]
- },
- {
- "teal": 85,
- "source": 290,
- "pc": [
- 121,
- 122,
- 123,
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 86,
- "source": 290,
- "pc": [
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 87,
- "source": 290,
- "pc": [
- 130,
- 131,
- 132,
- 133
- ]
- },
- {
- "teal": 90,
- "source": 290,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 134
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 290,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 290,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 290,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 290,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 290,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 290,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 290,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 290,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 290,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 291,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 291,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 291,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 291,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 291,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 291,
+ "pc": [
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 291,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 291,
+ "errorMessage": "shortTypeNotation return value overflowed 16 bits",
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 291,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 291,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 291,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 291,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 291,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 291,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 291,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 295,
+ "pc": [
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 292,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 298,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 298,
+ "pc": [
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 298,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 291,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 291,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 290,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 290,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 290,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 290,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 290,
+ "pc": [
+ 116,
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 290,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 290,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 290,
+ "pc": [
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 290,
+ "pc": [
+ 130,
+ 131,
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 290,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 134
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydFR5cGVOb3RhdGlvbigpdWludDE2CiphYmlfcm91dGVfc2hvcnRUeXBlTm90YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoJY2FsbHN1YiBzaG9ydFR5cGVOb3RhdGlvbgoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBzaG9ydFR5cGVOb3RhdGlvbiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2hvcnRUeXBlTm90YXRpb24oKTogdWludDE2CnNob3J0VHlwZU5vdGF0aW9uOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjkyCgkvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgICAgWzU1LCA2Nl0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDM3MDA0MgoJZnJhbWVfYnVyeSAwIC8vIGE6IFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCBTdGF0aWNBcnJheTx1aW50MTYsIDI+XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyOTgKCS8vIHJldHVybiBhWzJdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIFN0YXRpY0FycmF5PHVpbnQxNiwgMj5dCglleHRyYWN0IDIyIDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNob3J0VHlwZU5vdGF0aW9uKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Nob3J0VHlwZU5vdGF0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydFR5cGVOb3RhdGlvbigpdWludDE2CiphYmlfcm91dGVfc2hvcnRUeXBlTm90YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoJY2FsbHN1YiBzaG9ydFR5cGVOb3RhdGlvbgoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBzaG9ydFR5cGVOb3RhdGlvbiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2hvcnRUeXBlTm90YXRpb24oKTogdWludDE2CnNob3J0VHlwZU5vdGF0aW9uOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjkyCgkvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgICAgWzU1LCA2Nl0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDM3MDA0MgoJZnJhbWVfYnVyeSAwIC8vIGE6IFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCBTdGF0aWNBcnJheTx1aW50MTYsIDI+XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyOTgKCS8vIHJldHVybiBhWzJdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIFN0YXRpY0FycmF5PHVpbnQxNiwgMj5dCglleHRyYWN0IDIyIDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNob3J0VHlwZU5vdGF0aW9uKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3Nob3J0VHlwZU5vdGF0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.approval.teal b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.approval.teal
index 14b515620..56bc94f2c 100644
--- a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc32.json b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc32.json
index f69874939..0b1f0ff27 100644
--- a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCgljYWxsc3ViIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCk6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQpzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTg2CgkvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0gPSBbCgkvLyAgICAgICBbMSwgMl0sCgkvLyAgICAgICBbMiwgM10sCgkvLyAgICAgICBbMywgNF0sCgkvLyAgICAgXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMjAwMDEwMDAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwMDAyMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDAwMzAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkyCgkvLyBhWzBdID0gWzVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDEwMDA1CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCA0CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkzCgkvLyBhWzFdID0gWzZdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDEwMDA2CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OTQKCS8vIGFbMl0gPSBbN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMTAwMDcKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQxNltdLHVpbnQxNltdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50IDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnQgMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCgljYWxsc3ViIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCk6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQpzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTg2CgkvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0gPSBbCgkvLyAgICAgICBbMSwgMl0sCgkvLyAgICAgICBbMiwgM10sCgkvLyAgICAgICBbMywgNF0sCgkvLyAgICAgXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMjAwMDEwMDAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwMDAyMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDAwMzAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkyCgkvLyBhWzBdID0gWzVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDEwMDA1CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCA0CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkzCgkvLyBhWzFdID0gWzZdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDEwMDA2CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OTQKCS8vIGFbMl0gPSBbN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMTAwMDcKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQxNltdLHVpbnQxNltdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50IDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnQgMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc56_draft.json
index 0ce936554..ff97ee865 100644
--- a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc56_draft.json
@@ -60,1911 +60,1914 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 584,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9
- ]
- },
- {
- "teal": 13,
- "source": 584,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 14,
- "source": 584,
- "pc": [
- 12
- ]
- },
- {
- "teal": 15,
- "source": 584,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 16,
- "source": 584,
- "pc": [
- 15
- ]
- },
- {
- "teal": 17,
- "source": 584,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 18,
- "source": 584,
- "pc": [
- 18
- ]
- },
- {
- "teal": 19,
- "source": 584,
- "pc": [
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44
- ]
- },
- {
- "teal": 23,
- "source": 584,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 45
- ]
- },
- {
- "teal": 28,
- "source": 585,
- "pc": [
- 46,
- 47,
- 48,
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 31,
- "source": 585,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 32,
- "source": 585,
- "pc": [
- 55
- ]
- },
- {
- "teal": 33,
- "source": 585,
- "pc": [
- 56
- ]
- },
- {
- "teal": 34,
- "source": 585,
- "pc": [
- 57
- ]
- },
- {
- "teal": 35,
- "source": 585,
- "pc": [
- 58
- ]
- },
- {
- "teal": 39,
- "source": 585,
- "pc": [
- 59,
- 60,
- 61
- ]
- },
- {
- "teal": 42,
- "source": 585,
- "pc": [
- 62
- ]
- },
- {
- "teal": 50,
- "source": 586,
- "pc": [
- 63
- ]
- },
- {
- "teal": 51,
- "source": 586,
- "pc": [
- 64
- ]
- },
- {
- "teal": 52,
- "source": 586,
- "pc": [
- 65,
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 53,
- "source": 587,
- "pc": [
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76
- ]
- },
- {
- "teal": 54,
- "source": 587,
- "pc": [
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 55,
- "source": 588,
- "pc": [
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 56,
- "source": 588,
- "pc": [
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 57,
- "source": 589,
- "pc": [
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 58,
- "source": 589,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 59,
- "source": 586,
- "pc": [
- 102
- ]
- },
- {
- "teal": 60,
- "source": 586,
- "pc": [
- 103
- ]
- },
- {
- "teal": 61,
- "source": 586,
- "pc": [
- 104,
- 105
- ]
- },
- {
- "teal": 65,
- "source": 592,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 66,
- "source": 592,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 67,
- "source": 592,
- "pc": [
- 110
- ]
- },
- {
- "teal": 68,
- "source": 592,
- "pc": [
- 111
- ]
- },
- {
- "teal": 69,
- "source": 592,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 70,
- "source": 592,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 71,
- "source": 592,
- "pc": [
- 116,
- 117
- ]
- },
- {
- "teal": 72,
- "source": 592,
- "pc": [
- 118,
- 119
- ]
- },
- {
- "teal": 73,
- "source": 592,
- "pc": [
- 120
- ]
- },
- {
- "teal": 74,
- "source": 592,
- "pc": [
- 121
- ]
- },
- {
- "teal": 75,
- "source": 592,
- "pc": [
- 122,
- 123
- ]
- },
- {
- "teal": 76,
- "source": 592,
- "pc": [
- 124
- ]
- },
- {
- "teal": 77,
- "source": 592,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 78,
- "source": 592,
- "pc": [
- 127
- ]
- },
- {
- "teal": 79,
- "source": 592,
- "pc": [
- 128
- ]
- },
- {
- "teal": 80,
- "source": 592,
- "pc": [
- 129
- ]
- },
- {
- "teal": 81,
- "source": 592,
- "pc": [
- 130
- ]
- },
- {
- "teal": 82,
- "source": 592,
- "pc": [
- 131
- ]
- },
- {
- "teal": 83,
- "source": 592,
- "pc": [
- 132
- ]
- },
- {
- "teal": 84,
- "source": 592,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 85,
- "source": 592,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 86,
- "source": 592,
- "pc": [
- 137
- ]
- },
- {
- "teal": 87,
- "source": 592,
- "pc": [
- 138,
- 139
- ]
- },
- {
- "teal": 88,
- "source": 592,
- "pc": [
- 140
- ]
- },
- {
- "teal": 89,
- "source": 592,
- "pc": [
- 141,
- 142,
- 143,
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 90,
- "source": 592,
- "pc": [
- 147
- ]
- },
- {
- "teal": 91,
- "source": 592,
- "pc": [
- 148,
- 149
- ]
- },
- {
- "teal": 92,
- "source": 592,
- "pc": [
- 150,
- 151
- ]
- },
- {
- "teal": 93,
- "source": 592,
- "pc": [
- 152,
- 153
- ]
- },
- {
- "teal": 94,
- "source": 592,
- "pc": [
- 154,
- 155
- ]
- },
- {
- "teal": 95,
- "source": 592,
- "pc": [
- 156
- ]
- },
- {
- "teal": 96,
- "source": 592,
- "pc": [
- 157,
- 158
- ]
- },
- {
- "teal": 97,
- "source": 592,
- "pc": [
- 159
- ]
- },
- {
- "teal": 98,
- "source": 592,
- "pc": [
- 160
- ]
- },
- {
- "teal": 99,
- "source": 592,
- "pc": [
- 161
- ]
- },
- {
- "teal": 100,
- "source": 592,
- "pc": [
- 162
- ]
- },
- {
- "teal": 101,
- "source": 592,
- "pc": [
- 163,
- 164
- ]
- },
- {
- "teal": 102,
- "source": 592,
- "pc": [
- 165,
- 166,
- 167
- ]
- },
- {
- "teal": 103,
- "source": 592,
- "pc": [
- 168,
- 169
- ]
- },
- {
- "teal": 104,
- "source": 592,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 105,
- "source": 592,
- "pc": [
- 172
- ]
- },
- {
- "teal": 106,
- "source": 592,
- "pc": [
- 173
- ]
- },
- {
- "teal": 107,
- "source": 592,
- "pc": [
- 174,
- 175,
- 176
- ]
- },
- {
- "teal": 108,
- "source": 592,
- "pc": [
- 177,
- 178
- ]
- },
- {
- "teal": 109,
- "source": 592,
- "pc": [
- 179,
- 180
- ]
- },
- {
- "teal": 110,
- "source": 592,
- "pc": [
- 181
- ]
- },
- {
- "teal": 111,
- "source": 592,
- "pc": [
- 182
- ]
- },
- {
- "teal": 112,
- "source": 592,
- "pc": [
- 183,
- 184,
- 185
- ]
- },
- {
- "teal": 113,
- "source": 592,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 114,
- "source": 592,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 118,
- "source": 593,
- "pc": [
- 190,
- 191
- ]
- },
- {
- "teal": 119,
- "source": 593,
- "pc": [
- 192,
- 193
- ]
- },
- {
- "teal": 120,
- "source": 593,
- "pc": [
- 194
- ]
- },
- {
- "teal": 121,
- "source": 593,
- "pc": [
- 195
- ]
- },
- {
- "teal": 122,
- "source": 593,
- "pc": [
- 196,
- 197
- ]
- },
- {
- "teal": 123,
- "source": 593,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 124,
- "source": 593,
- "pc": [
- 200,
- 201
- ]
- },
- {
- "teal": 125,
- "source": 593,
- "pc": [
- 202,
- 203
- ]
- },
- {
- "teal": 126,
- "source": 593,
- "pc": [
- 204
- ]
- },
- {
- "teal": 127,
- "source": 593,
- "pc": [
- 205
- ]
- },
- {
- "teal": 128,
- "source": 593,
- "pc": [
- 206,
- 207
- ]
- },
- {
- "teal": 129,
- "source": 593,
- "pc": [
- 208
- ]
- },
- {
- "teal": 130,
- "source": 593,
- "pc": [
- 209,
- 210
- ]
- },
- {
- "teal": 131,
- "source": 593,
- "pc": [
- 211
- ]
- },
- {
- "teal": 132,
- "source": 593,
- "pc": [
- 212
- ]
- },
- {
- "teal": 133,
- "source": 593,
- "pc": [
- 213
- ]
- },
- {
- "teal": 134,
- "source": 593,
- "pc": [
- 214
- ]
- },
- {
- "teal": 135,
- "source": 593,
- "pc": [
- 215
- ]
- },
- {
- "teal": 136,
- "source": 593,
- "pc": [
- 216
- ]
- },
- {
- "teal": 137,
- "source": 593,
- "pc": [
- 217,
- 218
- ]
- },
- {
- "teal": 138,
- "source": 593,
- "pc": [
- 219,
- 220
- ]
- },
- {
- "teal": 139,
- "source": 593,
- "pc": [
- 221
- ]
- },
- {
- "teal": 140,
- "source": 593,
- "pc": [
- 222,
- 223
- ]
- },
- {
- "teal": 141,
- "source": 593,
- "pc": [
- 224
- ]
- },
- {
- "teal": 142,
- "source": 593,
- "pc": [
- 225,
- 226,
- 227,
- 228,
- 229,
- 230
- ]
- },
- {
- "teal": 143,
- "source": 593,
- "pc": [
- 231
- ]
- },
- {
- "teal": 144,
- "source": 593,
- "pc": [
- 232,
- 233
- ]
- },
- {
- "teal": 145,
- "source": 593,
- "pc": [
- 234,
- 235
- ]
- },
- {
- "teal": 146,
- "source": 593,
- "pc": [
- 236,
- 237
- ]
- },
- {
- "teal": 147,
- "source": 593,
- "pc": [
- 238,
- 239
- ]
- },
- {
- "teal": 148,
- "source": 593,
- "pc": [
- 240
- ]
- },
- {
- "teal": 149,
- "source": 593,
- "pc": [
- 241,
- 242
- ]
- },
- {
- "teal": 150,
- "source": 593,
- "pc": [
- 243
- ]
- },
- {
- "teal": 151,
- "source": 593,
- "pc": [
- 244
- ]
- },
- {
- "teal": 152,
- "source": 593,
- "pc": [
- 245
- ]
- },
- {
- "teal": 153,
- "source": 593,
- "pc": [
- 246
- ]
- },
- {
- "teal": 154,
- "source": 593,
- "pc": [
- 247,
- 248
- ]
- },
- {
- "teal": 155,
- "source": 593,
- "pc": [
- 249,
- 250,
- 251
- ]
- },
- {
- "teal": 156,
- "source": 593,
- "pc": [
- 252,
- 253
- ]
- },
- {
- "teal": 157,
- "source": 593,
- "pc": [
- 254,
- 255
- ]
- },
- {
- "teal": 158,
- "source": 593,
- "pc": [
- 256
- ]
- },
- {
- "teal": 159,
- "source": 593,
- "pc": [
- 257
- ]
- },
- {
- "teal": 160,
- "source": 593,
- "pc": [
- 258,
- 259,
- 260
- ]
- },
- {
- "teal": 161,
- "source": 593,
- "pc": [
- 261,
- 262
- ]
- },
- {
- "teal": 162,
- "source": 593,
- "pc": [
- 263,
- 264
- ]
- },
- {
- "teal": 166,
- "source": 594,
- "pc": [
- 265,
- 266
- ]
- },
- {
- "teal": 167,
- "source": 594,
- "pc": [
- 267,
- 268
- ]
- },
- {
- "teal": 168,
- "source": 594,
- "pc": [
- 269
- ]
- },
- {
- "teal": 169,
- "source": 594,
- "pc": [
- 270
- ]
- },
- {
- "teal": 170,
- "source": 594,
- "pc": [
- 271,
- 272
- ]
- },
- {
- "teal": 171,
- "source": 594,
- "pc": [
- 273,
- 274
- ]
- },
- {
- "teal": 172,
- "source": 594,
- "pc": [
- 275,
- 276
- ]
- },
- {
- "teal": 173,
- "source": 594,
- "pc": [
- 277,
- 278
- ]
- },
- {
- "teal": 174,
- "source": 594,
- "pc": [
- 279
- ]
- },
- {
- "teal": 175,
- "source": 594,
- "pc": [
- 280
- ]
- },
- {
- "teal": 176,
- "source": 594,
- "pc": [
- 281,
- 282
- ]
- },
- {
- "teal": 177,
- "source": 594,
- "pc": [
- 283
- ]
- },
- {
- "teal": 178,
- "source": 594,
- "pc": [
- 284,
- 285
- ]
- },
- {
- "teal": 179,
- "source": 594,
- "pc": [
- 286
- ]
- },
- {
- "teal": 180,
- "source": 594,
- "pc": [
- 287
- ]
- },
- {
- "teal": 181,
- "source": 594,
- "pc": [
- 288
- ]
- },
- {
- "teal": 182,
- "source": 594,
- "pc": [
- 289
- ]
- },
- {
- "teal": 183,
- "source": 594,
- "pc": [
- 290
- ]
- },
- {
- "teal": 184,
- "source": 594,
- "pc": [
- 291
- ]
- },
- {
- "teal": 185,
- "source": 594,
- "pc": [
- 292,
- 293
- ]
- },
- {
- "teal": 186,
- "source": 594,
- "pc": [
- 294,
- 295
- ]
- },
- {
- "teal": 187,
- "source": 594,
- "pc": [
- 296
- ]
- },
- {
- "teal": 188,
- "source": 594,
- "pc": [
- 297,
- 298
- ]
- },
- {
- "teal": 189,
- "source": 594,
- "pc": [
- 299
- ]
- },
- {
- "teal": 190,
- "source": 594,
- "pc": [
- 300,
- 301,
- 302,
- 303,
- 304,
- 305
- ]
- },
- {
- "teal": 191,
- "source": 594,
- "pc": [
- 306
- ]
- },
- {
- "teal": 192,
- "source": 594,
- "pc": [
- 307,
- 308
- ]
- },
- {
- "teal": 193,
- "source": 594,
- "pc": [
- 309,
- 310
- ]
- },
- {
- "teal": 194,
- "source": 594,
- "pc": [
- 311,
- 312
- ]
- },
- {
- "teal": 195,
- "source": 594,
- "pc": [
- 313,
- 314
- ]
- },
- {
- "teal": 196,
- "source": 594,
- "pc": [
- 315
- ]
- },
- {
- "teal": 197,
- "source": 594,
- "pc": [
- 316,
- 317
- ]
- },
- {
- "teal": 198,
- "source": 594,
- "pc": [
- 318
- ]
- },
- {
- "teal": 199,
- "source": 594,
- "pc": [
- 319
- ]
- },
- {
- "teal": 200,
- "source": 594,
- "pc": [
- 320
- ]
- },
- {
- "teal": 201,
- "source": 594,
- "pc": [
- 321
- ]
- },
- {
- "teal": 202,
- "source": 594,
- "pc": [
- 322,
- 323
- ]
- },
- {
- "teal": 203,
- "source": 594,
- "pc": [
- 324,
- 325,
- 326
- ]
- },
- {
- "teal": 204,
- "source": 594,
- "pc": [
- 327,
- 328
- ]
- },
- {
- "teal": 205,
- "source": 594,
- "pc": [
- 329,
- 330
- ]
- },
- {
- "teal": 209,
- "source": 596,
- "pc": [
- 331,
- 332
- ]
- },
- {
- "teal": 212,
- "source": 585,
- "pc": [
- 333,
- 334
- ]
- },
- {
- "teal": 213,
- "source": 585,
- "pc": [
- 335
- ]
- },
- {
- "teal": 216,
- "source": 584,
- "pc": [
- 336
- ]
- },
- {
- "teal": 217,
- "source": 584,
- "pc": [
- 337
- ]
- },
- {
- "teal": 220,
- "source": 584,
- "pc": [
- 338,
- 339,
- 340,
- 341,
- 342,
- 343
- ]
- },
- {
- "teal": 221,
- "source": 584,
- "pc": [
- 344,
- 345,
- 346
- ]
- },
- {
- "teal": 222,
- "source": 584,
- "pc": [
- 347,
- 348,
- 349,
- 350
- ]
- },
- {
- "teal": 225,
- "source": 584,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 351
- ]
- },
- {
- "teal": 228,
- "source": 584,
- "pc": [
- 352,
- 353,
- 354,
- 355,
- 356,
- 357
- ]
- },
- {
- "teal": 229,
- "source": 584,
- "pc": [
- 358,
- 359,
- 360
- ]
- },
- {
- "teal": 230,
- "source": 584,
- "pc": [
- 361,
- 362,
- 363,
- 364
- ]
- },
- {
- "teal": 233,
- "source": 584,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 365
- ]
- },
- {
- "teal": 236,
- "source": 584,
- "pc": [
- 366,
- 367,
- 368
- ]
- },
- {
- "teal": 237,
- "source": 584,
- "pc": [
- 369,
- 370
- ]
- },
- {
- "teal": 238,
- "source": 584,
- "pc": [
- 371,
- 372
- ]
- },
- {
- "teal": 239,
- "source": 584,
- "pc": [
- 373
- ]
- },
- {
- "teal": 240,
- "source": 584,
- "pc": [
- 374,
- 375
- ]
- },
- {
- "teal": 241,
- "source": 584,
- "pc": [
- 376,
- 377
- ]
- },
- {
- "teal": 242,
- "source": 584,
- "pc": [
- 378
- ]
- },
- {
- "teal": 243,
- "source": 584,
- "pc": [
- 379
- ]
- },
- {
- "teal": 244,
- "source": 584,
- "pc": [
- 380,
- 381
- ]
- },
- {
- "teal": 245,
- "source": 584,
- "pc": [
- 382
- ]
- },
- {
- "teal": 246,
- "source": 584,
- "pc": [
- 383
- ]
- },
- {
- "teal": 247,
- "source": 584,
- "pc": [
- 384
- ]
- },
- {
- "teal": 248,
- "source": 584,
- "pc": [
- 385,
- 386,
- 387
- ]
- },
- {
- "teal": 249,
- "source": 584,
- "pc": [
- 388,
- 389
- ]
- },
- {
- "teal": 250,
- "source": 584,
- "pc": [
- 390,
- 391
- ]
- },
- {
- "teal": 251,
- "source": 584,
- "pc": [
- 392
- ]
- },
- {
- "teal": 252,
- "source": 584,
- "pc": [
- 393
- ]
- },
- {
- "teal": 253,
- "source": 584,
- "pc": [
- 394,
- 395
- ]
- },
- {
- "teal": 254,
- "source": 584,
- "pc": [
- 396,
- 397
- ]
- },
- {
- "teal": 255,
- "source": 584,
- "pc": [
- 398,
- 399
- ]
- },
- {
- "teal": 256,
- "source": 584,
- "pc": [
- 400,
- 401
- ]
- },
- {
- "teal": 257,
- "source": 584,
- "pc": [
- 402
- ]
- },
- {
- "teal": 260,
- "source": 584,
- "pc": [
- 403,
- 404,
- 405
- ]
- },
- {
- "teal": 261,
- "source": 584,
- "pc": [
- 406,
- 407
- ]
- },
- {
- "teal": 262,
- "source": 584,
- "pc": [
- 408,
- 409
- ]
- },
- {
- "teal": 263,
- "source": 584,
- "pc": [
- 410,
- 411
- ]
- },
- {
- "teal": 264,
- "source": 584,
- "pc": [
- 412
- ]
- },
- {
- "teal": 265,
- "source": 584,
- "pc": [
- 413,
- 414
- ]
- },
- {
- "teal": 266,
- "source": 584,
- "pc": [
- 415,
- 416,
- 417
- ]
- },
- {
- "teal": 267,
- "source": 584,
- "pc": [
- 418
- ]
- },
- {
- "teal": 268,
- "source": 584,
- "pc": [
- 419,
- 420,
- 421
- ]
- },
- {
- "teal": 271,
- "source": 584,
- "pc": [
- 422
- ]
- },
- {
- "teal": 272,
- "source": 584,
- "pc": [
- 423
- ]
- },
- {
- "teal": 275,
- "source": 584,
- "pc": [
- 424
- ]
- },
- {
- "teal": 276,
- "source": 584,
- "pc": [
- 425,
- 426,
- 427
- ]
- },
- {
- "teal": 277,
- "source": 584,
- "pc": [
- 428,
- 429
- ]
- },
- {
- "teal": 278,
- "source": 584,
- "pc": [
- 430
- ]
- },
- {
- "teal": 279,
- "source": 584,
- "pc": [
- 431,
- 432
- ]
- },
- {
- "teal": 280,
- "source": 584,
- "pc": [
- 433
- ]
- },
- {
- "teal": 281,
- "source": 584,
- "pc": [
- 434
- ]
- },
- {
- "teal": 282,
- "source": 584,
- "pc": [
- 435,
- 436
- ]
- },
- {
- "teal": 283,
- "source": 584,
- "pc": [
- 437
- ]
- },
- {
- "teal": 286,
- "source": 584,
- "pc": [
- 438,
- 439
- ]
- },
- {
- "teal": 287,
- "source": 584,
- "pc": [
- 440
- ]
- },
- {
- "teal": 288,
- "source": 584,
- "pc": [
- 441,
- 442
- ]
- },
- {
- "teal": 289,
- "source": 584,
- "pc": [
- 443
- ]
- },
- {
- "teal": 290,
- "source": 584,
- "pc": [
- 444,
- 445,
- 446
- ]
- },
- {
- "teal": 291,
- "source": 584,
- "pc": [
- 447,
- 448
- ]
- },
- {
- "teal": 292,
- "source": 584,
- "pc": [
- 449
- ]
- },
- {
- "teal": 293,
- "source": 584,
- "pc": [
- 450,
- 451
- ]
- },
- {
- "teal": 294,
- "source": 584,
- "pc": [
- 452
- ]
- },
- {
- "teal": 295,
- "source": 584,
- "pc": [
- 453,
- 454
- ]
- },
- {
- "teal": 296,
- "source": 584,
- "pc": [
- 455,
- 456,
- 457
- ]
- },
- {
- "teal": 299,
- "source": 584,
- "pc": [
- 458,
- 459
- ]
- },
- {
- "teal": 300,
- "source": 584,
- "pc": [
- 460,
- 461
- ]
- },
- {
- "teal": 301,
- "source": 584,
- "pc": [
- 462
- ]
- },
- {
- "teal": 302,
- "source": 584,
- "pc": [
- 463
- ]
- },
- {
- "teal": 303,
- "source": 584,
- "pc": [
- 464,
- 465
- ]
- },
- {
- "teal": 306,
- "source": 584,
- "pc": [
- 466
- ]
- },
- {
- "teal": 307,
- "source": 584,
- "pc": [
- 467,
- 468
- ]
- },
- {
- "teal": 308,
- "source": 584,
- "pc": [
- 469
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 584,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 584,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 584,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 584,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 584,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 584,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 584,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 584,
+ "pc": [
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 584,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 45
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 585,
+ "pc": [
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 585,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 585,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 585,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 585,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 585,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 585,
+ "pc": [
+ 59,
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 585,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 586,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 586,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 586,
+ "pc": [
+ 65,
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 587,
+ "pc": [
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 587,
+ "pc": [
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 588,
+ "pc": [
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 588,
+ "pc": [
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 589,
+ "pc": [
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 589,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 586,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 586,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 586,
+ "pc": [
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 592,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 592,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 592,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 592,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 592,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 592,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 592,
+ "pc": [
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 592,
+ "pc": [
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 592,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 592,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 592,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 592,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 592,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 592,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 592,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 592,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 592,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 592,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 592,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 592,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 592,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 592,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 592,
+ "pc": [
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 592,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 592,
+ "pc": [
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 592,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 592,
+ "pc": [
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 592,
+ "pc": [
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 592,
+ "pc": [
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 592,
+ "pc": [
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 592,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 592,
+ "pc": [
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 592,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 592,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 592,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 592,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 592,
+ "pc": [
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 592,
+ "pc": [
+ 165,
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 592,
+ "pc": [
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 592,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 592,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 592,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 592,
+ "pc": [
+ 174,
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 592,
+ "pc": [
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 592,
+ "pc": [
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 592,
+ "pc": [
+ 181
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 592,
+ "pc": [
+ 182
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 592,
+ "pc": [
+ 183,
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 592,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 592,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 593,
+ "pc": [
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 593,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 593,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 593,
+ "pc": [
+ 195
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 593,
+ "pc": [
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 593,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 593,
+ "pc": [
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 593,
+ "pc": [
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 593,
+ "pc": [
+ 204
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 593,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 593,
+ "pc": [
+ 206,
+ 207
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 593,
+ "pc": [
+ 208
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 593,
+ "pc": [
+ 209,
+ 210
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 593,
+ "pc": [
+ 211
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 593,
+ "pc": [
+ 212
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 593,
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 593,
+ "pc": [
+ 214
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 593,
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 593,
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 593,
+ "pc": [
+ 217,
+ 218
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 593,
+ "pc": [
+ 219,
+ 220
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 593,
+ "pc": [
+ 221
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 593,
+ "pc": [
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 593,
+ "pc": [
+ 224
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 593,
+ "pc": [
+ 225,
+ 226,
+ 227,
+ 228,
+ 229,
+ 230
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 593,
+ "pc": [
+ 231
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 593,
+ "pc": [
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 593,
+ "pc": [
+ 234,
+ 235
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 593,
+ "pc": [
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 593,
+ "pc": [
+ 238,
+ 239
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 593,
+ "pc": [
+ 240
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 593,
+ "pc": [
+ 241,
+ 242
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 593,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 593,
+ "pc": [
+ 244
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 593,
+ "pc": [
+ 245
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 593,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 593,
+ "pc": [
+ 247,
+ 248
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 593,
+ "pc": [
+ 249,
+ 250,
+ 251
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 593,
+ "pc": [
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 593,
+ "pc": [
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 593,
+ "pc": [
+ 256
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 593,
+ "pc": [
+ 257
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 593,
+ "pc": [
+ 258,
+ 259,
+ 260
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 593,
+ "pc": [
+ 261,
+ 262
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 593,
+ "pc": [
+ 263,
+ 264
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 594,
+ "pc": [
+ 265,
+ 266
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 594,
+ "pc": [
+ 267,
+ 268
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 594,
+ "pc": [
+ 269
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 594,
+ "pc": [
+ 270
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 594,
+ "pc": [
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 594,
+ "pc": [
+ 273,
+ 274
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 594,
+ "pc": [
+ 275,
+ 276
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 594,
+ "pc": [
+ 277,
+ 278
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 594,
+ "pc": [
+ 279
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 594,
+ "pc": [
+ 280
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 594,
+ "pc": [
+ 281,
+ 282
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 594,
+ "pc": [
+ 283
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 594,
+ "pc": [
+ 284,
+ 285
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 594,
+ "pc": [
+ 286
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 594,
+ "pc": [
+ 287
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 594,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 594,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 594,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 594,
+ "pc": [
+ 291
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 594,
+ "pc": [
+ 292,
+ 293
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 594,
+ "pc": [
+ 294,
+ 295
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 594,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 594,
+ "pc": [
+ 297,
+ 298
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 594,
+ "pc": [
+ 299
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 594,
+ "pc": [
+ 300,
+ 301,
+ 302,
+ 303,
+ 304,
+ 305
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 594,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 594,
+ "pc": [
+ 307,
+ 308
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 594,
+ "pc": [
+ 309,
+ 310
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 594,
+ "pc": [
+ 311,
+ 312
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 594,
+ "pc": [
+ 313,
+ 314
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 594,
+ "pc": [
+ 315
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 594,
+ "pc": [
+ 316,
+ 317
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 594,
+ "pc": [
+ 318
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 594,
+ "pc": [
+ 319
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 594,
+ "pc": [
+ 320
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 594,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 594,
+ "pc": [
+ 322,
+ 323
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 594,
+ "pc": [
+ 324,
+ 325,
+ 326
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 594,
+ "pc": [
+ 327,
+ 328
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 594,
+ "pc": [
+ 329,
+ 330
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 596,
+ "pc": [
+ 331,
+ 332
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 585,
+ "pc": [
+ 333,
+ 334
+ ]
+ },
+ {
+ "teal": 213,
+ "source": 585,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 584,
+ "pc": [
+ 336
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 584,
+ "pc": [
+ 337
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 584,
+ "pc": [
+ 338,
+ 339,
+ 340,
+ 341,
+ 342,
+ 343
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 584,
+ "pc": [
+ 344,
+ 345,
+ 346
+ ]
+ },
+ {
+ "teal": 222,
+ "source": 584,
+ "pc": [
+ 347,
+ 348,
+ 349,
+ 350
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 584,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 351
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 584,
+ "pc": [
+ 352,
+ 353,
+ 354,
+ 355,
+ 356,
+ 357
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 584,
+ "pc": [
+ 358,
+ 359,
+ 360
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 584,
+ "pc": [
+ 361,
+ 362,
+ 363,
+ 364
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 584,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 365
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 584,
+ "pc": [
+ 366,
+ 367,
+ 368
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 584,
+ "pc": [
+ 369,
+ 370
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 584,
+ "pc": [
+ 371,
+ 372
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 584,
+ "pc": [
+ 373
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 584,
+ "pc": [
+ 374,
+ 375
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 584,
+ "pc": [
+ 376,
+ 377
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 584,
+ "pc": [
+ 378
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 584,
+ "pc": [
+ 379
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 584,
+ "pc": [
+ 380,
+ 381
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 584,
+ "pc": [
+ 382
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 584,
+ "pc": [
+ 383
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 584,
+ "pc": [
+ 384
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 584,
+ "pc": [
+ 385,
+ 386,
+ 387
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 584,
+ "pc": [
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 584,
+ "pc": [
+ 390,
+ 391
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 584,
+ "pc": [
+ 392
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 584,
+ "pc": [
+ 393
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 584,
+ "pc": [
+ 394,
+ 395
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 584,
+ "pc": [
+ 396,
+ 397
+ ]
+ },
+ {
+ "teal": 255,
+ "source": 584,
+ "pc": [
+ 398,
+ 399
+ ]
+ },
+ {
+ "teal": 256,
+ "source": 584,
+ "pc": [
+ 400,
+ 401
+ ]
+ },
+ {
+ "teal": 257,
+ "source": 584,
+ "pc": [
+ 402
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 584,
+ "pc": [
+ 403,
+ 404,
+ 405
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 584,
+ "pc": [
+ 406,
+ 407
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 584,
+ "pc": [
+ 408,
+ 409
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 584,
+ "pc": [
+ 410,
+ 411
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 584,
+ "pc": [
+ 412
+ ]
+ },
+ {
+ "teal": 265,
+ "source": 584,
+ "pc": [
+ 413,
+ 414
+ ]
+ },
+ {
+ "teal": 266,
+ "source": 584,
+ "pc": [
+ 415,
+ 416,
+ 417
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 584,
+ "pc": [
+ 418
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 584,
+ "pc": [
+ 419,
+ 420,
+ 421
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 584,
+ "pc": [
+ 422
+ ]
+ },
+ {
+ "teal": 272,
+ "source": 584,
+ "pc": [
+ 423
+ ]
+ },
+ {
+ "teal": 275,
+ "source": 584,
+ "pc": [
+ 424
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 584,
+ "pc": [
+ 425,
+ 426,
+ 427
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 584,
+ "pc": [
+ 428,
+ 429
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 584,
+ "pc": [
+ 430
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 584,
+ "pc": [
+ 431,
+ 432
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 584,
+ "pc": [
+ 433
+ ]
+ },
+ {
+ "teal": 281,
+ "source": 584,
+ "pc": [
+ 434
+ ]
+ },
+ {
+ "teal": 282,
+ "source": 584,
+ "pc": [
+ 435,
+ 436
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 584,
+ "pc": [
+ 437
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 584,
+ "pc": [
+ 438,
+ 439
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 584,
+ "pc": [
+ 440
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 584,
+ "pc": [
+ 441,
+ 442
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 584,
+ "pc": [
+ 443
+ ]
+ },
+ {
+ "teal": 290,
+ "source": 584,
+ "pc": [
+ 444,
+ 445,
+ 446
+ ]
+ },
+ {
+ "teal": 291,
+ "source": 584,
+ "pc": [
+ 447,
+ 448
+ ]
+ },
+ {
+ "teal": 292,
+ "source": 584,
+ "pc": [
+ 449
+ ]
+ },
+ {
+ "teal": 293,
+ "source": 584,
+ "pc": [
+ 450,
+ 451
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 584,
+ "pc": [
+ 452
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 584,
+ "pc": [
+ 453,
+ 454
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 584,
+ "pc": [
+ 455,
+ 456,
+ 457
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 584,
+ "pc": [
+ 458,
+ 459
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 584,
+ "pc": [
+ 460,
+ 461
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 584,
+ "pc": [
+ 462
+ ]
+ },
+ {
+ "teal": 302,
+ "source": 584,
+ "pc": [
+ 463
+ ]
+ },
+ {
+ "teal": 303,
+ "source": 584,
+ "pc": [
+ 464,
+ 465
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 584,
+ "pc": [
+ 466
+ ]
+ },
+ {
+ "teal": 307,
+ "source": 584,
+ "pc": [
+ 467,
+ 468
+ ]
+ },
+ {
+ "teal": 308,
+ "source": 584,
+ "pc": [
+ 469
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCgljYWxsc3ViIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCk6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQpzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTg2CgkvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0gPSBbCgkvLyAgICAgICBbMSwgMl0sCgkvLyAgICAgICBbMiwgM10sCgkvLyAgICAgICBbMywgNF0sCgkvLyAgICAgXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMjAwMDEwMDAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwMDAyMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDAwMzAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkyCgkvLyBhWzBdID0gWzVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDEwMDA1CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCA0CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkzCgkvLyBhWzFdID0gWzZdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDEwMDA2CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OTQKCS8vIGFbMl0gPSBbN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMTAwMDcKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQxNltdLHVpbnQxNltdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50IDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnQgMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCgljYWxsc3ViIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCk6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQpzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTg2CgkvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0gPSBbCgkvLyAgICAgICBbMSwgMl0sCgkvLyAgICAgICBbMiwgM10sCgkvLyAgICAgICBbMywgNF0sCgkvLyAgICAgXQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMjAwMDEwMDAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDIwMDAyMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAyMDAwMzAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkyCgkvLyBhWzBdID0gWzVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDEwMDA1CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCA0CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkzCgkvLyBhWzFdID0gWzZdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDEwMDA2CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OTQKCS8vIGFbMl0gPSBbN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMTAwMDcKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQxNltdLHVpbnQxNltdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50IDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnQgMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestSimpleTuple.approval.teal b/tests/contracts/artifacts/ABITestSimpleTuple.approval.teal
index 5c9ba964b..db258fa25 100644
--- a/tests/contracts/artifacts/ABITestSimpleTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestSimpleTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestSimpleTuple.arc32.json b/tests/contracts/artifacts/ABITestSimpleTuple.arc32.json
index 5ce7efb23..e27d0a0e4 100644
--- a/tests/contracts/artifacts/ABITestSimpleTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestSimpleTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaW1wbGVUdXBsZSgpdWludDE2CiphYmlfcm91dGVfc2ltcGxlVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2ltcGxlVHVwbGUoKXVpbnQxNgoJY2FsbHN1YiBzaW1wbGVUdXBsZQoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBzaW1wbGVUdXBsZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2ltcGxlVHVwbGUoKTogdWludDE2CnNpbXBsZVR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU3CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XSA9IFsxMSwgMjIsIDMzLCA0NF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjQsIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU5CgkvLyByZXR1cm4gYVszXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0LCB1aW50MTZdCglleHRyYWN0IDE4IDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNpbXBsZVR1cGxlKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NpbXBsZVR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaW1wbGVUdXBsZSgpdWludDE2CiphYmlfcm91dGVfc2ltcGxlVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2ltcGxlVHVwbGUoKXVpbnQxNgoJY2FsbHN1YiBzaW1wbGVUdXBsZQoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBzaW1wbGVUdXBsZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2ltcGxlVHVwbGUoKTogdWludDE2CnNpbXBsZVR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU3CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XSA9IFsxMSwgMjIsIDMzLCA0NF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjQsIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU5CgkvLyByZXR1cm4gYVszXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0LCB1aW50MTZdCglleHRyYWN0IDE4IDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNpbXBsZVR1cGxlKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NpbXBsZVR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestSimpleTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestSimpleTuple.arc56_draft.json
index 0e50f160c..dd5a45924 100644
--- a/tests/contracts/artifacts/ABITestSimpleTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestSimpleTuple.arc56_draft.json
@@ -60,391 +60,394 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 255,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 255,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 255,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 255,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 255,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 255,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 255,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 255,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 255,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 256,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 256,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 256,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 256,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 256,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 256,
- "pc": [
- 52,
- 53
- ]
- },
- {
- "teal": 36,
- "source": 256,
- "pc": [
- 54
- ]
- },
- {
- "teal": 39,
- "source": 256,
- "errorMessage": "simpleTuple return value overflowed 16 bits",
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 256,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 41,
- "source": 256,
- "pc": [
- 59
- ]
- },
- {
- "teal": 42,
- "source": 256,
- "pc": [
- 60
- ]
- },
- {
- "teal": 43,
- "source": 256,
- "pc": [
- 61
- ]
- },
- {
- "teal": 44,
- "source": 256,
- "pc": [
- 62
- ]
- },
- {
- "teal": 48,
- "source": 256,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 51,
- "source": 256,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 55,
- "source": 257,
- "pc": [
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 56,
- "source": 257,
- "pc": [
- 90,
- 91
- ]
- },
- {
- "teal": 60,
- "source": 259,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 61,
- "source": 259,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 62,
- "source": 259,
- "pc": [
- 97
- ]
- },
- {
- "teal": 65,
- "source": 256,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 66,
- "source": 256,
- "pc": [
- 100
- ]
- },
- {
- "teal": 69,
- "source": 255,
- "pc": [
- 101
- ]
- },
- {
- "teal": 70,
- "source": 255,
- "pc": [
- 102
- ]
- },
- {
- "teal": 73,
- "source": 255,
- "pc": [
- 103,
- 104,
- 105,
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 74,
- "source": 255,
- "pc": [
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 75,
- "source": 255,
- "pc": [
- 112,
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 78,
- "source": 255,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 116
- ]
- },
- {
- "teal": 81,
- "source": 255,
- "pc": [
- 117,
- 118,
- 119,
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 82,
- "source": 255,
- "pc": [
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 83,
- "source": 255,
- "pc": [
- 126,
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 86,
- "source": 255,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 130
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 255,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 255,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 255,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 255,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 255,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 255,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 255,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 255,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 255,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 256,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 256,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 256,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 256,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 256,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 256,
+ "pc": [
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 256,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 256,
+ "errorMessage": "simpleTuple return value overflowed 16 bits",
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 256,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 256,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 256,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 256,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 256,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 256,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 256,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 257,
+ "pc": [
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 257,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 259,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 259,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 259,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 256,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 256,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 255,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 255,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 255,
+ "pc": [
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 255,
+ "pc": [
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 255,
+ "pc": [
+ 112,
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 255,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 255,
+ "pc": [
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 255,
+ "pc": [
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 255,
+ "pc": [
+ 126,
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 255,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 130
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaW1wbGVUdXBsZSgpdWludDE2CiphYmlfcm91dGVfc2ltcGxlVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2ltcGxlVHVwbGUoKXVpbnQxNgoJY2FsbHN1YiBzaW1wbGVUdXBsZQoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBzaW1wbGVUdXBsZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2ltcGxlVHVwbGUoKTogdWludDE2CnNpbXBsZVR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU3CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XSA9IFsxMSwgMjIsIDMzLCA0NF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjQsIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU5CgkvLyByZXR1cm4gYVszXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0LCB1aW50MTZdCglleHRyYWN0IDE4IDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNpbXBsZVR1cGxlKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NpbXBsZVR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaW1wbGVUdXBsZSgpdWludDE2CiphYmlfcm91dGVfc2ltcGxlVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2ltcGxlVHVwbGUoKXVpbnQxNgoJY2FsbHN1YiBzaW1wbGVUdXBsZQoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBzaW1wbGVUdXBsZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc2ltcGxlVHVwbGUoKTogdWludDE2CnNpbXBsZVR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU3CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XSA9IFsxMSwgMjIsIDMzLCA0NF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjQsIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU5CgkvLyByZXR1cm4gYVszXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0LCB1aW50MTZdCglleHRyYWN0IDE4IDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNpbXBsZVR1cGxlKCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NpbXBsZVR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestSmallerByteCasting.approval.teal b/tests/contracts/artifacts/ABITestSmallerByteCasting.approval.teal
index b3605b11c..0dc11f886 100644
--- a/tests/contracts/artifacts/ABITestSmallerByteCasting.approval.teal
+++ b/tests/contracts/artifacts/ABITestSmallerByteCasting.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestSmallerByteCasting.arc32.json b/tests/contracts/artifacts/ABITestSmallerByteCasting.arc32.json
index feeb8dfb6..1020eca03 100644
--- a/tests/contracts/artifacts/ABITestSmallerByteCasting.arc32.json
+++ b/tests/contracts/artifacts/ABITestSmallerByteCasting.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdCiphYmlfcm91dGVfc21hbGxlckJ5dGVDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiBieXRlWzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDQKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHNtYWxsZXJCeXRlQ2FzdGluZyBtdXN0IGJlIGEgYnl0ZVs0XQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdCgljYWxsc3ViIHNtYWxsZXJCeXRlQ2FzdGluZwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNtYWxsZXJCeXRlQ2FzdGluZyhhOiBieXRlczw0Pik6IGJ5dGVzPDI+CnNtYWxsZXJCeXRlQ2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjEzCgkvLyByZXR1cm4gPGJ5dGVzPDI+PmE7CglmcmFtZV9kaWcgLTEgLy8gYTogYnl0ZXM8ND4KCWV4dHJhY3QgMCAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zbWFsbGVyQnl0ZUNhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdCiphYmlfcm91dGVfc21hbGxlckJ5dGVDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiBieXRlWzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDQKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHNtYWxsZXJCeXRlQ2FzdGluZyBtdXN0IGJlIGEgYnl0ZVs0XQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdCgljYWxsc3ViIHNtYWxsZXJCeXRlQ2FzdGluZwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNtYWxsZXJCeXRlQ2FzdGluZyhhOiBieXRlczw0Pik6IGJ5dGVzPDI+CnNtYWxsZXJCeXRlQ2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjEzCgkvLyByZXR1cm4gPGJ5dGVzPDI+PmE7CglmcmFtZV9kaWcgLTEgLy8gYTogYnl0ZXM8ND4KCWV4dHJhY3QgMCAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zbWFsbGVyQnl0ZUNhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestSmallerByteCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestSmallerByteCasting.arc56_draft.json
index 965ebd0e2..da512e4b1 100644
--- a/tests/contracts/artifacts/ABITestSmallerByteCasting.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestSmallerByteCasting.arc56_draft.json
@@ -65,325 +65,328 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1211,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1211,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1211,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1211,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1211,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1211,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1211,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1211,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1211,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1212,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1212,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1212,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1212,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1212,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 1212,
- "pc": [
- 53
- ]
- },
- {
- "teal": 38,
- "source": 1212,
- "errorMessage": "argument 0 (a) for smallerByteCasting must be a byte[4]",
- "pc": [
- 54
- ]
- },
- {
- "teal": 41,
- "source": 1212,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 42,
- "source": 1212,
- "pc": [
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1212,
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 1212,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 1212,
- "pc": [
- 61
- ]
- },
- {
- "teal": 49,
- "source": 1212,
- "pc": [
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 53,
- "source": 1213,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 54,
- "source": 1213,
- "pc": [
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 55,
- "source": 1212,
- "pc": [
- 70
- ]
- },
- {
- "teal": 58,
- "source": 1211,
- "pc": [
- 71
- ]
- },
- {
- "teal": 59,
- "source": 1211,
- "pc": [
- 72
- ]
- },
- {
- "teal": 62,
- "source": 1211,
- "pc": [
- 73,
- 74,
- 75,
- 76,
- 77,
- 78
- ]
- },
- {
- "teal": 63,
- "source": 1211,
- "pc": [
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 64,
- "source": 1211,
- "pc": [
- 82,
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 67,
- "source": 1211,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 86
- ]
- },
- {
- "teal": 70,
- "source": 1211,
- "pc": [
- 87,
- 88,
- 89,
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 71,
- "source": 1211,
- "pc": [
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 72,
- "source": 1211,
- "pc": [
- 96,
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 75,
- "source": 1211,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 100
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1211,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1211,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1211,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1211,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1211,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1211,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1211,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1211,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1211,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1212,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1212,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1212,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1212,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1212,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1212,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1212,
+ "errorMessage": "argument 0 (a) for smallerByteCasting must be a byte[4]",
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1212,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1212,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1212,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1212,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1212,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1212,
+ "pc": [
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1213,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1213,
+ "pc": [
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1212,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1211,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1211,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1211,
+ "pc": [
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1211,
+ "pc": [
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1211,
+ "pc": [
+ 82,
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1211,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1211,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1211,
+ "pc": [
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1211,
+ "pc": [
+ 96,
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1211,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 100
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdCiphYmlfcm91dGVfc21hbGxlckJ5dGVDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiBieXRlWzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDQKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHNtYWxsZXJCeXRlQ2FzdGluZyBtdXN0IGJlIGEgYnl0ZVs0XQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdCgljYWxsc3ViIHNtYWxsZXJCeXRlQ2FzdGluZwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNtYWxsZXJCeXRlQ2FzdGluZyhhOiBieXRlczw0Pik6IGJ5dGVzPDI+CnNtYWxsZXJCeXRlQ2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjEzCgkvLyByZXR1cm4gPGJ5dGVzPDI+PmE7CglmcmFtZV9kaWcgLTEgLy8gYTogYnl0ZXM8ND4KCWV4dHJhY3QgMCAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zbWFsbGVyQnl0ZUNhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdCiphYmlfcm91dGVfc21hbGxlckJ5dGVDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiBieXRlWzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDQKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHNtYWxsZXJCeXRlQ2FzdGluZyBtdXN0IGJlIGEgYnl0ZVs0XQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdCgljYWxsc3ViIHNtYWxsZXJCeXRlQ2FzdGluZwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNtYWxsZXJCeXRlQ2FzdGluZyhhOiBieXRlczw0Pik6IGJ5dGVzPDI+CnNtYWxsZXJCeXRlQ2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjEzCgkvLyByZXR1cm4gPGJ5dGVzPDI+PmE7CglmcmFtZV9kaWcgLTEgLy8gYTogYnl0ZXM8ND4KCWV4dHJhY3QgMCAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzbWFsbGVyQnl0ZUNhc3RpbmcoYnl0ZVs0XSlieXRlWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zbWFsbGVyQnl0ZUNhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElement.approval.teal b/tests/contracts/artifacts/ABITestSpliceFirstElement.approval.teal
index c1fc4387d..87e27a943 100644
--- a/tests/contracts/artifacts/ABITestSpliceFirstElement.approval.teal
+++ b/tests/contracts/artifacts/ABITestSpliceFirstElement.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElement.arc32.json b/tests/contracts/artifacts/ABITestSpliceFirstElement.arc32.json
index e3799c878..a0d662a25 100644
--- a/tests/contracts/artifacts/ABITestSpliceFirstElement.arc32.json
+++ b/tests/contracts/artifacts/ABITestSpliceFirstElement.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VGaXJzdEVsZW1lbnQoKXVpbnQxNltdCiphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHNwbGljZUZpcnN0RWxlbWVudCgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50CglkdXAKCWxlbgoJaW50IDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcGxpY2VGaXJzdEVsZW1lbnQoKTogdWludDE2W10Kc3BsaWNlRmlyc3RFbGVtZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxMgoJLy8gYS5zcGxpY2UoMCwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDAKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3BsaWNlRmlyc3RFbGVtZW50KCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VGaXJzdEVsZW1lbnQoKXVpbnQxNltdCiphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHNwbGljZUZpcnN0RWxlbWVudCgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50CglkdXAKCWxlbgoJaW50IDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcGxpY2VGaXJzdEVsZW1lbnQoKTogdWludDE2W10Kc3BsaWNlRmlyc3RFbGVtZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxMgoJLy8gYS5zcGxpY2UoMCwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDAKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3BsaWNlRmlyc3RFbGVtZW50KCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElement.arc56_draft.json b/tests/contracts/artifacts/ABITestSpliceFirstElement.arc56_draft.json
index 868b40ee7..ae7d089bc 100644
--- a/tests/contracts/artifacts/ABITestSpliceFirstElement.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestSpliceFirstElement.arc56_draft.json
@@ -60,532 +60,535 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 508,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 508,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 508,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 508,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 508,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 508,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 508,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 508,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 508,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 509,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 509,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 509,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 509,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 509,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 509,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 509,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 509,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 38,
- "source": 509,
- "pc": [
- 59
- ]
- },
- {
- "teal": 39,
- "source": 509,
- "pc": [
- 60
- ]
- },
- {
- "teal": 40,
- "source": 509,
- "pc": [
- 61
- ]
- },
- {
- "teal": 41,
- "source": 509,
- "pc": [
- 62
- ]
- },
- {
- "teal": 42,
- "source": 509,
- "pc": [
- 63
- ]
- },
- {
- "teal": 43,
- "source": 509,
- "pc": [
- 64
- ]
- },
- {
- "teal": 47,
- "source": 509,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 50,
- "source": 509,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 54,
- "source": 510,
- "pc": [
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 55,
- "source": 510,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 59,
- "source": 512,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 60,
- "source": 512,
- "pc": [
- 82
- ]
- },
- {
- "teal": 61,
- "source": 512,
- "pc": [
- 83
- ]
- },
- {
- "teal": 62,
- "source": 512,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 63,
- "source": 512,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 64,
- "source": 512,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 65,
- "source": 512,
- "pc": [
- 90,
- 91
- ]
- },
- {
- "teal": 66,
- "source": 512,
- "pc": [
- 92
- ]
- },
- {
- "teal": 67,
- "source": 512,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 68,
- "source": 512,
- "pc": [
- 95
- ]
- },
- {
- "teal": 69,
- "source": 512,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 70,
- "source": 512,
- "pc": [
- 98
- ]
- },
- {
- "teal": 71,
- "source": 512,
- "pc": [
- 99
- ]
- },
- {
- "teal": 72,
- "source": 512,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 73,
- "source": 512,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 74,
- "source": 512,
- "pc": [
- 104
- ]
- },
- {
- "teal": 75,
- "source": 512,
- "pc": [
- 105
- ]
- },
- {
- "teal": 76,
- "source": 512,
- "pc": [
- 106
- ]
- },
- {
- "teal": 77,
- "source": 512,
- "pc": [
- 107
- ]
- },
- {
- "teal": 78,
- "source": 512,
- "pc": [
- 108
- ]
- },
- {
- "teal": 79,
- "source": 512,
- "pc": [
- 109
- ]
- },
- {
- "teal": 80,
- "source": 512,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 84,
- "source": 514,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 87,
- "source": 509,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 88,
- "source": 509,
- "pc": [
- 116
- ]
- },
- {
- "teal": 91,
- "source": 508,
- "pc": [
- 117
- ]
- },
- {
- "teal": 92,
- "source": 508,
- "pc": [
- 118
- ]
- },
- {
- "teal": 95,
- "source": 508,
- "pc": [
- 119,
- 120,
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 96,
- "source": 508,
- "pc": [
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 97,
- "source": 508,
- "pc": [
- 128,
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 100,
- "source": 508,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 132
- ]
- },
- {
- "teal": 103,
- "source": 508,
- "pc": [
- 133,
- 134,
- 135,
- 136,
- 137,
- 138
- ]
- },
- {
- "teal": 104,
- "source": 508,
- "pc": [
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 105,
- "source": 508,
- "pc": [
- 142,
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 108,
- "source": 508,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 146
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 508,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 508,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 508,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 508,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 508,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 508,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 508,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 508,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 508,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 509,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 509,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 509,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 509,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 509,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 509,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 509,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 509,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 509,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 509,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 509,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 509,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 509,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 509,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 509,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 509,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 510,
+ "pc": [
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 510,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 512,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 512,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 512,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 512,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 512,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 512,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 512,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 512,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 512,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 512,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 512,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 512,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 512,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 512,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 512,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 512,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 512,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 512,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 512,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 512,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 512,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 512,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 514,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 509,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 509,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 508,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 508,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 508,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 508,
+ "pc": [
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 508,
+ "pc": [
+ 128,
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 508,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 508,
+ "pc": [
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 508,
+ "pc": [
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 508,
+ "pc": [
+ 142,
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 508,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 146
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VGaXJzdEVsZW1lbnQoKXVpbnQxNltdCiphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHNwbGljZUZpcnN0RWxlbWVudCgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50CglkdXAKCWxlbgoJaW50IDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcGxpY2VGaXJzdEVsZW1lbnQoKTogdWludDE2W10Kc3BsaWNlRmlyc3RFbGVtZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxMgoJLy8gYS5zcGxpY2UoMCwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDAKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3BsaWNlRmlyc3RFbGVtZW50KCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VGaXJzdEVsZW1lbnQoKXVpbnQxNltdCiphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHNwbGljZUZpcnN0RWxlbWVudCgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50CglkdXAKCWxlbgoJaW50IDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcGxpY2VGaXJzdEVsZW1lbnQoKTogdWludDE2W10Kc3BsaWNlRmlyc3RFbGVtZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxMgoJLy8gYS5zcGxpY2UoMCwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDAKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3BsaWNlRmlyc3RFbGVtZW50KCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.approval.teal b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.approval.teal
index ba80f6c26..7e2bd6327 100644
--- a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.approval.teal
+++ b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc32.json b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc32.json
index 383336064..cf7927fdb 100644
--- a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc32.json
+++ b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTIyCgkvLyB2ID0gYS5zcGxpY2UoMCwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDAKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUyNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTIyCgkvLyB2ID0gYS5zcGxpY2UoMCwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDAKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUyNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc56_draft.json b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc56_draft.json
index feab787f3..a4eea841c 100644
--- a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc56_draft.json
@@ -60,607 +60,610 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 518,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 518,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 518,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 518,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 518,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 518,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 518,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 518,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 518,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 519,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 519,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 519,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 519,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 519,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 519,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 519,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 519,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 38,
- "source": 519,
- "pc": [
- 59
- ]
- },
- {
- "teal": 39,
- "source": 519,
- "pc": [
- 60
- ]
- },
- {
- "teal": 40,
- "source": 519,
- "pc": [
- 61
- ]
- },
- {
- "teal": 41,
- "source": 519,
- "pc": [
- 62
- ]
- },
- {
- "teal": 42,
- "source": 519,
- "pc": [
- 63
- ]
- },
- {
- "teal": 43,
- "source": 519,
- "pc": [
- 64
- ]
- },
- {
- "teal": 47,
- "source": 519,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 50,
- "source": 519,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 51,
- "source": 519,
- "pc": [
- 70
- ]
- },
- {
- "teal": 55,
- "source": 520,
- "pc": [
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78
- ]
- },
- {
- "teal": 56,
- "source": 520,
- "pc": [
- 79,
- 80
- ]
- },
- {
- "teal": 60,
- "source": 522,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 61,
- "source": 522,
- "pc": [
- 83
- ]
- },
- {
- "teal": 62,
- "source": 522,
- "pc": [
- 84
- ]
- },
- {
- "teal": 63,
- "source": 522,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 64,
- "source": 522,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 65,
- "source": 522,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 66,
- "source": 522,
- "pc": [
- 91,
- 92
- ]
- },
- {
- "teal": 67,
- "source": 522,
- "pc": [
- 93
- ]
- },
- {
- "teal": 68,
- "source": 522,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 69,
- "source": 522,
- "pc": [
- 96
- ]
- },
- {
- "teal": 70,
- "source": 522,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 71,
- "source": 522,
- "pc": [
- 99
- ]
- },
- {
- "teal": 72,
- "source": 522,
- "pc": [
- 100
- ]
- },
- {
- "teal": 73,
- "source": 522,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 74,
- "source": 522,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 75,
- "source": 522,
- "pc": [
- 105
- ]
- },
- {
- "teal": 76,
- "source": 522,
- "pc": [
- 106
- ]
- },
- {
- "teal": 77,
- "source": 522,
- "pc": [
- 107
- ]
- },
- {
- "teal": 78,
- "source": 522,
- "pc": [
- 108
- ]
- },
- {
- "teal": 79,
- "source": 522,
- "pc": [
- 109
- ]
- },
- {
- "teal": 80,
- "source": 522,
- "pc": [
- 110
- ]
- },
- {
- "teal": 81,
- "source": 522,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 82,
- "source": 522,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 83,
- "source": 522,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 84,
- "source": 522,
- "pc": [
- 117
- ]
- },
- {
- "teal": 85,
- "source": 522,
- "pc": [
- 118
- ]
- },
- {
- "teal": 86,
- "source": 522,
- "pc": [
- 119
- ]
- },
- {
- "teal": 87,
- "source": 522,
- "pc": [
- 120
- ]
- },
- {
- "teal": 88,
- "source": 522,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 89,
- "source": 522,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 93,
- "source": 524,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 96,
- "source": 519,
- "pc": [
- 127,
- 128
- ]
- },
- {
- "teal": 99,
- "source": 519,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 100,
- "source": 519,
- "pc": [
- 131
- ]
- },
- {
- "teal": 103,
- "source": 518,
- "pc": [
- 132
- ]
- },
- {
- "teal": 104,
- "source": 518,
- "pc": [
- 133
- ]
- },
- {
- "teal": 107,
- "source": 518,
- "pc": [
- 134,
- 135,
- 136,
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 108,
- "source": 518,
- "pc": [
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 109,
- "source": 518,
- "pc": [
- 143,
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 112,
- "source": 518,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 147
- ]
- },
- {
- "teal": 115,
- "source": 518,
- "pc": [
- 148,
- 149,
- 150,
- 151,
- 152,
- 153
- ]
- },
- {
- "teal": 116,
- "source": 518,
- "pc": [
- 154,
- 155,
- 156
- ]
- },
- {
- "teal": 117,
- "source": 518,
- "pc": [
- 157,
- 158,
- 159,
- 160
- ]
- },
- {
- "teal": 120,
- "source": 518,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 161
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 518,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 518,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 518,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 518,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 518,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 518,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 518,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 518,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 518,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 519,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 519,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 519,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 519,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 519,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 519,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 519,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 519,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 519,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 519,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 519,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 519,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 519,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 519,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 519,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 519,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 519,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 520,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 520,
+ "pc": [
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 522,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 522,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 522,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 522,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 522,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 522,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 522,
+ "pc": [
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 522,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 522,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 522,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 522,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 522,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 522,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 522,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 522,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 522,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 522,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 522,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 522,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 522,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 522,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 522,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 522,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 522,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 522,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 522,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 522,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 522,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 522,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 522,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 524,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 519,
+ "pc": [
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 519,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 519,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 518,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 518,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 518,
+ "pc": [
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 518,
+ "pc": [
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 518,
+ "pc": [
+ 143,
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 518,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 518,
+ "pc": [
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 518,
+ "pc": [
+ 154,
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 518,
+ "pc": [
+ 157,
+ 158,
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 518,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 161
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTIyCgkvLyB2ID0gYS5zcGxpY2UoMCwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDAKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUyNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTIyCgkvLyB2ID0gYS5zcGxpY2UoMCwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDAKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUyNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestSpliceLastElement.approval.teal b/tests/contracts/artifacts/ABITestSpliceLastElement.approval.teal
index ac8136cc2..f3a457b2e 100644
--- a/tests/contracts/artifacts/ABITestSpliceLastElement.approval.teal
+++ b/tests/contracts/artifacts/ABITestSpliceLastElement.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestSpliceLastElement.arc32.json b/tests/contracts/artifacts/ABITestSpliceLastElement.arc32.json
index e25e9d355..275fbbfba 100644
--- a/tests/contracts/artifacts/ABITestSpliceLastElement.arc32.json
+++ b/tests/contracts/artifacts/ABITestSpliceLastElement.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VMYXN0RWxlbWVudCgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VMYXN0RWxlbWVudCgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnQKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNwbGljZUxhc3RFbGVtZW50KCk6IHVpbnQxNltdCnNwbGljZUxhc3RFbGVtZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5MgoJLy8gYS5zcGxpY2UoMiwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDQKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VMYXN0RWxlbWVudCgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VMYXN0RWxlbWVudCgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnQKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNwbGljZUxhc3RFbGVtZW50KCk6IHVpbnQxNltdCnNwbGljZUxhc3RFbGVtZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5MgoJLy8gYS5zcGxpY2UoMiwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDQKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestSpliceLastElement.arc56_draft.json b/tests/contracts/artifacts/ABITestSpliceLastElement.arc56_draft.json
index bc836807a..45c123d00 100644
--- a/tests/contracts/artifacts/ABITestSpliceLastElement.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestSpliceLastElement.arc56_draft.json
@@ -60,532 +60,535 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 488,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 488,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 488,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 488,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 488,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 488,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 488,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 488,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 488,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 489,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 489,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 489,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 489,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 489,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 489,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 489,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 489,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 38,
- "source": 489,
- "pc": [
- 59
- ]
- },
- {
- "teal": 39,
- "source": 489,
- "pc": [
- 60
- ]
- },
- {
- "teal": 40,
- "source": 489,
- "pc": [
- 61
- ]
- },
- {
- "teal": 41,
- "source": 489,
- "pc": [
- 62
- ]
- },
- {
- "teal": 42,
- "source": 489,
- "pc": [
- 63
- ]
- },
- {
- "teal": 43,
- "source": 489,
- "pc": [
- 64
- ]
- },
- {
- "teal": 47,
- "source": 489,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 50,
- "source": 489,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 54,
- "source": 490,
- "pc": [
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 55,
- "source": 490,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 59,
- "source": 492,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 60,
- "source": 492,
- "pc": [
- 82
- ]
- },
- {
- "teal": 61,
- "source": 492,
- "pc": [
- 83
- ]
- },
- {
- "teal": 62,
- "source": 492,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 63,
- "source": 492,
- "pc": [
- 86
- ]
- },
- {
- "teal": 64,
- "source": 492,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 65,
- "source": 492,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 66,
- "source": 492,
- "pc": [
- 91,
- 92
- ]
- },
- {
- "teal": 67,
- "source": 492,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 68,
- "source": 492,
- "pc": [
- 95
- ]
- },
- {
- "teal": 69,
- "source": 492,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 70,
- "source": 492,
- "pc": [
- 98
- ]
- },
- {
- "teal": 71,
- "source": 492,
- "pc": [
- 99
- ]
- },
- {
- "teal": 72,
- "source": 492,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 73,
- "source": 492,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 74,
- "source": 492,
- "pc": [
- 104
- ]
- },
- {
- "teal": 75,
- "source": 492,
- "pc": [
- 105
- ]
- },
- {
- "teal": 76,
- "source": 492,
- "pc": [
- 106
- ]
- },
- {
- "teal": 77,
- "source": 492,
- "pc": [
- 107
- ]
- },
- {
- "teal": 78,
- "source": 492,
- "pc": [
- 108
- ]
- },
- {
- "teal": 79,
- "source": 492,
- "pc": [
- 109
- ]
- },
- {
- "teal": 80,
- "source": 492,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 84,
- "source": 494,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 87,
- "source": 489,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 88,
- "source": 489,
- "pc": [
- 116
- ]
- },
- {
- "teal": 91,
- "source": 488,
- "pc": [
- 117
- ]
- },
- {
- "teal": 92,
- "source": 488,
- "pc": [
- 118
- ]
- },
- {
- "teal": 95,
- "source": 488,
- "pc": [
- 119,
- 120,
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 96,
- "source": 488,
- "pc": [
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 97,
- "source": 488,
- "pc": [
- 128,
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 100,
- "source": 488,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 132
- ]
- },
- {
- "teal": 103,
- "source": 488,
- "pc": [
- 133,
- 134,
- 135,
- 136,
- 137,
- 138
- ]
- },
- {
- "teal": 104,
- "source": 488,
- "pc": [
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 105,
- "source": 488,
- "pc": [
- 142,
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 108,
- "source": 488,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 146
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 488,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 488,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 488,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 488,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 488,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 488,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 488,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 488,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 488,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 489,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 489,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 489,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 489,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 489,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 489,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 489,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 489,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 489,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 489,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 489,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 489,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 489,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 489,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 489,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 489,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 490,
+ "pc": [
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 490,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 492,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 492,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 492,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 492,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 492,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 492,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 492,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 492,
+ "pc": [
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 492,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 492,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 492,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 492,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 492,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 492,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 492,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 492,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 492,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 492,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 492,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 492,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 492,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 492,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 494,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 489,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 489,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 488,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 488,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 488,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 488,
+ "pc": [
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 488,
+ "pc": [
+ 128,
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 488,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 488,
+ "pc": [
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 488,
+ "pc": [
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 488,
+ "pc": [
+ 142,
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 488,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 146
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VMYXN0RWxlbWVudCgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VMYXN0RWxlbWVudCgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnQKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNwbGljZUxhc3RFbGVtZW50KCk6IHVpbnQxNltdCnNwbGljZUxhc3RFbGVtZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5MgoJLy8gYS5zcGxpY2UoMiwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDQKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VMYXN0RWxlbWVudCgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VMYXN0RWxlbWVudCgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnQKCWR1cAoJbGVuCglpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNwbGljZUxhc3RFbGVtZW50KCk6IHVpbnQxNltdCnNwbGljZUxhc3RFbGVtZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5MgoJLy8gYS5zcGxpY2UoMiwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDQKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestSpliceLastElementValue.approval.teal b/tests/contracts/artifacts/ABITestSpliceLastElementValue.approval.teal
index ac94234ef..4b300b672 100644
--- a/tests/contracts/artifacts/ABITestSpliceLastElementValue.approval.teal
+++ b/tests/contracts/artifacts/ABITestSpliceLastElementValue.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc32.json b/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc32.json
index 9faa52829..d96309fe6 100644
--- a/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc32.json
+++ b/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VMYXN0RWxlbWVudFZhbHVlKCl1aW50MTZbXQoqYWJpX3JvdXRlX3NwbGljZUxhc3RFbGVtZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZQoJZHVwCglsZW4KCWludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTAyCgkvLyB2ID0gYS5zcGxpY2UoMiwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDQKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUwNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNwbGljZUxhc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VMYXN0RWxlbWVudFZhbHVlKCl1aW50MTZbXQoqYWJpX3JvdXRlX3NwbGljZUxhc3RFbGVtZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZQoJZHVwCglsZW4KCWludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTAyCgkvLyB2ID0gYS5zcGxpY2UoMiwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDQKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUwNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNwbGljZUxhc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc56_draft.json b/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc56_draft.json
index c8d4bb549..2299aa454 100644
--- a/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc56_draft.json
@@ -60,607 +60,610 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 498,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 498,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 498,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 498,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 498,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 498,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 498,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 498,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 498,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 499,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 499,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 499,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 499,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 499,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 499,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 499,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 499,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 38,
- "source": 499,
- "pc": [
- 59
- ]
- },
- {
- "teal": 39,
- "source": 499,
- "pc": [
- 60
- ]
- },
- {
- "teal": 40,
- "source": 499,
- "pc": [
- 61
- ]
- },
- {
- "teal": 41,
- "source": 499,
- "pc": [
- 62
- ]
- },
- {
- "teal": 42,
- "source": 499,
- "pc": [
- 63
- ]
- },
- {
- "teal": 43,
- "source": 499,
- "pc": [
- 64
- ]
- },
- {
- "teal": 47,
- "source": 499,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 50,
- "source": 499,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 51,
- "source": 499,
- "pc": [
- 70
- ]
- },
- {
- "teal": 55,
- "source": 500,
- "pc": [
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78
- ]
- },
- {
- "teal": 56,
- "source": 500,
- "pc": [
- 79,
- 80
- ]
- },
- {
- "teal": 60,
- "source": 502,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 61,
- "source": 502,
- "pc": [
- 83
- ]
- },
- {
- "teal": 62,
- "source": 502,
- "pc": [
- 84
- ]
- },
- {
- "teal": 63,
- "source": 502,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 64,
- "source": 502,
- "pc": [
- 87
- ]
- },
- {
- "teal": 65,
- "source": 502,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 66,
- "source": 502,
- "pc": [
- 90,
- 91
- ]
- },
- {
- "teal": 67,
- "source": 502,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 68,
- "source": 502,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 69,
- "source": 502,
- "pc": [
- 96
- ]
- },
- {
- "teal": 70,
- "source": 502,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 71,
- "source": 502,
- "pc": [
- 99
- ]
- },
- {
- "teal": 72,
- "source": 502,
- "pc": [
- 100
- ]
- },
- {
- "teal": 73,
- "source": 502,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 74,
- "source": 502,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 75,
- "source": 502,
- "pc": [
- 105
- ]
- },
- {
- "teal": 76,
- "source": 502,
- "pc": [
- 106
- ]
- },
- {
- "teal": 77,
- "source": 502,
- "pc": [
- 107
- ]
- },
- {
- "teal": 78,
- "source": 502,
- "pc": [
- 108
- ]
- },
- {
- "teal": 79,
- "source": 502,
- "pc": [
- 109
- ]
- },
- {
- "teal": 80,
- "source": 502,
- "pc": [
- 110
- ]
- },
- {
- "teal": 81,
- "source": 502,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 82,
- "source": 502,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 83,
- "source": 502,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 84,
- "source": 502,
- "pc": [
- 117
- ]
- },
- {
- "teal": 85,
- "source": 502,
- "pc": [
- 118
- ]
- },
- {
- "teal": 86,
- "source": 502,
- "pc": [
- 119
- ]
- },
- {
- "teal": 87,
- "source": 502,
- "pc": [
- 120
- ]
- },
- {
- "teal": 88,
- "source": 502,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 89,
- "source": 502,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 93,
- "source": 504,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 96,
- "source": 499,
- "pc": [
- 127,
- 128
- ]
- },
- {
- "teal": 99,
- "source": 499,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 100,
- "source": 499,
- "pc": [
- 131
- ]
- },
- {
- "teal": 103,
- "source": 498,
- "pc": [
- 132
- ]
- },
- {
- "teal": 104,
- "source": 498,
- "pc": [
- 133
- ]
- },
- {
- "teal": 107,
- "source": 498,
- "pc": [
- 134,
- 135,
- 136,
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 108,
- "source": 498,
- "pc": [
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 109,
- "source": 498,
- "pc": [
- 143,
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 112,
- "source": 498,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 147
- ]
- },
- {
- "teal": 115,
- "source": 498,
- "pc": [
- 148,
- 149,
- 150,
- 151,
- 152,
- 153
- ]
- },
- {
- "teal": 116,
- "source": 498,
- "pc": [
- 154,
- 155,
- 156
- ]
- },
- {
- "teal": 117,
- "source": 498,
- "pc": [
- 157,
- 158,
- 159,
- 160
- ]
- },
- {
- "teal": 120,
- "source": 498,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 161
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 498,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 498,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 498,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 498,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 498,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 498,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 498,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 498,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 498,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 499,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 499,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 499,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 499,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 499,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 499,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 499,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 499,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 499,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 499,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 499,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 499,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 499,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 499,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 499,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 499,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 499,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 500,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 500,
+ "pc": [
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 502,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 502,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 502,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 502,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 502,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 502,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 502,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 502,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 502,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 502,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 502,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 502,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 502,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 502,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 502,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 502,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 502,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 502,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 502,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 502,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 502,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 502,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 502,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 502,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 502,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 502,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 502,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 502,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 502,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 502,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 504,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 499,
+ "pc": [
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 499,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 499,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 498,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 498,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 498,
+ "pc": [
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 498,
+ "pc": [
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 498,
+ "pc": [
+ 143,
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 498,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 498,
+ "pc": [
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 498,
+ "pc": [
+ 154,
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 498,
+ "pc": [
+ 157,
+ 158,
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 498,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 161
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VMYXN0RWxlbWVudFZhbHVlKCl1aW50MTZbXQoqYWJpX3JvdXRlX3NwbGljZUxhc3RFbGVtZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZQoJZHVwCglsZW4KCWludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTAyCgkvLyB2ID0gYS5zcGxpY2UoMiwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDQKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUwNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNwbGljZUxhc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzcGxpY2VMYXN0RWxlbWVudFZhbHVlKCl1aW50MTZbXQoqYWJpX3JvdXRlX3NwbGljZUxhc3RFbGVtZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZQoJZHVwCglsZW4KCWludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTAyCgkvLyB2ID0gYS5zcGxpY2UoMiwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglpbnQgMQoJaW50IDQKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50IDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnQgMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUwNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInNwbGljZUxhc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticArray.approval.teal b/tests/contracts/artifacts/ABITestStaticArray.approval.teal
index e64ae1eb3..019aae7e7 100644
--- a/tests/contracts/artifacts/ABITestStaticArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticArray.arc32.json b/tests/contracts/artifacts/ABITestStaticArray.arc32.json
index ae83862c6..1b685180f 100644
--- a/tests/contracts/artifacts/ABITestStaticArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5KCk6IHVpbnQ2NApzdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMwoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5KCk6IHVpbnQ2NApzdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMwoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticArray.arc56_draft.json
index cd1e38a33..3934b3300 100644
--- a/tests/contracts/artifacts/ABITestStaticArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticArray.arc56_draft.json
@@ -60,349 +60,352 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 9,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 9,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 9,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 9,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 9,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 9,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 9,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 9,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 9,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 10,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 10,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 10,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 10,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 10,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 10,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 10,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 10,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 10,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 11,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 48,
- "source": 11,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 52,
- "source": 13,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 53,
- "source": 13,
- "pc": [
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 54,
- "source": 13,
- "pc": [
- 92
- ]
- },
- {
- "teal": 57,
- "source": 10,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 58,
- "source": 10,
- "pc": [
- 95
- ]
- },
- {
- "teal": 61,
- "source": 9,
- "pc": [
- 96
- ]
- },
- {
- "teal": 62,
- "source": 9,
- "pc": [
- 97
- ]
- },
- {
- "teal": 65,
- "source": 9,
- "pc": [
- 98,
- 99,
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 66,
- "source": 9,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 67,
- "source": 9,
- "pc": [
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 70,
- "source": 9,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 111
- ]
- },
- {
- "teal": 73,
- "source": 9,
- "pc": [
- 112,
- 113,
- 114,
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 74,
- "source": 9,
- "pc": [
- 118,
- 119,
- 120
- ]
- },
- {
- "teal": 75,
- "source": 9,
- "pc": [
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 78,
- "source": 9,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 125
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 9,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 9,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 9,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 9,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 9,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 9,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 9,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 9,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 9,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 10,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 10,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 10,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 10,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 10,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 10,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 10,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 10,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 10,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 11,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 11,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 13,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 13,
+ "pc": [
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 13,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 10,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 10,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 9,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 9,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 9,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 9,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 9,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 9,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 9,
+ "pc": [
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 9,
+ "pc": [
+ 118,
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 9,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 9,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 125
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5KCk6IHVpbnQ2NApzdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMwoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5KCk6IHVpbnQ2NApzdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExCgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMwoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticArrayArg.approval.teal b/tests/contracts/artifacts/ABITestStaticArrayArg.approval.teal
index 4963b2fe7..ba289ca31 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayArg.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticArrayArg.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticArrayArg.arc32.json b/tests/contracts/artifacts/ABITestStaticArrayArg.arc32.json
index baacdaed2..0e7e77e47 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayArg.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticArrayArg.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3Igc3RhdGljQXJyYXlBcmcgbXVzdCBiZSBhIHVpbnQ2NFszXQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0CgljYWxsc3ViIHN0YXRpY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlBcmcoYTogU3RhdGljQXJyYXk8dWludDY0LCAzPik6IHVpbnQ2NApzdGF0aWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNwoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0FycmF5QXJnKHVpbnQ2NFszXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0FycmF5QXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3Igc3RhdGljQXJyYXlBcmcgbXVzdCBiZSBhIHVpbnQ2NFszXQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0CgljYWxsc3ViIHN0YXRpY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlBcmcoYTogU3RhdGljQXJyYXk8dWludDY0LCAzPik6IHVpbnQ2NApzdGF0aWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNwoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0FycmF5QXJnKHVpbnQ2NFszXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0FycmF5QXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticArrayArg.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticArrayArg.arc56_draft.json
index 182e13672..a2d4a884a 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayArg.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticArrayArg.arc56_draft.json
@@ -65,339 +65,342 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 25,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 25,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 25,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 25,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 25,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 25,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 25,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 25,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 25,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 26,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 26,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 26,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 26,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 26,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 26,
- "pc": [
- 53
- ]
- },
- {
- "teal": 38,
- "source": 26,
- "errorMessage": "argument 0 (a) for staticArrayArg must be a uint64[3]",
- "pc": [
- 54
- ]
- },
- {
- "teal": 41,
- "source": 26,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 42,
- "source": 26,
- "pc": [
- 58
- ]
- },
- {
- "teal": 43,
- "source": 26,
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 26,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 26,
- "pc": [
- 61
- ]
- },
- {
- "teal": 46,
- "source": 26,
- "pc": [
- 62
- ]
- },
- {
- "teal": 50,
- "source": 26,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 54,
- "source": 27,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 55,
- "source": 27,
- "pc": [
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 56,
- "source": 27,
- "pc": [
- 71
- ]
- },
- {
- "teal": 57,
- "source": 26,
- "pc": [
- 72
- ]
- },
- {
- "teal": 60,
- "source": 25,
- "pc": [
- 73
- ]
- },
- {
- "teal": 61,
- "source": 25,
- "pc": [
- 74
- ]
- },
- {
- "teal": 64,
- "source": 25,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 65,
- "source": 25,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 66,
- "source": 25,
- "pc": [
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 69,
- "source": 25,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 88
- ]
- },
- {
- "teal": 72,
- "source": 25,
- "pc": [
- 89,
- 90,
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 73,
- "source": 25,
- "pc": [
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 74,
- "source": 25,
- "pc": [
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 77,
- "source": 25,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 102
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 25,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 25,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 25,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 25,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 25,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 25,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 25,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 25,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 25,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 26,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 26,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 26,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 26,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 26,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 26,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 26,
+ "errorMessage": "argument 0 (a) for staticArrayArg must be a uint64[3]",
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 26,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 26,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 26,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 26,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 26,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 26,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 26,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 27,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 27,
+ "pc": [
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 27,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 26,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 25,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 25,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 25,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 25,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 25,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 25,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 25,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 25,
+ "pc": [
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 25,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 25,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 102
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3Igc3RhdGljQXJyYXlBcmcgbXVzdCBiZSBhIHVpbnQ2NFszXQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0CgljYWxsc3ViIHN0YXRpY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlBcmcoYTogU3RhdGljQXJyYXk8dWludDY0LCAzPik6IHVpbnQ2NApzdGF0aWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNwoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0FycmF5QXJnKHVpbnQ2NFszXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0FycmF5QXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3Igc3RhdGljQXJyYXlBcmcgbXVzdCBiZSBhIHVpbnQ2NFszXQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0CgljYWxsc3ViIHN0YXRpY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlBcmcoYTogU3RhdGljQXJyYXk8dWludDY0LCAzPik6IHVpbnQ2NApzdGF0aWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNwoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0FycmF5QXJnKHVpbnQ2NFszXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0FycmF5QXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.approval.teal b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.approval.teal
index a9853fea0..3e1608bc0 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc32.json b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc32.json
index 9cf7676d9..acd70f784 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc32.json
@@ -49,7 +49,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3N0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10KCWNhbGxzdWIgc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NwoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDgKCS8vIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWUgPSBhCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBhCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MQoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZSAweDY3NGQ2MTcwIC8vICJnTWFwIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglpbnQgOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NwoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3N0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10KCWNhbGxzdWIgc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NwoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDgKCS8vIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWUgPSBhCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBhCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MQoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZSAweDY3NGQ2MTcwIC8vICJnTWFwIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglpbnQgOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NwoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc56_draft.json
index 86cdcf5e9..07e9a820a 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc56_draft.json
@@ -93,579 +93,582 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 130,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20
- ]
- },
- {
- "teal": 13,
- "source": 130,
- "pc": [
- 21,
- 22
- ]
- },
- {
- "teal": 14,
- "source": 130,
- "pc": [
- 23
- ]
- },
- {
- "teal": 15,
- "source": 130,
- "pc": [
- 24,
- 25
- ]
- },
- {
- "teal": 16,
- "source": 130,
- "pc": [
- 26
- ]
- },
- {
- "teal": 17,
- "source": 130,
- "pc": [
- 27,
- 28
- ]
- },
- {
- "teal": 18,
- "source": 130,
- "pc": [
- 29
- ]
- },
- {
- "teal": 19,
- "source": 130,
- "pc": [
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 23,
- "source": 130,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 56
- ]
- },
- {
- "teal": 28,
- "source": 143,
- "pc": [
- 57,
- 58,
- 59,
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 31,
- "source": 143,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 32,
- "source": 143,
- "pc": [
- 66
- ]
- },
- {
- "teal": 33,
- "source": 143,
- "pc": [
- 67
- ]
- },
- {
- "teal": 34,
- "source": 143,
- "pc": [
- 68
- ]
- },
- {
- "teal": 35,
- "source": 143,
- "pc": [
- 69
- ]
- },
- {
- "teal": 39,
- "source": 143,
- "pc": [
- 70,
- 71,
- 72
- ]
- },
- {
- "teal": 42,
- "source": 143,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 43,
- "source": 143,
- "pc": [
- 75
- ]
- },
- {
- "teal": 47,
- "source": 145,
- "pc": [
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 48,
- "source": 145,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 52,
- "source": 147,
- "pc": [
- 104
- ]
- },
- {
- "teal": 53,
- "source": 147,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 54,
- "source": 147,
- "pc": [
- 107
- ]
- },
- {
- "teal": 58,
- "source": 148,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 59,
- "source": 148,
- "pc": [
- 110
- ]
- },
- {
- "teal": 60,
- "source": 148,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 61,
- "source": 148,
- "pc": [
- 113
- ]
- },
- {
- "teal": 65,
- "source": 149,
- "pc": [
- 114
- ]
- },
- {
- "teal": 66,
- "source": 149,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 67,
- "source": 149,
- "pc": [
- 117
- ]
- },
- {
- "teal": 75,
- "source": 152,
- "pc": [
- 118
- ]
- },
- {
- "teal": 76,
- "source": 152,
- "pc": [
- 119
- ]
- },
- {
- "teal": 77,
- "source": 152,
- "pc": [
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 78,
- "source": 152,
- "pc": [
- 123
- ]
- },
- {
- "teal": 79,
- "source": 152,
- "pc": [
- 124
- ]
- },
- {
- "teal": 80,
- "source": 153,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 81,
- "source": 153,
- "pc": [
- 127
- ]
- },
- {
- "teal": 82,
- "source": 153,
- "pc": [
- 128
- ]
- },
- {
- "teal": 83,
- "source": 153,
- "pc": [
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 84,
- "source": 153,
- "pc": [
- 132
- ]
- },
- {
- "teal": 85,
- "source": 153,
- "pc": [
- 133
- ]
- },
- {
- "teal": 86,
- "source": 151,
- "pc": [
- 134
- ]
- },
- {
- "teal": 87,
- "source": 154,
- "pc": [
- 135
- ]
- },
- {
- "teal": 88,
- "source": 154,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 89,
- "source": 154,
- "pc": [
- 138
- ]
- },
- {
- "teal": 90,
- "source": 154,
- "pc": [
- 139
- ]
- },
- {
- "teal": 91,
- "source": 154,
- "pc": [
- 140
- ]
- },
- {
- "teal": 92,
- "source": 154,
- "pc": [
- 141
- ]
- },
- {
- "teal": 93,
- "source": 151,
- "pc": [
- 142
- ]
- },
- {
- "teal": 94,
- "source": 151,
- "pc": [
- 143,
- 144
- ]
- },
- {
- "teal": 98,
- "source": 157,
- "pc": [
- 145,
- 146
- ]
- },
- {
- "teal": 101,
- "source": 143,
- "pc": [
- 147,
- 148
- ]
- },
- {
- "teal": 104,
- "source": 143,
- "pc": [
- 149,
- 150
- ]
- },
- {
- "teal": 105,
- "source": 143,
- "pc": [
- 151
- ]
- },
- {
- "teal": 108,
- "source": 130,
- "pc": [
- 152
- ]
- },
- {
- "teal": 109,
- "source": 130,
- "pc": [
- 153
- ]
- },
- {
- "teal": 112,
- "source": 130,
- "pc": [
- 154,
- 155,
- 156,
- 157,
- 158,
- 159
- ]
- },
- {
- "teal": 113,
- "source": 130,
- "pc": [
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 114,
- "source": 130,
- "pc": [
- 163,
- 164,
- 165,
- 166
- ]
- },
- {
- "teal": 117,
- "source": 130,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 167
- ]
- },
- {
- "teal": 120,
- "source": 130,
- "pc": [
- 168,
- 169,
- 170,
- 171,
- 172,
- 173
- ]
- },
- {
- "teal": 121,
- "source": 130,
- "pc": [
- 174,
- 175,
- 176
- ]
- },
- {
- "teal": 122,
- "source": 130,
- "pc": [
- 177,
- 178,
- 179,
- 180
- ]
- },
- {
- "teal": 125,
- "source": 130,
- "errorMessage": "this contract does not implement the given ABI method for call OptIn",
- "pc": [
- 181
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 130,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 130,
+ "pc": [
+ 21,
+ 22
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 130,
+ "pc": [
+ 23
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 130,
+ "pc": [
+ 24,
+ 25
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 130,
+ "pc": [
+ 26
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 130,
+ "pc": [
+ 27,
+ 28
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 130,
+ "pc": [
+ 29
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 130,
+ "pc": [
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 130,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 143,
+ "pc": [
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 143,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 143,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 143,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 143,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 143,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 143,
+ "pc": [
+ 70,
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 143,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 143,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 145,
+ "pc": [
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 145,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 147,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 147,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 147,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 148,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 148,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 148,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 148,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 149,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 149,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 149,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 152,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 152,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 152,
+ "pc": [
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 152,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 152,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 153,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 153,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 153,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 153,
+ "pc": [
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 153,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 153,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 151,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 154,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 154,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 154,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 154,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 154,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 154,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 151,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 151,
+ "pc": [
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 157,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 143,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 143,
+ "pc": [
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 143,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 130,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 130,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 130,
+ "pc": [
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 130,
+ "pc": [
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 130,
+ "pc": [
+ 163,
+ 164,
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 130,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 130,
+ "pc": [
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 130,
+ "pc": [
+ 174,
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 130,
+ "pc": [
+ 177,
+ 178,
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 130,
+ "errorMessage": "this contract does not implement the given ABI method for call OptIn",
+ "pc": [
+ 181
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3N0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10KCWNhbGxzdWIgc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NwoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDgKCS8vIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWUgPSBhCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBhCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MQoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZSAweDY3NGQ2MTcwIC8vICJnTWFwIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglpbnQgOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NwoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3N0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10KCWNhbGxzdWIgc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NwoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDgKCS8vIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWUgPSBhCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBhCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MQoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZSAweDY3NGQ2MTcwIC8vICJnTWFwIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglpbnQgOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NwoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.approval.teal b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.approval.teal
index c0459f312..c29624628 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc32.json b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc32.json
index f167f4aa5..5643aca14 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc32.json
@@ -49,7 +49,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3N0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0FycmF5SW5TdG9yYWdlUmVmKCl1aW50NjRbM10KCWNhbGxzdWIgc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkKCS8vIHRoaXMuZ1JlZi52YWx1ZSA9IGEKCWJ5dGUgMHg2NzUyNjU2NiAvLyAiZ1JlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkwCgkvLyB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTEKCS8vIHRoaXMuYlJlZi52YWx1ZSA9IGEKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMKCS8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFt0aGlzLmdSZWYudmFsdWVbMV0sIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlWzFdLCB0aGlzLmJSZWYudmFsdWVbMV1dCglieXRlIDB4Njc1MjY1NjYgLy8gImdSZWYiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWludCA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCW1ldGhvZCAic3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3N0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0FycmF5SW5TdG9yYWdlUmVmKCl1aW50NjRbM10KCWNhbGxzdWIgc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkKCS8vIHRoaXMuZ1JlZi52YWx1ZSA9IGEKCWJ5dGUgMHg2NzUyNjU2NiAvLyAiZ1JlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkwCgkvLyB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTEKCS8vIHRoaXMuYlJlZi52YWx1ZSA9IGEKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMKCS8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFt0aGlzLmdSZWYudmFsdWVbMV0sIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlWzFdLCB0aGlzLmJSZWYudmFsdWVbMV1dCglieXRlIDB4Njc1MjY1NjYgLy8gImdSZWYiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWludCA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCW1ldGhvZCAic3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc56_draft.json
index 91d4ee7fd..47cfbf5be 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc56_draft.json
@@ -93,579 +93,582 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 72,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20
- ]
- },
- {
- "teal": 13,
- "source": 72,
- "pc": [
- 21,
- 22
- ]
- },
- {
- "teal": 14,
- "source": 72,
- "pc": [
- 23
- ]
- },
- {
- "teal": 15,
- "source": 72,
- "pc": [
- 24,
- 25
- ]
- },
- {
- "teal": 16,
- "source": 72,
- "pc": [
- 26
- ]
- },
- {
- "teal": 17,
- "source": 72,
- "pc": [
- 27,
- 28
- ]
- },
- {
- "teal": 18,
- "source": 72,
- "pc": [
- 29
- ]
- },
- {
- "teal": 19,
- "source": 72,
- "pc": [
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 23,
- "source": 72,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 56
- ]
- },
- {
- "teal": 28,
- "source": 85,
- "pc": [
- 57,
- 58,
- 59,
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 31,
- "source": 85,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 32,
- "source": 85,
- "pc": [
- 66
- ]
- },
- {
- "teal": 33,
- "source": 85,
- "pc": [
- 67
- ]
- },
- {
- "teal": 34,
- "source": 85,
- "pc": [
- 68
- ]
- },
- {
- "teal": 35,
- "source": 85,
- "pc": [
- 69
- ]
- },
- {
- "teal": 39,
- "source": 85,
- "pc": [
- 70,
- 71,
- 72
- ]
- },
- {
- "teal": 42,
- "source": 85,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 43,
- "source": 85,
- "pc": [
- 75
- ]
- },
- {
- "teal": 47,
- "source": 87,
- "pc": [
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 48,
- "source": 87,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 52,
- "source": 89,
- "pc": [
- 104
- ]
- },
- {
- "teal": 53,
- "source": 89,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 54,
- "source": 89,
- "pc": [
- 107
- ]
- },
- {
- "teal": 58,
- "source": 90,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 59,
- "source": 90,
- "pc": [
- 110
- ]
- },
- {
- "teal": 60,
- "source": 90,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 61,
- "source": 90,
- "pc": [
- 113
- ]
- },
- {
- "teal": 65,
- "source": 91,
- "pc": [
- 114
- ]
- },
- {
- "teal": 66,
- "source": 91,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 67,
- "source": 91,
- "pc": [
- 117
- ]
- },
- {
- "teal": 71,
- "source": 93,
- "pc": [
- 118
- ]
- },
- {
- "teal": 72,
- "source": 93,
- "pc": [
- 119
- ]
- },
- {
- "teal": 73,
- "source": 93,
- "pc": [
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 74,
- "source": 93,
- "pc": [
- 123
- ]
- },
- {
- "teal": 75,
- "source": 93,
- "pc": [
- 124
- ]
- },
- {
- "teal": 76,
- "source": 93,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 77,
- "source": 93,
- "pc": [
- 127
- ]
- },
- {
- "teal": 78,
- "source": 93,
- "pc": [
- 128
- ]
- },
- {
- "teal": 79,
- "source": 93,
- "pc": [
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 80,
- "source": 93,
- "pc": [
- 132
- ]
- },
- {
- "teal": 81,
- "source": 93,
- "pc": [
- 133
- ]
- },
- {
- "teal": 82,
- "source": 93,
- "pc": [
- 134
- ]
- },
- {
- "teal": 83,
- "source": 93,
- "pc": [
- 135
- ]
- },
- {
- "teal": 84,
- "source": 93,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 85,
- "source": 93,
- "pc": [
- 138
- ]
- },
- {
- "teal": 86,
- "source": 93,
- "pc": [
- 139
- ]
- },
- {
- "teal": 87,
- "source": 93,
- "pc": [
- 140
- ]
- },
- {
- "teal": 88,
- "source": 93,
- "pc": [
- 141
- ]
- },
- {
- "teal": 89,
- "source": 93,
- "pc": [
- 142
- ]
- },
- {
- "teal": 90,
- "source": 93,
- "pc": [
- 143,
- 144
- ]
- },
- {
- "teal": 94,
- "source": 95,
- "pc": [
- 145,
- 146
- ]
- },
- {
- "teal": 97,
- "source": 85,
- "pc": [
- 147,
- 148
- ]
- },
- {
- "teal": 100,
- "source": 85,
- "pc": [
- 149,
- 150
- ]
- },
- {
- "teal": 101,
- "source": 85,
- "pc": [
- 151
- ]
- },
- {
- "teal": 104,
- "source": 72,
- "pc": [
- 152
- ]
- },
- {
- "teal": 105,
- "source": 72,
- "pc": [
- 153
- ]
- },
- {
- "teal": 108,
- "source": 72,
- "pc": [
- 154,
- 155,
- 156,
- 157,
- 158,
- 159
- ]
- },
- {
- "teal": 109,
- "source": 72,
- "pc": [
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 110,
- "source": 72,
- "pc": [
- 163,
- 164,
- 165,
- 166
- ]
- },
- {
- "teal": 113,
- "source": 72,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 167
- ]
- },
- {
- "teal": 116,
- "source": 72,
- "pc": [
- 168,
- 169,
- 170,
- 171,
- 172,
- 173
- ]
- },
- {
- "teal": 117,
- "source": 72,
- "pc": [
- 174,
- 175,
- 176
- ]
- },
- {
- "teal": 118,
- "source": 72,
- "pc": [
- 177,
- 178,
- 179,
- 180
- ]
- },
- {
- "teal": 121,
- "source": 72,
- "errorMessage": "this contract does not implement the given ABI method for call OptIn",
- "pc": [
- 181
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 72,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 72,
+ "pc": [
+ 21,
+ 22
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 72,
+ "pc": [
+ 23
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 72,
+ "pc": [
+ 24,
+ 25
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 72,
+ "pc": [
+ 26
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 72,
+ "pc": [
+ 27,
+ 28
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 72,
+ "pc": [
+ 29
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 72,
+ "pc": [
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 72,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 85,
+ "pc": [
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 85,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 85,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 85,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 85,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 85,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 85,
+ "pc": [
+ 70,
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 85,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 85,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 87,
+ "pc": [
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 87,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 89,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 89,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 89,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 90,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 90,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 90,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 90,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 91,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 91,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 91,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 93,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 93,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 93,
+ "pc": [
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 93,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 93,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 93,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 93,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 93,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 93,
+ "pc": [
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 93,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 93,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 93,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 93,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 93,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 93,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 93,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 93,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 93,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 93,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 93,
+ "pc": [
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 95,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 85,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 85,
+ "pc": [
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 85,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 72,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 72,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 72,
+ "pc": [
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 72,
+ "pc": [
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 72,
+ "pc": [
+ 163,
+ 164,
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 72,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 72,
+ "pc": [
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 72,
+ "pc": [
+ 174,
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 72,
+ "pc": [
+ 177,
+ 178,
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 72,
+ "errorMessage": "this contract does not implement the given ABI method for call OptIn",
+ "pc": [
+ 181
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3N0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0FycmF5SW5TdG9yYWdlUmVmKCl1aW50NjRbM10KCWNhbGxzdWIgc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkKCS8vIHRoaXMuZ1JlZi52YWx1ZSA9IGEKCWJ5dGUgMHg2NzUyNjU2NiAvLyAiZ1JlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkwCgkvLyB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTEKCS8vIHRoaXMuYlJlZi52YWx1ZSA9IGEKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMKCS8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFt0aGlzLmdSZWYudmFsdWVbMV0sIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlWzFdLCB0aGlzLmJSZWYudmFsdWVbMV1dCglieXRlIDB4Njc1MjY1NjYgLy8gImdSZWYiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWludCA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCW1ldGhvZCAic3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3N0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0FycmF5SW5TdG9yYWdlUmVmKCl1aW50NjRbM10KCWNhbGxzdWIgc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkKCS8vIHRoaXMuZ1JlZi52YWx1ZSA9IGEKCWJ5dGUgMHg2NzUyNjU2NiAvLyAiZ1JlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkwCgkvLyB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTEKCS8vIHRoaXMuYlJlZi52YWx1ZSA9IGEKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMKCS8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFt0aGlzLmdSZWYudmFsdWVbMV0sIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlWzFdLCB0aGlzLmJSZWYudmFsdWVbMV1dCglieXRlIDB4Njc1MjY1NjYgLy8gImdSZWYiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWludCA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCW1ldGhvZCAic3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticArrayLength.approval.teal b/tests/contracts/artifacts/ABITestStaticArrayLength.approval.teal
index bba6b6f27..197ce8130 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayLength.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticArrayLength.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticArrayLength.arc32.json b/tests/contracts/artifacts/ABITestStaticArrayLength.arc32.json
index f91e40e3f..25bf91b68 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayLength.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticArrayLength.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApzdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzODUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiA9IFsxMSwgMjIsIDMzLCA0NCwgNTVdCglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ4LCA1PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzg3CgkvLyByZXR1cm4gYS5sZW5ndGg7CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApzdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzODUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiA9IFsxMSwgMjIsIDMzLCA0NCwgNTVdCglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ4LCA1PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzg3CgkvLyByZXR1cm4gYS5sZW5ndGg7CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticArrayLength.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticArrayLength.arc56_draft.json
index 664bc54a9..a6ac900fb 100644
--- a/tests/contracts/artifacts/ABITestStaticArrayLength.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticArrayLength.arc56_draft.json
@@ -60,314 +60,317 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1383,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1383,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1383,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1383,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1383,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1383,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1383,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1383,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1383,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1384,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1384,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1384,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1384,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1384,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1384,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 1384,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 1384,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 1384,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 1385,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 48,
- "source": 1385,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 52,
- "source": 1387,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 55,
- "source": 1384,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 56,
- "source": 1384,
- "pc": [
- 72
- ]
- },
- {
- "teal": 59,
- "source": 1383,
- "pc": [
- 73
- ]
- },
- {
- "teal": 60,
- "source": 1383,
- "pc": [
- 74
- ]
- },
- {
- "teal": 63,
- "source": 1383,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 64,
- "source": 1383,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 65,
- "source": 1383,
- "pc": [
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 68,
- "source": 1383,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 88
- ]
- },
- {
- "teal": 71,
- "source": 1383,
- "pc": [
- 89,
- 90,
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 72,
- "source": 1383,
- "pc": [
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 73,
- "source": 1383,
- "pc": [
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 76,
- "source": 1383,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 102
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1383,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1383,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1383,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1383,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1383,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1383,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1383,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1383,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1383,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1384,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1384,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1384,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1384,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1384,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1384,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1384,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1384,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1384,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1385,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1385,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1387,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1384,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1384,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1383,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1383,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1383,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1383,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1383,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1383,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1383,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1383,
+ "pc": [
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1383,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1383,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 102
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApzdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzODUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiA9IFsxMSwgMjIsIDMzLCA0NCwgNTVdCglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ4LCA1PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzg3CgkvLyByZXR1cm4gYS5sZW5ndGg7CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfc3RhdGljQXJyYXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApzdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzODUKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiA9IFsxMSwgMjIsIDMzLCA0NCwgNTVdCglieXRlIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ4LCA1PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzg3CgkvLyByZXR1cm4gYS5sZW5ndGg7CglpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticBoolArray.approval.teal b/tests/contracts/artifacts/ABITestStaticBoolArray.approval.teal
index c01b01302..22faa860e 100644
--- a/tests/contracts/artifacts/ABITestStaticBoolArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticBoolArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticBoolArray.arc32.json b/tests/contracts/artifacts/ABITestStaticBoolArray.arc32.json
index befe6ce4c..a9aefd6c4 100644
--- a/tests/contracts/artifacts/ABITestStaticBoolArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticBoolArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXkoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5KClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4OTcKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODk5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdGF0aWNCb29sQXJyYXkoKWJvb2xbOV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXkoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5KClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4OTcKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODk5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdGF0aWNCb29sQXJyYXkoKWJvb2xbOV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticBoolArray.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticBoolArray.arc56_draft.json
index 0e24a5f9a..26cc37ced 100644
--- a/tests/contracts/artifacts/ABITestStaticBoolArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticBoolArray.arc56_draft.json
@@ -60,500 +60,503 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 895,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 895,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 895,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 895,
- "pc": [
- 9
- ]
- },
- {
- "teal": 16,
- "source": 895,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 895,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 895,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 895,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 895,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 896,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 896,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 32,
- "source": 896,
- "pc": [
- 50
- ]
- },
- {
- "teal": 33,
- "source": 896,
- "pc": [
- 51
- ]
- },
- {
- "teal": 34,
- "source": 896,
- "pc": [
- 52
- ]
- },
- {
- "teal": 35,
- "source": 896,
- "pc": [
- 53
- ]
- },
- {
- "teal": 39,
- "source": 896,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 42,
- "source": 896,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 46,
- "source": 897,
- "pc": [
- 59,
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 47,
- "source": 897,
- "pc": [
- 63
- ]
- },
- {
- "teal": 48,
- "source": 897,
- "pc": [
- 64
- ]
- },
- {
- "teal": 49,
- "source": 897,
- "pc": [
- 65
- ]
- },
- {
- "teal": 50,
- "source": 897,
- "pc": [
- 66
- ]
- },
- {
- "teal": 51,
- "source": 897,
- "pc": [
- 67
- ]
- },
- {
- "teal": 52,
- "source": 897,
- "pc": [
- 68
- ]
- },
- {
- "teal": 53,
- "source": 897,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 54,
- "source": 897,
- "pc": [
- 71
- ]
- },
- {
- "teal": 55,
- "source": 897,
- "pc": [
- 72
- ]
- },
- {
- "teal": 56,
- "source": 897,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 57,
- "source": 897,
- "pc": [
- 75
- ]
- },
- {
- "teal": 58,
- "source": 897,
- "pc": [
- 76
- ]
- },
- {
- "teal": 59,
- "source": 897,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 60,
- "source": 897,
- "pc": [
- 79
- ]
- },
- {
- "teal": 61,
- "source": 897,
- "pc": [
- 80
- ]
- },
- {
- "teal": 62,
- "source": 897,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 63,
- "source": 897,
- "pc": [
- 83
- ]
- },
- {
- "teal": 64,
- "source": 897,
- "pc": [
- 84
- ]
- },
- {
- "teal": 65,
- "source": 897,
- "pc": [
- 85
- ]
- },
- {
- "teal": 66,
- "source": 897,
- "pc": [
- 86
- ]
- },
- {
- "teal": 67,
- "source": 897,
- "pc": [
- 87
- ]
- },
- {
- "teal": 68,
- "source": 897,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 69,
- "source": 897,
- "pc": [
- 90
- ]
- },
- {
- "teal": 70,
- "source": 897,
- "pc": [
- 91
- ]
- },
- {
- "teal": 71,
- "source": 897,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 72,
- "source": 897,
- "pc": [
- 94
- ]
- },
- {
- "teal": 73,
- "source": 897,
- "pc": [
- 95
- ]
- },
- {
- "teal": 74,
- "source": 897,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 78,
- "source": 899,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 81,
- "source": 896,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 82,
- "source": 896,
- "pc": [
- 102
- ]
- },
- {
- "teal": 85,
- "source": 895,
- "pc": [
- 103
- ]
- },
- {
- "teal": 86,
- "source": 895,
- "pc": [
- 104
- ]
- },
- {
- "teal": 89,
- "source": 895,
- "pc": [
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 90,
- "source": 895,
- "pc": [
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 91,
- "source": 895,
- "pc": [
- 114,
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 94,
- "source": 895,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 118
- ]
- },
- {
- "teal": 97,
- "source": 895,
- "pc": [
- 119,
- 120,
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 98,
- "source": 895,
- "pc": [
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 99,
- "source": 895,
- "pc": [
- 128,
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 102,
- "source": 895,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 132
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 895,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 895,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 895,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 895,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 895,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 895,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 895,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 895,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 895,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 896,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 896,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 896,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 896,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 896,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 896,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 896,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 896,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 897,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 897,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 897,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 897,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 897,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 897,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 897,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 897,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 897,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 897,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 897,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 897,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 897,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 897,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 897,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 897,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 897,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 897,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 897,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 897,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 897,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 897,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 897,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 897,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 897,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 897,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 897,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 897,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 897,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 899,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 896,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 896,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 895,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 895,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 895,
+ "pc": [
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 895,
+ "pc": [
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 895,
+ "pc": [
+ 114,
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 895,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 895,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 895,
+ "pc": [
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 895,
+ "pc": [
+ 128,
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 895,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 132
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXkoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5KClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4OTcKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODk5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdGF0aWNCb29sQXJyYXkoKWJvb2xbOV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXkoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5KClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4OTcKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODk5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdGF0aWNCb29sQXJyYXkoKWJvb2xbOV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.approval.teal b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.approval.teal
index c8c905f1a..e90ef615b 100644
--- a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc32.json b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc32.json
index 50479e4fe..8da4101d6 100644
--- a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5QWNjZXNzKClib29sCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheUFjY2VzcwoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKTogYm9vbGVhbgpzdGF0aWNCb29sQXJyYXlBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MjMKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTI1CgkvLyByZXR1cm4gYVs4XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQm9vbEFycmF5QWNjZXNzKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5QWNjZXNzKClib29sCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheUFjY2VzcwoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKTogYm9vbGVhbgpzdGF0aWNCb29sQXJyYXlBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MjMKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTI1CgkvLyByZXR1cm4gYVs4XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQm9vbEFycmF5QWNjZXNzKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc56_draft.json
index 07930260e..d7a204def 100644
--- a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc56_draft.json
@@ -60,561 +60,564 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 921,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 921,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 921,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 921,
- "pc": [
- 10
- ]
- },
- {
- "teal": 16,
- "source": 921,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 921,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 921,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 921,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 921,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 922,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 922,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 922,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 33,
- "source": 922,
- "pc": [
- 54
- ]
- },
- {
- "teal": 34,
- "source": 922,
- "pc": [
- 55,
- 56
- ]
- },
- {
- "teal": 35,
- "source": 922,
- "pc": [
- 57
- ]
- },
- {
- "teal": 36,
- "source": 922,
- "pc": [
- 58
- ]
- },
- {
- "teal": 37,
- "source": 922,
- "pc": [
- 59
- ]
- },
- {
- "teal": 38,
- "source": 922,
- "pc": [
- 60
- ]
- },
- {
- "teal": 39,
- "source": 922,
- "pc": [
- 61
- ]
- },
- {
- "teal": 43,
- "source": 922,
- "pc": [
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 46,
- "source": 922,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 50,
- "source": 923,
- "pc": [
- 67,
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 51,
- "source": 923,
- "pc": [
- 71
- ]
- },
- {
- "teal": 52,
- "source": 923,
- "pc": [
- 72
- ]
- },
- {
- "teal": 53,
- "source": 923,
- "pc": [
- 73
- ]
- },
- {
- "teal": 54,
- "source": 923,
- "pc": [
- 74
- ]
- },
- {
- "teal": 55,
- "source": 923,
- "pc": [
- 75
- ]
- },
- {
- "teal": 56,
- "source": 923,
- "pc": [
- 76
- ]
- },
- {
- "teal": 57,
- "source": 923,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 58,
- "source": 923,
- "pc": [
- 79
- ]
- },
- {
- "teal": 59,
- "source": 923,
- "pc": [
- 80
- ]
- },
- {
- "teal": 60,
- "source": 923,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 61,
- "source": 923,
- "pc": [
- 83
- ]
- },
- {
- "teal": 62,
- "source": 923,
- "pc": [
- 84
- ]
- },
- {
- "teal": 63,
- "source": 923,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 64,
- "source": 923,
- "pc": [
- 87
- ]
- },
- {
- "teal": 65,
- "source": 923,
- "pc": [
- 88
- ]
- },
- {
- "teal": 66,
- "source": 923,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 67,
- "source": 923,
- "pc": [
- 91
- ]
- },
- {
- "teal": 68,
- "source": 923,
- "pc": [
- 92
- ]
- },
- {
- "teal": 69,
- "source": 923,
- "pc": [
- 93
- ]
- },
- {
- "teal": 70,
- "source": 923,
- "pc": [
- 94
- ]
- },
- {
- "teal": 71,
- "source": 923,
- "pc": [
- 95
- ]
- },
- {
- "teal": 72,
- "source": 923,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 73,
- "source": 923,
- "pc": [
- 98
- ]
- },
- {
- "teal": 74,
- "source": 923,
- "pc": [
- 99
- ]
- },
- {
- "teal": 75,
- "source": 923,
- "pc": [
- 100
- ]
- },
- {
- "teal": 76,
- "source": 923,
- "pc": [
- 101
- ]
- },
- {
- "teal": 77,
- "source": 923,
- "pc": [
- 102
- ]
- },
- {
- "teal": 78,
- "source": 923,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 82,
- "source": 925,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 83,
- "source": 925,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 84,
- "source": 925,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 85,
- "source": 925,
- "pc": [
- 111
- ]
- },
- {
- "teal": 86,
- "source": 925,
- "pc": [
- 112
- ]
- },
- {
- "teal": 89,
- "source": 922,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 90,
- "source": 922,
- "pc": [
- 115
- ]
- },
- {
- "teal": 93,
- "source": 921,
- "pc": [
- 116
- ]
- },
- {
- "teal": 94,
- "source": 921,
- "pc": [
- 117
- ]
- },
- {
- "teal": 97,
- "source": 921,
- "pc": [
- 118,
- 119,
- 120,
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 98,
- "source": 921,
- "pc": [
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 99,
- "source": 921,
- "pc": [
- 127,
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 102,
- "source": 921,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 131
- ]
- },
- {
- "teal": 105,
- "source": 921,
- "pc": [
- 132,
- 133,
- 134,
- 135,
- 136,
- 137
- ]
- },
- {
- "teal": 106,
- "source": 921,
- "pc": [
- 138,
- 139,
- 140
- ]
- },
- {
- "teal": 107,
- "source": 921,
- "pc": [
- 141,
- 142,
- 143,
- 144
- ]
- },
- {
- "teal": 110,
- "source": 921,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 145
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 921,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 921,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 921,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 921,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 921,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 921,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 921,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 921,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 921,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 922,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 922,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 922,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 922,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 922,
+ "pc": [
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 922,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 922,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 922,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 922,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 922,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 922,
+ "pc": [
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 922,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 923,
+ "pc": [
+ 67,
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 923,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 923,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 923,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 923,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 923,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 923,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 923,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 923,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 923,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 923,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 923,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 923,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 923,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 923,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 923,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 923,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 923,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 923,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 923,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 923,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 923,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 923,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 923,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 923,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 923,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 923,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 923,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 923,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 925,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 925,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 925,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 925,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 925,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 922,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 922,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 921,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 921,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 921,
+ "pc": [
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 921,
+ "pc": [
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 921,
+ "pc": [
+ 127,
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 921,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 921,
+ "pc": [
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 921,
+ "pc": [
+ 138,
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 921,
+ "pc": [
+ 141,
+ 142,
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 921,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 145
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5QWNjZXNzKClib29sCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheUFjY2VzcwoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKTogYm9vbGVhbgpzdGF0aWNCb29sQXJyYXlBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MjMKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTI1CgkvLyByZXR1cm4gYVs4XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQm9vbEFycmF5QWNjZXNzKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5QWNjZXNzKClib29sCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheUFjY2VzcwoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKTogYm9vbGVhbgpzdGF0aWNCb29sQXJyYXlBY2Nlc3M6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MjMKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTI1CgkvLyByZXR1cm4gYVs4XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQm9vbEFycmF5QWNjZXNzKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.approval.teal b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.approval.teal
index 55cab87cf..d582b7eeb 100644
--- a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc32.json b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc32.json
index 19e05cc5e..891c8e2b1 100644
--- a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5VXBkYXRlKClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheVVwZGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheVVwZGF0ZSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXlVcGRhdGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDcKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTQ5CgkvLyBhWzhdID0gdHJ1ZQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1MQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQm9vbEFycmF5VXBkYXRlKClib29sWzldIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5VXBkYXRlKClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheVVwZGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheVVwZGF0ZSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXlVcGRhdGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDcKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTQ5CgkvLyBhWzhdID0gdHJ1ZQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1MQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQm9vbEFycmF5VXBkYXRlKClib29sWzldIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc56_draft.json
index 4b3d82f5f..46bbeef45 100644
--- a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc56_draft.json
@@ -60,553 +60,556 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 945,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 945,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 945,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 945,
- "pc": [
- 10
- ]
- },
- {
- "teal": 16,
- "source": 945,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 945,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 945,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 945,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 945,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 946,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 946,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 946,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 946,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 946,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 946,
- "pc": [
- 54
- ]
- },
- {
- "teal": 39,
- "source": 946,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 42,
- "source": 946,
- "pc": [
- 58,
- 59
- ]
- },
- {
- "teal": 46,
- "source": 947,
- "pc": [
- 60,
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 47,
- "source": 947,
- "pc": [
- 64
- ]
- },
- {
- "teal": 48,
- "source": 947,
- "pc": [
- 65
- ]
- },
- {
- "teal": 49,
- "source": 947,
- "pc": [
- 66
- ]
- },
- {
- "teal": 50,
- "source": 947,
- "pc": [
- 67
- ]
- },
- {
- "teal": 51,
- "source": 947,
- "pc": [
- 68
- ]
- },
- {
- "teal": 52,
- "source": 947,
- "pc": [
- 69
- ]
- },
- {
- "teal": 53,
- "source": 947,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 54,
- "source": 947,
- "pc": [
- 72
- ]
- },
- {
- "teal": 55,
- "source": 947,
- "pc": [
- 73
- ]
- },
- {
- "teal": 56,
- "source": 947,
- "pc": [
- 74,
- 75
- ]
- },
- {
- "teal": 57,
- "source": 947,
- "pc": [
- 76
- ]
- },
- {
- "teal": 58,
- "source": 947,
- "pc": [
- 77
- ]
- },
- {
- "teal": 59,
- "source": 947,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 60,
- "source": 947,
- "pc": [
- 80
- ]
- },
- {
- "teal": 61,
- "source": 947,
- "pc": [
- 81
- ]
- },
- {
- "teal": 62,
- "source": 947,
- "pc": [
- 82,
- 83
- ]
- },
- {
- "teal": 63,
- "source": 947,
- "pc": [
- 84
- ]
- },
- {
- "teal": 64,
- "source": 947,
- "pc": [
- 85
- ]
- },
- {
- "teal": 65,
- "source": 947,
- "pc": [
- 86
- ]
- },
- {
- "teal": 66,
- "source": 947,
- "pc": [
- 87
- ]
- },
- {
- "teal": 67,
- "source": 947,
- "pc": [
- 88
- ]
- },
- {
- "teal": 68,
- "source": 947,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 69,
- "source": 947,
- "pc": [
- 91
- ]
- },
- {
- "teal": 70,
- "source": 947,
- "pc": [
- 92
- ]
- },
- {
- "teal": 71,
- "source": 947,
- "pc": [
- 93
- ]
- },
- {
- "teal": 72,
- "source": 947,
- "pc": [
- 94
- ]
- },
- {
- "teal": 73,
- "source": 947,
- "pc": [
- 95
- ]
- },
- {
- "teal": 74,
- "source": 947,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 78,
- "source": 949,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 79,
- "source": 949,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 80,
- "source": 949,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 81,
- "source": 949,
- "pc": [
- 104
- ]
- },
- {
- "teal": 82,
- "source": 949,
- "pc": [
- 105
- ]
- },
- {
- "teal": 83,
- "source": 949,
- "pc": [
- 106
- ]
- },
- {
- "teal": 84,
- "source": 949,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 88,
- "source": 951,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 91,
- "source": 946,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 92,
- "source": 946,
- "pc": [
- 113
- ]
- },
- {
- "teal": 95,
- "source": 945,
- "pc": [
- 114
- ]
- },
- {
- "teal": 96,
- "source": 945,
- "pc": [
- 115
- ]
- },
- {
- "teal": 99,
- "source": 945,
- "pc": [
- 116,
- 117,
- 118,
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 100,
- "source": 945,
- "pc": [
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 101,
- "source": 945,
- "pc": [
- 125,
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 104,
- "source": 945,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 129
- ]
- },
- {
- "teal": 107,
- "source": 945,
- "pc": [
- 130,
- 131,
- 132,
- 133,
- 134,
- 135
- ]
- },
- {
- "teal": 108,
- "source": 945,
- "pc": [
- 136,
- 137,
- 138
- ]
- },
- {
- "teal": 109,
- "source": 945,
- "pc": [
- 139,
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 112,
- "source": 945,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 143
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 945,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 945,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 945,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 945,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 945,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 945,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 945,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 945,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 945,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 946,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 946,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 946,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 946,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 946,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 946,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 946,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 946,
+ "pc": [
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 947,
+ "pc": [
+ 60,
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 947,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 947,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 947,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 947,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 947,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 947,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 947,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 947,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 947,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 947,
+ "pc": [
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 947,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 947,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 947,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 947,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 947,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 947,
+ "pc": [
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 947,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 947,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 947,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 947,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 947,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 947,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 947,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 947,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 947,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 947,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 947,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 947,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 949,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 949,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 949,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 949,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 949,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 949,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 949,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 951,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 946,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 946,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 945,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 945,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 945,
+ "pc": [
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 945,
+ "pc": [
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 945,
+ "pc": [
+ 125,
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 945,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 945,
+ "pc": [
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 945,
+ "pc": [
+ 136,
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 945,
+ "pc": [
+ 139,
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 945,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 143
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5VXBkYXRlKClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheVVwZGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheVVwZGF0ZSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXlVcGRhdGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDcKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTQ5CgkvLyBhWzhdID0gdHJ1ZQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1MQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQm9vbEFycmF5VXBkYXRlKClib29sWzldIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5VXBkYXRlKClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheVVwZGF0ZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheVVwZGF0ZSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXlVcGRhdGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDcKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCWJ5dGUgMHgwMDAwCglpbnQgMAoJaW50IDEKCXNldGJpdAoJaW50IDEKCWludCAwCglzZXRiaXQKCWludCAyCglpbnQgMQoJc2V0Yml0CglpbnQgMwoJaW50IDEKCXNldGJpdAoJaW50IDQKCWludCAwCglzZXRiaXQKCWludCA1CglpbnQgMAoJc2V0Yml0CglpbnQgNgoJaW50IDEKCXNldGJpdAoJaW50IDcKCWludCAwCglzZXRiaXQKCWludCA4CglpbnQgMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTQ5CgkvLyBhWzhdID0gdHJ1ZQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgOAoJaW50IDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1MQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljQm9vbEFycmF5VXBkYXRlKClib29sWzldIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticByteCasting.approval.teal b/tests/contracts/artifacts/ABITestStaticByteCasting.approval.teal
index 21a64e08a..5b2b8eb69 100644
--- a/tests/contracts/artifacts/ABITestStaticByteCasting.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticByteCasting.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticByteCasting.arc32.json b/tests/contracts/artifacts/ABITestStaticByteCasting.arc32.json
index 0f12f05ef..a10eb7c2b 100644
--- a/tests/contracts/artifacts/ABITestStaticByteCasting.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticByteCasting.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCeXRlQ2FzdGluZygpYnl0ZVs1XQoqYWJpX3JvdXRlX3N0YXRpY0J5dGVDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdCgljYWxsc3ViIHN0YXRpY0J5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKTogYnl0ZXM8NT4Kc3RhdGljQnl0ZUNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA0MQoJLy8gcmV0dXJuICdhYmMnIGFzIGJ5dGVzPDU+OwoJYnl0ZSAweDYxNjI2MzAwMDAgLy8gImFiYyIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCeXRlQ2FzdGluZygpYnl0ZVs1XQoqYWJpX3JvdXRlX3N0YXRpY0J5dGVDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdCgljYWxsc3ViIHN0YXRpY0J5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKTogYnl0ZXM8NT4Kc3RhdGljQnl0ZUNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA0MQoJLy8gcmV0dXJuICdhYmMnIGFzIGJ5dGVzPDU+OwoJYnl0ZSAweDYxNjI2MzAwMDAgLy8gImFiYyIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticByteCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticByteCasting.arc56_draft.json
index 4d0c4c2bf..ac5f3d627 100644
--- a/tests/contracts/artifacts/ABITestStaticByteCasting.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticByteCasting.arc56_draft.json
@@ -60,275 +60,278 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1039,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1039,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1039,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1039,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1039,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1039,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1039,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1039,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1039,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1040,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1040,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1040,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1040,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1040,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1040,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 1040,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 43,
- "source": 1041,
- "pc": [
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 44,
- "source": 1040,
- "pc": [
- 63
- ]
- },
- {
- "teal": 47,
- "source": 1039,
- "pc": [
- 64
- ]
- },
- {
- "teal": 48,
- "source": 1039,
- "pc": [
- 65
- ]
- },
- {
- "teal": 51,
- "source": 1039,
- "pc": [
- 66,
- 67,
- 68,
- 69,
- 70,
- 71
- ]
- },
- {
- "teal": 52,
- "source": 1039,
- "pc": [
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 53,
- "source": 1039,
- "pc": [
- 75,
- 76,
- 77,
- 78
- ]
- },
- {
- "teal": 56,
- "source": 1039,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 79
- ]
- },
- {
- "teal": 59,
- "source": 1039,
- "pc": [
- 80,
- 81,
- 82,
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 60,
- "source": 1039,
- "pc": [
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 61,
- "source": 1039,
- "pc": [
- 89,
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 64,
- "source": 1039,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 93
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1039,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1039,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1039,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1039,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1039,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1039,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1039,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1039,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1039,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1040,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1040,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1040,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1040,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1040,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1040,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1040,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1041,
+ "pc": [
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1040,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1039,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1039,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1039,
+ "pc": [
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1039,
+ "pc": [
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1039,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1039,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1039,
+ "pc": [
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1039,
+ "pc": [
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1039,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1039,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 93
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCeXRlQ2FzdGluZygpYnl0ZVs1XQoqYWJpX3JvdXRlX3N0YXRpY0J5dGVDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdCgljYWxsc3ViIHN0YXRpY0J5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKTogYnl0ZXM8NT4Kc3RhdGljQnl0ZUNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA0MQoJLy8gcmV0dXJuICdhYmMnIGFzIGJ5dGVzPDU+OwoJYnl0ZSAweDYxNjI2MzAwMDAgLy8gImFiYyIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCeXRlQ2FzdGluZygpYnl0ZVs1XQoqYWJpX3JvdXRlX3N0YXRpY0J5dGVDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdCgljYWxsc3ViIHN0YXRpY0J5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKTogYnl0ZXM8NT4Kc3RhdGljQnl0ZUNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA0MQoJLy8gcmV0dXJuICdhYmMnIGFzIGJ5dGVzPDU+OwoJYnl0ZSAweDYxNjI2MzAwMDAgLy8gImFiYyIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticForEach.approval.teal b/tests/contracts/artifacts/ABITestStaticForEach.approval.teal
index d48ef5cc9..bbfc732b2 100644
--- a/tests/contracts/artifacts/ABITestStaticForEach.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticForEach.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticForEach.arc32.json b/tests/contracts/artifacts/ABITestStaticForEach.arc32.json
index 05ababd8b..d56b1201b 100644
--- a/tests/contracts/artifacts/ABITestStaticForEach.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticForEach.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNGb3JFYWNoKCl1aW50NjQKKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljRm9yRWFjaCgpOiB1aW50NjQKc3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOQoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzExCgkvLyBhLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWR1cAoJZnJhbWVfYnVyeSAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxMgoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMyAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxNAoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljRm9yRWFjaCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNGb3JFYWNoKCl1aW50NjQKKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljRm9yRWFjaCgpOiB1aW50NjQKc3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOQoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzExCgkvLyBhLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWR1cAoJZnJhbWVfYnVyeSAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxMgoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMyAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxNAoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljRm9yRWFjaCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticForEach.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticForEach.arc56_draft.json
index bc5ff5ca1..3cab71dc2 100644
--- a/tests/contracts/artifacts/ABITestStaticForEach.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticForEach.arc56_draft.json
@@ -60,574 +60,577 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1306,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 1306,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 1306,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 1306,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 1306,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 1306,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 1306,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 1306,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 1306,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 1307,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 1307,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 1307,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 1307,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 1307,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 1307,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 1307,
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 1307,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1307,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 44,
- "source": 1307,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 48,
- "source": 1308,
- "pc": [
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 49,
- "source": 1308,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 53,
- "source": 1309,
- "pc": [
- 91
- ]
- },
- {
- "teal": 54,
- "source": 1309,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 58,
- "source": 1311,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 59,
- "source": 1311,
- "pc": [
- 96
- ]
- },
- {
- "teal": 60,
- "source": 1311,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 61,
- "source": 1311,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 62,
- "source": 1311,
- "pc": [
- 102
- ]
- },
- {
- "teal": 63,
- "source": 1311,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 64,
- "source": 1311,
- "pc": [
- 105
- ]
- },
- {
- "teal": 65,
- "source": 1311,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 70,
- "source": 1312,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 71,
- "source": 1312,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 72,
- "source": 1312,
- "pc": [
- 112
- ]
- },
- {
- "teal": 73,
- "source": 1312,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 76,
- "source": 1311,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 77,
- "source": 1311,
- "pc": [
- 117
- ]
- },
- {
- "teal": 78,
- "source": 1311,
- "pc": [
- 118
- ]
- },
- {
- "teal": 79,
- "source": 1311,
- "pc": [
- 119
- ]
- },
- {
- "teal": 80,
- "source": 1311,
- "pc": [
- 120,
- 121
- ]
- },
- {
- "teal": 81,
- "source": 1311,
- "pc": [
- 122
- ]
- },
- {
- "teal": 82,
- "source": 1311,
- "pc": [
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 83,
- "source": 1311,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 84,
- "source": 1311,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 85,
- "source": 1311,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 86,
- "source": 1311,
- "pc": [
- 132
- ]
- },
- {
- "teal": 87,
- "source": 1311,
- "pc": [
- 133
- ]
- },
- {
- "teal": 88,
- "source": 1311,
- "pc": [
- 134
- ]
- },
- {
- "teal": 89,
- "source": 1311,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 90,
- "source": 1311,
- "pc": [
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 95,
- "source": 1314,
- "pc": [
- 140,
- 141
- ]
- },
- {
- "teal": 98,
- "source": 1307,
- "pc": [
- 142,
- 143
- ]
- },
- {
- "teal": 101,
- "source": 1307,
- "pc": [
- 144,
- 145
- ]
- },
- {
- "teal": 102,
- "source": 1307,
- "pc": [
- 146
- ]
- },
- {
- "teal": 105,
- "source": 1306,
- "pc": [
- 147
- ]
- },
- {
- "teal": 106,
- "source": 1306,
- "pc": [
- 148
- ]
- },
- {
- "teal": 109,
- "source": 1306,
- "pc": [
- 149,
- 150,
- 151,
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 110,
- "source": 1306,
- "pc": [
- 155,
- 156,
- 157
- ]
- },
- {
- "teal": 111,
- "source": 1306,
- "pc": [
- 158,
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 114,
- "source": 1306,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 162
- ]
- },
- {
- "teal": 117,
- "source": 1306,
- "pc": [
- 163,
- 164,
- 165,
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 118,
- "source": 1306,
- "pc": [
- 169,
- 170,
- 171
- ]
- },
- {
- "teal": 119,
- "source": 1306,
- "pc": [
- 172,
- 173,
- 174,
- 175
- ]
- },
- {
- "teal": 122,
- "source": 1306,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 176
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1306,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1306,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1306,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1306,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1306,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1306,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1306,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1306,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1306,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1307,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1307,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1307,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1307,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1307,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1307,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1307,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1307,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1307,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1307,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1308,
+ "pc": [
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1308,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1309,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1309,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1311,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1311,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1311,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1311,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1311,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1311,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1311,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1311,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1312,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1312,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1312,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1312,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1311,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1311,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1311,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1311,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1311,
+ "pc": [
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1311,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1311,
+ "pc": [
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1311,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1311,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1311,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1311,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1311,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1311,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1311,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1311,
+ "pc": [
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1314,
+ "pc": [
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1307,
+ "pc": [
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 1307,
+ "pc": [
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 1307,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 1306,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1306,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 1306,
+ "pc": [
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1306,
+ "pc": [
+ 155,
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1306,
+ "pc": [
+ 158,
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 1306,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 1306,
+ "pc": [
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 1306,
+ "pc": [
+ 169,
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 1306,
+ "pc": [
+ 172,
+ 173,
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 1306,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 176
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNGb3JFYWNoKCl1aW50NjQKKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljRm9yRWFjaCgpOiB1aW50NjQKc3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOQoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzExCgkvLyBhLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWR1cAoJZnJhbWVfYnVyeSAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxMgoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMyAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxNAoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljRm9yRWFjaCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNGb3JFYWNoKCl1aW50NjQKKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljRm9yRWFjaCgpOiB1aW50NjQKc3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOQoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzExCgkvLyBhLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWR1cAoJZnJhbWVfYnVyeSAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWludCAwCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxMgoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMyAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJKwoJZHVwCglpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxNAoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RhdGljRm9yRWFjaCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticForOf.approval.teal b/tests/contracts/artifacts/ABITestStaticForOf.approval.teal
index 5ed0c99fb..4d635ce0a 100644
--- a/tests/contracts/artifacts/ABITestStaticForOf.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticForOf.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticForOf.arc32.json b/tests/contracts/artifacts/ABITestStaticForOf.arc32.json
index 182c523f4..762da30c4 100644
--- a/tests/contracts/artifacts/ABITestStaticForOf.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticForOf.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNGb3JPZigpdWludDY0CiphYmlfcm91dGVfc3RhdGljRm9yT2Y6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljRm9yT2YoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JPZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Zvck9mKCk6IHVpbnQ2NApzdGF0aWNGb3JPZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1OAoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMyAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKKmZvck9mXzBfY29udGludWU6CgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCSsKCWR1cAoJaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0Zvck9mKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Zvck9mCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNGb3JPZigpdWludDY0CiphYmlfcm91dGVfc3RhdGljRm9yT2Y6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljRm9yT2YoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JPZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Zvck9mKCk6IHVpbnQ2NApzdGF0aWNGb3JPZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1OAoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMyAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKKmZvck9mXzBfY29udGludWU6CgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCSsKCWR1cAoJaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0Zvck9mKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Zvck9mCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticForOf.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticForOf.arc56_draft.json
index 7b99a94fe..7c4ff6ad6 100644
--- a/tests/contracts/artifacts/ABITestStaticForOf.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticForOf.arc56_draft.json
@@ -60,574 +60,577 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1451,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 1451,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 1451,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 1451,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 1451,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 1451,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 1451,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 1451,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 1451,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 1452,
- "pc": [
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 31,
- "source": 1452,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 1452,
- "pc": [
- 51
- ]
- },
- {
- "teal": 33,
- "source": 1452,
- "pc": [
- 52
- ]
- },
- {
- "teal": 34,
- "source": 1452,
- "pc": [
- 53
- ]
- },
- {
- "teal": 35,
- "source": 1452,
- "pc": [
- 54
- ]
- },
- {
- "teal": 36,
- "source": 1452,
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 1452,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1452,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 44,
- "source": 1452,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 48,
- "source": 1453,
- "pc": [
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 49,
- "source": 1453,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 53,
- "source": 1454,
- "pc": [
- 91
- ]
- },
- {
- "teal": 54,
- "source": 1454,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 55,
- "source": 1457,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 56,
- "source": 1457,
- "pc": [
- 96
- ]
- },
- {
- "teal": 57,
- "source": 1457,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 58,
- "source": 1457,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 59,
- "source": 1457,
- "pc": [
- 102
- ]
- },
- {
- "teal": 60,
- "source": 1457,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 61,
- "source": 1457,
- "pc": [
- 105
- ]
- },
- {
- "teal": 62,
- "source": 1457,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 67,
- "source": 1458,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 68,
- "source": 1458,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 69,
- "source": 1458,
- "pc": [
- 112
- ]
- },
- {
- "teal": 70,
- "source": 1458,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 74,
- "source": 1457,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 75,
- "source": 1457,
- "pc": [
- 117
- ]
- },
- {
- "teal": 76,
- "source": 1457,
- "pc": [
- 118
- ]
- },
- {
- "teal": 77,
- "source": 1457,
- "pc": [
- 119
- ]
- },
- {
- "teal": 78,
- "source": 1457,
- "pc": [
- 120,
- 121
- ]
- },
- {
- "teal": 79,
- "source": 1457,
- "pc": [
- 122
- ]
- },
- {
- "teal": 80,
- "source": 1457,
- "pc": [
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 81,
- "source": 1457,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 82,
- "source": 1457,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 83,
- "source": 1457,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 84,
- "source": 1457,
- "pc": [
- 132
- ]
- },
- {
- "teal": 85,
- "source": 1457,
- "pc": [
- 133
- ]
- },
- {
- "teal": 86,
- "source": 1457,
- "pc": [
- 134
- ]
- },
- {
- "teal": 87,
- "source": 1457,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 88,
- "source": 1457,
- "pc": [
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 93,
- "source": 1460,
- "pc": [
- 140,
- 141
- ]
- },
- {
- "teal": 96,
- "source": 1452,
- "pc": [
- 142,
- 143
- ]
- },
- {
- "teal": 99,
- "source": 1452,
- "pc": [
- 144,
- 145
- ]
- },
- {
- "teal": 100,
- "source": 1452,
- "pc": [
- 146
- ]
- },
- {
- "teal": 103,
- "source": 1451,
- "pc": [
- 147
- ]
- },
- {
- "teal": 104,
- "source": 1451,
- "pc": [
- 148
- ]
- },
- {
- "teal": 107,
- "source": 1451,
- "pc": [
- 149,
- 150,
- 151,
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 108,
- "source": 1451,
- "pc": [
- 155,
- 156,
- 157
- ]
- },
- {
- "teal": 109,
- "source": 1451,
- "pc": [
- 158,
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 112,
- "source": 1451,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 162
- ]
- },
- {
- "teal": 115,
- "source": 1451,
- "pc": [
- 163,
- 164,
- 165,
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 116,
- "source": 1451,
- "pc": [
- 169,
- 170,
- 171
- ]
- },
- {
- "teal": 117,
- "source": 1451,
- "pc": [
- 172,
- 173,
- 174,
- 175
- ]
- },
- {
- "teal": 120,
- "source": 1451,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 176
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1451,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1451,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1451,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1451,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1451,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1451,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1451,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1451,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1451,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1452,
+ "pc": [
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1452,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1452,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1452,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1452,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1452,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1452,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1452,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1452,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1452,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1453,
+ "pc": [
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1453,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1454,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1454,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1457,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1457,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1457,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1457,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1457,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1457,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1457,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1457,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1458,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1458,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1458,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1458,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1457,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1457,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1457,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1457,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1457,
+ "pc": [
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1457,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1457,
+ "pc": [
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1457,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1457,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1457,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1457,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1457,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1457,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1457,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1457,
+ "pc": [
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1460,
+ "pc": [
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1452,
+ "pc": [
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1452,
+ "pc": [
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1452,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1451,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 1451,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 1451,
+ "pc": [
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 1451,
+ "pc": [
+ 155,
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 1451,
+ "pc": [
+ 158,
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 1451,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 1451,
+ "pc": [
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 1451,
+ "pc": [
+ 169,
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 1451,
+ "pc": [
+ 172,
+ 173,
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 1451,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 176
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNGb3JPZigpdWludDY0CiphYmlfcm91dGVfc3RhdGljRm9yT2Y6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljRm9yT2YoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JPZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Zvck9mKCk6IHVpbnQ2NApzdGF0aWNGb3JPZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1OAoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMyAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKKmZvck9mXzBfY29udGludWU6CgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCSsKCWR1cAoJaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0Zvck9mKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Zvck9mCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNGb3JPZigpdWludDY0CiphYmlfcm91dGVfc3RhdGljRm9yT2Y6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljRm9yT2YoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JPZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY0Zvck9mKCk6IHVpbnQ2NApzdGF0aWNGb3JPZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1NAoJLy8gc3VtID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50IDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvck9mXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1OAoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMyAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKKmZvck9mXzBfY29udGludWU6CgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50IDgKCSsKCWR1cAoJaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnQgOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY0Zvck9mKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Zvck9mCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticStringArrayArg.approval.teal b/tests/contracts/artifacts/ABITestStaticStringArrayArg.approval.teal
index 6b9201089..1ca58d202 100644
--- a/tests/contracts/artifacts/ABITestStaticStringArrayArg.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticStringArrayArg.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc32.json b/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc32.json
index c0b193728..b5da4a17c 100644
--- a/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCiphYmlfcm91dGVfc3RhdGljU3RyaW5nQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHN0cmluZ1szXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoKCS8vIGV4ZWN1dGUgc3RhdGljU3RyaW5nQXJyYXlBcmcoc3RyaW5nWzNdKXN0cmluZwoJY2FsbHN1YiBzdGF0aWNTdHJpbmdBcnJheUFyZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+KTogc3RyaW5nCnN0YXRpY1N0cmluZ0FycmF5QXJnOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY0NQoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY1N0cmluZ0FycmF5QXJnKHN0cmluZ1szXSlzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY1N0cmluZ0FycmF5QXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCiphYmlfcm91dGVfc3RhdGljU3RyaW5nQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHN0cmluZ1szXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoKCS8vIGV4ZWN1dGUgc3RhdGljU3RyaW5nQXJyYXlBcmcoc3RyaW5nWzNdKXN0cmluZwoJY2FsbHN1YiBzdGF0aWNTdHJpbmdBcnJheUFyZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+KTogc3RyaW5nCnN0YXRpY1N0cmluZ0FycmF5QXJnOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY0NQoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY1N0cmluZ0FycmF5QXJnKHN0cmluZ1szXSlzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY1N0cmluZ0FycmF5QXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc56_draft.json
index b0e6e7071..e9004c285 100644
--- a/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc56_draft.json
@@ -65,443 +65,446 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 643,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4
- ]
- },
- {
- "teal": 13,
- "source": 643,
- "pc": [
- 5,
- 6
- ]
- },
- {
- "teal": 14,
- "source": 643,
- "pc": [
- 7
- ]
- },
- {
- "teal": 15,
- "source": 643,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 16,
- "source": 643,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 643,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 643,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 643,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 643,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 644,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 644,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 34,
- "source": 644,
- "pc": [
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 644,
- "pc": [
- 53
- ]
- },
- {
- "teal": 36,
- "source": 644,
- "pc": [
- 54
- ]
- },
- {
- "teal": 37,
- "source": 644,
- "pc": [
- 55
- ]
- },
- {
- "teal": 38,
- "source": 644,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 39,
- "source": 644,
- "pc": [
- 59
- ]
- },
- {
- "teal": 40,
- "source": 644,
- "pc": [
- 60
- ]
- },
- {
- "teal": 41,
- "source": 644,
- "pc": [
- 61
- ]
- },
- {
- "teal": 42,
- "source": 644,
- "pc": [
- 62
- ]
- },
- {
- "teal": 43,
- "source": 644,
- "pc": [
- 63
- ]
- },
- {
- "teal": 44,
- "source": 644,
- "pc": [
- 64
- ]
- },
- {
- "teal": 48,
- "source": 644,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 52,
- "source": 645,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 53,
- "source": 645,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 54,
- "source": 645,
- "pc": [
- 72
- ]
- },
- {
- "teal": 55,
- "source": 645,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 56,
- "source": 645,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 57,
- "source": 645,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 58,
- "source": 645,
- "pc": [
- 79
- ]
- },
- {
- "teal": 59,
- "source": 645,
- "pc": [
- 80
- ]
- },
- {
- "teal": 60,
- "source": 645,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 61,
- "source": 645,
- "pc": [
- 83
- ]
- },
- {
- "teal": 62,
- "source": 645,
- "pc": [
- 84
- ]
- },
- {
- "teal": 63,
- "source": 645,
- "pc": [
- 85
- ]
- },
- {
- "teal": 64,
- "source": 645,
- "pc": [
- 86
- ]
- },
- {
- "teal": 65,
- "source": 645,
- "pc": [
- 87
- ]
- },
- {
- "teal": 66,
- "source": 645,
- "pc": [
- 88
- ]
- },
- {
- "teal": 67,
- "source": 645,
- "pc": [
- 89
- ]
- },
- {
- "teal": 68,
- "source": 645,
- "pc": [
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 69,
- "source": 644,
- "pc": [
- 93
- ]
- },
- {
- "teal": 72,
- "source": 643,
- "pc": [
- 94
- ]
- },
- {
- "teal": 73,
- "source": 643,
- "pc": [
- 95
- ]
- },
- {
- "teal": 76,
- "source": 643,
- "pc": [
- 96,
- 97,
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 77,
- "source": 643,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 78,
- "source": 643,
- "pc": [
- 105,
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 81,
- "source": 643,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 109
- ]
- },
- {
- "teal": 84,
- "source": 643,
- "pc": [
- 110,
- 111,
- 112,
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 85,
- "source": 643,
- "pc": [
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 86,
- "source": 643,
- "pc": [
- 119,
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 89,
- "source": 643,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 123
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 643,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 643,
+ "pc": [
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 643,
+ "pc": [
+ 7
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 643,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 643,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 643,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 643,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 643,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 643,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 644,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 644,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 644,
+ "pc": [
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 644,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 644,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 644,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 644,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 644,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 644,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 644,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 644,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 644,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 644,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 644,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 645,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 645,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 645,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 645,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 645,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 645,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 645,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 645,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 645,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 645,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 645,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 645,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 645,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 645,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 645,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 645,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 645,
+ "pc": [
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 644,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 643,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 643,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 643,
+ "pc": [
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 643,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 643,
+ "pc": [
+ 105,
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 643,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 643,
+ "pc": [
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 643,
+ "pc": [
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 643,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 643,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 123
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCiphYmlfcm91dGVfc3RhdGljU3RyaW5nQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHN0cmluZ1szXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoKCS8vIGV4ZWN1dGUgc3RhdGljU3RyaW5nQXJyYXlBcmcoc3RyaW5nWzNdKXN0cmluZwoJY2FsbHN1YiBzdGF0aWNTdHJpbmdBcnJheUFyZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+KTogc3RyaW5nCnN0YXRpY1N0cmluZ0FycmF5QXJnOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY0NQoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY1N0cmluZ0FycmF5QXJnKHN0cmluZ1szXSlzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY1N0cmluZ0FycmF5QXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCiphYmlfcm91dGVfc3RhdGljU3RyaW5nQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHN0cmluZ1szXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoKCS8vIGV4ZWN1dGUgc3RhdGljU3RyaW5nQXJyYXlBcmcoc3RyaW5nWzNdKXN0cmluZwoJY2FsbHN1YiBzdGF0aWNTdHJpbmdBcnJheUFyZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+KTogc3RyaW5nCnN0YXRpY1N0cmluZ0FycmF5QXJnOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY0NQoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY1N0cmluZ0FycmF5QXJnKHN0cmluZ1szXSlzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY1N0cmluZ0FycmF5QXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStaticTypeInBox.approval.teal b/tests/contracts/artifacts/ABITestStaticTypeInBox.approval.teal
index 7f7a4d5b6..f8c9e78ae 100644
--- a/tests/contracts/artifacts/ABITestStaticTypeInBox.approval.teal
+++ b/tests/contracts/artifacts/ABITestStaticTypeInBox.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStaticTypeInBox.arc32.json b/tests/contracts/artifacts/ABITestStaticTypeInBox.arc32.json
index caa034233..4b24288a2 100644
--- a/tests/contracts/artifacts/ABITestStaticTypeInBox.arc32.json
+++ b/tests/contracts/artifacts/ABITestStaticTypeInBox.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNUeXBlSW5Cb3goKXZvaWQKKmFiaV9yb3V0ZV9zdGF0aWNUeXBlSW5Cb3g6CgkvLyBleGVjdXRlIHN0YXRpY1R5cGVJbkJveCgpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlSW5Cb3gKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY1R5cGVJbkJveCgpOiB2b2lkCnN0YXRpY1R5cGVJbkJveDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTM1CgkvLyB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJdHhuIFNlbmRlcgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTM2CgkvLyBhc3NlcnQodGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUuaXNJbkxlZGdlcikKCXR4biBTZW5kZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCglhc3NlcnQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY1R5cGVJbkJveCgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljVHlwZUluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNUeXBlSW5Cb3goKXZvaWQKKmFiaV9yb3V0ZV9zdGF0aWNUeXBlSW5Cb3g6CgkvLyBleGVjdXRlIHN0YXRpY1R5cGVJbkJveCgpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlSW5Cb3gKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY1R5cGVJbkJveCgpOiB2b2lkCnN0YXRpY1R5cGVJbkJveDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTM1CgkvLyB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJdHhuIFNlbmRlcgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTM2CgkvLyBhc3NlcnQodGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUuaXNJbkxlZGdlcikKCXR4biBTZW5kZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCglhc3NlcnQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY1R5cGVJbkJveCgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljVHlwZUluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStaticTypeInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticTypeInBox.arc56_draft.json
index e8cebcc42..4346390b0 100644
--- a/tests/contracts/artifacts/ABITestStaticTypeInBox.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStaticTypeInBox.arc56_draft.json
@@ -65,311 +65,314 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1531,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1531,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1531,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1531,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1531,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1531,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1531,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1531,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1531,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1534,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 29,
- "source": 1534,
- "pc": [
- 43
- ]
- },
- {
- "teal": 30,
- "source": 1534,
- "pc": [
- 44
- ]
- },
- {
- "teal": 34,
- "source": 1534,
- "pc": [
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 38,
- "source": 1535,
- "pc": [
- 48,
- 49
- ]
- },
- {
- "teal": 39,
- "source": 1535,
- "pc": [
- 50,
- 51
- ]
- },
- {
- "teal": 40,
- "source": 1535,
- "pc": [
- 52
- ]
- },
- {
- "teal": 44,
- "source": 1536,
- "pc": [
- 53,
- 54
- ]
- },
- {
- "teal": 45,
- "source": 1536,
- "pc": [
- 55
- ]
- },
- {
- "teal": 48,
- "source": 1536,
- "errorMessage": "box value does not exist: this.bMap(this.txn.sender).value",
- "pc": [
- 56
- ]
- },
- {
- "teal": 49,
- "source": 1536,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 50,
- "source": 1536,
- "pc": [
- 59
- ]
- },
- {
- "teal": 51,
- "source": 1536,
- "pc": [
- 60
- ]
- },
- {
- "teal": 52,
- "source": 1536,
- "pc": [
- 61
- ]
- },
- {
- "teal": 53,
- "source": 1534,
- "pc": [
- 62
- ]
- },
- {
- "teal": 56,
- "source": 1531,
- "pc": [
- 63
- ]
- },
- {
- "teal": 57,
- "source": 1531,
- "pc": [
- 64
- ]
- },
- {
- "teal": 60,
- "source": 1531,
- "pc": [
- 65,
- 66,
- 67,
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 61,
- "source": 1531,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 62,
- "source": 1531,
- "pc": [
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 65,
- "source": 1531,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 78
- ]
- },
- {
- "teal": 68,
- "source": 1531,
- "pc": [
- 79,
- 80,
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 69,
- "source": 1531,
- "pc": [
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 70,
- "source": 1531,
- "pc": [
- 88,
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 73,
- "source": 1531,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 92
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1531,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1531,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1531,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1531,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1531,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1531,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1531,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1531,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1531,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1534,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 1534,
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 1534,
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1534,
+ "pc": [
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1535,
+ "pc": [
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1535,
+ "pc": [
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1535,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1536,
+ "pc": [
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1536,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1536,
+ "errorMessage": "box value does not exist: this.bMap(this.txn.sender).value",
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1536,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1536,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1536,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1536,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1534,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1531,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1531,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1531,
+ "pc": [
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1531,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1531,
+ "pc": [
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1531,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1531,
+ "pc": [
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1531,
+ "pc": [
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1531,
+ "pc": [
+ 88,
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1531,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 92
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNUeXBlSW5Cb3goKXZvaWQKKmFiaV9yb3V0ZV9zdGF0aWNUeXBlSW5Cb3g6CgkvLyBleGVjdXRlIHN0YXRpY1R5cGVJbkJveCgpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlSW5Cb3gKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY1R5cGVJbkJveCgpOiB2b2lkCnN0YXRpY1R5cGVJbkJveDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTM1CgkvLyB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJdHhuIFNlbmRlcgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTM2CgkvLyBhc3NlcnQodGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUuaXNJbkxlZGdlcikKCXR4biBTZW5kZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCglhc3NlcnQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY1R5cGVJbkJveCgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljVHlwZUluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNUeXBlSW5Cb3goKXZvaWQKKmFiaV9yb3V0ZV9zdGF0aWNUeXBlSW5Cb3g6CgkvLyBleGVjdXRlIHN0YXRpY1R5cGVJbkJveCgpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlSW5Cb3gKCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY1R5cGVJbkJveCgpOiB2b2lkCnN0YXRpY1R5cGVJbkJveDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTM1CgkvLyB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJdHhuIFNlbmRlcgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTM2CgkvLyBhc3NlcnQodGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUuaXNJbkxlZGdlcikKCXR4biBTZW5kZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCglhc3NlcnQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0YXRpY1R5cGVJbkJveCgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljVHlwZUluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.approval.teal b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.approval.teal
index 22609d459..85bbf856b 100644
--- a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.approval.teal
+++ b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc32.json b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc32.json
index 67980c118..1d62c1ee2 100644
--- a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc32.json
+++ b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94KCk6IHVpbnQ2NApzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NDQKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHRoaXMudHhuLnNlbmRlciwgYmFyOiB7IGJhejogMTMzNyB9IH0KCWJ5dGUgMHgwMDA0NjI0ZDYxNzAKCXR4biBTZW5kZXIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwNTM5Cgljb25jYXQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NQoJLy8gdiA9IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmJhci5iYXoKCWJ5dGUgMHgwMDA0NjI0ZDYxNzAKCWludCAzMgoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gdjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NDYKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDAgLy8gdjogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94KCk6IHVpbnQ2NApzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NDQKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHRoaXMudHhuLnNlbmRlciwgYmFyOiB7IGJhejogMTMzNyB9IH0KCWJ5dGUgMHgwMDA0NjI0ZDYxNzAKCXR4biBTZW5kZXIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwNTM5Cgljb25jYXQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NQoJLy8gdiA9IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmJhci5iYXoKCWJ5dGUgMHgwMDA0NjI0ZDYxNzAKCWludCAzMgoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gdjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NDYKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDAgLy8gdjogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc56_draft.json
index a64c690f7..3a95603d1 100644
--- a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc56_draft.json
@@ -34,12 +34,21 @@
56
],
"structs": {
- "{ foo: Address; bar: { baz: uint64 } }": {
- "foo": "address",
- "bar": {
- "baz": "uint64"
+ "{ foo: Address; bar: { baz: uint64 } }": [
+ {
+ "name": "foo",
+ "type": "address"
+ },
+ {
+ "name": "bar",
+ "type": [
+ {
+ "name": "baz",
+ "type": "uint64"
+ }
+ ]
}
- }
+ ]
},
"state": {
"schema": {
@@ -72,392 +81,395 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1540,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12
- ]
- },
- {
- "teal": 13,
- "source": 1540,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 14,
- "source": 1540,
- "pc": [
- 15
- ]
- },
- {
- "teal": 15,
- "source": 1540,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 16,
- "source": 1540,
- "pc": [
- 18
- ]
- },
- {
- "teal": 17,
- "source": 1540,
- "pc": [
- 19,
- 20
- ]
- },
- {
- "teal": 18,
- "source": 1540,
- "pc": [
- 21
- ]
- },
- {
- "teal": 19,
- "source": 1540,
- "pc": [
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 23,
- "source": 1540,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 48
- ]
- },
- {
- "teal": 28,
- "source": 1543,
- "pc": [
- 49,
- 50,
- 51,
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 31,
- "source": 1543,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 32,
- "source": 1543,
- "pc": [
- 58
- ]
- },
- {
- "teal": 33,
- "source": 1543,
- "pc": [
- 59
- ]
- },
- {
- "teal": 34,
- "source": 1543,
- "pc": [
- 60
- ]
- },
- {
- "teal": 35,
- "source": 1543,
- "pc": [
- 61
- ]
- },
- {
- "teal": 36,
- "source": 1543,
- "pc": [
- 62
- ]
- },
- {
- "teal": 40,
- "source": 1543,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 43,
- "source": 1543,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 47,
- "source": 1544,
- "pc": [
- 68
- ]
- },
- {
- "teal": 48,
- "source": 1544,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 49,
- "source": 1544,
- "pc": [
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 50,
- "source": 1544,
- "pc": [
- 81
- ]
- },
- {
- "teal": 51,
- "source": 1544,
- "pc": [
- 82
- ]
- },
- {
- "teal": 55,
- "source": 1545,
- "pc": [
- 83
- ]
- },
- {
- "teal": 56,
- "source": 1545,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 57,
- "source": 1545,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 58,
- "source": 1545,
- "pc": [
- 88
- ]
- },
- {
- "teal": 59,
- "source": 1545,
- "pc": [
- 89
- ]
- },
- {
- "teal": 60,
- "source": 1545,
- "pc": [
- 90,
- 91
- ]
- },
- {
- "teal": 64,
- "source": 1546,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 67,
- "source": 1543,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 68,
- "source": 1543,
- "pc": [
- 96
- ]
- },
- {
- "teal": 71,
- "source": 1540,
- "pc": [
- 97
- ]
- },
- {
- "teal": 72,
- "source": 1540,
- "pc": [
- 98
- ]
- },
- {
- "teal": 75,
- "source": 1540,
- "pc": [
- 99,
- 100,
- 101,
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 76,
- "source": 1540,
- "pc": [
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 77,
- "source": 1540,
- "pc": [
- 108,
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 80,
- "source": 1540,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 112
- ]
- },
- {
- "teal": 83,
- "source": 1540,
- "pc": [
- 113,
- 114,
- 115,
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 84,
- "source": 1540,
- "pc": [
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 85,
- "source": 1540,
- "pc": [
- 122,
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 88,
- "source": 1540,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 126
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1540,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1540,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1540,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1540,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1540,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1540,
+ "pc": [
+ 19,
+ 20
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1540,
+ "pc": [
+ 21
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1540,
+ "pc": [
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1540,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1543,
+ "pc": [
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1543,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1543,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1543,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1543,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1543,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1543,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1543,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1543,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1544,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1544,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1544,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1544,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1544,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1545,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1545,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1545,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1545,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1545,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1545,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1546,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1543,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1543,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1540,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1540,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1540,
+ "pc": [
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1540,
+ "pc": [
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1540,
+ "pc": [
+ 108,
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1540,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1540,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1540,
+ "pc": [
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1540,
+ "pc": [
+ 122,
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1540,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 126
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94KCk6IHVpbnQ2NApzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NDQKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHRoaXMudHhuLnNlbmRlciwgYmFyOiB7IGJhejogMTMzNyB9IH0KCWJ5dGUgMHgwMDA0NjI0ZDYxNzAKCXR4biBTZW5kZXIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwNTM5Cgljb25jYXQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NQoJLy8gdiA9IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmJhci5iYXoKCWJ5dGUgMHgwMDA0NjI0ZDYxNzAKCWludCAzMgoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gdjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NDYKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDAgLy8gdjogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3goKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94KCk6IHVpbnQ2NApzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NDQKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHRoaXMudHhuLnNlbmRlciwgYmFyOiB7IGJhejogMTMzNyB9IH0KCWJ5dGUgMHgwMDA0NjI0ZDYxNzAKCXR4biBTZW5kZXIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwNTM5Cgljb25jYXQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NQoJLy8gdiA9IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmJhci5iYXoKCWJ5dGUgMHgwMDA0NjI0ZDYxNzAKCWludCAzMgoJaW50IDgKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gdjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NDYKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDAgLy8gdjogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStorageRefAccount.approval.teal b/tests/contracts/artifacts/ABITestStorageRefAccount.approval.teal
index 6a7b4560d..fbfd87d1b 100644
--- a/tests/contracts/artifacts/ABITestStorageRefAccount.approval.teal
+++ b/tests/contracts/artifacts/ABITestStorageRefAccount.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStorageRefAccount.arc32.json b/tests/contracts/artifacts/ABITestStorageRefAccount.arc32.json
index 0a918880f..74cce1979 100644
--- a/tests/contracts/artifacts/ABITestStorageRefAccount.arc32.json
+++ b/tests/contracts/artifacts/ABITestStorageRefAccount.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RvcmFnZVJlZkFjY291bnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0b3JhZ2VSZWZBY2NvdW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKCWNhbGxzdWIgc3RvcmFnZVJlZkFjY291bnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdG9yYWdlUmVmQWNjb3VudCgpOiB1aW50NjQKc3RvcmFnZVJlZkFjY291bnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMTkKCS8vIGFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBhZGRyOiBhZGRyZXNzCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjAKCS8vIHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZSA9IFsxLCAyLCAzXQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgwMDAzMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjEKCS8vIHIgPSB0aGlzLmxNYXAoYWRkciwgMCkudmFsdWUKCWZyYW1lX2RpZyAwIC8vIGFkZHI6IGFkZHJlc3MKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGFjY291bnQvL3IKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyMwoJLy8gYWRkciA9IGdsb2JhbHMuemVyb0FkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIGFkZHI6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyNQoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgMiAwCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDQKCXJlcGxhY2UyIDgKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCXVuY292ZXIgMgoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjcKCS8vIHJldHVybiB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAwKS52YWx1ZVsxXTsKCXR4biBTZW5kZXIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDIgMAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgInN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0b3JhZ2VSZWZBY2NvdW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RvcmFnZVJlZkFjY291bnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0b3JhZ2VSZWZBY2NvdW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKCWNhbGxzdWIgc3RvcmFnZVJlZkFjY291bnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdG9yYWdlUmVmQWNjb3VudCgpOiB1aW50NjQKc3RvcmFnZVJlZkFjY291bnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMTkKCS8vIGFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBhZGRyOiBhZGRyZXNzCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjAKCS8vIHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZSA9IFsxLCAyLCAzXQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgwMDAzMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjEKCS8vIHIgPSB0aGlzLmxNYXAoYWRkciwgMCkudmFsdWUKCWZyYW1lX2RpZyAwIC8vIGFkZHI6IGFkZHJlc3MKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGFjY291bnQvL3IKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyMwoJLy8gYWRkciA9IGdsb2JhbHMuemVyb0FkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIGFkZHI6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyNQoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgMiAwCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDQKCXJlcGxhY2UyIDgKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCXVuY292ZXIgMgoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjcKCS8vIHJldHVybiB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAwKS52YWx1ZVsxXTsKCXR4biBTZW5kZXIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDIgMAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgInN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0b3JhZ2VSZWZBY2NvdW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStorageRefAccount.arc56_draft.json b/tests/contracts/artifacts/ABITestStorageRefAccount.arc56_draft.json
index 0ee19b294..6f4ebe847 100644
--- a/tests/contracts/artifacts/ABITestStorageRefAccount.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStorageRefAccount.arc56_draft.json
@@ -65,638 +65,641 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1014,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14
- ]
- },
- {
- "teal": 13,
- "source": 1014,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 14,
- "source": 1014,
- "pc": [
- 17
- ]
- },
- {
- "teal": 15,
- "source": 1014,
- "pc": [
- 18,
- 19
- ]
- },
- {
- "teal": 16,
- "source": 1014,
- "pc": [
- 20
- ]
- },
- {
- "teal": 17,
- "source": 1014,
- "pc": [
- 21,
- 22
- ]
- },
- {
- "teal": 18,
- "source": 1014,
- "pc": [
- 23
- ]
- },
- {
- "teal": 19,
- "source": 1014,
- "pc": [
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 23,
- "source": 1014,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 50
- ]
- },
- {
- "teal": 28,
- "source": 1017,
- "pc": [
- 51,
- 52,
- 53,
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 31,
- "source": 1017,
- "pc": [
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 32,
- "source": 1017,
- "pc": [
- 60
- ]
- },
- {
- "teal": 33,
- "source": 1017,
- "pc": [
- 61
- ]
- },
- {
- "teal": 34,
- "source": 1017,
- "pc": [
- 62
- ]
- },
- {
- "teal": 35,
- "source": 1017,
- "pc": [
- 63
- ]
- },
- {
- "teal": 36,
- "source": 1017,
- "pc": [
- 64
- ]
- },
- {
- "teal": 40,
- "source": 1017,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 43,
- "source": 1017,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 44,
- "source": 1017,
- "pc": [
- 70
- ]
- },
- {
- "teal": 48,
- "source": 1019,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 49,
- "source": 1019,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 53,
- "source": 1020,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 54,
- "source": 1020,
- "pc": [
- 77
- ]
- },
- {
- "teal": 55,
- "source": 1020,
- "pc": [
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 56,
- "source": 1020,
- "pc": [
- 106
- ]
- },
- {
- "teal": 60,
- "source": 1021,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 61,
- "source": 1021,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 65,
- "source": 1023,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 66,
- "source": 1023,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 70,
- "source": 1021,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 71,
- "source": 1021,
- "pc": [
- 117
- ]
- },
- {
- "teal": 72,
- "source": 1021,
- "pc": [
- 118
- ]
- },
- {
- "teal": 73,
- "source": 1021,
- "pc": [
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 74,
- "source": 1025,
- "pc": [
- 122,
- 123
- ]
- },
- {
- "teal": 75,
- "source": 1025,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 76,
- "source": 1025,
- "pc": [
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135
- ]
- },
- {
- "teal": 77,
- "source": 1025,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 78,
- "source": 1021,
- "pc": [
- 138,
- 139
- ]
- },
- {
- "teal": 79,
- "source": 1021,
- "pc": [
- 140
- ]
- },
- {
- "teal": 80,
- "source": 1021,
- "pc": [
- 141,
- 142
- ]
- },
- {
- "teal": 81,
- "source": 1021,
- "pc": [
- 143
- ]
- },
- {
- "teal": 82,
- "source": 1021,
- "pc": [
- 144
- ]
- },
- {
- "teal": 83,
- "source": 1021,
- "pc": [
- 145,
- 146
- ]
- },
- {
- "teal": 84,
- "source": 1021,
- "pc": [
- 147
- ]
- },
- {
- "teal": 85,
- "source": 1021,
- "pc": [
- 148
- ]
- },
- {
- "teal": 86,
- "source": 1021,
- "pc": [
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 87,
- "source": 1021,
- "pc": [
- 152
- ]
- },
- {
- "teal": 88,
- "source": 1021,
- "pc": [
- 153
- ]
- },
- {
- "teal": 89,
- "source": 1021,
- "pc": [
- 154
- ]
- },
- {
- "teal": 93,
- "source": 1027,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 94,
- "source": 1027,
- "pc": [
- 157
- ]
- },
- {
- "teal": 95,
- "source": 1027,
- "pc": [
- 158
- ]
- },
- {
- "teal": 96,
- "source": 1027,
- "pc": [
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 97,
- "source": 1027,
- "pc": [
- 162,
- 163
- ]
- },
- {
- "teal": 98,
- "source": 1027,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 99,
- "source": 1027,
- "pc": [
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 100,
- "source": 1027,
- "pc": [
- 169
- ]
- },
- {
- "teal": 103,
- "source": 1017,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 106,
- "source": 1017,
- "pc": [
- 172,
- 173
- ]
- },
- {
- "teal": 107,
- "source": 1017,
- "pc": [
- 174
- ]
- },
- {
- "teal": 110,
- "source": 1014,
- "pc": [
- 175
- ]
- },
- {
- "teal": 111,
- "source": 1014,
- "pc": [
- 176
- ]
- },
- {
- "teal": 114,
- "source": 1014,
- "pc": [
- 177,
- 178,
- 179,
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 115,
- "source": 1014,
- "pc": [
- 183,
- 184,
- 185
- ]
- },
- {
- "teal": 116,
- "source": 1014,
- "pc": [
- 186,
- 187,
- 188,
- 189
- ]
- },
- {
- "teal": 119,
- "source": 1014,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 190
- ]
- },
- {
- "teal": 122,
- "source": 1014,
- "pc": [
- 191,
- 192,
- 193,
- 194,
- 195,
- 196
- ]
- },
- {
- "teal": 123,
- "source": 1014,
- "pc": [
- 197,
- 198,
- 199
- ]
- },
- {
- "teal": 124,
- "source": 1014,
- "pc": [
- 200,
- 201,
- 202,
- 203
- ]
- },
- {
- "teal": 127,
- "source": 1014,
- "errorMessage": "this contract does not implement the given ABI method for call OptIn",
- "pc": [
- 204
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1014,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1014,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1014,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1014,
+ "pc": [
+ 18,
+ 19
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1014,
+ "pc": [
+ 20
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1014,
+ "pc": [
+ 21,
+ 22
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1014,
+ "pc": [
+ 23
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1014,
+ "pc": [
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1014,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1017,
+ "pc": [
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1017,
+ "pc": [
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1017,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1017,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1017,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1017,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1017,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1017,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1017,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1017,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1019,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1019,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1020,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1020,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1020,
+ "pc": [
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1020,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1021,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1021,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1023,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1023,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1021,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1021,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1021,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1021,
+ "pc": [
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1025,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1025,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1025,
+ "pc": [
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1025,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1021,
+ "pc": [
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1021,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1021,
+ "pc": [
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1021,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1021,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1021,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1021,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1021,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1021,
+ "pc": [
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1021,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1021,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1021,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1027,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1027,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1027,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1027,
+ "pc": [
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1027,
+ "pc": [
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1027,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1027,
+ "pc": [
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1027,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1017,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1017,
+ "pc": [
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 1017,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1014,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 1014,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 1014,
+ "pc": [
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 1014,
+ "pc": [
+ 183,
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 1014,
+ "pc": [
+ 186,
+ 187,
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 1014,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 1014,
+ "pc": [
+ 191,
+ 192,
+ 193,
+ 194,
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 1014,
+ "pc": [
+ 197,
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 1014,
+ "pc": [
+ 200,
+ 201,
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 1014,
+ "errorMessage": "this contract does not implement the given ABI method for call OptIn",
+ "pc": [
+ 204
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RvcmFnZVJlZkFjY291bnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0b3JhZ2VSZWZBY2NvdW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKCWNhbGxzdWIgc3RvcmFnZVJlZkFjY291bnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdG9yYWdlUmVmQWNjb3VudCgpOiB1aW50NjQKc3RvcmFnZVJlZkFjY291bnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMTkKCS8vIGFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBhZGRyOiBhZGRyZXNzCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjAKCS8vIHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZSA9IFsxLCAyLCAzXQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgwMDAzMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjEKCS8vIHIgPSB0aGlzLmxNYXAoYWRkciwgMCkudmFsdWUKCWZyYW1lX2RpZyAwIC8vIGFkZHI6IGFkZHJlc3MKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGFjY291bnQvL3IKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyMwoJLy8gYWRkciA9IGdsb2JhbHMuemVyb0FkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIGFkZHI6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyNQoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgMiAwCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDQKCXJlcGxhY2UyIDgKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCXVuY292ZXIgMgoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjcKCS8vIHJldHVybiB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAwKS52YWx1ZVsxXTsKCXR4biBTZW5kZXIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDIgMAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgInN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0b3JhZ2VSZWZBY2NvdW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RvcmFnZVJlZkFjY291bnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0b3JhZ2VSZWZBY2NvdW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKCWNhbGxzdWIgc3RvcmFnZVJlZkFjY291bnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdG9yYWdlUmVmQWNjb3VudCgpOiB1aW50NjQKc3RvcmFnZVJlZkFjY291bnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMTkKCS8vIGFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBhZGRyOiBhZGRyZXNzCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjAKCS8vIHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZSA9IFsxLCAyLCAzXQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgwMDAzMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjEKCS8vIHIgPSB0aGlzLmxNYXAoYWRkciwgMCkudmFsdWUKCWZyYW1lX2RpZyAwIC8vIGFkZHI6IGFkZHJlc3MKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGFjY291bnQvL3IKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyMwoJLy8gYWRkciA9IGdsb2JhbHMuemVyb0FkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIGFkZHI6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyNQoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgMiAwCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDQKCXJlcGxhY2UyIDgKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCXVuY292ZXIgMgoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjcKCS8vIHJldHVybiB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAwKS52YWx1ZVsxXTsKCXR4biBTZW5kZXIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDIgMAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgInN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0b3JhZ2VSZWZBY2NvdW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStorageRefKey.approval.teal b/tests/contracts/artifacts/ABITestStorageRefKey.approval.teal
index 19a8ab33d..3484745aa 100644
--- a/tests/contracts/artifacts/ABITestStorageRefKey.approval.teal
+++ b/tests/contracts/artifacts/ABITestStorageRefKey.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStorageRefKey.arc32.json b/tests/contracts/artifacts/ABITestStorageRefKey.arc32.json
index 91f808369..f4e232b5a 100644
--- a/tests/contracts/artifacts/ABITestStorageRefKey.arc32.json
+++ b/tests/contracts/artifacts/ABITestStorageRefKey.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUmVmS2V5KCl1aW50NjQKKmFiaV9yb3V0ZV9zdG9yYWdlUmVmS2V5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZLZXkoKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUmVmS2V5CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RvcmFnZVJlZktleSgpOiB1aW50NjQKc3RvcmFnZVJlZktleToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMAoJLy8gdGhpcy5nTWFwKDApLnZhbHVlID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweDAwMDMwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMDIKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA0CgkvLyByID0gdGhpcy5nTWFwKGkpLnZhbHVlCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGtleS8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA2CgkvLyBpID0gMQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwOAoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2Uga2V5Ly9yCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwNAoJcmVwbGFjZTIgOAoJZnJhbWVfZGlnIDEgLy8gc3RvcmFnZSBrZXkvL3IKCXN3YXAKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAxMAoJLy8gcmV0dXJuIHRoaXMuZ01hcCgwKS52YWx1ZVsxXTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0b3JhZ2VSZWZLZXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZktleQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUmVmS2V5KCl1aW50NjQKKmFiaV9yb3V0ZV9zdG9yYWdlUmVmS2V5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZLZXkoKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUmVmS2V5CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RvcmFnZVJlZktleSgpOiB1aW50NjQKc3RvcmFnZVJlZktleToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMAoJLy8gdGhpcy5nTWFwKDApLnZhbHVlID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweDAwMDMwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMDIKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA0CgkvLyByID0gdGhpcy5nTWFwKGkpLnZhbHVlCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGtleS8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA2CgkvLyBpID0gMQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwOAoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2Uga2V5Ly9yCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwNAoJcmVwbGFjZTIgOAoJZnJhbWVfZGlnIDEgLy8gc3RvcmFnZSBrZXkvL3IKCXN3YXAKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAxMAoJLy8gcmV0dXJuIHRoaXMuZ01hcCgwKS52YWx1ZVsxXTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0b3JhZ2VSZWZLZXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZktleQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStorageRefKey.arc56_draft.json b/tests/contracts/artifacts/ABITestStorageRefKey.arc56_draft.json
index ee238a5e9..8b23551bf 100644
--- a/tests/contracts/artifacts/ABITestStorageRefKey.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStorageRefKey.arc56_draft.json
@@ -65,613 +65,616 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 996,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14
- ]
- },
- {
- "teal": 13,
- "source": 996,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 14,
- "source": 996,
- "pc": [
- 17
- ]
- },
- {
- "teal": 15,
- "source": 996,
- "pc": [
- 18,
- 19
- ]
- },
- {
- "teal": 16,
- "source": 996,
- "pc": [
- 20
- ]
- },
- {
- "teal": 17,
- "source": 996,
- "pc": [
- 21,
- 22
- ]
- },
- {
- "teal": 18,
- "source": 996,
- "pc": [
- 23
- ]
- },
- {
- "teal": 19,
- "source": 996,
- "pc": [
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 23,
- "source": 996,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 50
- ]
- },
- {
- "teal": 28,
- "source": 999,
- "pc": [
- 51,
- 52,
- 53,
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 31,
- "source": 999,
- "pc": [
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 32,
- "source": 999,
- "pc": [
- 60
- ]
- },
- {
- "teal": 33,
- "source": 999,
- "pc": [
- 61
- ]
- },
- {
- "teal": 34,
- "source": 999,
- "pc": [
- 62
- ]
- },
- {
- "teal": 35,
- "source": 999,
- "pc": [
- 63
- ]
- },
- {
- "teal": 36,
- "source": 999,
- "pc": [
- 64
- ]
- },
- {
- "teal": 40,
- "source": 999,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 43,
- "source": 999,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 44,
- "source": 999,
- "pc": [
- 70
- ]
- },
- {
- "teal": 48,
- "source": 1000,
- "pc": [
- 71
- ]
- },
- {
- "teal": 49,
- "source": 1000,
- "pc": [
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 50,
- "source": 1000,
- "pc": [
- 100
- ]
- },
- {
- "teal": 54,
- "source": 1002,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 55,
- "source": 1002,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 59,
- "source": 1004,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 60,
- "source": 1004,
- "pc": [
- 107
- ]
- },
- {
- "teal": 61,
- "source": 1004,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 65,
- "source": 1006,
- "pc": [
- 110
- ]
- },
- {
- "teal": 66,
- "source": 1006,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 70,
- "source": 1004,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 71,
- "source": 1004,
- "pc": [
- 115
- ]
- },
- {
- "teal": 72,
- "source": 1004,
- "pc": [
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 73,
- "source": 1008,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 74,
- "source": 1008,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 75,
- "source": 1008,
- "pc": [
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 76,
- "source": 1008,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 77,
- "source": 1004,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 78,
- "source": 1004,
- "pc": [
- 137
- ]
- },
- {
- "teal": 79,
- "source": 1004,
- "pc": [
- 138
- ]
- },
- {
- "teal": 80,
- "source": 1004,
- "pc": [
- 139
- ]
- },
- {
- "teal": 81,
- "source": 1004,
- "pc": [
- 140,
- 141
- ]
- },
- {
- "teal": 82,
- "source": 1004,
- "pc": [
- 142
- ]
- },
- {
- "teal": 83,
- "source": 1004,
- "pc": [
- 143
- ]
- },
- {
- "teal": 84,
- "source": 1004,
- "pc": [
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 85,
- "source": 1004,
- "pc": [
- 147
- ]
- },
- {
- "teal": 86,
- "source": 1004,
- "pc": [
- 148
- ]
- },
- {
- "teal": 87,
- "source": 1004,
- "pc": [
- 149
- ]
- },
- {
- "teal": 91,
- "source": 1010,
- "pc": [
- 150
- ]
- },
- {
- "teal": 92,
- "source": 1010,
- "pc": [
- 151
- ]
- },
- {
- "teal": 93,
- "source": 1010,
- "pc": [
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 94,
- "source": 1010,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 95,
- "source": 1010,
- "pc": [
- 157,
- 158
- ]
- },
- {
- "teal": 96,
- "source": 1010,
- "pc": [
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 97,
- "source": 1010,
- "pc": [
- 162
- ]
- },
- {
- "teal": 100,
- "source": 999,
- "pc": [
- 163,
- 164
- ]
- },
- {
- "teal": 103,
- "source": 999,
- "pc": [
- 165,
- 166
- ]
- },
- {
- "teal": 104,
- "source": 999,
- "pc": [
- 167
- ]
- },
- {
- "teal": 107,
- "source": 996,
- "pc": [
- 168
- ]
- },
- {
- "teal": 108,
- "source": 996,
- "pc": [
- 169
- ]
- },
- {
- "teal": 111,
- "source": 996,
- "pc": [
- 170,
- 171,
- 172,
- 173,
- 174,
- 175
- ]
- },
- {
- "teal": 112,
- "source": 996,
- "pc": [
- 176,
- 177,
- 178
- ]
- },
- {
- "teal": 113,
- "source": 996,
- "pc": [
- 179,
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 116,
- "source": 996,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 183
- ]
- },
- {
- "teal": 119,
- "source": 996,
- "pc": [
- 184,
- 185,
- 186,
- 187,
- 188,
- 189
- ]
- },
- {
- "teal": 120,
- "source": 996,
- "pc": [
- 190,
- 191,
- 192
- ]
- },
- {
- "teal": 121,
- "source": 996,
- "pc": [
- 193,
- 194,
- 195,
- 196
- ]
- },
- {
- "teal": 124,
- "source": 996,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 197
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 996,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 996,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 996,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 996,
+ "pc": [
+ 18,
+ 19
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 996,
+ "pc": [
+ 20
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 996,
+ "pc": [
+ 21,
+ 22
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 996,
+ "pc": [
+ 23
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 996,
+ "pc": [
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 996,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 999,
+ "pc": [
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 999,
+ "pc": [
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 999,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 999,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 999,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 999,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 999,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 999,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 999,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 999,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1000,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1000,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1000,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1002,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1002,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1004,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1004,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1004,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1006,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1006,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1004,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1004,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1004,
+ "pc": [
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1008,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1008,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1008,
+ "pc": [
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1008,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1004,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1004,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1004,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1004,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1004,
+ "pc": [
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1004,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 1004,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1004,
+ "pc": [
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1004,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1004,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1004,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1010,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1010,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1010,
+ "pc": [
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1010,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1010,
+ "pc": [
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1010,
+ "pc": [
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1010,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 999,
+ "pc": [
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 999,
+ "pc": [
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 999,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 996,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 996,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 996,
+ "pc": [
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 996,
+ "pc": [
+ 176,
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 996,
+ "pc": [
+ 179,
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 996,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 996,
+ "pc": [
+ 184,
+ 185,
+ 186,
+ 187,
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 996,
+ "pc": [
+ 190,
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 996,
+ "pc": [
+ 193,
+ 194,
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 996,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 197
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUmVmS2V5KCl1aW50NjQKKmFiaV9yb3V0ZV9zdG9yYWdlUmVmS2V5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZLZXkoKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUmVmS2V5CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RvcmFnZVJlZktleSgpOiB1aW50NjQKc3RvcmFnZVJlZktleToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMAoJLy8gdGhpcy5nTWFwKDApLnZhbHVlID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweDAwMDMwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMDIKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA0CgkvLyByID0gdGhpcy5nTWFwKGkpLnZhbHVlCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGtleS8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA2CgkvLyBpID0gMQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwOAoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2Uga2V5Ly9yCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwNAoJcmVwbGFjZTIgOAoJZnJhbWVfZGlnIDEgLy8gc3RvcmFnZSBrZXkvL3IKCXN3YXAKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAxMAoJLy8gcmV0dXJuIHRoaXMuZ01hcCgwKS52YWx1ZVsxXTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0b3JhZ2VSZWZLZXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZktleQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUmVmS2V5KCl1aW50NjQKKmFiaV9yb3V0ZV9zdG9yYWdlUmVmS2V5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZLZXkoKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUmVmS2V5CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RvcmFnZVJlZktleSgpOiB1aW50NjQKc3RvcmFnZVJlZktleToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMAoJLy8gdGhpcy5nTWFwKDApLnZhbHVlID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMAoJYnl0ZSAweDAwMDMwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMDIKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA0CgkvLyByID0gdGhpcy5nTWFwKGkpLnZhbHVlCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGtleS8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA2CgkvLyBpID0gMQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwOAoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2Uga2V5Ly9yCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwNAoJcmVwbGFjZTIgOAoJZnJhbWVfZGlnIDEgLy8gc3RvcmFnZSBrZXkvL3IKCXN3YXAKCWR1cAoJbGVuCglpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAxMAoJLy8gcmV0dXJuIHRoaXMuZ01hcCgwKS52YWx1ZVsxXTsKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0b3JhZ2VSZWZLZXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZktleQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStorageTypeHint.approval.teal b/tests/contracts/artifacts/ABITestStorageTypeHint.approval.teal
index 1d2e1a16f..388eaad76 100644
--- a/tests/contracts/artifacts/ABITestStorageTypeHint.approval.teal
+++ b/tests/contracts/artifacts/ABITestStorageTypeHint.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStorageTypeHint.arc32.json b/tests/contracts/artifacts/ABITestStorageTypeHint.arc32.json
index fac37e4af..0c480d853 100644
--- a/tests/contracts/artifacts/ABITestStorageTypeHint.arc32.json
+++ b/tests/contracts/artifacts/ABITestStorageTypeHint.arc32.json
@@ -44,7 +44,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODYwCgkvLyB0aGlzLmdLZXkudmFsdWUgPSBbMSwgMiwgM10KCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWJ5dGUgMHgwMDAxMDAwMjAwMDMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2MgoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODYwCgkvLyB0aGlzLmdLZXkudmFsdWUgPSBbMSwgMiwgM10KCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWJ5dGUgMHgwMDAxMDAwMjAwMDMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2MgoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStorageTypeHint.arc56_draft.json b/tests/contracts/artifacts/ABITestStorageTypeHint.arc56_draft.json
index f09380280..f1c1f0241 100644
--- a/tests/contracts/artifacts/ABITestStorageTypeHint.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStorageTypeHint.arc56_draft.json
@@ -66,311 +66,314 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 856,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10
- ]
- },
- {
- "teal": 13,
- "source": 856,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 14,
- "source": 856,
- "pc": [
- 13
- ]
- },
- {
- "teal": 15,
- "source": 856,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 16,
- "source": 856,
- "pc": [
- 16
- ]
- },
- {
- "teal": 17,
- "source": 856,
- "pc": [
- 17,
- 18
- ]
- },
- {
- "teal": 18,
- "source": 856,
- "pc": [
- 19
- ]
- },
- {
- "teal": 19,
- "source": 856,
- "pc": [
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 23,
- "source": 856,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 46
- ]
- },
- {
- "teal": 28,
- "source": 859,
- "pc": [
- 47,
- 48,
- 49,
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 31,
- "source": 859,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 32,
- "source": 859,
- "pc": [
- 56
- ]
- },
- {
- "teal": 33,
- "source": 859,
- "pc": [
- 57
- ]
- },
- {
- "teal": 34,
- "source": 859,
- "pc": [
- 58
- ]
- },
- {
- "teal": 35,
- "source": 859,
- "pc": [
- 59
- ]
- },
- {
- "teal": 39,
- "source": 859,
- "pc": [
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 43,
- "source": 860,
- "pc": [
- 63
- ]
- },
- {
- "teal": 44,
- "source": 860,
- "pc": [
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71
- ]
- },
- {
- "teal": 45,
- "source": 860,
- "pc": [
- 72
- ]
- },
- {
- "teal": 49,
- "source": 862,
- "pc": [
- 73
- ]
- },
- {
- "teal": 50,
- "source": 862,
- "pc": [
- 74
- ]
- },
- {
- "teal": 51,
- "source": 859,
- "pc": [
- 75
- ]
- },
- {
- "teal": 54,
- "source": 856,
- "pc": [
- 76
- ]
- },
- {
- "teal": 55,
- "source": 856,
- "pc": [
- 77
- ]
- },
- {
- "teal": 58,
- "source": 856,
- "pc": [
- 78,
- 79,
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 59,
- "source": 856,
- "pc": [
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 60,
- "source": 856,
- "pc": [
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 63,
- "source": 856,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 91
- ]
- },
- {
- "teal": 66,
- "source": 856,
- "pc": [
- 92,
- 93,
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 67,
- "source": 856,
- "pc": [
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 68,
- "source": 856,
- "pc": [
- 101,
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 71,
- "source": 856,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 105
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 856,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 856,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 856,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 856,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 856,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 856,
+ "pc": [
+ 17,
+ 18
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 856,
+ "pc": [
+ 19
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 856,
+ "pc": [
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 856,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 46
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 859,
+ "pc": [
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 859,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 859,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 859,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 859,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 859,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 859,
+ "pc": [
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 860,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 860,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 860,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 862,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 862,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 859,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 856,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 856,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 856,
+ "pc": [
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 856,
+ "pc": [
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 856,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 856,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 856,
+ "pc": [
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 856,
+ "pc": [
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 856,
+ "pc": [
+ 101,
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 856,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 105
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODYwCgkvLyB0aGlzLmdLZXkudmFsdWUgPSBbMSwgMiwgM10KCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWJ5dGUgMHgwMDAxMDAwMjAwMDMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2MgoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODYwCgkvLyB0aGlzLmdLZXkudmFsdWUgPSBbMSwgMiwgM10KCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWJ5dGUgMHgwMDAxMDAwMjAwMDMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2MgoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStringAccessor.approval.teal b/tests/contracts/artifacts/ABITestStringAccessor.approval.teal
index bb5173997..18ddd88aa 100644
--- a/tests/contracts/artifacts/ABITestStringAccessor.approval.teal
+++ b/tests/contracts/artifacts/ABITestStringAccessor.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStringAccessor.arc32.json b/tests/contracts/artifacts/ABITestStringAccessor.arc32.json
index 8e0f40df6..70bbbed02 100644
--- a/tests/contracts/artifacts/ABITestStringAccessor.arc32.json
+++ b/tests/contracts/artifacts/ABITestStringAccessor.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBY2Nlc3Nvcigpc3RyaW5nCiphYmlfcm91dGVfc3RyaW5nQWNjZXNzb3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdBY2Nlc3NvcgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdBY2Nlc3NvcigpOiBzdHJpbmcKc3RyaW5nQWNjZXNzb3I6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MzQKCS8vIHMgPSBjb25jYXQoJ0hlbGxvICcsICdXb3JsZCcpCglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NAoJZnJhbWVfYnVyeSAwIC8vIHM6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MzYKCS8vIHJldHVybiBzWzFdOwoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglleHRyYWN0IDEgMQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RyaW5nQWNjZXNzb3IoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nQWNjZXNzb3IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBY2Nlc3Nvcigpc3RyaW5nCiphYmlfcm91dGVfc3RyaW5nQWNjZXNzb3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdBY2Nlc3NvcgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdBY2Nlc3NvcigpOiBzdHJpbmcKc3RyaW5nQWNjZXNzb3I6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MzQKCS8vIHMgPSBjb25jYXQoJ0hlbGxvICcsICdXb3JsZCcpCglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NAoJZnJhbWVfYnVyeSAwIC8vIHM6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MzYKCS8vIHJldHVybiBzWzFdOwoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglleHRyYWN0IDEgMQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RyaW5nQWNjZXNzb3IoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nQWNjZXNzb3IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStringAccessor.arc56_draft.json b/tests/contracts/artifacts/ABITestStringAccessor.arc56_draft.json
index 0ca58653f..f8eddb125 100644
--- a/tests/contracts/artifacts/ABITestStringAccessor.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStringAccessor.arc56_draft.json
@@ -60,366 +60,369 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 832,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 832,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 832,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 832,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 832,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 832,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 832,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 832,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 832,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 833,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 833,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 833,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 833,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 833,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 833,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 36,
- "source": 833,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 833,
- "pc": [
- 56
- ]
- },
- {
- "teal": 38,
- "source": 833,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 833,
- "pc": [
- 58
- ]
- },
- {
- "teal": 40,
- "source": 833,
- "pc": [
- 59
- ]
- },
- {
- "teal": 41,
- "source": 833,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 833,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 48,
- "source": 833,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 52,
- "source": 834,
- "pc": [
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78
- ]
- },
- {
- "teal": 53,
- "source": 834,
- "pc": [
- 79,
- 80
- ]
- },
- {
- "teal": 57,
- "source": 836,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 58,
- "source": 836,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 61,
- "source": 833,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 62,
- "source": 833,
- "pc": [
- 88
- ]
- },
- {
- "teal": 65,
- "source": 832,
- "pc": [
- 89
- ]
- },
- {
- "teal": 66,
- "source": 832,
- "pc": [
- 90
- ]
- },
- {
- "teal": 69,
- "source": 832,
- "pc": [
- 91,
- 92,
- 93,
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 70,
- "source": 832,
- "pc": [
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 71,
- "source": 832,
- "pc": [
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 74,
- "source": 832,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 104
- ]
- },
- {
- "teal": 77,
- "source": 832,
- "pc": [
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 78,
- "source": 832,
- "pc": [
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 79,
- "source": 832,
- "pc": [
- 114,
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 82,
- "source": 832,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 118
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 832,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 832,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 832,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 832,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 832,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 832,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 832,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 832,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 832,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 833,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 833,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 833,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 833,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 833,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 833,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 833,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 833,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 833,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 833,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 833,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 833,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 833,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 833,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 834,
+ "pc": [
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 834,
+ "pc": [
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 836,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 836,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 833,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 833,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 832,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 832,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 832,
+ "pc": [
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 832,
+ "pc": [
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 832,
+ "pc": [
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 832,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 832,
+ "pc": [
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 832,
+ "pc": [
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 832,
+ "pc": [
+ 114,
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 832,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 118
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBY2Nlc3Nvcigpc3RyaW5nCiphYmlfcm91dGVfc3RyaW5nQWNjZXNzb3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdBY2Nlc3NvcgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdBY2Nlc3NvcigpOiBzdHJpbmcKc3RyaW5nQWNjZXNzb3I6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MzQKCS8vIHMgPSBjb25jYXQoJ0hlbGxvICcsICdXb3JsZCcpCglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NAoJZnJhbWVfYnVyeSAwIC8vIHM6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MzYKCS8vIHJldHVybiBzWzFdOwoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglleHRyYWN0IDEgMQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RyaW5nQWNjZXNzb3IoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nQWNjZXNzb3IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBY2Nlc3Nvcigpc3RyaW5nCiphYmlfcm91dGVfc3RyaW5nQWNjZXNzb3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdBY2Nlc3NvcgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdBY2Nlc3NvcigpOiBzdHJpbmcKc3RyaW5nQWNjZXNzb3I6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MzQKCS8vIHMgPSBjb25jYXQoJ0hlbGxvICcsICdXb3JsZCcpCglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NAoJZnJhbWVfYnVyeSAwIC8vIHM6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MzYKCS8vIHJldHVybiBzWzFdOwoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglleHRyYWN0IDEgMQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic3RyaW5nQWNjZXNzb3IoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nQWNjZXNzb3IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStringArg.approval.teal b/tests/contracts/artifacts/ABITestStringArg.approval.teal
index e5d17832a..ecd54b354 100644
--- a/tests/contracts/artifacts/ABITestStringArg.approval.teal
+++ b/tests/contracts/artifacts/ABITestStringArg.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStringArg.arc32.json b/tests/contracts/artifacts/ABITestStringArg.arc32.json
index f79f6265c..334f47655 100644
--- a/tests/contracts/artifacts/ABITestStringArg.arc32.json
+++ b/tests/contracts/artifacts/ABITestStringArg.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBcmcoc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9zdHJpbmdBcmc6CgkvLyBzOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdBcmcoc3RyaW5nKXZvaWQKCWNhbGxzdWIgc3RyaW5nQXJnCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdBcmcoczogc3RyaW5nKTogdm9pZApzdHJpbmdBcmc6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTM2CgkvLyBhc3NlcnQocyA9PT0gJ0hlbGxvIFdvcmxkIScpCglmcmFtZV9kaWcgLTEgLy8gczogc3RyaW5nCglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdHJpbmdBcmcoc3RyaW5nKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBcmcoc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9zdHJpbmdBcmc6CgkvLyBzOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdBcmcoc3RyaW5nKXZvaWQKCWNhbGxzdWIgc3RyaW5nQXJnCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdBcmcoczogc3RyaW5nKTogdm9pZApzdHJpbmdBcmc6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTM2CgkvLyBhc3NlcnQocyA9PT0gJ0hlbGxvIFdvcmxkIScpCglmcmFtZV9kaWcgLTEgLy8gczogc3RyaW5nCglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdHJpbmdBcmcoc3RyaW5nKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStringArg.arc56_draft.json b/tests/contracts/artifacts/ABITestStringArg.arc56_draft.json
index 8ccaee1f9..4f71a8081 100644
--- a/tests/contracts/artifacts/ABITestStringArg.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStringArg.arc56_draft.json
@@ -65,296 +65,299 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 534,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 534,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 534,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 534,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 534,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 534,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 534,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 534,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 534,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 535,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 29,
- "source": 535,
- "pc": [
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 32,
- "source": 535,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 33,
- "source": 535,
- "pc": [
- 49
- ]
- },
- {
- "teal": 34,
- "source": 535,
- "pc": [
- 50
- ]
- },
- {
- "teal": 38,
- "source": 535,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 42,
- "source": 536,
- "pc": [
- 54,
- 55
- ]
- },
- {
- "teal": 43,
- "source": 536,
- "pc": [
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 44,
- "source": 536,
- "pc": [
- 70
- ]
- },
- {
- "teal": 45,
- "source": 536,
- "pc": [
- 71
- ]
- },
- {
- "teal": 46,
- "source": 535,
- "pc": [
- 72
- ]
- },
- {
- "teal": 49,
- "source": 534,
- "pc": [
- 73
- ]
- },
- {
- "teal": 50,
- "source": 534,
- "pc": [
- 74
- ]
- },
- {
- "teal": 53,
- "source": 534,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 54,
- "source": 534,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 55,
- "source": 534,
- "pc": [
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 58,
- "source": 534,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 88
- ]
- },
- {
- "teal": 61,
- "source": 534,
- "pc": [
- 89,
- 90,
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 62,
- "source": 534,
- "pc": [
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 63,
- "source": 534,
- "pc": [
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 66,
- "source": 534,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 102
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 534,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 534,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 534,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 534,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 534,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 534,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 534,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 534,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 534,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 535,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 535,
+ "pc": [
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 535,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 535,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 535,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 535,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 536,
+ "pc": [
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 536,
+ "pc": [
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 536,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 536,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 535,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 534,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 534,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 534,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 534,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 534,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 534,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 534,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 534,
+ "pc": [
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 534,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 534,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 102
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBcmcoc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9zdHJpbmdBcmc6CgkvLyBzOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdBcmcoc3RyaW5nKXZvaWQKCWNhbGxzdWIgc3RyaW5nQXJnCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdBcmcoczogc3RyaW5nKTogdm9pZApzdHJpbmdBcmc6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTM2CgkvLyBhc3NlcnQocyA9PT0gJ0hlbGxvIFdvcmxkIScpCglmcmFtZV9kaWcgLTEgLy8gczogc3RyaW5nCglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdHJpbmdBcmcoc3RyaW5nKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBcmcoc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9zdHJpbmdBcmc6CgkvLyBzOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdBcmcoc3RyaW5nKXZvaWQKCWNhbGxzdWIgc3RyaW5nQXJnCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdBcmcoczogc3RyaW5nKTogdm9pZApzdHJpbmdBcmc6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTM2CgkvLyBhc3NlcnQocyA9PT0gJ0hlbGxvIFdvcmxkIScpCglmcmFtZV9kaWcgLTEgLy8gczogc3RyaW5nCglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdHJpbmdBcmcoc3RyaW5nKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStringArray.approval.teal b/tests/contracts/artifacts/ABITestStringArray.approval.teal
index 71d7a44d4..26cb6bd07 100644
--- a/tests/contracts/artifacts/ABITestStringArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestStringArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStringArray.arc32.json b/tests/contracts/artifacts/ABITestStringArray.arc32.json
index 7ec6ca585..f8abcbff6 100644
--- a/tests/contracts/artifacts/ABITestStringArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestStringArray.arc32.json
@@ -44,7 +44,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBcnJheShzdHJpbmdbXSl2b2lkCiphYmlfcm91dGVfc3RyaW5nQXJyYXk6CgkvLyBhOiBzdHJpbmdbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoKCS8vIGV4ZWN1dGUgc3RyaW5nQXJyYXkoc3RyaW5nW10pdm9pZAoJY2FsbHN1YiBzdHJpbmdBcnJheQoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nQXJyYXkoYTogc3RyaW5nW10pOiB2b2lkCnN0cmluZ0FycmF5OgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExODMKCS8vIHRoaXMuZ0tleS52YWx1ZSA9IGEKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWZyYW1lX2RpZyAtMSAvLyBhOiBzdHJpbmdbXQoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBcnJheShzdHJpbmdbXSl2b2lkCiphYmlfcm91dGVfc3RyaW5nQXJyYXk6CgkvLyBhOiBzdHJpbmdbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoKCS8vIGV4ZWN1dGUgc3RyaW5nQXJyYXkoc3RyaW5nW10pdm9pZAoJY2FsbHN1YiBzdHJpbmdBcnJheQoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nQXJyYXkoYTogc3RyaW5nW10pOiB2b2lkCnN0cmluZ0FycmF5OgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExODMKCS8vIHRoaXMuZ0tleS52YWx1ZSA9IGEKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWZyYW1lX2RpZyAtMSAvLyBhOiBzdHJpbmdbXQoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStringArray.arc56_draft.json b/tests/contracts/artifacts/ABITestStringArray.arc56_draft.json
index 74183aac6..f06eb2e3b 100644
--- a/tests/contracts/artifacts/ABITestStringArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStringArray.arc56_draft.json
@@ -71,272 +71,275 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1179,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1179,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1179,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1179,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1179,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1179,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1179,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1179,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1179,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1182,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 31,
- "source": 1182,
- "pc": [
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 32,
- "source": 1182,
- "pc": [
- 46
- ]
- },
- {
- "teal": 33,
- "source": 1182,
- "pc": [
- 47
- ]
- },
- {
- "teal": 37,
- "source": 1182,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 41,
- "source": 1183,
- "pc": [
- 51,
- 52,
- 53,
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 42,
- "source": 1183,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1183,
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 1182,
- "pc": [
- 60
- ]
- },
- {
- "teal": 47,
- "source": 1179,
- "pc": [
- 61
- ]
- },
- {
- "teal": 48,
- "source": 1179,
- "pc": [
- 62
- ]
- },
- {
- "teal": 51,
- "source": 1179,
- "pc": [
- 63,
- 64,
- 65,
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 52,
- "source": 1179,
- "pc": [
- 69,
- 70,
- 71
- ]
- },
- {
- "teal": 53,
- "source": 1179,
- "pc": [
- 72,
- 73,
- 74,
- 75
- ]
- },
- {
- "teal": 56,
- "source": 1179,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 76
- ]
- },
- {
- "teal": 59,
- "source": 1179,
- "pc": [
- 77,
- 78,
- 79,
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 60,
- "source": 1179,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 61,
- "source": 1179,
- "pc": [
- 86,
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 64,
- "source": 1179,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 90
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1179,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1179,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1179,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1179,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1179,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1179,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1179,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1179,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1179,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1182,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1182,
+ "pc": [
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1182,
+ "pc": [
+ 46
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1182,
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1182,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1183,
+ "pc": [
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1183,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1183,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1182,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1179,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1179,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1179,
+ "pc": [
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1179,
+ "pc": [
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1179,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1179,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1179,
+ "pc": [
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1179,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1179,
+ "pc": [
+ 86,
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1179,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 90
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBcnJheShzdHJpbmdbXSl2b2lkCiphYmlfcm91dGVfc3RyaW5nQXJyYXk6CgkvLyBhOiBzdHJpbmdbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoKCS8vIGV4ZWN1dGUgc3RyaW5nQXJyYXkoc3RyaW5nW10pdm9pZAoJY2FsbHN1YiBzdHJpbmdBcnJheQoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nQXJyYXkoYTogc3RyaW5nW10pOiB2b2lkCnN0cmluZ0FycmF5OgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExODMKCS8vIHRoaXMuZ0tleS52YWx1ZSA9IGEKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWZyYW1lX2RpZyAtMSAvLyBhOiBzdHJpbmdbXQoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdBcnJheShzdHJpbmdbXSl2b2lkCiphYmlfcm91dGVfc3RyaW5nQXJyYXk6CgkvLyBhOiBzdHJpbmdbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoKCS8vIGV4ZWN1dGUgc3RyaW5nQXJyYXkoc3RyaW5nW10pdm9pZAoJY2FsbHN1YiBzdHJpbmdBcnJheQoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nQXJyYXkoYTogc3RyaW5nW10pOiB2b2lkCnN0cmluZ0FycmF5OgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExODMKCS8vIHRoaXMuZ0tleS52YWx1ZSA9IGEKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWZyYW1lX2RpZyAtMSAvLyBhOiBzdHJpbmdbXQoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStringInTuple.approval.teal b/tests/contracts/artifacts/ABITestStringInTuple.approval.teal
index 511bef109..79ed93b2b 100644
--- a/tests/contracts/artifacts/ABITestStringInTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestStringInTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStringInTuple.arc32.json b/tests/contracts/artifacts/ABITestStringInTuple.arc32.json
index 97f1bf77c..459426835 100644
--- a/tests/contracts/artifacts/ABITestStringInTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestStringInTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCiphYmlfcm91dGVfc3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCgljYWxsc3ViIHN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdJblR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCnN0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NDIKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0luVHVwbGUoKSh1aW50MTYsdWludDhbXSxzdHJpbmcsdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0luVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCiphYmlfcm91dGVfc3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCgljYWxsc3ViIHN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdJblR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCnN0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NDIKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0luVHVwbGUoKSh1aW50MTYsdWludDhbXSxzdHJpbmcsdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0luVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStringInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestStringInTuple.arc56_draft.json
index 979093025..e87a23dca 100644
--- a/tests/contracts/artifacts/ABITestStringInTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStringInTuple.arc56_draft.json
@@ -60,648 +60,651 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 540,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ]
- },
- {
- "teal": 13,
- "source": 540,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 14,
- "source": 540,
- "pc": [
- 9
- ]
- },
- {
- "teal": 15,
- "source": 540,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 16,
- "source": 540,
- "pc": [
- 12
- ]
- },
- {
- "teal": 17,
- "source": 540,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 18,
- "source": 540,
- "pc": [
- 15
- ]
- },
- {
- "teal": 19,
- "source": 540,
- "pc": [
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41
- ]
- },
- {
- "teal": 23,
- "source": 540,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 42
- ]
- },
- {
- "teal": 28,
- "source": 541,
- "pc": [
- 43,
- 44,
- 45,
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 31,
- "source": 541,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 32,
- "source": 541,
- "pc": [
- 52
- ]
- },
- {
- "teal": 33,
- "source": 541,
- "pc": [
- 53
- ]
- },
- {
- "teal": 34,
- "source": 541,
- "pc": [
- 54
- ]
- },
- {
- "teal": 35,
- "source": 541,
- "pc": [
- 55
- ]
- },
- {
- "teal": 39,
- "source": 541,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 42,
- "source": 541,
- "pc": [
- 59
- ]
- },
- {
- "teal": 46,
- "source": 542,
- "pc": [
- 60
- ]
- },
- {
- "teal": 47,
- "source": 542,
- "pc": [
- 61
- ]
- },
- {
- "teal": 48,
- "source": 542,
- "pc": [
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 49,
- "source": 542,
- "pc": [
- 66,
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 50,
- "source": 542,
- "pc": [
- 70,
- 71,
- 72
- ]
- },
- {
- "teal": 51,
- "source": 542,
- "pc": [
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 52,
- "source": 542,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 53,
- "source": 542,
- "pc": [
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 54,
- "source": 542,
- "pc": [
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 55,
- "source": 542,
- "pc": [
- 100,
- 101,
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 56,
- "source": 542,
- "pc": [
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 57,
- "source": 542,
- "pc": [
- 108
- ]
- },
- {
- "teal": 58,
- "source": 542,
- "pc": [
- 109
- ]
- },
- {
- "teal": 59,
- "source": 542,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 63,
- "source": 544,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 66,
- "source": 541,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 67,
- "source": 541,
- "pc": [
- 116
- ]
- },
- {
- "teal": 70,
- "source": 540,
- "pc": [
- 117
- ]
- },
- {
- "teal": 71,
- "source": 540,
- "pc": [
- 118
- ]
- },
- {
- "teal": 74,
- "source": 540,
- "pc": [
- 119,
- 120,
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 75,
- "source": 540,
- "pc": [
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 76,
- "source": 540,
- "pc": [
- 128,
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 79,
- "source": 540,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 132
- ]
- },
- {
- "teal": 82,
- "source": 540,
- "pc": [
- 133,
- 134,
- 135,
- 136,
- 137,
- 138
- ]
- },
- {
- "teal": 83,
- "source": 540,
- "pc": [
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 84,
- "source": 540,
- "pc": [
- 142,
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 87,
- "source": 540,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 146
- ]
- },
- {
- "teal": 90,
- "source": 540,
- "pc": [
- 147,
- 148,
- 149
- ]
- },
- {
- "teal": 91,
- "source": 540,
- "pc": [
- 150,
- 151
- ]
- },
- {
- "teal": 92,
- "source": 540,
- "pc": [
- 152,
- 153
- ]
- },
- {
- "teal": 93,
- "source": 540,
- "pc": [
- 154
- ]
- },
- {
- "teal": 94,
- "source": 540,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 95,
- "source": 540,
- "pc": [
- 157,
- 158
- ]
- },
- {
- "teal": 96,
- "source": 540,
- "pc": [
- 159
- ]
- },
- {
- "teal": 99,
- "source": 540,
- "pc": [
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 100,
- "source": 540,
- "pc": [
- 163,
- 164
- ]
- },
- {
- "teal": 101,
- "source": 540,
- "pc": [
- 165,
- 166
- ]
- },
- {
- "teal": 102,
- "source": 540,
- "pc": [
- 167
- ]
- },
- {
- "teal": 103,
- "source": 540,
- "pc": [
- 168,
- 169
- ]
- },
- {
- "teal": 104,
- "source": 540,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 105,
- "source": 540,
- "pc": [
- 172
- ]
- },
- {
- "teal": 106,
- "source": 540,
- "pc": [
- 173
- ]
- },
- {
- "teal": 107,
- "source": 540,
- "pc": [
- 174,
- 175
- ]
- },
- {
- "teal": 108,
- "source": 540,
- "pc": [
- 176
- ]
- },
- {
- "teal": 109,
- "source": 540,
- "pc": [
- 177
- ]
- },
- {
- "teal": 110,
- "source": 540,
- "pc": [
- 178
- ]
- },
- {
- "teal": 111,
- "source": 540,
- "pc": [
- 179,
- 180,
- 181
- ]
- },
- {
- "teal": 112,
- "source": 540,
- "pc": [
- 182,
- 183
- ]
- },
- {
- "teal": 113,
- "source": 540,
- "pc": [
- 184,
- 185
- ]
- },
- {
- "teal": 114,
- "source": 540,
- "pc": [
- 186
- ]
- },
- {
- "teal": 115,
- "source": 540,
- "pc": [
- 187
- ]
- },
- {
- "teal": 116,
- "source": 540,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 117,
- "source": 540,
- "pc": [
- 190,
- 191
- ]
- },
- {
- "teal": 118,
- "source": 540,
- "pc": [
- 192,
- 193
- ]
- },
- {
- "teal": 119,
- "source": 540,
- "pc": [
- 194,
- 195
- ]
- },
- {
- "teal": 120,
- "source": 540,
- "pc": [
- 196
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 540,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 540,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 540,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 540,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 540,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 540,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 540,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 540,
+ "pc": [
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 540,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 42
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 541,
+ "pc": [
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 541,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 541,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 541,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 541,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 541,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 541,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 541,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 542,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 542,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 542,
+ "pc": [
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 542,
+ "pc": [
+ 66,
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 542,
+ "pc": [
+ 70,
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 542,
+ "pc": [
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 542,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 542,
+ "pc": [
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 542,
+ "pc": [
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 542,
+ "pc": [
+ 100,
+ 101,
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 542,
+ "pc": [
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 542,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 542,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 542,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 544,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 541,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 541,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 540,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 540,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 540,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 540,
+ "pc": [
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 540,
+ "pc": [
+ 128,
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 540,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 540,
+ "pc": [
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 540,
+ "pc": [
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 540,
+ "pc": [
+ 142,
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 540,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 540,
+ "pc": [
+ 147,
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 540,
+ "pc": [
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 540,
+ "pc": [
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 540,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 540,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 540,
+ "pc": [
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 540,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 540,
+ "pc": [
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 540,
+ "pc": [
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 540,
+ "pc": [
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 540,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 540,
+ "pc": [
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 540,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 540,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 540,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 540,
+ "pc": [
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 540,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 540,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 540,
+ "pc": [
+ 178
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 540,
+ "pc": [
+ 179,
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 540,
+ "pc": [
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 540,
+ "pc": [
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 540,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 540,
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 540,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 540,
+ "pc": [
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 540,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 540,
+ "pc": [
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 540,
+ "pc": [
+ 196
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCiphYmlfcm91dGVfc3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCgljYWxsc3ViIHN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdJblR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCnN0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NDIKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0luVHVwbGUoKSh1aW50MTYsdWludDhbXSxzdHJpbmcsdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0luVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCiphYmlfcm91dGVfc3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCgljYWxsc3ViIHN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdJblR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCnN0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NDIKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0luVHVwbGUoKSh1aW50MTYsdWludDhbXSxzdHJpbmcsdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0luVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStringLength.approval.teal b/tests/contracts/artifacts/ABITestStringLength.approval.teal
index 04161f627..39c8dac9e 100644
--- a/tests/contracts/artifacts/ABITestStringLength.approval.teal
+++ b/tests/contracts/artifacts/ABITestStringLength.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStringLength.arc32.json b/tests/contracts/artifacts/ABITestStringLength.arc32.json
index b10c9e0f0..76a7d68fa 100644
--- a/tests/contracts/artifacts/ABITestStringLength.arc32.json
+++ b/tests/contracts/artifacts/ABITestStringLength.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ0xlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdMZW5ndGgoKTogdWludDY0CnN0cmluZ0xlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc0MwoJLy8gcyA9IGNvbmNhdCgnZm9vICcsICdiYXInKQoJYnl0ZSAweDY2NmY2ZjIwNjI2MTcyCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc0NQoJLy8gcmV0dXJuIHMubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglsZW4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0xlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdHJpbmdMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ0xlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdMZW5ndGgoKTogdWludDY0CnN0cmluZ0xlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc0MwoJLy8gcyA9IGNvbmNhdCgnZm9vICcsICdiYXInKQoJYnl0ZSAweDY2NmY2ZjIwNjI2MTcyCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc0NQoJLy8gcmV0dXJuIHMubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglsZW4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0xlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdHJpbmdMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStringLength.arc56_draft.json b/tests/contracts/artifacts/ABITestStringLength.arc56_draft.json
index a32e820de..56c7d63f8 100644
--- a/tests/contracts/artifacts/ABITestStringLength.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStringLength.arc56_draft.json
@@ -60,323 +60,326 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 741,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 741,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 741,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 741,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 741,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 741,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 741,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 741,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 741,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 742,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 742,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 742,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 742,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 742,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 742,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 742,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 742,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 742,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 743,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 48,
- "source": 743,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 52,
- "source": 745,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 53,
- "source": 745,
- "pc": [
- 72
- ]
- },
- {
- "teal": 56,
- "source": 742,
- "pc": [
- 73,
- 74
- ]
- },
- {
- "teal": 57,
- "source": 742,
- "pc": [
- 75
- ]
- },
- {
- "teal": 60,
- "source": 741,
- "pc": [
- 76
- ]
- },
- {
- "teal": 61,
- "source": 741,
- "pc": [
- 77
- ]
- },
- {
- "teal": 64,
- "source": 741,
- "pc": [
- 78,
- 79,
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 65,
- "source": 741,
- "pc": [
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 66,
- "source": 741,
- "pc": [
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 69,
- "source": 741,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 91
- ]
- },
- {
- "teal": 72,
- "source": 741,
- "pc": [
- 92,
- 93,
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 73,
- "source": 741,
- "pc": [
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 74,
- "source": 741,
- "pc": [
- 101,
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 77,
- "source": 741,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 105
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 741,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 741,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 741,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 741,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 741,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 741,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 741,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 741,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 741,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 742,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 742,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 742,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 742,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 742,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 742,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 742,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 742,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 742,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 743,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 743,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 745,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 745,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 742,
+ "pc": [
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 742,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 741,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 741,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 741,
+ "pc": [
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 741,
+ "pc": [
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 741,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 741,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 741,
+ "pc": [
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 741,
+ "pc": [
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 741,
+ "pc": [
+ 101,
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 741,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 105
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ0xlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdMZW5ndGgoKTogdWludDY0CnN0cmluZ0xlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc0MwoJLy8gcyA9IGNvbmNhdCgnZm9vICcsICdiYXInKQoJYnl0ZSAweDY2NmY2ZjIwNjI2MTcyCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc0NQoJLy8gcmV0dXJuIHMubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglsZW4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0xlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdHJpbmdMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ0xlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzdHJpbmdMZW5ndGgoKTogdWludDY0CnN0cmluZ0xlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc0MwoJLy8gcyA9IGNvbmNhdCgnZm9vICcsICdiYXInKQoJYnl0ZSAweDY2NmY2ZjIwNjI2MTcyCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc0NQoJLy8gcmV0dXJuIHMubGVuZ3RoOwoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglsZW4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInN0cmluZ0xlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdHJpbmdMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestStringReturn.approval.teal b/tests/contracts/artifacts/ABITestStringReturn.approval.teal
index b887d1218..3cc52af80 100644
--- a/tests/contracts/artifacts/ABITestStringReturn.approval.teal
+++ b/tests/contracts/artifacts/ABITestStringReturn.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestStringReturn.arc32.json b/tests/contracts/artifacts/ABITestStringReturn.arc32.json
index 346754028..79ddb4c55 100644
--- a/tests/contracts/artifacts/ABITestStringReturn.arc32.json
+++ b/tests/contracts/artifacts/ABITestStringReturn.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdSZXR1cm4oKXN0cmluZwoqYWJpX3JvdXRlX3N0cmluZ1JldHVybjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdSZXR1cm4oKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdSZXR1cm4KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nUmV0dXJuKCk6IHN0cmluZwpzdHJpbmdSZXR1cm46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTMwCgkvLyByZXR1cm4gJ0hlbGxvIFdvcmxkISc7CglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdHJpbmdSZXR1cm4oKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdSZXR1cm4oKXN0cmluZwoqYWJpX3JvdXRlX3N0cmluZ1JldHVybjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdSZXR1cm4oKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdSZXR1cm4KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nUmV0dXJuKCk6IHN0cmluZwpzdHJpbmdSZXR1cm46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTMwCgkvLyByZXR1cm4gJ0hlbGxvIFdvcmxkISc7CglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdHJpbmdSZXR1cm4oKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestStringReturn.arc56_draft.json b/tests/contracts/artifacts/ABITestStringReturn.arc56_draft.json
index f446cfc6a..65fa16da8 100644
--- a/tests/contracts/artifacts/ABITestStringReturn.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestStringReturn.arc56_draft.json
@@ -60,326 +60,329 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 528,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 528,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 528,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 528,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 528,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 528,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 528,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 528,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 528,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 529,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 529,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 529,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 529,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 529,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 529,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 36,
- "source": 529,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 529,
- "pc": [
- 56
- ]
- },
- {
- "teal": 38,
- "source": 529,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 529,
- "pc": [
- 58
- ]
- },
- {
- "teal": 40,
- "source": 529,
- "pc": [
- 59
- ]
- },
- {
- "teal": 41,
- "source": 529,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 529,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 49,
- "source": 530,
- "pc": [
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 50,
- "source": 529,
- "pc": [
- 78
- ]
- },
- {
- "teal": 53,
- "source": 528,
- "pc": [
- 79
- ]
- },
- {
- "teal": 54,
- "source": 528,
- "pc": [
- 80
- ]
- },
- {
- "teal": 57,
- "source": 528,
- "pc": [
- 81,
- 82,
- 83,
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 58,
- "source": 528,
- "pc": [
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 59,
- "source": 528,
- "pc": [
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 62,
- "source": 528,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 94
- ]
- },
- {
- "teal": 65,
- "source": 528,
- "pc": [
- 95,
- 96,
- 97,
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 66,
- "source": 528,
- "pc": [
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 67,
- "source": 528,
- "pc": [
- 104,
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 70,
- "source": 528,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 108
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 528,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 528,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 528,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 528,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 528,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 528,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 528,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 528,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 528,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 529,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 529,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 529,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 529,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 529,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 529,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 529,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 529,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 529,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 529,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 529,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 529,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 529,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 530,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 529,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 528,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 528,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 528,
+ "pc": [
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 528,
+ "pc": [
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 528,
+ "pc": [
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 528,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 528,
+ "pc": [
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 528,
+ "pc": [
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 528,
+ "pc": [
+ 104,
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 528,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 108
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdSZXR1cm4oKXN0cmluZwoqYWJpX3JvdXRlX3N0cmluZ1JldHVybjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdSZXR1cm4oKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdSZXR1cm4KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nUmV0dXJuKCk6IHN0cmluZwpzdHJpbmdSZXR1cm46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTMwCgkvLyByZXR1cm4gJ0hlbGxvIFdvcmxkISc7CglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdHJpbmdSZXR1cm4oKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdSZXR1cm4oKXN0cmluZwoqYWJpX3JvdXRlX3N0cmluZ1JldHVybjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdSZXR1cm4oKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdSZXR1cm4KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nUmV0dXJuKCk6IHN0cmluZwpzdHJpbmdSZXR1cm46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTMwCgkvLyByZXR1cm4gJ0hlbGxvIFdvcmxkISc7CglieXRlIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJzdHJpbmdSZXR1cm4oKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.approval.teal b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.approval.teal
index 565dd6da8..daae32bbd 100644
--- a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.approval.teal
+++ b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc32.json b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc32.json
index 6566c96fa..653654e41 100644
--- a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc32.json
+++ b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoqYWJpX3JvdXRlX3RocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKTogdWludDE2CnRocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzOAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgWzMzLCA0NF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbNTUsIDY2XSwKCS8vICAgICAgICAgWzc3LCA4OF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDBiMDAxNjAwMjEwMDJjMDAzNzAwNDIwMDRkMDA1OAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNDkKCS8vIGFbMV1bMV0gPSBbNzc3LCA4ODhdCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCWJ5dGUgMHgwMzA5MDM3OAoJcmVwbGFjZTIgMTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjUxCgkvLyByZXR1cm4gYVsxXVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoJZXh0cmFjdCAxNCAyCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoqYWJpX3JvdXRlX3RocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKTogdWludDE2CnRocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzOAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgWzMzLCA0NF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbNTUsIDY2XSwKCS8vICAgICAgICAgWzc3LCA4OF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDBiMDAxNjAwMjEwMDJjMDAzNzAwNDIwMDRkMDA1OAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNDkKCS8vIGFbMV1bMV0gPSBbNzc3LCA4ODhdCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCWJ5dGUgMHgwMzA5MDM3OAoJcmVwbGFjZTIgMTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjUxCgkvLyByZXR1cm4gYVsxXVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoJZXh0cmFjdCAxNCAyCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc56_draft.json b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc56_draft.json
index e33b79ee6..a14cc9239 100644
--- a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc56_draft.json
@@ -60,423 +60,426 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 236,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 236,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 236,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 236,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 236,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 236,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 236,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 236,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 236,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 237,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 237,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 237,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 237,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 237,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 237,
- "pc": [
- 52,
- 53
- ]
- },
- {
- "teal": 36,
- "source": 237,
- "pc": [
- 54
- ]
- },
- {
- "teal": 39,
- "source": 237,
- "errorMessage": "threeDimensionalUint16Array return value overflowed 16 bits",
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 237,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 41,
- "source": 237,
- "pc": [
- 59
- ]
- },
- {
- "teal": 42,
- "source": 237,
- "pc": [
- 60
- ]
- },
- {
- "teal": 43,
- "source": 237,
- "pc": [
- 61
- ]
- },
- {
- "teal": 44,
- "source": 237,
- "pc": [
- 62
- ]
- },
- {
- "teal": 48,
- "source": 237,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 51,
- "source": 237,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 64,
- "source": 238,
- "pc": [
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 65,
- "source": 238,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 69,
- "source": 249,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 70,
- "source": 249,
- "pc": [
- 90,
- 91,
- 92,
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 71,
- "source": 249,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 72,
- "source": 249,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 76,
- "source": 251,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 77,
- "source": 251,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 78,
- "source": 251,
- "pc": [
- 105
- ]
- },
- {
- "teal": 81,
- "source": 237,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 82,
- "source": 237,
- "pc": [
- 108
- ]
- },
- {
- "teal": 85,
- "source": 236,
- "pc": [
- 109
- ]
- },
- {
- "teal": 86,
- "source": 236,
- "pc": [
- 110
- ]
- },
- {
- "teal": 89,
- "source": 236,
- "pc": [
- 111,
- 112,
- 113,
- 114,
- 115,
- 116
- ]
- },
- {
- "teal": 90,
- "source": 236,
- "pc": [
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 91,
- "source": 236,
- "pc": [
- 120,
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 94,
- "source": 236,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 124
- ]
- },
- {
- "teal": 97,
- "source": 236,
- "pc": [
- 125,
- 126,
- 127,
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 98,
- "source": 236,
- "pc": [
- 131,
- 132,
- 133
- ]
- },
- {
- "teal": 99,
- "source": 236,
- "pc": [
- 134,
- 135,
- 136,
- 137
- ]
- },
- {
- "teal": 102,
- "source": 236,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 138
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 236,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 236,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 236,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 236,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 236,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 236,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 236,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 236,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 236,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 237,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 237,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 237,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 237,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 237,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 237,
+ "pc": [
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 237,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 237,
+ "errorMessage": "threeDimensionalUint16Array return value overflowed 16 bits",
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 237,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 237,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 237,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 237,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 237,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 237,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 237,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 238,
+ "pc": [
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 238,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 249,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 249,
+ "pc": [
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 249,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 249,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 251,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 251,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 251,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 237,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 237,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 236,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 236,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 236,
+ "pc": [
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 236,
+ "pc": [
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 236,
+ "pc": [
+ 120,
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 236,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 236,
+ "pc": [
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 236,
+ "pc": [
+ 131,
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 236,
+ "pc": [
+ 134,
+ 135,
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 236,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 138
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoqYWJpX3JvdXRlX3RocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKTogdWludDE2CnRocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzOAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgWzMzLCA0NF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbNTUsIDY2XSwKCS8vICAgICAgICAgWzc3LCA4OF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDBiMDAxNjAwMjEwMDJjMDAzNzAwNDIwMDRkMDA1OAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNDkKCS8vIGFbMV1bMV0gPSBbNzc3LCA4ODhdCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCWJ5dGUgMHgwMzA5MDM3OAoJcmVwbGFjZTIgMTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjUxCgkvLyByZXR1cm4gYVsxXVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoJZXh0cmFjdCAxNCAyCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoqYWJpX3JvdXRlX3RocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKTogdWludDE2CnRocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzOAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgWzMzLCA0NF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbNTUsIDY2XSwKCS8vICAgICAgICAgWzc3LCA4OF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDBiMDAxNjAwMjEwMDJjMDAzNzAwNDIwMDRkMDA1OAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNDkKCS8vIGFbMV1bMV0gPSBbNzc3LCA4ODhdCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCWJ5dGUgMHgwMzA5MDM3OAoJcmVwbGFjZTIgMTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjUxCgkvLyByZXR1cm4gYVsxXVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoJZXh0cmFjdCAxNCAyCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestTupleArg.approval.teal b/tests/contracts/artifacts/ABITestTupleArg.approval.teal
index 2ed055717..2798de926 100644
--- a/tests/contracts/artifacts/ABITestTupleArg.approval.teal
+++ b/tests/contracts/artifacts/ABITestTupleArg.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestTupleArg.arc32.json b/tests/contracts/artifacts/ABITestTupleArg.arc32.json
index 4f08f9c4a..050731021 100644
--- a/tests/contracts/artifacts/ABITestTupleArg.arc32.json
+++ b/tests/contracts/artifacts/ABITestTupleArg.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNgoqYWJpX3JvdXRlX3R1cGxlQXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiAodWludDY0LHVpbnQxNix1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDE4Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0dXBsZUFyZyBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50MTYsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUFyZwoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyB0dXBsZUFyZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdHVwbGVBcmcoYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdKTogdWludDE2CnR1cGxlQXJnOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM0MgoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCglleHRyYWN0IDggMgoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R1cGxlQXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNgoqYWJpX3JvdXRlX3R1cGxlQXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiAodWludDY0LHVpbnQxNix1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDE4Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0dXBsZUFyZyBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50MTYsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUFyZwoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyB0dXBsZUFyZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdHVwbGVBcmcoYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdKTogdWludDE2CnR1cGxlQXJnOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM0MgoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCglleHRyYWN0IDggMgoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R1cGxlQXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestTupleArg.arc56_draft.json b/tests/contracts/artifacts/ABITestTupleArg.arc56_draft.json
index 95981c00d..f3459eb5c 100644
--- a/tests/contracts/artifacts/ABITestTupleArg.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestTupleArg.arc56_draft.json
@@ -65,385 +65,388 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 340,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 340,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 340,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 340,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 340,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 340,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 340,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 340,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 340,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 341,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 341,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 341,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 341,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 341,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 341,
- "pc": [
- 53
- ]
- },
- {
- "teal": 38,
- "source": 341,
- "errorMessage": "argument 0 (a) for tupleArg must be a (uint64,uint16,uint64)",
- "pc": [
- 54
- ]
- },
- {
- "teal": 41,
- "source": 341,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 42,
- "source": 341,
- "pc": [
- 58
- ]
- },
- {
- "teal": 43,
- "source": 341,
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 341,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 341,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 46,
- "source": 341,
- "pc": [
- 63
- ]
- },
- {
- "teal": 49,
- "source": 341,
- "errorMessage": "tupleArg return value overflowed 16 bits",
- "pc": [
- 64
- ]
- },
- {
- "teal": 50,
- "source": 341,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 51,
- "source": 341,
- "pc": [
- 68
- ]
- },
- {
- "teal": 52,
- "source": 341,
- "pc": [
- 69
- ]
- },
- {
- "teal": 53,
- "source": 341,
- "pc": [
- 70
- ]
- },
- {
- "teal": 54,
- "source": 341,
- "pc": [
- 71
- ]
- },
- {
- "teal": 58,
- "source": 341,
- "pc": [
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 62,
- "source": 342,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 63,
- "source": 342,
- "pc": [
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 64,
- "source": 342,
- "pc": [
- 80
- ]
- },
- {
- "teal": 65,
- "source": 341,
- "pc": [
- 81
- ]
- },
- {
- "teal": 68,
- "source": 340,
- "pc": [
- 82
- ]
- },
- {
- "teal": 69,
- "source": 340,
- "pc": [
- 83
- ]
- },
- {
- "teal": 72,
- "source": 340,
- "pc": [
- 84,
- 85,
- 86,
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 73,
- "source": 340,
- "pc": [
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 74,
- "source": 340,
- "pc": [
- 93,
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 77,
- "source": 340,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 97
- ]
- },
- {
- "teal": 80,
- "source": 340,
- "pc": [
- 98,
- 99,
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 81,
- "source": 340,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 82,
- "source": 340,
- "pc": [
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 85,
- "source": 340,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 111
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 340,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 340,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 340,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 340,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 340,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 340,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 340,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 340,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 340,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 341,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 341,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 341,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 341,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 341,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 341,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 341,
+ "errorMessage": "argument 0 (a) for tupleArg must be a (uint64,uint16,uint64)",
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 341,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 341,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 341,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 341,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 341,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 341,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 341,
+ "errorMessage": "tupleArg return value overflowed 16 bits",
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 341,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 341,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 341,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 341,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 341,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 341,
+ "pc": [
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 342,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 342,
+ "pc": [
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 342,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 341,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 340,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 340,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 340,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 340,
+ "pc": [
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 340,
+ "pc": [
+ 93,
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 340,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 340,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 340,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 340,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 340,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 111
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNgoqYWJpX3JvdXRlX3R1cGxlQXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiAodWludDY0LHVpbnQxNix1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDE4Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0dXBsZUFyZyBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50MTYsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUFyZwoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyB0dXBsZUFyZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdHVwbGVBcmcoYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdKTogdWludDE2CnR1cGxlQXJnOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM0MgoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCglleHRyYWN0IDggMgoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R1cGxlQXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNgoqYWJpX3JvdXRlX3R1cGxlQXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhOiAodWludDY0LHVpbnQxNix1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDE4Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0dXBsZUFyZyBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50MTYsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUFyZwoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyB0dXBsZUFyZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdHVwbGVBcmcoYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdKTogdWludDE2CnR1cGxlQXJnOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM0MgoJLy8gcmV0dXJuIGFbMV07CglmcmFtZV9kaWcgLTEgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCglleHRyYWN0IDggMgoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R1cGxlQXJnCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestTupleInArray.approval.teal b/tests/contracts/artifacts/ABITestTupleInArray.approval.teal
index 39e4f5ecb..23d319b2b 100644
--- a/tests/contracts/artifacts/ABITestTupleInArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestTupleInArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestTupleInArray.arc32.json b/tests/contracts/artifacts/ABITestTupleInArray.arc32.json
index 46dea709b..a092fa043 100644
--- a/tests/contracts/artifacts/ABITestTupleInArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestTupleInArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUluQXJyYXkoKXVpbnQxNgoqYWJpX3JvdXRlX3R1cGxlSW5BcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluQXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUluQXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gdHVwbGVJbkFycmF5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0dXBsZUluQXJyYXkoKTogdWludDE2CnR1cGxlSW5BcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI3MwoJLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mjc4CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFt1aW50NjQsIHVpbnQxNl0sIDI+CglleHRyYWN0IDE4IDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR1cGxlSW5BcnJheSgpdWludDE2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90dXBsZUluQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUluQXJyYXkoKXVpbnQxNgoqYWJpX3JvdXRlX3R1cGxlSW5BcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluQXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUluQXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gdHVwbGVJbkFycmF5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0dXBsZUluQXJyYXkoKTogdWludDE2CnR1cGxlSW5BcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI3MwoJLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mjc4CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFt1aW50NjQsIHVpbnQxNl0sIDI+CglleHRyYWN0IDE4IDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR1cGxlSW5BcnJheSgpdWludDE2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90dXBsZUluQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestTupleInArray.arc56_draft.json b/tests/contracts/artifacts/ABITestTupleInArray.arc56_draft.json
index e6896a165..ba8445264 100644
--- a/tests/contracts/artifacts/ABITestTupleInArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestTupleInArray.arc56_draft.json
@@ -60,391 +60,394 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 271,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 271,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 271,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 271,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 271,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 271,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 271,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 271,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 271,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 272,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 272,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 272,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 272,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 272,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 272,
- "pc": [
- 52,
- 53
- ]
- },
- {
- "teal": 36,
- "source": 272,
- "pc": [
- 54
- ]
- },
- {
- "teal": 39,
- "source": 272,
- "errorMessage": "tupleInArray return value overflowed 16 bits",
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 272,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 41,
- "source": 272,
- "pc": [
- 59
- ]
- },
- {
- "teal": 42,
- "source": 272,
- "pc": [
- 60
- ]
- },
- {
- "teal": 43,
- "source": 272,
- "pc": [
- 61
- ]
- },
- {
- "teal": 44,
- "source": 272,
- "pc": [
- 62
- ]
- },
- {
- "teal": 48,
- "source": 272,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 51,
- "source": 272,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 58,
- "source": 273,
- "pc": [
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 59,
- "source": 273,
- "pc": [
- 90,
- 91
- ]
- },
- {
- "teal": 63,
- "source": 278,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 64,
- "source": 278,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 65,
- "source": 278,
- "pc": [
- 97
- ]
- },
- {
- "teal": 68,
- "source": 272,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 69,
- "source": 272,
- "pc": [
- 100
- ]
- },
- {
- "teal": 72,
- "source": 271,
- "pc": [
- 101
- ]
- },
- {
- "teal": 73,
- "source": 271,
- "pc": [
- 102
- ]
- },
- {
- "teal": 76,
- "source": 271,
- "pc": [
- 103,
- 104,
- 105,
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 77,
- "source": 271,
- "pc": [
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 78,
- "source": 271,
- "pc": [
- 112,
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 81,
- "source": 271,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 116
- ]
- },
- {
- "teal": 84,
- "source": 271,
- "pc": [
- 117,
- 118,
- 119,
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 85,
- "source": 271,
- "pc": [
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 86,
- "source": 271,
- "pc": [
- 126,
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 89,
- "source": 271,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 130
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 271,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 271,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 271,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 271,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 271,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 271,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 271,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 271,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 271,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 272,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 272,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 272,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 272,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 272,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 272,
+ "pc": [
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 272,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 272,
+ "errorMessage": "tupleInArray return value overflowed 16 bits",
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 272,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 272,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 272,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 272,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 272,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 272,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 272,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 273,
+ "pc": [
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 273,
+ "pc": [
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 278,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 278,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 278,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 272,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 272,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 271,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 271,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 271,
+ "pc": [
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 271,
+ "pc": [
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 271,
+ "pc": [
+ 112,
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 271,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 271,
+ "pc": [
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 271,
+ "pc": [
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 271,
+ "pc": [
+ 126,
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 271,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 130
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUluQXJyYXkoKXVpbnQxNgoqYWJpX3JvdXRlX3R1cGxlSW5BcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluQXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUluQXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gdHVwbGVJbkFycmF5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0dXBsZUluQXJyYXkoKTogdWludDE2CnR1cGxlSW5BcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI3MwoJLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mjc4CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFt1aW50NjQsIHVpbnQxNl0sIDI+CglleHRyYWN0IDE4IDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR1cGxlSW5BcnJheSgpdWludDE2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90dXBsZUluQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUluQXJyYXkoKXVpbnQxNgoqYWJpX3JvdXRlX3R1cGxlSW5BcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluQXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUluQXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gdHVwbGVJbkFycmF5IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0dXBsZUluQXJyYXkoKTogdWludDE2CnR1cGxlSW5BcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI3MwoJLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mjc4CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFt1aW50NjQsIHVpbnQxNl0sIDI+CglleHRyYWN0IDE4IDIKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR1cGxlSW5BcnJheSgpdWludDE2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90dXBsZUluQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestTupleInTuple.approval.teal b/tests/contracts/artifacts/ABITestTupleInTuple.approval.teal
index 2f9594987..23b91e3f4 100644
--- a/tests/contracts/artifacts/ABITestTupleInTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestTupleInTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestTupleInTuple.arc32.json b/tests/contracts/artifacts/ABITestTupleInTuple.arc32.json
index 39d9d7e31..bf7902121 100644
--- a/tests/contracts/artifacts/ABITestTupleInTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestTupleInTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUluVHVwbGUoKXVpbnQ2NAoqYWJpX3JvdXRlX3R1cGxlSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiB0dXBsZUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0dXBsZUluVHVwbGUoKTogdWludDY0CnR1cGxlSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI4NAoJLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXSA9IFsxMSwgMjIsIFszMywgNDRdLCBbNTUsIDY2XV0KCWJ5dGUgMHgwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjMDAzNzAwMDAwMDAwMDAwMDAwNDIKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI4NgoJLy8gcmV0dXJuIGFbM11bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dCglleHRyYWN0IDE2IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR1cGxlSW5UdXBsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90dXBsZUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUluVHVwbGUoKXVpbnQ2NAoqYWJpX3JvdXRlX3R1cGxlSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiB0dXBsZUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0dXBsZUluVHVwbGUoKTogdWludDY0CnR1cGxlSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI4NAoJLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXSA9IFsxMSwgMjIsIFszMywgNDRdLCBbNTUsIDY2XV0KCWJ5dGUgMHgwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjMDAzNzAwMDAwMDAwMDAwMDAwNDIKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI4NgoJLy8gcmV0dXJuIGFbM11bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dCglleHRyYWN0IDE2IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR1cGxlSW5UdXBsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90dXBsZUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestTupleInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestTupleInTuple.arc56_draft.json
index 96d72b765..21dfe99ae 100644
--- a/tests/contracts/artifacts/ABITestTupleInTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestTupleInTuple.arc56_draft.json
@@ -60,349 +60,352 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 282,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 282,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 282,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 282,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 282,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 282,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 282,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 282,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 282,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 283,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 283,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 283,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 283,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 283,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 283,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 283,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 283,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 283,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 284,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 48,
- "source": 284,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 52,
- "source": 286,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 53,
- "source": 286,
- "pc": [
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 54,
- "source": 286,
- "pc": [
- 92
- ]
- },
- {
- "teal": 57,
- "source": 283,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 58,
- "source": 283,
- "pc": [
- 95
- ]
- },
- {
- "teal": 61,
- "source": 282,
- "pc": [
- 96
- ]
- },
- {
- "teal": 62,
- "source": 282,
- "pc": [
- 97
- ]
- },
- {
- "teal": 65,
- "source": 282,
- "pc": [
- 98,
- 99,
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 66,
- "source": 282,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 67,
- "source": 282,
- "pc": [
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 70,
- "source": 282,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 111
- ]
- },
- {
- "teal": 73,
- "source": 282,
- "pc": [
- 112,
- 113,
- 114,
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 74,
- "source": 282,
- "pc": [
- 118,
- 119,
- 120
- ]
- },
- {
- "teal": 75,
- "source": 282,
- "pc": [
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 78,
- "source": 282,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 125
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 282,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 282,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 282,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 282,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 282,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 282,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 282,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 282,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 282,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 283,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 283,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 283,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 283,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 283,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 283,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 283,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 283,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 283,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 284,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 284,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 286,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 286,
+ "pc": [
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 286,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 283,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 283,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 282,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 282,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 282,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 282,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 282,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 282,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 282,
+ "pc": [
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 282,
+ "pc": [
+ 118,
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 282,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 282,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 125
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUluVHVwbGUoKXVpbnQ2NAoqYWJpX3JvdXRlX3R1cGxlSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiB0dXBsZUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0dXBsZUluVHVwbGUoKTogdWludDY0CnR1cGxlSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI4NAoJLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXSA9IFsxMSwgMjIsIFszMywgNDRdLCBbNTUsIDY2XV0KCWJ5dGUgMHgwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjMDAzNzAwMDAwMDAwMDAwMDAwNDIKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI4NgoJLy8gcmV0dXJuIGFbM11bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dCglleHRyYWN0IDE2IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR1cGxlSW5UdXBsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90dXBsZUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0dXBsZUluVHVwbGUoKXVpbnQ2NAoqYWJpX3JvdXRlX3R1cGxlSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiB0dXBsZUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0dXBsZUluVHVwbGUoKTogdWludDY0CnR1cGxlSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI4NAoJLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXSA9IFsxMSwgMjIsIFszMywgNDRdLCBbNTUsIDY2XV0KCWJ5dGUgMHgwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDJjMDAzNzAwMDAwMDAwMDAwMDAwNDIKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI4NgoJLy8gcmV0dXJuIGFbM11bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dCglleHRyYWN0IDE2IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR1cGxlSW5UdXBsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90dXBsZUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestTxnTypes.approval.teal b/tests/contracts/artifacts/ABITestTxnTypes.approval.teal
index e315464cb..5c9b36122 100644
--- a/tests/contracts/artifacts/ABITestTxnTypes.approval.teal
+++ b/tests/contracts/artifacts/ABITestTxnTypes.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestTxnTypes.arc32.json b/tests/contracts/artifacts/ABITestTxnTypes.arc32.json
index cef3d90a0..9de989e0b 100644
--- a/tests/contracts/artifacts/ABITestTxnTypes.arc32.json
+++ b/tests/contracts/artifacts/ABITestTxnTypes.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkCiphYmlfcm91dGVfdHhuVHlwZXM6CgkvLyBwOiBwYXkKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChwKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8ga3I6IGtleXJlZwoJdHhuIEdyb3VwSW5kZXgKCWludCAyCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQga2V5cmVnCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGtyKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGtleXJlZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYXQ6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50IDMKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCAyIChhdCkgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYWY6IGFmcnoKCXR4biBHcm91cEluZGV4CglpbnQgNAoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGFmcnoKCT09CgoJLy8gYXJndW1lbnQgMyAoYWYpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWZyeiB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYWM6IGFjZmcKCXR4biBHcm91cEluZGV4CglpbnQgNQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGFjZmcKCT09CgoJLy8gYXJndW1lbnQgNCAoYWMpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWNmZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYTogYXBwbAoJdHhuIEdyb3VwSW5kZXgKCWludCA2CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXBwbAoJPT0KCgkvLyBhcmd1bWVudCA1IChhKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGFwcGwgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIHQ6IHR4bgoJdHhuIEdyb3VwSW5kZXgKCWludCA3CgktCgoJLy8gZXhlY3V0ZSB0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkCgljYWxsc3ViIHR4blR5cGVzCglpbnQgMQoJcmV0dXJuCgovLyB0eG5UeXBlcyh0OiBUeG4sIGE6IEFwcENhbGxUeG4sIGFjOiBBc3NldENvbmZpZ1R4biwgYWY6IEFzc2V0RnJlZXplVHhuLCBhdDogQXNzZXRUcmFuc2ZlclR4biwga3I6IEtleVJlZ1R4biwgcDogUGF5VHhuKTogdm9pZAp0eG5UeXBlczoKCXByb3RvIDcgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjYKCS8vIGFzc2VydCh0LnNlbmRlciA9PT0gYS5zZW5kZXIpCglmcmFtZV9kaWcgLTEgLy8gdDogVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBhOiBBcHBDYWxsVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzI3CgkvLyBhc3NlcnQoYWMuc2VuZGVyID09PSBhZi5zZW5kZXIpCglmcmFtZV9kaWcgLTMgLy8gYWM6IEFzc2V0Q29uZmlnVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtNCAvLyBhZjogQXNzZXRGcmVlemVUeG4KCWd0eG5zIFNlbmRlcgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjgKCS8vIGFzc2VydChhdC5zZW5kZXIgPT09IGtyLnNlbmRlcikKCWZyYW1lX2RpZyAtNSAvLyBhdDogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTYgLy8ga3I6IEtleVJlZ1R4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyOQoJLy8gYXNzZXJ0KHAuc2VuZGVyID09PSB0LnNlbmRlcikKCWZyYW1lX2RpZyAtNyAvLyBwOiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHQ6IFR4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkCiphYmlfcm91dGVfdHhuVHlwZXM6CgkvLyBwOiBwYXkKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChwKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8ga3I6IGtleXJlZwoJdHhuIEdyb3VwSW5kZXgKCWludCAyCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQga2V5cmVnCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGtyKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGtleXJlZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYXQ6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50IDMKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCAyIChhdCkgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYWY6IGFmcnoKCXR4biBHcm91cEluZGV4CglpbnQgNAoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGFmcnoKCT09CgoJLy8gYXJndW1lbnQgMyAoYWYpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWZyeiB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYWM6IGFjZmcKCXR4biBHcm91cEluZGV4CglpbnQgNQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGFjZmcKCT09CgoJLy8gYXJndW1lbnQgNCAoYWMpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWNmZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYTogYXBwbAoJdHhuIEdyb3VwSW5kZXgKCWludCA2CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXBwbAoJPT0KCgkvLyBhcmd1bWVudCA1IChhKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGFwcGwgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIHQ6IHR4bgoJdHhuIEdyb3VwSW5kZXgKCWludCA3CgktCgoJLy8gZXhlY3V0ZSB0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkCgljYWxsc3ViIHR4blR5cGVzCglpbnQgMQoJcmV0dXJuCgovLyB0eG5UeXBlcyh0OiBUeG4sIGE6IEFwcENhbGxUeG4sIGFjOiBBc3NldENvbmZpZ1R4biwgYWY6IEFzc2V0RnJlZXplVHhuLCBhdDogQXNzZXRUcmFuc2ZlclR4biwga3I6IEtleVJlZ1R4biwgcDogUGF5VHhuKTogdm9pZAp0eG5UeXBlczoKCXByb3RvIDcgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjYKCS8vIGFzc2VydCh0LnNlbmRlciA9PT0gYS5zZW5kZXIpCglmcmFtZV9kaWcgLTEgLy8gdDogVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBhOiBBcHBDYWxsVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzI3CgkvLyBhc3NlcnQoYWMuc2VuZGVyID09PSBhZi5zZW5kZXIpCglmcmFtZV9kaWcgLTMgLy8gYWM6IEFzc2V0Q29uZmlnVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtNCAvLyBhZjogQXNzZXRGcmVlemVUeG4KCWd0eG5zIFNlbmRlcgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjgKCS8vIGFzc2VydChhdC5zZW5kZXIgPT09IGtyLnNlbmRlcikKCWZyYW1lX2RpZyAtNSAvLyBhdDogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTYgLy8ga3I6IEtleVJlZ1R4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyOQoJLy8gYXNzZXJ0KHAuc2VuZGVyID09PSB0LnNlbmRlcikKCWZyYW1lX2RpZyAtNyAvLyBwOiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHQ6IFR4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestTxnTypes.arc56_draft.json b/tests/contracts/artifacts/ABITestTxnTypes.arc56_draft.json
index 8ec1d289a..28871fc58 100644
--- a/tests/contracts/artifacts/ABITestTxnTypes.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestTxnTypes.arc56_draft.json
@@ -89,805 +89,808 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 716,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8
- ]
- },
- {
- "teal": 13,
- "source": 716,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 14,
- "source": 716,
- "pc": [
- 11
- ]
- },
- {
- "teal": 15,
- "source": 716,
- "pc": [
- 12
- ]
- },
- {
- "teal": 16,
- "source": 716,
- "pc": [
- 13
- ]
- },
- {
- "teal": 17,
- "source": 716,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 18,
- "source": 716,
- "pc": [
- 16
- ]
- },
- {
- "teal": 19,
- "source": 716,
- "pc": [
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 23,
- "source": 716,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 43
- ]
- },
- {
- "teal": 28,
- "source": 724,
- "pc": [
- 44,
- 45
- ]
- },
- {
- "teal": 29,
- "source": 724,
- "pc": [
- 46
- ]
- },
- {
- "teal": 30,
- "source": 724,
- "pc": [
- 47
- ]
- },
- {
- "teal": 31,
- "source": 724,
- "pc": [
- 48
- ]
- },
- {
- "teal": 32,
- "source": 724,
- "pc": [
- 49,
- 50
- ]
- },
- {
- "teal": 33,
- "source": 724,
- "pc": [
- 51
- ]
- },
- {
- "teal": 34,
- "source": 724,
- "pc": [
- 52
- ]
- },
- {
- "teal": 37,
- "source": 724,
- "errorMessage": "argument 0 (p) for txnTypes must be a pay transaction",
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 723,
- "pc": [
- 54,
- 55
- ]
- },
- {
- "teal": 41,
- "source": 723,
- "pc": [
- 56
- ]
- },
- {
- "teal": 42,
- "source": 723,
- "pc": [
- 57
- ]
- },
- {
- "teal": 43,
- "source": 723,
- "pc": [
- 58
- ]
- },
- {
- "teal": 44,
- "source": 723,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 45,
- "source": 723,
- "pc": [
- 61
- ]
- },
- {
- "teal": 46,
- "source": 723,
- "pc": [
- 62
- ]
- },
- {
- "teal": 49,
- "source": 723,
- "errorMessage": "argument 1 (kr) for txnTypes must be a keyreg transaction",
- "pc": [
- 63
- ]
- },
- {
- "teal": 52,
- "source": 722,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 53,
- "source": 722,
- "pc": [
- 66
- ]
- },
- {
- "teal": 54,
- "source": 722,
- "pc": [
- 67
- ]
- },
- {
- "teal": 55,
- "source": 722,
- "pc": [
- 68
- ]
- },
- {
- "teal": 56,
- "source": 722,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 57,
- "source": 722,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 58,
- "source": 722,
- "pc": [
- 73
- ]
- },
- {
- "teal": 61,
- "source": 722,
- "errorMessage": "argument 2 (at) for txnTypes must be a axfer transaction",
- "pc": [
- 74
- ]
- },
- {
- "teal": 64,
- "source": 721,
- "pc": [
- 75,
- 76
- ]
- },
- {
- "teal": 65,
- "source": 721,
- "pc": [
- 77,
- 78
- ]
- },
- {
- "teal": 66,
- "source": 721,
- "pc": [
- 79
- ]
- },
- {
- "teal": 67,
- "source": 721,
- "pc": [
- 80
- ]
- },
- {
- "teal": 68,
- "source": 721,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 69,
- "source": 721,
- "pc": [
- 83,
- 84
- ]
- },
- {
- "teal": 70,
- "source": 721,
- "pc": [
- 85
- ]
- },
- {
- "teal": 73,
- "source": 721,
- "errorMessage": "argument 3 (af) for txnTypes must be a afrz transaction",
- "pc": [
- 86
- ]
- },
- {
- "teal": 76,
- "source": 720,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 77,
- "source": 720,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 78,
- "source": 720,
- "pc": [
- 91
- ]
- },
- {
- "teal": 79,
- "source": 720,
- "pc": [
- 92
- ]
- },
- {
- "teal": 80,
- "source": 720,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 81,
- "source": 720,
- "pc": [
- 95
- ]
- },
- {
- "teal": 82,
- "source": 720,
- "pc": [
- 96
- ]
- },
- {
- "teal": 85,
- "source": 720,
- "errorMessage": "argument 4 (ac) for txnTypes must be a acfg transaction",
- "pc": [
- 97
- ]
- },
- {
- "teal": 88,
- "source": 719,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 89,
- "source": 719,
- "pc": [
- 100
- ]
- },
- {
- "teal": 90,
- "source": 719,
- "pc": [
- 101
- ]
- },
- {
- "teal": 91,
- "source": 719,
- "pc": [
- 102
- ]
- },
- {
- "teal": 92,
- "source": 719,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 93,
- "source": 719,
- "pc": [
- 105
- ]
- },
- {
- "teal": 94,
- "source": 719,
- "pc": [
- 106
- ]
- },
- {
- "teal": 97,
- "source": 719,
- "errorMessage": "argument 5 (a) for txnTypes must be a appl transaction",
- "pc": [
- 107
- ]
- },
- {
- "teal": 100,
- "source": 718,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 101,
- "source": 718,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 102,
- "source": 718,
- "pc": [
- 112
- ]
- },
- {
- "teal": 105,
- "source": 717,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 106,
- "source": 717,
- "pc": [
- 116
- ]
- },
- {
- "teal": 107,
- "source": 717,
- "pc": [
- 117
- ]
- },
- {
- "teal": 111,
- "source": 717,
- "pc": [
- 118,
- 119,
- 120
- ]
- },
- {
- "teal": 115,
- "source": 726,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 116,
- "source": 726,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 117,
- "source": 726,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 118,
- "source": 726,
- "pc": [
- 127,
- 128
- ]
- },
- {
- "teal": 119,
- "source": 726,
- "pc": [
- 129
- ]
- },
- {
- "teal": 120,
- "source": 726,
- "pc": [
- 130
- ]
- },
- {
- "teal": 124,
- "source": 727,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 125,
- "source": 727,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 126,
- "source": 727,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 127,
- "source": 727,
- "pc": [
- 137,
- 138
- ]
- },
- {
- "teal": 128,
- "source": 727,
- "pc": [
- 139
- ]
- },
- {
- "teal": 129,
- "source": 727,
- "pc": [
- 140
- ]
- },
- {
- "teal": 133,
- "source": 728,
- "pc": [
- 141,
- 142
- ]
- },
- {
- "teal": 134,
- "source": 728,
- "pc": [
- 143,
- 144
- ]
- },
- {
- "teal": 135,
- "source": 728,
- "pc": [
- 145,
- 146
- ]
- },
- {
- "teal": 136,
- "source": 728,
- "pc": [
- 147,
- 148
- ]
- },
- {
- "teal": 137,
- "source": 728,
- "pc": [
- 149
- ]
- },
- {
- "teal": 138,
- "source": 728,
- "pc": [
- 150
- ]
- },
- {
- "teal": 142,
- "source": 729,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 143,
- "source": 729,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 144,
- "source": 729,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 145,
- "source": 729,
- "pc": [
- 157,
- 158
- ]
- },
- {
- "teal": 146,
- "source": 729,
- "pc": [
- 159
- ]
- },
- {
- "teal": 147,
- "source": 729,
- "pc": [
- 160
- ]
- },
- {
- "teal": 148,
- "source": 717,
- "pc": [
- 161
- ]
- },
- {
- "teal": 151,
- "source": 716,
- "pc": [
- 162
- ]
- },
- {
- "teal": 152,
- "source": 716,
- "pc": [
- 163
- ]
- },
- {
- "teal": 155,
- "source": 716,
- "pc": [
- 164,
- 165,
- 166,
- 167,
- 168,
- 169
- ]
- },
- {
- "teal": 156,
- "source": 716,
- "pc": [
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 157,
- "source": 716,
- "pc": [
- 173,
- 174,
- 175,
- 176
- ]
- },
- {
- "teal": 160,
- "source": 716,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 177
- ]
- },
- {
- "teal": 163,
- "source": 716,
- "pc": [
- 178,
- 179,
- 180,
- 181,
- 182,
- 183
- ]
- },
- {
- "teal": 164,
- "source": 716,
- "pc": [
- 184,
- 185,
- 186
- ]
- },
- {
- "teal": 165,
- "source": 716,
- "pc": [
- 187,
- 188,
- 189,
- 190
- ]
- },
- {
- "teal": 168,
- "source": 716,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 191
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 716,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 716,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 716,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 716,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 716,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 716,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 716,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 716,
+ "pc": [
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 716,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 724,
+ "pc": [
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 724,
+ "pc": [
+ 46
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 724,
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 724,
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 724,
+ "pc": [
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 724,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 724,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 724,
+ "errorMessage": "argument 0 (p) for txnTypes must be a pay transaction",
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 723,
+ "pc": [
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 723,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 723,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 723,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 723,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 723,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 723,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 723,
+ "errorMessage": "argument 1 (kr) for txnTypes must be a keyreg transaction",
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 722,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 722,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 722,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 722,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 722,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 722,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 722,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 722,
+ "errorMessage": "argument 2 (at) for txnTypes must be a axfer transaction",
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 721,
+ "pc": [
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 721,
+ "pc": [
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 721,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 721,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 721,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 721,
+ "pc": [
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 721,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 721,
+ "errorMessage": "argument 3 (af) for txnTypes must be a afrz transaction",
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 720,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 720,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 720,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 720,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 720,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 720,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 720,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 720,
+ "errorMessage": "argument 4 (ac) for txnTypes must be a acfg transaction",
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 719,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 719,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 719,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 719,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 719,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 719,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 719,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 719,
+ "errorMessage": "argument 5 (a) for txnTypes must be a appl transaction",
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 718,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 718,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 718,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 717,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 717,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 717,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 717,
+ "pc": [
+ 118,
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 726,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 726,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 726,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 726,
+ "pc": [
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 726,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 726,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 727,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 727,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 727,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 727,
+ "pc": [
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 727,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 727,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 728,
+ "pc": [
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 728,
+ "pc": [
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 728,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 728,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 728,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 728,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 729,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 729,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 729,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 729,
+ "pc": [
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 729,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 729,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 717,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 716,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 716,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 716,
+ "pc": [
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 716,
+ "pc": [
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 716,
+ "pc": [
+ 173,
+ 174,
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 716,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 716,
+ "pc": [
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 716,
+ "pc": [
+ 184,
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 716,
+ "pc": [
+ 187,
+ 188,
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 716,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 191
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkCiphYmlfcm91dGVfdHhuVHlwZXM6CgkvLyBwOiBwYXkKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChwKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8ga3I6IGtleXJlZwoJdHhuIEdyb3VwSW5kZXgKCWludCAyCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQga2V5cmVnCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGtyKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGtleXJlZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYXQ6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50IDMKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCAyIChhdCkgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYWY6IGFmcnoKCXR4biBHcm91cEluZGV4CglpbnQgNAoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGFmcnoKCT09CgoJLy8gYXJndW1lbnQgMyAoYWYpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWZyeiB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYWM6IGFjZmcKCXR4biBHcm91cEluZGV4CglpbnQgNQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGFjZmcKCT09CgoJLy8gYXJndW1lbnQgNCAoYWMpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWNmZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYTogYXBwbAoJdHhuIEdyb3VwSW5kZXgKCWludCA2CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXBwbAoJPT0KCgkvLyBhcmd1bWVudCA1IChhKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGFwcGwgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIHQ6IHR4bgoJdHhuIEdyb3VwSW5kZXgKCWludCA3CgktCgoJLy8gZXhlY3V0ZSB0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkCgljYWxsc3ViIHR4blR5cGVzCglpbnQgMQoJcmV0dXJuCgovLyB0eG5UeXBlcyh0OiBUeG4sIGE6IEFwcENhbGxUeG4sIGFjOiBBc3NldENvbmZpZ1R4biwgYWY6IEFzc2V0RnJlZXplVHhuLCBhdDogQXNzZXRUcmFuc2ZlclR4biwga3I6IEtleVJlZ1R4biwgcDogUGF5VHhuKTogdm9pZAp0eG5UeXBlczoKCXByb3RvIDcgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjYKCS8vIGFzc2VydCh0LnNlbmRlciA9PT0gYS5zZW5kZXIpCglmcmFtZV9kaWcgLTEgLy8gdDogVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBhOiBBcHBDYWxsVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzI3CgkvLyBhc3NlcnQoYWMuc2VuZGVyID09PSBhZi5zZW5kZXIpCglmcmFtZV9kaWcgLTMgLy8gYWM6IEFzc2V0Q29uZmlnVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtNCAvLyBhZjogQXNzZXRGcmVlemVUeG4KCWd0eG5zIFNlbmRlcgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjgKCS8vIGFzc2VydChhdC5zZW5kZXIgPT09IGtyLnNlbmRlcikKCWZyYW1lX2RpZyAtNSAvLyBhdDogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTYgLy8ga3I6IEtleVJlZ1R4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyOQoJLy8gYXNzZXJ0KHAuc2VuZGVyID09PSB0LnNlbmRlcikKCWZyYW1lX2RpZyAtNyAvLyBwOiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHQ6IFR4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkCiphYmlfcm91dGVfdHhuVHlwZXM6CgkvLyBwOiBwYXkKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChwKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8ga3I6IGtleXJlZwoJdHhuIEdyb3VwSW5kZXgKCWludCAyCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQga2V5cmVnCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGtyKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGtleXJlZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYXQ6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50IDMKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludCBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCAyIChhdCkgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYWY6IGFmcnoKCXR4biBHcm91cEluZGV4CglpbnQgNAoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGFmcnoKCT09CgoJLy8gYXJndW1lbnQgMyAoYWYpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWZyeiB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYWM6IGFjZmcKCXR4biBHcm91cEluZGV4CglpbnQgNQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IGFjZmcKCT09CgoJLy8gYXJndW1lbnQgNCAoYWMpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWNmZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYTogYXBwbAoJdHhuIEdyb3VwSW5kZXgKCWludCA2CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXBwbAoJPT0KCgkvLyBhcmd1bWVudCA1IChhKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGFwcGwgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIHQ6IHR4bgoJdHhuIEdyb3VwSW5kZXgKCWludCA3CgktCgoJLy8gZXhlY3V0ZSB0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkCgljYWxsc3ViIHR4blR5cGVzCglpbnQgMQoJcmV0dXJuCgovLyB0eG5UeXBlcyh0OiBUeG4sIGE6IEFwcENhbGxUeG4sIGFjOiBBc3NldENvbmZpZ1R4biwgYWY6IEFzc2V0RnJlZXplVHhuLCBhdDogQXNzZXRUcmFuc2ZlclR4biwga3I6IEtleVJlZ1R4biwgcDogUGF5VHhuKTogdm9pZAp0eG5UeXBlczoKCXByb3RvIDcgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjYKCS8vIGFzc2VydCh0LnNlbmRlciA9PT0gYS5zZW5kZXIpCglmcmFtZV9kaWcgLTEgLy8gdDogVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBhOiBBcHBDYWxsVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzI3CgkvLyBhc3NlcnQoYWMuc2VuZGVyID09PSBhZi5zZW5kZXIpCglmcmFtZV9kaWcgLTMgLy8gYWM6IEFzc2V0Q29uZmlnVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtNCAvLyBhZjogQXNzZXRGcmVlemVUeG4KCWd0eG5zIFNlbmRlcgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjgKCS8vIGFzc2VydChhdC5zZW5kZXIgPT09IGtyLnNlbmRlcikKCWZyYW1lX2RpZyAtNSAvLyBhdDogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTYgLy8ga3I6IEtleVJlZ1R4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyOQoJLy8gYXNzZXJ0KHAuc2VuZGVyID09PSB0LnNlbmRlcikKCWZyYW1lX2RpZyAtNyAvLyBwOiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHQ6IFR4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0eG5UeXBlcyh0eG4sYXBwbCxhY2ZnLGFmcnosYXhmZXIsa2V5cmVnLHBheSl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestTypedConst.approval.teal b/tests/contracts/artifacts/ABITestTypedConst.approval.teal
index 44f5c499e..0a78f3fe6 100644
--- a/tests/contracts/artifacts/ABITestTypedConst.approval.teal
+++ b/tests/contracts/artifacts/ABITestTypedConst.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestTypedConst.arc32.json b/tests/contracts/artifacts/ABITestTypedConst.arc32.json
index 72c814555..a54ccea5d 100644
--- a/tests/contracts/artifacts/ABITestTypedConst.arc32.json
+++ b/tests/contracts/artifacts/ABITestTypedConst.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtYXhQb29scygpdm9pZAoqYWJpX3JvdXRlX21heFBvb2xzOgoJLy8gZXhlY3V0ZSBtYXhQb29scygpdm9pZAoJY2FsbHN1YiBtYXhQb29scwoJaW50IDEKCXJldHVybgoKLy8gbWF4UG9vbHMoKTogdm9pZAptYXhQb29sczoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyOTEKCS8vIHVpbnQxNlZhcjogdWludDE2ID0gMjU2CglpbnQgMjU2CglmcmFtZV9idXJ5IDAgLy8gdWludDE2VmFyOiB1aW50MTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI5MgoJLy8gYXNzZXJ0KHVpbnQxNlZhciA9PT0gVUlOVDE2X0NPTlNUKQoJaW50IDI1NiAvLyB1aW50MTZWYXI6IHVpbnQxNgoJaW50IDI1NgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibWF4UG9vbHMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX21heFBvb2xzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtYXhQb29scygpdm9pZAoqYWJpX3JvdXRlX21heFBvb2xzOgoJLy8gZXhlY3V0ZSBtYXhQb29scygpdm9pZAoJY2FsbHN1YiBtYXhQb29scwoJaW50IDEKCXJldHVybgoKLy8gbWF4UG9vbHMoKTogdm9pZAptYXhQb29sczoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyOTEKCS8vIHVpbnQxNlZhcjogdWludDE2ID0gMjU2CglpbnQgMjU2CglmcmFtZV9idXJ5IDAgLy8gdWludDE2VmFyOiB1aW50MTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI5MgoJLy8gYXNzZXJ0KHVpbnQxNlZhciA9PT0gVUlOVDE2X0NPTlNUKQoJaW50IDI1NiAvLyB1aW50MTZWYXI6IHVpbnQxNgoJaW50IDI1NgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibWF4UG9vbHMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX21heFBvb2xzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestTypedConst.arc56_draft.json b/tests/contracts/artifacts/ABITestTypedConst.arc56_draft.json
index 58836bc2c..bc6326a2e 100644
--- a/tests/contracts/artifacts/ABITestTypedConst.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestTypedConst.arc56_draft.json
@@ -60,289 +60,292 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1289,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 1289,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 1289,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 1289,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 1289,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 1289,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 1289,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 1289,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 1289,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 1290,
- "pc": [
- 42,
- 43,
- 44
- ]
- },
- {
- "teal": 29,
- "source": 1290,
- "pc": [
- 45
- ]
- },
- {
- "teal": 30,
- "source": 1290,
- "pc": [
- 46
- ]
- },
- {
- "teal": 34,
- "source": 1290,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 37,
- "source": 1290,
- "pc": [
- 50,
- 51
- ]
- },
- {
- "teal": 41,
- "source": 1291,
- "pc": [
- 52
- ]
- },
- {
- "teal": 42,
- "source": 1291,
- "pc": [
- 53,
- 54
- ]
- },
- {
- "teal": 46,
- "source": 1292,
- "pc": [
- 55
- ]
- },
- {
- "teal": 47,
- "source": 1292,
- "pc": [
- 56
- ]
- },
- {
- "teal": 48,
- "source": 1292,
- "pc": [
- 57
- ]
- },
- {
- "teal": 49,
- "source": 1292,
- "pc": [
- 58
- ]
- },
- {
- "teal": 50,
- "source": 1290,
- "pc": [
- 59
- ]
- },
- {
- "teal": 53,
- "source": 1289,
- "pc": [
- 60
- ]
- },
- {
- "teal": 54,
- "source": 1289,
- "pc": [
- 61
- ]
- },
- {
- "teal": 57,
- "source": 1289,
- "pc": [
- 62,
- 63,
- 64,
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 58,
- "source": 1289,
- "pc": [
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 59,
- "source": 1289,
- "pc": [
- 71,
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 62,
- "source": 1289,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 75
- ]
- },
- {
- "teal": 65,
- "source": 1289,
- "pc": [
- 76,
- 77,
- 78,
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 66,
- "source": 1289,
- "pc": [
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 67,
- "source": 1289,
- "pc": [
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 70,
- "source": 1289,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 89
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1289,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1289,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1289,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1289,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1289,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1289,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1289,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1289,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1289,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1290,
+ "pc": [
+ 42,
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 1290,
+ "pc": [
+ 45
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 1290,
+ "pc": [
+ 46
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1290,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1290,
+ "pc": [
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1291,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1291,
+ "pc": [
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1292,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1292,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1292,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1292,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1290,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1289,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1289,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1289,
+ "pc": [
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1289,
+ "pc": [
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1289,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1289,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1289,
+ "pc": [
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1289,
+ "pc": [
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1289,
+ "pc": [
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1289,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 89
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtYXhQb29scygpdm9pZAoqYWJpX3JvdXRlX21heFBvb2xzOgoJLy8gZXhlY3V0ZSBtYXhQb29scygpdm9pZAoJY2FsbHN1YiBtYXhQb29scwoJaW50IDEKCXJldHVybgoKLy8gbWF4UG9vbHMoKTogdm9pZAptYXhQb29sczoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyOTEKCS8vIHVpbnQxNlZhcjogdWludDE2ID0gMjU2CglpbnQgMjU2CglmcmFtZV9idXJ5IDAgLy8gdWludDE2VmFyOiB1aW50MTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI5MgoJLy8gYXNzZXJ0KHVpbnQxNlZhciA9PT0gVUlOVDE2X0NPTlNUKQoJaW50IDI1NiAvLyB1aW50MTZWYXI6IHVpbnQxNgoJaW50IDI1NgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibWF4UG9vbHMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX21heFBvb2xzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtYXhQb29scygpdm9pZAoqYWJpX3JvdXRlX21heFBvb2xzOgoJLy8gZXhlY3V0ZSBtYXhQb29scygpdm9pZAoJY2FsbHN1YiBtYXhQb29scwoJaW50IDEKCXJldHVybgoKLy8gbWF4UG9vbHMoKTogdm9pZAptYXhQb29sczoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyOTEKCS8vIHVpbnQxNlZhcjogdWludDE2ID0gMjU2CglpbnQgMjU2CglmcmFtZV9idXJ5IDAgLy8gdWludDE2VmFyOiB1aW50MTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI5MgoJLy8gYXNzZXJ0KHVpbnQxNlZhciA9PT0gVUlOVDE2X0NPTlNUKQoJaW50IDI1NiAvLyB1aW50MTZWYXI6IHVpbnQxNgoJaW50IDI1NgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAibWF4UG9vbHMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX21heFBvb2xzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestTypedVarFromStorage.approval.teal b/tests/contracts/artifacts/ABITestTypedVarFromStorage.approval.teal
index 78197d759..86bc8cf6a 100644
--- a/tests/contracts/artifacts/ABITestTypedVarFromStorage.approval.teal
+++ b/tests/contracts/artifacts/ABITestTypedVarFromStorage.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc32.json b/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc32.json
index f7e9fd577..04542ff42 100644
--- a/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc32.json
+++ b/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXQoqYWJpX3JvdXRlX3R5cGVkVmFyRnJvbVN0b3JhZ2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGtleTogdWludDMyCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDQKCT09CgoJLy8gYXJndW1lbnQgMCAoa2V5KSBmb3IgdHlwZWRWYXJGcm9tU3RvcmFnZSBtdXN0IGJlIGEgdWludDMyCglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHR5cGVkVmFyRnJvbVN0b3JhZ2UodWludDMyKWJ5dGVbMzJdCgljYWxsc3ViIHR5cGVkVmFyRnJvbVN0b3JhZ2UKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0eXBlZFZhckZyb21TdG9yYWdlKGtleTogdWludDwzMj4pOiBieXRlczMyCnR5cGVkVmFyRnJvbVN0b3JhZ2U6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzAwCgkvLyB2YWx1ZTogYnl0ZXMzMiA9IHRoaXMuYm94TWFwVGVzdChrZXkpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8ga2V5OiB1aW50PDMyPgoJaXRvYgoJZXh0cmFjdCA0IDQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsdWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwMgoJLy8gcmV0dXJuIHZhbHVlOwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3ZhbHVlCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcFRlc3Qoa2V5KS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZWRWYXJGcm9tU3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXQoqYWJpX3JvdXRlX3R5cGVkVmFyRnJvbVN0b3JhZ2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGtleTogdWludDMyCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDQKCT09CgoJLy8gYXJndW1lbnQgMCAoa2V5KSBmb3IgdHlwZWRWYXJGcm9tU3RvcmFnZSBtdXN0IGJlIGEgdWludDMyCglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHR5cGVkVmFyRnJvbVN0b3JhZ2UodWludDMyKWJ5dGVbMzJdCgljYWxsc3ViIHR5cGVkVmFyRnJvbVN0b3JhZ2UKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0eXBlZFZhckZyb21TdG9yYWdlKGtleTogdWludDwzMj4pOiBieXRlczMyCnR5cGVkVmFyRnJvbVN0b3JhZ2U6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzAwCgkvLyB2YWx1ZTogYnl0ZXMzMiA9IHRoaXMuYm94TWFwVGVzdChrZXkpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8ga2V5OiB1aW50PDMyPgoJaXRvYgoJZXh0cmFjdCA0IDQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsdWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwMgoJLy8gcmV0dXJuIHZhbHVlOwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3ZhbHVlCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcFRlc3Qoa2V5KS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZWRWYXJGcm9tU3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc56_draft.json b/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc56_draft.json
index e24498ac9..59ef5befa 100644
--- a/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc56_draft.json
@@ -70,386 +70,389 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1296,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1296,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1296,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1296,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1296,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1296,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1296,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1296,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1296,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1299,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1299,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1299,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1299,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1299,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 1299,
- "pc": [
- 53
- ]
- },
- {
- "teal": 38,
- "source": 1299,
- "errorMessage": "argument 0 (key) for typedVarFromStorage must be a uint32",
- "pc": [
- 54
- ]
- },
- {
- "teal": 39,
- "source": 1299,
- "pc": [
- 55
- ]
- },
- {
- "teal": 42,
- "source": 1299,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1299,
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 1299,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 1299,
- "pc": [
- 61
- ]
- },
- {
- "teal": 46,
- "source": 1299,
- "pc": [
- 62
- ]
- },
- {
- "teal": 50,
- "source": 1299,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 53,
- "source": 1299,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 57,
- "source": 1300,
- "pc": [
- 68,
- 69
- ]
- },
- {
- "teal": 58,
- "source": 1300,
- "pc": [
- 70
- ]
- },
- {
- "teal": 59,
- "source": 1300,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 60,
- "source": 1300,
- "pc": [
- 74,
- 75
- ]
- },
- {
- "teal": 64,
- "source": 1300,
- "pc": [
- 76,
- 77
- ]
- },
- {
- "teal": 65,
- "source": 1300,
- "pc": [
- 78
- ]
- },
- {
- "teal": 68,
- "source": 1300,
- "errorMessage": "box value does not exist: this.boxMapTest(key).value",
- "pc": [
- 79
- ]
- },
- {
- "teal": 71,
- "source": 1299,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 72,
- "source": 1299,
- "pc": [
- 82
- ]
- },
- {
- "teal": 75,
- "source": 1296,
- "pc": [
- 83
- ]
- },
- {
- "teal": 76,
- "source": 1296,
- "pc": [
- 84
- ]
- },
- {
- "teal": 79,
- "source": 1296,
- "pc": [
- 85,
- 86,
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 80,
- "source": 1296,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 81,
- "source": 1296,
- "pc": [
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 84,
- "source": 1296,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 98
- ]
- },
- {
- "teal": 87,
- "source": 1296,
- "pc": [
- 99,
- 100,
- 101,
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 88,
- "source": 1296,
- "pc": [
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 89,
- "source": 1296,
- "pc": [
- 108,
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 92,
- "source": 1296,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 112
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1296,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1296,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1296,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1296,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1296,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1296,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1296,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1296,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1296,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1299,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1299,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1299,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1299,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1299,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1299,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1299,
+ "errorMessage": "argument 0 (key) for typedVarFromStorage must be a uint32",
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1299,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1299,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1299,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1299,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1299,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1299,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1299,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1299,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1300,
+ "pc": [
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1300,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1300,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1300,
+ "pc": [
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1300,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1300,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1300,
+ "errorMessage": "box value does not exist: this.boxMapTest(key).value",
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1299,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1299,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1296,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1296,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1296,
+ "pc": [
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1296,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1296,
+ "pc": [
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1296,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1296,
+ "pc": [
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1296,
+ "pc": [
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1296,
+ "pc": [
+ 108,
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1296,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 112
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXQoqYWJpX3JvdXRlX3R5cGVkVmFyRnJvbVN0b3JhZ2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGtleTogdWludDMyCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDQKCT09CgoJLy8gYXJndW1lbnQgMCAoa2V5KSBmb3IgdHlwZWRWYXJGcm9tU3RvcmFnZSBtdXN0IGJlIGEgdWludDMyCglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHR5cGVkVmFyRnJvbVN0b3JhZ2UodWludDMyKWJ5dGVbMzJdCgljYWxsc3ViIHR5cGVkVmFyRnJvbVN0b3JhZ2UKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0eXBlZFZhckZyb21TdG9yYWdlKGtleTogdWludDwzMj4pOiBieXRlczMyCnR5cGVkVmFyRnJvbVN0b3JhZ2U6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzAwCgkvLyB2YWx1ZTogYnl0ZXMzMiA9IHRoaXMuYm94TWFwVGVzdChrZXkpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8ga2V5OiB1aW50PDMyPgoJaXRvYgoJZXh0cmFjdCA0IDQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsdWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwMgoJLy8gcmV0dXJuIHZhbHVlOwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3ZhbHVlCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcFRlc3Qoa2V5KS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZWRWYXJGcm9tU3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXQoqYWJpX3JvdXRlX3R5cGVkVmFyRnJvbVN0b3JhZ2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGtleTogdWludDMyCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDQKCT09CgoJLy8gYXJndW1lbnQgMCAoa2V5KSBmb3IgdHlwZWRWYXJGcm9tU3RvcmFnZSBtdXN0IGJlIGEgdWludDMyCglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHR5cGVkVmFyRnJvbVN0b3JhZ2UodWludDMyKWJ5dGVbMzJdCgljYWxsc3ViIHR5cGVkVmFyRnJvbVN0b3JhZ2UKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB0eXBlZFZhckZyb21TdG9yYWdlKGtleTogdWludDwzMj4pOiBieXRlczMyCnR5cGVkVmFyRnJvbVN0b3JhZ2U6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzAwCgkvLyB2YWx1ZTogYnl0ZXMzMiA9IHRoaXMuYm94TWFwVGVzdChrZXkpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8ga2V5OiB1aW50PDMyPgoJaXRvYgoJZXh0cmFjdCA0IDQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsdWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwMgoJLy8gcmV0dXJuIHZhbHVlOwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3ZhbHVlCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcFRlc3Qoa2V5KS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZWRWYXJGcm9tU3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUint64Casting.approval.teal b/tests/contracts/artifacts/ABITestUint64Casting.approval.teal
index edd0c6223..08ff713d4 100644
--- a/tests/contracts/artifacts/ABITestUint64Casting.approval.teal
+++ b/tests/contracts/artifacts/ABITestUint64Casting.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUint64Casting.arc32.json b/tests/contracts/artifacts/ABITestUint64Casting.arc32.json
index b2ec0e6fa..863b31d5a 100644
--- a/tests/contracts/artifacts/ABITestUint64Casting.arc32.json
+++ b/tests/contracts/artifacts/ABITestUint64Casting.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0CiphYmlfcm91dGVfdWludDY0Q2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdWludDY0Q2FzdGluZyBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0CgljYWxsc3ViIHVpbnQ2NENhc3RpbmcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1aW50NjRDYXN0aW5nKGE6IHVpbnQyNTYpOiB1aW50NjQKdWludDY0Q2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTk1CgkvLyByZXR1cm4gYSBhcyB1aW50NjQ7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZHVwCgliaXRsZW4KCWludCA2NAoJPD0KCgkvLyBhIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJZXh0cmFjdCAyNCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91aW50NjRDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0CiphYmlfcm91dGVfdWludDY0Q2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdWludDY0Q2FzdGluZyBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0CgljYWxsc3ViIHVpbnQ2NENhc3RpbmcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1aW50NjRDYXN0aW5nKGE6IHVpbnQyNTYpOiB1aW50NjQKdWludDY0Q2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTk1CgkvLyByZXR1cm4gYSBhcyB1aW50NjQ7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZHVwCgliaXRsZW4KCWludCA2NAoJPD0KCgkvLyBhIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJZXh0cmFjdCAyNCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91aW50NjRDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUint64Casting.arc56_draft.json b/tests/contracts/artifacts/ABITestUint64Casting.arc56_draft.json
index aafa600c0..c852f8740 100644
--- a/tests/contracts/artifacts/ABITestUint64Casting.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUint64Casting.arc56_draft.json
@@ -65,376 +65,379 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1193,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1193,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1193,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1193,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1193,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1193,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1193,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1193,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1193,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1194,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1194,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1194,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1194,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1194,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 1194,
- "pc": [
- 53
- ]
- },
- {
- "teal": 38,
- "source": 1194,
- "errorMessage": "argument 0 (a) for uint64Casting must be a uint256",
- "pc": [
- 54
- ]
- },
- {
- "teal": 41,
- "source": 1194,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 42,
- "source": 1194,
- "pc": [
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1194,
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 1194,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 1194,
- "pc": [
- 61
- ]
- },
- {
- "teal": 46,
- "source": 1194,
- "pc": [
- 62
- ]
- },
- {
- "teal": 50,
- "source": 1194,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 54,
- "source": 1195,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 55,
- "source": 1195,
- "pc": [
- 68
- ]
- },
- {
- "teal": 56,
- "source": 1195,
- "pc": [
- 69
- ]
- },
- {
- "teal": 57,
- "source": 1195,
- "pc": [
- 70,
- 71
- ]
- },
- {
- "teal": 58,
- "source": 1195,
- "pc": [
- 72
- ]
- },
- {
- "teal": 61,
- "source": 1195,
- "errorMessage": "a as uint64 overflowed 64 bits",
- "pc": [
- 73
- ]
- },
- {
- "teal": 62,
- "source": 1195,
- "pc": [
- 74,
- 75,
- 76
- ]
- },
- {
- "teal": 63,
- "source": 1195,
- "pc": [
- 77
- ]
- },
- {
- "teal": 64,
- "source": 1194,
- "pc": [
- 78
- ]
- },
- {
- "teal": 67,
- "source": 1193,
- "pc": [
- 79
- ]
- },
- {
- "teal": 68,
- "source": 1193,
- "pc": [
- 80
- ]
- },
- {
- "teal": 71,
- "source": 1193,
- "pc": [
- 81,
- 82,
- 83,
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 72,
- "source": 1193,
- "pc": [
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 73,
- "source": 1193,
- "pc": [
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 76,
- "source": 1193,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 94
- ]
- },
- {
- "teal": 79,
- "source": 1193,
- "pc": [
- 95,
- 96,
- 97,
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 80,
- "source": 1193,
- "pc": [
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 81,
- "source": 1193,
- "pc": [
- 104,
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 84,
- "source": 1193,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 108
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1193,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1193,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1193,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1193,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1193,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1193,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1193,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1193,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1193,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1194,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1194,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1194,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1194,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1194,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1194,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1194,
+ "errorMessage": "argument 0 (a) for uint64Casting must be a uint256",
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1194,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1194,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1194,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1194,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1194,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1194,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1194,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1195,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1195,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1195,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1195,
+ "pc": [
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1195,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1195,
+ "errorMessage": "a as uint64 overflowed 64 bits",
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1195,
+ "pc": [
+ 74,
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1195,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1194,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1193,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1193,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1193,
+ "pc": [
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1193,
+ "pc": [
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1193,
+ "pc": [
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1193,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1193,
+ "pc": [
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1193,
+ "pc": [
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1193,
+ "pc": [
+ 104,
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1193,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 108
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0CiphYmlfcm91dGVfdWludDY0Q2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdWludDY0Q2FzdGluZyBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0CgljYWxsc3ViIHVpbnQ2NENhc3RpbmcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1aW50NjRDYXN0aW5nKGE6IHVpbnQyNTYpOiB1aW50NjQKdWludDY0Q2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTk1CgkvLyByZXR1cm4gYSBhcyB1aW50NjQ7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZHVwCgliaXRsZW4KCWludCA2NAoJPD0KCgkvLyBhIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJZXh0cmFjdCAyNCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91aW50NjRDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0CiphYmlfcm91dGVfdWludDY0Q2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdWludDY0Q2FzdGluZyBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0CgljYWxsc3ViIHVpbnQ2NENhc3RpbmcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1aW50NjRDYXN0aW5nKGE6IHVpbnQyNTYpOiB1aW50NjQKdWludDY0Q2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTk1CgkvLyByZXR1cm4gYSBhcyB1aW50NjQ7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZHVwCgliaXRsZW4KCWludCA2NAoJPD0KCgkvLyBhIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJZXh0cmFjdCAyNCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1aW50NjRDYXN0aW5nKHVpbnQyNTYpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91aW50NjRDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUintCasting.approval.teal b/tests/contracts/artifacts/ABITestUintCasting.approval.teal
index 28a7e9709..28242dd19 100644
--- a/tests/contracts/artifacts/ABITestUintCasting.approval.teal
+++ b/tests/contracts/artifacts/ABITestUintCasting.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUintCasting.arc32.json b/tests/contracts/artifacts/ABITestUintCasting.arc32.json
index 47495bef3..ad59fffc9 100644
--- a/tests/contracts/artifacts/ABITestUintCasting.arc32.json
+++ b/tests/contracts/artifacts/ABITestUintCasting.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CiphYmlfcm91dGVfdWludENhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnRDYXN0aW5nIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CgljYWxsc3ViIHVpbnRDYXN0aW5nCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1aW50Q2FzdGluZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVpbnRDYXN0aW5nKGE6IHVpbnQ8OD4pOiB1aW50MjU2CnVpbnRDYXN0aW5nOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExODkKCS8vIHJldHVybiA8dWludDI1Nj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWl0b2IKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVpbnRDYXN0aW5nKHVpbnQ4KXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VpbnRDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CiphYmlfcm91dGVfdWludENhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnRDYXN0aW5nIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CgljYWxsc3ViIHVpbnRDYXN0aW5nCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1aW50Q2FzdGluZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVpbnRDYXN0aW5nKGE6IHVpbnQ8OD4pOiB1aW50MjU2CnVpbnRDYXN0aW5nOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExODkKCS8vIHJldHVybiA8dWludDI1Nj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWl0b2IKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVpbnRDYXN0aW5nKHVpbnQ4KXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VpbnRDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUintCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestUintCasting.arc56_draft.json
index 5ae1cd082..242ebdf11 100644
--- a/tests/contracts/artifacts/ABITestUintCasting.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUintCasting.arc56_draft.json
@@ -65,464 +65,467 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1187,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1187,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1187,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1187,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1187,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1187,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1187,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1187,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1187,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1188,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1188,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1188,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1188,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1188,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1188,
- "pc": [
- 52
- ]
- },
- {
- "teal": 38,
- "source": 1188,
- "errorMessage": "argument 0 (a) for uintCasting must be a uint8",
- "pc": [
- 53
- ]
- },
- {
- "teal": 39,
- "source": 1188,
- "pc": [
- 54
- ]
- },
- {
- "teal": 42,
- "source": 1188,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 43,
- "source": 1188,
- "pc": [
- 58
- ]
- },
- {
- "teal": 44,
- "source": 1188,
- "pc": [
- 59
- ]
- },
- {
- "teal": 45,
- "source": 1188,
- "pc": [
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 46,
- "source": 1188,
- "pc": [
- 63
- ]
- },
- {
- "teal": 49,
- "source": 1188,
- "errorMessage": "uintCasting return value overflowed 256 bits",
- "pc": [
- 64
- ]
- },
- {
- "teal": 50,
- "source": 1188,
- "pc": [
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 51,
- "source": 1188,
- "pc": [
- 99
- ]
- },
- {
- "teal": 52,
- "source": 1188,
- "pc": [
- 100
- ]
- },
- {
- "teal": 53,
- "source": 1188,
- "pc": [
- 101
- ]
- },
- {
- "teal": 54,
- "source": 1188,
- "pc": [
- 102
- ]
- },
- {
- "teal": 55,
- "source": 1188,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 56,
- "source": 1188,
- "pc": [
- 105
- ]
- },
- {
- "teal": 57,
- "source": 1188,
- "pc": [
- 106
- ]
- },
- {
- "teal": 58,
- "source": 1188,
- "pc": [
- 107
- ]
- },
- {
- "teal": 59,
- "source": 1188,
- "pc": [
- 108
- ]
- },
- {
- "teal": 60,
- "source": 1188,
- "pc": [
- 109
- ]
- },
- {
- "teal": 61,
- "source": 1188,
- "pc": [
- 110
- ]
- },
- {
- "teal": 62,
- "source": 1188,
- "pc": [
- 111
- ]
- },
- {
- "teal": 66,
- "source": 1188,
- "pc": [
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 70,
- "source": 1189,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 71,
- "source": 1189,
- "pc": [
- 117
- ]
- },
- {
- "teal": 72,
- "source": 1188,
- "pc": [
- 118
- ]
- },
- {
- "teal": 75,
- "source": 1187,
- "pc": [
- 119
- ]
- },
- {
- "teal": 76,
- "source": 1187,
- "pc": [
- 120
- ]
- },
- {
- "teal": 79,
- "source": 1187,
- "pc": [
- 121,
- 122,
- 123,
- 124,
- 125,
- 126
- ]
- },
- {
- "teal": 80,
- "source": 1187,
- "pc": [
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 81,
- "source": 1187,
- "pc": [
- 130,
- 131,
- 132,
- 133
- ]
- },
- {
- "teal": 84,
- "source": 1187,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 134
- ]
- },
- {
- "teal": 87,
- "source": 1187,
- "pc": [
- 135,
- 136,
- 137,
- 138,
- 139,
- 140
- ]
- },
- {
- "teal": 88,
- "source": 1187,
- "pc": [
- 141,
- 142,
- 143
- ]
- },
- {
- "teal": 89,
- "source": 1187,
- "pc": [
- 144,
- 145,
- 146,
- 147
- ]
- },
- {
- "teal": 92,
- "source": 1187,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 148
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1187,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1187,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1187,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1187,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1187,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1187,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1187,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1187,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1187,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1188,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1188,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1188,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1188,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1188,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1188,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1188,
+ "errorMessage": "argument 0 (a) for uintCasting must be a uint8",
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1188,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1188,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1188,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1188,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1188,
+ "pc": [
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1188,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1188,
+ "errorMessage": "uintCasting return value overflowed 256 bits",
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1188,
+ "pc": [
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1188,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1188,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1188,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1188,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1188,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1188,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1188,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1188,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1188,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1188,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1188,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1188,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1188,
+ "pc": [
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1189,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1189,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1188,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1187,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1187,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1187,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1187,
+ "pc": [
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1187,
+ "pc": [
+ 130,
+ 131,
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1187,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1187,
+ "pc": [
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1187,
+ "pc": [
+ 141,
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1187,
+ "pc": [
+ 144,
+ 145,
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1187,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 148
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CiphYmlfcm91dGVfdWludENhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnRDYXN0aW5nIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CgljYWxsc3ViIHVpbnRDYXN0aW5nCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1aW50Q2FzdGluZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVpbnRDYXN0aW5nKGE6IHVpbnQ8OD4pOiB1aW50MjU2CnVpbnRDYXN0aW5nOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExODkKCS8vIHJldHVybiA8dWludDI1Nj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWl0b2IKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVpbnRDYXN0aW5nKHVpbnQ4KXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VpbnRDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CiphYmlfcm91dGVfdWludENhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnRDYXN0aW5nIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CgljYWxsc3ViIHVpbnRDYXN0aW5nCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1aW50Q2FzdGluZyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVpbnRDYXN0aW5nKGE6IHVpbnQ8OD4pOiB1aW50MjU2CnVpbnRDYXN0aW5nOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExODkKCS8vIHJldHVybiA8dWludDI1Nj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWl0b2IKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVpbnRDYXN0aW5nKHVpbnQ4KXVpbnQyNTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VpbnRDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUintNComparison.approval.teal b/tests/contracts/artifacts/ABITestUintNComparison.approval.teal
index 381b4f669..65f13ace6 100644
--- a/tests/contracts/artifacts/ABITestUintNComparison.approval.teal
+++ b/tests/contracts/artifacts/ABITestUintNComparison.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUintNComparison.arc32.json b/tests/contracts/artifacts/ABITestUintNComparison.arc32.json
index ffa6a6413..d86ecb536 100644
--- a/tests/contracts/artifacts/ABITestUintNComparison.arc32.json
+++ b/tests/contracts/artifacts/ABITestUintNComparison.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50TkNvbXBhcmlzb24odWludDI1Nix1aW50MjU2KWJvb2wKKmFiaV9yb3V0ZV91aW50TkNvbXBhcmlzb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeSkgZm9yIHVpbnROQ29tcGFyaXNvbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8geDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdWludE5Db21wYXJpc29uIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbAoJY2FsbHN1YiB1aW50TkNvbXBhcmlzb24KCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludE5Db21wYXJpc29uKHg6IHVpbnQyNTYsIHk6IHVpbnQyNTYpOiBib29sZWFuCnVpbnROQ29tcGFyaXNvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjU5CgkvLyByZXR1cm4geCA+PSB5OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50MjU2CgliPj0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdWludE5Db21wYXJpc29uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50TkNvbXBhcmlzb24odWludDI1Nix1aW50MjU2KWJvb2wKKmFiaV9yb3V0ZV91aW50TkNvbXBhcmlzb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeSkgZm9yIHVpbnROQ29tcGFyaXNvbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8geDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdWludE5Db21wYXJpc29uIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbAoJY2FsbHN1YiB1aW50TkNvbXBhcmlzb24KCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludE5Db21wYXJpc29uKHg6IHVpbnQyNTYsIHk6IHVpbnQyNTYpOiBib29sZWFuCnVpbnROQ29tcGFyaXNvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjU5CgkvLyByZXR1cm4geCA+PSB5OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50MjU2CgliPj0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdWludE5Db21wYXJpc29uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUintNComparison.arc56_draft.json b/tests/contracts/artifacts/ABITestUintNComparison.arc56_draft.json
index 8920e6f94..2eee79bec 100644
--- a/tests/contracts/artifacts/ABITestUintNComparison.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUintNComparison.arc56_draft.json
@@ -69,408 +69,411 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1257,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4
- ]
- },
- {
- "teal": 13,
- "source": 1257,
- "pc": [
- 5,
- 6
- ]
- },
- {
- "teal": 14,
- "source": 1257,
- "pc": [
- 7
- ]
- },
- {
- "teal": 15,
- "source": 1257,
- "pc": [
- 8,
- 9
- ]
- },
- {
- "teal": 16,
- "source": 1257,
- "pc": [
- 10
- ]
- },
- {
- "teal": 17,
- "source": 1257,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 18,
- "source": 1257,
- "pc": [
- 13
- ]
- },
- {
- "teal": 19,
- "source": 1257,
- "pc": [
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 23,
- "source": 1257,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 40
- ]
- },
- {
- "teal": 28,
- "source": 1258,
- "pc": [
- 41,
- 42,
- 43,
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 31,
- "source": 1258,
- "pc": [
- 47,
- 48,
- 49
- ]
- },
- {
- "teal": 32,
- "source": 1258,
- "pc": [
- 50
- ]
- },
- {
- "teal": 33,
- "source": 1258,
- "pc": [
- 51
- ]
- },
- {
- "teal": 34,
- "source": 1258,
- "pc": [
- 52
- ]
- },
- {
- "teal": 35,
- "source": 1258,
- "pc": [
- 53
- ]
- },
- {
- "teal": 38,
- "source": 1258,
- "errorMessage": "argument 0 (y) for uintNComparison must be a uint256",
- "pc": [
- 54
- ]
- },
- {
- "teal": 41,
- "source": 1258,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 42,
- "source": 1258,
- "pc": [
- 58
- ]
- },
- {
- "teal": 43,
- "source": 1258,
- "pc": [
- 59
- ]
- },
- {
- "teal": 44,
- "source": 1258,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 1258,
- "pc": [
- 61
- ]
- },
- {
- "teal": 48,
- "source": 1258,
- "errorMessage": "argument 1 (x) for uintNComparison must be a uint256",
- "pc": [
- 62
- ]
- },
- {
- "teal": 51,
- "source": 1258,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 52,
- "source": 1258,
- "pc": [
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 53,
- "source": 1258,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 54,
- "source": 1258,
- "pc": [
- 71,
- 72
- ]
- },
- {
- "teal": 55,
- "source": 1258,
- "pc": [
- 73
- ]
- },
- {
- "teal": 56,
- "source": 1258,
- "pc": [
- 74
- ]
- },
- {
- "teal": 57,
- "source": 1258,
- "pc": [
- 75
- ]
- },
- {
- "teal": 58,
- "source": 1258,
- "pc": [
- 76
- ]
- },
- {
- "teal": 59,
- "source": 1258,
- "pc": [
- 77
- ]
- },
- {
- "teal": 63,
- "source": 1258,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 67,
- "source": 1259,
- "pc": [
- 81,
- 82
- ]
- },
- {
- "teal": 68,
- "source": 1259,
- "pc": [
- 83,
- 84
- ]
- },
- {
- "teal": 69,
- "source": 1259,
- "pc": [
- 85
- ]
- },
- {
- "teal": 70,
- "source": 1258,
- "pc": [
- 86
- ]
- },
- {
- "teal": 73,
- "source": 1257,
- "pc": [
- 87
- ]
- },
- {
- "teal": 74,
- "source": 1257,
- "pc": [
- 88
- ]
- },
- {
- "teal": 77,
- "source": 1257,
- "pc": [
- 89,
- 90,
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 78,
- "source": 1257,
- "pc": [
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 79,
- "source": 1257,
- "pc": [
- 98,
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 82,
- "source": 1257,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 102
- ]
- },
- {
- "teal": 85,
- "source": 1257,
- "pc": [
- 103,
- 104,
- 105,
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 86,
- "source": 1257,
- "pc": [
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 87,
- "source": 1257,
- "pc": [
- 112,
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 90,
- "source": 1257,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 116
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1257,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1257,
+ "pc": [
+ 5,
+ 6
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1257,
+ "pc": [
+ 7
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1257,
+ "pc": [
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1257,
+ "pc": [
+ 10
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1257,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1257,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1257,
+ "pc": [
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1257,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 40
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1258,
+ "pc": [
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1258,
+ "pc": [
+ 47,
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1258,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1258,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1258,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1258,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1258,
+ "errorMessage": "argument 0 (y) for uintNComparison must be a uint256",
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1258,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1258,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 1258,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 1258,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1258,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1258,
+ "errorMessage": "argument 1 (x) for uintNComparison must be a uint256",
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1258,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1258,
+ "pc": [
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1258,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1258,
+ "pc": [
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1258,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1258,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1258,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1258,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1258,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 1258,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1259,
+ "pc": [
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1259,
+ "pc": [
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 1259,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1258,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1257,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1257,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1257,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1257,
+ "pc": [
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1257,
+ "pc": [
+ 98,
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 1257,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1257,
+ "pc": [
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1257,
+ "pc": [
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1257,
+ "pc": [
+ 112,
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1257,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 116
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50TkNvbXBhcmlzb24odWludDI1Nix1aW50MjU2KWJvb2wKKmFiaV9yb3V0ZV91aW50TkNvbXBhcmlzb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeSkgZm9yIHVpbnROQ29tcGFyaXNvbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8geDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdWludE5Db21wYXJpc29uIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbAoJY2FsbHN1YiB1aW50TkNvbXBhcmlzb24KCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludE5Db21wYXJpc29uKHg6IHVpbnQyNTYsIHk6IHVpbnQyNTYpOiBib29sZWFuCnVpbnROQ29tcGFyaXNvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjU5CgkvLyByZXR1cm4geCA+PSB5OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50MjU2CgliPj0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdWludE5Db21wYXJpc29uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1aW50TkNvbXBhcmlzb24odWludDI1Nix1aW50MjU2KWJvb2wKKmFiaV9yb3V0ZV91aW50TkNvbXBhcmlzb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeSkgZm9yIHVpbnROQ29tcGFyaXNvbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8geDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdWludE5Db21wYXJpc29uIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbAoJY2FsbHN1YiB1aW50TkNvbXBhcmlzb24KCWJ5dGUgMHgwMAoJaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludE5Db21wYXJpc29uKHg6IHVpbnQyNTYsIHk6IHVpbnQyNTYpOiBib29sZWFuCnVpbnROQ29tcGFyaXNvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjU5CgkvLyByZXR1cm4geCA+PSB5OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50MjU2CgliPj0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdWludE5Db21wYXJpc29uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.approval.teal b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.approval.teal
index 084c76ca8..880516a75 100644
--- a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc32.json b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc32.json
index 7bcc71b5d..f47e52d86 100644
--- a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCiphYmlfcm91dGVfdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCgljYWxsc3ViIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKTogW3VpbnQ8OD4sIHVpbnQ2NF0KdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTA3CgkvLyB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IFsxLCAyXQoJdHhuIFNlbmRlcgoJYnl0ZSAweDAxMDAwMDAwMDAwMDAwMDAwMgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTA5CgkvLyB2ID0gdGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTExCgkvLyB2WzBdID0gMwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3YKCWludCAwCglieXRlIDB4MDMKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTMKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3YKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJ1cGRhdGVBcnJheVJlZkluQm94U3RvcmFnZSgpKHVpbnQ4LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCiphYmlfcm91dGVfdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCgljYWxsc3ViIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKTogW3VpbnQ8OD4sIHVpbnQ2NF0KdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTA3CgkvLyB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IFsxLCAyXQoJdHhuIFNlbmRlcgoJYnl0ZSAweDAxMDAwMDAwMDAwMDAwMDAwMgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTA5CgkvLyB2ID0gdGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTExCgkvLyB2WzBdID0gMwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3YKCWludCAwCglieXRlIDB4MDMKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTMKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3YKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJ1cGRhdGVBcnJheVJlZkluQm94U3RvcmFnZSgpKHVpbnQ4LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc56_draft.json
index c562121dc..548d86283 100644
--- a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc56_draft.json
@@ -65,381 +65,384 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1102,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 1102,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 1102,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 1102,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 1102,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 1102,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 1102,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 1102,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 1102,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 1105,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 1105,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 1105,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 1105,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 1105,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 1105,
- "pc": [
- 52
- ]
- },
- {
- "teal": 39,
- "source": 1105,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 42,
- "source": 1105,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 46,
- "source": 1107,
- "pc": [
- 58,
- 59
- ]
- },
- {
- "teal": 47,
- "source": 1107,
- "pc": [
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 48,
- "source": 1107,
- "pc": [
- 71
- ]
- },
- {
- "teal": 52,
- "source": 1109,
- "pc": [
- 72,
- 73
- ]
- },
- {
- "teal": 53,
- "source": 1109,
- "pc": [
- 74,
- 75
- ]
- },
- {
- "teal": 57,
- "source": 1109,
- "pc": [
- 76,
- 77
- ]
- },
- {
- "teal": 58,
- "source": 1109,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 59,
- "source": 1109,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 60,
- "source": 1109,
- "pc": [
- 83
- ]
- },
- {
- "teal": 64,
- "source": 1109,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 65,
- "source": 1109,
- "pc": [
- 86
- ]
- },
- {
- "teal": 68,
- "source": 1109,
- "errorMessage": "box value does not exist: this.bMap(this.txn.sender).value",
- "pc": [
- 87
- ]
- },
- {
- "teal": 71,
- "source": 1105,
- "pc": [
- 88,
- 89
- ]
- },
- {
- "teal": 72,
- "source": 1105,
- "pc": [
- 90
- ]
- },
- {
- "teal": 75,
- "source": 1102,
- "pc": [
- 91
- ]
- },
- {
- "teal": 76,
- "source": 1102,
- "pc": [
- 92
- ]
- },
- {
- "teal": 79,
- "source": 1102,
- "pc": [
- 93,
- 94,
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 80,
- "source": 1102,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 81,
- "source": 1102,
- "pc": [
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 84,
- "source": 1102,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 106
- ]
- },
- {
- "teal": 87,
- "source": 1102,
- "pc": [
- 107,
- 108,
- 109,
- 110,
- 111,
- 112
- ]
- },
- {
- "teal": 88,
- "source": 1102,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 89,
- "source": 1102,
- "pc": [
- 116,
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 92,
- "source": 1102,
- "errorMessage": "this contract does not implement the given ABI method for call OptIn",
- "pc": [
- 120
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1102,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1102,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1102,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1102,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1102,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1102,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1102,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1102,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1102,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1105,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1105,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1105,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1105,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1105,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1105,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1105,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 1105,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 1107,
+ "pc": [
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 1107,
+ "pc": [
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 1107,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1109,
+ "pc": [
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1109,
+ "pc": [
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1109,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1109,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1109,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1109,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 1109,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 1109,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 1109,
+ "errorMessage": "box value does not exist: this.bMap(this.txn.sender).value",
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1105,
+ "pc": [
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1105,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1102,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1102,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1102,
+ "pc": [
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1102,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1102,
+ "pc": [
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 1102,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 1102,
+ "pc": [
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 1102,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1102,
+ "pc": [
+ 116,
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1102,
+ "errorMessage": "this contract does not implement the given ABI method for call OptIn",
+ "pc": [
+ 120
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCiphYmlfcm91dGVfdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCgljYWxsc3ViIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKTogW3VpbnQ8OD4sIHVpbnQ2NF0KdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTA3CgkvLyB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IFsxLCAyXQoJdHhuIFNlbmRlcgoJYnl0ZSAweDAxMDAwMDAwMDAwMDAwMDAwMgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTA5CgkvLyB2ID0gdGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTExCgkvLyB2WzBdID0gMwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3YKCWludCAwCglieXRlIDB4MDMKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTMKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3YKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJ1cGRhdGVBcnJheVJlZkluQm94U3RvcmFnZSgpKHVpbnQ4LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCiphYmlfcm91dGVfdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCgljYWxsc3ViIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKTogW3VpbnQ8OD4sIHVpbnQ2NF0KdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTA3CgkvLyB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IFsxLCAyXQoJdHhuIFNlbmRlcgoJYnl0ZSAweDAxMDAwMDAwMDAwMDAwMDAwMgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTA5CgkvLyB2ID0gdGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTExCgkvLyB2WzBdID0gMwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3YKCWludCAwCglieXRlIDB4MDMKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTMKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3YKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJ1cGRhdGVBcnJheVJlZkluQm94U3RvcmFnZSgpKHVpbnQ4LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.approval.teal b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.approval.teal
index eb1fbd5ce..2a915bfda 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc32.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc32.json
index 03173d6a8..860cbe778 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpOiB1aW50NjQKdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM2OQoJLy8gYTogdWludDY0W10gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzEKCS8vIGFbMV0gPSAyMjIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpOiB1aW50NjQKdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM2OQoJLy8gYTogdWludDY0W10gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzEKCS8vIGFbMV0gPSAyMjIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc56_draft.json
index d24e1a5da..01c61102a 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc56_draft.json
@@ -60,421 +60,424 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 367,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 367,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 367,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 367,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 367,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 367,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 367,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 367,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 367,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 368,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 368,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 368,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 368,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 368,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 368,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 368,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 368,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 368,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 369,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 48,
- "source": 369,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 52,
- "source": 371,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 53,
- "source": 371,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 54,
- "source": 371,
- "pc": [
- 91,
- 92
- ]
- },
- {
- "teal": 55,
- "source": 371,
- "pc": [
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 56,
- "source": 371,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 57,
- "source": 371,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 61,
- "source": 373,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 62,
- "source": 373,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 63,
- "source": 373,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 64,
- "source": 373,
- "pc": [
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 65,
- "source": 373,
- "pc": [
- 116
- ]
- },
- {
- "teal": 68,
- "source": 368,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 69,
- "source": 368,
- "pc": [
- 119
- ]
- },
- {
- "teal": 72,
- "source": 367,
- "pc": [
- 120
- ]
- },
- {
- "teal": 73,
- "source": 367,
- "pc": [
- 121
- ]
- },
- {
- "teal": 76,
- "source": 367,
- "pc": [
- 122,
- 123,
- 124,
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 77,
- "source": 367,
- "pc": [
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 78,
- "source": 367,
- "pc": [
- 131,
- 132,
- 133,
- 134
- ]
- },
- {
- "teal": 81,
- "source": 367,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 135
- ]
- },
- {
- "teal": 84,
- "source": 367,
- "pc": [
- 136,
- 137,
- 138,
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 85,
- "source": 367,
- "pc": [
- 142,
- 143,
- 144
- ]
- },
- {
- "teal": 86,
- "source": 367,
- "pc": [
- 145,
- 146,
- 147,
- 148
- ]
- },
- {
- "teal": 89,
- "source": 367,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 149
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 367,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 367,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 367,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 367,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 367,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 367,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 367,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 367,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 367,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 368,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 368,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 368,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 368,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 368,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 368,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 368,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 368,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 368,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 369,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 369,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 371,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 371,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 371,
+ "pc": [
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 371,
+ "pc": [
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 371,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 371,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 373,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 373,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 373,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 373,
+ "pc": [
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 373,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 368,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 368,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 367,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 367,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 367,
+ "pc": [
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 367,
+ "pc": [
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 367,
+ "pc": [
+ 131,
+ 132,
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 367,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 367,
+ "pc": [
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 367,
+ "pc": [
+ 142,
+ 143,
+ 144
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 367,
+ "pc": [
+ 145,
+ 146,
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 367,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 149
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpOiB1aW50NjQKdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM2OQoJLy8gYTogdWludDY0W10gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzEKCS8vIGFbMV0gPSAyMjIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpOiB1aW50NjQKdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM2OQoJLy8gYTogdWludDY0W10gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzEKCS8vIGFbMV0gPSAyMjIKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.approval.teal b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.approval.teal
index 8c204c3f7..7eda57270 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc32.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc32.json
index a616e6eef..ec327f6a1 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpKHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQp1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODIKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODQKCS8vIGFbMV0gPSBbNCwgNV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjA0MDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njg2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpKHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQp1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODIKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODQKCS8vIGFbMV0gPSBbNCwgNV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjA0MDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njg2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc56_draft.json
index fd53583c8..f05aac02f 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc56_draft.json
@@ -60,1070 +60,1073 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 680,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8
- ]
- },
- {
- "teal": 13,
- "source": 680,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 14,
- "source": 680,
- "pc": [
- 11
- ]
- },
- {
- "teal": 15,
- "source": 680,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 16,
- "source": 680,
- "pc": [
- 14
- ]
- },
- {
- "teal": 17,
- "source": 680,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 18,
- "source": 680,
- "pc": [
- 17
- ]
- },
- {
- "teal": 19,
- "source": 680,
- "pc": [
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43
- ]
- },
- {
- "teal": 23,
- "source": 680,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 44
- ]
- },
- {
- "teal": 28,
- "source": 681,
- "pc": [
- 45,
- 46,
- 47,
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 31,
- "source": 681,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 32,
- "source": 681,
- "pc": [
- 54
- ]
- },
- {
- "teal": 33,
- "source": 681,
- "pc": [
- 55
- ]
- },
- {
- "teal": 34,
- "source": 681,
- "pc": [
- 56
- ]
- },
- {
- "teal": 35,
- "source": 681,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 681,
- "pc": [
- 58,
- 59,
- 60
- ]
- },
- {
- "teal": 42,
- "source": 681,
- "pc": [
- 61
- ]
- },
- {
- "teal": 46,
- "source": 682,
- "pc": [
- 62
- ]
- },
- {
- "teal": 47,
- "source": 682,
- "pc": [
- 63
- ]
- },
- {
- "teal": 48,
- "source": 682,
- "pc": [
- 64,
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 49,
- "source": 682,
- "pc": [
- 68,
- 69,
- 70,
- 71
- ]
- },
- {
- "teal": 50,
- "source": 682,
- "pc": [
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 51,
- "source": 682,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 52,
- "source": 682,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 53,
- "source": 682,
- "pc": [
- 83,
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 54,
- "source": 682,
- "pc": [
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 55,
- "source": 682,
- "pc": [
- 90
- ]
- },
- {
- "teal": 56,
- "source": 682,
- "pc": [
- 91
- ]
- },
- {
- "teal": 57,
- "source": 682,
- "pc": [
- 92,
- 93
- ]
- },
- {
- "teal": 61,
- "source": 684,
- "pc": [
- 94,
- 95
- ]
- },
- {
- "teal": 62,
- "source": 684,
- "pc": [
- 96,
- 97
- ]
- },
- {
- "teal": 63,
- "source": 684,
- "pc": [
- 98
- ]
- },
- {
- "teal": 64,
- "source": 684,
- "pc": [
- 99
- ]
- },
- {
- "teal": 65,
- "source": 684,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 66,
- "source": 684,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 67,
- "source": 684,
- "pc": [
- 104,
- 105
- ]
- },
- {
- "teal": 68,
- "source": 684,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 69,
- "source": 684,
- "pc": [
- 108
- ]
- },
- {
- "teal": 70,
- "source": 684,
- "pc": [
- 109
- ]
- },
- {
- "teal": 71,
- "source": 684,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 72,
- "source": 684,
- "pc": [
- 112
- ]
- },
- {
- "teal": 73,
- "source": 684,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 74,
- "source": 684,
- "pc": [
- 115
- ]
- },
- {
- "teal": 75,
- "source": 684,
- "pc": [
- 116
- ]
- },
- {
- "teal": 76,
- "source": 684,
- "pc": [
- 117
- ]
- },
- {
- "teal": 77,
- "source": 684,
- "pc": [
- 118
- ]
- },
- {
- "teal": 78,
- "source": 684,
- "pc": [
- 119
- ]
- },
- {
- "teal": 79,
- "source": 684,
- "pc": [
- 120
- ]
- },
- {
- "teal": 80,
- "source": 684,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 81,
- "source": 684,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 82,
- "source": 684,
- "pc": [
- 125
- ]
- },
- {
- "teal": 83,
- "source": 684,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 84,
- "source": 684,
- "pc": [
- 128
- ]
- },
- {
- "teal": 85,
- "source": 684,
- "pc": [
- 129,
- 130,
- 131,
- 132,
- 133,
- 134
- ]
- },
- {
- "teal": 86,
- "source": 684,
- "pc": [
- 135
- ]
- },
- {
- "teal": 87,
- "source": 684,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 88,
- "source": 684,
- "pc": [
- 138,
- 139
- ]
- },
- {
- "teal": 89,
- "source": 684,
- "pc": [
- 140,
- 141
- ]
- },
- {
- "teal": 90,
- "source": 684,
- "pc": [
- 142,
- 143
- ]
- },
- {
- "teal": 91,
- "source": 684,
- "pc": [
- 144
- ]
- },
- {
- "teal": 92,
- "source": 684,
- "pc": [
- 145,
- 146
- ]
- },
- {
- "teal": 93,
- "source": 684,
- "pc": [
- 147
- ]
- },
- {
- "teal": 94,
- "source": 684,
- "pc": [
- 148
- ]
- },
- {
- "teal": 95,
- "source": 684,
- "pc": [
- 149
- ]
- },
- {
- "teal": 96,
- "source": 684,
- "pc": [
- 150
- ]
- },
- {
- "teal": 97,
- "source": 684,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 98,
- "source": 684,
- "pc": [
- 153,
- 154,
- 155
- ]
- },
- {
- "teal": 99,
- "source": 684,
- "pc": [
- 156,
- 157
- ]
- },
- {
- "teal": 100,
- "source": 684,
- "pc": [
- 158,
- 159
- ]
- },
- {
- "teal": 104,
- "source": 686,
- "pc": [
- 160,
- 161
- ]
- },
- {
- "teal": 107,
- "source": 681,
- "pc": [
- 162,
- 163
- ]
- },
- {
- "teal": 108,
- "source": 681,
- "pc": [
- 164
- ]
- },
- {
- "teal": 111,
- "source": 680,
- "pc": [
- 165
- ]
- },
- {
- "teal": 112,
- "source": 680,
- "pc": [
- 166
- ]
- },
- {
- "teal": 115,
- "source": 680,
- "pc": [
- 167,
- 168,
- 169,
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 116,
- "source": 680,
- "pc": [
- 173,
- 174,
- 175
- ]
- },
- {
- "teal": 117,
- "source": 680,
- "pc": [
- 176,
- 177,
- 178,
- 179
- ]
- },
- {
- "teal": 120,
- "source": 680,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 180
- ]
- },
- {
- "teal": 123,
- "source": 680,
- "pc": [
- 181,
- 182,
- 183,
- 184,
- 185,
- 186
- ]
- },
- {
- "teal": 124,
- "source": 680,
- "pc": [
- 187,
- 188,
- 189
- ]
- },
- {
- "teal": 125,
- "source": 680,
- "pc": [
- 190,
- 191,
- 192,
- 193
- ]
- },
- {
- "teal": 128,
- "source": 680,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 194
- ]
- },
- {
- "teal": 131,
- "source": 680,
- "pc": [
- 195,
- 196,
- 197
- ]
- },
- {
- "teal": 132,
- "source": 680,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 133,
- "source": 680,
- "pc": [
- 200,
- 201
- ]
- },
- {
- "teal": 134,
- "source": 680,
- "pc": [
- 202
- ]
- },
- {
- "teal": 135,
- "source": 680,
- "pc": [
- 203,
- 204
- ]
- },
- {
- "teal": 136,
- "source": 680,
- "pc": [
- 205,
- 206
- ]
- },
- {
- "teal": 137,
- "source": 680,
- "pc": [
- 207
- ]
- },
- {
- "teal": 140,
- "source": 680,
- "pc": [
- 208,
- 209,
- 210
- ]
- },
- {
- "teal": 141,
- "source": 680,
- "pc": [
- 211,
- 212
- ]
- },
- {
- "teal": 142,
- "source": 680,
- "pc": [
- 213,
- 214
- ]
- },
- {
- "teal": 143,
- "source": 680,
- "pc": [
- 215
- ]
- },
- {
- "teal": 144,
- "source": 680,
- "pc": [
- 216,
- 217
- ]
- },
- {
- "teal": 145,
- "source": 680,
- "pc": [
- 218,
- 219
- ]
- },
- {
- "teal": 146,
- "source": 680,
- "pc": [
- 220
- ]
- },
- {
- "teal": 147,
- "source": 680,
- "pc": [
- 221
- ]
- },
- {
- "teal": 148,
- "source": 680,
- "pc": [
- 222,
- 223
- ]
- },
- {
- "teal": 149,
- "source": 680,
- "pc": [
- 224
- ]
- },
- {
- "teal": 150,
- "source": 680,
- "pc": [
- 225
- ]
- },
- {
- "teal": 151,
- "source": 680,
- "pc": [
- 226
- ]
- },
- {
- "teal": 152,
- "source": 680,
- "pc": [
- 227,
- 228,
- 229
- ]
- },
- {
- "teal": 153,
- "source": 680,
- "pc": [
- 230,
- 231
- ]
- },
- {
- "teal": 154,
- "source": 680,
- "pc": [
- 232,
- 233
- ]
- },
- {
- "teal": 155,
- "source": 680,
- "pc": [
- 234
- ]
- },
- {
- "teal": 156,
- "source": 680,
- "pc": [
- 235
- ]
- },
- {
- "teal": 157,
- "source": 680,
- "pc": [
- 236,
- 237
- ]
- },
- {
- "teal": 158,
- "source": 680,
- "pc": [
- 238,
- 239
- ]
- },
- {
- "teal": 159,
- "source": 680,
- "pc": [
- 240,
- 241
- ]
- },
- {
- "teal": 160,
- "source": 680,
- "pc": [
- 242,
- 243
- ]
- },
- {
- "teal": 161,
- "source": 680,
- "pc": [
- 244
- ]
- },
- {
- "teal": 164,
- "source": 680,
- "pc": [
- 245,
- 246
- ]
- },
- {
- "teal": 165,
- "source": 680,
- "pc": [
- 247
- ]
- },
- {
- "teal": 166,
- "source": 680,
- "pc": [
- 248,
- 249
- ]
- },
- {
- "teal": 167,
- "source": 680,
- "pc": [
- 250
- ]
- },
- {
- "teal": 168,
- "source": 680,
- "pc": [
- 251,
- 252,
- 253
- ]
- },
- {
- "teal": 169,
- "source": 680,
- "pc": [
- 254,
- 255
- ]
- },
- {
- "teal": 170,
- "source": 680,
- "pc": [
- 256
- ]
- },
- {
- "teal": 171,
- "source": 680,
- "pc": [
- 257,
- 258
- ]
- },
- {
- "teal": 172,
- "source": 680,
- "pc": [
- 259
- ]
- },
- {
- "teal": 173,
- "source": 680,
- "pc": [
- 260,
- 261
- ]
- },
- {
- "teal": 174,
- "source": 680,
- "pc": [
- 262,
- 263,
- 264
- ]
- },
- {
- "teal": 177,
- "source": 680,
- "pc": [
- 265,
- 266
- ]
- },
- {
- "teal": 178,
- "source": 680,
- "pc": [
- 267,
- 268
- ]
- },
- {
- "teal": 179,
- "source": 680,
- "pc": [
- 269
- ]
- },
- {
- "teal": 180,
- "source": 680,
- "pc": [
- 270
- ]
- },
- {
- "teal": 181,
- "source": 680,
- "pc": [
- 271,
- 272
- ]
- },
- {
- "teal": 184,
- "source": 680,
- "pc": [
- 273
- ]
- },
- {
- "teal": 185,
- "source": 680,
- "pc": [
- 274,
- 275
- ]
- },
- {
- "teal": 186,
- "source": 680,
- "pc": [
- 276
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 680,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 680,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 680,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 680,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 680,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 680,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 680,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 680,
+ "pc": [
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 680,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 681,
+ "pc": [
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 681,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 681,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 681,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 681,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 681,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 681,
+ "pc": [
+ 58,
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 681,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 682,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 682,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 682,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 682,
+ "pc": [
+ 68,
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 682,
+ "pc": [
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 682,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 682,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 682,
+ "pc": [
+ 83,
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 682,
+ "pc": [
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 682,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 682,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 682,
+ "pc": [
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 684,
+ "pc": [
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 684,
+ "pc": [
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 684,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 684,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 684,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 684,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 684,
+ "pc": [
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 684,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 684,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 684,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 684,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 684,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 684,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 684,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 684,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 684,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 684,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 684,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 684,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 684,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 684,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 684,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 684,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 684,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 684,
+ "pc": [
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 684,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 684,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 684,
+ "pc": [
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 684,
+ "pc": [
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 684,
+ "pc": [
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 684,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 684,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 684,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 684,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 684,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 684,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 684,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 684,
+ "pc": [
+ 153,
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 684,
+ "pc": [
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 684,
+ "pc": [
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 686,
+ "pc": [
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 681,
+ "pc": [
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 681,
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 680,
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 680,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 680,
+ "pc": [
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 680,
+ "pc": [
+ 173,
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 680,
+ "pc": [
+ 176,
+ 177,
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 680,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 180
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 680,
+ "pc": [
+ 181,
+ 182,
+ 183,
+ 184,
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 680,
+ "pc": [
+ 187,
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 680,
+ "pc": [
+ 190,
+ 191,
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 680,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 680,
+ "pc": [
+ 195,
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 680,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 680,
+ "pc": [
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 680,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 680,
+ "pc": [
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 680,
+ "pc": [
+ 205,
+ 206
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 680,
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 680,
+ "pc": [
+ 208,
+ 209,
+ 210
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 680,
+ "pc": [
+ 211,
+ 212
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 680,
+ "pc": [
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 680,
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 680,
+ "pc": [
+ 216,
+ 217
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 680,
+ "pc": [
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 680,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 680,
+ "pc": [
+ 221
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 680,
+ "pc": [
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 680,
+ "pc": [
+ 224
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 680,
+ "pc": [
+ 225
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 680,
+ "pc": [
+ 226
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 680,
+ "pc": [
+ 227,
+ 228,
+ 229
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 680,
+ "pc": [
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 680,
+ "pc": [
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 680,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 680,
+ "pc": [
+ 235
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 680,
+ "pc": [
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 680,
+ "pc": [
+ 238,
+ 239
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 680,
+ "pc": [
+ 240,
+ 241
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 680,
+ "pc": [
+ 242,
+ 243
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 680,
+ "pc": [
+ 244
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 680,
+ "pc": [
+ 245,
+ 246
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 680,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 680,
+ "pc": [
+ 248,
+ 249
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 680,
+ "pc": [
+ 250
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 680,
+ "pc": [
+ 251,
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 680,
+ "pc": [
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 680,
+ "pc": [
+ 256
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 680,
+ "pc": [
+ 257,
+ 258
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 680,
+ "pc": [
+ 259
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 680,
+ "pc": [
+ 260,
+ 261
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 680,
+ "pc": [
+ 262,
+ 263,
+ 264
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 680,
+ "pc": [
+ 265,
+ 266
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 680,
+ "pc": [
+ 267,
+ 268
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 680,
+ "pc": [
+ 269
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 680,
+ "pc": [
+ 270
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 680,
+ "pc": [
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 680,
+ "pc": [
+ 273
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 680,
+ "pc": [
+ 274,
+ 275
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 680,
+ "pc": [
+ 276
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpKHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQp1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODIKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODQKCS8vIGFbMV0gPSBbNCwgNV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjA0MDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njg2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpKHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQp1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODIKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODQKCS8vIGFbMV0gPSBbNCwgNV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjA0MDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Njg2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.approval.teal b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.approval.teal
index 0bd46e8eb..88728cbaf 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc32.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc32.json
index dc8bde48a..0251e077f 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlKCkodWludDgsdWludDE2W10sdWludDhbXSx1aW50MTZbXSx1aW50OFtdKQoqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCnVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MDYKCS8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFs5LCBbOF0sIFs3XSwgWzZdLCBbNV1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA5IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwNwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDAwNgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA4CgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDYzCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQwOQoJLy8gYVsxXSA9IFsxMCwgMTFdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBhMDAwYgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDYKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MTAKCS8vIGFbMl0gPSBbMTIsIDEzXQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDMKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMGMwZAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxMQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDEyCgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDE0CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHVpbnQ4W10sdWludDE2W10sdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnVwZGF0ZV9keW5hbWljX2hlYWQ6Cglwcm90byAyIDAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfZGlnIC0xIC8vIGR5bmFtaWMgYXJyYXkgb2Zmc2V0CglleHRyYWN0X3VpbnQxNiAvLyBleHRyYWN0IGR5bmFtaWMgYXJyYXkgb2Zmc2V0Cglsb2FkIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWJ6ICpzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2UKCSsgLy8gYWRkIGRpZmZlcmVuY2UgdG8gb2Zmc2V0CgliICplbmRfY2FsY19uZXdfaGVhZAoKKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZToKCXN3YXAKCS0gLy8gc3VidHJhY3QgZGlmZmVyZW5jZSBmcm9tIG9mZmV0CgoqZW5kX2NhbGNfbmV3X2hlYWQ6CglpdG9iIC8vIGNvbnZlcnQgdG8gYnl0ZXMKCWV4dHJhY3QgNiAyIC8vIGNvbnZlcnQgdG8gdWludDE2Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglmcmFtZV9kaWcgLTEgLy8gb2Zmc2V0Cglzd2FwCglyZXBsYWNlMyAvLyB1cGRhdGUgb2Zmc2V0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJcmV0c3ViCgoqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlOgoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgk8CglibnogKnN3YXBwZWRfZGlmZmVyZW5jZQoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglpbnQgMQoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYiAqZ2V0X2RpZmZlcmVuY2UKCipzd2FwcGVkX2RpZmZlcmVuY2U6Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWludCAwCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgoqZ2V0X2RpZmZlcmVuY2U6CgktIC8vIGdldCBsZW5ndGggZGlmZmVyZW5jZQoJc3RvcmUgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlKCkodWludDgsdWludDE2W10sdWludDhbXSx1aW50MTZbXSx1aW50OFtdKQoqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCnVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MDYKCS8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFs5LCBbOF0sIFs3XSwgWzZdLCBbNV1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA5IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwNwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDAwNgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA4CgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDYzCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQwOQoJLy8gYVsxXSA9IFsxMCwgMTFdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBhMDAwYgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDYKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MTAKCS8vIGFbMl0gPSBbMTIsIDEzXQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDMKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMGMwZAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxMQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDEyCgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDE0CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHVpbnQ4W10sdWludDE2W10sdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnVwZGF0ZV9keW5hbWljX2hlYWQ6Cglwcm90byAyIDAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfZGlnIC0xIC8vIGR5bmFtaWMgYXJyYXkgb2Zmc2V0CglleHRyYWN0X3VpbnQxNiAvLyBleHRyYWN0IGR5bmFtaWMgYXJyYXkgb2Zmc2V0Cglsb2FkIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWJ6ICpzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2UKCSsgLy8gYWRkIGRpZmZlcmVuY2UgdG8gb2Zmc2V0CgliICplbmRfY2FsY19uZXdfaGVhZAoKKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZToKCXN3YXAKCS0gLy8gc3VidHJhY3QgZGlmZmVyZW5jZSBmcm9tIG9mZmV0CgoqZW5kX2NhbGNfbmV3X2hlYWQ6CglpdG9iIC8vIGNvbnZlcnQgdG8gYnl0ZXMKCWV4dHJhY3QgNiAyIC8vIGNvbnZlcnQgdG8gdWludDE2Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglmcmFtZV9kaWcgLTEgLy8gb2Zmc2V0Cglzd2FwCglyZXBsYWNlMyAvLyB1cGRhdGUgb2Zmc2V0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJcmV0c3ViCgoqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlOgoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgk8CglibnogKnN3YXBwZWRfZGlmZmVyZW5jZQoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglpbnQgMQoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYiAqZ2V0X2RpZmZlcmVuY2UKCipzd2FwcGVkX2RpZmZlcmVuY2U6Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWludCAwCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgoqZ2V0X2RpZmZlcmVuY2U6CgktIC8vIGdldCBsZW5ndGggZGlmZmVyZW5jZQoJc3RvcmUgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc56_draft.json
index 5a60e2c10..422106c4a 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc56_draft.json
@@ -60,2478 +60,2481 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 404,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10
- ]
- },
- {
- "teal": 13,
- "source": 404,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 14,
- "source": 404,
- "pc": [
- 13
- ]
- },
- {
- "teal": 15,
- "source": 404,
- "pc": [
- 14
- ]
- },
- {
- "teal": 16,
- "source": 404,
- "pc": [
- 15
- ]
- },
- {
- "teal": 17,
- "source": 404,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 18,
- "source": 404,
- "pc": [
- 18
- ]
- },
- {
- "teal": 19,
- "source": 404,
- "pc": [
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44
- ]
- },
- {
- "teal": 23,
- "source": 404,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 45
- ]
- },
- {
- "teal": 28,
- "source": 405,
- "pc": [
- 46,
- 47,
- 48,
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 31,
- "source": 405,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 32,
- "source": 405,
- "pc": [
- 55
- ]
- },
- {
- "teal": 33,
- "source": 405,
- "pc": [
- 56
- ]
- },
- {
- "teal": 34,
- "source": 405,
- "pc": [
- 57
- ]
- },
- {
- "teal": 35,
- "source": 405,
- "pc": [
- 58
- ]
- },
- {
- "teal": 39,
- "source": 405,
- "pc": [
- 59,
- 60,
- 61
- ]
- },
- {
- "teal": 42,
- "source": 405,
- "pc": [
- 62
- ]
- },
- {
- "teal": 46,
- "source": 406,
- "pc": [
- 63
- ]
- },
- {
- "teal": 47,
- "source": 406,
- "pc": [
- 64
- ]
- },
- {
- "teal": 48,
- "source": 406,
- "pc": [
- 65,
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 49,
- "source": 406,
- "pc": [
- 69,
- 70,
- 71
- ]
- },
- {
- "teal": 50,
- "source": 406,
- "pc": [
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 51,
- "source": 406,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 52,
- "source": 406,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 53,
- "source": 406,
- "pc": [
- 84,
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 54,
- "source": 406,
- "pc": [
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 55,
- "source": 406,
- "pc": [
- 92,
- 93,
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 56,
- "source": 406,
- "pc": [
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 57,
- "source": 406,
- "pc": [
- 101,
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 58,
- "source": 406,
- "pc": [
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 59,
- "source": 406,
- "pc": [
- 109
- ]
- },
- {
- "teal": 60,
- "source": 406,
- "pc": [
- 110
- ]
- },
- {
- "teal": 61,
- "source": 406,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 65,
- "source": 408,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 66,
- "source": 408,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 67,
- "source": 408,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 68,
- "source": 408,
- "pc": [
- 119,
- 120,
- 121
- ]
- },
- {
- "teal": 69,
- "source": 408,
- "pc": [
- 122,
- 123
- ]
- },
- {
- "teal": 70,
- "source": 408,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 74,
- "source": 409,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 75,
- "source": 409,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 76,
- "source": 409,
- "pc": [
- 130
- ]
- },
- {
- "teal": 77,
- "source": 409,
- "pc": [
- 131
- ]
- },
- {
- "teal": 78,
- "source": 409,
- "pc": [
- 132,
- 133
- ]
- },
- {
- "teal": 79,
- "source": 409,
- "pc": [
- 134,
- 135
- ]
- },
- {
- "teal": 80,
- "source": 409,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 81,
- "source": 409,
- "pc": [
- 138,
- 139
- ]
- },
- {
- "teal": 82,
- "source": 409,
- "pc": [
- 140
- ]
- },
- {
- "teal": 83,
- "source": 409,
- "pc": [
- 141
- ]
- },
- {
- "teal": 84,
- "source": 409,
- "pc": [
- 142,
- 143
- ]
- },
- {
- "teal": 85,
- "source": 409,
- "pc": [
- 144
- ]
- },
- {
- "teal": 86,
- "source": 409,
- "pc": [
- 145,
- 146
- ]
- },
- {
- "teal": 87,
- "source": 409,
- "pc": [
- 147
- ]
- },
- {
- "teal": 88,
- "source": 409,
- "pc": [
- 148
- ]
- },
- {
- "teal": 89,
- "source": 409,
- "pc": [
- 149
- ]
- },
- {
- "teal": 90,
- "source": 409,
- "pc": [
- 150
- ]
- },
- {
- "teal": 91,
- "source": 409,
- "pc": [
- 151
- ]
- },
- {
- "teal": 92,
- "source": 409,
- "pc": [
- 152
- ]
- },
- {
- "teal": 93,
- "source": 409,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 94,
- "source": 409,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 95,
- "source": 409,
- "pc": [
- 157
- ]
- },
- {
- "teal": 96,
- "source": 409,
- "pc": [
- 158,
- 159
- ]
- },
- {
- "teal": 97,
- "source": 409,
- "pc": [
- 160
- ]
- },
- {
- "teal": 98,
- "source": 409,
- "pc": [
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 99,
- "source": 409,
- "pc": [
- 169
- ]
- },
- {
- "teal": 100,
- "source": 409,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 101,
- "source": 409,
- "pc": [
- 172,
- 173
- ]
- },
- {
- "teal": 102,
- "source": 409,
- "pc": [
- 174,
- 175
- ]
- },
- {
- "teal": 103,
- "source": 409,
- "pc": [
- 176,
- 177
- ]
- },
- {
- "teal": 104,
- "source": 409,
- "pc": [
- 178
- ]
- },
- {
- "teal": 105,
- "source": 409,
- "pc": [
- 179,
- 180
- ]
- },
- {
- "teal": 106,
- "source": 409,
- "pc": [
- 181
- ]
- },
- {
- "teal": 107,
- "source": 409,
- "pc": [
- 182
- ]
- },
- {
- "teal": 108,
- "source": 409,
- "pc": [
- 183
- ]
- },
- {
- "teal": 109,
- "source": 409,
- "pc": [
- 184
- ]
- },
- {
- "teal": 110,
- "source": 409,
- "pc": [
- 185,
- 186
- ]
- },
- {
- "teal": 111,
- "source": 409,
- "pc": [
- 187,
- 188,
- 189
- ]
- },
- {
- "teal": 112,
- "source": 409,
- "pc": [
- 190,
- 191
- ]
- },
- {
- "teal": 113,
- "source": 409,
- "pc": [
- 192,
- 193
- ]
- },
- {
- "teal": 114,
- "source": 409,
- "pc": [
- 194
- ]
- },
- {
- "teal": 115,
- "source": 409,
- "pc": [
- 195
- ]
- },
- {
- "teal": 116,
- "source": 409,
- "pc": [
- 196,
- 197,
- 198
- ]
- },
- {
- "teal": 117,
- "source": 409,
- "pc": [
- 199,
- 200
- ]
- },
- {
- "teal": 118,
- "source": 409,
- "pc": [
- 201,
- 202
- ]
- },
- {
- "teal": 119,
- "source": 409,
- "pc": [
- 203,
- 204
- ]
- },
- {
- "teal": 120,
- "source": 409,
- "pc": [
- 205
- ]
- },
- {
- "teal": 121,
- "source": 409,
- "pc": [
- 206,
- 207,
- 208
- ]
- },
- {
- "teal": 122,
- "source": 409,
- "pc": [
- 209,
- 210
- ]
- },
- {
- "teal": 123,
- "source": 409,
- "pc": [
- 211,
- 212
- ]
- },
- {
- "teal": 124,
- "source": 409,
- "pc": [
- 213
- ]
- },
- {
- "teal": 125,
- "source": 409,
- "pc": [
- 214
- ]
- },
- {
- "teal": 126,
- "source": 409,
- "pc": [
- 215,
- 216,
- 217
- ]
- },
- {
- "teal": 127,
- "source": 409,
- "pc": [
- 218,
- 219
- ]
- },
- {
- "teal": 128,
- "source": 409,
- "pc": [
- 220,
- 221
- ]
- },
- {
- "teal": 132,
- "source": 410,
- "pc": [
- 222,
- 223
- ]
- },
- {
- "teal": 133,
- "source": 410,
- "pc": [
- 224,
- 225
- ]
- },
- {
- "teal": 134,
- "source": 410,
- "pc": [
- 226,
- 227
- ]
- },
- {
- "teal": 135,
- "source": 410,
- "pc": [
- 228
- ]
- },
- {
- "teal": 136,
- "source": 410,
- "pc": [
- 229,
- 230
- ]
- },
- {
- "teal": 137,
- "source": 410,
- "pc": [
- 231,
- 232
- ]
- },
- {
- "teal": 138,
- "source": 410,
- "pc": [
- 233,
- 234
- ]
- },
- {
- "teal": 139,
- "source": 410,
- "pc": [
- 235,
- 236
- ]
- },
- {
- "teal": 140,
- "source": 410,
- "pc": [
- 237
- ]
- },
- {
- "teal": 141,
- "source": 410,
- "pc": [
- 238
- ]
- },
- {
- "teal": 142,
- "source": 410,
- "pc": [
- 239,
- 240
- ]
- },
- {
- "teal": 143,
- "source": 410,
- "pc": [
- 241
- ]
- },
- {
- "teal": 144,
- "source": 410,
- "pc": [
- 242,
- 243
- ]
- },
- {
- "teal": 145,
- "source": 410,
- "pc": [
- 244
- ]
- },
- {
- "teal": 146,
- "source": 410,
- "pc": [
- 245
- ]
- },
- {
- "teal": 147,
- "source": 410,
- "pc": [
- 246
- ]
- },
- {
- "teal": 148,
- "source": 410,
- "pc": [
- 247
- ]
- },
- {
- "teal": 149,
- "source": 410,
- "pc": [
- 248
- ]
- },
- {
- "teal": 150,
- "source": 410,
- "pc": [
- 249
- ]
- },
- {
- "teal": 151,
- "source": 410,
- "pc": [
- 250,
- 251
- ]
- },
- {
- "teal": 152,
- "source": 410,
- "pc": [
- 252,
- 253
- ]
- },
- {
- "teal": 153,
- "source": 410,
- "pc": [
- 254
- ]
- },
- {
- "teal": 154,
- "source": 410,
- "pc": [
- 255,
- 256
- ]
- },
- {
- "teal": 155,
- "source": 410,
- "pc": [
- 257
- ]
- },
- {
- "teal": 156,
- "source": 410,
- "pc": [
- 258,
- 259,
- 260,
- 261,
- 262,
- 263
- ]
- },
- {
- "teal": 157,
- "source": 410,
- "pc": [
- 264
- ]
- },
- {
- "teal": 158,
- "source": 410,
- "pc": [
- 265,
- 266
- ]
- },
- {
- "teal": 159,
- "source": 410,
- "pc": [
- 267,
- 268
- ]
- },
- {
- "teal": 160,
- "source": 410,
- "pc": [
- 269,
- 270
- ]
- },
- {
- "teal": 161,
- "source": 410,
- "pc": [
- 271,
- 272
- ]
- },
- {
- "teal": 162,
- "source": 410,
- "pc": [
- 273
- ]
- },
- {
- "teal": 163,
- "source": 410,
- "pc": [
- 274,
- 275
- ]
- },
- {
- "teal": 164,
- "source": 410,
- "pc": [
- 276
- ]
- },
- {
- "teal": 165,
- "source": 410,
- "pc": [
- 277
- ]
- },
- {
- "teal": 166,
- "source": 410,
- "pc": [
- 278
- ]
- },
- {
- "teal": 167,
- "source": 410,
- "pc": [
- 279
- ]
- },
- {
- "teal": 168,
- "source": 410,
- "pc": [
- 280,
- 281
- ]
- },
- {
- "teal": 169,
- "source": 410,
- "pc": [
- 282,
- 283,
- 284
- ]
- },
- {
- "teal": 170,
- "source": 410,
- "pc": [
- 285,
- 286
- ]
- },
- {
- "teal": 171,
- "source": 410,
- "pc": [
- 287,
- 288
- ]
- },
- {
- "teal": 172,
- "source": 410,
- "pc": [
- 289
- ]
- },
- {
- "teal": 173,
- "source": 410,
- "pc": [
- 290
- ]
- },
- {
- "teal": 174,
- "source": 410,
- "pc": [
- 291,
- 292,
- 293
- ]
- },
- {
- "teal": 175,
- "source": 410,
- "pc": [
- 294,
- 295
- ]
- },
- {
- "teal": 176,
- "source": 410,
- "pc": [
- 296,
- 297
- ]
- },
- {
- "teal": 177,
- "source": 410,
- "pc": [
- 298,
- 299
- ]
- },
- {
- "teal": 178,
- "source": 410,
- "pc": [
- 300
- ]
- },
- {
- "teal": 179,
- "source": 410,
- "pc": [
- 301,
- 302,
- 303
- ]
- },
- {
- "teal": 180,
- "source": 410,
- "pc": [
- 304,
- 305
- ]
- },
- {
- "teal": 181,
- "source": 410,
- "pc": [
- 306,
- 307
- ]
- },
- {
- "teal": 185,
- "source": 411,
- "pc": [
- 308,
- 309
- ]
- },
- {
- "teal": 186,
- "source": 411,
- "pc": [
- 310,
- 311
- ]
- },
- {
- "teal": 187,
- "source": 411,
- "pc": [
- 312,
- 313
- ]
- },
- {
- "teal": 188,
- "source": 411,
- "pc": [
- 314
- ]
- },
- {
- "teal": 189,
- "source": 411,
- "pc": [
- 315,
- 316
- ]
- },
- {
- "teal": 190,
- "source": 411,
- "pc": [
- 317,
- 318
- ]
- },
- {
- "teal": 191,
- "source": 411,
- "pc": [
- 319,
- 320
- ]
- },
- {
- "teal": 192,
- "source": 411,
- "pc": [
- 321,
- 322
- ]
- },
- {
- "teal": 193,
- "source": 411,
- "pc": [
- 323
- ]
- },
- {
- "teal": 194,
- "source": 411,
- "pc": [
- 324
- ]
- },
- {
- "teal": 195,
- "source": 411,
- "pc": [
- 325,
- 326
- ]
- },
- {
- "teal": 196,
- "source": 411,
- "pc": [
- 327
- ]
- },
- {
- "teal": 197,
- "source": 411,
- "pc": [
- 328,
- 329
- ]
- },
- {
- "teal": 198,
- "source": 411,
- "pc": [
- 330
- ]
- },
- {
- "teal": 199,
- "source": 411,
- "pc": [
- 331
- ]
- },
- {
- "teal": 200,
- "source": 411,
- "pc": [
- 332
- ]
- },
- {
- "teal": 201,
- "source": 411,
- "pc": [
- 333
- ]
- },
- {
- "teal": 202,
- "source": 411,
- "pc": [
- 334
- ]
- },
- {
- "teal": 203,
- "source": 411,
- "pc": [
- 335
- ]
- },
- {
- "teal": 204,
- "source": 411,
- "pc": [
- 336,
- 337
- ]
- },
- {
- "teal": 205,
- "source": 411,
- "pc": [
- 338,
- 339
- ]
- },
- {
- "teal": 206,
- "source": 411,
- "pc": [
- 340
- ]
- },
- {
- "teal": 207,
- "source": 411,
- "pc": [
- 341,
- 342
- ]
- },
- {
- "teal": 208,
- "source": 411,
- "pc": [
- 343
- ]
- },
- {
- "teal": 209,
- "source": 411,
- "pc": [
- 344,
- 345,
- 346,
- 347,
- 348,
- 349,
- 350,
- 351
- ]
- },
- {
- "teal": 210,
- "source": 411,
- "pc": [
- 352
- ]
- },
- {
- "teal": 211,
- "source": 411,
- "pc": [
- 353,
- 354
- ]
- },
- {
- "teal": 212,
- "source": 411,
- "pc": [
- 355,
- 356
- ]
- },
- {
- "teal": 213,
- "source": 411,
- "pc": [
- 357,
- 358
- ]
- },
- {
- "teal": 214,
- "source": 411,
- "pc": [
- 359,
- 360
- ]
- },
- {
- "teal": 215,
- "source": 411,
- "pc": [
- 361
- ]
- },
- {
- "teal": 216,
- "source": 411,
- "pc": [
- 362,
- 363
- ]
- },
- {
- "teal": 217,
- "source": 411,
- "pc": [
- 364
- ]
- },
- {
- "teal": 218,
- "source": 411,
- "pc": [
- 365
- ]
- },
- {
- "teal": 219,
- "source": 411,
- "pc": [
- 366
- ]
- },
- {
- "teal": 220,
- "source": 411,
- "pc": [
- 367
- ]
- },
- {
- "teal": 221,
- "source": 411,
- "pc": [
- 368,
- 369
- ]
- },
- {
- "teal": 222,
- "source": 411,
- "pc": [
- 370,
- 371,
- 372
- ]
- },
- {
- "teal": 223,
- "source": 411,
- "pc": [
- 373,
- 374
- ]
- },
- {
- "teal": 224,
- "source": 411,
- "pc": [
- 375,
- 376
- ]
- },
- {
- "teal": 225,
- "source": 411,
- "pc": [
- 377
- ]
- },
- {
- "teal": 226,
- "source": 411,
- "pc": [
- 378
- ]
- },
- {
- "teal": 227,
- "source": 411,
- "pc": [
- 379,
- 380,
- 381
- ]
- },
- {
- "teal": 228,
- "source": 411,
- "pc": [
- 382,
- 383
- ]
- },
- {
- "teal": 229,
- "source": 411,
- "pc": [
- 384,
- 385
- ]
- },
- {
- "teal": 233,
- "source": 412,
- "pc": [
- 386,
- 387
- ]
- },
- {
- "teal": 234,
- "source": 412,
- "pc": [
- 388,
- 389
- ]
- },
- {
- "teal": 235,
- "source": 412,
- "pc": [
- 390,
- 391
- ]
- },
- {
- "teal": 236,
- "source": 412,
- "pc": [
- 392
- ]
- },
- {
- "teal": 237,
- "source": 412,
- "pc": [
- 393,
- 394
- ]
- },
- {
- "teal": 238,
- "source": 412,
- "pc": [
- 395,
- 396
- ]
- },
- {
- "teal": 239,
- "source": 412,
- "pc": [
- 397,
- 398
- ]
- },
- {
- "teal": 240,
- "source": 412,
- "pc": [
- 399,
- 400
- ]
- },
- {
- "teal": 241,
- "source": 412,
- "pc": [
- 401
- ]
- },
- {
- "teal": 242,
- "source": 412,
- "pc": [
- 402
- ]
- },
- {
- "teal": 243,
- "source": 412,
- "pc": [
- 403,
- 404
- ]
- },
- {
- "teal": 244,
- "source": 412,
- "pc": [
- 405
- ]
- },
- {
- "teal": 245,
- "source": 412,
- "pc": [
- 406,
- 407
- ]
- },
- {
- "teal": 246,
- "source": 412,
- "pc": [
- 408
- ]
- },
- {
- "teal": 247,
- "source": 412,
- "pc": [
- 409
- ]
- },
- {
- "teal": 248,
- "source": 412,
- "pc": [
- 410
- ]
- },
- {
- "teal": 249,
- "source": 412,
- "pc": [
- 411
- ]
- },
- {
- "teal": 250,
- "source": 412,
- "pc": [
- 412
- ]
- },
- {
- "teal": 251,
- "source": 412,
- "pc": [
- 413
- ]
- },
- {
- "teal": 252,
- "source": 412,
- "pc": [
- 414,
- 415
- ]
- },
- {
- "teal": 253,
- "source": 412,
- "pc": [
- 416,
- 417
- ]
- },
- {
- "teal": 254,
- "source": 412,
- "pc": [
- 418
- ]
- },
- {
- "teal": 255,
- "source": 412,
- "pc": [
- 419,
- 420
- ]
- },
- {
- "teal": 256,
- "source": 412,
- "pc": [
- 421
- ]
- },
- {
- "teal": 257,
- "source": 412,
- "pc": [
- 422,
- 423,
- 424,
- 425,
- 426,
- 427
- ]
- },
- {
- "teal": 258,
- "source": 412,
- "pc": [
- 428
- ]
- },
- {
- "teal": 259,
- "source": 412,
- "pc": [
- 429,
- 430
- ]
- },
- {
- "teal": 260,
- "source": 412,
- "pc": [
- 431,
- 432
- ]
- },
- {
- "teal": 261,
- "source": 412,
- "pc": [
- 433,
- 434
- ]
- },
- {
- "teal": 262,
- "source": 412,
- "pc": [
- 435,
- 436
- ]
- },
- {
- "teal": 263,
- "source": 412,
- "pc": [
- 437
- ]
- },
- {
- "teal": 264,
- "source": 412,
- "pc": [
- 438,
- 439
- ]
- },
- {
- "teal": 265,
- "source": 412,
- "pc": [
- 440
- ]
- },
- {
- "teal": 266,
- "source": 412,
- "pc": [
- 441
- ]
- },
- {
- "teal": 267,
- "source": 412,
- "pc": [
- 442
- ]
- },
- {
- "teal": 268,
- "source": 412,
- "pc": [
- 443
- ]
- },
- {
- "teal": 269,
- "source": 412,
- "pc": [
- 444,
- 445
- ]
- },
- {
- "teal": 270,
- "source": 412,
- "pc": [
- 446,
- 447,
- 448
- ]
- },
- {
- "teal": 271,
- "source": 412,
- "pc": [
- 449,
- 450
- ]
- },
- {
- "teal": 272,
- "source": 412,
- "pc": [
- 451,
- 452
- ]
- },
- {
- "teal": 276,
- "source": 414,
- "pc": [
- 453,
- 454
- ]
- },
- {
- "teal": 279,
- "source": 405,
- "pc": [
- 455,
- 456
- ]
- },
- {
- "teal": 280,
- "source": 405,
- "pc": [
- 457
- ]
- },
- {
- "teal": 283,
- "source": 404,
- "pc": [
- 458
- ]
- },
- {
- "teal": 284,
- "source": 404,
- "pc": [
- 459
- ]
- },
- {
- "teal": 287,
- "source": 404,
- "pc": [
- 460,
- 461,
- 462,
- 463,
- 464,
- 465
- ]
- },
- {
- "teal": 288,
- "source": 404,
- "pc": [
- 466,
- 467,
- 468
- ]
- },
- {
- "teal": 289,
- "source": 404,
- "pc": [
- 469,
- 470,
- 471,
- 472
- ]
- },
- {
- "teal": 292,
- "source": 404,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 473
- ]
- },
- {
- "teal": 295,
- "source": 404,
- "pc": [
- 474,
- 475,
- 476,
- 477,
- 478,
- 479
- ]
- },
- {
- "teal": 296,
- "source": 404,
- "pc": [
- 480,
- 481,
- 482
- ]
- },
- {
- "teal": 297,
- "source": 404,
- "pc": [
- 483,
- 484,
- 485,
- 486
- ]
- },
- {
- "teal": 300,
- "source": 404,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 487
- ]
- },
- {
- "teal": 303,
- "source": 404,
- "pc": [
- 488,
- 489,
- 490
- ]
- },
- {
- "teal": 304,
- "source": 404,
- "pc": [
- 491,
- 492
- ]
- },
- {
- "teal": 305,
- "source": 404,
- "pc": [
- 493,
- 494
- ]
- },
- {
- "teal": 306,
- "source": 404,
- "pc": [
- 495
- ]
- },
- {
- "teal": 307,
- "source": 404,
- "pc": [
- 496,
- 497
- ]
- },
- {
- "teal": 308,
- "source": 404,
- "pc": [
- 498,
- 499
- ]
- },
- {
- "teal": 309,
- "source": 404,
- "pc": [
- 500
- ]
- },
- {
- "teal": 312,
- "source": 404,
- "pc": [
- 501,
- 502,
- 503
- ]
- },
- {
- "teal": 313,
- "source": 404,
- "pc": [
- 504,
- 505
- ]
- },
- {
- "teal": 314,
- "source": 404,
- "pc": [
- 506,
- 507
- ]
- },
- {
- "teal": 315,
- "source": 404,
- "pc": [
- 508
- ]
- },
- {
- "teal": 316,
- "source": 404,
- "pc": [
- 509,
- 510
- ]
- },
- {
- "teal": 317,
- "source": 404,
- "pc": [
- 511,
- 512
- ]
- },
- {
- "teal": 318,
- "source": 404,
- "pc": [
- 513
- ]
- },
- {
- "teal": 319,
- "source": 404,
- "pc": [
- 514
- ]
- },
- {
- "teal": 320,
- "source": 404,
- "pc": [
- 515,
- 516
- ]
- },
- {
- "teal": 321,
- "source": 404,
- "pc": [
- 517
- ]
- },
- {
- "teal": 322,
- "source": 404,
- "pc": [
- 518
- ]
- },
- {
- "teal": 323,
- "source": 404,
- "pc": [
- 519
- ]
- },
- {
- "teal": 324,
- "source": 404,
- "pc": [
- 520,
- 521,
- 522
- ]
- },
- {
- "teal": 325,
- "source": 404,
- "pc": [
- 523,
- 524
- ]
- },
- {
- "teal": 326,
- "source": 404,
- "pc": [
- 525,
- 526
- ]
- },
- {
- "teal": 327,
- "source": 404,
- "pc": [
- 527
- ]
- },
- {
- "teal": 328,
- "source": 404,
- "pc": [
- 528
- ]
- },
- {
- "teal": 329,
- "source": 404,
- "pc": [
- 529,
- 530
- ]
- },
- {
- "teal": 330,
- "source": 404,
- "pc": [
- 531,
- 532
- ]
- },
- {
- "teal": 331,
- "source": 404,
- "pc": [
- 533,
- 534
- ]
- },
- {
- "teal": 332,
- "source": 404,
- "pc": [
- 535,
- 536
- ]
- },
- {
- "teal": 333,
- "source": 404,
- "pc": [
- 537
- ]
- },
- {
- "teal": 336,
- "source": 404,
- "pc": [
- 538,
- 539,
- 540
- ]
- },
- {
- "teal": 337,
- "source": 404,
- "pc": [
- 541,
- 542
- ]
- },
- {
- "teal": 338,
- "source": 404,
- "pc": [
- 543,
- 544
- ]
- },
- {
- "teal": 339,
- "source": 404,
- "pc": [
- 545,
- 546
- ]
- },
- {
- "teal": 340,
- "source": 404,
- "pc": [
- 547
- ]
- },
- {
- "teal": 341,
- "source": 404,
- "pc": [
- 548,
- 549
- ]
- },
- {
- "teal": 342,
- "source": 404,
- "pc": [
- 550,
- 551,
- 552
- ]
- },
- {
- "teal": 343,
- "source": 404,
- "pc": [
- 553
- ]
- },
- {
- "teal": 344,
- "source": 404,
- "pc": [
- 554,
- 555,
- 556
- ]
- },
- {
- "teal": 347,
- "source": 404,
- "pc": [
- 557
- ]
- },
- {
- "teal": 348,
- "source": 404,
- "pc": [
- 558
- ]
- },
- {
- "teal": 351,
- "source": 404,
- "pc": [
- 559
- ]
- },
- {
- "teal": 352,
- "source": 404,
- "pc": [
- 560,
- 561,
- 562
- ]
- },
- {
- "teal": 353,
- "source": 404,
- "pc": [
- 563,
- 564
- ]
- },
- {
- "teal": 354,
- "source": 404,
- "pc": [
- 565
- ]
- },
- {
- "teal": 355,
- "source": 404,
- "pc": [
- 566,
- 567
- ]
- },
- {
- "teal": 356,
- "source": 404,
- "pc": [
- 568
- ]
- },
- {
- "teal": 357,
- "source": 404,
- "pc": [
- 569
- ]
- },
- {
- "teal": 358,
- "source": 404,
- "pc": [
- 570,
- 571
- ]
- },
- {
- "teal": 359,
- "source": 404,
- "pc": [
- 572
- ]
- },
- {
- "teal": 362,
- "source": 404,
- "pc": [
- 573,
- 574
- ]
- },
- {
- "teal": 363,
- "source": 404,
- "pc": [
- 575
- ]
- },
- {
- "teal": 364,
- "source": 404,
- "pc": [
- 576,
- 577
- ]
- },
- {
- "teal": 365,
- "source": 404,
- "pc": [
- 578
- ]
- },
- {
- "teal": 366,
- "source": 404,
- "pc": [
- 579,
- 580,
- 581
- ]
- },
- {
- "teal": 367,
- "source": 404,
- "pc": [
- 582,
- 583
- ]
- },
- {
- "teal": 368,
- "source": 404,
- "pc": [
- 584
- ]
- },
- {
- "teal": 369,
- "source": 404,
- "pc": [
- 585,
- 586
- ]
- },
- {
- "teal": 370,
- "source": 404,
- "pc": [
- 587
- ]
- },
- {
- "teal": 371,
- "source": 404,
- "pc": [
- 588,
- 589
- ]
- },
- {
- "teal": 372,
- "source": 404,
- "pc": [
- 590,
- 591,
- 592
- ]
- },
- {
- "teal": 375,
- "source": 404,
- "pc": [
- 593,
- 594
- ]
- },
- {
- "teal": 376,
- "source": 404,
- "pc": [
- 595,
- 596
- ]
- },
- {
- "teal": 377,
- "source": 404,
- "pc": [
- 597
- ]
- },
- {
- "teal": 378,
- "source": 404,
- "pc": [
- 598
- ]
- },
- {
- "teal": 379,
- "source": 404,
- "pc": [
- 599,
- 600
- ]
- },
- {
- "teal": 382,
- "source": 404,
- "pc": [
- 601
- ]
- },
- {
- "teal": 383,
- "source": 404,
- "pc": [
- 602,
- 603
- ]
- },
- {
- "teal": 384,
- "source": 404,
- "pc": [
- 604
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 404,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 404,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 404,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 404,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 404,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 404,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 404,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 404,
+ "pc": [
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 404,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 45
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 405,
+ "pc": [
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 405,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 405,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 405,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 405,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 405,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 405,
+ "pc": [
+ 59,
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 405,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 406,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 406,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 406,
+ "pc": [
+ 65,
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 406,
+ "pc": [
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 406,
+ "pc": [
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 406,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 406,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 406,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 406,
+ "pc": [
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 406,
+ "pc": [
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 406,
+ "pc": [
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 406,
+ "pc": [
+ 101,
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 406,
+ "pc": [
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 406,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 406,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 406,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 408,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 408,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 408,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 408,
+ "pc": [
+ 119,
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 408,
+ "pc": [
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 408,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 409,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 409,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 409,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 409,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 409,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 409,
+ "pc": [
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 409,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 409,
+ "pc": [
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 409,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 409,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 409,
+ "pc": [
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 409,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 409,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 409,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 409,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 409,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 409,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 409,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 409,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 409,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 409,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 409,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 409,
+ "pc": [
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 409,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 409,
+ "pc": [
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 409,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 409,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 409,
+ "pc": [
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 409,
+ "pc": [
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 409,
+ "pc": [
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 409,
+ "pc": [
+ 178
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 409,
+ "pc": [
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 409,
+ "pc": [
+ 181
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 409,
+ "pc": [
+ 182
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 409,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 409,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 409,
+ "pc": [
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 409,
+ "pc": [
+ 187,
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 409,
+ "pc": [
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 409,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 409,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 409,
+ "pc": [
+ 195
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 409,
+ "pc": [
+ 196,
+ 197,
+ 198
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 409,
+ "pc": [
+ 199,
+ 200
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 409,
+ "pc": [
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 409,
+ "pc": [
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 409,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 409,
+ "pc": [
+ 206,
+ 207,
+ 208
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 409,
+ "pc": [
+ 209,
+ 210
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 409,
+ "pc": [
+ 211,
+ 212
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 409,
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 409,
+ "pc": [
+ 214
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 409,
+ "pc": [
+ 215,
+ 216,
+ 217
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 409,
+ "pc": [
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 409,
+ "pc": [
+ 220,
+ 221
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 410,
+ "pc": [
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 410,
+ "pc": [
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 410,
+ "pc": [
+ 226,
+ 227
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 410,
+ "pc": [
+ 228
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 410,
+ "pc": [
+ 229,
+ 230
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 410,
+ "pc": [
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 410,
+ "pc": [
+ 233,
+ 234
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 410,
+ "pc": [
+ 235,
+ 236
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 410,
+ "pc": [
+ 237
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 410,
+ "pc": [
+ 238
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 410,
+ "pc": [
+ 239,
+ 240
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 410,
+ "pc": [
+ 241
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 410,
+ "pc": [
+ 242,
+ 243
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 410,
+ "pc": [
+ 244
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 410,
+ "pc": [
+ 245
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 410,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 410,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 410,
+ "pc": [
+ 248
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 410,
+ "pc": [
+ 249
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 410,
+ "pc": [
+ 250,
+ 251
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 410,
+ "pc": [
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 410,
+ "pc": [
+ 254
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 410,
+ "pc": [
+ 255,
+ 256
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 410,
+ "pc": [
+ 257
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 410,
+ "pc": [
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 263
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 410,
+ "pc": [
+ 264
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 410,
+ "pc": [
+ 265,
+ 266
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 410,
+ "pc": [
+ 267,
+ 268
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 410,
+ "pc": [
+ 269,
+ 270
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 410,
+ "pc": [
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 410,
+ "pc": [
+ 273
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 410,
+ "pc": [
+ 274,
+ 275
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 410,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 410,
+ "pc": [
+ 277
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 410,
+ "pc": [
+ 278
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 410,
+ "pc": [
+ 279
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 410,
+ "pc": [
+ 280,
+ 281
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 410,
+ "pc": [
+ 282,
+ 283,
+ 284
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 410,
+ "pc": [
+ 285,
+ 286
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 410,
+ "pc": [
+ 287,
+ 288
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 410,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 410,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 410,
+ "pc": [
+ 291,
+ 292,
+ 293
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 410,
+ "pc": [
+ 294,
+ 295
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 410,
+ "pc": [
+ 296,
+ 297
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 410,
+ "pc": [
+ 298,
+ 299
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 410,
+ "pc": [
+ 300
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 410,
+ "pc": [
+ 301,
+ 302,
+ 303
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 410,
+ "pc": [
+ 304,
+ 305
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 410,
+ "pc": [
+ 306,
+ 307
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 411,
+ "pc": [
+ 308,
+ 309
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 411,
+ "pc": [
+ 310,
+ 311
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 411,
+ "pc": [
+ 312,
+ 313
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 411,
+ "pc": [
+ 314
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 411,
+ "pc": [
+ 315,
+ 316
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 411,
+ "pc": [
+ 317,
+ 318
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 411,
+ "pc": [
+ 319,
+ 320
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 411,
+ "pc": [
+ 321,
+ 322
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 411,
+ "pc": [
+ 323
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 411,
+ "pc": [
+ 324
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 411,
+ "pc": [
+ 325,
+ 326
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 411,
+ "pc": [
+ 327
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 411,
+ "pc": [
+ 328,
+ 329
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 411,
+ "pc": [
+ 330
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 411,
+ "pc": [
+ 331
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 411,
+ "pc": [
+ 332
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 411,
+ "pc": [
+ 333
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 411,
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 411,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 411,
+ "pc": [
+ 336,
+ 337
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 411,
+ "pc": [
+ 338,
+ 339
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 411,
+ "pc": [
+ 340
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 411,
+ "pc": [
+ 341,
+ 342
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 411,
+ "pc": [
+ 343
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 411,
+ "pc": [
+ 344,
+ 345,
+ 346,
+ 347,
+ 348,
+ 349,
+ 350,
+ 351
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 411,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 211,
+ "source": 411,
+ "pc": [
+ 353,
+ 354
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 411,
+ "pc": [
+ 355,
+ 356
+ ]
+ },
+ {
+ "teal": 213,
+ "source": 411,
+ "pc": [
+ 357,
+ 358
+ ]
+ },
+ {
+ "teal": 214,
+ "source": 411,
+ "pc": [
+ 359,
+ 360
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 411,
+ "pc": [
+ 361
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 411,
+ "pc": [
+ 362,
+ 363
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 411,
+ "pc": [
+ 364
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 411,
+ "pc": [
+ 365
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 411,
+ "pc": [
+ 366
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 411,
+ "pc": [
+ 367
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 411,
+ "pc": [
+ 368,
+ 369
+ ]
+ },
+ {
+ "teal": 222,
+ "source": 411,
+ "pc": [
+ 370,
+ 371,
+ 372
+ ]
+ },
+ {
+ "teal": 223,
+ "source": 411,
+ "pc": [
+ 373,
+ 374
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 411,
+ "pc": [
+ 375,
+ 376
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 411,
+ "pc": [
+ 377
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 411,
+ "pc": [
+ 378
+ ]
+ },
+ {
+ "teal": 227,
+ "source": 411,
+ "pc": [
+ 379,
+ 380,
+ 381
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 411,
+ "pc": [
+ 382,
+ 383
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 411,
+ "pc": [
+ 384,
+ 385
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 412,
+ "pc": [
+ 386,
+ 387
+ ]
+ },
+ {
+ "teal": 234,
+ "source": 412,
+ "pc": [
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 412,
+ "pc": [
+ 390,
+ 391
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 412,
+ "pc": [
+ 392
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 412,
+ "pc": [
+ 393,
+ 394
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 412,
+ "pc": [
+ 395,
+ 396
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 412,
+ "pc": [
+ 397,
+ 398
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 412,
+ "pc": [
+ 399,
+ 400
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 412,
+ "pc": [
+ 401
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 412,
+ "pc": [
+ 402
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 412,
+ "pc": [
+ 403,
+ 404
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 412,
+ "pc": [
+ 405
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 412,
+ "pc": [
+ 406,
+ 407
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 412,
+ "pc": [
+ 408
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 412,
+ "pc": [
+ 409
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 412,
+ "pc": [
+ 410
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 412,
+ "pc": [
+ 411
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 412,
+ "pc": [
+ 412
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 412,
+ "pc": [
+ 413
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 412,
+ "pc": [
+ 414,
+ 415
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 412,
+ "pc": [
+ 416,
+ 417
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 412,
+ "pc": [
+ 418
+ ]
+ },
+ {
+ "teal": 255,
+ "source": 412,
+ "pc": [
+ 419,
+ 420
+ ]
+ },
+ {
+ "teal": 256,
+ "source": 412,
+ "pc": [
+ 421
+ ]
+ },
+ {
+ "teal": 257,
+ "source": 412,
+ "pc": [
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427
+ ]
+ },
+ {
+ "teal": 258,
+ "source": 412,
+ "pc": [
+ 428
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 412,
+ "pc": [
+ 429,
+ 430
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 412,
+ "pc": [
+ 431,
+ 432
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 412,
+ "pc": [
+ 433,
+ 434
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 412,
+ "pc": [
+ 435,
+ 436
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 412,
+ "pc": [
+ 437
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 412,
+ "pc": [
+ 438,
+ 439
+ ]
+ },
+ {
+ "teal": 265,
+ "source": 412,
+ "pc": [
+ 440
+ ]
+ },
+ {
+ "teal": 266,
+ "source": 412,
+ "pc": [
+ 441
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 412,
+ "pc": [
+ 442
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 412,
+ "pc": [
+ 443
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 412,
+ "pc": [
+ 444,
+ 445
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 412,
+ "pc": [
+ 446,
+ 447,
+ 448
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 412,
+ "pc": [
+ 449,
+ 450
+ ]
+ },
+ {
+ "teal": 272,
+ "source": 412,
+ "pc": [
+ 451,
+ 452
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 414,
+ "pc": [
+ 453,
+ 454
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 405,
+ "pc": [
+ 455,
+ 456
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 405,
+ "pc": [
+ 457
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 404,
+ "pc": [
+ 458
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 404,
+ "pc": [
+ 459
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 404,
+ "pc": [
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 404,
+ "pc": [
+ 466,
+ 467,
+ 468
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 404,
+ "pc": [
+ 469,
+ 470,
+ 471,
+ 472
+ ]
+ },
+ {
+ "teal": 292,
+ "source": 404,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 473
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 404,
+ "pc": [
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 404,
+ "pc": [
+ 480,
+ 481,
+ 482
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 404,
+ "pc": [
+ 483,
+ 484,
+ 485,
+ 486
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 404,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 487
+ ]
+ },
+ {
+ "teal": 303,
+ "source": 404,
+ "pc": [
+ 488,
+ 489,
+ 490
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 404,
+ "pc": [
+ 491,
+ 492
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 404,
+ "pc": [
+ 493,
+ 494
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 404,
+ "pc": [
+ 495
+ ]
+ },
+ {
+ "teal": 307,
+ "source": 404,
+ "pc": [
+ 496,
+ 497
+ ]
+ },
+ {
+ "teal": 308,
+ "source": 404,
+ "pc": [
+ 498,
+ 499
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 404,
+ "pc": [
+ 500
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 404,
+ "pc": [
+ 501,
+ 502,
+ 503
+ ]
+ },
+ {
+ "teal": 313,
+ "source": 404,
+ "pc": [
+ 504,
+ 505
+ ]
+ },
+ {
+ "teal": 314,
+ "source": 404,
+ "pc": [
+ 506,
+ 507
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 404,
+ "pc": [
+ 508
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 404,
+ "pc": [
+ 509,
+ 510
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 404,
+ "pc": [
+ 511,
+ 512
+ ]
+ },
+ {
+ "teal": 318,
+ "source": 404,
+ "pc": [
+ 513
+ ]
+ },
+ {
+ "teal": 319,
+ "source": 404,
+ "pc": [
+ 514
+ ]
+ },
+ {
+ "teal": 320,
+ "source": 404,
+ "pc": [
+ 515,
+ 516
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 404,
+ "pc": [
+ 517
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 404,
+ "pc": [
+ 518
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 404,
+ "pc": [
+ 519
+ ]
+ },
+ {
+ "teal": 324,
+ "source": 404,
+ "pc": [
+ 520,
+ 521,
+ 522
+ ]
+ },
+ {
+ "teal": 325,
+ "source": 404,
+ "pc": [
+ 523,
+ 524
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 404,
+ "pc": [
+ 525,
+ 526
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 404,
+ "pc": [
+ 527
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 404,
+ "pc": [
+ 528
+ ]
+ },
+ {
+ "teal": 329,
+ "source": 404,
+ "pc": [
+ 529,
+ 530
+ ]
+ },
+ {
+ "teal": 330,
+ "source": 404,
+ "pc": [
+ 531,
+ 532
+ ]
+ },
+ {
+ "teal": 331,
+ "source": 404,
+ "pc": [
+ 533,
+ 534
+ ]
+ },
+ {
+ "teal": 332,
+ "source": 404,
+ "pc": [
+ 535,
+ 536
+ ]
+ },
+ {
+ "teal": 333,
+ "source": 404,
+ "pc": [
+ 537
+ ]
+ },
+ {
+ "teal": 336,
+ "source": 404,
+ "pc": [
+ 538,
+ 539,
+ 540
+ ]
+ },
+ {
+ "teal": 337,
+ "source": 404,
+ "pc": [
+ 541,
+ 542
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 404,
+ "pc": [
+ 543,
+ 544
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 404,
+ "pc": [
+ 545,
+ 546
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 404,
+ "pc": [
+ 547
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 404,
+ "pc": [
+ 548,
+ 549
+ ]
+ },
+ {
+ "teal": 342,
+ "source": 404,
+ "pc": [
+ 550,
+ 551,
+ 552
+ ]
+ },
+ {
+ "teal": 343,
+ "source": 404,
+ "pc": [
+ 553
+ ]
+ },
+ {
+ "teal": 344,
+ "source": 404,
+ "pc": [
+ 554,
+ 555,
+ 556
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 404,
+ "pc": [
+ 557
+ ]
+ },
+ {
+ "teal": 348,
+ "source": 404,
+ "pc": [
+ 558
+ ]
+ },
+ {
+ "teal": 351,
+ "source": 404,
+ "pc": [
+ 559
+ ]
+ },
+ {
+ "teal": 352,
+ "source": 404,
+ "pc": [
+ 560,
+ 561,
+ 562
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 404,
+ "pc": [
+ 563,
+ 564
+ ]
+ },
+ {
+ "teal": 354,
+ "source": 404,
+ "pc": [
+ 565
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 404,
+ "pc": [
+ 566,
+ 567
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 404,
+ "pc": [
+ 568
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 404,
+ "pc": [
+ 569
+ ]
+ },
+ {
+ "teal": 358,
+ "source": 404,
+ "pc": [
+ 570,
+ 571
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 404,
+ "pc": [
+ 572
+ ]
+ },
+ {
+ "teal": 362,
+ "source": 404,
+ "pc": [
+ 573,
+ 574
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 404,
+ "pc": [
+ 575
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 404,
+ "pc": [
+ 576,
+ 577
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 404,
+ "pc": [
+ 578
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 404,
+ "pc": [
+ 579,
+ 580,
+ 581
+ ]
+ },
+ {
+ "teal": 367,
+ "source": 404,
+ "pc": [
+ 582,
+ 583
+ ]
+ },
+ {
+ "teal": 368,
+ "source": 404,
+ "pc": [
+ 584
+ ]
+ },
+ {
+ "teal": 369,
+ "source": 404,
+ "pc": [
+ 585,
+ 586
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 404,
+ "pc": [
+ 587
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 404,
+ "pc": [
+ 588,
+ 589
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 404,
+ "pc": [
+ 590,
+ 591,
+ 592
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 404,
+ "pc": [
+ 593,
+ 594
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 404,
+ "pc": [
+ 595,
+ 596
+ ]
+ },
+ {
+ "teal": 377,
+ "source": 404,
+ "pc": [
+ 597
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 404,
+ "pc": [
+ 598
+ ]
+ },
+ {
+ "teal": 379,
+ "source": 404,
+ "pc": [
+ 599,
+ 600
+ ]
+ },
+ {
+ "teal": 382,
+ "source": 404,
+ "pc": [
+ 601
+ ]
+ },
+ {
+ "teal": 383,
+ "source": 404,
+ "pc": [
+ 602,
+ 603
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 404,
+ "pc": [
+ 604
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlKCkodWludDgsdWludDE2W10sdWludDhbXSx1aW50MTZbXSx1aW50OFtdKQoqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCnVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MDYKCS8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFs5LCBbOF0sIFs3XSwgWzZdLCBbNV1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA5IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwNwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDAwNgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA4CgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDYzCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQwOQoJLy8gYVsxXSA9IFsxMCwgMTFdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBhMDAwYgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDYKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MTAKCS8vIGFbMl0gPSBbMTIsIDEzXQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDMKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMGMwZAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxMQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDEyCgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDE0CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHVpbnQ4W10sdWludDE2W10sdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnVwZGF0ZV9keW5hbWljX2hlYWQ6Cglwcm90byAyIDAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfZGlnIC0xIC8vIGR5bmFtaWMgYXJyYXkgb2Zmc2V0CglleHRyYWN0X3VpbnQxNiAvLyBleHRyYWN0IGR5bmFtaWMgYXJyYXkgb2Zmc2V0Cglsb2FkIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWJ6ICpzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2UKCSsgLy8gYWRkIGRpZmZlcmVuY2UgdG8gb2Zmc2V0CgliICplbmRfY2FsY19uZXdfaGVhZAoKKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZToKCXN3YXAKCS0gLy8gc3VidHJhY3QgZGlmZmVyZW5jZSBmcm9tIG9mZmV0CgoqZW5kX2NhbGNfbmV3X2hlYWQ6CglpdG9iIC8vIGNvbnZlcnQgdG8gYnl0ZXMKCWV4dHJhY3QgNiAyIC8vIGNvbnZlcnQgdG8gdWludDE2Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglmcmFtZV9kaWcgLTEgLy8gb2Zmc2V0Cglzd2FwCglyZXBsYWNlMyAvLyB1cGRhdGUgb2Zmc2V0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJcmV0c3ViCgoqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlOgoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgk8CglibnogKnN3YXBwZWRfZGlmZmVyZW5jZQoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglpbnQgMQoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYiAqZ2V0X2RpZmZlcmVuY2UKCipzd2FwcGVkX2RpZmZlcmVuY2U6Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWludCAwCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgoqZ2V0X2RpZmZlcmVuY2U6CgktIC8vIGdldCBsZW5ndGggZGlmZmVyZW5jZQoJc3RvcmUgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglyZXRzdWI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlKCkodWludDgsdWludDE2W10sdWludDhbXSx1aW50MTZbXSx1aW50OFtdKQoqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCnVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MDYKCS8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXSA9IFs5LCBbOF0sIFs3XSwgWzZdLCBbNV1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA5IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwNwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDAwNgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWJ5dGUgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA4CgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZSAweDYzCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQwOQoJLy8gYVsxXSA9IFsxMCwgMTFdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBhMDAwYgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDYKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MTAKCS8vIGFbMl0gPSBbMTIsIDEzXQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDMKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDEgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMGMwZAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxMQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDEyCgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDE0CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHVpbnQ4W10sdWludDE2W10sdWludDhbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnVwZGF0ZV9keW5hbWljX2hlYWQ6Cglwcm90byAyIDAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfZGlnIC0xIC8vIGR5bmFtaWMgYXJyYXkgb2Zmc2V0CglleHRyYWN0X3VpbnQxNiAvLyBleHRyYWN0IGR5bmFtaWMgYXJyYXkgb2Zmc2V0Cglsb2FkIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWJ6ICpzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2UKCSsgLy8gYWRkIGRpZmZlcmVuY2UgdG8gb2Zmc2V0CgliICplbmRfY2FsY19uZXdfaGVhZAoKKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZToKCXN3YXAKCS0gLy8gc3VidHJhY3QgZGlmZmVyZW5jZSBmcm9tIG9mZmV0CgoqZW5kX2NhbGNfbmV3X2hlYWQ6CglpdG9iIC8vIGNvbnZlcnQgdG8gYnl0ZXMKCWV4dHJhY3QgNiAyIC8vIGNvbnZlcnQgdG8gdWludDE2Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglmcmFtZV9kaWcgLTEgLy8gb2Zmc2V0Cglzd2FwCglyZXBsYWNlMyAvLyB1cGRhdGUgb2Zmc2V0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJcmV0c3ViCgoqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlOgoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgk8CglibnogKnN3YXBwZWRfZGlmZmVyZW5jZQoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglpbnQgMQoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYiAqZ2V0X2RpZmZlcmVuY2UKCipzd2FwcGVkX2RpZmZlcmVuY2U6Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTIgLy8gbmV3IGVsZW1lbnQKCWxlbiAvLyBsZW5ndGggb2YgbmV3IGVsZW1lbnQKCWludCAwCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgoqZ2V0X2RpZmZlcmVuY2U6CgktIC8vIGdldCBsZW5ndGggZGlmZmVyZW5jZQoJc3RvcmUgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.approval.teal b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.approval.teal
index 38df746f3..fcd6e83d1 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc32.json b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc32.json
index 4b3e3b1ab..685ec5c2c 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpKHVpbnQxNix1aW50OFtdLHVpbnQxNix1aW50OFtdLHVpbnQxNikKKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpKHVpbnQxNix1aW50OFtdLHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCnVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzAwCgkvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyLCAzLCA0XSwgNSwgWzYsIDcsIDhdLCA5XQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwYSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwNQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMwNjA3MDgKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDIKCS8vIGFbMV0gPSBbMTAsIDExLCAxMl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDMwYTBiMGMKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpKHVpbnQxNix1aW50OFtdLHVpbnQxNix1aW50OFtdLHVpbnQxNikKKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpKHVpbnQxNix1aW50OFtdLHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCnVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzAwCgkvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyLCAzLCA0XSwgNSwgWzYsIDcsIDhdLCA5XQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwYSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwNQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMwNjA3MDgKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDIKCS8vIGFbMV0gPSBbMTAsIDExLCAxMl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDMwYTBiMGMKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc56_draft.json
index 7b6180bb9..63363483c 100644
--- a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc56_draft.json
@@ -60,1309 +60,1312 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 698,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8
- ]
- },
- {
- "teal": 13,
- "source": 698,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 14,
- "source": 698,
- "pc": [
- 11
- ]
- },
- {
- "teal": 15,
- "source": 698,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 16,
- "source": 698,
- "pc": [
- 14
- ]
- },
- {
- "teal": 17,
- "source": 698,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 18,
- "source": 698,
- "pc": [
- 17
- ]
- },
- {
- "teal": 19,
- "source": 698,
- "pc": [
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43
- ]
- },
- {
- "teal": 23,
- "source": 698,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 44
- ]
- },
- {
- "teal": 28,
- "source": 699,
- "pc": [
- 45,
- 46,
- 47,
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 31,
- "source": 699,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 32,
- "source": 699,
- "pc": [
- 54
- ]
- },
- {
- "teal": 33,
- "source": 699,
- "pc": [
- 55
- ]
- },
- {
- "teal": 34,
- "source": 699,
- "pc": [
- 56
- ]
- },
- {
- "teal": 35,
- "source": 699,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 699,
- "pc": [
- 58,
- 59,
- 60
- ]
- },
- {
- "teal": 42,
- "source": 699,
- "pc": [
- 61
- ]
- },
- {
- "teal": 46,
- "source": 700,
- "pc": [
- 62
- ]
- },
- {
- "teal": 47,
- "source": 700,
- "pc": [
- 63
- ]
- },
- {
- "teal": 48,
- "source": 700,
- "pc": [
- 64,
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 49,
- "source": 700,
- "pc": [
- 68,
- 69,
- 70,
- 71
- ]
- },
- {
- "teal": 50,
- "source": 700,
- "pc": [
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 51,
- "source": 700,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 52,
- "source": 700,
- "pc": [
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 53,
- "source": 700,
- "pc": [
- 85,
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 54,
- "source": 700,
- "pc": [
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 55,
- "source": 700,
- "pc": [
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 56,
- "source": 700,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 57,
- "source": 700,
- "pc": [
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 58,
- "source": 700,
- "pc": [
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 59,
- "source": 700,
- "pc": [
- 109
- ]
- },
- {
- "teal": 60,
- "source": 700,
- "pc": [
- 110
- ]
- },
- {
- "teal": 61,
- "source": 700,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 65,
- "source": 702,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 66,
- "source": 702,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 67,
- "source": 702,
- "pc": [
- 117
- ]
- },
- {
- "teal": 68,
- "source": 702,
- "pc": [
- 118
- ]
- },
- {
- "teal": 69,
- "source": 702,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 70,
- "source": 702,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 71,
- "source": 702,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 72,
- "source": 702,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 73,
- "source": 702,
- "pc": [
- 127
- ]
- },
- {
- "teal": 74,
- "source": 702,
- "pc": [
- 128
- ]
- },
- {
- "teal": 75,
- "source": 702,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 76,
- "source": 702,
- "pc": [
- 131
- ]
- },
- {
- "teal": 77,
- "source": 702,
- "pc": [
- 132,
- 133
- ]
- },
- {
- "teal": 78,
- "source": 702,
- "pc": [
- 134
- ]
- },
- {
- "teal": 79,
- "source": 702,
- "pc": [
- 135
- ]
- },
- {
- "teal": 80,
- "source": 702,
- "pc": [
- 136
- ]
- },
- {
- "teal": 81,
- "source": 702,
- "pc": [
- 137
- ]
- },
- {
- "teal": 82,
- "source": 702,
- "pc": [
- 138
- ]
- },
- {
- "teal": 83,
- "source": 702,
- "pc": [
- 139
- ]
- },
- {
- "teal": 84,
- "source": 702,
- "pc": [
- 140,
- 141
- ]
- },
- {
- "teal": 85,
- "source": 702,
- "pc": [
- 142,
- 143
- ]
- },
- {
- "teal": 86,
- "source": 702,
- "pc": [
- 144
- ]
- },
- {
- "teal": 87,
- "source": 702,
- "pc": [
- 145,
- 146
- ]
- },
- {
- "teal": 88,
- "source": 702,
- "pc": [
- 147
- ]
- },
- {
- "teal": 89,
- "source": 702,
- "pc": [
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 90,
- "source": 702,
- "pc": [
- 155
- ]
- },
- {
- "teal": 91,
- "source": 702,
- "pc": [
- 156,
- 157
- ]
- },
- {
- "teal": 92,
- "source": 702,
- "pc": [
- 158,
- 159
- ]
- },
- {
- "teal": 93,
- "source": 702,
- "pc": [
- 160,
- 161
- ]
- },
- {
- "teal": 94,
- "source": 702,
- "pc": [
- 162,
- 163
- ]
- },
- {
- "teal": 95,
- "source": 702,
- "pc": [
- 164
- ]
- },
- {
- "teal": 96,
- "source": 702,
- "pc": [
- 165,
- 166
- ]
- },
- {
- "teal": 97,
- "source": 702,
- "pc": [
- 167
- ]
- },
- {
- "teal": 98,
- "source": 702,
- "pc": [
- 168
- ]
- },
- {
- "teal": 99,
- "source": 702,
- "pc": [
- 169
- ]
- },
- {
- "teal": 100,
- "source": 702,
- "pc": [
- 170
- ]
- },
- {
- "teal": 101,
- "source": 702,
- "pc": [
- 171,
- 172
- ]
- },
- {
- "teal": 102,
- "source": 702,
- "pc": [
- 173,
- 174,
- 175
- ]
- },
- {
- "teal": 103,
- "source": 702,
- "pc": [
- 176,
- 177
- ]
- },
- {
- "teal": 104,
- "source": 702,
- "pc": [
- 178,
- 179
- ]
- },
- {
- "teal": 105,
- "source": 702,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 106,
- "source": 702,
- "pc": [
- 182
- ]
- },
- {
- "teal": 107,
- "source": 702,
- "pc": [
- 183,
- 184,
- 185
- ]
- },
- {
- "teal": 108,
- "source": 702,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 109,
- "source": 702,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 113,
- "source": 704,
- "pc": [
- 190,
- 191
- ]
- },
- {
- "teal": 116,
- "source": 699,
- "pc": [
- 192,
- 193
- ]
- },
- {
- "teal": 117,
- "source": 699,
- "pc": [
- 194
- ]
- },
- {
- "teal": 120,
- "source": 698,
- "pc": [
- 195
- ]
- },
- {
- "teal": 121,
- "source": 698,
- "pc": [
- 196
- ]
- },
- {
- "teal": 124,
- "source": 698,
- "pc": [
- 197,
- 198,
- 199,
- 200,
- 201,
- 202
- ]
- },
- {
- "teal": 125,
- "source": 698,
- "pc": [
- 203,
- 204,
- 205
- ]
- },
- {
- "teal": 126,
- "source": 698,
- "pc": [
- 206,
- 207,
- 208,
- 209
- ]
- },
- {
- "teal": 129,
- "source": 698,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 210
- ]
- },
- {
- "teal": 132,
- "source": 698,
- "pc": [
- 211,
- 212,
- 213,
- 214,
- 215,
- 216
- ]
- },
- {
- "teal": 133,
- "source": 698,
- "pc": [
- 217,
- 218,
- 219
- ]
- },
- {
- "teal": 134,
- "source": 698,
- "pc": [
- 220,
- 221,
- 222,
- 223
- ]
- },
- {
- "teal": 137,
- "source": 698,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 224
- ]
- },
- {
- "teal": 140,
- "source": 698,
- "pc": [
- 225,
- 226,
- 227
- ]
- },
- {
- "teal": 141,
- "source": 698,
- "pc": [
- 228,
- 229
- ]
- },
- {
- "teal": 142,
- "source": 698,
- "pc": [
- 230,
- 231
- ]
- },
- {
- "teal": 143,
- "source": 698,
- "pc": [
- 232
- ]
- },
- {
- "teal": 144,
- "source": 698,
- "pc": [
- 233,
- 234
- ]
- },
- {
- "teal": 145,
- "source": 698,
- "pc": [
- 235,
- 236
- ]
- },
- {
- "teal": 146,
- "source": 698,
- "pc": [
- 237
- ]
- },
- {
- "teal": 149,
- "source": 698,
- "pc": [
- 238,
- 239,
- 240
- ]
- },
- {
- "teal": 150,
- "source": 698,
- "pc": [
- 241,
- 242
- ]
- },
- {
- "teal": 151,
- "source": 698,
- "pc": [
- 243,
- 244
- ]
- },
- {
- "teal": 152,
- "source": 698,
- "pc": [
- 245
- ]
- },
- {
- "teal": 153,
- "source": 698,
- "pc": [
- 246,
- 247
- ]
- },
- {
- "teal": 154,
- "source": 698,
- "pc": [
- 248,
- 249
- ]
- },
- {
- "teal": 155,
- "source": 698,
- "pc": [
- 250
- ]
- },
- {
- "teal": 156,
- "source": 698,
- "pc": [
- 251
- ]
- },
- {
- "teal": 157,
- "source": 698,
- "pc": [
- 252,
- 253
- ]
- },
- {
- "teal": 158,
- "source": 698,
- "pc": [
- 254
- ]
- },
- {
- "teal": 159,
- "source": 698,
- "pc": [
- 255
- ]
- },
- {
- "teal": 160,
- "source": 698,
- "pc": [
- 256
- ]
- },
- {
- "teal": 161,
- "source": 698,
- "pc": [
- 257,
- 258,
- 259
- ]
- },
- {
- "teal": 162,
- "source": 698,
- "pc": [
- 260,
- 261
- ]
- },
- {
- "teal": 163,
- "source": 698,
- "pc": [
- 262,
- 263
- ]
- },
- {
- "teal": 164,
- "source": 698,
- "pc": [
- 264
- ]
- },
- {
- "teal": 165,
- "source": 698,
- "pc": [
- 265
- ]
- },
- {
- "teal": 166,
- "source": 698,
- "pc": [
- 266,
- 267
- ]
- },
- {
- "teal": 167,
- "source": 698,
- "pc": [
- 268,
- 269
- ]
- },
- {
- "teal": 168,
- "source": 698,
- "pc": [
- 270,
- 271
- ]
- },
- {
- "teal": 169,
- "source": 698,
- "pc": [
- 272,
- 273
- ]
- },
- {
- "teal": 170,
- "source": 698,
- "pc": [
- 274
- ]
- },
- {
- "teal": 173,
- "source": 698,
- "pc": [
- 275,
- 276,
- 277
- ]
- },
- {
- "teal": 174,
- "source": 698,
- "pc": [
- 278,
- 279
- ]
- },
- {
- "teal": 175,
- "source": 698,
- "pc": [
- 280,
- 281
- ]
- },
- {
- "teal": 176,
- "source": 698,
- "pc": [
- 282,
- 283
- ]
- },
- {
- "teal": 177,
- "source": 698,
- "pc": [
- 284
- ]
- },
- {
- "teal": 178,
- "source": 698,
- "pc": [
- 285,
- 286
- ]
- },
- {
- "teal": 179,
- "source": 698,
- "pc": [
- 287,
- 288,
- 289
- ]
- },
- {
- "teal": 180,
- "source": 698,
- "pc": [
- 290
- ]
- },
- {
- "teal": 181,
- "source": 698,
- "pc": [
- 291,
- 292,
- 293
- ]
- },
- {
- "teal": 184,
- "source": 698,
- "pc": [
- 294
- ]
- },
- {
- "teal": 185,
- "source": 698,
- "pc": [
- 295
- ]
- },
- {
- "teal": 188,
- "source": 698,
- "pc": [
- 296
- ]
- },
- {
- "teal": 189,
- "source": 698,
- "pc": [
- 297,
- 298,
- 299
- ]
- },
- {
- "teal": 190,
- "source": 698,
- "pc": [
- 300,
- 301
- ]
- },
- {
- "teal": 191,
- "source": 698,
- "pc": [
- 302
- ]
- },
- {
- "teal": 192,
- "source": 698,
- "pc": [
- 303,
- 304
- ]
- },
- {
- "teal": 193,
- "source": 698,
- "pc": [
- 305
- ]
- },
- {
- "teal": 194,
- "source": 698,
- "pc": [
- 306
- ]
- },
- {
- "teal": 195,
- "source": 698,
- "pc": [
- 307,
- 308
- ]
- },
- {
- "teal": 196,
- "source": 698,
- "pc": [
- 309
- ]
- },
- {
- "teal": 199,
- "source": 698,
- "pc": [
- 310,
- 311
- ]
- },
- {
- "teal": 200,
- "source": 698,
- "pc": [
- 312
- ]
- },
- {
- "teal": 201,
- "source": 698,
- "pc": [
- 313,
- 314
- ]
- },
- {
- "teal": 202,
- "source": 698,
- "pc": [
- 315
- ]
- },
- {
- "teal": 203,
- "source": 698,
- "pc": [
- 316,
- 317,
- 318
- ]
- },
- {
- "teal": 204,
- "source": 698,
- "pc": [
- 319,
- 320
- ]
- },
- {
- "teal": 205,
- "source": 698,
- "pc": [
- 321
- ]
- },
- {
- "teal": 206,
- "source": 698,
- "pc": [
- 322,
- 323
- ]
- },
- {
- "teal": 207,
- "source": 698,
- "pc": [
- 324
- ]
- },
- {
- "teal": 208,
- "source": 698,
- "pc": [
- 325,
- 326
- ]
- },
- {
- "teal": 209,
- "source": 698,
- "pc": [
- 327,
- 328,
- 329
- ]
- },
- {
- "teal": 212,
- "source": 698,
- "pc": [
- 330,
- 331
- ]
- },
- {
- "teal": 213,
- "source": 698,
- "pc": [
- 332,
- 333
- ]
- },
- {
- "teal": 214,
- "source": 698,
- "pc": [
- 334
- ]
- },
- {
- "teal": 215,
- "source": 698,
- "pc": [
- 335
- ]
- },
- {
- "teal": 216,
- "source": 698,
- "pc": [
- 336,
- 337
- ]
- },
- {
- "teal": 219,
- "source": 698,
- "pc": [
- 338
- ]
- },
- {
- "teal": 220,
- "source": 698,
- "pc": [
- 339,
- 340
- ]
- },
- {
- "teal": 221,
- "source": 698,
- "pc": [
- 341
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 698,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 698,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 698,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 698,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 698,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 698,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 698,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 698,
+ "pc": [
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 698,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 699,
+ "pc": [
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 699,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 699,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 699,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 699,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 699,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 699,
+ "pc": [
+ 58,
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 699,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 700,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 700,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 700,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 700,
+ "pc": [
+ 68,
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 700,
+ "pc": [
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 700,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 700,
+ "pc": [
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 700,
+ "pc": [
+ 85,
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 700,
+ "pc": [
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 700,
+ "pc": [
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 700,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 700,
+ "pc": [
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 700,
+ "pc": [
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 700,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 700,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 700,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 702,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 702,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 702,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 702,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 702,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 702,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 702,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 702,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 702,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 702,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 702,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 702,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 702,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 702,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 702,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 702,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 702,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 702,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 702,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 702,
+ "pc": [
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 702,
+ "pc": [
+ 142,
+ 143
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 702,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 702,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 702,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 702,
+ "pc": [
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 702,
+ "pc": [
+ 155
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 702,
+ "pc": [
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 702,
+ "pc": [
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 702,
+ "pc": [
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 702,
+ "pc": [
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 702,
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 702,
+ "pc": [
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 702,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 702,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 702,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 702,
+ "pc": [
+ 170
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 702,
+ "pc": [
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 702,
+ "pc": [
+ 173,
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 702,
+ "pc": [
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 702,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 702,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 702,
+ "pc": [
+ 182
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 702,
+ "pc": [
+ 183,
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 702,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 702,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 704,
+ "pc": [
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 699,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 699,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 698,
+ "pc": [
+ 195
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 698,
+ "pc": [
+ 196
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 698,
+ "pc": [
+ 197,
+ 198,
+ 199,
+ 200,
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 698,
+ "pc": [
+ 203,
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 698,
+ "pc": [
+ 206,
+ 207,
+ 208,
+ 209
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 698,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 698,
+ "pc": [
+ 211,
+ 212,
+ 213,
+ 214,
+ 215,
+ 216
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 698,
+ "pc": [
+ 217,
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 698,
+ "pc": [
+ 220,
+ 221,
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 698,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 224
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 698,
+ "pc": [
+ 225,
+ 226,
+ 227
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 698,
+ "pc": [
+ 228,
+ 229
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 698,
+ "pc": [
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 698,
+ "pc": [
+ 232
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 698,
+ "pc": [
+ 233,
+ 234
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 698,
+ "pc": [
+ 235,
+ 236
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 698,
+ "pc": [
+ 237
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 698,
+ "pc": [
+ 238,
+ 239,
+ 240
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 698,
+ "pc": [
+ 241,
+ 242
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 698,
+ "pc": [
+ 243,
+ 244
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 698,
+ "pc": [
+ 245
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 698,
+ "pc": [
+ 246,
+ 247
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 698,
+ "pc": [
+ 248,
+ 249
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 698,
+ "pc": [
+ 250
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 698,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 698,
+ "pc": [
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 698,
+ "pc": [
+ 254
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 698,
+ "pc": [
+ 255
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 698,
+ "pc": [
+ 256
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 698,
+ "pc": [
+ 257,
+ 258,
+ 259
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 698,
+ "pc": [
+ 260,
+ 261
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 698,
+ "pc": [
+ 262,
+ 263
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 698,
+ "pc": [
+ 264
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 698,
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 698,
+ "pc": [
+ 266,
+ 267
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 698,
+ "pc": [
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 698,
+ "pc": [
+ 270,
+ 271
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 698,
+ "pc": [
+ 272,
+ 273
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 698,
+ "pc": [
+ 274
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 698,
+ "pc": [
+ 275,
+ 276,
+ 277
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 698,
+ "pc": [
+ 278,
+ 279
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 698,
+ "pc": [
+ 280,
+ 281
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 698,
+ "pc": [
+ 282,
+ 283
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 698,
+ "pc": [
+ 284
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 698,
+ "pc": [
+ 285,
+ 286
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 698,
+ "pc": [
+ 287,
+ 288,
+ 289
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 698,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 698,
+ "pc": [
+ 291,
+ 292,
+ 293
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 698,
+ "pc": [
+ 294
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 698,
+ "pc": [
+ 295
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 698,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 698,
+ "pc": [
+ 297,
+ 298,
+ 299
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 698,
+ "pc": [
+ 300,
+ 301
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 698,
+ "pc": [
+ 302
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 698,
+ "pc": [
+ 303,
+ 304
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 698,
+ "pc": [
+ 305
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 698,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 698,
+ "pc": [
+ 307,
+ 308
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 698,
+ "pc": [
+ 309
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 698,
+ "pc": [
+ 310,
+ 311
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 698,
+ "pc": [
+ 312
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 698,
+ "pc": [
+ 313,
+ 314
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 698,
+ "pc": [
+ 315
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 698,
+ "pc": [
+ 316,
+ 317,
+ 318
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 698,
+ "pc": [
+ 319,
+ 320
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 698,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 698,
+ "pc": [
+ 322,
+ 323
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 698,
+ "pc": [
+ 324
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 698,
+ "pc": [
+ 325,
+ 326
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 698,
+ "pc": [
+ 327,
+ 328,
+ 329
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 698,
+ "pc": [
+ 330,
+ 331
+ ]
+ },
+ {
+ "teal": 213,
+ "source": 698,
+ "pc": [
+ 332,
+ 333
+ ]
+ },
+ {
+ "teal": 214,
+ "source": 698,
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 698,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 698,
+ "pc": [
+ 336,
+ 337
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 698,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 698,
+ "pc": [
+ 339,
+ 340
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 698,
+ "pc": [
+ 341
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpKHVpbnQxNix1aW50OFtdLHVpbnQxNix1aW50OFtdLHVpbnQxNikKKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpKHVpbnQxNix1aW50OFtdLHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCnVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzAwCgkvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyLCAzLCA0XSwgNSwgWzYsIDcsIDhdLCA5XQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwYSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwNQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMwNjA3MDgKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDIKCS8vIGFbMV0gPSBbMTAsIDExLCAxMl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDMwYTBiMGMKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpKHVpbnQxNix1aW50OFtdLHVpbnQxNix1aW50OFtdLHVpbnQxNikKKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpKHVpbnQxNix1aW50OFtdLHVpbnQxNix1aW50OFtdLHVpbnQxNikKCWNhbGxzdWIgdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aCgpOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCnVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzAwCgkvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyLCAzLCA0XSwgNSwgWzYsIDcsIDhdLCA5XQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwYSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwNQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDMwNjA3MDgKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDIKCS8vIGFbMV0gPSBbMTAsIDExLCAxMl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDMwYTBiMGMKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateNamedTuple.approval.teal b/tests/contracts/artifacts/ABITestUpdateNamedTuple.approval.teal
index 18551f560..9552d557f 100644
--- a/tests/contracts/artifacts/ABITestUpdateNamedTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateNamedTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc32.json b/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc32.json
index b71a5d278..917d1827c 100644
--- a/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVOYW1lZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZU5hbWVkVHVwbGUoKXN0cmluZwoJY2FsbHN1YiB1cGRhdGVOYW1lZFR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZU5hbWVkVHVwbGUoKTogc3RyaW5nCnVwZGF0ZU5hbWVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MTYKCS8vIGE6IHsKCS8vICAgICAgIGZvbzogdWludDE2OwoJLy8gICAgICAgYmFyOiBzdHJpbmc7CgkvLyAgICAgfSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hpPycsCgkvLyAgICAgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI0CgkvLyBhLmJhciA9ICdIZWxsbyBXb3JsZCEnCglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI2CgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5hbWVkVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50IDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnQgMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVOYW1lZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZU5hbWVkVHVwbGUoKXN0cmluZwoJY2FsbHN1YiB1cGRhdGVOYW1lZFR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZU5hbWVkVHVwbGUoKTogc3RyaW5nCnVwZGF0ZU5hbWVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MTYKCS8vIGE6IHsKCS8vICAgICAgIGZvbzogdWludDE2OwoJLy8gICAgICAgYmFyOiBzdHJpbmc7CgkvLyAgICAgfSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hpPycsCgkvLyAgICAgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI0CgkvLyBhLmJhciA9ICdIZWxsbyBXb3JsZCEnCglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI2CgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5hbWVkVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50IDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnQgMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc56_draft.json
index 6163592b6..1d54ca365 100644
--- a/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc56_draft.json
@@ -60,1226 +60,1229 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 614,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8
- ]
- },
- {
- "teal": 13,
- "source": 614,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 14,
- "source": 614,
- "pc": [
- 11
- ]
- },
- {
- "teal": 15,
- "source": 614,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 16,
- "source": 614,
- "pc": [
- 14
- ]
- },
- {
- "teal": 17,
- "source": 614,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 18,
- "source": 614,
- "pc": [
- 17
- ]
- },
- {
- "teal": 19,
- "source": 614,
- "pc": [
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43
- ]
- },
- {
- "teal": 23,
- "source": 614,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 44
- ]
- },
- {
- "teal": 28,
- "source": 615,
- "pc": [
- 45,
- 46,
- 47,
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 31,
- "source": 615,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 32,
- "source": 615,
- "pc": [
- 54
- ]
- },
- {
- "teal": 33,
- "source": 615,
- "pc": [
- 55
- ]
- },
- {
- "teal": 34,
- "source": 615,
- "pc": [
- 56
- ]
- },
- {
- "teal": 35,
- "source": 615,
- "pc": [
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 36,
- "source": 615,
- "pc": [
- 60
- ]
- },
- {
- "teal": 37,
- "source": 615,
- "pc": [
- 61
- ]
- },
- {
- "teal": 38,
- "source": 615,
- "pc": [
- 62
- ]
- },
- {
- "teal": 39,
- "source": 615,
- "pc": [
- 63
- ]
- },
- {
- "teal": 40,
- "source": 615,
- "pc": [
- 64
- ]
- },
- {
- "teal": 41,
- "source": 615,
- "pc": [
- 65
- ]
- },
- {
- "teal": 45,
- "source": 615,
- "pc": [
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 48,
- "source": 615,
- "pc": [
- 69
- ]
- },
- {
- "teal": 58,
- "source": 619,
- "pc": [
- 70
- ]
- },
- {
- "teal": 59,
- "source": 619,
- "pc": [
- 71
- ]
- },
- {
- "teal": 60,
- "source": 619,
- "pc": [
- 72,
- 73,
- 74,
- 75
- ]
- },
- {
- "teal": 61,
- "source": 620,
- "pc": [
- 76,
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 62,
- "source": 620,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 63,
- "source": 621,
- "pc": [
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 64,
- "source": 621,
- "pc": [
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 65,
- "source": 619,
- "pc": [
- 93
- ]
- },
- {
- "teal": 66,
- "source": 619,
- "pc": [
- 94
- ]
- },
- {
- "teal": 67,
- "source": 616,
- "pc": [
- 95,
- 96
- ]
- },
- {
- "teal": 71,
- "source": 624,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 72,
- "source": 624,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 73,
- "source": 624,
- "pc": [
- 101
- ]
- },
- {
- "teal": 74,
- "source": 624,
- "pc": [
- 102
- ]
- },
- {
- "teal": 75,
- "source": 624,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 76,
- "source": 624,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 77,
- "source": 624,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 78,
- "source": 624,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 79,
- "source": 624,
- "pc": [
- 111
- ]
- },
- {
- "teal": 80,
- "source": 624,
- "pc": [
- 112
- ]
- },
- {
- "teal": 81,
- "source": 624,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 82,
- "source": 624,
- "pc": [
- 115
- ]
- },
- {
- "teal": 83,
- "source": 624,
- "pc": [
- 116,
- 117
- ]
- },
- {
- "teal": 84,
- "source": 624,
- "pc": [
- 118
- ]
- },
- {
- "teal": 85,
- "source": 624,
- "pc": [
- 119
- ]
- },
- {
- "teal": 86,
- "source": 624,
- "pc": [
- 120
- ]
- },
- {
- "teal": 87,
- "source": 624,
- "pc": [
- 121
- ]
- },
- {
- "teal": 88,
- "source": 624,
- "pc": [
- 122
- ]
- },
- {
- "teal": 89,
- "source": 624,
- "pc": [
- 123
- ]
- },
- {
- "teal": 90,
- "source": 624,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 91,
- "source": 624,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 92,
- "source": 624,
- "pc": [
- 128
- ]
- },
- {
- "teal": 93,
- "source": 624,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 94,
- "source": 624,
- "pc": [
- 131
- ]
- },
- {
- "teal": 95,
- "source": 624,
- "pc": [
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147
- ]
- },
- {
- "teal": 96,
- "source": 624,
- "pc": [
- 148
- ]
- },
- {
- "teal": 97,
- "source": 624,
- "pc": [
- 149,
- 150
- ]
- },
- {
- "teal": 98,
- "source": 624,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 99,
- "source": 624,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 100,
- "source": 624,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 101,
- "source": 624,
- "pc": [
- 157
- ]
- },
- {
- "teal": 102,
- "source": 624,
- "pc": [
- 158,
- 159
- ]
- },
- {
- "teal": 103,
- "source": 624,
- "pc": [
- 160
- ]
- },
- {
- "teal": 104,
- "source": 624,
- "pc": [
- 161
- ]
- },
- {
- "teal": 105,
- "source": 624,
- "pc": [
- 162
- ]
- },
- {
- "teal": 106,
- "source": 624,
- "pc": [
- 163
- ]
- },
- {
- "teal": 107,
- "source": 624,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 108,
- "source": 624,
- "pc": [
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 109,
- "source": 624,
- "pc": [
- 169,
- 170
- ]
- },
- {
- "teal": 110,
- "source": 624,
- "pc": [
- 171,
- 172
- ]
- },
- {
- "teal": 114,
- "source": 626,
- "pc": [
- 173,
- 174
- ]
- },
- {
- "teal": 115,
- "source": 626,
- "pc": [
- 175,
- 176
- ]
- },
- {
- "teal": 116,
- "source": 626,
- "pc": [
- 177
- ]
- },
- {
- "teal": 117,
- "source": 626,
- "pc": [
- 178,
- 179
- ]
- },
- {
- "teal": 118,
- "source": 626,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 119,
- "source": 626,
- "pc": [
- 182,
- 183
- ]
- },
- {
- "teal": 120,
- "source": 626,
- "pc": [
- 184
- ]
- },
- {
- "teal": 121,
- "source": 626,
- "pc": [
- 185
- ]
- },
- {
- "teal": 122,
- "source": 626,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 123,
- "source": 626,
- "pc": [
- 188
- ]
- },
- {
- "teal": 124,
- "source": 626,
- "pc": [
- 189
- ]
- },
- {
- "teal": 125,
- "source": 626,
- "pc": [
- 190
- ]
- },
- {
- "teal": 126,
- "source": 626,
- "pc": [
- 191
- ]
- },
- {
- "teal": 127,
- "source": 626,
- "pc": [
- 192
- ]
- },
- {
- "teal": 128,
- "source": 626,
- "pc": [
- 193
- ]
- },
- {
- "teal": 129,
- "source": 626,
- "pc": [
- 194
- ]
- },
- {
- "teal": 130,
- "source": 626,
- "pc": [
- 195,
- 196,
- 197
- ]
- },
- {
- "teal": 133,
- "source": 615,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 134,
- "source": 615,
- "pc": [
- 200
- ]
- },
- {
- "teal": 137,
- "source": 614,
- "pc": [
- 201
- ]
- },
- {
- "teal": 138,
- "source": 614,
- "pc": [
- 202
- ]
- },
- {
- "teal": 141,
- "source": 614,
- "pc": [
- 203,
- 204,
- 205,
- 206,
- 207,
- 208
- ]
- },
- {
- "teal": 142,
- "source": 614,
- "pc": [
- 209,
- 210,
- 211
- ]
- },
- {
- "teal": 143,
- "source": 614,
- "pc": [
- 212,
- 213,
- 214,
- 215
- ]
- },
- {
- "teal": 146,
- "source": 614,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 216
- ]
- },
- {
- "teal": 149,
- "source": 614,
- "pc": [
- 217,
- 218,
- 219,
- 220,
- 221,
- 222
- ]
- },
- {
- "teal": 150,
- "source": 614,
- "pc": [
- 223,
- 224,
- 225
- ]
- },
- {
- "teal": 151,
- "source": 614,
- "pc": [
- 226,
- 227,
- 228,
- 229
- ]
- },
- {
- "teal": 154,
- "source": 614,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 230
- ]
- },
- {
- "teal": 157,
- "source": 614,
- "pc": [
- 231,
- 232,
- 233
- ]
- },
- {
- "teal": 158,
- "source": 614,
- "pc": [
- 234,
- 235
- ]
- },
- {
- "teal": 159,
- "source": 614,
- "pc": [
- 236,
- 237
- ]
- },
- {
- "teal": 160,
- "source": 614,
- "pc": [
- 238
- ]
- },
- {
- "teal": 161,
- "source": 614,
- "pc": [
- 239,
- 240
- ]
- },
- {
- "teal": 162,
- "source": 614,
- "pc": [
- 241,
- 242
- ]
- },
- {
- "teal": 163,
- "source": 614,
- "pc": [
- 243
- ]
- },
- {
- "teal": 166,
- "source": 614,
- "pc": [
- 244,
- 245,
- 246
- ]
- },
- {
- "teal": 167,
- "source": 614,
- "pc": [
- 247,
- 248
- ]
- },
- {
- "teal": 168,
- "source": 614,
- "pc": [
- 249,
- 250
- ]
- },
- {
- "teal": 169,
- "source": 614,
- "pc": [
- 251
- ]
- },
- {
- "teal": 170,
- "source": 614,
- "pc": [
- 252,
- 253
- ]
- },
- {
- "teal": 171,
- "source": 614,
- "pc": [
- 254,
- 255
- ]
- },
- {
- "teal": 172,
- "source": 614,
- "pc": [
- 256
- ]
- },
- {
- "teal": 173,
- "source": 614,
- "pc": [
- 257
- ]
- },
- {
- "teal": 174,
- "source": 614,
- "pc": [
- 258,
- 259
- ]
- },
- {
- "teal": 175,
- "source": 614,
- "pc": [
- 260
- ]
- },
- {
- "teal": 176,
- "source": 614,
- "pc": [
- 261
- ]
- },
- {
- "teal": 177,
- "source": 614,
- "pc": [
- 262
- ]
- },
- {
- "teal": 178,
- "source": 614,
- "pc": [
- 263,
- 264,
- 265
- ]
- },
- {
- "teal": 179,
- "source": 614,
- "pc": [
- 266,
- 267
- ]
- },
- {
- "teal": 180,
- "source": 614,
- "pc": [
- 268,
- 269
- ]
- },
- {
- "teal": 181,
- "source": 614,
- "pc": [
- 270
- ]
- },
- {
- "teal": 182,
- "source": 614,
- "pc": [
- 271
- ]
- },
- {
- "teal": 183,
- "source": 614,
- "pc": [
- 272,
- 273
- ]
- },
- {
- "teal": 184,
- "source": 614,
- "pc": [
- 274,
- 275
- ]
- },
- {
- "teal": 185,
- "source": 614,
- "pc": [
- 276,
- 277
- ]
- },
- {
- "teal": 186,
- "source": 614,
- "pc": [
- 278,
- 279
- ]
- },
- {
- "teal": 187,
- "source": 614,
- "pc": [
- 280
- ]
- },
- {
- "teal": 190,
- "source": 614,
- "pc": [
- 281,
- 282
- ]
- },
- {
- "teal": 191,
- "source": 614,
- "pc": [
- 283
- ]
- },
- {
- "teal": 192,
- "source": 614,
- "pc": [
- 284,
- 285
- ]
- },
- {
- "teal": 193,
- "source": 614,
- "pc": [
- 286
- ]
- },
- {
- "teal": 194,
- "source": 614,
- "pc": [
- 287,
- 288,
- 289
- ]
- },
- {
- "teal": 195,
- "source": 614,
- "pc": [
- 290,
- 291
- ]
- },
- {
- "teal": 196,
- "source": 614,
- "pc": [
- 292
- ]
- },
- {
- "teal": 197,
- "source": 614,
- "pc": [
- 293,
- 294
- ]
- },
- {
- "teal": 198,
- "source": 614,
- "pc": [
- 295
- ]
- },
- {
- "teal": 199,
- "source": 614,
- "pc": [
- 296,
- 297
- ]
- },
- {
- "teal": 200,
- "source": 614,
- "pc": [
- 298,
- 299,
- 300
- ]
- },
- {
- "teal": 203,
- "source": 614,
- "pc": [
- 301,
- 302
- ]
- },
- {
- "teal": 204,
- "source": 614,
- "pc": [
- 303,
- 304
- ]
- },
- {
- "teal": 205,
- "source": 614,
- "pc": [
- 305
- ]
- },
- {
- "teal": 206,
- "source": 614,
- "pc": [
- 306
- ]
- },
- {
- "teal": 207,
- "source": 614,
- "pc": [
- 307,
- 308
- ]
- },
- {
- "teal": 210,
- "source": 614,
- "pc": [
- 309
- ]
- },
- {
- "teal": 211,
- "source": 614,
- "pc": [
- 310,
- 311
- ]
- },
- {
- "teal": 212,
- "source": 614,
- "pc": [
- 312
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 614,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 614,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 614,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 614,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 614,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 614,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 614,
+ "pc": [
+ 17
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 614,
+ "pc": [
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 614,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 615,
+ "pc": [
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 615,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 615,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 615,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 615,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 615,
+ "pc": [
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 615,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 615,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 615,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 615,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 615,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 615,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 615,
+ "pc": [
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 615,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 619,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 619,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 619,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 620,
+ "pc": [
+ 76,
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 620,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 621,
+ "pc": [
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 621,
+ "pc": [
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 619,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 619,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 616,
+ "pc": [
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 624,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 624,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 624,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 624,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 624,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 624,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 624,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 624,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 624,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 624,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 624,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 624,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 624,
+ "pc": [
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 624,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 624,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 624,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 624,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 624,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 624,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 624,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 624,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 624,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 624,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 624,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 624,
+ "pc": [
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 624,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 624,
+ "pc": [
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 624,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 624,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 624,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 624,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 624,
+ "pc": [
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 624,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 624,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 624,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 624,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 624,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 624,
+ "pc": [
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 624,
+ "pc": [
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 624,
+ "pc": [
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 626,
+ "pc": [
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 626,
+ "pc": [
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 626,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 626,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 626,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 626,
+ "pc": [
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 626,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 626,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 626,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 626,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 626,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 626,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 626,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 626,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 626,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 626,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 626,
+ "pc": [
+ 195,
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 615,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 615,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 614,
+ "pc": [
+ 201
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 614,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 614,
+ "pc": [
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 614,
+ "pc": [
+ 209,
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 614,
+ "pc": [
+ 212,
+ 213,
+ 214,
+ 215
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 614,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 614,
+ "pc": [
+ 217,
+ 218,
+ 219,
+ 220,
+ 221,
+ 222
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 614,
+ "pc": [
+ 223,
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 614,
+ "pc": [
+ 226,
+ 227,
+ 228,
+ 229
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 614,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 230
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 614,
+ "pc": [
+ 231,
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 614,
+ "pc": [
+ 234,
+ 235
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 614,
+ "pc": [
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 614,
+ "pc": [
+ 238
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 614,
+ "pc": [
+ 239,
+ 240
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 614,
+ "pc": [
+ 241,
+ 242
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 614,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 614,
+ "pc": [
+ 244,
+ 245,
+ 246
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 614,
+ "pc": [
+ 247,
+ 248
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 614,
+ "pc": [
+ 249,
+ 250
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 614,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 614,
+ "pc": [
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 614,
+ "pc": [
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 614,
+ "pc": [
+ 256
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 614,
+ "pc": [
+ 257
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 614,
+ "pc": [
+ 258,
+ 259
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 614,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 614,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 614,
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 614,
+ "pc": [
+ 263,
+ 264,
+ 265
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 614,
+ "pc": [
+ 266,
+ 267
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 614,
+ "pc": [
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 614,
+ "pc": [
+ 270
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 614,
+ "pc": [
+ 271
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 614,
+ "pc": [
+ 272,
+ 273
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 614,
+ "pc": [
+ 274,
+ 275
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 614,
+ "pc": [
+ 276,
+ 277
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 614,
+ "pc": [
+ 278,
+ 279
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 614,
+ "pc": [
+ 280
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 614,
+ "pc": [
+ 281,
+ 282
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 614,
+ "pc": [
+ 283
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 614,
+ "pc": [
+ 284,
+ 285
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 614,
+ "pc": [
+ 286
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 614,
+ "pc": [
+ 287,
+ 288,
+ 289
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 614,
+ "pc": [
+ 290,
+ 291
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 614,
+ "pc": [
+ 292
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 614,
+ "pc": [
+ 293,
+ 294
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 614,
+ "pc": [
+ 295
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 614,
+ "pc": [
+ 296,
+ 297
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 614,
+ "pc": [
+ 298,
+ 299,
+ 300
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 614,
+ "pc": [
+ 301,
+ 302
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 614,
+ "pc": [
+ 303,
+ 304
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 614,
+ "pc": [
+ 305
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 614,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 614,
+ "pc": [
+ 307,
+ 308
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 614,
+ "pc": [
+ 309
+ ]
+ },
+ {
+ "teal": 211,
+ "source": 614,
+ "pc": [
+ 310,
+ 311
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 614,
+ "pc": [
+ 312
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVOYW1lZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZU5hbWVkVHVwbGUoKXN0cmluZwoJY2FsbHN1YiB1cGRhdGVOYW1lZFR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZU5hbWVkVHVwbGUoKTogc3RyaW5nCnVwZGF0ZU5hbWVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MTYKCS8vIGE6IHsKCS8vICAgICAgIGZvbzogdWludDE2OwoJLy8gICAgICAgYmFyOiBzdHJpbmc7CgkvLyAgICAgfSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hpPycsCgkvLyAgICAgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI0CgkvLyBhLmJhciA9ICdIZWxsbyBXb3JsZCEnCglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI2CgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5hbWVkVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50IDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnQgMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVOYW1lZFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZU5hbWVkVHVwbGUoKXN0cmluZwoJY2FsbHN1YiB1cGRhdGVOYW1lZFR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZU5hbWVkVHVwbGUoKTogc3RyaW5nCnVwZGF0ZU5hbWVkVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MTYKCS8vIGE6IHsKCS8vICAgICAgIGZvbzogdWludDE2OwoJLy8gICAgICAgYmFyOiBzdHJpbmc7CgkvLyAgICAgfSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hpPycsCgkvLyAgICAgfQoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAwNCAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglieXRlIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI0CgkvLyBhLmJhciA9ICdIZWxsbyBXb3JsZCEnCglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI2CgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5hbWVkVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50IDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnQgMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.approval.teal b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.approval.teal
index 67fbb0894..4b10426c8 100644
--- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc32.json b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc32.json
index 3de6924a7..8e0dd4ee3 100644
--- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NAp1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIyNAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzMAoJLy8gYVsxXSA9IFs0NDQsIDU1NSwgNjY2XQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMWJjMDAwMDAwMDAwMDAwMDIyYjAwMDAwMDAwMDAwMDAyOWEKCXJlcGxhY2UyIDI0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjMyCgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDMyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NAp1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIyNAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzMAoJLy8gYVsxXSA9IFs0NDQsIDU1NSwgNjY2XQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMWJjMDAwMDAwMDAwMDAwMDIyYjAwMDAwMDAwMDAwMDAyOWEKCXJlcGxhY2UyIDI0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjMyCgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDMyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc56_draft.json
index 85e654afc..33a86a92c 100644
--- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc56_draft.json
@@ -60,453 +60,456 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 222,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 222,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 222,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 222,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 222,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 222,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 222,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 222,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 222,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 223,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 223,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 223,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 223,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 223,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 223,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 223,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 223,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 223,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 51,
- "source": 224,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 52,
- "source": 224,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 56,
- "source": 230,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 57,
- "source": 230,
- "pc": [
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 58,
- "source": 230,
- "pc": [
- 163,
- 164
- ]
- },
- {
- "teal": 59,
- "source": 230,
- "pc": [
- 165,
- 166
- ]
- },
- {
- "teal": 63,
- "source": 232,
- "pc": [
- 167,
- 168
- ]
- },
- {
- "teal": 64,
- "source": 232,
- "pc": [
- 169,
- 170,
- 171
- ]
- },
- {
- "teal": 65,
- "source": 232,
- "pc": [
- 172
- ]
- },
- {
- "teal": 68,
- "source": 223,
- "pc": [
- 173,
- 174
- ]
- },
- {
- "teal": 69,
- "source": 223,
- "pc": [
- 175
- ]
- },
- {
- "teal": 72,
- "source": 222,
- "pc": [
- 176
- ]
- },
- {
- "teal": 73,
- "source": 222,
- "pc": [
- 177
- ]
- },
- {
- "teal": 76,
- "source": 222,
- "pc": [
- 178,
- 179,
- 180,
- 181,
- 182,
- 183
- ]
- },
- {
- "teal": 77,
- "source": 222,
- "pc": [
- 184,
- 185,
- 186
- ]
- },
- {
- "teal": 78,
- "source": 222,
- "pc": [
- 187,
- 188,
- 189,
- 190
- ]
- },
- {
- "teal": 81,
- "source": 222,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 191
- ]
- },
- {
- "teal": 84,
- "source": 222,
- "pc": [
- 192,
- 193,
- 194,
- 195,
- 196,
- 197
- ]
- },
- {
- "teal": 85,
- "source": 222,
- "pc": [
- 198,
- 199,
- 200
- ]
- },
- {
- "teal": 86,
- "source": 222,
- "pc": [
- 201,
- 202,
- 203,
- 204
- ]
- },
- {
- "teal": 89,
- "source": 222,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 205
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 222,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 222,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 222,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 222,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 222,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 222,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 222,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 222,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 222,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 223,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 223,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 223,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 223,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 223,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 223,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 223,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 223,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 223,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 224,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 224,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 230,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 230,
+ "pc": [
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 230,
+ "pc": [
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 230,
+ "pc": [
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 232,
+ "pc": [
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 232,
+ "pc": [
+ 169,
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 232,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 223,
+ "pc": [
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 223,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 222,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 222,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 222,
+ "pc": [
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 222,
+ "pc": [
+ 184,
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 222,
+ "pc": [
+ 187,
+ 188,
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 222,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 222,
+ "pc": [
+ 192,
+ 193,
+ 194,
+ 195,
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 222,
+ "pc": [
+ 198,
+ 199,
+ 200
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 222,
+ "pc": [
+ 201,
+ 202,
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 222,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 205
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NAp1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIyNAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzMAoJLy8gYVsxXSA9IFs0NDQsIDU1NSwgNjY2XQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMWJjMDAwMDAwMDAwMDAwMDIyYjAwMDAwMDAwMDAwMDAyOWEKCXJlcGxhY2UyIDI0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjMyCgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDMyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheSgpdWludDY0CiphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NAp1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIyNAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzMAoJLy8gYVsxXSA9IFs0NDQsIDU1NSwgNjY2XQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMWJjMDAwMDAwMDAwMDAwMDIyYjAwMDAwMDAwMDAwMDAyOWEKCXJlcGxhY2UyIDI0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjMyCgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDMyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.approval.teal b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.approval.teal
index abd16e2b4..619a5ddb7 100644
--- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc32.json b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc32.json
index 6c59b5a1f..628cb43fa 100644
--- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxNgoJLy8gYVsxXVsxXSA9IDU1NQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMjJiCglyZXBsYWNlMiAzMgoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxOAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxNgoJLy8gYVsxXVsxXSA9IDU1NQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMjJiCglyZXBsYWNlMiAzMgoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxOAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc56_draft.json
index 969b54c69..d24476590 100644
--- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc56_draft.json
@@ -60,437 +60,440 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 208,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 208,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 208,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 208,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 208,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 208,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 208,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 208,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 208,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 209,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 209,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 209,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 209,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 209,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 209,
- "pc": [
- 52
- ]
- },
- {
- "teal": 36,
- "source": 209,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 209,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 43,
- "source": 209,
- "pc": [
- 57,
- 58
- ]
- },
- {
- "teal": 51,
- "source": 210,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 52,
- "source": 210,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 56,
- "source": 216,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 57,
- "source": 216,
- "pc": [
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 58,
- "source": 216,
- "pc": [
- 147,
- 148
- ]
- },
- {
- "teal": 59,
- "source": 216,
- "pc": [
- 149,
- 150
- ]
- },
- {
- "teal": 63,
- "source": 218,
- "pc": [
- 151,
- 152
- ]
- },
- {
- "teal": 64,
- "source": 218,
- "pc": [
- 153,
- 154,
- 155
- ]
- },
- {
- "teal": 65,
- "source": 218,
- "pc": [
- 156
- ]
- },
- {
- "teal": 68,
- "source": 209,
- "pc": [
- 157,
- 158
- ]
- },
- {
- "teal": 69,
- "source": 209,
- "pc": [
- 159
- ]
- },
- {
- "teal": 72,
- "source": 208,
- "pc": [
- 160
- ]
- },
- {
- "teal": 73,
- "source": 208,
- "pc": [
- 161
- ]
- },
- {
- "teal": 76,
- "source": 208,
- "pc": [
- 162,
- 163,
- 164,
- 165,
- 166,
- 167
- ]
- },
- {
- "teal": 77,
- "source": 208,
- "pc": [
- 168,
- 169,
- 170
- ]
- },
- {
- "teal": 78,
- "source": 208,
- "pc": [
- 171,
- 172,
- 173,
- 174
- ]
- },
- {
- "teal": 81,
- "source": 208,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 175
- ]
- },
- {
- "teal": 84,
- "source": 208,
- "pc": [
- 176,
- 177,
- 178,
- 179,
- 180,
- 181
- ]
- },
- {
- "teal": 85,
- "source": 208,
- "pc": [
- 182,
- 183,
- 184
- ]
- },
- {
- "teal": 86,
- "source": 208,
- "pc": [
- 185,
- 186,
- 187,
- 188
- ]
- },
- {
- "teal": 89,
- "source": 208,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 189
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 208,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 208,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 208,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 208,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 208,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 208,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 208,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 208,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 208,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 209,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 209,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 209,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 209,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 209,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 209,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 209,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 209,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 209,
+ "pc": [
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 210,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 210,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 216,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 216,
+ "pc": [
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 216,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 216,
+ "pc": [
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 218,
+ "pc": [
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 218,
+ "pc": [
+ 153,
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 218,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 209,
+ "pc": [
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 209,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 208,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 208,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 208,
+ "pc": [
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 208,
+ "pc": [
+ 168,
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 208,
+ "pc": [
+ 171,
+ 172,
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 208,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 208,
+ "pc": [
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 208,
+ "pc": [
+ 182,
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 208,
+ "pc": [
+ 185,
+ 186,
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 208,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 189
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxNgoJLy8gYVsxXVsxXSA9IDU1NQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMjJiCglyZXBsYWNlMiAzMgoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxOAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMTEsIDIyLCAzM10sCgkvLyAgICAgICBbNDQsIDU1LCA2Nl0sCgkvLyAgICAgICBbNzcsIDg4LCA5OV0sCgkvLyAgICAgXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxNgoJLy8gYVsxXVsxXSA9IDU1NQoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMjJiCglyZXBsYWNlMiAzMgoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxOAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.approval.teal b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.approval.teal
index 0fec38350..02b27f0dc 100644
--- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc32.json b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc32.json
index 4eb9fb049..758aa4e4e 100644
--- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc32.json
@@ -49,7 +49,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10KCWNhbGxzdWIgdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNzYKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OAoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNzkKCS8vIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWUgPSBhCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBhCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MgoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0gPSAxMTExCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDA0NTcKCXJlcGxhY2UyIDgKCWJ5dGUgMHg2NzRkNjE3MCAvLyAiZ01hcCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MwoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZVsxXSA9IDIyMjIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzRkNjE3MCAvLyAibE1hcCIKCWFwcF9sb2NhbF9nZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwOGFlCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSA9IDMzMzMKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCA4CglieXRlIDB4MDAwMDAwMDAwMDAwMGQwNQoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg2CgkvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbCgkvLyAgICAgICB0aGlzLmdNYXAoJ2dNYXAnKS52YWx1ZVsxXSwKCS8vICAgICAgIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSwKCS8vICAgICBdCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzRkNjE3MCAvLyAibE1hcCIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTkyCgkvLyByZXR1cm4gcmV0OwoJZnJhbWVfZGlnIDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgInVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10KCWNhbGxzdWIgdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNzYKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OAoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNzkKCS8vIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWUgPSBhCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBhCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MgoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0gPSAxMTExCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDA0NTcKCXJlcGxhY2UyIDgKCWJ5dGUgMHg2NzRkNjE3MCAvLyAiZ01hcCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MwoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZVsxXSA9IDIyMjIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzRkNjE3MCAvLyAibE1hcCIKCWFwcF9sb2NhbF9nZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwOGFlCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSA9IDMzMzMKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCA4CglieXRlIDB4MDAwMDAwMDAwMDAwMGQwNQoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg2CgkvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbCgkvLyAgICAgICB0aGlzLmdNYXAoJ2dNYXAnKS52YWx1ZVsxXSwKCS8vICAgICAgIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSwKCS8vICAgICBdCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzRkNjE3MCAvLyAibE1hcCIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTkyCgkvLyByZXR1cm4gcmV0OwoJZnJhbWVfZGlnIDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgInVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc56_draft.json
index 43e24dd99..7d1614a53 100644
--- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc56_draft.json
@@ -93,751 +93,754 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 161,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21
- ]
- },
- {
- "teal": 13,
- "source": 161,
- "pc": [
- 22,
- 23
- ]
- },
- {
- "teal": 14,
- "source": 161,
- "pc": [
- 24
- ]
- },
- {
- "teal": 15,
- "source": 161,
- "pc": [
- 25,
- 26
- ]
- },
- {
- "teal": 16,
- "source": 161,
- "pc": [
- 27
- ]
- },
- {
- "teal": 17,
- "source": 161,
- "pc": [
- 28,
- 29
- ]
- },
- {
- "teal": 18,
- "source": 161,
- "pc": [
- 30
- ]
- },
- {
- "teal": 19,
- "source": 161,
- "pc": [
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 23,
- "source": 161,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 57
- ]
- },
- {
- "teal": 28,
- "source": 174,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 31,
- "source": 174,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 32,
- "source": 174,
- "pc": [
- 67
- ]
- },
- {
- "teal": 33,
- "source": 174,
- "pc": [
- 68
- ]
- },
- {
- "teal": 34,
- "source": 174,
- "pc": [
- 69
- ]
- },
- {
- "teal": 35,
- "source": 174,
- "pc": [
- 70
- ]
- },
- {
- "teal": 39,
- "source": 174,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 42,
- "source": 174,
- "pc": [
- 74,
- 75
- ]
- },
- {
- "teal": 43,
- "source": 174,
- "pc": [
- 76
- ]
- },
- {
- "teal": 47,
- "source": 176,
- "pc": [
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 48,
- "source": 176,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 52,
- "source": 178,
- "pc": [
- 105
- ]
- },
- {
- "teal": 53,
- "source": 178,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 54,
- "source": 178,
- "pc": [
- 108
- ]
- },
- {
- "teal": 58,
- "source": 179,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 59,
- "source": 179,
- "pc": [
- 111
- ]
- },
- {
- "teal": 60,
- "source": 179,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 61,
- "source": 179,
- "pc": [
- 114
- ]
- },
- {
- "teal": 65,
- "source": 180,
- "pc": [
- 115
- ]
- },
- {
- "teal": 66,
- "source": 180,
- "pc": [
- 116,
- 117
- ]
- },
- {
- "teal": 67,
- "source": 180,
- "pc": [
- 118
- ]
- },
- {
- "teal": 71,
- "source": 182,
- "pc": [
- 119
- ]
- },
- {
- "teal": 72,
- "source": 182,
- "pc": [
- 120
- ]
- },
- {
- "teal": 73,
- "source": 182,
- "pc": [
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 74,
- "source": 182,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 75,
- "source": 182,
- "pc": [
- 133
- ]
- },
- {
- "teal": 76,
- "source": 182,
- "pc": [
- 134
- ]
- },
- {
- "teal": 77,
- "source": 182,
- "pc": [
- 135
- ]
- },
- {
- "teal": 81,
- "source": 183,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 82,
- "source": 183,
- "pc": [
- 138
- ]
- },
- {
- "teal": 83,
- "source": 183,
- "pc": [
- 139
- ]
- },
- {
- "teal": 84,
- "source": 183,
- "pc": [
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149
- ]
- },
- {
- "teal": 85,
- "source": 183,
- "pc": [
- 150,
- 151
- ]
- },
- {
- "teal": 86,
- "source": 183,
- "pc": [
- 152,
- 153
- ]
- },
- {
- "teal": 87,
- "source": 183,
- "pc": [
- 154
- ]
- },
- {
- "teal": 88,
- "source": 183,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 89,
- "source": 183,
- "pc": [
- 157
- ]
- },
- {
- "teal": 93,
- "source": 184,
- "pc": [
- 158
- ]
- },
- {
- "teal": 94,
- "source": 184,
- "pc": [
- 159
- ]
- },
- {
- "teal": 95,
- "source": 184,
- "pc": [
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169
- ]
- },
- {
- "teal": 96,
- "source": 184,
- "pc": [
- 170
- ]
- },
- {
- "teal": 104,
- "source": 187,
- "pc": [
- 171
- ]
- },
- {
- "teal": 105,
- "source": 187,
- "pc": [
- 172
- ]
- },
- {
- "teal": 106,
- "source": 187,
- "pc": [
- 173,
- 174,
- 175
- ]
- },
- {
- "teal": 107,
- "source": 187,
- "pc": [
- 176
- ]
- },
- {
- "teal": 108,
- "source": 187,
- "pc": [
- 177
- ]
- },
- {
- "teal": 109,
- "source": 188,
- "pc": [
- 178,
- 179
- ]
- },
- {
- "teal": 110,
- "source": 188,
- "pc": [
- 180
- ]
- },
- {
- "teal": 111,
- "source": 188,
- "pc": [
- 181
- ]
- },
- {
- "teal": 112,
- "source": 188,
- "pc": [
- 182,
- 183,
- 184
- ]
- },
- {
- "teal": 113,
- "source": 188,
- "pc": [
- 185
- ]
- },
- {
- "teal": 114,
- "source": 188,
- "pc": [
- 186
- ]
- },
- {
- "teal": 115,
- "source": 186,
- "pc": [
- 187
- ]
- },
- {
- "teal": 116,
- "source": 189,
- "pc": [
- 188
- ]
- },
- {
- "teal": 117,
- "source": 189,
- "pc": [
- 189
- ]
- },
- {
- "teal": 118,
- "source": 189,
- "pc": [
- 190
- ]
- },
- {
- "teal": 119,
- "source": 189,
- "pc": [
- 191
- ]
- },
- {
- "teal": 120,
- "source": 189,
- "pc": [
- 192
- ]
- },
- {
- "teal": 121,
- "source": 189,
- "pc": [
- 193
- ]
- },
- {
- "teal": 122,
- "source": 186,
- "pc": [
- 194
- ]
- },
- {
- "teal": 123,
- "source": 186,
- "pc": [
- 195,
- 196
- ]
- },
- {
- "teal": 127,
- "source": 192,
- "pc": [
- 197,
- 198
- ]
- },
- {
- "teal": 130,
- "source": 174,
- "pc": [
- 199,
- 200
- ]
- },
- {
- "teal": 133,
- "source": 174,
- "pc": [
- 201,
- 202
- ]
- },
- {
- "teal": 134,
- "source": 174,
- "pc": [
- 203
- ]
- },
- {
- "teal": 137,
- "source": 161,
- "pc": [
- 204
- ]
- },
- {
- "teal": 138,
- "source": 161,
- "pc": [
- 205
- ]
- },
- {
- "teal": 141,
- "source": 161,
- "pc": [
- 206,
- 207,
- 208,
- 209,
- 210,
- 211
- ]
- },
- {
- "teal": 142,
- "source": 161,
- "pc": [
- 212,
- 213,
- 214
- ]
- },
- {
- "teal": 143,
- "source": 161,
- "pc": [
- 215,
- 216,
- 217,
- 218
- ]
- },
- {
- "teal": 146,
- "source": 161,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 219
- ]
- },
- {
- "teal": 149,
- "source": 161,
- "pc": [
- 220,
- 221,
- 222,
- 223,
- 224,
- 225
- ]
- },
- {
- "teal": 150,
- "source": 161,
- "pc": [
- 226,
- 227,
- 228
- ]
- },
- {
- "teal": 151,
- "source": 161,
- "pc": [
- 229,
- 230,
- 231,
- 232
- ]
- },
- {
- "teal": 154,
- "source": 161,
- "errorMessage": "this contract does not implement the given ABI method for call OptIn",
- "pc": [
- 233
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 161,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 161,
+ "pc": [
+ 22,
+ 23
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 161,
+ "pc": [
+ 24
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 161,
+ "pc": [
+ 25,
+ 26
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 161,
+ "pc": [
+ 27
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 161,
+ "pc": [
+ 28,
+ 29
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 161,
+ "pc": [
+ 30
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 161,
+ "pc": [
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 161,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 174,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 174,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 174,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 174,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 174,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 174,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 174,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 174,
+ "pc": [
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 174,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 176,
+ "pc": [
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 176,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 178,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 178,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 178,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 179,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 179,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 179,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 179,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 180,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 180,
+ "pc": [
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 180,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 182,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 182,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 182,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 182,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 182,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 182,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 182,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 183,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 183,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 183,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 183,
+ "pc": [
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 183,
+ "pc": [
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 183,
+ "pc": [
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 183,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 183,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 183,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 184,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 184,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 184,
+ "pc": [
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 184,
+ "pc": [
+ 170
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 187,
+ "pc": [
+ 171
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 187,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 187,
+ "pc": [
+ 173,
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 187,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 187,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 188,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 188,
+ "pc": [
+ 180
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 188,
+ "pc": [
+ 181
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 188,
+ "pc": [
+ 182,
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 188,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 188,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 186,
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 189,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 189,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 189,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 189,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 189,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 189,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 186,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 186,
+ "pc": [
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 192,
+ "pc": [
+ 197,
+ 198
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 174,
+ "pc": [
+ 199,
+ 200
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 174,
+ "pc": [
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 174,
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 161,
+ "pc": [
+ 204
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 161,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 161,
+ "pc": [
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 161,
+ "pc": [
+ 212,
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 161,
+ "pc": [
+ 215,
+ 216,
+ 217,
+ 218
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 161,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 161,
+ "pc": [
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 161,
+ "pc": [
+ 226,
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 161,
+ "pc": [
+ 229,
+ 230,
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 161,
+ "errorMessage": "this contract does not implement the given ABI method for call OptIn",
+ "pc": [
+ 233
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10KCWNhbGxzdWIgdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNzYKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OAoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNzkKCS8vIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWUgPSBhCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBhCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MgoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0gPSAxMTExCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDA0NTcKCXJlcGxhY2UyIDgKCWJ5dGUgMHg2NzRkNjE3MCAvLyAiZ01hcCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MwoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZVsxXSA9IDIyMjIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzRkNjE3MCAvLyAibE1hcCIKCWFwcF9sb2NhbF9nZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwOGFlCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSA9IDMzMzMKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCA4CglieXRlIDB4MDAwMDAwMDAwMDAwMGQwNQoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg2CgkvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbCgkvLyAgICAgICB0aGlzLmdNYXAoJ2dNYXAnKS52YWx1ZVsxXSwKCS8vICAgICAgIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSwKCS8vICAgICBdCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzRkNjE3MCAvLyAibE1hcCIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTkyCgkvLyByZXR1cm4gcmV0OwoJZnJhbWVfZGlnIDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgInVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10KCWNhbGxzdWIgdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNzYKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OAoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNzkKCS8vIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWUgPSBhCgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBhCglieXRlIDB4NjI0ZDYxNzAgLy8gImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MgoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0gPSAxMTExCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDA0NTcKCXJlcGxhY2UyIDgKCWJ5dGUgMHg2NzRkNjE3MCAvLyAiZ01hcCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MwoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZVsxXSA9IDIyMjIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzRkNjE3MCAvLyAibE1hcCIKCWFwcF9sb2NhbF9nZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwOGFlCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglieXRlIDB4NmM0ZDYxNzAgLy8gImxNYXAiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSA9IDMzMzMKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCA4CglieXRlIDB4MDAwMDAwMDAwMDAwMGQwNQoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg2CgkvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbCgkvLyAgICAgICB0aGlzLmdNYXAoJ2dNYXAnKS52YWx1ZVsxXSwKCS8vICAgICAgIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsICdsTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSwKCS8vICAgICBdCglieXRlIDB4Njc0ZDYxNzAgLy8gImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzRkNjE3MCAvLyAibE1hcCIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGUgMHg2MjRkNjE3MCAvLyAiYk1hcCIKCWludCA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTkyCgkvLyByZXR1cm4gcmV0OwoJZnJhbWVfZGlnIDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgInVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwKCl1aW50NjRbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.approval.teal b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.approval.teal
index af72886ab..7286ad18b 100644
--- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc32.json b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc32.json
index 035b1cff9..515994a0d 100644
--- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc32.json
@@ -49,7 +49,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmKCl1aW50NjRbM10KCWNhbGxzdWIgdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNgoJLy8gdGhpcy5nUmVmLnZhbHVlID0gYQoJYnl0ZSAweDY3NTI2NTY2IC8vICJnUmVmIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3CgkvLyB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE4CgkvLyB0aGlzLmJSZWYudmFsdWUgPSBhCglieXRlIDB4NjI1MjY1NjYgLy8gImJSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMAoJLy8gdGhpcy5nUmVmLnZhbHVlWzFdID0gMTExCglieXRlIDB4Njc1MjY1NjYgLy8gImdSZWYiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwNmYKCXJlcGxhY2UyIDgKCWJ5dGUgMHg2NzUyNjU2NiAvLyAiZ1JlZiIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMQoJLy8gdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0gPSAyMjIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMGRlCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglieXRlIDB4NmM1MjY1NjYgLy8gImxSZWYiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyCgkvLyB0aGlzLmJSZWYudmFsdWVbMV0gPSAzMzMKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWludCA4CglieXRlIDB4MDAwMDAwMDAwMDAwMDE0ZAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI0CgkvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbdGhpcy5nUmVmLnZhbHVlWzFdLCB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZVsxXSwgdGhpcy5iUmVmLnZhbHVlWzFdXQoJYnl0ZSAweDY3NTI2NTY2IC8vICJnUmVmIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlIDB4NmM1MjY1NjYgLy8gImxSZWYiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlIDB4NjI1MjY1NjYgLy8gImJSZWYiCglpbnQgOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNgoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJ1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmKCl1aW50NjRbM10KCWNhbGxzdWIgdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNgoJLy8gdGhpcy5nUmVmLnZhbHVlID0gYQoJYnl0ZSAweDY3NTI2NTY2IC8vICJnUmVmIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3CgkvLyB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE4CgkvLyB0aGlzLmJSZWYudmFsdWUgPSBhCglieXRlIDB4NjI1MjY1NjYgLy8gImJSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMAoJLy8gdGhpcy5nUmVmLnZhbHVlWzFdID0gMTExCglieXRlIDB4Njc1MjY1NjYgLy8gImdSZWYiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwNmYKCXJlcGxhY2UyIDgKCWJ5dGUgMHg2NzUyNjU2NiAvLyAiZ1JlZiIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMQoJLy8gdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0gPSAyMjIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMGRlCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglieXRlIDB4NmM1MjY1NjYgLy8gImxSZWYiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyCgkvLyB0aGlzLmJSZWYudmFsdWVbMV0gPSAzMzMKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWludCA4CglieXRlIDB4MDAwMDAwMDAwMDAwMDE0ZAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI0CgkvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbdGhpcy5nUmVmLnZhbHVlWzFdLCB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZVsxXSwgdGhpcy5iUmVmLnZhbHVlWzFdXQoJYnl0ZSAweDY3NTI2NTY2IC8vICJnUmVmIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlIDB4NmM1MjY1NjYgLy8gImxSZWYiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlIDB4NjI1MjY1NjYgLy8gImJSZWYiCglpbnQgOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNgoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJ1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc56_draft.json
index 4e1860a95..c9e9d9bd7 100644
--- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc56_draft.json
@@ -93,751 +93,754 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 99,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21
- ]
- },
- {
- "teal": 13,
- "source": 99,
- "pc": [
- 22,
- 23
- ]
- },
- {
- "teal": 14,
- "source": 99,
- "pc": [
- 24
- ]
- },
- {
- "teal": 15,
- "source": 99,
- "pc": [
- 25,
- 26
- ]
- },
- {
- "teal": 16,
- "source": 99,
- "pc": [
- 27
- ]
- },
- {
- "teal": 17,
- "source": 99,
- "pc": [
- 28,
- 29
- ]
- },
- {
- "teal": 18,
- "source": 99,
- "pc": [
- 30
- ]
- },
- {
- "teal": 19,
- "source": 99,
- "pc": [
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 23,
- "source": 99,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 57
- ]
- },
- {
- "teal": 28,
- "source": 112,
- "pc": [
- 58,
- 59,
- 60,
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 31,
- "source": 112,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 32,
- "source": 112,
- "pc": [
- 67
- ]
- },
- {
- "teal": 33,
- "source": 112,
- "pc": [
- 68
- ]
- },
- {
- "teal": 34,
- "source": 112,
- "pc": [
- 69
- ]
- },
- {
- "teal": 35,
- "source": 112,
- "pc": [
- 70
- ]
- },
- {
- "teal": 39,
- "source": 112,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 42,
- "source": 112,
- "pc": [
- 74,
- 75
- ]
- },
- {
- "teal": 43,
- "source": 112,
- "pc": [
- 76
- ]
- },
- {
- "teal": 47,
- "source": 114,
- "pc": [
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 48,
- "source": 114,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 52,
- "source": 116,
- "pc": [
- 105
- ]
- },
- {
- "teal": 53,
- "source": 116,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 54,
- "source": 116,
- "pc": [
- 108
- ]
- },
- {
- "teal": 58,
- "source": 117,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 59,
- "source": 117,
- "pc": [
- 111
- ]
- },
- {
- "teal": 60,
- "source": 117,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 61,
- "source": 117,
- "pc": [
- 114
- ]
- },
- {
- "teal": 65,
- "source": 118,
- "pc": [
- 115
- ]
- },
- {
- "teal": 66,
- "source": 118,
- "pc": [
- 116,
- 117
- ]
- },
- {
- "teal": 67,
- "source": 118,
- "pc": [
- 118
- ]
- },
- {
- "teal": 71,
- "source": 120,
- "pc": [
- 119
- ]
- },
- {
- "teal": 72,
- "source": 120,
- "pc": [
- 120
- ]
- },
- {
- "teal": 73,
- "source": 120,
- "pc": [
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 74,
- "source": 120,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 75,
- "source": 120,
- "pc": [
- 133
- ]
- },
- {
- "teal": 76,
- "source": 120,
- "pc": [
- 134
- ]
- },
- {
- "teal": 77,
- "source": 120,
- "pc": [
- 135
- ]
- },
- {
- "teal": 81,
- "source": 121,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 82,
- "source": 121,
- "pc": [
- 138
- ]
- },
- {
- "teal": 83,
- "source": 121,
- "pc": [
- 139
- ]
- },
- {
- "teal": 84,
- "source": 121,
- "pc": [
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149
- ]
- },
- {
- "teal": 85,
- "source": 121,
- "pc": [
- 150,
- 151
- ]
- },
- {
- "teal": 86,
- "source": 121,
- "pc": [
- 152,
- 153
- ]
- },
- {
- "teal": 87,
- "source": 121,
- "pc": [
- 154
- ]
- },
- {
- "teal": 88,
- "source": 121,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 89,
- "source": 121,
- "pc": [
- 157
- ]
- },
- {
- "teal": 93,
- "source": 122,
- "pc": [
- 158
- ]
- },
- {
- "teal": 94,
- "source": 122,
- "pc": [
- 159
- ]
- },
- {
- "teal": 95,
- "source": 122,
- "pc": [
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169
- ]
- },
- {
- "teal": 96,
- "source": 122,
- "pc": [
- 170
- ]
- },
- {
- "teal": 100,
- "source": 124,
- "pc": [
- 171
- ]
- },
- {
- "teal": 101,
- "source": 124,
- "pc": [
- 172
- ]
- },
- {
- "teal": 102,
- "source": 124,
- "pc": [
- 173,
- 174,
- 175
- ]
- },
- {
- "teal": 103,
- "source": 124,
- "pc": [
- 176
- ]
- },
- {
- "teal": 104,
- "source": 124,
- "pc": [
- 177
- ]
- },
- {
- "teal": 105,
- "source": 124,
- "pc": [
- 178,
- 179
- ]
- },
- {
- "teal": 106,
- "source": 124,
- "pc": [
- 180
- ]
- },
- {
- "teal": 107,
- "source": 124,
- "pc": [
- 181
- ]
- },
- {
- "teal": 108,
- "source": 124,
- "pc": [
- 182,
- 183,
- 184
- ]
- },
- {
- "teal": 109,
- "source": 124,
- "pc": [
- 185
- ]
- },
- {
- "teal": 110,
- "source": 124,
- "pc": [
- 186
- ]
- },
- {
- "teal": 111,
- "source": 124,
- "pc": [
- 187
- ]
- },
- {
- "teal": 112,
- "source": 124,
- "pc": [
- 188
- ]
- },
- {
- "teal": 113,
- "source": 124,
- "pc": [
- 189
- ]
- },
- {
- "teal": 114,
- "source": 124,
- "pc": [
- 190
- ]
- },
- {
- "teal": 115,
- "source": 124,
- "pc": [
- 191
- ]
- },
- {
- "teal": 116,
- "source": 124,
- "pc": [
- 192
- ]
- },
- {
- "teal": 117,
- "source": 124,
- "pc": [
- 193
- ]
- },
- {
- "teal": 118,
- "source": 124,
- "pc": [
- 194
- ]
- },
- {
- "teal": 119,
- "source": 124,
- "pc": [
- 195,
- 196
- ]
- },
- {
- "teal": 123,
- "source": 126,
- "pc": [
- 197,
- 198
- ]
- },
- {
- "teal": 126,
- "source": 112,
- "pc": [
- 199,
- 200
- ]
- },
- {
- "teal": 129,
- "source": 112,
- "pc": [
- 201,
- 202
- ]
- },
- {
- "teal": 130,
- "source": 112,
- "pc": [
- 203
- ]
- },
- {
- "teal": 133,
- "source": 99,
- "pc": [
- 204
- ]
- },
- {
- "teal": 134,
- "source": 99,
- "pc": [
- 205
- ]
- },
- {
- "teal": 137,
- "source": 99,
- "pc": [
- 206,
- 207,
- 208,
- 209,
- 210,
- 211
- ]
- },
- {
- "teal": 138,
- "source": 99,
- "pc": [
- 212,
- 213,
- 214
- ]
- },
- {
- "teal": 139,
- "source": 99,
- "pc": [
- 215,
- 216,
- 217,
- 218
- ]
- },
- {
- "teal": 142,
- "source": 99,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 219
- ]
- },
- {
- "teal": 145,
- "source": 99,
- "pc": [
- 220,
- 221,
- 222,
- 223,
- 224,
- 225
- ]
- },
- {
- "teal": 146,
- "source": 99,
- "pc": [
- 226,
- 227,
- 228
- ]
- },
- {
- "teal": 147,
- "source": 99,
- "pc": [
- 229,
- 230,
- 231,
- 232
- ]
- },
- {
- "teal": 150,
- "source": 99,
- "errorMessage": "this contract does not implement the given ABI method for call OptIn",
- "pc": [
- 233
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 99,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 99,
+ "pc": [
+ 22,
+ 23
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 99,
+ "pc": [
+ 24
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 99,
+ "pc": [
+ 25,
+ 26
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 99,
+ "pc": [
+ 27
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 99,
+ "pc": [
+ 28,
+ 29
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 99,
+ "pc": [
+ 30
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 99,
+ "pc": [
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 99,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 112,
+ "pc": [
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 112,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 112,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 112,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 112,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 112,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 112,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 112,
+ "pc": [
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 112,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 114,
+ "pc": [
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 114,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 116,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 116,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 116,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 117,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 117,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 117,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 117,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 118,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 118,
+ "pc": [
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 118,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 120,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 120,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 120,
+ "pc": [
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 120,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 120,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 120,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 120,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 121,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 121,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 121,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 121,
+ "pc": [
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 121,
+ "pc": [
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 121,
+ "pc": [
+ 152,
+ 153
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 121,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 121,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 121,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 122,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 122,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 122,
+ "pc": [
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 122,
+ "pc": [
+ 170
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 124,
+ "pc": [
+ 171
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 124,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 124,
+ "pc": [
+ 173,
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 124,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 124,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 124,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 124,
+ "pc": [
+ 180
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 124,
+ "pc": [
+ 181
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 124,
+ "pc": [
+ 182,
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 124,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 124,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 124,
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 124,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 124,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 124,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 124,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 124,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 124,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 124,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 124,
+ "pc": [
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 126,
+ "pc": [
+ 197,
+ 198
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 112,
+ "pc": [
+ 199,
+ 200
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 112,
+ "pc": [
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 112,
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 99,
+ "pc": [
+ 204
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 99,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 99,
+ "pc": [
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 99,
+ "pc": [
+ 212,
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 99,
+ "pc": [
+ 215,
+ 216,
+ 217,
+ 218
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 99,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 99,
+ "pc": [
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 99,
+ "pc": [
+ 226,
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 99,
+ "pc": [
+ 229,
+ 230,
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 99,
+ "errorMessage": "this contract does not implement the given ABI method for call OptIn",
+ "pc": [
+ 233
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmKCl1aW50NjRbM10KCWNhbGxzdWIgdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNgoJLy8gdGhpcy5nUmVmLnZhbHVlID0gYQoJYnl0ZSAweDY3NTI2NTY2IC8vICJnUmVmIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3CgkvLyB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE4CgkvLyB0aGlzLmJSZWYudmFsdWUgPSBhCglieXRlIDB4NjI1MjY1NjYgLy8gImJSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMAoJLy8gdGhpcy5nUmVmLnZhbHVlWzFdID0gMTExCglieXRlIDB4Njc1MjY1NjYgLy8gImdSZWYiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwNmYKCXJlcGxhY2UyIDgKCWJ5dGUgMHg2NzUyNjU2NiAvLyAiZ1JlZiIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMQoJLy8gdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0gPSAyMjIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMGRlCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglieXRlIDB4NmM1MjY1NjYgLy8gImxSZWYiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyCgkvLyB0aGlzLmJSZWYudmFsdWVbMV0gPSAzMzMKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWludCA4CglieXRlIDB4MDAwMDAwMDAwMDAwMDE0ZAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI0CgkvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbdGhpcy5nUmVmLnZhbHVlWzFdLCB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZVsxXSwgdGhpcy5iUmVmLnZhbHVlWzFdXQoJYnl0ZSAweDY3NTI2NTY2IC8vICJnUmVmIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlIDB4NmM1MjY1NjYgLy8gImxSZWYiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlIDB4NjI1MjY1NjYgLy8gImJSZWYiCglpbnQgOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNgoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJ1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmKCl1aW50NjRbM10KCWNhbGxzdWIgdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CnVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNgoJLy8gdGhpcy5nUmVmLnZhbHVlID0gYQoJYnl0ZSAweDY3NTI2NTY2IC8vICJnUmVmIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3CgkvLyB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE4CgkvLyB0aGlzLmJSZWYudmFsdWUgPSBhCglieXRlIDB4NjI1MjY1NjYgLy8gImJSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMAoJLy8gdGhpcy5nUmVmLnZhbHVlWzFdID0gMTExCglieXRlIDB4Njc1MjY1NjYgLy8gImdSZWYiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwNmYKCXJlcGxhY2UyIDgKCWJ5dGUgMHg2NzUyNjU2NiAvLyAiZ1JlZiIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMQoJLy8gdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0gPSAyMjIKCXR4biBTZW5kZXIKCWJ5dGUgMHg2YzUyNjU2NiAvLyAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMGRlCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglieXRlIDB4NmM1MjY1NjYgLy8gImxSZWYiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyCgkvLyB0aGlzLmJSZWYudmFsdWVbMV0gPSAzMzMKCWJ5dGUgMHg2MjUyNjU2NiAvLyAiYlJlZiIKCWludCA4CglieXRlIDB4MDAwMDAwMDAwMDAwMDE0ZAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI0CgkvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbdGhpcy5nUmVmLnZhbHVlWzFdLCB0aGlzLmxSZWYodGhpcy50eG4uc2VuZGVyKS52YWx1ZVsxXSwgdGhpcy5iUmVmLnZhbHVlWzFdXQoJYnl0ZSAweDY3NTI2NTY2IC8vICJnUmVmIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlIDB4NmM1MjY1NjYgLy8gImxSZWYiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlIDB4NjI1MjY1NjYgLy8gImJSZWYiCglpbnQgOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNgoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJbWV0aG9kICJ1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.approval.teal b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.approval.teal
index 1659e9a92..5e37cd414 100644
--- a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc32.json b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc32.json
index 6c7c0cb1a..afc8cd57d 100644
--- a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3goKXN0cmluZwoJY2FsbHN1YiB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3goKTogc3RyaW5nCnVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU3MwoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGFkZHI6IHRoaXMudHhuLnNlbmRlciwgc3RyOiAnSGVsbG8gV29ybGQhJyB9CglieXRlIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAyMiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc1CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5hZGRyID0gdGhpcy50eG4uc2VuZGVyCglieXRlIDB4MDAwNDYyNGQ2MTcwCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCXR4biBTZW5kZXIKCXJlcGxhY2UzCglieXRlIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc2CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuc3RyOwoJYnl0ZSAweDAwMDQ2MjRkNjE3MAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAzMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3goKXN0cmluZwoJY2FsbHN1YiB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3goKTogc3RyaW5nCnVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU3MwoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGFkZHI6IHRoaXMudHhuLnNlbmRlciwgc3RyOiAnSGVsbG8gV29ybGQhJyB9CglieXRlIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAyMiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc1CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5hZGRyID0gdGhpcy50eG4uc2VuZGVyCglieXRlIDB4MDAwNDYyNGQ2MTcwCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCXR4biBTZW5kZXIKCXJlcGxhY2UzCglieXRlIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc2CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuc3RyOwoJYnl0ZSAweDAwMDQ2MjRkNjE3MAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAzMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc56_draft.json
index e68500a39..a696fc789 100644
--- a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc56_draft.json
@@ -34,10 +34,16 @@
56
],
"structs": {
- "{ addr: Address; str: string }": {
- "addr": "address",
- "str": "string"
- }
+ "{ addr: Address; str: string }": [
+ {
+ "name": "addr",
+ "type": "address"
+ },
+ {
+ "name": "str",
+ "type": "string"
+ }
+ ]
},
"state": {
"schema": {
@@ -70,907 +76,910 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 1569,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13
- ]
- },
- {
- "teal": 13,
- "source": 1569,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 14,
- "source": 1569,
- "pc": [
- 16
- ]
- },
- {
- "teal": 15,
- "source": 1569,
- "pc": [
- 17,
- 18
- ]
- },
- {
- "teal": 16,
- "source": 1569,
- "pc": [
- 19
- ]
- },
- {
- "teal": 17,
- "source": 1569,
- "pc": [
- 20,
- 21
- ]
- },
- {
- "teal": 18,
- "source": 1569,
- "pc": [
- 22
- ]
- },
- {
- "teal": 19,
- "source": 1569,
- "pc": [
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 23,
- "source": 1569,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 49
- ]
- },
- {
- "teal": 28,
- "source": 1572,
- "pc": [
- 50,
- 51,
- 52,
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 31,
- "source": 1572,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 32,
- "source": 1572,
- "pc": [
- 59
- ]
- },
- {
- "teal": 33,
- "source": 1572,
- "pc": [
- 60
- ]
- },
- {
- "teal": 34,
- "source": 1572,
- "pc": [
- 61
- ]
- },
- {
- "teal": 35,
- "source": 1572,
- "pc": [
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 36,
- "source": 1572,
- "pc": [
- 65
- ]
- },
- {
- "teal": 37,
- "source": 1572,
- "pc": [
- 66
- ]
- },
- {
- "teal": 38,
- "source": 1572,
- "pc": [
- 67
- ]
- },
- {
- "teal": 39,
- "source": 1572,
- "pc": [
- 68
- ]
- },
- {
- "teal": 40,
- "source": 1572,
- "pc": [
- 69
- ]
- },
- {
- "teal": 41,
- "source": 1572,
- "pc": [
- 70
- ]
- },
- {
- "teal": 45,
- "source": 1572,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 49,
- "source": 1573,
- "pc": [
- 74
- ]
- },
- {
- "teal": 50,
- "source": 1573,
- "pc": [
- 75
- ]
- },
- {
- "teal": 51,
- "source": 1573,
- "pc": [
- 76
- ]
- },
- {
- "teal": 52,
- "source": 1573,
- "pc": [
- 77
- ]
- },
- {
- "teal": 53,
- "source": 1573,
- "pc": [
- 78
- ]
- },
- {
- "teal": 54,
- "source": 1573,
- "pc": [
- 79
- ]
- },
- {
- "teal": 55,
- "source": 1573,
- "pc": [
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 56,
- "source": 1573,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 57,
- "source": 1573,
- "pc": [
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 58,
- "source": 1573,
- "pc": [
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 59,
- "source": 1573,
- "pc": [
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 60,
- "source": 1573,
- "pc": [
- 108
- ]
- },
- {
- "teal": 61,
- "source": 1573,
- "pc": [
- 109
- ]
- },
- {
- "teal": 62,
- "source": 1573,
- "pc": [
- 110
- ]
- },
- {
- "teal": 66,
- "source": 1575,
- "pc": [
- 111
- ]
- },
- {
- "teal": 67,
- "source": 1575,
- "pc": [
- 112
- ]
- },
- {
- "teal": 70,
- "source": 1575,
- "errorMessage": "box value does not exist: this.bMap('bMap').value",
- "pc": [
- 113
- ]
- },
- {
- "teal": 71,
- "source": 1575,
- "pc": [
- 114,
- 115
- ]
- },
- {
- "teal": 72,
- "source": 1575,
- "pc": [
- 116,
- 117
- ]
- },
- {
- "teal": 73,
- "source": 1575,
- "pc": [
- 118,
- 119
- ]
- },
- {
- "teal": 74,
- "source": 1575,
- "pc": [
- 120,
- 121
- ]
- },
- {
- "teal": 75,
- "source": 1575,
- "pc": [
- 122
- ]
- },
- {
- "teal": 76,
- "source": 1575,
- "pc": [
- 123
- ]
- },
- {
- "teal": 77,
- "source": 1575,
- "pc": [
- 124
- ]
- },
- {
- "teal": 78,
- "source": 1575,
- "pc": [
- 125
- ]
- },
- {
- "teal": 79,
- "source": 1575,
- "pc": [
- 126
- ]
- },
- {
- "teal": 80,
- "source": 1575,
- "pc": [
- 127
- ]
- },
- {
- "teal": 81,
- "source": 1575,
- "pc": [
- 128
- ]
- },
- {
- "teal": 85,
- "source": 1576,
- "pc": [
- 129
- ]
- },
- {
- "teal": 86,
- "source": 1576,
- "pc": [
- 130
- ]
- },
- {
- "teal": 89,
- "source": 1576,
- "errorMessage": "box value does not exist: this.bMap('bMap').value",
- "pc": [
- 131
- ]
- },
- {
- "teal": 90,
- "source": 1576,
- "pc": [
- 132,
- 133
- ]
- },
- {
- "teal": 91,
- "source": 1576,
- "pc": [
- 134,
- 135
- ]
- },
- {
- "teal": 92,
- "source": 1576,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 93,
- "source": 1576,
- "pc": [
- 138,
- 139
- ]
- },
- {
- "teal": 94,
- "source": 1576,
- "pc": [
- 140,
- 141
- ]
- },
- {
- "teal": 95,
- "source": 1576,
- "pc": [
- 142
- ]
- },
- {
- "teal": 96,
- "source": 1576,
- "pc": [
- 143
- ]
- },
- {
- "teal": 97,
- "source": 1576,
- "pc": [
- 144,
- 145
- ]
- },
- {
- "teal": 98,
- "source": 1576,
- "pc": [
- 146
- ]
- },
- {
- "teal": 99,
- "source": 1576,
- "pc": [
- 147
- ]
- },
- {
- "teal": 100,
- "source": 1576,
- "pc": [
- 148
- ]
- },
- {
- "teal": 101,
- "source": 1576,
- "pc": [
- 149
- ]
- },
- {
- "teal": 102,
- "source": 1576,
- "pc": [
- 150,
- 151
- ]
- },
- {
- "teal": 103,
- "source": 1576,
- "pc": [
- 152
- ]
- },
- {
- "teal": 104,
- "source": 1576,
- "pc": [
- 153
- ]
- },
- {
- "teal": 105,
- "source": 1576,
- "pc": [
- 154,
- 155,
- 156
- ]
- },
- {
- "teal": 106,
- "source": 1572,
- "pc": [
- 157
- ]
- },
- {
- "teal": 109,
- "source": 1569,
- "pc": [
- 158
- ]
- },
- {
- "teal": 110,
- "source": 1569,
- "pc": [
- 159
- ]
- },
- {
- "teal": 113,
- "source": 1569,
- "pc": [
- 160,
- 161,
- 162,
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 114,
- "source": 1569,
- "pc": [
- 166,
- 167,
- 168
- ]
- },
- {
- "teal": 115,
- "source": 1569,
- "pc": [
- 169,
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 118,
- "source": 1569,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 173
- ]
- },
- {
- "teal": 121,
- "source": 1569,
- "pc": [
- 174,
- 175,
- 176,
- 177,
- 178,
- 179
- ]
- },
- {
- "teal": 122,
- "source": 1569,
- "pc": [
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 123,
- "source": 1569,
- "pc": [
- 183,
- 184,
- 185,
- 186
- ]
- },
- {
- "teal": 126,
- "source": 1569,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 187
- ]
- },
- {
- "teal": 129,
- "source": 1569,
- "pc": [
- 188,
- 189,
- 190
- ]
- },
- {
- "teal": 130,
- "source": 1569,
- "pc": [
- 191,
- 192
- ]
- },
- {
- "teal": 131,
- "source": 1569,
- "pc": [
- 193,
- 194
- ]
- },
- {
- "teal": 132,
- "source": 1569,
- "pc": [
- 195
- ]
- },
- {
- "teal": 133,
- "source": 1569,
- "pc": [
- 196,
- 197
- ]
- },
- {
- "teal": 134,
- "source": 1569,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 135,
- "source": 1569,
- "pc": [
- 200
- ]
- },
- {
- "teal": 138,
- "source": 1569,
- "pc": [
- 201,
- 202,
- 203
- ]
- },
- {
- "teal": 139,
- "source": 1569,
- "pc": [
- 204,
- 205
- ]
- },
- {
- "teal": 140,
- "source": 1569,
- "pc": [
- 206,
- 207
- ]
- },
- {
- "teal": 141,
- "source": 1569,
- "pc": [
- 208
- ]
- },
- {
- "teal": 142,
- "source": 1569,
- "pc": [
- 209,
- 210
- ]
- },
- {
- "teal": 143,
- "source": 1569,
- "pc": [
- 211,
- 212
- ]
- },
- {
- "teal": 144,
- "source": 1569,
- "pc": [
- 213
- ]
- },
- {
- "teal": 145,
- "source": 1569,
- "pc": [
- 214
- ]
- },
- {
- "teal": 146,
- "source": 1569,
- "pc": [
- 215,
- 216
- ]
- },
- {
- "teal": 147,
- "source": 1569,
- "pc": [
- 217
- ]
- },
- {
- "teal": 148,
- "source": 1569,
- "pc": [
- 218
- ]
- },
- {
- "teal": 149,
- "source": 1569,
- "pc": [
- 219
- ]
- },
- {
- "teal": 150,
- "source": 1569,
- "pc": [
- 220,
- 221,
- 222
- ]
- },
- {
- "teal": 151,
- "source": 1569,
- "pc": [
- 223,
- 224
- ]
- },
- {
- "teal": 152,
- "source": 1569,
- "pc": [
- 225,
- 226
- ]
- },
- {
- "teal": 153,
- "source": 1569,
- "pc": [
- 227
- ]
- },
- {
- "teal": 154,
- "source": 1569,
- "pc": [
- 228
- ]
- },
- {
- "teal": 155,
- "source": 1569,
- "pc": [
- 229,
- 230
- ]
- },
- {
- "teal": 156,
- "source": 1569,
- "pc": [
- 231,
- 232
- ]
- },
- {
- "teal": 157,
- "source": 1569,
- "pc": [
- 233,
- 234
- ]
- },
- {
- "teal": 158,
- "source": 1569,
- "pc": [
- 235,
- 236
- ]
- },
- {
- "teal": 159,
- "source": 1569,
- "pc": [
- 237
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 1569,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 1569,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 1569,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 1569,
+ "pc": [
+ 17,
+ 18
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 1569,
+ "pc": [
+ 19
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 1569,
+ "pc": [
+ 20,
+ 21
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 1569,
+ "pc": [
+ 22
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 1569,
+ "pc": [
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 1569,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 1572,
+ "pc": [
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 1572,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 1572,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 1572,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 1572,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 1572,
+ "pc": [
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 1572,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 1572,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 1572,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 1572,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 1572,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 1572,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 1572,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 1573,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 1573,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 1573,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 1573,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 1573,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 1573,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 1573,
+ "pc": [
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 1573,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 1573,
+ "pc": [
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 1573,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 1573,
+ "pc": [
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 1573,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 1573,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 1573,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 1575,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 1575,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 1575,
+ "errorMessage": "box value does not exist: this.bMap('bMap').value",
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 1575,
+ "pc": [
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 1575,
+ "pc": [
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 1575,
+ "pc": [
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 1575,
+ "pc": [
+ 120,
+ 121
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 1575,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 1575,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 1575,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 1575,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 1575,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 1575,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 1575,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 1576,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 1576,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 1576,
+ "errorMessage": "box value does not exist: this.bMap('bMap').value",
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 1576,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 1576,
+ "pc": [
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 1576,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 1576,
+ "pc": [
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 1576,
+ "pc": [
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 1576,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 1576,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 1576,
+ "pc": [
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 1576,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 1576,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 1576,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 1576,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 1576,
+ "pc": [
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 1576,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 1576,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 1576,
+ "pc": [
+ 154,
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 1572,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 1569,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 1569,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 1569,
+ "pc": [
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 1569,
+ "pc": [
+ 166,
+ 167,
+ 168
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 1569,
+ "pc": [
+ 169,
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 1569,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 1569,
+ "pc": [
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 1569,
+ "pc": [
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 1569,
+ "pc": [
+ 183,
+ 184,
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 1569,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 1569,
+ "pc": [
+ 188,
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 1569,
+ "pc": [
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 1569,
+ "pc": [
+ 193,
+ 194
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 1569,
+ "pc": [
+ 195
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 1569,
+ "pc": [
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 1569,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 1569,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 1569,
+ "pc": [
+ 201,
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 1569,
+ "pc": [
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 1569,
+ "pc": [
+ 206,
+ 207
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 1569,
+ "pc": [
+ 208
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 1569,
+ "pc": [
+ 209,
+ 210
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 1569,
+ "pc": [
+ 211,
+ 212
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 1569,
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 1569,
+ "pc": [
+ 214
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 1569,
+ "pc": [
+ 215,
+ 216
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 1569,
+ "pc": [
+ 217
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 1569,
+ "pc": [
+ 218
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 1569,
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 1569,
+ "pc": [
+ 220,
+ 221,
+ 222
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 1569,
+ "pc": [
+ 223,
+ 224
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 1569,
+ "pc": [
+ 225,
+ 226
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 1569,
+ "pc": [
+ 227
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 1569,
+ "pc": [
+ 228
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 1569,
+ "pc": [
+ 229,
+ 230
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 1569,
+ "pc": [
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 1569,
+ "pc": [
+ 233,
+ 234
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 1569,
+ "pc": [
+ 235,
+ 236
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 1569,
+ "pc": [
+ 237
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3goKXN0cmluZwoJY2FsbHN1YiB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3goKTogc3RyaW5nCnVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU3MwoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGFkZHI6IHRoaXMudHhuLnNlbmRlciwgc3RyOiAnSGVsbG8gV29ybGQhJyB9CglieXRlIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAyMiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc1CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5hZGRyID0gdGhpcy50eG4uc2VuZGVyCglieXRlIDB4MDAwNDYyNGQ2MTcwCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCXR4biBTZW5kZXIKCXJlcGxhY2UzCglieXRlIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc2CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuc3RyOwoJYnl0ZSAweDAwMDQ2MjRkNjE3MAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAzMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3goKXN0cmluZwoJY2FsbHN1YiB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3goKTogc3RyaW5nCnVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU3MwoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGFkZHI6IHRoaXMudHhuLnNlbmRlciwgc3RyOiAnSGVsbG8gV29ybGQhJyB9CglieXRlIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweCAvLyBpbml0aWFsIGhlYWQKCWJ5dGUgMHggLy8gaW5pdGlhbCB0YWlsCglieXRlIDB4MDAyMiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc1CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5hZGRyID0gdGhpcy50eG4uc2VuZGVyCglieXRlIDB4MDAwNDYyNGQ2MTcwCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCXR4biBTZW5kZXIKCXJlcGxhY2UzCglieXRlIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc2CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuc3RyOwoJYnl0ZSAweDAwMDQ2MjRkNjE3MAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAzMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMSAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateStringInTuple.approval.teal b/tests/contracts/artifacts/ABITestUpdateStringInTuple.approval.teal
index ba0ceba75..3f8bc8ae8 100644
--- a/tests/contracts/artifacts/ABITestUpdateStringInTuple.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateStringInTuple.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc32.json b/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc32.json
index f5e57a316..fd4eda457 100644
--- a/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCiphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZVN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVTdHJpbmdJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYwCgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCAnSGk/JywgWzZdLCBbNV1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA5IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTA1CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2MgoJLy8gYVswXSA9IDk5IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWJ5dGUgMHg2MwoJcmVwbGFjZTIgMAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NjMKCS8vIGFbMV0gPSBbMTAsIDExXQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDEKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDIgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY0CgkvLyBhWzJdID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAzCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2NQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY2CgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY4CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCiphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZVN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVTdHJpbmdJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYwCgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCAnSGk/JywgWzZdLCBbNV1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA5IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTA1CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2MgoJLy8gYVswXSA9IDk5IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWJ5dGUgMHg2MwoJcmVwbGFjZTIgMAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NjMKCS8vIGFbMV0gPSBbMTAsIDExXQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDEKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDIgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY0CgkvLyBhWzJdID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAzCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2NQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY2CgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY4CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc56_draft.json
index 87795d798..6cecdc7f8 100644
--- a/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc56_draft.json
@@ -60,2490 +60,2493 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 558,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10
- ]
- },
- {
- "teal": 13,
- "source": 558,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 14,
- "source": 558,
- "pc": [
- 13
- ]
- },
- {
- "teal": 15,
- "source": 558,
- "pc": [
- 14
- ]
- },
- {
- "teal": 16,
- "source": 558,
- "pc": [
- 15
- ]
- },
- {
- "teal": 17,
- "source": 558,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 18,
- "source": 558,
- "pc": [
- 18
- ]
- },
- {
- "teal": 19,
- "source": 558,
- "pc": [
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44
- ]
- },
- {
- "teal": 23,
- "source": 558,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 45
- ]
- },
- {
- "teal": 28,
- "source": 559,
- "pc": [
- 46,
- 47,
- 48,
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 31,
- "source": 559,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 32,
- "source": 559,
- "pc": [
- 55
- ]
- },
- {
- "teal": 33,
- "source": 559,
- "pc": [
- 56
- ]
- },
- {
- "teal": 34,
- "source": 559,
- "pc": [
- 57
- ]
- },
- {
- "teal": 35,
- "source": 559,
- "pc": [
- 58
- ]
- },
- {
- "teal": 39,
- "source": 559,
- "pc": [
- 59,
- 60,
- 61
- ]
- },
- {
- "teal": 42,
- "source": 559,
- "pc": [
- 62
- ]
- },
- {
- "teal": 46,
- "source": 560,
- "pc": [
- 63
- ]
- },
- {
- "teal": 47,
- "source": 560,
- "pc": [
- 64
- ]
- },
- {
- "teal": 48,
- "source": 560,
- "pc": [
- 65,
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 49,
- "source": 560,
- "pc": [
- 69,
- 70,
- 71
- ]
- },
- {
- "teal": 50,
- "source": 560,
- "pc": [
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 51,
- "source": 560,
- "pc": [
- 75,
- 76,
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 52,
- "source": 560,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 53,
- "source": 560,
- "pc": [
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 54,
- "source": 560,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 55,
- "source": 560,
- "pc": [
- 94,
- 95,
- 96,
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 56,
- "source": 560,
- "pc": [
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 57,
- "source": 560,
- "pc": [
- 103,
- 104,
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 58,
- "source": 560,
- "pc": [
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 59,
- "source": 560,
- "pc": [
- 111
- ]
- },
- {
- "teal": 60,
- "source": 560,
- "pc": [
- 112
- ]
- },
- {
- "teal": 61,
- "source": 560,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 65,
- "source": 562,
- "pc": [
- 115,
- 116
- ]
- },
- {
- "teal": 66,
- "source": 562,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 67,
- "source": 562,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 68,
- "source": 562,
- "pc": [
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 69,
- "source": 562,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 70,
- "source": 562,
- "pc": [
- 126,
- 127
- ]
- },
- {
- "teal": 74,
- "source": 563,
- "pc": [
- 128,
- 129
- ]
- },
- {
- "teal": 75,
- "source": 563,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 76,
- "source": 563,
- "pc": [
- 132
- ]
- },
- {
- "teal": 77,
- "source": 563,
- "pc": [
- 133
- ]
- },
- {
- "teal": 78,
- "source": 563,
- "pc": [
- 134,
- 135
- ]
- },
- {
- "teal": 79,
- "source": 563,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 80,
- "source": 563,
- "pc": [
- 138,
- 139
- ]
- },
- {
- "teal": 81,
- "source": 563,
- "pc": [
- 140,
- 141
- ]
- },
- {
- "teal": 82,
- "source": 563,
- "pc": [
- 142
- ]
- },
- {
- "teal": 83,
- "source": 563,
- "pc": [
- 143
- ]
- },
- {
- "teal": 84,
- "source": 563,
- "pc": [
- 144,
- 145
- ]
- },
- {
- "teal": 85,
- "source": 563,
- "pc": [
- 146
- ]
- },
- {
- "teal": 86,
- "source": 563,
- "pc": [
- 147,
- 148
- ]
- },
- {
- "teal": 87,
- "source": 563,
- "pc": [
- 149
- ]
- },
- {
- "teal": 88,
- "source": 563,
- "pc": [
- 150
- ]
- },
- {
- "teal": 89,
- "source": 563,
- "pc": [
- 151
- ]
- },
- {
- "teal": 90,
- "source": 563,
- "pc": [
- 152
- ]
- },
- {
- "teal": 91,
- "source": 563,
- "pc": [
- 153
- ]
- },
- {
- "teal": 92,
- "source": 563,
- "pc": [
- 154
- ]
- },
- {
- "teal": 93,
- "source": 563,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 94,
- "source": 563,
- "pc": [
- 157,
- 158
- ]
- },
- {
- "teal": 95,
- "source": 563,
- "pc": [
- 159
- ]
- },
- {
- "teal": 96,
- "source": 563,
- "pc": [
- 160,
- 161
- ]
- },
- {
- "teal": 97,
- "source": 563,
- "pc": [
- 162
- ]
- },
- {
- "teal": 98,
- "source": 563,
- "pc": [
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170
- ]
- },
- {
- "teal": 99,
- "source": 563,
- "pc": [
- 171
- ]
- },
- {
- "teal": 100,
- "source": 563,
- "pc": [
- 172,
- 173
- ]
- },
- {
- "teal": 101,
- "source": 563,
- "pc": [
- 174,
- 175
- ]
- },
- {
- "teal": 102,
- "source": 563,
- "pc": [
- 176,
- 177
- ]
- },
- {
- "teal": 103,
- "source": 563,
- "pc": [
- 178,
- 179
- ]
- },
- {
- "teal": 104,
- "source": 563,
- "pc": [
- 180
- ]
- },
- {
- "teal": 105,
- "source": 563,
- "pc": [
- 181,
- 182
- ]
- },
- {
- "teal": 106,
- "source": 563,
- "pc": [
- 183
- ]
- },
- {
- "teal": 107,
- "source": 563,
- "pc": [
- 184
- ]
- },
- {
- "teal": 108,
- "source": 563,
- "pc": [
- 185
- ]
- },
- {
- "teal": 109,
- "source": 563,
- "pc": [
- 186
- ]
- },
- {
- "teal": 110,
- "source": 563,
- "pc": [
- 187,
- 188
- ]
- },
- {
- "teal": 111,
- "source": 563,
- "pc": [
- 189,
- 190,
- 191
- ]
- },
- {
- "teal": 112,
- "source": 563,
- "pc": [
- 192,
- 193
- ]
- },
- {
- "teal": 113,
- "source": 563,
- "pc": [
- 194,
- 195
- ]
- },
- {
- "teal": 114,
- "source": 563,
- "pc": [
- 196
- ]
- },
- {
- "teal": 115,
- "source": 563,
- "pc": [
- 197
- ]
- },
- {
- "teal": 116,
- "source": 563,
- "pc": [
- 198,
- 199,
- 200
- ]
- },
- {
- "teal": 117,
- "source": 563,
- "pc": [
- 201,
- 202
- ]
- },
- {
- "teal": 118,
- "source": 563,
- "pc": [
- 203,
- 204
- ]
- },
- {
- "teal": 119,
- "source": 563,
- "pc": [
- 205,
- 206
- ]
- },
- {
- "teal": 120,
- "source": 563,
- "pc": [
- 207
- ]
- },
- {
- "teal": 121,
- "source": 563,
- "pc": [
- 208,
- 209,
- 210
- ]
- },
- {
- "teal": 122,
- "source": 563,
- "pc": [
- 211,
- 212
- ]
- },
- {
- "teal": 123,
- "source": 563,
- "pc": [
- 213,
- 214
- ]
- },
- {
- "teal": 124,
- "source": 563,
- "pc": [
- 215
- ]
- },
- {
- "teal": 125,
- "source": 563,
- "pc": [
- 216
- ]
- },
- {
- "teal": 126,
- "source": 563,
- "pc": [
- 217,
- 218,
- 219
- ]
- },
- {
- "teal": 127,
- "source": 563,
- "pc": [
- 220,
- 221
- ]
- },
- {
- "teal": 128,
- "source": 563,
- "pc": [
- 222,
- 223
- ]
- },
- {
- "teal": 132,
- "source": 564,
- "pc": [
- 224,
- 225
- ]
- },
- {
- "teal": 133,
- "source": 564,
- "pc": [
- 226,
- 227
- ]
- },
- {
- "teal": 134,
- "source": 564,
- "pc": [
- 228,
- 229
- ]
- },
- {
- "teal": 135,
- "source": 564,
- "pc": [
- 230
- ]
- },
- {
- "teal": 136,
- "source": 564,
- "pc": [
- 231,
- 232
- ]
- },
- {
- "teal": 137,
- "source": 564,
- "pc": [
- 233,
- 234
- ]
- },
- {
- "teal": 138,
- "source": 564,
- "pc": [
- 235,
- 236
- ]
- },
- {
- "teal": 139,
- "source": 564,
- "pc": [
- 237,
- 238
- ]
- },
- {
- "teal": 140,
- "source": 564,
- "pc": [
- 239
- ]
- },
- {
- "teal": 141,
- "source": 564,
- "pc": [
- 240
- ]
- },
- {
- "teal": 142,
- "source": 564,
- "pc": [
- 241,
- 242
- ]
- },
- {
- "teal": 143,
- "source": 564,
- "pc": [
- 243
- ]
- },
- {
- "teal": 144,
- "source": 564,
- "pc": [
- 244,
- 245
- ]
- },
- {
- "teal": 145,
- "source": 564,
- "pc": [
- 246
- ]
- },
- {
- "teal": 146,
- "source": 564,
- "pc": [
- 247
- ]
- },
- {
- "teal": 147,
- "source": 564,
- "pc": [
- 248
- ]
- },
- {
- "teal": 148,
- "source": 564,
- "pc": [
- 249
- ]
- },
- {
- "teal": 149,
- "source": 564,
- "pc": [
- 250
- ]
- },
- {
- "teal": 150,
- "source": 564,
- "pc": [
- 251
- ]
- },
- {
- "teal": 151,
- "source": 564,
- "pc": [
- 252,
- 253
- ]
- },
- {
- "teal": 152,
- "source": 564,
- "pc": [
- 254,
- 255
- ]
- },
- {
- "teal": 153,
- "source": 564,
- "pc": [
- 256
- ]
- },
- {
- "teal": 154,
- "source": 564,
- "pc": [
- 257,
- 258
- ]
- },
- {
- "teal": 155,
- "source": 564,
- "pc": [
- 259
- ]
- },
- {
- "teal": 156,
- "source": 564,
- "pc": [
- 260,
- 261,
- 262,
- 263,
- 264,
- 265,
- 266,
- 267,
- 268,
- 269,
- 270,
- 271,
- 272,
- 273,
- 274,
- 275
- ]
- },
- {
- "teal": 157,
- "source": 564,
- "pc": [
- 276
- ]
- },
- {
- "teal": 158,
- "source": 564,
- "pc": [
- 277,
- 278
- ]
- },
- {
- "teal": 159,
- "source": 564,
- "pc": [
- 279,
- 280
- ]
- },
- {
- "teal": 160,
- "source": 564,
- "pc": [
- 281,
- 282
- ]
- },
- {
- "teal": 161,
- "source": 564,
- "pc": [
- 283,
- 284
- ]
- },
- {
- "teal": 162,
- "source": 564,
- "pc": [
- 285
- ]
- },
- {
- "teal": 163,
- "source": 564,
- "pc": [
- 286,
- 287
- ]
- },
- {
- "teal": 164,
- "source": 564,
- "pc": [
- 288
- ]
- },
- {
- "teal": 165,
- "source": 564,
- "pc": [
- 289
- ]
- },
- {
- "teal": 166,
- "source": 564,
- "pc": [
- 290
- ]
- },
- {
- "teal": 167,
- "source": 564,
- "pc": [
- 291
- ]
- },
- {
- "teal": 168,
- "source": 564,
- "pc": [
- 292,
- 293
- ]
- },
- {
- "teal": 169,
- "source": 564,
- "pc": [
- 294,
- 295,
- 296
- ]
- },
- {
- "teal": 170,
- "source": 564,
- "pc": [
- 297,
- 298
- ]
- },
- {
- "teal": 171,
- "source": 564,
- "pc": [
- 299,
- 300
- ]
- },
- {
- "teal": 172,
- "source": 564,
- "pc": [
- 301
- ]
- },
- {
- "teal": 173,
- "source": 564,
- "pc": [
- 302
- ]
- },
- {
- "teal": 174,
- "source": 564,
- "pc": [
- 303,
- 304,
- 305
- ]
- },
- {
- "teal": 175,
- "source": 564,
- "pc": [
- 306,
- 307
- ]
- },
- {
- "teal": 176,
- "source": 564,
- "pc": [
- 308,
- 309
- ]
- },
- {
- "teal": 177,
- "source": 564,
- "pc": [
- 310,
- 311
- ]
- },
- {
- "teal": 178,
- "source": 564,
- "pc": [
- 312
- ]
- },
- {
- "teal": 179,
- "source": 564,
- "pc": [
- 313,
- 314,
- 315
- ]
- },
- {
- "teal": 180,
- "source": 564,
- "pc": [
- 316,
- 317
- ]
- },
- {
- "teal": 181,
- "source": 564,
- "pc": [
- 318,
- 319
- ]
- },
- {
- "teal": 185,
- "source": 565,
- "pc": [
- 320,
- 321
- ]
- },
- {
- "teal": 186,
- "source": 565,
- "pc": [
- 322,
- 323
- ]
- },
- {
- "teal": 187,
- "source": 565,
- "pc": [
- 324,
- 325
- ]
- },
- {
- "teal": 188,
- "source": 565,
- "pc": [
- 326
- ]
- },
- {
- "teal": 189,
- "source": 565,
- "pc": [
- 327,
- 328
- ]
- },
- {
- "teal": 190,
- "source": 565,
- "pc": [
- 329,
- 330
- ]
- },
- {
- "teal": 191,
- "source": 565,
- "pc": [
- 331,
- 332
- ]
- },
- {
- "teal": 192,
- "source": 565,
- "pc": [
- 333,
- 334
- ]
- },
- {
- "teal": 193,
- "source": 565,
- "pc": [
- 335
- ]
- },
- {
- "teal": 194,
- "source": 565,
- "pc": [
- 336
- ]
- },
- {
- "teal": 195,
- "source": 565,
- "pc": [
- 337,
- 338
- ]
- },
- {
- "teal": 196,
- "source": 565,
- "pc": [
- 339
- ]
- },
- {
- "teal": 197,
- "source": 565,
- "pc": [
- 340,
- 341
- ]
- },
- {
- "teal": 198,
- "source": 565,
- "pc": [
- 342
- ]
- },
- {
- "teal": 199,
- "source": 565,
- "pc": [
- 343
- ]
- },
- {
- "teal": 200,
- "source": 565,
- "pc": [
- 344
- ]
- },
- {
- "teal": 201,
- "source": 565,
- "pc": [
- 345
- ]
- },
- {
- "teal": 202,
- "source": 565,
- "pc": [
- 346
- ]
- },
- {
- "teal": 203,
- "source": 565,
- "pc": [
- 347
- ]
- },
- {
- "teal": 204,
- "source": 565,
- "pc": [
- 348,
- 349
- ]
- },
- {
- "teal": 205,
- "source": 565,
- "pc": [
- 350,
- 351
- ]
- },
- {
- "teal": 206,
- "source": 565,
- "pc": [
- 352
- ]
- },
- {
- "teal": 207,
- "source": 565,
- "pc": [
- 353,
- 354
- ]
- },
- {
- "teal": 208,
- "source": 565,
- "pc": [
- 355
- ]
- },
- {
- "teal": 209,
- "source": 565,
- "pc": [
- 356,
- 357,
- 358,
- 359,
- 360,
- 361,
- 362,
- 363
- ]
- },
- {
- "teal": 210,
- "source": 565,
- "pc": [
- 364
- ]
- },
- {
- "teal": 211,
- "source": 565,
- "pc": [
- 365,
- 366
- ]
- },
- {
- "teal": 212,
- "source": 565,
- "pc": [
- 367,
- 368
- ]
- },
- {
- "teal": 213,
- "source": 565,
- "pc": [
- 369,
- 370
- ]
- },
- {
- "teal": 214,
- "source": 565,
- "pc": [
- 371,
- 372
- ]
- },
- {
- "teal": 215,
- "source": 565,
- "pc": [
- 373
- ]
- },
- {
- "teal": 216,
- "source": 565,
- "pc": [
- 374,
- 375
- ]
- },
- {
- "teal": 217,
- "source": 565,
- "pc": [
- 376
- ]
- },
- {
- "teal": 218,
- "source": 565,
- "pc": [
- 377
- ]
- },
- {
- "teal": 219,
- "source": 565,
- "pc": [
- 378
- ]
- },
- {
- "teal": 220,
- "source": 565,
- "pc": [
- 379
- ]
- },
- {
- "teal": 221,
- "source": 565,
- "pc": [
- 380,
- 381
- ]
- },
- {
- "teal": 222,
- "source": 565,
- "pc": [
- 382,
- 383,
- 384
- ]
- },
- {
- "teal": 223,
- "source": 565,
- "pc": [
- 385,
- 386
- ]
- },
- {
- "teal": 224,
- "source": 565,
- "pc": [
- 387,
- 388
- ]
- },
- {
- "teal": 225,
- "source": 565,
- "pc": [
- 389
- ]
- },
- {
- "teal": 226,
- "source": 565,
- "pc": [
- 390
- ]
- },
- {
- "teal": 227,
- "source": 565,
- "pc": [
- 391,
- 392,
- 393
- ]
- },
- {
- "teal": 228,
- "source": 565,
- "pc": [
- 394,
- 395
- ]
- },
- {
- "teal": 229,
- "source": 565,
- "pc": [
- 396,
- 397
- ]
- },
- {
- "teal": 233,
- "source": 566,
- "pc": [
- 398,
- 399
- ]
- },
- {
- "teal": 234,
- "source": 566,
- "pc": [
- 400,
- 401
- ]
- },
- {
- "teal": 235,
- "source": 566,
- "pc": [
- 402,
- 403
- ]
- },
- {
- "teal": 236,
- "source": 566,
- "pc": [
- 404
- ]
- },
- {
- "teal": 237,
- "source": 566,
- "pc": [
- 405,
- 406
- ]
- },
- {
- "teal": 238,
- "source": 566,
- "pc": [
- 407,
- 408
- ]
- },
- {
- "teal": 239,
- "source": 566,
- "pc": [
- 409,
- 410
- ]
- },
- {
- "teal": 240,
- "source": 566,
- "pc": [
- 411,
- 412
- ]
- },
- {
- "teal": 241,
- "source": 566,
- "pc": [
- 413
- ]
- },
- {
- "teal": 242,
- "source": 566,
- "pc": [
- 414
- ]
- },
- {
- "teal": 243,
- "source": 566,
- "pc": [
- 415,
- 416
- ]
- },
- {
- "teal": 244,
- "source": 566,
- "pc": [
- 417
- ]
- },
- {
- "teal": 245,
- "source": 566,
- "pc": [
- 418,
- 419
- ]
- },
- {
- "teal": 246,
- "source": 566,
- "pc": [
- 420
- ]
- },
- {
- "teal": 247,
- "source": 566,
- "pc": [
- 421
- ]
- },
- {
- "teal": 248,
- "source": 566,
- "pc": [
- 422
- ]
- },
- {
- "teal": 249,
- "source": 566,
- "pc": [
- 423
- ]
- },
- {
- "teal": 250,
- "source": 566,
- "pc": [
- 424
- ]
- },
- {
- "teal": 251,
- "source": 566,
- "pc": [
- 425
- ]
- },
- {
- "teal": 252,
- "source": 566,
- "pc": [
- 426,
- 427
- ]
- },
- {
- "teal": 253,
- "source": 566,
- "pc": [
- 428,
- 429
- ]
- },
- {
- "teal": 254,
- "source": 566,
- "pc": [
- 430
- ]
- },
- {
- "teal": 255,
- "source": 566,
- "pc": [
- 431,
- 432
- ]
- },
- {
- "teal": 256,
- "source": 566,
- "pc": [
- 433
- ]
- },
- {
- "teal": 257,
- "source": 566,
- "pc": [
- 434,
- 435,
- 436,
- 437,
- 438,
- 439
- ]
- },
- {
- "teal": 258,
- "source": 566,
- "pc": [
- 440
- ]
- },
- {
- "teal": 259,
- "source": 566,
- "pc": [
- 441,
- 442
- ]
- },
- {
- "teal": 260,
- "source": 566,
- "pc": [
- 443,
- 444
- ]
- },
- {
- "teal": 261,
- "source": 566,
- "pc": [
- 445,
- 446
- ]
- },
- {
- "teal": 262,
- "source": 566,
- "pc": [
- 447,
- 448
- ]
- },
- {
- "teal": 263,
- "source": 566,
- "pc": [
- 449
- ]
- },
- {
- "teal": 264,
- "source": 566,
- "pc": [
- 450,
- 451
- ]
- },
- {
- "teal": 265,
- "source": 566,
- "pc": [
- 452
- ]
- },
- {
- "teal": 266,
- "source": 566,
- "pc": [
- 453
- ]
- },
- {
- "teal": 267,
- "source": 566,
- "pc": [
- 454
- ]
- },
- {
- "teal": 268,
- "source": 566,
- "pc": [
- 455
- ]
- },
- {
- "teal": 269,
- "source": 566,
- "pc": [
- 456,
- 457
- ]
- },
- {
- "teal": 270,
- "source": 566,
- "pc": [
- 458,
- 459,
- 460
- ]
- },
- {
- "teal": 271,
- "source": 566,
- "pc": [
- 461,
- 462
- ]
- },
- {
- "teal": 272,
- "source": 566,
- "pc": [
- 463,
- 464
- ]
- },
- {
- "teal": 276,
- "source": 568,
- "pc": [
- 465,
- 466
- ]
- },
- {
- "teal": 279,
- "source": 559,
- "pc": [
- 467,
- 468
- ]
- },
- {
- "teal": 280,
- "source": 559,
- "pc": [
- 469
- ]
- },
- {
- "teal": 283,
- "source": 558,
- "pc": [
- 470
- ]
- },
- {
- "teal": 284,
- "source": 558,
- "pc": [
- 471
- ]
- },
- {
- "teal": 287,
- "source": 558,
- "pc": [
- 472,
- 473,
- 474,
- 475,
- 476,
- 477
- ]
- },
- {
- "teal": 288,
- "source": 558,
- "pc": [
- 478,
- 479,
- 480
- ]
- },
- {
- "teal": 289,
- "source": 558,
- "pc": [
- 481,
- 482,
- 483,
- 484
- ]
- },
- {
- "teal": 292,
- "source": 558,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 485
- ]
- },
- {
- "teal": 295,
- "source": 558,
- "pc": [
- 486,
- 487,
- 488,
- 489,
- 490,
- 491
- ]
- },
- {
- "teal": 296,
- "source": 558,
- "pc": [
- 492,
- 493,
- 494
- ]
- },
- {
- "teal": 297,
- "source": 558,
- "pc": [
- 495,
- 496,
- 497,
- 498
- ]
- },
- {
- "teal": 300,
- "source": 558,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 499
- ]
- },
- {
- "teal": 303,
- "source": 558,
- "pc": [
- 500,
- 501,
- 502
- ]
- },
- {
- "teal": 304,
- "source": 558,
- "pc": [
- 503,
- 504
- ]
- },
- {
- "teal": 305,
- "source": 558,
- "pc": [
- 505,
- 506
- ]
- },
- {
- "teal": 306,
- "source": 558,
- "pc": [
- 507
- ]
- },
- {
- "teal": 307,
- "source": 558,
- "pc": [
- 508,
- 509
- ]
- },
- {
- "teal": 308,
- "source": 558,
- "pc": [
- 510,
- 511
- ]
- },
- {
- "teal": 309,
- "source": 558,
- "pc": [
- 512
- ]
- },
- {
- "teal": 312,
- "source": 558,
- "pc": [
- 513,
- 514,
- 515
- ]
- },
- {
- "teal": 313,
- "source": 558,
- "pc": [
- 516,
- 517
- ]
- },
- {
- "teal": 314,
- "source": 558,
- "pc": [
- 518,
- 519
- ]
- },
- {
- "teal": 315,
- "source": 558,
- "pc": [
- 520
- ]
- },
- {
- "teal": 316,
- "source": 558,
- "pc": [
- 521,
- 522
- ]
- },
- {
- "teal": 317,
- "source": 558,
- "pc": [
- 523,
- 524
- ]
- },
- {
- "teal": 318,
- "source": 558,
- "pc": [
- 525
- ]
- },
- {
- "teal": 319,
- "source": 558,
- "pc": [
- 526
- ]
- },
- {
- "teal": 320,
- "source": 558,
- "pc": [
- 527,
- 528
- ]
- },
- {
- "teal": 321,
- "source": 558,
- "pc": [
- 529
- ]
- },
- {
- "teal": 322,
- "source": 558,
- "pc": [
- 530
- ]
- },
- {
- "teal": 323,
- "source": 558,
- "pc": [
- 531
- ]
- },
- {
- "teal": 324,
- "source": 558,
- "pc": [
- 532,
- 533,
- 534
- ]
- },
- {
- "teal": 325,
- "source": 558,
- "pc": [
- 535,
- 536
- ]
- },
- {
- "teal": 326,
- "source": 558,
- "pc": [
- 537,
- 538
- ]
- },
- {
- "teal": 327,
- "source": 558,
- "pc": [
- 539
- ]
- },
- {
- "teal": 328,
- "source": 558,
- "pc": [
- 540
- ]
- },
- {
- "teal": 329,
- "source": 558,
- "pc": [
- 541,
- 542
- ]
- },
- {
- "teal": 330,
- "source": 558,
- "pc": [
- 543,
- 544
- ]
- },
- {
- "teal": 331,
- "source": 558,
- "pc": [
- 545,
- 546
- ]
- },
- {
- "teal": 332,
- "source": 558,
- "pc": [
- 547,
- 548
- ]
- },
- {
- "teal": 333,
- "source": 558,
- "pc": [
- 549
- ]
- },
- {
- "teal": 336,
- "source": 558,
- "pc": [
- 550,
- 551,
- 552
- ]
- },
- {
- "teal": 337,
- "source": 558,
- "pc": [
- 553,
- 554
- ]
- },
- {
- "teal": 338,
- "source": 558,
- "pc": [
- 555,
- 556
- ]
- },
- {
- "teal": 339,
- "source": 558,
- "pc": [
- 557,
- 558
- ]
- },
- {
- "teal": 340,
- "source": 558,
- "pc": [
- 559
- ]
- },
- {
- "teal": 341,
- "source": 558,
- "pc": [
- 560,
- 561
- ]
- },
- {
- "teal": 342,
- "source": 558,
- "pc": [
- 562,
- 563,
- 564
- ]
- },
- {
- "teal": 343,
- "source": 558,
- "pc": [
- 565
- ]
- },
- {
- "teal": 344,
- "source": 558,
- "pc": [
- 566,
- 567,
- 568
- ]
- },
- {
- "teal": 347,
- "source": 558,
- "pc": [
- 569
- ]
- },
- {
- "teal": 348,
- "source": 558,
- "pc": [
- 570
- ]
- },
- {
- "teal": 351,
- "source": 558,
- "pc": [
- 571
- ]
- },
- {
- "teal": 352,
- "source": 558,
- "pc": [
- 572,
- 573,
- 574
- ]
- },
- {
- "teal": 353,
- "source": 558,
- "pc": [
- 575,
- 576
- ]
- },
- {
- "teal": 354,
- "source": 558,
- "pc": [
- 577
- ]
- },
- {
- "teal": 355,
- "source": 558,
- "pc": [
- 578,
- 579
- ]
- },
- {
- "teal": 356,
- "source": 558,
- "pc": [
- 580
- ]
- },
- {
- "teal": 357,
- "source": 558,
- "pc": [
- 581
- ]
- },
- {
- "teal": 358,
- "source": 558,
- "pc": [
- 582,
- 583
- ]
- },
- {
- "teal": 359,
- "source": 558,
- "pc": [
- 584
- ]
- },
- {
- "teal": 362,
- "source": 558,
- "pc": [
- 585,
- 586
- ]
- },
- {
- "teal": 363,
- "source": 558,
- "pc": [
- 587
- ]
- },
- {
- "teal": 364,
- "source": 558,
- "pc": [
- 588,
- 589
- ]
- },
- {
- "teal": 365,
- "source": 558,
- "pc": [
- 590
- ]
- },
- {
- "teal": 366,
- "source": 558,
- "pc": [
- 591,
- 592,
- 593
- ]
- },
- {
- "teal": 367,
- "source": 558,
- "pc": [
- 594,
- 595
- ]
- },
- {
- "teal": 368,
- "source": 558,
- "pc": [
- 596
- ]
- },
- {
- "teal": 369,
- "source": 558,
- "pc": [
- 597,
- 598
- ]
- },
- {
- "teal": 370,
- "source": 558,
- "pc": [
- 599
- ]
- },
- {
- "teal": 371,
- "source": 558,
- "pc": [
- 600,
- 601
- ]
- },
- {
- "teal": 372,
- "source": 558,
- "pc": [
- 602,
- 603,
- 604
- ]
- },
- {
- "teal": 375,
- "source": 558,
- "pc": [
- 605,
- 606
- ]
- },
- {
- "teal": 376,
- "source": 558,
- "pc": [
- 607,
- 608
- ]
- },
- {
- "teal": 377,
- "source": 558,
- "pc": [
- 609
- ]
- },
- {
- "teal": 378,
- "source": 558,
- "pc": [
- 610
- ]
- },
- {
- "teal": 379,
- "source": 558,
- "pc": [
- 611,
- 612
- ]
- },
- {
- "teal": 382,
- "source": 558,
- "pc": [
- 613
- ]
- },
- {
- "teal": 383,
- "source": 558,
- "pc": [
- 614,
- 615
- ]
- },
- {
- "teal": 384,
- "source": 558,
- "pc": [
- 616
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 558,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 558,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 558,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 558,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 558,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 558,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 558,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 558,
+ "pc": [
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 558,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 45
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 559,
+ "pc": [
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 559,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 559,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 559,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 559,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 559,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 559,
+ "pc": [
+ 59,
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 559,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 560,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 560,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 560,
+ "pc": [
+ 65,
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 560,
+ "pc": [
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 560,
+ "pc": [
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 560,
+ "pc": [
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 560,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 560,
+ "pc": [
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 560,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 560,
+ "pc": [
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 560,
+ "pc": [
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 560,
+ "pc": [
+ 103,
+ 104,
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 560,
+ "pc": [
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 560,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 560,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 560,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 562,
+ "pc": [
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 562,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 562,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 562,
+ "pc": [
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 562,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 562,
+ "pc": [
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 563,
+ "pc": [
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 563,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 563,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 563,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 563,
+ "pc": [
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 563,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 563,
+ "pc": [
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 563,
+ "pc": [
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 563,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 563,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 563,
+ "pc": [
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 563,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 563,
+ "pc": [
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 563,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 563,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 563,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 563,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 563,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 563,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 563,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 563,
+ "pc": [
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 563,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 563,
+ "pc": [
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 563,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 563,
+ "pc": [
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 563,
+ "pc": [
+ 171
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 563,
+ "pc": [
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 563,
+ "pc": [
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 563,
+ "pc": [
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 563,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 563,
+ "pc": [
+ 180
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 563,
+ "pc": [
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 563,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 563,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 563,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 563,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 563,
+ "pc": [
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 563,
+ "pc": [
+ 189,
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 563,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 563,
+ "pc": [
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 563,
+ "pc": [
+ 196
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 563,
+ "pc": [
+ 197
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 563,
+ "pc": [
+ 198,
+ 199,
+ 200
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 563,
+ "pc": [
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 563,
+ "pc": [
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 563,
+ "pc": [
+ 205,
+ 206
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 563,
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 563,
+ "pc": [
+ 208,
+ 209,
+ 210
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 563,
+ "pc": [
+ 211,
+ 212
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 563,
+ "pc": [
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 563,
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 563,
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 563,
+ "pc": [
+ 217,
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 563,
+ "pc": [
+ 220,
+ 221
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 563,
+ "pc": [
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 564,
+ "pc": [
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 564,
+ "pc": [
+ 226,
+ 227
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 564,
+ "pc": [
+ 228,
+ 229
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 564,
+ "pc": [
+ 230
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 564,
+ "pc": [
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 564,
+ "pc": [
+ 233,
+ 234
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 564,
+ "pc": [
+ 235,
+ 236
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 564,
+ "pc": [
+ 237,
+ 238
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 564,
+ "pc": [
+ 239
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 564,
+ "pc": [
+ 240
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 564,
+ "pc": [
+ 241,
+ 242
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 564,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 564,
+ "pc": [
+ 244,
+ 245
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 564,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 564,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 564,
+ "pc": [
+ 248
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 564,
+ "pc": [
+ 249
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 564,
+ "pc": [
+ 250
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 564,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 564,
+ "pc": [
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 564,
+ "pc": [
+ 254,
+ 255
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 564,
+ "pc": [
+ 256
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 564,
+ "pc": [
+ 257,
+ 258
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 564,
+ "pc": [
+ 259
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 564,
+ "pc": [
+ 260,
+ 261,
+ 262,
+ 263,
+ 264,
+ 265,
+ 266,
+ 267,
+ 268,
+ 269,
+ 270,
+ 271,
+ 272,
+ 273,
+ 274,
+ 275
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 564,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 564,
+ "pc": [
+ 277,
+ 278
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 564,
+ "pc": [
+ 279,
+ 280
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 564,
+ "pc": [
+ 281,
+ 282
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 564,
+ "pc": [
+ 283,
+ 284
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 564,
+ "pc": [
+ 285
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 564,
+ "pc": [
+ 286,
+ 287
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 564,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 564,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 564,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 564,
+ "pc": [
+ 291
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 564,
+ "pc": [
+ 292,
+ 293
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 564,
+ "pc": [
+ 294,
+ 295,
+ 296
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 564,
+ "pc": [
+ 297,
+ 298
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 564,
+ "pc": [
+ 299,
+ 300
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 564,
+ "pc": [
+ 301
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 564,
+ "pc": [
+ 302
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 564,
+ "pc": [
+ 303,
+ 304,
+ 305
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 564,
+ "pc": [
+ 306,
+ 307
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 564,
+ "pc": [
+ 308,
+ 309
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 564,
+ "pc": [
+ 310,
+ 311
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 564,
+ "pc": [
+ 312
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 564,
+ "pc": [
+ 313,
+ 314,
+ 315
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 564,
+ "pc": [
+ 316,
+ 317
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 564,
+ "pc": [
+ 318,
+ 319
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 565,
+ "pc": [
+ 320,
+ 321
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 565,
+ "pc": [
+ 322,
+ 323
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 565,
+ "pc": [
+ 324,
+ 325
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 565,
+ "pc": [
+ 326
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 565,
+ "pc": [
+ 327,
+ 328
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 565,
+ "pc": [
+ 329,
+ 330
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 565,
+ "pc": [
+ 331,
+ 332
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 565,
+ "pc": [
+ 333,
+ 334
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 565,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 565,
+ "pc": [
+ 336
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 565,
+ "pc": [
+ 337,
+ 338
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 565,
+ "pc": [
+ 339
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 565,
+ "pc": [
+ 340,
+ 341
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 565,
+ "pc": [
+ 342
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 565,
+ "pc": [
+ 343
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 565,
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 565,
+ "pc": [
+ 345
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 565,
+ "pc": [
+ 346
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 565,
+ "pc": [
+ 347
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 565,
+ "pc": [
+ 348,
+ 349
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 565,
+ "pc": [
+ 350,
+ 351
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 565,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 565,
+ "pc": [
+ 353,
+ 354
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 565,
+ "pc": [
+ 355
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 565,
+ "pc": [
+ 356,
+ 357,
+ 358,
+ 359,
+ 360,
+ 361,
+ 362,
+ 363
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 565,
+ "pc": [
+ 364
+ ]
+ },
+ {
+ "teal": 211,
+ "source": 565,
+ "pc": [
+ 365,
+ 366
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 565,
+ "pc": [
+ 367,
+ 368
+ ]
+ },
+ {
+ "teal": 213,
+ "source": 565,
+ "pc": [
+ 369,
+ 370
+ ]
+ },
+ {
+ "teal": 214,
+ "source": 565,
+ "pc": [
+ 371,
+ 372
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 565,
+ "pc": [
+ 373
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 565,
+ "pc": [
+ 374,
+ 375
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 565,
+ "pc": [
+ 376
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 565,
+ "pc": [
+ 377
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 565,
+ "pc": [
+ 378
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 565,
+ "pc": [
+ 379
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 565,
+ "pc": [
+ 380,
+ 381
+ ]
+ },
+ {
+ "teal": 222,
+ "source": 565,
+ "pc": [
+ 382,
+ 383,
+ 384
+ ]
+ },
+ {
+ "teal": 223,
+ "source": 565,
+ "pc": [
+ 385,
+ 386
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 565,
+ "pc": [
+ 387,
+ 388
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 565,
+ "pc": [
+ 389
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 565,
+ "pc": [
+ 390
+ ]
+ },
+ {
+ "teal": 227,
+ "source": 565,
+ "pc": [
+ 391,
+ 392,
+ 393
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 565,
+ "pc": [
+ 394,
+ 395
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 565,
+ "pc": [
+ 396,
+ 397
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 566,
+ "pc": [
+ 398,
+ 399
+ ]
+ },
+ {
+ "teal": 234,
+ "source": 566,
+ "pc": [
+ 400,
+ 401
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 566,
+ "pc": [
+ 402,
+ 403
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 566,
+ "pc": [
+ 404
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 566,
+ "pc": [
+ 405,
+ 406
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 566,
+ "pc": [
+ 407,
+ 408
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 566,
+ "pc": [
+ 409,
+ 410
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 566,
+ "pc": [
+ 411,
+ 412
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 566,
+ "pc": [
+ 413
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 566,
+ "pc": [
+ 414
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 566,
+ "pc": [
+ 415,
+ 416
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 566,
+ "pc": [
+ 417
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 566,
+ "pc": [
+ 418,
+ 419
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 566,
+ "pc": [
+ 420
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 566,
+ "pc": [
+ 421
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 566,
+ "pc": [
+ 422
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 566,
+ "pc": [
+ 423
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 566,
+ "pc": [
+ 424
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 566,
+ "pc": [
+ 425
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 566,
+ "pc": [
+ 426,
+ 427
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 566,
+ "pc": [
+ 428,
+ 429
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 566,
+ "pc": [
+ 430
+ ]
+ },
+ {
+ "teal": 255,
+ "source": 566,
+ "pc": [
+ 431,
+ 432
+ ]
+ },
+ {
+ "teal": 256,
+ "source": 566,
+ "pc": [
+ 433
+ ]
+ },
+ {
+ "teal": 257,
+ "source": 566,
+ "pc": [
+ 434,
+ 435,
+ 436,
+ 437,
+ 438,
+ 439
+ ]
+ },
+ {
+ "teal": 258,
+ "source": 566,
+ "pc": [
+ 440
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 566,
+ "pc": [
+ 441,
+ 442
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 566,
+ "pc": [
+ 443,
+ 444
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 566,
+ "pc": [
+ 445,
+ 446
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 566,
+ "pc": [
+ 447,
+ 448
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 566,
+ "pc": [
+ 449
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 566,
+ "pc": [
+ 450,
+ 451
+ ]
+ },
+ {
+ "teal": 265,
+ "source": 566,
+ "pc": [
+ 452
+ ]
+ },
+ {
+ "teal": 266,
+ "source": 566,
+ "pc": [
+ 453
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 566,
+ "pc": [
+ 454
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 566,
+ "pc": [
+ 455
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 566,
+ "pc": [
+ 456,
+ 457
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 566,
+ "pc": [
+ 458,
+ 459,
+ 460
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 566,
+ "pc": [
+ 461,
+ 462
+ ]
+ },
+ {
+ "teal": 272,
+ "source": 566,
+ "pc": [
+ 463,
+ 464
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 568,
+ "pc": [
+ 465,
+ 466
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 559,
+ "pc": [
+ 467,
+ 468
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 559,
+ "pc": [
+ 469
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 558,
+ "pc": [
+ 470
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 558,
+ "pc": [
+ 471
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 558,
+ "pc": [
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 558,
+ "pc": [
+ 478,
+ 479,
+ 480
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 558,
+ "pc": [
+ 481,
+ 482,
+ 483,
+ 484
+ ]
+ },
+ {
+ "teal": 292,
+ "source": 558,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 485
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 558,
+ "pc": [
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 558,
+ "pc": [
+ 492,
+ 493,
+ 494
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 558,
+ "pc": [
+ 495,
+ 496,
+ 497,
+ 498
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 558,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 499
+ ]
+ },
+ {
+ "teal": 303,
+ "source": 558,
+ "pc": [
+ 500,
+ 501,
+ 502
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 558,
+ "pc": [
+ 503,
+ 504
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 558,
+ "pc": [
+ 505,
+ 506
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 558,
+ "pc": [
+ 507
+ ]
+ },
+ {
+ "teal": 307,
+ "source": 558,
+ "pc": [
+ 508,
+ 509
+ ]
+ },
+ {
+ "teal": 308,
+ "source": 558,
+ "pc": [
+ 510,
+ 511
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 558,
+ "pc": [
+ 512
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 558,
+ "pc": [
+ 513,
+ 514,
+ 515
+ ]
+ },
+ {
+ "teal": 313,
+ "source": 558,
+ "pc": [
+ 516,
+ 517
+ ]
+ },
+ {
+ "teal": 314,
+ "source": 558,
+ "pc": [
+ 518,
+ 519
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 558,
+ "pc": [
+ 520
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 558,
+ "pc": [
+ 521,
+ 522
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 558,
+ "pc": [
+ 523,
+ 524
+ ]
+ },
+ {
+ "teal": 318,
+ "source": 558,
+ "pc": [
+ 525
+ ]
+ },
+ {
+ "teal": 319,
+ "source": 558,
+ "pc": [
+ 526
+ ]
+ },
+ {
+ "teal": 320,
+ "source": 558,
+ "pc": [
+ 527,
+ 528
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 558,
+ "pc": [
+ 529
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 558,
+ "pc": [
+ 530
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 558,
+ "pc": [
+ 531
+ ]
+ },
+ {
+ "teal": 324,
+ "source": 558,
+ "pc": [
+ 532,
+ 533,
+ 534
+ ]
+ },
+ {
+ "teal": 325,
+ "source": 558,
+ "pc": [
+ 535,
+ 536
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 558,
+ "pc": [
+ 537,
+ 538
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 558,
+ "pc": [
+ 539
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 558,
+ "pc": [
+ 540
+ ]
+ },
+ {
+ "teal": 329,
+ "source": 558,
+ "pc": [
+ 541,
+ 542
+ ]
+ },
+ {
+ "teal": 330,
+ "source": 558,
+ "pc": [
+ 543,
+ 544
+ ]
+ },
+ {
+ "teal": 331,
+ "source": 558,
+ "pc": [
+ 545,
+ 546
+ ]
+ },
+ {
+ "teal": 332,
+ "source": 558,
+ "pc": [
+ 547,
+ 548
+ ]
+ },
+ {
+ "teal": 333,
+ "source": 558,
+ "pc": [
+ 549
+ ]
+ },
+ {
+ "teal": 336,
+ "source": 558,
+ "pc": [
+ 550,
+ 551,
+ 552
+ ]
+ },
+ {
+ "teal": 337,
+ "source": 558,
+ "pc": [
+ 553,
+ 554
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 558,
+ "pc": [
+ 555,
+ 556
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 558,
+ "pc": [
+ 557,
+ 558
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 558,
+ "pc": [
+ 559
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 558,
+ "pc": [
+ 560,
+ 561
+ ]
+ },
+ {
+ "teal": 342,
+ "source": 558,
+ "pc": [
+ 562,
+ 563,
+ 564
+ ]
+ },
+ {
+ "teal": 343,
+ "source": 558,
+ "pc": [
+ 565
+ ]
+ },
+ {
+ "teal": 344,
+ "source": 558,
+ "pc": [
+ 566,
+ 567,
+ 568
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 558,
+ "pc": [
+ 569
+ ]
+ },
+ {
+ "teal": 348,
+ "source": 558,
+ "pc": [
+ 570
+ ]
+ },
+ {
+ "teal": 351,
+ "source": 558,
+ "pc": [
+ 571
+ ]
+ },
+ {
+ "teal": 352,
+ "source": 558,
+ "pc": [
+ 572,
+ 573,
+ 574
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 558,
+ "pc": [
+ 575,
+ 576
+ ]
+ },
+ {
+ "teal": 354,
+ "source": 558,
+ "pc": [
+ 577
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 558,
+ "pc": [
+ 578,
+ 579
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 558,
+ "pc": [
+ 580
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 558,
+ "pc": [
+ 581
+ ]
+ },
+ {
+ "teal": 358,
+ "source": 558,
+ "pc": [
+ 582,
+ 583
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 558,
+ "pc": [
+ 584
+ ]
+ },
+ {
+ "teal": 362,
+ "source": 558,
+ "pc": [
+ 585,
+ 586
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 558,
+ "pc": [
+ 587
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 558,
+ "pc": [
+ 588,
+ 589
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 558,
+ "pc": [
+ 590
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 558,
+ "pc": [
+ 591,
+ 592,
+ 593
+ ]
+ },
+ {
+ "teal": 367,
+ "source": 558,
+ "pc": [
+ 594,
+ 595
+ ]
+ },
+ {
+ "teal": 368,
+ "source": 558,
+ "pc": [
+ 596
+ ]
+ },
+ {
+ "teal": 369,
+ "source": 558,
+ "pc": [
+ 597,
+ 598
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 558,
+ "pc": [
+ 599
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 558,
+ "pc": [
+ 600,
+ 601
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 558,
+ "pc": [
+ 602,
+ 603,
+ 604
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 558,
+ "pc": [
+ 605,
+ 606
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 558,
+ "pc": [
+ 607,
+ 608
+ ]
+ },
+ {
+ "teal": 377,
+ "source": 558,
+ "pc": [
+ 609
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 558,
+ "pc": [
+ 610
+ ]
+ },
+ {
+ "teal": 379,
+ "source": 558,
+ "pc": [
+ 611,
+ 612
+ ]
+ },
+ {
+ "teal": 382,
+ "source": 558,
+ "pc": [
+ 613
+ ]
+ },
+ {
+ "teal": 383,
+ "source": 558,
+ "pc": [
+ 614,
+ 615
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 558,
+ "pc": [
+ 616
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCiphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZVN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVTdHJpbmdJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYwCgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCAnSGk/JywgWzZdLCBbNV1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA5IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTA1CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2MgoJLy8gYVswXSA9IDk5IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWJ5dGUgMHg2MwoJcmVwbGFjZTIgMAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NjMKCS8vIGFbMV0gPSBbMTAsIDExXQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDEKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDIgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY0CgkvLyBhWzJdID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAzCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2NQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY2CgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY4CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCiphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZVN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVTdHJpbmdJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYwCgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCAnSGk/JywgWzZdLCBbNV1dCglieXRlIDB4IC8vIGluaXRpYWwgaGVhZAoJYnl0ZSAweCAvLyBpbml0aWFsIHRhaWwKCWJ5dGUgMHgwMDA5IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGUgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglieXRlIDB4MDAwMTA1CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2MgoJLy8gYVswXSA9IDk5IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWJ5dGUgMHg2MwoJcmVwbGFjZTIgMAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NjMKCS8vIGFbMV0gPSBbMTAsIDExXQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDEKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDIgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY0CgkvLyBhWzJdID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAzCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2NQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgNQoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnQgMiAvLyBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnQgMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZSAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludCAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY2CgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA3CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAxIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY4CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.approval.teal b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.approval.teal
index 51d93ae18..23b067c2d 100644
--- a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.approval.teal
+++ b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc32.json b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc32.json
index 57d5e2f7e..c6333c692 100644
--- a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc32.json
+++ b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCgljYWxsc3ViIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCk6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQp1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTc0CgkvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0gPSBbWzFdLCBbMl0sIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEwMDAxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDAzCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NgoJLy8gYVswXSA9IFs0LCA1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDIgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMDAwNDAwMDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzcKCS8vIGFbMV0gPSBbNiwgN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjAwMDYwMDA3CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzgKCS8vIGFbMl0gPSBbOCwgOV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjAwMDgwMDA5CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCgljYWxsc3ViIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCk6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQp1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTc0CgkvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0gPSBbWzFdLCBbMl0sIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEwMDAxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDAzCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NgoJLy8gYVswXSA9IFs0LCA1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDIgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMDAwNDAwMDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzcKCS8vIGFbMV0gPSBbNiwgN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjAwMDYwMDA3CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzgKCS8vIGFbMl0gPSBbOCwgOV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjAwMDgwMDA5CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc56_draft.json
index 2c96c1dc6..74de1df95 100644
--- a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc56_draft.json
+++ b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc56_draft.json
@@ -60,1911 +60,1914 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 572,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9
- ]
- },
- {
- "teal": 13,
- "source": 572,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 14,
- "source": 572,
- "pc": [
- 12
- ]
- },
- {
- "teal": 15,
- "source": 572,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 16,
- "source": 572,
- "pc": [
- 15
- ]
- },
- {
- "teal": 17,
- "source": 572,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 18,
- "source": 572,
- "pc": [
- 18
- ]
- },
- {
- "teal": 19,
- "source": 572,
- "pc": [
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44
- ]
- },
- {
- "teal": 23,
- "source": 572,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 45
- ]
- },
- {
- "teal": 28,
- "source": 573,
- "pc": [
- 46,
- 47,
- 48,
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 31,
- "source": 573,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 32,
- "source": 573,
- "pc": [
- 55
- ]
- },
- {
- "teal": 33,
- "source": 573,
- "pc": [
- 56
- ]
- },
- {
- "teal": 34,
- "source": 573,
- "pc": [
- 57
- ]
- },
- {
- "teal": 35,
- "source": 573,
- "pc": [
- 58
- ]
- },
- {
- "teal": 39,
- "source": 573,
- "pc": [
- 59,
- 60,
- 61
- ]
- },
- {
- "teal": 42,
- "source": 573,
- "pc": [
- 62
- ]
- },
- {
- "teal": 46,
- "source": 574,
- "pc": [
- 63
- ]
- },
- {
- "teal": 47,
- "source": 574,
- "pc": [
- 64
- ]
- },
- {
- "teal": 48,
- "source": 574,
- "pc": [
- 65,
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 49,
- "source": 574,
- "pc": [
- 69,
- 70,
- 71,
- 72,
- 73,
- 74
- ]
- },
- {
- "teal": 50,
- "source": 574,
- "pc": [
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 51,
- "source": 574,
- "pc": [
- 78,
- 79,
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 52,
- "source": 574,
- "pc": [
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 53,
- "source": 574,
- "pc": [
- 87,
- 88,
- 89,
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 54,
- "source": 574,
- "pc": [
- 93,
- 94,
- 95
- ]
- },
- {
- "teal": 55,
- "source": 574,
- "pc": [
- 96
- ]
- },
- {
- "teal": 56,
- "source": 574,
- "pc": [
- 97
- ]
- },
- {
- "teal": 57,
- "source": 574,
- "pc": [
- 98,
- 99
- ]
- },
- {
- "teal": 61,
- "source": 576,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 62,
- "source": 576,
- "pc": [
- 102,
- 103
- ]
- },
- {
- "teal": 63,
- "source": 576,
- "pc": [
- 104
- ]
- },
- {
- "teal": 64,
- "source": 576,
- "pc": [
- 105
- ]
- },
- {
- "teal": 65,
- "source": 576,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 66,
- "source": 576,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 67,
- "source": 576,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 68,
- "source": 576,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 69,
- "source": 576,
- "pc": [
- 114
- ]
- },
- {
- "teal": 70,
- "source": 576,
- "pc": [
- 115
- ]
- },
- {
- "teal": 71,
- "source": 576,
- "pc": [
- 116,
- 117
- ]
- },
- {
- "teal": 72,
- "source": 576,
- "pc": [
- 118
- ]
- },
- {
- "teal": 73,
- "source": 576,
- "pc": [
- 119,
- 120
- ]
- },
- {
- "teal": 74,
- "source": 576,
- "pc": [
- 121
- ]
- },
- {
- "teal": 75,
- "source": 576,
- "pc": [
- 122
- ]
- },
- {
- "teal": 76,
- "source": 576,
- "pc": [
- 123
- ]
- },
- {
- "teal": 77,
- "source": 576,
- "pc": [
- 124
- ]
- },
- {
- "teal": 78,
- "source": 576,
- "pc": [
- 125
- ]
- },
- {
- "teal": 79,
- "source": 576,
- "pc": [
- 126
- ]
- },
- {
- "teal": 80,
- "source": 576,
- "pc": [
- 127,
- 128
- ]
- },
- {
- "teal": 81,
- "source": 576,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 82,
- "source": 576,
- "pc": [
- 131
- ]
- },
- {
- "teal": 83,
- "source": 576,
- "pc": [
- 132,
- 133
- ]
- },
- {
- "teal": 84,
- "source": 576,
- "pc": [
- 134
- ]
- },
- {
- "teal": 85,
- "source": 576,
- "pc": [
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 86,
- "source": 576,
- "pc": [
- 143
- ]
- },
- {
- "teal": 87,
- "source": 576,
- "pc": [
- 144,
- 145
- ]
- },
- {
- "teal": 88,
- "source": 576,
- "pc": [
- 146,
- 147
- ]
- },
- {
- "teal": 89,
- "source": 576,
- "pc": [
- 148,
- 149
- ]
- },
- {
- "teal": 90,
- "source": 576,
- "pc": [
- 150,
- 151
- ]
- },
- {
- "teal": 91,
- "source": 576,
- "pc": [
- 152
- ]
- },
- {
- "teal": 92,
- "source": 576,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 93,
- "source": 576,
- "pc": [
- 155
- ]
- },
- {
- "teal": 94,
- "source": 576,
- "pc": [
- 156
- ]
- },
- {
- "teal": 95,
- "source": 576,
- "pc": [
- 157
- ]
- },
- {
- "teal": 96,
- "source": 576,
- "pc": [
- 158
- ]
- },
- {
- "teal": 97,
- "source": 576,
- "pc": [
- 159,
- 160
- ]
- },
- {
- "teal": 98,
- "source": 576,
- "pc": [
- 161,
- 162,
- 163
- ]
- },
- {
- "teal": 99,
- "source": 576,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 100,
- "source": 576,
- "pc": [
- 166,
- 167
- ]
- },
- {
- "teal": 101,
- "source": 576,
- "pc": [
- 168
- ]
- },
- {
- "teal": 102,
- "source": 576,
- "pc": [
- 169
- ]
- },
- {
- "teal": 103,
- "source": 576,
- "pc": [
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 104,
- "source": 576,
- "pc": [
- 173,
- 174
- ]
- },
- {
- "teal": 105,
- "source": 576,
- "pc": [
- 175,
- 176
- ]
- },
- {
- "teal": 106,
- "source": 576,
- "pc": [
- 177
- ]
- },
- {
- "teal": 107,
- "source": 576,
- "pc": [
- 178
- ]
- },
- {
- "teal": 108,
- "source": 576,
- "pc": [
- 179,
- 180,
- 181
- ]
- },
- {
- "teal": 109,
- "source": 576,
- "pc": [
- 182,
- 183
- ]
- },
- {
- "teal": 110,
- "source": 576,
- "pc": [
- 184,
- 185
- ]
- },
- {
- "teal": 114,
- "source": 577,
- "pc": [
- 186,
- 187
- ]
- },
- {
- "teal": 115,
- "source": 577,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 116,
- "source": 577,
- "pc": [
- 190
- ]
- },
- {
- "teal": 117,
- "source": 577,
- "pc": [
- 191
- ]
- },
- {
- "teal": 118,
- "source": 577,
- "pc": [
- 192,
- 193
- ]
- },
- {
- "teal": 119,
- "source": 577,
- "pc": [
- 194,
- 195
- ]
- },
- {
- "teal": 120,
- "source": 577,
- "pc": [
- 196,
- 197
- ]
- },
- {
- "teal": 121,
- "source": 577,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 122,
- "source": 577,
- "pc": [
- 200
- ]
- },
- {
- "teal": 123,
- "source": 577,
- "pc": [
- 201
- ]
- },
- {
- "teal": 124,
- "source": 577,
- "pc": [
- 202,
- 203
- ]
- },
- {
- "teal": 125,
- "source": 577,
- "pc": [
- 204
- ]
- },
- {
- "teal": 126,
- "source": 577,
- "pc": [
- 205,
- 206
- ]
- },
- {
- "teal": 127,
- "source": 577,
- "pc": [
- 207
- ]
- },
- {
- "teal": 128,
- "source": 577,
- "pc": [
- 208
- ]
- },
- {
- "teal": 129,
- "source": 577,
- "pc": [
- 209
- ]
- },
- {
- "teal": 130,
- "source": 577,
- "pc": [
- 210
- ]
- },
- {
- "teal": 131,
- "source": 577,
- "pc": [
- 211
- ]
- },
- {
- "teal": 132,
- "source": 577,
- "pc": [
- 212
- ]
- },
- {
- "teal": 133,
- "source": 577,
- "pc": [
- 213,
- 214
- ]
- },
- {
- "teal": 134,
- "source": 577,
- "pc": [
- 215,
- 216
- ]
- },
- {
- "teal": 135,
- "source": 577,
- "pc": [
- 217
- ]
- },
- {
- "teal": 136,
- "source": 577,
- "pc": [
- 218,
- 219
- ]
- },
- {
- "teal": 137,
- "source": 577,
- "pc": [
- 220
- ]
- },
- {
- "teal": 138,
- "source": 577,
- "pc": [
- 221,
- 222,
- 223,
- 224,
- 225,
- 226,
- 227,
- 228
- ]
- },
- {
- "teal": 139,
- "source": 577,
- "pc": [
- 229
- ]
- },
- {
- "teal": 140,
- "source": 577,
- "pc": [
- 230,
- 231
- ]
- },
- {
- "teal": 141,
- "source": 577,
- "pc": [
- 232,
- 233
- ]
- },
- {
- "teal": 142,
- "source": 577,
- "pc": [
- 234,
- 235
- ]
- },
- {
- "teal": 143,
- "source": 577,
- "pc": [
- 236,
- 237
- ]
- },
- {
- "teal": 144,
- "source": 577,
- "pc": [
- 238
- ]
- },
- {
- "teal": 145,
- "source": 577,
- "pc": [
- 239,
- 240
- ]
- },
- {
- "teal": 146,
- "source": 577,
- "pc": [
- 241
- ]
- },
- {
- "teal": 147,
- "source": 577,
- "pc": [
- 242
- ]
- },
- {
- "teal": 148,
- "source": 577,
- "pc": [
- 243
- ]
- },
- {
- "teal": 149,
- "source": 577,
- "pc": [
- 244
- ]
- },
- {
- "teal": 150,
- "source": 577,
- "pc": [
- 245,
- 246
- ]
- },
- {
- "teal": 151,
- "source": 577,
- "pc": [
- 247,
- 248,
- 249
- ]
- },
- {
- "teal": 152,
- "source": 577,
- "pc": [
- 250,
- 251
- ]
- },
- {
- "teal": 153,
- "source": 577,
- "pc": [
- 252,
- 253
- ]
- },
- {
- "teal": 154,
- "source": 577,
- "pc": [
- 254
- ]
- },
- {
- "teal": 155,
- "source": 577,
- "pc": [
- 255
- ]
- },
- {
- "teal": 156,
- "source": 577,
- "pc": [
- 256,
- 257,
- 258
- ]
- },
- {
- "teal": 157,
- "source": 577,
- "pc": [
- 259,
- 260
- ]
- },
- {
- "teal": 158,
- "source": 577,
- "pc": [
- 261,
- 262
- ]
- },
- {
- "teal": 162,
- "source": 578,
- "pc": [
- 263,
- 264
- ]
- },
- {
- "teal": 163,
- "source": 578,
- "pc": [
- 265,
- 266
- ]
- },
- {
- "teal": 164,
- "source": 578,
- "pc": [
- 267
- ]
- },
- {
- "teal": 165,
- "source": 578,
- "pc": [
- 268
- ]
- },
- {
- "teal": 166,
- "source": 578,
- "pc": [
- 269,
- 270
- ]
- },
- {
- "teal": 167,
- "source": 578,
- "pc": [
- 271,
- 272
- ]
- },
- {
- "teal": 168,
- "source": 578,
- "pc": [
- 273,
- 274
- ]
- },
- {
- "teal": 169,
- "source": 578,
- "pc": [
- 275,
- 276
- ]
- },
- {
- "teal": 170,
- "source": 578,
- "pc": [
- 277
- ]
- },
- {
- "teal": 171,
- "source": 578,
- "pc": [
- 278
- ]
- },
- {
- "teal": 172,
- "source": 578,
- "pc": [
- 279,
- 280
- ]
- },
- {
- "teal": 173,
- "source": 578,
- "pc": [
- 281
- ]
- },
- {
- "teal": 174,
- "source": 578,
- "pc": [
- 282,
- 283
- ]
- },
- {
- "teal": 175,
- "source": 578,
- "pc": [
- 284
- ]
- },
- {
- "teal": 176,
- "source": 578,
- "pc": [
- 285
- ]
- },
- {
- "teal": 177,
- "source": 578,
- "pc": [
- 286
- ]
- },
- {
- "teal": 178,
- "source": 578,
- "pc": [
- 287
- ]
- },
- {
- "teal": 179,
- "source": 578,
- "pc": [
- 288
- ]
- },
- {
- "teal": 180,
- "source": 578,
- "pc": [
- 289
- ]
- },
- {
- "teal": 181,
- "source": 578,
- "pc": [
- 290,
- 291
- ]
- },
- {
- "teal": 182,
- "source": 578,
- "pc": [
- 292,
- 293
- ]
- },
- {
- "teal": 183,
- "source": 578,
- "pc": [
- 294
- ]
- },
- {
- "teal": 184,
- "source": 578,
- "pc": [
- 295,
- 296
- ]
- },
- {
- "teal": 185,
- "source": 578,
- "pc": [
- 297
- ]
- },
- {
- "teal": 186,
- "source": 578,
- "pc": [
- 298,
- 299,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305
- ]
- },
- {
- "teal": 187,
- "source": 578,
- "pc": [
- 306
- ]
- },
- {
- "teal": 188,
- "source": 578,
- "pc": [
- 307,
- 308
- ]
- },
- {
- "teal": 189,
- "source": 578,
- "pc": [
- 309,
- 310
- ]
- },
- {
- "teal": 190,
- "source": 578,
- "pc": [
- 311,
- 312
- ]
- },
- {
- "teal": 191,
- "source": 578,
- "pc": [
- 313,
- 314
- ]
- },
- {
- "teal": 192,
- "source": 578,
- "pc": [
- 315
- ]
- },
- {
- "teal": 193,
- "source": 578,
- "pc": [
- 316,
- 317
- ]
- },
- {
- "teal": 194,
- "source": 578,
- "pc": [
- 318
- ]
- },
- {
- "teal": 195,
- "source": 578,
- "pc": [
- 319
- ]
- },
- {
- "teal": 196,
- "source": 578,
- "pc": [
- 320
- ]
- },
- {
- "teal": 197,
- "source": 578,
- "pc": [
- 321
- ]
- },
- {
- "teal": 198,
- "source": 578,
- "pc": [
- 322,
- 323
- ]
- },
- {
- "teal": 199,
- "source": 578,
- "pc": [
- 324,
- 325,
- 326
- ]
- },
- {
- "teal": 200,
- "source": 578,
- "pc": [
- 327,
- 328
- ]
- },
- {
- "teal": 201,
- "source": 578,
- "pc": [
- 329,
- 330
- ]
- },
- {
- "teal": 205,
- "source": 580,
- "pc": [
- 331,
- 332
- ]
- },
- {
- "teal": 208,
- "source": 573,
- "pc": [
- 333,
- 334
- ]
- },
- {
- "teal": 209,
- "source": 573,
- "pc": [
- 335
- ]
- },
- {
- "teal": 212,
- "source": 572,
- "pc": [
- 336
- ]
- },
- {
- "teal": 213,
- "source": 572,
- "pc": [
- 337
- ]
- },
- {
- "teal": 216,
- "source": 572,
- "pc": [
- 338,
- 339,
- 340,
- 341,
- 342,
- 343
- ]
- },
- {
- "teal": 217,
- "source": 572,
- "pc": [
- 344,
- 345,
- 346
- ]
- },
- {
- "teal": 218,
- "source": 572,
- "pc": [
- 347,
- 348,
- 349,
- 350
- ]
- },
- {
- "teal": 221,
- "source": 572,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 351
- ]
- },
- {
- "teal": 224,
- "source": 572,
- "pc": [
- 352,
- 353,
- 354,
- 355,
- 356,
- 357
- ]
- },
- {
- "teal": 225,
- "source": 572,
- "pc": [
- 358,
- 359,
- 360
- ]
- },
- {
- "teal": 226,
- "source": 572,
- "pc": [
- 361,
- 362,
- 363,
- 364
- ]
- },
- {
- "teal": 229,
- "source": 572,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 365
- ]
- },
- {
- "teal": 232,
- "source": 572,
- "pc": [
- 366,
- 367,
- 368
- ]
- },
- {
- "teal": 233,
- "source": 572,
- "pc": [
- 369,
- 370
- ]
- },
- {
- "teal": 234,
- "source": 572,
- "pc": [
- 371,
- 372
- ]
- },
- {
- "teal": 235,
- "source": 572,
- "pc": [
- 373
- ]
- },
- {
- "teal": 236,
- "source": 572,
- "pc": [
- 374,
- 375
- ]
- },
- {
- "teal": 237,
- "source": 572,
- "pc": [
- 376,
- 377
- ]
- },
- {
- "teal": 238,
- "source": 572,
- "pc": [
- 378
- ]
- },
- {
- "teal": 239,
- "source": 572,
- "pc": [
- 379
- ]
- },
- {
- "teal": 240,
- "source": 572,
- "pc": [
- 380,
- 381
- ]
- },
- {
- "teal": 241,
- "source": 572,
- "pc": [
- 382
- ]
- },
- {
- "teal": 242,
- "source": 572,
- "pc": [
- 383
- ]
- },
- {
- "teal": 243,
- "source": 572,
- "pc": [
- 384
- ]
- },
- {
- "teal": 244,
- "source": 572,
- "pc": [
- 385,
- 386,
- 387
- ]
- },
- {
- "teal": 245,
- "source": 572,
- "pc": [
- 388,
- 389
- ]
- },
- {
- "teal": 246,
- "source": 572,
- "pc": [
- 390,
- 391
- ]
- },
- {
- "teal": 247,
- "source": 572,
- "pc": [
- 392
- ]
- },
- {
- "teal": 248,
- "source": 572,
- "pc": [
- 393
- ]
- },
- {
- "teal": 249,
- "source": 572,
- "pc": [
- 394,
- 395
- ]
- },
- {
- "teal": 250,
- "source": 572,
- "pc": [
- 396,
- 397
- ]
- },
- {
- "teal": 251,
- "source": 572,
- "pc": [
- 398,
- 399
- ]
- },
- {
- "teal": 252,
- "source": 572,
- "pc": [
- 400,
- 401
- ]
- },
- {
- "teal": 253,
- "source": 572,
- "pc": [
- 402
- ]
- },
- {
- "teal": 256,
- "source": 572,
- "pc": [
- 403,
- 404,
- 405
- ]
- },
- {
- "teal": 257,
- "source": 572,
- "pc": [
- 406,
- 407
- ]
- },
- {
- "teal": 258,
- "source": 572,
- "pc": [
- 408,
- 409
- ]
- },
- {
- "teal": 259,
- "source": 572,
- "pc": [
- 410,
- 411
- ]
- },
- {
- "teal": 260,
- "source": 572,
- "pc": [
- 412
- ]
- },
- {
- "teal": 261,
- "source": 572,
- "pc": [
- 413,
- 414
- ]
- },
- {
- "teal": 262,
- "source": 572,
- "pc": [
- 415,
- 416,
- 417
- ]
- },
- {
- "teal": 263,
- "source": 572,
- "pc": [
- 418
- ]
- },
- {
- "teal": 264,
- "source": 572,
- "pc": [
- 419,
- 420,
- 421
- ]
- },
- {
- "teal": 267,
- "source": 572,
- "pc": [
- 422
- ]
- },
- {
- "teal": 268,
- "source": 572,
- "pc": [
- 423
- ]
- },
- {
- "teal": 271,
- "source": 572,
- "pc": [
- 424
- ]
- },
- {
- "teal": 272,
- "source": 572,
- "pc": [
- 425,
- 426,
- 427
- ]
- },
- {
- "teal": 273,
- "source": 572,
- "pc": [
- 428,
- 429
- ]
- },
- {
- "teal": 274,
- "source": 572,
- "pc": [
- 430
- ]
- },
- {
- "teal": 275,
- "source": 572,
- "pc": [
- 431,
- 432
- ]
- },
- {
- "teal": 276,
- "source": 572,
- "pc": [
- 433
- ]
- },
- {
- "teal": 277,
- "source": 572,
- "pc": [
- 434
- ]
- },
- {
- "teal": 278,
- "source": 572,
- "pc": [
- 435,
- 436
- ]
- },
- {
- "teal": 279,
- "source": 572,
- "pc": [
- 437
- ]
- },
- {
- "teal": 282,
- "source": 572,
- "pc": [
- 438,
- 439
- ]
- },
- {
- "teal": 283,
- "source": 572,
- "pc": [
- 440
- ]
- },
- {
- "teal": 284,
- "source": 572,
- "pc": [
- 441,
- 442
- ]
- },
- {
- "teal": 285,
- "source": 572,
- "pc": [
- 443
- ]
- },
- {
- "teal": 286,
- "source": 572,
- "pc": [
- 444,
- 445,
- 446
- ]
- },
- {
- "teal": 287,
- "source": 572,
- "pc": [
- 447,
- 448
- ]
- },
- {
- "teal": 288,
- "source": 572,
- "pc": [
- 449
- ]
- },
- {
- "teal": 289,
- "source": 572,
- "pc": [
- 450,
- 451
- ]
- },
- {
- "teal": 290,
- "source": 572,
- "pc": [
- 452
- ]
- },
- {
- "teal": 291,
- "source": 572,
- "pc": [
- 453,
- 454
- ]
- },
- {
- "teal": 292,
- "source": 572,
- "pc": [
- 455,
- 456,
- 457
- ]
- },
- {
- "teal": 295,
- "source": 572,
- "pc": [
- 458,
- 459
- ]
- },
- {
- "teal": 296,
- "source": 572,
- "pc": [
- 460,
- 461
- ]
- },
- {
- "teal": 297,
- "source": 572,
- "pc": [
- 462
- ]
- },
- {
- "teal": 298,
- "source": 572,
- "pc": [
- 463
- ]
- },
- {
- "teal": 299,
- "source": 572,
- "pc": [
- 464,
- 465
- ]
- },
- {
- "teal": 302,
- "source": 572,
- "pc": [
- 466
- ]
- },
- {
- "teal": 303,
- "source": 572,
- "pc": [
- 467,
- 468
- ]
- },
- {
- "teal": 304,
- "source": 572,
- "pc": [
- 469
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 572,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 572,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 572,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 572,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 572,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 572,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 572,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 572,
+ "pc": [
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 572,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 45
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 573,
+ "pc": [
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 573,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 573,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 573,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 573,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 573,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 573,
+ "pc": [
+ 59,
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 573,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 574,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 574,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 574,
+ "pc": [
+ 65,
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 574,
+ "pc": [
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 574,
+ "pc": [
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 574,
+ "pc": [
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 574,
+ "pc": [
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 574,
+ "pc": [
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 574,
+ "pc": [
+ 93,
+ 94,
+ 95
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 574,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 574,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 574,
+ "pc": [
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 576,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 576,
+ "pc": [
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 576,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 576,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 576,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 576,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 576,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 576,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 576,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 576,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 576,
+ "pc": [
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 576,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 576,
+ "pc": [
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 576,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 576,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 576,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 576,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 576,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 576,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 576,
+ "pc": [
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 576,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 576,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 576,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 576,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 576,
+ "pc": [
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 576,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 576,
+ "pc": [
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 576,
+ "pc": [
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 576,
+ "pc": [
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 576,
+ "pc": [
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 576,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 576,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 576,
+ "pc": [
+ 155
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 576,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 576,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 576,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 576,
+ "pc": [
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 576,
+ "pc": [
+ 161,
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 576,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 576,
+ "pc": [
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 576,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 576,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 576,
+ "pc": [
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 576,
+ "pc": [
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 576,
+ "pc": [
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 576,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 576,
+ "pc": [
+ 178
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 576,
+ "pc": [
+ 179,
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 576,
+ "pc": [
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 576,
+ "pc": [
+ 184,
+ 185
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 577,
+ "pc": [
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 577,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 577,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 577,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 577,
+ "pc": [
+ 192,
+ 193
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 577,
+ "pc": [
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 577,
+ "pc": [
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 577,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 577,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 577,
+ "pc": [
+ 201
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 577,
+ "pc": [
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 577,
+ "pc": [
+ 204
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 577,
+ "pc": [
+ 205,
+ 206
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 577,
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 577,
+ "pc": [
+ 208
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 577,
+ "pc": [
+ 209
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 577,
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 577,
+ "pc": [
+ 211
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 577,
+ "pc": [
+ 212
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 577,
+ "pc": [
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 577,
+ "pc": [
+ 215,
+ 216
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 577,
+ "pc": [
+ 217
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 577,
+ "pc": [
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 577,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 577,
+ "pc": [
+ 221,
+ 222,
+ 223,
+ 224,
+ 225,
+ 226,
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 577,
+ "pc": [
+ 229
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 577,
+ "pc": [
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 577,
+ "pc": [
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 577,
+ "pc": [
+ 234,
+ 235
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 577,
+ "pc": [
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 577,
+ "pc": [
+ 238
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 577,
+ "pc": [
+ 239,
+ 240
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 577,
+ "pc": [
+ 241
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 577,
+ "pc": [
+ 242
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 577,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 577,
+ "pc": [
+ 244
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 577,
+ "pc": [
+ 245,
+ 246
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 577,
+ "pc": [
+ 247,
+ 248,
+ 249
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 577,
+ "pc": [
+ 250,
+ 251
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 577,
+ "pc": [
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 577,
+ "pc": [
+ 254
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 577,
+ "pc": [
+ 255
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 577,
+ "pc": [
+ 256,
+ 257,
+ 258
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 577,
+ "pc": [
+ 259,
+ 260
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 577,
+ "pc": [
+ 261,
+ 262
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 578,
+ "pc": [
+ 263,
+ 264
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 578,
+ "pc": [
+ 265,
+ 266
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 578,
+ "pc": [
+ 267
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 578,
+ "pc": [
+ 268
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 578,
+ "pc": [
+ 269,
+ 270
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 578,
+ "pc": [
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 578,
+ "pc": [
+ 273,
+ 274
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 578,
+ "pc": [
+ 275,
+ 276
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 578,
+ "pc": [
+ 277
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 578,
+ "pc": [
+ 278
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 578,
+ "pc": [
+ 279,
+ 280
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 578,
+ "pc": [
+ 281
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 578,
+ "pc": [
+ 282,
+ 283
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 578,
+ "pc": [
+ 284
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 578,
+ "pc": [
+ 285
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 578,
+ "pc": [
+ 286
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 578,
+ "pc": [
+ 287
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 578,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 578,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 578,
+ "pc": [
+ 290,
+ 291
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 578,
+ "pc": [
+ 292,
+ 293
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 578,
+ "pc": [
+ 294
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 578,
+ "pc": [
+ 295,
+ 296
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 578,
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 578,
+ "pc": [
+ 298,
+ 299,
+ 300,
+ 301,
+ 302,
+ 303,
+ 304,
+ 305
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 578,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 578,
+ "pc": [
+ 307,
+ 308
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 578,
+ "pc": [
+ 309,
+ 310
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 578,
+ "pc": [
+ 311,
+ 312
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 578,
+ "pc": [
+ 313,
+ 314
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 578,
+ "pc": [
+ 315
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 578,
+ "pc": [
+ 316,
+ 317
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 578,
+ "pc": [
+ 318
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 578,
+ "pc": [
+ 319
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 578,
+ "pc": [
+ 320
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 578,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 578,
+ "pc": [
+ 322,
+ 323
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 578,
+ "pc": [
+ 324,
+ 325,
+ 326
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 578,
+ "pc": [
+ 327,
+ 328
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 578,
+ "pc": [
+ 329,
+ 330
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 580,
+ "pc": [
+ 331,
+ 332
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 573,
+ "pc": [
+ 333,
+ 334
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 573,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 572,
+ "pc": [
+ 336
+ ]
+ },
+ {
+ "teal": 213,
+ "source": 572,
+ "pc": [
+ 337
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 572,
+ "pc": [
+ 338,
+ 339,
+ 340,
+ 341,
+ 342,
+ 343
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 572,
+ "pc": [
+ 344,
+ 345,
+ 346
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 572,
+ "pc": [
+ 347,
+ 348,
+ 349,
+ 350
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 572,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 351
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 572,
+ "pc": [
+ 352,
+ 353,
+ 354,
+ 355,
+ 356,
+ 357
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 572,
+ "pc": [
+ 358,
+ 359,
+ 360
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 572,
+ "pc": [
+ 361,
+ 362,
+ 363,
+ 364
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 572,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 365
+ ]
+ },
+ {
+ "teal": 232,
+ "source": 572,
+ "pc": [
+ 366,
+ 367,
+ 368
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 572,
+ "pc": [
+ 369,
+ 370
+ ]
+ },
+ {
+ "teal": 234,
+ "source": 572,
+ "pc": [
+ 371,
+ 372
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 572,
+ "pc": [
+ 373
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 572,
+ "pc": [
+ 374,
+ 375
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 572,
+ "pc": [
+ 376,
+ 377
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 572,
+ "pc": [
+ 378
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 572,
+ "pc": [
+ 379
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 572,
+ "pc": [
+ 380,
+ 381
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 572,
+ "pc": [
+ 382
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 572,
+ "pc": [
+ 383
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 572,
+ "pc": [
+ 384
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 572,
+ "pc": [
+ 385,
+ 386,
+ 387
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 572,
+ "pc": [
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 572,
+ "pc": [
+ 390,
+ 391
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 572,
+ "pc": [
+ 392
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 572,
+ "pc": [
+ 393
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 572,
+ "pc": [
+ 394,
+ 395
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 572,
+ "pc": [
+ 396,
+ 397
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 572,
+ "pc": [
+ 398,
+ 399
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 572,
+ "pc": [
+ 400,
+ 401
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 572,
+ "pc": [
+ 402
+ ]
+ },
+ {
+ "teal": 256,
+ "source": 572,
+ "pc": [
+ 403,
+ 404,
+ 405
+ ]
+ },
+ {
+ "teal": 257,
+ "source": 572,
+ "pc": [
+ 406,
+ 407
+ ]
+ },
+ {
+ "teal": 258,
+ "source": 572,
+ "pc": [
+ 408,
+ 409
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 572,
+ "pc": [
+ 410,
+ 411
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 572,
+ "pc": [
+ 412
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 572,
+ "pc": [
+ 413,
+ 414
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 572,
+ "pc": [
+ 415,
+ 416,
+ 417
+ ]
+ },
+ {
+ "teal": 263,
+ "source": 572,
+ "pc": [
+ 418
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 572,
+ "pc": [
+ 419,
+ 420,
+ 421
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 572,
+ "pc": [
+ 422
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 572,
+ "pc": [
+ 423
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 572,
+ "pc": [
+ 424
+ ]
+ },
+ {
+ "teal": 272,
+ "source": 572,
+ "pc": [
+ 425,
+ 426,
+ 427
+ ]
+ },
+ {
+ "teal": 273,
+ "source": 572,
+ "pc": [
+ 428,
+ 429
+ ]
+ },
+ {
+ "teal": 274,
+ "source": 572,
+ "pc": [
+ 430
+ ]
+ },
+ {
+ "teal": 275,
+ "source": 572,
+ "pc": [
+ 431,
+ 432
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 572,
+ "pc": [
+ 433
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 572,
+ "pc": [
+ 434
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 572,
+ "pc": [
+ 435,
+ 436
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 572,
+ "pc": [
+ 437
+ ]
+ },
+ {
+ "teal": 282,
+ "source": 572,
+ "pc": [
+ 438,
+ 439
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 572,
+ "pc": [
+ 440
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 572,
+ "pc": [
+ 441,
+ 442
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 572,
+ "pc": [
+ 443
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 572,
+ "pc": [
+ 444,
+ 445,
+ 446
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 572,
+ "pc": [
+ 447,
+ 448
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 572,
+ "pc": [
+ 449
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 572,
+ "pc": [
+ 450,
+ 451
+ ]
+ },
+ {
+ "teal": 290,
+ "source": 572,
+ "pc": [
+ 452
+ ]
+ },
+ {
+ "teal": 291,
+ "source": 572,
+ "pc": [
+ 453,
+ 454
+ ]
+ },
+ {
+ "teal": 292,
+ "source": 572,
+ "pc": [
+ 455,
+ 456,
+ 457
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 572,
+ "pc": [
+ 458,
+ 459
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 572,
+ "pc": [
+ 460,
+ 461
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 572,
+ "pc": [
+ 462
+ ]
+ },
+ {
+ "teal": 298,
+ "source": 572,
+ "pc": [
+ 463
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 572,
+ "pc": [
+ 464,
+ 465
+ ]
+ },
+ {
+ "teal": 302,
+ "source": 572,
+ "pc": [
+ 466
+ ]
+ },
+ {
+ "teal": 303,
+ "source": 572,
+ "pc": [
+ 467,
+ 468
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 572,
+ "pc": [
+ 469
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCgljYWxsc3ViIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCk6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQp1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTc0CgkvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0gPSBbWzFdLCBbMl0sIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEwMDAxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDAzCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NgoJLy8gYVswXSA9IFs0LCA1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDIgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMDAwNDAwMDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzcKCS8vIGFbMV0gPSBbNiwgN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjAwMDYwMDA3CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzgKCS8vIGFbMl0gPSBbOCwgOV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjAwMDgwMDA5CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCgljYWxsc3ViIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCk6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQp1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTc0CgkvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0gPSBbWzFdLCBbMl0sIFszXV0KCWJ5dGUgMHggLy8gaW5pdGlhbCBoZWFkCglieXRlIDB4IC8vIGluaXRpYWwgdGFpbAoJYnl0ZSAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJYnl0ZSAweDAwMDEwMDAxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZSAweDAwMDEwMDAzCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NgoJLy8gYVswXSA9IFs0LCA1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50IDIgLy8gZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50IDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGUgMHgwMDAyMDAwNDAwMDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnQgMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzcKCS8vIGFbMV0gPSBbNiwgN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjAwMDYwMDA3CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50IDIKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzgKCS8vIGFbMl0gPSBbOCwgOV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCA0CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludCAyIC8vIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50IDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludCAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlIDB4MDAwMjAwMDgwMDA5CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludCAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50IDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/AD.approval.teal b/tests/contracts/artifacts/AD.approval.teal
index 958e67a5e..4a5b40b6c 100644
--- a/tests/contracts/artifacts/AD.approval.teal
+++ b/tests/contracts/artifacts/AD.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/AD.arc32.json b/tests/contracts/artifacts/AD.arc32.json
index 56953ea34..cb2f916b8 100644
--- a/tests/contracts/artifacts/AD.arc32.json
+++ b/tests/contracts/artifacts/AD.arc32.json
@@ -58,7 +58,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZCgpdm9pZAoqYWJpX3JvdXRlX2Q6CgkvLyBleGVjdXRlIGQoKXZvaWQKCWNhbGxzdWIgZAoJaW50IDEKCXJldHVybgoKLy8gZCgpOiB2b2lkCmQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0MAoJLy8gdGhpcy5kS2V5LnZhbHVlID0gNDIKCWJ5dGUgMHg2NCAvLyAiZCIKCWludCA0MgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYWQoKXZvaWQKKmFiaV9yb3V0ZV9hZDoKCS8vIGV4ZWN1dGUgYWQoKXZvaWQKCWNhbGxzdWIgYWQKCWludCAxCglyZXR1cm4KCi8vIGFkKCk6IHZvaWQKYWQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0NgoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQodGhpcy5kS2V5LnZhbHVlID09PSA0MikKCWJ5dGUgMHg2NCAvLyAiZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgNDIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgltZXRob2QgImQoKXZvaWQiCgltZXRob2QgImFkKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfZCAqYWJpX3JvdXRlX2FkCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZCgpdm9pZAoqYWJpX3JvdXRlX2Q6CgkvLyBleGVjdXRlIGQoKXZvaWQKCWNhbGxzdWIgZAoJaW50IDEKCXJldHVybgoKLy8gZCgpOiB2b2lkCmQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0MAoJLy8gdGhpcy5kS2V5LnZhbHVlID0gNDIKCWJ5dGUgMHg2NCAvLyAiZCIKCWludCA0MgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYWQoKXZvaWQKKmFiaV9yb3V0ZV9hZDoKCS8vIGV4ZWN1dGUgYWQoKXZvaWQKCWNhbGxzdWIgYWQKCWludCAxCglyZXR1cm4KCi8vIGFkKCk6IHZvaWQKYWQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0NgoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQodGhpcy5kS2V5LnZhbHVlID09PSA0MikKCWJ5dGUgMHg2NCAvLyAiZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgNDIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgltZXRob2QgImQoKXZvaWQiCgltZXRob2QgImFkKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfZCAqYWJpX3JvdXRlX2FkCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/AD.arc56_draft.json b/tests/contracts/artifacts/AD.arc56_draft.json
index 45ad6dedc..7ec5d1368 100644
--- a/tests/contracts/artifacts/AD.arc56_draft.json
+++ b/tests/contracts/artifacts/AD.arc56_draft.json
@@ -97,463 +97,466 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 44,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12
- ]
- },
- {
- "teal": 13,
- "source": 44,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 14,
- "source": 44,
- "pc": [
- 15
- ]
- },
- {
- "teal": 15,
- "source": 44,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 16,
- "source": 44,
- "pc": [
- 18
- ]
- },
- {
- "teal": 17,
- "source": 44,
- "pc": [
- 19,
- 20
- ]
- },
- {
- "teal": 18,
- "source": 44,
- "pc": [
- 21
- ]
- },
- {
- "teal": 19,
- "source": 44,
- "pc": [
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 23,
- "source": 44,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 48
- ]
- },
- {
- "teal": 28,
- "source": 15,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 29,
- "source": 15,
- "pc": [
- 52
- ]
- },
- {
- "teal": 30,
- "source": 15,
- "pc": [
- 53
- ]
- },
- {
- "teal": 34,
- "source": 15,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 38,
- "source": 16,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 16,
- "pc": [
- 58
- ]
- },
- {
- "teal": 40,
- "source": 16,
- "pc": [
- 59
- ]
- },
- {
- "teal": 41,
- "source": 15,
- "pc": [
- 60
- ]
- },
- {
- "teal": 46,
- "source": 39,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 47,
- "source": 39,
- "pc": [
- 64
- ]
- },
- {
- "teal": 48,
- "source": 39,
- "pc": [
- 65
- ]
- },
- {
- "teal": 52,
- "source": 39,
- "pc": [
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 56,
- "source": 40,
- "pc": [
- 69
- ]
- },
- {
- "teal": 57,
- "source": 40,
- "pc": [
- 70
- ]
- },
- {
- "teal": 58,
- "source": 40,
- "pc": [
- 71
- ]
- },
- {
- "teal": 59,
- "source": 39,
- "pc": [
- 72
- ]
- },
- {
- "teal": 64,
- "source": 45,
- "pc": [
- 73,
- 74,
- 75
- ]
- },
- {
- "teal": 65,
- "source": 45,
- "pc": [
- 76
- ]
- },
- {
- "teal": 66,
- "source": 45,
- "pc": [
- 77
- ]
- },
- {
- "teal": 70,
- "source": 45,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 74,
- "source": 46,
- "pc": [
- 81
- ]
- },
- {
- "teal": 75,
- "source": 46,
- "pc": [
- 82
- ]
- },
- {
- "teal": 76,
- "source": 46,
- "pc": [
- 83
- ]
- },
- {
- "teal": 77,
- "source": 46,
- "pc": [
- 84
- ]
- },
- {
- "teal": 78,
- "source": 46,
- "pc": [
- 85
- ]
- },
- {
- "teal": 82,
- "source": 47,
- "pc": [
- 86
- ]
- },
- {
- "teal": 83,
- "source": 47,
- "pc": [
- 87
- ]
- },
- {
- "teal": 84,
- "source": 47,
- "pc": [
- 88
- ]
- },
- {
- "teal": 85,
- "source": 47,
- "pc": [
- 89
- ]
- },
- {
- "teal": 86,
- "source": 47,
- "pc": [
- 90
- ]
- },
- {
- "teal": 87,
- "source": 45,
- "pc": [
- 91
- ]
- },
- {
- "teal": 90,
- "source": 44,
- "pc": [
- 92
- ]
- },
- {
- "teal": 91,
- "source": 44,
- "pc": [
- 93
- ]
- },
- {
- "teal": 94,
- "source": 44,
- "pc": [
- 94,
- 95,
- 96,
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 95,
- "source": 44,
- "pc": [
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 96,
- "source": 44,
- "pc": [
- 103,
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 99,
- "source": 44,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 107
- ]
- },
- {
- "teal": 102,
- "source": 44,
- "pc": [
- 108,
- 109,
- 110,
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 103,
- "source": 44,
- "pc": [
- 114,
- 115,
- 116,
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 104,
- "source": 44,
- "pc": [
- 120,
- 121,
- 122,
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 105,
- "source": 44,
- "pc": [
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 106,
- "source": 44,
- "pc": [
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 109,
- "source": 44,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 137
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 44,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 44,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 44,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 44,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 44,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 44,
+ "pc": [
+ 19,
+ 20
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 44,
+ "pc": [
+ 21
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 44,
+ "pc": [
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 44,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 15,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 15,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 15,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 15,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 16,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 16,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 16,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 15,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 39,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 39,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 39,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 39,
+ "pc": [
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 40,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 40,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 40,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 39,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 45,
+ "pc": [
+ 73,
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 45,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 45,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 45,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 46,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 46,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 46,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 46,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 46,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 47,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 47,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 47,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 47,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 47,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 45,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 44,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 44,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 44,
+ "pc": [
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 44,
+ "pc": [
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 44,
+ "pc": [
+ 103,
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 44,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 44,
+ "pc": [
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 44,
+ "pc": [
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 44,
+ "pc": [
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 44,
+ "pc": [
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 44,
+ "pc": [
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 44,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 137
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZCgpdm9pZAoqYWJpX3JvdXRlX2Q6CgkvLyBleGVjdXRlIGQoKXZvaWQKCWNhbGxzdWIgZAoJaW50IDEKCXJldHVybgoKLy8gZCgpOiB2b2lkCmQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0MAoJLy8gdGhpcy5kS2V5LnZhbHVlID0gNDIKCWJ5dGUgMHg2NCAvLyAiZCIKCWludCA0MgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYWQoKXZvaWQKKmFiaV9yb3V0ZV9hZDoKCS8vIGV4ZWN1dGUgYWQoKXZvaWQKCWNhbGxzdWIgYWQKCWludCAxCglyZXR1cm4KCi8vIGFkKCk6IHZvaWQKYWQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0NgoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQodGhpcy5kS2V5LnZhbHVlID09PSA0MikKCWJ5dGUgMHg2NCAvLyAiZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgNDIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgltZXRob2QgImQoKXZvaWQiCgltZXRob2QgImFkKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfZCAqYWJpX3JvdXRlX2FkCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZCgpdm9pZAoqYWJpX3JvdXRlX2Q6CgkvLyBleGVjdXRlIGQoKXZvaWQKCWNhbGxzdWIgZAoJaW50IDEKCXJldHVybgoKLy8gZCgpOiB2b2lkCmQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0MAoJLy8gdGhpcy5kS2V5LnZhbHVlID0gNDIKCWJ5dGUgMHg2NCAvLyAiZCIKCWludCA0MgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYWQoKXZvaWQKKmFiaV9yb3V0ZV9hZDoKCS8vIGV4ZWN1dGUgYWQoKXZvaWQKCWNhbGxzdWIgYWQKCWludCAxCglyZXR1cm4KCi8vIGFkKCk6IHZvaWQKYWQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0NgoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQodGhpcy5kS2V5LnZhbHVlID09PSA0MikKCWJ5dGUgMHg2NCAvLyAiZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgNDIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgltZXRob2QgImQoKXZvaWQiCgltZXRob2QgImFkKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfZCAqYWJpX3JvdXRlX2FkCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ARC56Test.approval.teal b/tests/contracts/artifacts/ARC56Test.approval.teal
index 4d49b29bb..d1d7d8883 100644
--- a/tests/contracts/artifacts/ARC56Test.approval.teal
+++ b/tests/contracts/artifacts/ARC56Test.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ARC56Test.arc32.json b/tests/contracts/artifacts/ARC56Test.arc32.json
index 246eff507..30d9c249a 100644
--- a/tests/contracts/artifacts/ARC56Test.arc32.json
+++ b/tests/contracts/artifacts/ARC56Test.arc32.json
@@ -54,7 +54,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9zb21lTnVtYmVyCmJ0b2kKc3RvcmUgMjAwCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9mb286CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGlucHV0czogKCh1aW50NjQsdWludDY0KSwodWludDY0LHVpbnQ2NCkpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGlucHV0cykgZm9yIGZvbyBtdXN0IGJlIGEgKCh1aW50NjQsdWludDY0KSwodWludDY0LHVpbnQ2NCkpCglhc3NlcnQKCgkvLyBleGVjdXRlIGZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGZvbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGZvbyhpbnB1dHM6IElucHV0cyk6IE91dHB1dHMKZm9vOgoJcHJvdG8gMSAxCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI0CgkvLyBpbnB1dHMuc3VidHJhY3QuYSA8IGlucHV0cy5zdWJ0cmFjdC5iCglmcmFtZV9kaWcgLTEgLy8gaW5wdXRzOiBJbnB1dHMKCWV4dHJhY3QgMTYgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDI0IDgKCWJ0b2kKCTwKCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBzdWJ0cmFjdC5hIG11c3QgYmUgZ3JlYXRlciB0aGFuIHN1YnRyYWN0LmIKCWVycgoKKmlmMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyNgoJLy8gdGhpcy5nbG9iYWxLZXkudmFsdWUgPSB0aGlzLnNvbWVOdW1iZXIKCWJ5dGUgMHg2NzZjNmY2MjYxNmM0YjY1NzkgLy8gImdsb2JhbEtleSIKCWxvYWQgMjAwIC8vIFRNUExfc29tZU51bWJlcgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyNwoJLy8gdGhpcy5nbG9iYWxNYXAoJ2ZvbycpLnZhbHVlID0geyBmb286IDEzLCBiYXI6IDM3IH0KCWJ5dGUgMHg3MDAwMDM2NjZmNmYKCWJ5dGUgMHgwMDBkMDAyNQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyOQoJLy8gcmV0dXJuIHsKCS8vICAgICAgIHN1bTogaW5wdXRzLmFkZC5hICsgaW5wdXRzLmFkZC5iLAoJLy8gICAgICAgZGlmZmVyZW5jZTogaW5wdXRzLnN1YnRyYWN0LmEgLSBpbnB1dHMuc3VidHJhY3QuYiwKCS8vICAgICB9OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDggOAoJYnRvaQoJKwoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDE2IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAyNCA4CglidG9pCgktCglpdG9iCgljb25jYXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNgoJLy8gdGhpcy5sb2NhbEtleSh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gdGhpcy5zb21lTnVtYmVyCgl0eG4gU2VuZGVyCglieXRlIDB4NmM2ZjYzNjE2YzRiNjU3OSAvLyAibG9jYWxLZXkiCglsb2FkIDIwMCAvLyBUTVBMX3NvbWVOdW1iZXIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNwoJLy8gdGhpcy5sb2NhbE1hcCh0aGlzLnR4bi5zZW5kZXIsICdmb28nKS52YWx1ZSA9ICdiYXInCgl0eG4gU2VuZGVyCglieXRlIDB4NzA2NjZmNmYKCWJ5dGUgMHgwMDAzNjI2MTcyCglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6MzgKCS8vIHRoaXMuYm94S2V5LnZhbHVlID0gJ2JheicKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlIDB4MDAwMzYyNjE3YQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjM5CgkvLyB0aGlzLmJveE1hcCh7IGFkZDogeyBhOiAxLCBiOiAyIH0sIHN1YnRyYWN0OiB7IGE6IDQsIGI6IDMgfSB9KS52YWx1ZSA9IHsgc3VtOiAzLCBkaWZmZXJlbmNlOiAxIH0KCWJ5dGUgMHg3MDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDMKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2ZvbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgIm9wdEluVG9BcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9zb21lTnVtYmVyCmJ0b2kKc3RvcmUgMjAwCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9mb286CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGlucHV0czogKCh1aW50NjQsdWludDY0KSwodWludDY0LHVpbnQ2NCkpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGlucHV0cykgZm9yIGZvbyBtdXN0IGJlIGEgKCh1aW50NjQsdWludDY0KSwodWludDY0LHVpbnQ2NCkpCglhc3NlcnQKCgkvLyBleGVjdXRlIGZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGZvbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGZvbyhpbnB1dHM6IElucHV0cyk6IE91dHB1dHMKZm9vOgoJcHJvdG8gMSAxCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI0CgkvLyBpbnB1dHMuc3VidHJhY3QuYSA8IGlucHV0cy5zdWJ0cmFjdC5iCglmcmFtZV9kaWcgLTEgLy8gaW5wdXRzOiBJbnB1dHMKCWV4dHJhY3QgMTYgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDI0IDgKCWJ0b2kKCTwKCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBzdWJ0cmFjdC5hIG11c3QgYmUgZ3JlYXRlciB0aGFuIHN1YnRyYWN0LmIKCWVycgoKKmlmMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyNgoJLy8gdGhpcy5nbG9iYWxLZXkudmFsdWUgPSB0aGlzLnNvbWVOdW1iZXIKCWJ5dGUgMHg2NzZjNmY2MjYxNmM0YjY1NzkgLy8gImdsb2JhbEtleSIKCWxvYWQgMjAwIC8vIFRNUExfc29tZU51bWJlcgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyNwoJLy8gdGhpcy5nbG9iYWxNYXAoJ2ZvbycpLnZhbHVlID0geyBmb286IDEzLCBiYXI6IDM3IH0KCWJ5dGUgMHg3MDAwMDM2NjZmNmYKCWJ5dGUgMHgwMDBkMDAyNQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyOQoJLy8gcmV0dXJuIHsKCS8vICAgICAgIHN1bTogaW5wdXRzLmFkZC5hICsgaW5wdXRzLmFkZC5iLAoJLy8gICAgICAgZGlmZmVyZW5jZTogaW5wdXRzLnN1YnRyYWN0LmEgLSBpbnB1dHMuc3VidHJhY3QuYiwKCS8vICAgICB9OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDggOAoJYnRvaQoJKwoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDE2IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAyNCA4CglidG9pCgktCglpdG9iCgljb25jYXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNgoJLy8gdGhpcy5sb2NhbEtleSh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gdGhpcy5zb21lTnVtYmVyCgl0eG4gU2VuZGVyCglieXRlIDB4NmM2ZjYzNjE2YzRiNjU3OSAvLyAibG9jYWxLZXkiCglsb2FkIDIwMCAvLyBUTVBMX3NvbWVOdW1iZXIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNwoJLy8gdGhpcy5sb2NhbE1hcCh0aGlzLnR4bi5zZW5kZXIsICdmb28nKS52YWx1ZSA9ICdiYXInCgl0eG4gU2VuZGVyCglieXRlIDB4NzA2NjZmNmYKCWJ5dGUgMHgwMDAzNjI2MTcyCglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6MzgKCS8vIHRoaXMuYm94S2V5LnZhbHVlID0gJ2JheicKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlIDB4MDAwMzYyNjE3YQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjM5CgkvLyB0aGlzLmJveE1hcCh7IGFkZDogeyBhOiAxLCBiOiAyIH0sIHN1YnRyYWN0OiB7IGE6IDQsIGI6IDMgfSB9KS52YWx1ZSA9IHsgc3VtOiAzLCBkaWZmZXJlbmNlOiAxIH0KCWJ5dGUgMHg3MDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDMKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2ZvbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgIm9wdEluVG9BcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ARC56Test.arc56_draft.json b/tests/contracts/artifacts/ARC56Test.arc56_draft.json
index e59e1b6bd..0667ba267 100644
--- a/tests/contracts/artifacts/ARC56Test.arc56_draft.json
+++ b/tests/contracts/artifacts/ARC56Test.arc56_draft.json
@@ -54,24 +54,54 @@
56
],
"structs": {
- "{ foo: uint16; bar: uint16 }": {
- "foo": "uint16",
- "bar": "uint16"
- },
- "Outputs": {
- "sum": "uint64",
- "difference": "uint64"
- },
- "Inputs": {
- "add": {
- "a": "uint64",
- "b": "uint64"
- },
- "subtract": {
- "a": "uint64",
- "b": "uint64"
+ "{ foo: uint16; bar: uint16 }": [
+ {
+ "name": "foo",
+ "type": "uint16"
+ },
+ {
+ "name": "bar",
+ "type": "uint16"
}
- }
+ ],
+ "Outputs": [
+ {
+ "name": "sum",
+ "type": "uint64"
+ },
+ {
+ "name": "difference",
+ "type": "uint64"
+ }
+ ],
+ "Inputs": [
+ {
+ "name": "add",
+ "type": [
+ {
+ "name": "a",
+ "type": "uint64"
+ },
+ {
+ "name": "b",
+ "type": "uint64"
+ }
+ ]
+ },
+ {
+ "name": "subtract",
+ "type": [
+ {
+ "name": "a",
+ "type": "uint64"
+ },
+ {
+ "name": "b",
+ "type": "uint64"
+ }
+ ]
+ }
+ ]
},
"state": {
"schema": {
@@ -135,891 +165,894 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 6,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 9,
- "source": 6,
- "pc": [
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13
- ]
- },
- {
- "teal": 10,
- "source": 6,
- "pc": [
- 14
- ]
- },
- {
- "teal": 11,
- "source": 6,
- "pc": [
- 15,
- 16
- ]
- },
- {
- "teal": 18,
- "source": 6,
- "pc": [
- 17,
- 18
- ]
- },
- {
- "teal": 19,
- "source": 6,
- "pc": [
- 19
- ]
- },
- {
- "teal": 20,
- "source": 6,
- "pc": [
- 20,
- 21
- ]
- },
- {
- "teal": 21,
- "source": 6,
- "pc": [
- 22
- ]
- },
- {
- "teal": 22,
- "source": 6,
- "pc": [
- 23,
- 24
- ]
- },
- {
- "teal": 23,
- "source": 6,
- "pc": [
- 25
- ]
- },
- {
- "teal": 24,
- "source": 6,
- "pc": [
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 28,
- "source": 6,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 52
- ]
- },
- {
- "teal": 33,
- "source": 23,
- "pc": [
- 53,
- 54,
- 55,
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 36,
- "source": 23,
- "pc": [
- 59,
- 60,
- 61
- ]
- },
- {
- "teal": 37,
- "source": 23,
- "pc": [
- 62
- ]
- },
- {
- "teal": 38,
- "source": 23,
- "pc": [
- 63
- ]
- },
- {
- "teal": 39,
- "source": 23,
- "pc": [
- 64,
- 65
- ]
- },
- {
- "teal": 40,
- "source": 23,
- "pc": [
- 66
- ]
- },
- {
- "teal": 43,
- "source": 23,
- "errorMessage": "argument 0 (inputs) for foo must be a ((uint64,uint64),(uint64,uint64))",
- "pc": [
- 67
- ]
- },
- {
- "teal": 46,
- "source": 23,
- "pc": [
- 68,
- 69,
- 70
- ]
- },
- {
- "teal": 47,
- "source": 23,
- "pc": [
- 71
- ]
- },
- {
- "teal": 48,
- "source": 23,
- "pc": [
- 72
- ]
- },
- {
- "teal": 49,
- "source": 23,
- "pc": [
- 73
- ]
- },
- {
- "teal": 50,
- "source": 23,
- "pc": [
- 74
- ]
- },
- {
- "teal": 54,
- "source": 23,
- "pc": [
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 59,
- "source": 24,
- "pc": [
- 78,
- 79
- ]
- },
- {
- "teal": 60,
- "source": 24,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 61,
- "source": 24,
- "pc": [
- 83
- ]
- },
- {
- "teal": 62,
- "source": 24,
- "pc": [
- 84,
- 85
- ]
- },
- {
- "teal": 63,
- "source": 24,
- "pc": [
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 64,
- "source": 24,
- "pc": [
- 89
- ]
- },
- {
- "teal": 65,
- "source": 24,
- "pc": [
- 90
- ]
- },
- {
- "teal": 66,
- "source": 24,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 70,
- "source": 24,
- "errorMessage": "subtract.a must be greater than subtract.b",
- "pc": [
- 94
- ]
- },
- {
- "teal": 75,
- "source": 26,
- "pc": [
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 76,
- "source": 26,
- "pc": [
- 106,
- 107
- ]
- },
- {
- "teal": 77,
- "source": 26,
- "pc": [
- 108
- ]
- },
- {
- "teal": 81,
- "source": 27,
- "pc": [
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116
- ]
- },
- {
- "teal": 82,
- "source": 27,
- "pc": [
- 117,
- 118,
- 119,
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 83,
- "source": 27,
- "pc": [
- 123
- ]
- },
- {
- "teal": 90,
- "source": 30,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 91,
- "source": 30,
- "pc": [
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 92,
- "source": 30,
- "pc": [
- 129
- ]
- },
- {
- "teal": 93,
- "source": 30,
- "pc": [
- 130,
- 131
- ]
- },
- {
- "teal": 94,
- "source": 30,
- "pc": [
- 132,
- 133,
- 134
- ]
- },
- {
- "teal": 95,
- "source": 30,
- "pc": [
- 135
- ]
- },
- {
- "teal": 96,
- "source": 30,
- "pc": [
- 136
- ]
- },
- {
- "teal": 97,
- "source": 30,
- "pc": [
- 137
- ]
- },
- {
- "teal": 98,
- "source": 31,
- "pc": [
- 138,
- 139
- ]
- },
- {
- "teal": 99,
- "source": 31,
- "pc": [
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 100,
- "source": 31,
- "pc": [
- 143
- ]
- },
- {
- "teal": 101,
- "source": 31,
- "pc": [
- 144,
- 145
- ]
- },
- {
- "teal": 102,
- "source": 31,
- "pc": [
- 146,
- 147,
- 148
- ]
- },
- {
- "teal": 103,
- "source": 31,
- "pc": [
- 149
- ]
- },
- {
- "teal": 104,
- "source": 31,
- "pc": [
- 150
- ]
- },
- {
- "teal": 105,
- "source": 31,
- "pc": [
- 151
- ]
- },
- {
- "teal": 106,
- "source": 31,
- "pc": [
- 152
- ]
- },
- {
- "teal": 107,
- "source": 23,
- "pc": [
- 153
- ]
- },
- {
- "teal": 112,
- "source": 35,
- "pc": [
- 154,
- 155,
- 156
- ]
- },
- {
- "teal": 113,
- "source": 35,
- "pc": [
- 157
- ]
- },
- {
- "teal": 114,
- "source": 35,
- "pc": [
- 158
- ]
- },
- {
- "teal": 118,
- "source": 35,
- "pc": [
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 122,
- "source": 36,
- "pc": [
- 162,
- 163
- ]
- },
- {
- "teal": 123,
- "source": 36,
- "pc": [
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173
- ]
- },
- {
- "teal": 124,
- "source": 36,
- "pc": [
- 174,
- 175
- ]
- },
- {
- "teal": 125,
- "source": 36,
- "pc": [
- 176
- ]
- },
- {
- "teal": 129,
- "source": 37,
- "pc": [
- 177,
- 178
- ]
- },
- {
- "teal": 130,
- "source": 37,
- "pc": [
- 179,
- 180,
- 181,
- 182,
- 183,
- 184
- ]
- },
- {
- "teal": 131,
- "source": 37,
- "pc": [
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191
- ]
- },
- {
- "teal": 132,
- "source": 37,
- "pc": [
- 192
- ]
- },
- {
- "teal": 136,
- "source": 38,
- "pc": [
- 193,
- 194,
- 195,
- 196,
- 197,
- 198,
- 199,
- 200
- ]
- },
- {
- "teal": 137,
- "source": 38,
- "pc": [
- 201
- ]
- },
- {
- "teal": 138,
- "source": 38,
- "pc": [
- 202
- ]
- },
- {
- "teal": 139,
- "source": 38,
- "pc": [
- 203
- ]
- },
- {
- "teal": 140,
- "source": 38,
- "pc": [
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 210
- ]
- },
- {
- "teal": 141,
- "source": 38,
- "pc": [
- 211
- ]
- },
- {
- "teal": 145,
- "source": 39,
- "pc": [
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 223,
- 224,
- 225,
- 226,
- 227,
- 228,
- 229,
- 230,
- 231,
- 232,
- 233,
- 234,
- 235,
- 236,
- 237,
- 238,
- 239,
- 240,
- 241,
- 242,
- 243,
- 244,
- 245,
- 246
- ]
- },
- {
- "teal": 146,
- "source": 39,
- "pc": [
- 247,
- 248,
- 249,
- 250,
- 251,
- 252,
- 253,
- 254,
- 255,
- 256,
- 257,
- 258,
- 259,
- 260,
- 261,
- 262,
- 263,
- 264
- ]
- },
- {
- "teal": 147,
- "source": 39,
- "pc": [
- 265
- ]
- },
- {
- "teal": 148,
- "source": 35,
- "pc": [
- 266
- ]
- },
- {
- "teal": 151,
- "source": 6,
- "pc": [
- 267
- ]
- },
- {
- "teal": 152,
- "source": 6,
- "pc": [
- 268
- ]
- },
- {
- "teal": 155,
- "source": 6,
- "pc": [
- 269,
- 270,
- 271,
- 272,
- 273,
- 274
- ]
- },
- {
- "teal": 156,
- "source": 6,
- "pc": [
- 275,
- 276,
- 277
- ]
- },
- {
- "teal": 157,
- "source": 6,
- "pc": [
- 278,
- 279,
- 280,
- 281
- ]
- },
- {
- "teal": 160,
- "source": 6,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 282
- ]
- },
- {
- "teal": 163,
- "source": 6,
- "pc": [
- 283,
- 284,
- 285,
- 286,
- 287,
- 288
- ]
- },
- {
- "teal": 164,
- "source": 6,
- "pc": [
- 289,
- 290,
- 291
- ]
- },
- {
- "teal": 165,
- "source": 6,
- "pc": [
- 292,
- 293,
- 294,
- 295
- ]
- },
- {
- "teal": 168,
- "source": 6,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 296
- ]
- },
- {
- "teal": 171,
- "source": 6,
- "pc": [
- 297,
- 298,
- 299,
- 300,
- 301,
- 302
- ]
- },
- {
- "teal": 172,
- "source": 6,
- "pc": [
- 303,
- 304,
- 305
- ]
- },
- {
- "teal": 173,
- "source": 6,
- "pc": [
- 306,
- 307,
- 308,
- 309
- ]
- },
- {
- "teal": 176,
- "source": 6,
- "errorMessage": "this contract does not implement the given ABI method for call OptIn",
- "pc": [
- 310
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 6,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 9,
+ "source": 6,
+ "pc": [
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 10,
+ "source": 6,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 11,
+ "source": 6,
+ "pc": [
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 6,
+ "pc": [
+ 17,
+ 18
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 6,
+ "pc": [
+ 19
+ ]
+ },
+ {
+ "teal": 20,
+ "source": 6,
+ "pc": [
+ 20,
+ 21
+ ]
+ },
+ {
+ "teal": 21,
+ "source": 6,
+ "pc": [
+ 22
+ ]
+ },
+ {
+ "teal": 22,
+ "source": 6,
+ "pc": [
+ 23,
+ 24
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 6,
+ "pc": [
+ 25
+ ]
+ },
+ {
+ "teal": 24,
+ "source": 6,
+ "pc": [
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 6,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 23,
+ "pc": [
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 23,
+ "pc": [
+ 59,
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 23,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 23,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 23,
+ "pc": [
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 23,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 23,
+ "errorMessage": "argument 0 (inputs) for foo must be a ((uint64,uint64),(uint64,uint64))",
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 23,
+ "pc": [
+ 68,
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 23,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 23,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 23,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 23,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 23,
+ "pc": [
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 24,
+ "pc": [
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 24,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 24,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 24,
+ "pc": [
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 24,
+ "pc": [
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 24,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 24,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 24,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 24,
+ "errorMessage": "subtract.a must be greater than subtract.b",
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 26,
+ "pc": [
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 26,
+ "pc": [
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 26,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 27,
+ "pc": [
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 27,
+ "pc": [
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 27,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 30,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 30,
+ "pc": [
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 30,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 30,
+ "pc": [
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 30,
+ "pc": [
+ 132,
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 30,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 30,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 30,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 31,
+ "pc": [
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 31,
+ "pc": [
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 31,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 31,
+ "pc": [
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 31,
+ "pc": [
+ 146,
+ 147,
+ 148
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 31,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 31,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 31,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 31,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 23,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 35,
+ "pc": [
+ 154,
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 35,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 35,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 35,
+ "pc": [
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 36,
+ "pc": [
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 36,
+ "pc": [
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 36,
+ "pc": [
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 36,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 37,
+ "pc": [
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 37,
+ "pc": [
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 37,
+ "pc": [
+ 185,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190,
+ 191
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 37,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 38,
+ "pc": [
+ 193,
+ 194,
+ 195,
+ 196,
+ 197,
+ 198,
+ 199,
+ 200
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 38,
+ "pc": [
+ 201
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 38,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 38,
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 38,
+ "pc": [
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209,
+ 210
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 38,
+ "pc": [
+ 211
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 39,
+ "pc": [
+ 212,
+ 213,
+ 214,
+ 215,
+ 216,
+ 217,
+ 218,
+ 219,
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225,
+ 226,
+ 227,
+ 228,
+ 229,
+ 230,
+ 231,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 237,
+ 238,
+ 239,
+ 240,
+ 241,
+ 242,
+ 243,
+ 244,
+ 245,
+ 246
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 39,
+ "pc": [
+ 247,
+ 248,
+ 249,
+ 250,
+ 251,
+ 252,
+ 253,
+ 254,
+ 255,
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 263,
+ 264
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 39,
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 35,
+ "pc": [
+ 266
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 6,
+ "pc": [
+ 267
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 6,
+ "pc": [
+ 268
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 6,
+ "pc": [
+ 269,
+ 270,
+ 271,
+ 272,
+ 273,
+ 274
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 6,
+ "pc": [
+ 275,
+ 276,
+ 277
+ ]
+ },
+ {
+ "teal": 157,
+ "source": 6,
+ "pc": [
+ 278,
+ 279,
+ 280,
+ 281
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 6,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 282
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 6,
+ "pc": [
+ 283,
+ 284,
+ 285,
+ 286,
+ 287,
+ 288
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 6,
+ "pc": [
+ 289,
+ 290,
+ 291
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 6,
+ "pc": [
+ 292,
+ 293,
+ 294,
+ 295
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 6,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 6,
+ "pc": [
+ 297,
+ 298,
+ 299,
+ 300,
+ 301,
+ 302
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 6,
+ "pc": [
+ 303,
+ 304,
+ 305
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 6,
+ "pc": [
+ 306,
+ 307,
+ 308,
+ 309
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 6,
+ "errorMessage": "this contract does not implement the given ABI method for call OptIn",
+ "pc": [
+ 310
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9zb21lTnVtYmVyCmJ0b2kKc3RvcmUgMjAwCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9mb286CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGlucHV0czogKCh1aW50NjQsdWludDY0KSwodWludDY0LHVpbnQ2NCkpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGlucHV0cykgZm9yIGZvbyBtdXN0IGJlIGEgKCh1aW50NjQsdWludDY0KSwodWludDY0LHVpbnQ2NCkpCglhc3NlcnQKCgkvLyBleGVjdXRlIGZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGZvbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGZvbyhpbnB1dHM6IElucHV0cyk6IE91dHB1dHMKZm9vOgoJcHJvdG8gMSAxCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI0CgkvLyBpbnB1dHMuc3VidHJhY3QuYSA8IGlucHV0cy5zdWJ0cmFjdC5iCglmcmFtZV9kaWcgLTEgLy8gaW5wdXRzOiBJbnB1dHMKCWV4dHJhY3QgMTYgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDI0IDgKCWJ0b2kKCTwKCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBzdWJ0cmFjdC5hIG11c3QgYmUgZ3JlYXRlciB0aGFuIHN1YnRyYWN0LmIKCWVycgoKKmlmMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyNgoJLy8gdGhpcy5nbG9iYWxLZXkudmFsdWUgPSB0aGlzLnNvbWVOdW1iZXIKCWJ5dGUgMHg2NzZjNmY2MjYxNmM0YjY1NzkgLy8gImdsb2JhbEtleSIKCWxvYWQgMjAwIC8vIFRNUExfc29tZU51bWJlcgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyNwoJLy8gdGhpcy5nbG9iYWxNYXAoJ2ZvbycpLnZhbHVlID0geyBmb286IDEzLCBiYXI6IDM3IH0KCWJ5dGUgMHg3MDAwMDM2NjZmNmYKCWJ5dGUgMHgwMDBkMDAyNQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyOQoJLy8gcmV0dXJuIHsKCS8vICAgICAgIHN1bTogaW5wdXRzLmFkZC5hICsgaW5wdXRzLmFkZC5iLAoJLy8gICAgICAgZGlmZmVyZW5jZTogaW5wdXRzLnN1YnRyYWN0LmEgLSBpbnB1dHMuc3VidHJhY3QuYiwKCS8vICAgICB9OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDggOAoJYnRvaQoJKwoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDE2IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAyNCA4CglidG9pCgktCglpdG9iCgljb25jYXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNgoJLy8gdGhpcy5sb2NhbEtleSh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gdGhpcy5zb21lTnVtYmVyCgl0eG4gU2VuZGVyCglieXRlIDB4NmM2ZjYzNjE2YzRiNjU3OSAvLyAibG9jYWxLZXkiCglsb2FkIDIwMCAvLyBUTVBMX3NvbWVOdW1iZXIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNwoJLy8gdGhpcy5sb2NhbE1hcCh0aGlzLnR4bi5zZW5kZXIsICdmb28nKS52YWx1ZSA9ICdiYXInCgl0eG4gU2VuZGVyCglieXRlIDB4NzA2NjZmNmYKCWJ5dGUgMHgwMDAzNjI2MTcyCglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6MzgKCS8vIHRoaXMuYm94S2V5LnZhbHVlID0gJ2JheicKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlIDB4MDAwMzYyNjE3YQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjM5CgkvLyB0aGlzLmJveE1hcCh7IGFkZDogeyBhOiAxLCBiOiAyIH0sIHN1YnRyYWN0OiB7IGE6IDQsIGI6IDMgfSB9KS52YWx1ZSA9IHsgc3VtOiAzLCBkaWZmZXJlbmNlOiAxIH0KCWJ5dGUgMHg3MDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDMKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2ZvbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgIm9wdEluVG9BcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9zb21lTnVtYmVyCmJ0b2kKc3RvcmUgMjAwCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqY2FsbF9PcHRJbiAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9mb286CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGlucHV0czogKCh1aW50NjQsdWludDY0KSwodWludDY0LHVpbnQ2NCkpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGlucHV0cykgZm9yIGZvbyBtdXN0IGJlIGEgKCh1aW50NjQsdWludDY0KSwodWludDY0LHVpbnQ2NCkpCglhc3NlcnQKCgkvLyBleGVjdXRlIGZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGZvbwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGZvbyhpbnB1dHM6IElucHV0cyk6IE91dHB1dHMKZm9vOgoJcHJvdG8gMSAxCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI0CgkvLyBpbnB1dHMuc3VidHJhY3QuYSA8IGlucHV0cy5zdWJ0cmFjdC5iCglmcmFtZV9kaWcgLTEgLy8gaW5wdXRzOiBJbnB1dHMKCWV4dHJhY3QgMTYgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDI0IDgKCWJ0b2kKCTwKCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBzdWJ0cmFjdC5hIG11c3QgYmUgZ3JlYXRlciB0aGFuIHN1YnRyYWN0LmIKCWVycgoKKmlmMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyNgoJLy8gdGhpcy5nbG9iYWxLZXkudmFsdWUgPSB0aGlzLnNvbWVOdW1iZXIKCWJ5dGUgMHg2NzZjNmY2MjYxNmM0YjY1NzkgLy8gImdsb2JhbEtleSIKCWxvYWQgMjAwIC8vIFRNUExfc29tZU51bWJlcgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyNwoJLy8gdGhpcy5nbG9iYWxNYXAoJ2ZvbycpLnZhbHVlID0geyBmb286IDEzLCBiYXI6IDM3IH0KCWJ5dGUgMHg3MDAwMDM2NjZmNmYKCWJ5dGUgMHgwMDBkMDAyNQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czoyOQoJLy8gcmV0dXJuIHsKCS8vICAgICAgIHN1bTogaW5wdXRzLmFkZC5hICsgaW5wdXRzLmFkZC5iLAoJLy8gICAgICAgZGlmZmVyZW5jZTogaW5wdXRzLnN1YnRyYWN0LmEgLSBpbnB1dHMuc3VidHJhY3QuYiwKCS8vICAgICB9OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDggOAoJYnRvaQoJKwoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDE2IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAyNCA4CglidG9pCgktCglpdG9iCgljb25jYXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNgoJLy8gdGhpcy5sb2NhbEtleSh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gdGhpcy5zb21lTnVtYmVyCgl0eG4gU2VuZGVyCglieXRlIDB4NmM2ZjYzNjE2YzRiNjU3OSAvLyAibG9jYWxLZXkiCglsb2FkIDIwMCAvLyBUTVBMX3NvbWVOdW1iZXIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNwoJLy8gdGhpcy5sb2NhbE1hcCh0aGlzLnR4bi5zZW5kZXIsICdmb28nKS52YWx1ZSA9ICdiYXInCgl0eG4gU2VuZGVyCglieXRlIDB4NzA2NjZmNmYKCWJ5dGUgMHgwMDAzNjI2MTcyCglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6MzgKCS8vIHRoaXMuYm94S2V5LnZhbHVlID0gJ2JheicKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlIDB4MDAwMzYyNjE3YQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjM5CgkvLyB0aGlzLmJveE1hcCh7IGFkZDogeyBhOiAxLCBiOiAyIH0sIHN1YnRyYWN0OiB7IGE6IDQsIGI6IDMgfSB9KS52YWx1ZSA9IHsgc3VtOiAzLCBkaWZmZXJlbmNlOiAxIH0KCWJ5dGUgMHg3MDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDMKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2ZvbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfT3B0SW46CgltZXRob2QgIm9wdEluVG9BcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgT3B0SW4KCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"templateVariables": {
diff --git a/tests/contracts/artifacts/ARC56TestNoTemplateVars.approval.teal b/tests/contracts/artifacts/ARC56TestNoTemplateVars.approval.teal
index 5ee5208dc..68cd51086 100644
--- a/tests/contracts/artifacts/ARC56TestNoTemplateVars.approval.teal
+++ b/tests/contracts/artifacts/ARC56TestNoTemplateVars.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc32.json b/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc32.json
index 6a5dd2219..b55b8d694 100644
--- a/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc32.json
+++ b/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc32.json
@@ -34,7 +34,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc56_draft.json b/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc56_draft.json
index d89fc4ef2..a51a845ce 100644
--- a/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc56_draft.json
+++ b/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc56_draft.json
@@ -47,156 +47,159 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 43,
- "pc": [
- 0
- ]
- },
- {
- "teal": 13,
- "source": 43,
- "pc": [
- 1,
- 2
- ]
- },
- {
- "teal": 14,
- "source": 43,
- "pc": [
- 3
- ]
- },
- {
- "teal": 15,
- "source": 43,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 16,
- "source": 43,
- "pc": [
- 6
- ]
- },
- {
- "teal": 17,
- "source": 43,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 18,
- "source": 43,
- "pc": [
- 9
- ]
- },
- {
- "teal": 19,
- "source": 43,
- "pc": [
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35
- ]
- },
- {
- "teal": 23,
- "source": 43,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 36
- ]
- },
- {
- "teal": 26,
- "source": 43,
- "pc": [
- 37,
- 38
- ]
- },
- {
- "teal": 27,
- "source": 43,
- "pc": [
- 39
- ]
- },
- {
- "teal": 30,
- "source": 43,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 43,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 43,
- "pc": [
- 49,
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 43,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 53
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 43,
+ "pc": [
+ 0
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 43,
+ "pc": [
+ 1,
+ 2
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 43,
+ "pc": [
+ 3
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 43,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 43,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 43,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 43,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 43,
+ "pc": [
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 43,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 36
+ ]
+ },
+ {
+ "teal": 26,
+ "source": 43,
+ "pc": [
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 27,
+ "source": 43,
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 43,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 43,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 43,
+ "pc": [
+ 49,
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 43,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 53
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/AVM11.approval.teal b/tests/contracts/artifacts/AVM11.approval.teal
index 2d8be9edf..60c41120e 100644
--- a/tests/contracts/artifacts/AVM11.approval.teal
+++ b/tests/contracts/artifacts/AVM11.approval.teal
@@ -1,6 +1,6 @@
#pragma version 11
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/AVM11.arc32.json b/tests/contracts/artifacts/AVM11.arc32.json
index 198700c68..f12ba79cc 100644
--- a/tests/contracts/artifacts/AVM11.arc32.json
+++ b/tests/contracts/artifacts/AVM11.arc32.json
@@ -59,7 +59,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB2b3Rlck9wY29kZXMoKXZvaWQKKmFiaV9yb3V0ZV92b3Rlck9wY29kZXM6CgkvLyBleGVjdXRlIHZvdGVyT3Bjb2Rlcygpdm9pZAoJY2FsbHN1YiB2b3Rlck9wY29kZXMKCWludCAxCglyZXR1cm4KCi8vIHZvdGVyT3Bjb2RlcygpOiB2b2lkCnZvdGVyT3Bjb2RlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjcKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIudm90ZXJCYWxhbmNlKQoJdHhuIFNlbmRlcgoJdm90ZXJfcGFyYW1zX2dldCBWb3RlckJhbGFuY2UKCWFzc2VydAoJcmV0c3ViCgovLyBpbmNlbnRpdmVHbG9iYWxzKCl2b2lkCiphYmlfcm91dGVfaW5jZW50aXZlR2xvYmFsczoKCS8vIGV4ZWN1dGUgaW5jZW50aXZlR2xvYmFscygpdm9pZAoJY2FsbHN1YiBpbmNlbnRpdmVHbG9iYWxzCglpbnQgMQoJcmV0dXJuCgovLyBpbmNlbnRpdmVHbG9iYWxzKCk6IHZvaWQKaW5jZW50aXZlR2xvYmFsczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjEyCgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzRW5hYmxlZCkKCWdsb2JhbCBQYXlvdXRzRW5hYmxlZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTMKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNHb09ubGluZUZlZSkKCWdsb2JhbCBQYXlvdXRzR29PbmxpbmVGZWUKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzUGVyY2VudCkKCWdsb2JhbCBQYXlvdXRzUGVyY2VudAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTUKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNNaW5CYWxhbmNlKQoJZ2xvYmFsIFBheW91dHNNaW5CYWxhbmNlCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxNgoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c01heEJhbGFuY2UpCglnbG9iYWwgUGF5b3V0c01heEJhbGFuY2UKCWFzc2VydAoJcmV0c3ViCgovLyBvbmxpbmVTdGFrZU9wKCl2b2lkCiphYmlfcm91dGVfb25saW5lU3Rha2VPcDoKCS8vIGV4ZWN1dGUgb25saW5lU3Rha2VPcCgpdm9pZAoJY2FsbHN1YiBvbmxpbmVTdGFrZU9wCglpbnQgMQoJcmV0dXJuCgovLyBvbmxpbmVTdGFrZU9wKCk6IHZvaWQKb25saW5lU3Rha2VPcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjIwCgkvLyBhc3NlcnQob25saW5lU3Rha2UoKSkKCW9ubGluZV9zdGFrZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFjY291bnRQYXJhbXMoKXZvaWQKKmFiaV9yb3V0ZV9hY2NvdW50UGFyYW1zOgoJLy8gZXhlY3V0ZSBhY2NvdW50UGFyYW1zKCl2b2lkCgljYWxsc3ViIGFjY291bnRQYXJhbXMKCWludCAxCglyZXR1cm4KCi8vIGFjY291bnRQYXJhbXMoKTogdm9pZAphY2NvdW50UGFyYW1zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MjQKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIuaW5jZW50aXZlRWxpZ2libGUpCgl0eG4gU2VuZGVyCglhY2N0X3BhcmFtc19nZXQgQWNjdEluY2VudGl2ZUVsaWdpYmxlCglwb3AKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI1CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmxhc3RIZWFydGJlYXQpCgl0eG4gU2VuZGVyCglhY2N0X3BhcmFtc19nZXQgQWNjdExhc3RIZWFydGJlYXQKCXBvcAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MjYKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIubGFzdFByb3Bvc2VkKQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RMYXN0UHJvcG9zZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJsb2NrUGFyYW1zKCl2b2lkCiphYmlfcm91dGVfYmxvY2tQYXJhbXM6CgkvLyBleGVjdXRlIGJsb2NrUGFyYW1zKCl2b2lkCgljYWxsc3ViIGJsb2NrUGFyYW1zCglpbnQgMQoJcmV0dXJuCgovLyBibG9ja1BhcmFtcygpOiB2b2lkCmJsb2NrUGFyYW1zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzAKCS8vIGxvZyhibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3Bvc2VyKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvcG9zZXIKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5mZWVzQ29sbGVjdGVkKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrRmVlc0NvbGxlY3RlZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzIKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLmJvbnVzKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrQm9udXMKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMzCgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5icmFuY2gpCglnbG9iYWwgUm91bmQKCWludCAxCgktCglibG9jayBCbGtCcmFuY2gKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM0CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5mZWVTaW5rKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrRmVlU2luawoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzUKCS8vIGxvZyhibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3RvY29sKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvdG9jb2wKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM2CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS50eG5Db3VudGVyKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrVHhuQ291bnRlcgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzcKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3Bvc2VyUGF5b3V0KQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvcG9zZXJQYXlvdXQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidm90ZXJPcGNvZGVzKCl2b2lkIgoJbWV0aG9kICJpbmNlbnRpdmVHbG9iYWxzKCl2b2lkIgoJbWV0aG9kICJvbmxpbmVTdGFrZU9wKCl2b2lkIgoJbWV0aG9kICJhY2NvdW50UGFyYW1zKCl2b2lkIgoJbWV0aG9kICJibG9ja1BhcmFtcygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdm90ZXJPcGNvZGVzICphYmlfcm91dGVfaW5jZW50aXZlR2xvYmFscyAqYWJpX3JvdXRlX29ubGluZVN0YWtlT3AgKmFiaV9yb3V0ZV9hY2NvdW50UGFyYW1zICphYmlfcm91dGVfYmxvY2tQYXJhbXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB2b3Rlck9wY29kZXMoKXZvaWQKKmFiaV9yb3V0ZV92b3Rlck9wY29kZXM6CgkvLyBleGVjdXRlIHZvdGVyT3Bjb2Rlcygpdm9pZAoJY2FsbHN1YiB2b3Rlck9wY29kZXMKCWludCAxCglyZXR1cm4KCi8vIHZvdGVyT3Bjb2RlcygpOiB2b2lkCnZvdGVyT3Bjb2RlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjcKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIudm90ZXJCYWxhbmNlKQoJdHhuIFNlbmRlcgoJdm90ZXJfcGFyYW1zX2dldCBWb3RlckJhbGFuY2UKCWFzc2VydAoJcmV0c3ViCgovLyBpbmNlbnRpdmVHbG9iYWxzKCl2b2lkCiphYmlfcm91dGVfaW5jZW50aXZlR2xvYmFsczoKCS8vIGV4ZWN1dGUgaW5jZW50aXZlR2xvYmFscygpdm9pZAoJY2FsbHN1YiBpbmNlbnRpdmVHbG9iYWxzCglpbnQgMQoJcmV0dXJuCgovLyBpbmNlbnRpdmVHbG9iYWxzKCk6IHZvaWQKaW5jZW50aXZlR2xvYmFsczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjEyCgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzRW5hYmxlZCkKCWdsb2JhbCBQYXlvdXRzRW5hYmxlZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTMKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNHb09ubGluZUZlZSkKCWdsb2JhbCBQYXlvdXRzR29PbmxpbmVGZWUKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzUGVyY2VudCkKCWdsb2JhbCBQYXlvdXRzUGVyY2VudAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTUKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNNaW5CYWxhbmNlKQoJZ2xvYmFsIFBheW91dHNNaW5CYWxhbmNlCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxNgoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c01heEJhbGFuY2UpCglnbG9iYWwgUGF5b3V0c01heEJhbGFuY2UKCWFzc2VydAoJcmV0c3ViCgovLyBvbmxpbmVTdGFrZU9wKCl2b2lkCiphYmlfcm91dGVfb25saW5lU3Rha2VPcDoKCS8vIGV4ZWN1dGUgb25saW5lU3Rha2VPcCgpdm9pZAoJY2FsbHN1YiBvbmxpbmVTdGFrZU9wCglpbnQgMQoJcmV0dXJuCgovLyBvbmxpbmVTdGFrZU9wKCk6IHZvaWQKb25saW5lU3Rha2VPcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjIwCgkvLyBhc3NlcnQob25saW5lU3Rha2UoKSkKCW9ubGluZV9zdGFrZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFjY291bnRQYXJhbXMoKXZvaWQKKmFiaV9yb3V0ZV9hY2NvdW50UGFyYW1zOgoJLy8gZXhlY3V0ZSBhY2NvdW50UGFyYW1zKCl2b2lkCgljYWxsc3ViIGFjY291bnRQYXJhbXMKCWludCAxCglyZXR1cm4KCi8vIGFjY291bnRQYXJhbXMoKTogdm9pZAphY2NvdW50UGFyYW1zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MjQKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIuaW5jZW50aXZlRWxpZ2libGUpCgl0eG4gU2VuZGVyCglhY2N0X3BhcmFtc19nZXQgQWNjdEluY2VudGl2ZUVsaWdpYmxlCglwb3AKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI1CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmxhc3RIZWFydGJlYXQpCgl0eG4gU2VuZGVyCglhY2N0X3BhcmFtc19nZXQgQWNjdExhc3RIZWFydGJlYXQKCXBvcAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MjYKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIubGFzdFByb3Bvc2VkKQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RMYXN0UHJvcG9zZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJsb2NrUGFyYW1zKCl2b2lkCiphYmlfcm91dGVfYmxvY2tQYXJhbXM6CgkvLyBleGVjdXRlIGJsb2NrUGFyYW1zKCl2b2lkCgljYWxsc3ViIGJsb2NrUGFyYW1zCglpbnQgMQoJcmV0dXJuCgovLyBibG9ja1BhcmFtcygpOiB2b2lkCmJsb2NrUGFyYW1zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzAKCS8vIGxvZyhibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3Bvc2VyKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvcG9zZXIKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5mZWVzQ29sbGVjdGVkKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrRmVlc0NvbGxlY3RlZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzIKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLmJvbnVzKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrQm9udXMKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMzCgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5icmFuY2gpCglnbG9iYWwgUm91bmQKCWludCAxCgktCglibG9jayBCbGtCcmFuY2gKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM0CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5mZWVTaW5rKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrRmVlU2luawoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzUKCS8vIGxvZyhibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3RvY29sKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvdG9jb2wKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM2CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS50eG5Db3VudGVyKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrVHhuQ291bnRlcgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzcKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3Bvc2VyUGF5b3V0KQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvcG9zZXJQYXlvdXQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidm90ZXJPcGNvZGVzKCl2b2lkIgoJbWV0aG9kICJpbmNlbnRpdmVHbG9iYWxzKCl2b2lkIgoJbWV0aG9kICJvbmxpbmVTdGFrZU9wKCl2b2lkIgoJbWV0aG9kICJhY2NvdW50UGFyYW1zKCl2b2lkIgoJbWV0aG9kICJibG9ja1BhcmFtcygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdm90ZXJPcGNvZGVzICphYmlfcm91dGVfaW5jZW50aXZlR2xvYmFscyAqYWJpX3JvdXRlX29ubGluZVN0YWtlT3AgKmFiaV9yb3V0ZV9hY2NvdW50UGFyYW1zICphYmlfcm91dGVfYmxvY2tQYXJhbXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEx"
},
"contract": {
diff --git a/tests/contracts/artifacts/AVM11.arc56_draft.json b/tests/contracts/artifacts/AVM11.arc56_draft.json
index 19d82b767..ba70e94d0 100644
--- a/tests/contracts/artifacts/AVM11.arc56_draft.json
+++ b/tests/contracts/artifacts/AVM11.arc56_draft.json
@@ -112,473 +112,476 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 3
- },
- {
- "teal": 13,
- "source": 3
- },
- {
- "teal": 14,
- "source": 3
- },
- {
- "teal": 15,
- "source": 3
- },
- {
- "teal": 16,
- "source": 3
- },
- {
- "teal": 17,
- "source": 3
- },
- {
- "teal": 18,
- "source": 3
- },
- {
- "teal": 19,
- "source": 3
- },
- {
- "teal": 23,
- "source": 3,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?"
- },
- {
- "teal": 28,
- "source": 6
- },
- {
- "teal": 29,
- "source": 6
- },
- {
- "teal": 30,
- "source": 6
- },
- {
- "teal": 34,
- "source": 6
- },
- {
- "teal": 38,
- "source": 7
- },
- {
- "teal": 39,
- "source": 7
- },
- {
- "teal": 40,
- "source": 7
- },
- {
- "teal": 41,
- "source": 6
- },
- {
- "teal": 46,
- "source": 11
- },
- {
- "teal": 47,
- "source": 11
- },
- {
- "teal": 48,
- "source": 11
- },
- {
- "teal": 52,
- "source": 11
- },
- {
- "teal": 56,
- "source": 12
- },
- {
- "teal": 57,
- "source": 12
- },
- {
- "teal": 61,
- "source": 13
- },
- {
- "teal": 62,
- "source": 13
- },
- {
- "teal": 66,
- "source": 14
- },
- {
- "teal": 67,
- "source": 14
- },
- {
- "teal": 71,
- "source": 15
- },
- {
- "teal": 72,
- "source": 15
- },
- {
- "teal": 76,
- "source": 16
- },
- {
- "teal": 77,
- "source": 16
- },
- {
- "teal": 78,
- "source": 11
- },
- {
- "teal": 83,
- "source": 19
- },
- {
- "teal": 84,
- "source": 19
- },
- {
- "teal": 85,
- "source": 19
- },
- {
- "teal": 89,
- "source": 19
- },
- {
- "teal": 93,
- "source": 20
- },
- {
- "teal": 94,
- "source": 20
- },
- {
- "teal": 95,
- "source": 19
- },
- {
- "teal": 100,
- "source": 23
- },
- {
- "teal": 101,
- "source": 23
- },
- {
- "teal": 102,
- "source": 23
- },
- {
- "teal": 106,
- "source": 23
- },
- {
- "teal": 110,
- "source": 24
- },
- {
- "teal": 111,
- "source": 24
- },
- {
- "teal": 112,
- "source": 24
- },
- {
- "teal": 113,
- "source": 24
- },
- {
- "teal": 117,
- "source": 25
- },
- {
- "teal": 118,
- "source": 25
- },
- {
- "teal": 119,
- "source": 25
- },
- {
- "teal": 120,
- "source": 25
- },
- {
- "teal": 124,
- "source": 26
- },
- {
- "teal": 125,
- "source": 26
- },
- {
- "teal": 126,
- "source": 26
- },
- {
- "teal": 127,
- "source": 26
- },
- {
- "teal": 128,
- "source": 23
- },
- {
- "teal": 133,
- "source": 29
- },
- {
- "teal": 134,
- "source": 29
- },
- {
- "teal": 135,
- "source": 29
- },
- {
- "teal": 139,
- "source": 29
- },
- {
- "teal": 143,
- "source": 30
- },
- {
- "teal": 144,
- "source": 30
- },
- {
- "teal": 145,
- "source": 30
- },
- {
- "teal": 146,
- "source": 30
- },
- {
- "teal": 147,
- "source": 30
- },
- {
- "teal": 151,
- "source": 31
- },
- {
- "teal": 152,
- "source": 31
- },
- {
- "teal": 153,
- "source": 31
- },
- {
- "teal": 154,
- "source": 31
- },
- {
- "teal": 155,
- "source": 31
- },
- {
- "teal": 159,
- "source": 32
- },
- {
- "teal": 160,
- "source": 32
- },
- {
- "teal": 161,
- "source": 32
- },
- {
- "teal": 162,
- "source": 32
- },
- {
- "teal": 163,
- "source": 32
- },
- {
- "teal": 167,
- "source": 33
- },
- {
- "teal": 168,
- "source": 33
- },
- {
- "teal": 169,
- "source": 33
- },
- {
- "teal": 170,
- "source": 33
- },
- {
- "teal": 171,
- "source": 33
- },
- {
- "teal": 175,
- "source": 34
- },
- {
- "teal": 176,
- "source": 34
- },
- {
- "teal": 177,
- "source": 34
- },
- {
- "teal": 178,
- "source": 34
- },
- {
- "teal": 179,
- "source": 34
- },
- {
- "teal": 183,
- "source": 35
- },
- {
- "teal": 184,
- "source": 35
- },
- {
- "teal": 185,
- "source": 35
- },
- {
- "teal": 186,
- "source": 35
- },
- {
- "teal": 187,
- "source": 35
- },
- {
- "teal": 191,
- "source": 36
- },
- {
- "teal": 192,
- "source": 36
- },
- {
- "teal": 193,
- "source": 36
- },
- {
- "teal": 194,
- "source": 36
- },
- {
- "teal": 195,
- "source": 36
- },
- {
- "teal": 199,
- "source": 37
- },
- {
- "teal": 200,
- "source": 37
- },
- {
- "teal": 201,
- "source": 37
- },
- {
- "teal": 202,
- "source": 37
- },
- {
- "teal": 203,
- "source": 37
- },
- {
- "teal": 204,
- "source": 29
- },
- {
- "teal": 207,
- "source": 3
- },
- {
- "teal": 208,
- "source": 3
- },
- {
- "teal": 211,
- "source": 3
- },
- {
- "teal": 212,
- "source": 3
- },
- {
- "teal": 213,
- "source": 3
- },
- {
- "teal": 216,
- "source": 3,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp"
- },
- {
- "teal": 219,
- "source": 3
- },
- {
- "teal": 220,
- "source": 3
- },
- {
- "teal": 221,
- "source": 3
- },
- {
- "teal": 222,
- "source": 3
- },
- {
- "teal": 223,
- "source": 3
- },
- {
- "teal": 224,
- "source": 3
- },
- {
- "teal": 225,
- "source": 3
- },
- {
- "teal": 228,
- "source": 3,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp"
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 3
+ },
+ {
+ "teal": 13,
+ "source": 3
+ },
+ {
+ "teal": 14,
+ "source": 3
+ },
+ {
+ "teal": 15,
+ "source": 3
+ },
+ {
+ "teal": 16,
+ "source": 3
+ },
+ {
+ "teal": 17,
+ "source": 3
+ },
+ {
+ "teal": 18,
+ "source": 3
+ },
+ {
+ "teal": 19,
+ "source": 3
+ },
+ {
+ "teal": 23,
+ "source": 3,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?"
+ },
+ {
+ "teal": 28,
+ "source": 6
+ },
+ {
+ "teal": 29,
+ "source": 6
+ },
+ {
+ "teal": 30,
+ "source": 6
+ },
+ {
+ "teal": 34,
+ "source": 6
+ },
+ {
+ "teal": 38,
+ "source": 7
+ },
+ {
+ "teal": 39,
+ "source": 7
+ },
+ {
+ "teal": 40,
+ "source": 7
+ },
+ {
+ "teal": 41,
+ "source": 6
+ },
+ {
+ "teal": 46,
+ "source": 11
+ },
+ {
+ "teal": 47,
+ "source": 11
+ },
+ {
+ "teal": 48,
+ "source": 11
+ },
+ {
+ "teal": 52,
+ "source": 11
+ },
+ {
+ "teal": 56,
+ "source": 12
+ },
+ {
+ "teal": 57,
+ "source": 12
+ },
+ {
+ "teal": 61,
+ "source": 13
+ },
+ {
+ "teal": 62,
+ "source": 13
+ },
+ {
+ "teal": 66,
+ "source": 14
+ },
+ {
+ "teal": 67,
+ "source": 14
+ },
+ {
+ "teal": 71,
+ "source": 15
+ },
+ {
+ "teal": 72,
+ "source": 15
+ },
+ {
+ "teal": 76,
+ "source": 16
+ },
+ {
+ "teal": 77,
+ "source": 16
+ },
+ {
+ "teal": 78,
+ "source": 11
+ },
+ {
+ "teal": 83,
+ "source": 19
+ },
+ {
+ "teal": 84,
+ "source": 19
+ },
+ {
+ "teal": 85,
+ "source": 19
+ },
+ {
+ "teal": 89,
+ "source": 19
+ },
+ {
+ "teal": 93,
+ "source": 20
+ },
+ {
+ "teal": 94,
+ "source": 20
+ },
+ {
+ "teal": 95,
+ "source": 19
+ },
+ {
+ "teal": 100,
+ "source": 23
+ },
+ {
+ "teal": 101,
+ "source": 23
+ },
+ {
+ "teal": 102,
+ "source": 23
+ },
+ {
+ "teal": 106,
+ "source": 23
+ },
+ {
+ "teal": 110,
+ "source": 24
+ },
+ {
+ "teal": 111,
+ "source": 24
+ },
+ {
+ "teal": 112,
+ "source": 24
+ },
+ {
+ "teal": 113,
+ "source": 24
+ },
+ {
+ "teal": 117,
+ "source": 25
+ },
+ {
+ "teal": 118,
+ "source": 25
+ },
+ {
+ "teal": 119,
+ "source": 25
+ },
+ {
+ "teal": 120,
+ "source": 25
+ },
+ {
+ "teal": 124,
+ "source": 26
+ },
+ {
+ "teal": 125,
+ "source": 26
+ },
+ {
+ "teal": 126,
+ "source": 26
+ },
+ {
+ "teal": 127,
+ "source": 26
+ },
+ {
+ "teal": 128,
+ "source": 23
+ },
+ {
+ "teal": 133,
+ "source": 29
+ },
+ {
+ "teal": 134,
+ "source": 29
+ },
+ {
+ "teal": 135,
+ "source": 29
+ },
+ {
+ "teal": 139,
+ "source": 29
+ },
+ {
+ "teal": 143,
+ "source": 30
+ },
+ {
+ "teal": 144,
+ "source": 30
+ },
+ {
+ "teal": 145,
+ "source": 30
+ },
+ {
+ "teal": 146,
+ "source": 30
+ },
+ {
+ "teal": 147,
+ "source": 30
+ },
+ {
+ "teal": 151,
+ "source": 31
+ },
+ {
+ "teal": 152,
+ "source": 31
+ },
+ {
+ "teal": 153,
+ "source": 31
+ },
+ {
+ "teal": 154,
+ "source": 31
+ },
+ {
+ "teal": 155,
+ "source": 31
+ },
+ {
+ "teal": 159,
+ "source": 32
+ },
+ {
+ "teal": 160,
+ "source": 32
+ },
+ {
+ "teal": 161,
+ "source": 32
+ },
+ {
+ "teal": 162,
+ "source": 32
+ },
+ {
+ "teal": 163,
+ "source": 32
+ },
+ {
+ "teal": 167,
+ "source": 33
+ },
+ {
+ "teal": 168,
+ "source": 33
+ },
+ {
+ "teal": 169,
+ "source": 33
+ },
+ {
+ "teal": 170,
+ "source": 33
+ },
+ {
+ "teal": 171,
+ "source": 33
+ },
+ {
+ "teal": 175,
+ "source": 34
+ },
+ {
+ "teal": 176,
+ "source": 34
+ },
+ {
+ "teal": 177,
+ "source": 34
+ },
+ {
+ "teal": 178,
+ "source": 34
+ },
+ {
+ "teal": 179,
+ "source": 34
+ },
+ {
+ "teal": 183,
+ "source": 35
+ },
+ {
+ "teal": 184,
+ "source": 35
+ },
+ {
+ "teal": 185,
+ "source": 35
+ },
+ {
+ "teal": 186,
+ "source": 35
+ },
+ {
+ "teal": 187,
+ "source": 35
+ },
+ {
+ "teal": 191,
+ "source": 36
+ },
+ {
+ "teal": 192,
+ "source": 36
+ },
+ {
+ "teal": 193,
+ "source": 36
+ },
+ {
+ "teal": 194,
+ "source": 36
+ },
+ {
+ "teal": 195,
+ "source": 36
+ },
+ {
+ "teal": 199,
+ "source": 37
+ },
+ {
+ "teal": 200,
+ "source": 37
+ },
+ {
+ "teal": 201,
+ "source": 37
+ },
+ {
+ "teal": 202,
+ "source": 37
+ },
+ {
+ "teal": 203,
+ "source": 37
+ },
+ {
+ "teal": 204,
+ "source": 29
+ },
+ {
+ "teal": 207,
+ "source": 3
+ },
+ {
+ "teal": 208,
+ "source": 3
+ },
+ {
+ "teal": 211,
+ "source": 3
+ },
+ {
+ "teal": 212,
+ "source": 3
+ },
+ {
+ "teal": 213,
+ "source": 3
+ },
+ {
+ "teal": 216,
+ "source": 3,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp"
+ },
+ {
+ "teal": 219,
+ "source": 3
+ },
+ {
+ "teal": 220,
+ "source": 3
+ },
+ {
+ "teal": 221,
+ "source": 3
+ },
+ {
+ "teal": 222,
+ "source": 3
+ },
+ {
+ "teal": 223,
+ "source": 3
+ },
+ {
+ "teal": 224,
+ "source": 3
+ },
+ {
+ "teal": 225,
+ "source": 3
+ },
+ {
+ "teal": 228,
+ "source": 3,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp"
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB2b3Rlck9wY29kZXMoKXZvaWQKKmFiaV9yb3V0ZV92b3Rlck9wY29kZXM6CgkvLyBleGVjdXRlIHZvdGVyT3Bjb2Rlcygpdm9pZAoJY2FsbHN1YiB2b3Rlck9wY29kZXMKCWludCAxCglyZXR1cm4KCi8vIHZvdGVyT3Bjb2RlcygpOiB2b2lkCnZvdGVyT3Bjb2RlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjcKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIudm90ZXJCYWxhbmNlKQoJdHhuIFNlbmRlcgoJdm90ZXJfcGFyYW1zX2dldCBWb3RlckJhbGFuY2UKCWFzc2VydAoJcmV0c3ViCgovLyBpbmNlbnRpdmVHbG9iYWxzKCl2b2lkCiphYmlfcm91dGVfaW5jZW50aXZlR2xvYmFsczoKCS8vIGV4ZWN1dGUgaW5jZW50aXZlR2xvYmFscygpdm9pZAoJY2FsbHN1YiBpbmNlbnRpdmVHbG9iYWxzCglpbnQgMQoJcmV0dXJuCgovLyBpbmNlbnRpdmVHbG9iYWxzKCk6IHZvaWQKaW5jZW50aXZlR2xvYmFsczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjEyCgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzRW5hYmxlZCkKCWdsb2JhbCBQYXlvdXRzRW5hYmxlZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTMKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNHb09ubGluZUZlZSkKCWdsb2JhbCBQYXlvdXRzR29PbmxpbmVGZWUKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzUGVyY2VudCkKCWdsb2JhbCBQYXlvdXRzUGVyY2VudAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTUKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNNaW5CYWxhbmNlKQoJZ2xvYmFsIFBheW91dHNNaW5CYWxhbmNlCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxNgoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c01heEJhbGFuY2UpCglnbG9iYWwgUGF5b3V0c01heEJhbGFuY2UKCWFzc2VydAoJcmV0c3ViCgovLyBvbmxpbmVTdGFrZU9wKCl2b2lkCiphYmlfcm91dGVfb25saW5lU3Rha2VPcDoKCS8vIGV4ZWN1dGUgb25saW5lU3Rha2VPcCgpdm9pZAoJY2FsbHN1YiBvbmxpbmVTdGFrZU9wCglpbnQgMQoJcmV0dXJuCgovLyBvbmxpbmVTdGFrZU9wKCk6IHZvaWQKb25saW5lU3Rha2VPcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjIwCgkvLyBhc3NlcnQob25saW5lU3Rha2UoKSkKCW9ubGluZV9zdGFrZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFjY291bnRQYXJhbXMoKXZvaWQKKmFiaV9yb3V0ZV9hY2NvdW50UGFyYW1zOgoJLy8gZXhlY3V0ZSBhY2NvdW50UGFyYW1zKCl2b2lkCgljYWxsc3ViIGFjY291bnRQYXJhbXMKCWludCAxCglyZXR1cm4KCi8vIGFjY291bnRQYXJhbXMoKTogdm9pZAphY2NvdW50UGFyYW1zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MjQKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIuaW5jZW50aXZlRWxpZ2libGUpCgl0eG4gU2VuZGVyCglhY2N0X3BhcmFtc19nZXQgQWNjdEluY2VudGl2ZUVsaWdpYmxlCglwb3AKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI1CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmxhc3RIZWFydGJlYXQpCgl0eG4gU2VuZGVyCglhY2N0X3BhcmFtc19nZXQgQWNjdExhc3RIZWFydGJlYXQKCXBvcAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MjYKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIubGFzdFByb3Bvc2VkKQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RMYXN0UHJvcG9zZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJsb2NrUGFyYW1zKCl2b2lkCiphYmlfcm91dGVfYmxvY2tQYXJhbXM6CgkvLyBleGVjdXRlIGJsb2NrUGFyYW1zKCl2b2lkCgljYWxsc3ViIGJsb2NrUGFyYW1zCglpbnQgMQoJcmV0dXJuCgovLyBibG9ja1BhcmFtcygpOiB2b2lkCmJsb2NrUGFyYW1zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzAKCS8vIGxvZyhibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3Bvc2VyKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvcG9zZXIKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5mZWVzQ29sbGVjdGVkKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrRmVlc0NvbGxlY3RlZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzIKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLmJvbnVzKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrQm9udXMKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMzCgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5icmFuY2gpCglnbG9iYWwgUm91bmQKCWludCAxCgktCglibG9jayBCbGtCcmFuY2gKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM0CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5mZWVTaW5rKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrRmVlU2luawoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzUKCS8vIGxvZyhibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3RvY29sKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvdG9jb2wKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM2CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS50eG5Db3VudGVyKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrVHhuQ291bnRlcgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzcKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3Bvc2VyUGF5b3V0KQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvcG9zZXJQYXlvdXQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidm90ZXJPcGNvZGVzKCl2b2lkIgoJbWV0aG9kICJpbmNlbnRpdmVHbG9iYWxzKCl2b2lkIgoJbWV0aG9kICJvbmxpbmVTdGFrZU9wKCl2b2lkIgoJbWV0aG9kICJhY2NvdW50UGFyYW1zKCl2b2lkIgoJbWV0aG9kICJibG9ja1BhcmFtcygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdm90ZXJPcGNvZGVzICphYmlfcm91dGVfaW5jZW50aXZlR2xvYmFscyAqYWJpX3JvdXRlX29ubGluZVN0YWtlT3AgKmFiaV9yb3V0ZV9hY2NvdW50UGFyYW1zICphYmlfcm91dGVfYmxvY2tQYXJhbXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB2b3Rlck9wY29kZXMoKXZvaWQKKmFiaV9yb3V0ZV92b3Rlck9wY29kZXM6CgkvLyBleGVjdXRlIHZvdGVyT3Bjb2Rlcygpdm9pZAoJY2FsbHN1YiB2b3Rlck9wY29kZXMKCWludCAxCglyZXR1cm4KCi8vIHZvdGVyT3Bjb2RlcygpOiB2b2lkCnZvdGVyT3Bjb2RlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjcKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIudm90ZXJCYWxhbmNlKQoJdHhuIFNlbmRlcgoJdm90ZXJfcGFyYW1zX2dldCBWb3RlckJhbGFuY2UKCWFzc2VydAoJcmV0c3ViCgovLyBpbmNlbnRpdmVHbG9iYWxzKCl2b2lkCiphYmlfcm91dGVfaW5jZW50aXZlR2xvYmFsczoKCS8vIGV4ZWN1dGUgaW5jZW50aXZlR2xvYmFscygpdm9pZAoJY2FsbHN1YiBpbmNlbnRpdmVHbG9iYWxzCglpbnQgMQoJcmV0dXJuCgovLyBpbmNlbnRpdmVHbG9iYWxzKCk6IHZvaWQKaW5jZW50aXZlR2xvYmFsczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjEyCgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzRW5hYmxlZCkKCWdsb2JhbCBQYXlvdXRzRW5hYmxlZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTMKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNHb09ubGluZUZlZSkKCWdsb2JhbCBQYXlvdXRzR29PbmxpbmVGZWUKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzUGVyY2VudCkKCWdsb2JhbCBQYXlvdXRzUGVyY2VudAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTUKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNNaW5CYWxhbmNlKQoJZ2xvYmFsIFBheW91dHNNaW5CYWxhbmNlCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxNgoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c01heEJhbGFuY2UpCglnbG9iYWwgUGF5b3V0c01heEJhbGFuY2UKCWFzc2VydAoJcmV0c3ViCgovLyBvbmxpbmVTdGFrZU9wKCl2b2lkCiphYmlfcm91dGVfb25saW5lU3Rha2VPcDoKCS8vIGV4ZWN1dGUgb25saW5lU3Rha2VPcCgpdm9pZAoJY2FsbHN1YiBvbmxpbmVTdGFrZU9wCglpbnQgMQoJcmV0dXJuCgovLyBvbmxpbmVTdGFrZU9wKCk6IHZvaWQKb25saW5lU3Rha2VPcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjIwCgkvLyBhc3NlcnQob25saW5lU3Rha2UoKSkKCW9ubGluZV9zdGFrZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFjY291bnRQYXJhbXMoKXZvaWQKKmFiaV9yb3V0ZV9hY2NvdW50UGFyYW1zOgoJLy8gZXhlY3V0ZSBhY2NvdW50UGFyYW1zKCl2b2lkCgljYWxsc3ViIGFjY291bnRQYXJhbXMKCWludCAxCglyZXR1cm4KCi8vIGFjY291bnRQYXJhbXMoKTogdm9pZAphY2NvdW50UGFyYW1zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MjQKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIuaW5jZW50aXZlRWxpZ2libGUpCgl0eG4gU2VuZGVyCglhY2N0X3BhcmFtc19nZXQgQWNjdEluY2VudGl2ZUVsaWdpYmxlCglwb3AKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI1CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmxhc3RIZWFydGJlYXQpCgl0eG4gU2VuZGVyCglhY2N0X3BhcmFtc19nZXQgQWNjdExhc3RIZWFydGJlYXQKCXBvcAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MjYKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIubGFzdFByb3Bvc2VkKQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RMYXN0UHJvcG9zZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJsb2NrUGFyYW1zKCl2b2lkCiphYmlfcm91dGVfYmxvY2tQYXJhbXM6CgkvLyBleGVjdXRlIGJsb2NrUGFyYW1zKCl2b2lkCgljYWxsc3ViIGJsb2NrUGFyYW1zCglpbnQgMQoJcmV0dXJuCgovLyBibG9ja1BhcmFtcygpOiB2b2lkCmJsb2NrUGFyYW1zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzAKCS8vIGxvZyhibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3Bvc2VyKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvcG9zZXIKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5mZWVzQ29sbGVjdGVkKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrRmVlc0NvbGxlY3RlZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzIKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLmJvbnVzKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrQm9udXMKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMzCgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5icmFuY2gpCglnbG9iYWwgUm91bmQKCWludCAxCgktCglibG9jayBCbGtCcmFuY2gKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM0CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5mZWVTaW5rKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrRmVlU2luawoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzUKCS8vIGxvZyhibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3RvY29sKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvdG9jb2wKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM2CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS50eG5Db3VudGVyKQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrVHhuQ291bnRlcgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MzcKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnByb3Bvc2VyUGF5b3V0KQoJZ2xvYmFsIFJvdW5kCglpbnQgMQoJLQoJYmxvY2sgQmxrUHJvcG9zZXJQYXlvdXQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidm90ZXJPcGNvZGVzKCl2b2lkIgoJbWV0aG9kICJpbmNlbnRpdmVHbG9iYWxzKCl2b2lkIgoJbWV0aG9kICJvbmxpbmVTdGFrZU9wKCl2b2lkIgoJbWV0aG9kICJhY2NvdW50UGFyYW1zKCl2b2lkIgoJbWV0aG9kICJibG9ja1BhcmFtcygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdm90ZXJPcGNvZGVzICphYmlfcm91dGVfaW5jZW50aXZlR2xvYmFscyAqYWJpX3JvdXRlX29ubGluZVN0YWtlT3AgKmFiaV9yb3V0ZV9hY2NvdW50UGFyYW1zICphYmlfcm91dGVfYmxvY2tQYXJhbXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEx"
}
}
\ No newline at end of file
diff --git a/tests/contracts/artifacts/AccountTest.approval.teal b/tests/contracts/artifacts/AccountTest.approval.teal
index 6e9b56500..eb10cddf4 100644
--- a/tests/contracts/artifacts/AccountTest.approval.teal
+++ b/tests/contracts/artifacts/AccountTest.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/AccountTest.arc32.json b/tests/contracts/artifacts/AccountTest.arc32.json
index 97d774142..f86e15c16 100644
--- a/tests/contracts/artifacts/AccountTest.arc32.json
+++ b/tests/contracts/artifacts/AccountTest.arc32.json
@@ -114,7 +114,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBoYXNBc3NldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9oYXNBc3NldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGhhc0Fzc2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGhhc0Fzc2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBoYXNBc3NldAoJaW50IDEKCXJldHVybgoKLy8gaGFzQXNzZXQoYTogQWRkcmVzcyk6IHZvaWQKaGFzQXNzZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjYKCS8vIGFzc2VydChhLmlzT3B0ZWRJblRvQXNzZXQoQXNzZXRJRC5mcm9tVWludDY0KDEyMykpKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWludCAxMjMKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYXNzZXRCYWxhbmNlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0QmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGFzc2V0QmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhc3NldEJhbGFuY2UoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFzc2V0QmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRCYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmFzc2V0QmFsYW5jZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MTAKCS8vIGFzc2VydChhLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50IDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBhc3NldEZyb3plbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hc3NldEZyb3plbjoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGFzc2V0RnJvemVuIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBhc3NldEZyb3plbgoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRGcm96ZW4oYTogQWRkcmVzcyk6IHZvaWQKYXNzZXRGcm96ZW46Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoYS5hc3NldEZyb3plbihBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50IDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRGcm96ZW4KCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGhhc0JhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfaGFzQmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGhhc0JhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgaGFzQmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gaGFzQmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZApoYXNCYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoxOAoJLy8gYXNzZXJ0KGEuaXNJbkxlZGdlcikKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGJhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gYmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZApiYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoyMgoJLy8gYXNzZXJ0KGEuYmFsYW5jZSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIG1pbkJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbWluQmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIG1pbkJhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWluQmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbWluQmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gbWluQmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZAptaW5CYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoyNgoJLy8gYXNzZXJ0KGEubWluQmFsYW5jZSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGF1dGhBZGRyKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2F1dGhBZGRyOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXV0aEFkZHIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXV0aEFkZHIoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGF1dGhBZGRyCglpbnQgMQoJcmV0dXJuCgovLyBhdXRoQWRkcihhOiBBZGRyZXNzKTogdm9pZAphdXRoQWRkcjoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzAKCS8vIGxvZyhhLmF1dGhBZGRyKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJbG9nCglyZXRzdWIKCi8vIHRvdGFsTnVtVWludChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbE51bVVpbnQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbE51bVVpbnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxOdW1VaW50KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbE51bVVpbnQKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsTnVtVWludChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbE51bVVpbnQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoYS50b3RhbE51bVVpbnQpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbE51bVVpbnQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsTnVtQnl0ZVNsaWNlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsTnVtQnl0ZVNsaWNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxOdW1CeXRlU2xpY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxOdW1CeXRlU2xpY2UoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsTnVtQnl0ZVNsaWNlCglpbnQgMQoJcmV0dXJuCgovLyB0b3RhbE51bUJ5dGVTbGljZShhOiBBZGRyZXNzKTogdm9pZAp0b3RhbE51bUJ5dGVTbGljZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzgKCS8vIGFzc2VydChhLnRvdGFsTnVtQnl0ZVNsaWNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxOdW1CeXRlU2xpY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsRXh0cmFBcHBQYWdlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEV4dHJhQXBwUGFnZXM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEV4dHJhQXBwUGFnZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEV4dHJhQXBwUGFnZXMKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsRXh0cmFBcHBQYWdlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEV4dHJhQXBwUGFnZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjQyCgkvLyBhc3NlcnQoYS50b3RhbEV4dHJhQXBwUGFnZXMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEV4dHJhQXBwUGFnZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXBwc0NyZWF0ZWQoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBcHBzQ3JlYXRlZDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXBwc0NyZWF0ZWQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBcHBzQ3JlYXRlZAoJaW50IDEKCXJldHVybgoKLy8gdG90YWxBcHBzQ3JlYXRlZChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFwcHNDcmVhdGVkOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo0NgoJLy8gYXNzZXJ0KGEudG90YWxBcHBzQ3JlYXRlZCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXBwc0NyZWF0ZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXBwc09wdGVkSW4oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBcHBzT3B0ZWRJbjoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXBwc09wdGVkSW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBcHBzT3B0ZWRJbihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBcHBzT3B0ZWRJbgoJaW50IDEKCXJldHVybgoKLy8gdG90YWxBcHBzT3B0ZWRJbihhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFwcHNPcHRlZEluOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo1MAoJLy8gYXNzZXJ0KGEudG90YWxBcHBzT3B0ZWRJbikKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXBwc09wdGVkSW4KCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXNzZXRzQ3JlYXRlZChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFzc2V0c0NyZWF0ZWQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEFzc2V0c0NyZWF0ZWQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFzc2V0c0NyZWF0ZWQKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsQXNzZXRzQ3JlYXRlZChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFzc2V0c0NyZWF0ZWQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjU0CgkvLyBhc3NlcnQoYS50b3RhbEFzc2V0c0NyZWF0ZWQpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEFzc2V0c0NyZWF0ZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXNzZXRzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsQXNzZXRzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBc3NldHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBc3NldHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsQXNzZXRzCglpbnQgMQoJcmV0dXJuCgovLyB0b3RhbEFzc2V0cyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFzc2V0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NTgKCS8vIGFzc2VydChhLnRvdGFsQXNzZXRzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBc3NldHMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQm94ZXMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxCb3hlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQm94ZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxCb3hlcyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxCb3hlcwoJaW50IDEKCXJldHVybgoKLy8gdG90YWxCb3hlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEJveGVzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo2MgoJLy8gYXNzZXJ0KGEudG90YWxCb3hlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQm94ZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQm94Qnl0ZXMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxCb3hCeXRlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQm94Qnl0ZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxCb3hCeXRlcwoJaW50IDEKCXJldHVybgoKLy8gdG90YWxCb3hCeXRlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEJveEJ5dGVzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo2NgoJLy8gYXNzZXJ0KGEudG90YWxCb3hCeXRlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQm94Qnl0ZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJoYXNBc3NldChhZGRyZXNzKXZvaWQiCgltZXRob2QgImFzc2V0QmFsYW5jZShhZGRyZXNzKXZvaWQiCgltZXRob2QgImFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQiCgltZXRob2QgImJhbGFuY2UoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJtaW5CYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiYXV0aEFkZHIoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbE51bVVpbnQoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbE51bUJ5dGVTbGljZShhZGRyZXNzKXZvaWQiCgltZXRob2QgInRvdGFsRXh0cmFBcHBQYWdlcyhhZGRyZXNzKXZvaWQiCgltZXRob2QgInRvdGFsQXBwc0NyZWF0ZWQoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbEFwcHNPcHRlZEluKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxBc3NldHMoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbEJveGVzKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2hhc0Fzc2V0ICphYmlfcm91dGVfYXNzZXRCYWxhbmNlICphYmlfcm91dGVfYXNzZXRGcm96ZW4gKmFiaV9yb3V0ZV9oYXNCYWxhbmNlICphYmlfcm91dGVfYmFsYW5jZSAqYWJpX3JvdXRlX21pbkJhbGFuY2UgKmFiaV9yb3V0ZV9hdXRoQWRkciAqYWJpX3JvdXRlX3RvdGFsTnVtVWludCAqYWJpX3JvdXRlX3RvdGFsTnVtQnl0ZVNsaWNlICphYmlfcm91dGVfdG90YWxFeHRyYUFwcFBhZ2VzICphYmlfcm91dGVfdG90YWxBcHBzQ3JlYXRlZCAqYWJpX3JvdXRlX3RvdGFsQXBwc09wdGVkSW4gKmFiaV9yb3V0ZV90b3RhbEFzc2V0c0NyZWF0ZWQgKmFiaV9yb3V0ZV90b3RhbEFzc2V0cyAqYWJpX3JvdXRlX3RvdGFsQm94ZXMgKmFiaV9yb3V0ZV90b3RhbEJveEJ5dGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBoYXNBc3NldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9oYXNBc3NldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGhhc0Fzc2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGhhc0Fzc2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBoYXNBc3NldAoJaW50IDEKCXJldHVybgoKLy8gaGFzQXNzZXQoYTogQWRkcmVzcyk6IHZvaWQKaGFzQXNzZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjYKCS8vIGFzc2VydChhLmlzT3B0ZWRJblRvQXNzZXQoQXNzZXRJRC5mcm9tVWludDY0KDEyMykpKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWludCAxMjMKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYXNzZXRCYWxhbmNlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0QmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGFzc2V0QmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhc3NldEJhbGFuY2UoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFzc2V0QmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRCYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmFzc2V0QmFsYW5jZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MTAKCS8vIGFzc2VydChhLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50IDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBhc3NldEZyb3plbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hc3NldEZyb3plbjoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGFzc2V0RnJvemVuIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBhc3NldEZyb3plbgoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRGcm96ZW4oYTogQWRkcmVzcyk6IHZvaWQKYXNzZXRGcm96ZW46Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoYS5hc3NldEZyb3plbihBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50IDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRGcm96ZW4KCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGhhc0JhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfaGFzQmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGhhc0JhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgaGFzQmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gaGFzQmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZApoYXNCYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoxOAoJLy8gYXNzZXJ0KGEuaXNJbkxlZGdlcikKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGJhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gYmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZApiYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoyMgoJLy8gYXNzZXJ0KGEuYmFsYW5jZSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIG1pbkJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbWluQmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIG1pbkJhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWluQmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbWluQmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gbWluQmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZAptaW5CYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoyNgoJLy8gYXNzZXJ0KGEubWluQmFsYW5jZSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGF1dGhBZGRyKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2F1dGhBZGRyOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXV0aEFkZHIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXV0aEFkZHIoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGF1dGhBZGRyCglpbnQgMQoJcmV0dXJuCgovLyBhdXRoQWRkcihhOiBBZGRyZXNzKTogdm9pZAphdXRoQWRkcjoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzAKCS8vIGxvZyhhLmF1dGhBZGRyKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJbG9nCglyZXRzdWIKCi8vIHRvdGFsTnVtVWludChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbE51bVVpbnQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbE51bVVpbnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxOdW1VaW50KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbE51bVVpbnQKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsTnVtVWludChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbE51bVVpbnQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoYS50b3RhbE51bVVpbnQpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbE51bVVpbnQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsTnVtQnl0ZVNsaWNlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsTnVtQnl0ZVNsaWNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxOdW1CeXRlU2xpY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxOdW1CeXRlU2xpY2UoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsTnVtQnl0ZVNsaWNlCglpbnQgMQoJcmV0dXJuCgovLyB0b3RhbE51bUJ5dGVTbGljZShhOiBBZGRyZXNzKTogdm9pZAp0b3RhbE51bUJ5dGVTbGljZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzgKCS8vIGFzc2VydChhLnRvdGFsTnVtQnl0ZVNsaWNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxOdW1CeXRlU2xpY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsRXh0cmFBcHBQYWdlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEV4dHJhQXBwUGFnZXM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEV4dHJhQXBwUGFnZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEV4dHJhQXBwUGFnZXMKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsRXh0cmFBcHBQYWdlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEV4dHJhQXBwUGFnZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjQyCgkvLyBhc3NlcnQoYS50b3RhbEV4dHJhQXBwUGFnZXMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEV4dHJhQXBwUGFnZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXBwc0NyZWF0ZWQoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBcHBzQ3JlYXRlZDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXBwc0NyZWF0ZWQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBcHBzQ3JlYXRlZAoJaW50IDEKCXJldHVybgoKLy8gdG90YWxBcHBzQ3JlYXRlZChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFwcHNDcmVhdGVkOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo0NgoJLy8gYXNzZXJ0KGEudG90YWxBcHBzQ3JlYXRlZCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXBwc0NyZWF0ZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXBwc09wdGVkSW4oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBcHBzT3B0ZWRJbjoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXBwc09wdGVkSW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBcHBzT3B0ZWRJbihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBcHBzT3B0ZWRJbgoJaW50IDEKCXJldHVybgoKLy8gdG90YWxBcHBzT3B0ZWRJbihhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFwcHNPcHRlZEluOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo1MAoJLy8gYXNzZXJ0KGEudG90YWxBcHBzT3B0ZWRJbikKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXBwc09wdGVkSW4KCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXNzZXRzQ3JlYXRlZChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFzc2V0c0NyZWF0ZWQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEFzc2V0c0NyZWF0ZWQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFzc2V0c0NyZWF0ZWQKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsQXNzZXRzQ3JlYXRlZChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFzc2V0c0NyZWF0ZWQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjU0CgkvLyBhc3NlcnQoYS50b3RhbEFzc2V0c0NyZWF0ZWQpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEFzc2V0c0NyZWF0ZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXNzZXRzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsQXNzZXRzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBc3NldHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBc3NldHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsQXNzZXRzCglpbnQgMQoJcmV0dXJuCgovLyB0b3RhbEFzc2V0cyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFzc2V0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NTgKCS8vIGFzc2VydChhLnRvdGFsQXNzZXRzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBc3NldHMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQm94ZXMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxCb3hlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQm94ZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxCb3hlcyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxCb3hlcwoJaW50IDEKCXJldHVybgoKLy8gdG90YWxCb3hlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEJveGVzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo2MgoJLy8gYXNzZXJ0KGEudG90YWxCb3hlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQm94ZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQm94Qnl0ZXMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxCb3hCeXRlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQm94Qnl0ZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxCb3hCeXRlcwoJaW50IDEKCXJldHVybgoKLy8gdG90YWxCb3hCeXRlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEJveEJ5dGVzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo2NgoJLy8gYXNzZXJ0KGEudG90YWxCb3hCeXRlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQm94Qnl0ZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJoYXNBc3NldChhZGRyZXNzKXZvaWQiCgltZXRob2QgImFzc2V0QmFsYW5jZShhZGRyZXNzKXZvaWQiCgltZXRob2QgImFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQiCgltZXRob2QgImJhbGFuY2UoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJtaW5CYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiYXV0aEFkZHIoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbE51bVVpbnQoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbE51bUJ5dGVTbGljZShhZGRyZXNzKXZvaWQiCgltZXRob2QgInRvdGFsRXh0cmFBcHBQYWdlcyhhZGRyZXNzKXZvaWQiCgltZXRob2QgInRvdGFsQXBwc0NyZWF0ZWQoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbEFwcHNPcHRlZEluKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxBc3NldHMoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbEJveGVzKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2hhc0Fzc2V0ICphYmlfcm91dGVfYXNzZXRCYWxhbmNlICphYmlfcm91dGVfYXNzZXRGcm96ZW4gKmFiaV9yb3V0ZV9oYXNCYWxhbmNlICphYmlfcm91dGVfYmFsYW5jZSAqYWJpX3JvdXRlX21pbkJhbGFuY2UgKmFiaV9yb3V0ZV9hdXRoQWRkciAqYWJpX3JvdXRlX3RvdGFsTnVtVWludCAqYWJpX3JvdXRlX3RvdGFsTnVtQnl0ZVNsaWNlICphYmlfcm91dGVfdG90YWxFeHRyYUFwcFBhZ2VzICphYmlfcm91dGVfdG90YWxBcHBzQ3JlYXRlZCAqYWJpX3JvdXRlX3RvdGFsQXBwc09wdGVkSW4gKmFiaV9yb3V0ZV90b3RhbEFzc2V0c0NyZWF0ZWQgKmFiaV9yb3V0ZV90b3RhbEFzc2V0cyAqYWJpX3JvdXRlX3RvdGFsQm94ZXMgKmFiaV9yb3V0ZV90b3RhbEJveEJ5dGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/AccountTest.arc56_draft.json b/tests/contracts/artifacts/AccountTest.arc56_draft.json
index a4596f1a8..329e3bab6 100644
--- a/tests/contracts/artifacts/AccountTest.arc56_draft.json
+++ b/tests/contracts/artifacts/AccountTest.arc56_draft.json
@@ -335,2268 +335,2271 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 4,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ]
- },
- {
- "teal": 13,
- "source": 4,
- "pc": [
- 6,
- 7
- ]
- },
- {
- "teal": 14,
- "source": 4,
- "pc": [
- 8
- ]
- },
- {
- "teal": 15,
- "source": 4,
- "pc": [
- 9,
- 10
- ]
- },
- {
- "teal": 16,
- "source": 4,
- "pc": [
- 11
- ]
- },
- {
- "teal": 17,
- "source": 4,
- "pc": [
- 12,
- 13
- ]
- },
- {
- "teal": 18,
- "source": 4,
- "pc": [
- 14
- ]
- },
- {
- "teal": 19,
- "source": 4,
- "pc": [
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40
- ]
- },
- {
- "teal": 23,
- "source": 4,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 41
- ]
- },
- {
- "teal": 28,
- "source": 5,
- "pc": [
- 42,
- 43,
- 44
- ]
- },
- {
- "teal": 29,
- "source": 5,
- "pc": [
- 45
- ]
- },
- {
- "teal": 30,
- "source": 5,
- "pc": [
- 46
- ]
- },
- {
- "teal": 31,
- "source": 5,
- "pc": [
- 47
- ]
- },
- {
- "teal": 32,
- "source": 5,
- "pc": [
- 48
- ]
- },
- {
- "teal": 35,
- "source": 5,
- "errorMessage": "argument 0 (a) for hasAsset must be a address",
- "pc": [
- 49
- ]
- },
- {
- "teal": 38,
- "source": 5,
- "pc": [
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 39,
- "source": 5,
- "pc": [
- 53
- ]
- },
- {
- "teal": 40,
- "source": 5,
- "pc": [
- 54
- ]
- },
- {
- "teal": 44,
- "source": 5,
- "pc": [
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 48,
- "source": 6,
- "pc": [
- 58,
- 59
- ]
- },
- {
- "teal": 49,
- "source": 6,
- "pc": [
- 60
- ]
- },
- {
- "teal": 50,
- "source": 6,
- "pc": [
- 61,
- 62
- ]
- },
- {
- "teal": 51,
- "source": 6,
- "pc": [
- 63
- ]
- },
- {
- "teal": 52,
- "source": 6,
- "pc": [
- 64
- ]
- },
- {
- "teal": 53,
- "source": 6,
- "pc": [
- 65
- ]
- },
- {
- "teal": 54,
- "source": 5,
- "pc": [
- 66
- ]
- },
- {
- "teal": 59,
- "source": 9,
- "pc": [
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 60,
- "source": 9,
- "pc": [
- 70
- ]
- },
- {
- "teal": 61,
- "source": 9,
- "pc": [
- 71
- ]
- },
- {
- "teal": 62,
- "source": 9,
- "pc": [
- 72
- ]
- },
- {
- "teal": 63,
- "source": 9,
- "pc": [
- 73
- ]
- },
- {
- "teal": 66,
- "source": 9,
- "errorMessage": "argument 0 (a) for assetBalance must be a address",
- "pc": [
- 74
- ]
- },
- {
- "teal": 69,
- "source": 9,
- "pc": [
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 70,
- "source": 9,
- "pc": [
- 78
- ]
- },
- {
- "teal": 71,
- "source": 9,
- "pc": [
- 79
- ]
- },
- {
- "teal": 75,
- "source": 9,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 79,
- "source": 10,
- "pc": [
- 83,
- 84
- ]
- },
- {
- "teal": 80,
- "source": 10,
- "pc": [
- 85
- ]
- },
- {
- "teal": 81,
- "source": 10,
- "pc": [
- 86,
- 87
- ]
- },
- {
- "teal": 82,
- "source": 10,
- "pc": [
- 88
- ]
- },
- {
- "teal": 83,
- "source": 10,
- "pc": [
- 89
- ]
- },
- {
- "teal": 84,
- "source": 9,
- "pc": [
- 90
- ]
- },
- {
- "teal": 89,
- "source": 13,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 90,
- "source": 13,
- "pc": [
- 94
- ]
- },
- {
- "teal": 91,
- "source": 13,
- "pc": [
- 95
- ]
- },
- {
- "teal": 92,
- "source": 13,
- "pc": [
- 96
- ]
- },
- {
- "teal": 93,
- "source": 13,
- "pc": [
- 97
- ]
- },
- {
- "teal": 96,
- "source": 13,
- "errorMessage": "argument 0 (a) for assetFrozen must be a address",
- "pc": [
- 98
- ]
- },
- {
- "teal": 99,
- "source": 13,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 100,
- "source": 13,
- "pc": [
- 102
- ]
- },
- {
- "teal": 101,
- "source": 13,
- "pc": [
- 103
- ]
- },
- {
- "teal": 105,
- "source": 13,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 109,
- "source": 14,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 110,
- "source": 14,
- "pc": [
- 109
- ]
- },
- {
- "teal": 111,
- "source": 14,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 112,
- "source": 14,
- "pc": [
- 112
- ]
- },
- {
- "teal": 113,
- "source": 14,
- "pc": [
- 113
- ]
- },
- {
- "teal": 114,
- "source": 13,
- "pc": [
- 114
- ]
- },
- {
- "teal": 119,
- "source": 17,
- "pc": [
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 120,
- "source": 17,
- "pc": [
- 118
- ]
- },
- {
- "teal": 121,
- "source": 17,
- "pc": [
- 119
- ]
- },
- {
- "teal": 122,
- "source": 17,
- "pc": [
- 120
- ]
- },
- {
- "teal": 123,
- "source": 17,
- "pc": [
- 121
- ]
- },
- {
- "teal": 126,
- "source": 17,
- "errorMessage": "argument 0 (a) for hasBalance must be a address",
- "pc": [
- 122
- ]
- },
- {
- "teal": 129,
- "source": 17,
- "pc": [
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 130,
- "source": 17,
- "pc": [
- 126
- ]
- },
- {
- "teal": 131,
- "source": 17,
- "pc": [
- 127
- ]
- },
- {
- "teal": 135,
- "source": 17,
- "pc": [
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 139,
- "source": 18,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 140,
- "source": 18,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 141,
- "source": 18,
- "pc": [
- 135
- ]
- },
- {
- "teal": 142,
- "source": 18,
- "pc": [
- 136
- ]
- },
- {
- "teal": 143,
- "source": 18,
- "pc": [
- 137
- ]
- },
- {
- "teal": 144,
- "source": 17,
- "pc": [
- 138
- ]
- },
- {
- "teal": 149,
- "source": 21,
- "pc": [
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 150,
- "source": 21,
- "pc": [
- 142
- ]
- },
- {
- "teal": 151,
- "source": 21,
- "pc": [
- 143
- ]
- },
- {
- "teal": 152,
- "source": 21,
- "pc": [
- 144
- ]
- },
- {
- "teal": 153,
- "source": 21,
- "pc": [
- 145
- ]
- },
- {
- "teal": 156,
- "source": 21,
- "errorMessage": "argument 0 (a) for balance must be a address",
- "pc": [
- 146
- ]
- },
- {
- "teal": 159,
- "source": 21,
- "pc": [
- 147,
- 148,
- 149
- ]
- },
- {
- "teal": 160,
- "source": 21,
- "pc": [
- 150
- ]
- },
- {
- "teal": 161,
- "source": 21,
- "pc": [
- 151
- ]
- },
- {
- "teal": 165,
- "source": 21,
- "pc": [
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 169,
- "source": 22,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 170,
- "source": 22,
- "pc": [
- 157,
- 158
- ]
- },
- {
- "teal": 171,
- "source": 22,
- "pc": [
- 159
- ]
- },
- {
- "teal": 172,
- "source": 22,
- "pc": [
- 160
- ]
- },
- {
- "teal": 173,
- "source": 21,
- "pc": [
- 161
- ]
- },
- {
- "teal": 178,
- "source": 25,
- "pc": [
- 162,
- 163,
- 164
- ]
- },
- {
- "teal": 179,
- "source": 25,
- "pc": [
- 165
- ]
- },
- {
- "teal": 180,
- "source": 25,
- "pc": [
- 166
- ]
- },
- {
- "teal": 181,
- "source": 25,
- "pc": [
- 167
- ]
- },
- {
- "teal": 182,
- "source": 25,
- "pc": [
- 168
- ]
- },
- {
- "teal": 185,
- "source": 25,
- "errorMessage": "argument 0 (a) for minBalance must be a address",
- "pc": [
- 169
- ]
- },
- {
- "teal": 188,
- "source": 25,
- "pc": [
- 170,
- 171,
- 172
- ]
- },
- {
- "teal": 189,
- "source": 25,
- "pc": [
- 173
- ]
- },
- {
- "teal": 190,
- "source": 25,
- "pc": [
- 174
- ]
- },
- {
- "teal": 194,
- "source": 25,
- "pc": [
- 175,
- 176,
- 177
- ]
- },
- {
- "teal": 198,
- "source": 26,
- "pc": [
- 178,
- 179
- ]
- },
- {
- "teal": 199,
- "source": 26,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 200,
- "source": 26,
- "pc": [
- 182
- ]
- },
- {
- "teal": 201,
- "source": 26,
- "pc": [
- 183
- ]
- },
- {
- "teal": 202,
- "source": 25,
- "pc": [
- 184
- ]
- },
- {
- "teal": 207,
- "source": 29,
- "pc": [
- 185,
- 186,
- 187
- ]
- },
- {
- "teal": 208,
- "source": 29,
- "pc": [
- 188
- ]
- },
- {
- "teal": 209,
- "source": 29,
- "pc": [
- 189
- ]
- },
- {
- "teal": 210,
- "source": 29,
- "pc": [
- 190
- ]
- },
- {
- "teal": 211,
- "source": 29,
- "pc": [
- 191
- ]
- },
- {
- "teal": 214,
- "source": 29,
- "errorMessage": "argument 0 (a) for authAddr must be a address",
- "pc": [
- 192
- ]
- },
- {
- "teal": 217,
- "source": 29,
- "pc": [
- 193,
- 194,
- 195
- ]
- },
- {
- "teal": 218,
- "source": 29,
- "pc": [
- 196
- ]
- },
- {
- "teal": 219,
- "source": 29,
- "pc": [
- 197
- ]
- },
- {
- "teal": 223,
- "source": 29,
- "pc": [
- 198,
- 199,
- 200
- ]
- },
- {
- "teal": 227,
- "source": 30,
- "pc": [
- 201,
- 202
- ]
- },
- {
- "teal": 228,
- "source": 30,
- "pc": [
- 203,
- 204
- ]
- },
- {
- "teal": 229,
- "source": 30,
- "pc": [
- 205
- ]
- },
- {
- "teal": 230,
- "source": 30,
- "pc": [
- 206
- ]
- },
- {
- "teal": 231,
- "source": 29,
- "pc": [
- 207
- ]
- },
- {
- "teal": 236,
- "source": 33,
- "pc": [
- 208,
- 209,
- 210
- ]
- },
- {
- "teal": 237,
- "source": 33,
- "pc": [
- 211
- ]
- },
- {
- "teal": 238,
- "source": 33,
- "pc": [
- 212
- ]
- },
- {
- "teal": 239,
- "source": 33,
- "pc": [
- 213
- ]
- },
- {
- "teal": 240,
- "source": 33,
- "pc": [
- 214
- ]
- },
- {
- "teal": 243,
- "source": 33,
- "errorMessage": "argument 0 (a) for totalNumUint must be a address",
- "pc": [
- 215
- ]
- },
- {
- "teal": 246,
- "source": 33,
- "pc": [
- 216,
- 217,
- 218
- ]
- },
- {
- "teal": 247,
- "source": 33,
- "pc": [
- 219
- ]
- },
- {
- "teal": 248,
- "source": 33,
- "pc": [
- 220
- ]
- },
- {
- "teal": 252,
- "source": 33,
- "pc": [
- 221,
- 222,
- 223
- ]
- },
- {
- "teal": 256,
- "source": 34,
- "pc": [
- 224,
- 225
- ]
- },
- {
- "teal": 257,
- "source": 34,
- "pc": [
- 226,
- 227
- ]
- },
- {
- "teal": 258,
- "source": 34,
- "pc": [
- 228
- ]
- },
- {
- "teal": 259,
- "source": 34,
- "pc": [
- 229
- ]
- },
- {
- "teal": 260,
- "source": 33,
- "pc": [
- 230
- ]
- },
- {
- "teal": 265,
- "source": 37,
- "pc": [
- 231,
- 232,
- 233
- ]
- },
- {
- "teal": 266,
- "source": 37,
- "pc": [
- 234
- ]
- },
- {
- "teal": 267,
- "source": 37,
- "pc": [
- 235
- ]
- },
- {
- "teal": 268,
- "source": 37,
- "pc": [
- 236
- ]
- },
- {
- "teal": 269,
- "source": 37,
- "pc": [
- 237
- ]
- },
- {
- "teal": 272,
- "source": 37,
- "errorMessage": "argument 0 (a) for totalNumByteSlice must be a address",
- "pc": [
- 238
- ]
- },
- {
- "teal": 275,
- "source": 37,
- "pc": [
- 239,
- 240,
- 241
- ]
- },
- {
- "teal": 276,
- "source": 37,
- "pc": [
- 242
- ]
- },
- {
- "teal": 277,
- "source": 37,
- "pc": [
- 243
- ]
- },
- {
- "teal": 281,
- "source": 37,
- "pc": [
- 244,
- 245,
- 246
- ]
- },
- {
- "teal": 285,
- "source": 38,
- "pc": [
- 247,
- 248
- ]
- },
- {
- "teal": 286,
- "source": 38,
- "pc": [
- 249,
- 250
- ]
- },
- {
- "teal": 287,
- "source": 38,
- "pc": [
- 251
- ]
- },
- {
- "teal": 288,
- "source": 38,
- "pc": [
- 252
- ]
- },
- {
- "teal": 289,
- "source": 37,
- "pc": [
- 253
- ]
- },
- {
- "teal": 294,
- "source": 41,
- "pc": [
- 254,
- 255,
- 256
- ]
- },
- {
- "teal": 295,
- "source": 41,
- "pc": [
- 257
- ]
- },
- {
- "teal": 296,
- "source": 41,
- "pc": [
- 258
- ]
- },
- {
- "teal": 297,
- "source": 41,
- "pc": [
- 259
- ]
- },
- {
- "teal": 298,
- "source": 41,
- "pc": [
- 260
- ]
- },
- {
- "teal": 301,
- "source": 41,
- "errorMessage": "argument 0 (a) for totalExtraAppPages must be a address",
- "pc": [
- 261
- ]
- },
- {
- "teal": 304,
- "source": 41,
- "pc": [
- 262,
- 263,
- 264
- ]
- },
- {
- "teal": 305,
- "source": 41,
- "pc": [
- 265
- ]
- },
- {
- "teal": 306,
- "source": 41,
- "pc": [
- 266
- ]
- },
- {
- "teal": 310,
- "source": 41,
- "pc": [
- 267,
- 268,
- 269
- ]
- },
- {
- "teal": 314,
- "source": 42,
- "pc": [
- 270,
- 271
- ]
- },
- {
- "teal": 315,
- "source": 42,
- "pc": [
- 272,
- 273
- ]
- },
- {
- "teal": 316,
- "source": 42,
- "pc": [
- 274
- ]
- },
- {
- "teal": 317,
- "source": 42,
- "pc": [
- 275
- ]
- },
- {
- "teal": 318,
- "source": 41,
- "pc": [
- 276
- ]
- },
- {
- "teal": 323,
- "source": 45,
- "pc": [
- 277,
- 278,
- 279
- ]
- },
- {
- "teal": 324,
- "source": 45,
- "pc": [
- 280
- ]
- },
- {
- "teal": 325,
- "source": 45,
- "pc": [
- 281
- ]
- },
- {
- "teal": 326,
- "source": 45,
- "pc": [
- 282
- ]
- },
- {
- "teal": 327,
- "source": 45,
- "pc": [
- 283
- ]
- },
- {
- "teal": 330,
- "source": 45,
- "errorMessage": "argument 0 (a) for totalAppsCreated must be a address",
- "pc": [
- 284
- ]
- },
- {
- "teal": 333,
- "source": 45,
- "pc": [
- 285,
- 286,
- 287
- ]
- },
- {
- "teal": 334,
- "source": 45,
- "pc": [
- 288
- ]
- },
- {
- "teal": 335,
- "source": 45,
- "pc": [
- 289
- ]
- },
- {
- "teal": 339,
- "source": 45,
- "pc": [
- 290,
- 291,
- 292
- ]
- },
- {
- "teal": 343,
- "source": 46,
- "pc": [
- 293,
- 294
- ]
- },
- {
- "teal": 344,
- "source": 46,
- "pc": [
- 295,
- 296
- ]
- },
- {
- "teal": 345,
- "source": 46,
- "pc": [
- 297
- ]
- },
- {
- "teal": 346,
- "source": 46,
- "pc": [
- 298
- ]
- },
- {
- "teal": 347,
- "source": 45,
- "pc": [
- 299
- ]
- },
- {
- "teal": 352,
- "source": 49,
- "pc": [
- 300,
- 301,
- 302
- ]
- },
- {
- "teal": 353,
- "source": 49,
- "pc": [
- 303
- ]
- },
- {
- "teal": 354,
- "source": 49,
- "pc": [
- 304
- ]
- },
- {
- "teal": 355,
- "source": 49,
- "pc": [
- 305
- ]
- },
- {
- "teal": 356,
- "source": 49,
- "pc": [
- 306
- ]
- },
- {
- "teal": 359,
- "source": 49,
- "errorMessage": "argument 0 (a) for totalAppsOptedIn must be a address",
- "pc": [
- 307
- ]
- },
- {
- "teal": 362,
- "source": 49,
- "pc": [
- 308,
- 309,
- 310
- ]
- },
- {
- "teal": 363,
- "source": 49,
- "pc": [
- 311
- ]
- },
- {
- "teal": 364,
- "source": 49,
- "pc": [
- 312
- ]
- },
- {
- "teal": 368,
- "source": 49,
- "pc": [
- 313,
- 314,
- 315
- ]
- },
- {
- "teal": 372,
- "source": 50,
- "pc": [
- 316,
- 317
- ]
- },
- {
- "teal": 373,
- "source": 50,
- "pc": [
- 318,
- 319
- ]
- },
- {
- "teal": 374,
- "source": 50,
- "pc": [
- 320
- ]
- },
- {
- "teal": 375,
- "source": 50,
- "pc": [
- 321
- ]
- },
- {
- "teal": 376,
- "source": 49,
- "pc": [
- 322
- ]
- },
- {
- "teal": 381,
- "source": 53,
- "pc": [
- 323,
- 324,
- 325
- ]
- },
- {
- "teal": 382,
- "source": 53,
- "pc": [
- 326
- ]
- },
- {
- "teal": 383,
- "source": 53,
- "pc": [
- 327
- ]
- },
- {
- "teal": 384,
- "source": 53,
- "pc": [
- 328
- ]
- },
- {
- "teal": 385,
- "source": 53,
- "pc": [
- 329
- ]
- },
- {
- "teal": 388,
- "source": 53,
- "errorMessage": "argument 0 (a) for totalAssetsCreated must be a address",
- "pc": [
- 330
- ]
- },
- {
- "teal": 391,
- "source": 53,
- "pc": [
- 331,
- 332,
- 333
- ]
- },
- {
- "teal": 392,
- "source": 53,
- "pc": [
- 334
- ]
- },
- {
- "teal": 393,
- "source": 53,
- "pc": [
- 335
- ]
- },
- {
- "teal": 397,
- "source": 53,
- "pc": [
- 336,
- 337,
- 338
- ]
- },
- {
- "teal": 401,
- "source": 54,
- "pc": [
- 339,
- 340
- ]
- },
- {
- "teal": 402,
- "source": 54,
- "pc": [
- 341,
- 342
- ]
- },
- {
- "teal": 403,
- "source": 54,
- "pc": [
- 343
- ]
- },
- {
- "teal": 404,
- "source": 54,
- "pc": [
- 344
- ]
- },
- {
- "teal": 405,
- "source": 53,
- "pc": [
- 345
- ]
- },
- {
- "teal": 410,
- "source": 57,
- "pc": [
- 346,
- 347,
- 348
- ]
- },
- {
- "teal": 411,
- "source": 57,
- "pc": [
- 349
- ]
- },
- {
- "teal": 412,
- "source": 57,
- "pc": [
- 350
- ]
- },
- {
- "teal": 413,
- "source": 57,
- "pc": [
- 351
- ]
- },
- {
- "teal": 414,
- "source": 57,
- "pc": [
- 352
- ]
- },
- {
- "teal": 417,
- "source": 57,
- "errorMessage": "argument 0 (a) for totalAssets must be a address",
- "pc": [
- 353
- ]
- },
- {
- "teal": 420,
- "source": 57,
- "pc": [
- 354,
- 355,
- 356
- ]
- },
- {
- "teal": 421,
- "source": 57,
- "pc": [
- 357
- ]
- },
- {
- "teal": 422,
- "source": 57,
- "pc": [
- 358
- ]
- },
- {
- "teal": 426,
- "source": 57,
- "pc": [
- 359,
- 360,
- 361
- ]
- },
- {
- "teal": 430,
- "source": 58,
- "pc": [
- 362,
- 363
- ]
- },
- {
- "teal": 431,
- "source": 58,
- "pc": [
- 364,
- 365
- ]
- },
- {
- "teal": 432,
- "source": 58,
- "pc": [
- 366
- ]
- },
- {
- "teal": 433,
- "source": 58,
- "pc": [
- 367
- ]
- },
- {
- "teal": 434,
- "source": 57,
- "pc": [
- 368
- ]
- },
- {
- "teal": 439,
- "source": 61,
- "pc": [
- 369,
- 370,
- 371
- ]
- },
- {
- "teal": 440,
- "source": 61,
- "pc": [
- 372
- ]
- },
- {
- "teal": 441,
- "source": 61,
- "pc": [
- 373
- ]
- },
- {
- "teal": 442,
- "source": 61,
- "pc": [
- 374
- ]
- },
- {
- "teal": 443,
- "source": 61,
- "pc": [
- 375
- ]
- },
- {
- "teal": 446,
- "source": 61,
- "errorMessage": "argument 0 (a) for totalBoxes must be a address",
- "pc": [
- 376
- ]
- },
- {
- "teal": 449,
- "source": 61,
- "pc": [
- 377,
- 378,
- 379
- ]
- },
- {
- "teal": 450,
- "source": 61,
- "pc": [
- 380
- ]
- },
- {
- "teal": 451,
- "source": 61,
- "pc": [
- 381
- ]
- },
- {
- "teal": 455,
- "source": 61,
- "pc": [
- 382,
- 383,
- 384
- ]
- },
- {
- "teal": 459,
- "source": 62,
- "pc": [
- 385,
- 386
- ]
- },
- {
- "teal": 460,
- "source": 62,
- "pc": [
- 387,
- 388
- ]
- },
- {
- "teal": 461,
- "source": 62,
- "pc": [
- 389
- ]
- },
- {
- "teal": 462,
- "source": 62,
- "pc": [
- 390
- ]
- },
- {
- "teal": 463,
- "source": 61,
- "pc": [
- 391
- ]
- },
- {
- "teal": 468,
- "source": 65,
- "pc": [
- 392,
- 393,
- 394
- ]
- },
- {
- "teal": 469,
- "source": 65,
- "pc": [
- 395
- ]
- },
- {
- "teal": 470,
- "source": 65,
- "pc": [
- 396
- ]
- },
- {
- "teal": 471,
- "source": 65,
- "pc": [
- 397
- ]
- },
- {
- "teal": 472,
- "source": 65,
- "pc": [
- 398
- ]
- },
- {
- "teal": 475,
- "source": 65,
- "errorMessage": "argument 0 (a) for totalBoxBytes must be a address",
- "pc": [
- 399
- ]
- },
- {
- "teal": 478,
- "source": 65,
- "pc": [
- 400,
- 401,
- 402
- ]
- },
- {
- "teal": 479,
- "source": 65,
- "pc": [
- 403
- ]
- },
- {
- "teal": 480,
- "source": 65,
- "pc": [
- 404
- ]
- },
- {
- "teal": 484,
- "source": 65,
- "pc": [
- 405,
- 406,
- 407
- ]
- },
- {
- "teal": 488,
- "source": 66,
- "pc": [
- 408,
- 409
- ]
- },
- {
- "teal": 489,
- "source": 66,
- "pc": [
- 410,
- 411
- ]
- },
- {
- "teal": 490,
- "source": 66,
- "pc": [
- 412
- ]
- },
- {
- "teal": 491,
- "source": 66,
- "pc": [
- 413
- ]
- },
- {
- "teal": 492,
- "source": 65,
- "pc": [
- 414
- ]
- },
- {
- "teal": 495,
- "source": 4,
- "pc": [
- 415
- ]
- },
- {
- "teal": 496,
- "source": 4,
- "pc": [
- 416
- ]
- },
- {
- "teal": 499,
- "source": 4,
- "pc": [
- 417,
- 418,
- 419,
- 420,
- 421,
- 422
- ]
- },
- {
- "teal": 500,
- "source": 4,
- "pc": [
- 423,
- 424,
- 425
- ]
- },
- {
- "teal": 501,
- "source": 4,
- "pc": [
- 426,
- 427,
- 428,
- 429
- ]
- },
- {
- "teal": 504,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 430
- ]
- },
- {
- "teal": 507,
- "source": 4,
- "pc": [
- 431,
- 432,
- 433,
- 434,
- 435,
- 436
- ]
- },
- {
- "teal": 508,
- "source": 4,
- "pc": [
- 437,
- 438,
- 439,
- 440,
- 441,
- 442
- ]
- },
- {
- "teal": 509,
- "source": 4,
- "pc": [
- 443,
- 444,
- 445,
- 446,
- 447,
- 448
- ]
- },
- {
- "teal": 510,
- "source": 4,
- "pc": [
- 449,
- 450,
- 451,
- 452,
- 453,
- 454
- ]
- },
- {
- "teal": 511,
- "source": 4,
- "pc": [
- 455,
- 456,
- 457,
- 458,
- 459,
- 460
- ]
- },
- {
- "teal": 512,
- "source": 4,
- "pc": [
- 461,
- 462,
- 463,
- 464,
- 465,
- 466
- ]
- },
- {
- "teal": 513,
- "source": 4,
- "pc": [
- 467,
- 468,
- 469,
- 470,
- 471,
- 472
- ]
- },
- {
- "teal": 514,
- "source": 4,
- "pc": [
- 473,
- 474,
- 475,
- 476,
- 477,
- 478
- ]
- },
- {
- "teal": 515,
- "source": 4,
- "pc": [
- 479,
- 480,
- 481,
- 482,
- 483,
- 484
- ]
- },
- {
- "teal": 516,
- "source": 4,
- "pc": [
- 485,
- 486,
- 487,
- 488,
- 489,
- 490
- ]
- },
- {
- "teal": 517,
- "source": 4,
- "pc": [
- 491,
- 492,
- 493,
- 494,
- 495,
- 496
- ]
- },
- {
- "teal": 518,
- "source": 4,
- "pc": [
- 497,
- 498,
- 499,
- 500,
- 501,
- 502
- ]
- },
- {
- "teal": 519,
- "source": 4,
- "pc": [
- 503,
- 504,
- 505,
- 506,
- 507,
- 508
- ]
- },
- {
- "teal": 520,
- "source": 4,
- "pc": [
- 509,
- 510,
- 511,
- 512,
- 513,
- 514
- ]
- },
- {
- "teal": 521,
- "source": 4,
- "pc": [
- 515,
- 516,
- 517,
- 518,
- 519,
- 520
- ]
- },
- {
- "teal": 522,
- "source": 4,
- "pc": [
- 521,
- 522,
- 523,
- 524,
- 525,
- 526
- ]
- },
- {
- "teal": 523,
- "source": 4,
- "pc": [
- 527,
- 528,
- 529
- ]
- },
- {
- "teal": 524,
- "source": 4,
- "pc": [
- 530,
- 531,
- 532,
- 533,
- 534,
- 535,
- 536,
- 537,
- 538,
- 539,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548,
- 549,
- 550,
- 551,
- 552,
- 553,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 560,
- 561,
- 562,
- 563
- ]
- },
- {
- "teal": 527,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 564
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 4,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 4,
+ "pc": [
+ 6,
+ 7
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 4,
+ "pc": [
+ 8
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 4,
+ "pc": [
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 4,
+ "pc": [
+ 11
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 4,
+ "pc": [
+ 12,
+ 13
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 4,
+ "pc": [
+ 14
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 4,
+ "pc": [
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 4,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 41
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 5,
+ "pc": [
+ 42,
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 5,
+ "pc": [
+ 45
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 5,
+ "pc": [
+ 46
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 5,
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 5,
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 5,
+ "errorMessage": "argument 0 (a) for hasAsset must be a address",
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 5,
+ "pc": [
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 5,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 5,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 5,
+ "pc": [
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 6,
+ "pc": [
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 6,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 6,
+ "pc": [
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 6,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 6,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 6,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 5,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 9,
+ "pc": [
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 9,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 9,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 9,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 9,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 9,
+ "errorMessage": "argument 0 (a) for assetBalance must be a address",
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 9,
+ "pc": [
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 9,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 9,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 9,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 10,
+ "pc": [
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 10,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 10,
+ "pc": [
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 10,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 10,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 9,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 13,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 13,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 13,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 13,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 13,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 13,
+ "errorMessage": "argument 0 (a) for assetFrozen must be a address",
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 13,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 13,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 13,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 13,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 14,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 14,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 14,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 14,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 14,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 13,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 17,
+ "pc": [
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 17,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 17,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 17,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 17,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 17,
+ "errorMessage": "argument 0 (a) for hasBalance must be a address",
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 17,
+ "pc": [
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 17,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 17,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 17,
+ "pc": [
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 18,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 18,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 18,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 18,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 18,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 17,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 21,
+ "pc": [
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 21,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 21,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 21,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 21,
+ "pc": [
+ 145
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 21,
+ "errorMessage": "argument 0 (a) for balance must be a address",
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 21,
+ "pc": [
+ 147,
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 21,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 21,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 21,
+ "pc": [
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 22,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 22,
+ "pc": [
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 22,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 22,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 21,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 25,
+ "pc": [
+ 162,
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 25,
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 25,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 25,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 25,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 25,
+ "errorMessage": "argument 0 (a) for minBalance must be a address",
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 25,
+ "pc": [
+ 170,
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 25,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 25,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 25,
+ "pc": [
+ 175,
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 26,
+ "pc": [
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 26,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 26,
+ "pc": [
+ 182
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 26,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 25,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 29,
+ "pc": [
+ 185,
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 29,
+ "pc": [
+ 188
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 29,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 29,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 211,
+ "source": 29,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 214,
+ "source": 29,
+ "errorMessage": "argument 0 (a) for authAddr must be a address",
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 29,
+ "pc": [
+ 193,
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 29,
+ "pc": [
+ 196
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 29,
+ "pc": [
+ 197
+ ]
+ },
+ {
+ "teal": 223,
+ "source": 29,
+ "pc": [
+ 198,
+ 199,
+ 200
+ ]
+ },
+ {
+ "teal": 227,
+ "source": 30,
+ "pc": [
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 30,
+ "pc": [
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 30,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 30,
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 29,
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 33,
+ "pc": [
+ 208,
+ 209,
+ 210
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 33,
+ "pc": [
+ 211
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 33,
+ "pc": [
+ 212
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 33,
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 33,
+ "pc": [
+ 214
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 33,
+ "errorMessage": "argument 0 (a) for totalNumUint must be a address",
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 33,
+ "pc": [
+ 216,
+ 217,
+ 218
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 33,
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 33,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 33,
+ "pc": [
+ 221,
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 256,
+ "source": 34,
+ "pc": [
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 257,
+ "source": 34,
+ "pc": [
+ 226,
+ 227
+ ]
+ },
+ {
+ "teal": 258,
+ "source": 34,
+ "pc": [
+ 228
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 34,
+ "pc": [
+ 229
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 33,
+ "pc": [
+ 230
+ ]
+ },
+ {
+ "teal": 265,
+ "source": 37,
+ "pc": [
+ 231,
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 266,
+ "source": 37,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 37,
+ "pc": [
+ 235
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 37,
+ "pc": [
+ 236
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 37,
+ "pc": [
+ 237
+ ]
+ },
+ {
+ "teal": 272,
+ "source": 37,
+ "errorMessage": "argument 0 (a) for totalNumByteSlice must be a address",
+ "pc": [
+ 238
+ ]
+ },
+ {
+ "teal": 275,
+ "source": 37,
+ "pc": [
+ 239,
+ 240,
+ 241
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 37,
+ "pc": [
+ 242
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 37,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 281,
+ "source": 37,
+ "pc": [
+ 244,
+ 245,
+ 246
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 38,
+ "pc": [
+ 247,
+ 248
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 38,
+ "pc": [
+ 249,
+ 250
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 38,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 38,
+ "pc": [
+ 252
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 37,
+ "pc": [
+ 253
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 41,
+ "pc": [
+ 254,
+ 255,
+ 256
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 41,
+ "pc": [
+ 257
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 41,
+ "pc": [
+ 258
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 41,
+ "pc": [
+ 259
+ ]
+ },
+ {
+ "teal": 298,
+ "source": 41,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 41,
+ "errorMessage": "argument 0 (a) for totalExtraAppPages must be a address",
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 41,
+ "pc": [
+ 262,
+ 263,
+ 264
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 41,
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 41,
+ "pc": [
+ 266
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 41,
+ "pc": [
+ 267,
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 314,
+ "source": 42,
+ "pc": [
+ 270,
+ 271
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 42,
+ "pc": [
+ 272,
+ 273
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 42,
+ "pc": [
+ 274
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 42,
+ "pc": [
+ 275
+ ]
+ },
+ {
+ "teal": 318,
+ "source": 41,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 45,
+ "pc": [
+ 277,
+ 278,
+ 279
+ ]
+ },
+ {
+ "teal": 324,
+ "source": 45,
+ "pc": [
+ 280
+ ]
+ },
+ {
+ "teal": 325,
+ "source": 45,
+ "pc": [
+ 281
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 45,
+ "pc": [
+ 282
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 45,
+ "pc": [
+ 283
+ ]
+ },
+ {
+ "teal": 330,
+ "source": 45,
+ "errorMessage": "argument 0 (a) for totalAppsCreated must be a address",
+ "pc": [
+ 284
+ ]
+ },
+ {
+ "teal": 333,
+ "source": 45,
+ "pc": [
+ 285,
+ 286,
+ 287
+ ]
+ },
+ {
+ "teal": 334,
+ "source": 45,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 335,
+ "source": 45,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 45,
+ "pc": [
+ 290,
+ 291,
+ 292
+ ]
+ },
+ {
+ "teal": 343,
+ "source": 46,
+ "pc": [
+ 293,
+ 294
+ ]
+ },
+ {
+ "teal": 344,
+ "source": 46,
+ "pc": [
+ 295,
+ 296
+ ]
+ },
+ {
+ "teal": 345,
+ "source": 46,
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 346,
+ "source": 46,
+ "pc": [
+ 298
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 45,
+ "pc": [
+ 299
+ ]
+ },
+ {
+ "teal": 352,
+ "source": 49,
+ "pc": [
+ 300,
+ 301,
+ 302
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 49,
+ "pc": [
+ 303
+ ]
+ },
+ {
+ "teal": 354,
+ "source": 49,
+ "pc": [
+ 304
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 49,
+ "pc": [
+ 305
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 49,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 49,
+ "errorMessage": "argument 0 (a) for totalAppsOptedIn must be a address",
+ "pc": [
+ 307
+ ]
+ },
+ {
+ "teal": 362,
+ "source": 49,
+ "pc": [
+ 308,
+ 309,
+ 310
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 49,
+ "pc": [
+ 311
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 49,
+ "pc": [
+ 312
+ ]
+ },
+ {
+ "teal": 368,
+ "source": 49,
+ "pc": [
+ 313,
+ 314,
+ 315
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 50,
+ "pc": [
+ 316,
+ 317
+ ]
+ },
+ {
+ "teal": 373,
+ "source": 50,
+ "pc": [
+ 318,
+ 319
+ ]
+ },
+ {
+ "teal": 374,
+ "source": 50,
+ "pc": [
+ 320
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 50,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 49,
+ "pc": [
+ 322
+ ]
+ },
+ {
+ "teal": 381,
+ "source": 53,
+ "pc": [
+ 323,
+ 324,
+ 325
+ ]
+ },
+ {
+ "teal": 382,
+ "source": 53,
+ "pc": [
+ 326
+ ]
+ },
+ {
+ "teal": 383,
+ "source": 53,
+ "pc": [
+ 327
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 53,
+ "pc": [
+ 328
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 53,
+ "pc": [
+ 329
+ ]
+ },
+ {
+ "teal": 388,
+ "source": 53,
+ "errorMessage": "argument 0 (a) for totalAssetsCreated must be a address",
+ "pc": [
+ 330
+ ]
+ },
+ {
+ "teal": 391,
+ "source": 53,
+ "pc": [
+ 331,
+ 332,
+ 333
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 53,
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 393,
+ "source": 53,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 397,
+ "source": 53,
+ "pc": [
+ 336,
+ 337,
+ 338
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 54,
+ "pc": [
+ 339,
+ 340
+ ]
+ },
+ {
+ "teal": 402,
+ "source": 54,
+ "pc": [
+ 341,
+ 342
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 54,
+ "pc": [
+ 343
+ ]
+ },
+ {
+ "teal": 404,
+ "source": 54,
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 405,
+ "source": 53,
+ "pc": [
+ 345
+ ]
+ },
+ {
+ "teal": 410,
+ "source": 57,
+ "pc": [
+ 346,
+ 347,
+ 348
+ ]
+ },
+ {
+ "teal": 411,
+ "source": 57,
+ "pc": [
+ 349
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 57,
+ "pc": [
+ 350
+ ]
+ },
+ {
+ "teal": 413,
+ "source": 57,
+ "pc": [
+ 351
+ ]
+ },
+ {
+ "teal": 414,
+ "source": 57,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 57,
+ "errorMessage": "argument 0 (a) for totalAssets must be a address",
+ "pc": [
+ 353
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 57,
+ "pc": [
+ 354,
+ 355,
+ 356
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 57,
+ "pc": [
+ 357
+ ]
+ },
+ {
+ "teal": 422,
+ "source": 57,
+ "pc": [
+ 358
+ ]
+ },
+ {
+ "teal": 426,
+ "source": 57,
+ "pc": [
+ 359,
+ 360,
+ 361
+ ]
+ },
+ {
+ "teal": 430,
+ "source": 58,
+ "pc": [
+ 362,
+ 363
+ ]
+ },
+ {
+ "teal": 431,
+ "source": 58,
+ "pc": [
+ 364,
+ 365
+ ]
+ },
+ {
+ "teal": 432,
+ "source": 58,
+ "pc": [
+ 366
+ ]
+ },
+ {
+ "teal": 433,
+ "source": 58,
+ "pc": [
+ 367
+ ]
+ },
+ {
+ "teal": 434,
+ "source": 57,
+ "pc": [
+ 368
+ ]
+ },
+ {
+ "teal": 439,
+ "source": 61,
+ "pc": [
+ 369,
+ 370,
+ 371
+ ]
+ },
+ {
+ "teal": 440,
+ "source": 61,
+ "pc": [
+ 372
+ ]
+ },
+ {
+ "teal": 441,
+ "source": 61,
+ "pc": [
+ 373
+ ]
+ },
+ {
+ "teal": 442,
+ "source": 61,
+ "pc": [
+ 374
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 61,
+ "pc": [
+ 375
+ ]
+ },
+ {
+ "teal": 446,
+ "source": 61,
+ "errorMessage": "argument 0 (a) for totalBoxes must be a address",
+ "pc": [
+ 376
+ ]
+ },
+ {
+ "teal": 449,
+ "source": 61,
+ "pc": [
+ 377,
+ 378,
+ 379
+ ]
+ },
+ {
+ "teal": 450,
+ "source": 61,
+ "pc": [
+ 380
+ ]
+ },
+ {
+ "teal": 451,
+ "source": 61,
+ "pc": [
+ 381
+ ]
+ },
+ {
+ "teal": 455,
+ "source": 61,
+ "pc": [
+ 382,
+ 383,
+ 384
+ ]
+ },
+ {
+ "teal": 459,
+ "source": 62,
+ "pc": [
+ 385,
+ 386
+ ]
+ },
+ {
+ "teal": 460,
+ "source": 62,
+ "pc": [
+ 387,
+ 388
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 62,
+ "pc": [
+ 389
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 62,
+ "pc": [
+ 390
+ ]
+ },
+ {
+ "teal": 463,
+ "source": 61,
+ "pc": [
+ 391
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 65,
+ "pc": [
+ 392,
+ 393,
+ 394
+ ]
+ },
+ {
+ "teal": 469,
+ "source": 65,
+ "pc": [
+ 395
+ ]
+ },
+ {
+ "teal": 470,
+ "source": 65,
+ "pc": [
+ 396
+ ]
+ },
+ {
+ "teal": 471,
+ "source": 65,
+ "pc": [
+ 397
+ ]
+ },
+ {
+ "teal": 472,
+ "source": 65,
+ "pc": [
+ 398
+ ]
+ },
+ {
+ "teal": 475,
+ "source": 65,
+ "errorMessage": "argument 0 (a) for totalBoxBytes must be a address",
+ "pc": [
+ 399
+ ]
+ },
+ {
+ "teal": 478,
+ "source": 65,
+ "pc": [
+ 400,
+ 401,
+ 402
+ ]
+ },
+ {
+ "teal": 479,
+ "source": 65,
+ "pc": [
+ 403
+ ]
+ },
+ {
+ "teal": 480,
+ "source": 65,
+ "pc": [
+ 404
+ ]
+ },
+ {
+ "teal": 484,
+ "source": 65,
+ "pc": [
+ 405,
+ 406,
+ 407
+ ]
+ },
+ {
+ "teal": 488,
+ "source": 66,
+ "pc": [
+ 408,
+ 409
+ ]
+ },
+ {
+ "teal": 489,
+ "source": 66,
+ "pc": [
+ 410,
+ 411
+ ]
+ },
+ {
+ "teal": 490,
+ "source": 66,
+ "pc": [
+ 412
+ ]
+ },
+ {
+ "teal": 491,
+ "source": 66,
+ "pc": [
+ 413
+ ]
+ },
+ {
+ "teal": 492,
+ "source": 65,
+ "pc": [
+ 414
+ ]
+ },
+ {
+ "teal": 495,
+ "source": 4,
+ "pc": [
+ 415
+ ]
+ },
+ {
+ "teal": 496,
+ "source": 4,
+ "pc": [
+ 416
+ ]
+ },
+ {
+ "teal": 499,
+ "source": 4,
+ "pc": [
+ 417,
+ 418,
+ 419,
+ 420,
+ 421,
+ 422
+ ]
+ },
+ {
+ "teal": 500,
+ "source": 4,
+ "pc": [
+ 423,
+ 424,
+ 425
+ ]
+ },
+ {
+ "teal": 501,
+ "source": 4,
+ "pc": [
+ 426,
+ 427,
+ 428,
+ 429
+ ]
+ },
+ {
+ "teal": 504,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 430
+ ]
+ },
+ {
+ "teal": 507,
+ "source": 4,
+ "pc": [
+ 431,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436
+ ]
+ },
+ {
+ "teal": 508,
+ "source": 4,
+ "pc": [
+ 437,
+ 438,
+ 439,
+ 440,
+ 441,
+ 442
+ ]
+ },
+ {
+ "teal": 509,
+ "source": 4,
+ "pc": [
+ 443,
+ 444,
+ 445,
+ 446,
+ 447,
+ 448
+ ]
+ },
+ {
+ "teal": 510,
+ "source": 4,
+ "pc": [
+ 449,
+ 450,
+ 451,
+ 452,
+ 453,
+ 454
+ ]
+ },
+ {
+ "teal": 511,
+ "source": 4,
+ "pc": [
+ 455,
+ 456,
+ 457,
+ 458,
+ 459,
+ 460
+ ]
+ },
+ {
+ "teal": 512,
+ "source": 4,
+ "pc": [
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466
+ ]
+ },
+ {
+ "teal": 513,
+ "source": 4,
+ "pc": [
+ 467,
+ 468,
+ 469,
+ 470,
+ 471,
+ 472
+ ]
+ },
+ {
+ "teal": 514,
+ "source": 4,
+ "pc": [
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478
+ ]
+ },
+ {
+ "teal": 515,
+ "source": 4,
+ "pc": [
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484
+ ]
+ },
+ {
+ "teal": 516,
+ "source": 4,
+ "pc": [
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490
+ ]
+ },
+ {
+ "teal": 517,
+ "source": 4,
+ "pc": [
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496
+ ]
+ },
+ {
+ "teal": 518,
+ "source": 4,
+ "pc": [
+ 497,
+ 498,
+ 499,
+ 500,
+ 501,
+ 502
+ ]
+ },
+ {
+ "teal": 519,
+ "source": 4,
+ "pc": [
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 4,
+ "pc": [
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514
+ ]
+ },
+ {
+ "teal": 521,
+ "source": 4,
+ "pc": [
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520
+ ]
+ },
+ {
+ "teal": 522,
+ "source": 4,
+ "pc": [
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526
+ ]
+ },
+ {
+ "teal": 523,
+ "source": 4,
+ "pc": [
+ 527,
+ 528,
+ 529
+ ]
+ },
+ {
+ "teal": 524,
+ "source": 4,
+ "pc": [
+ 530,
+ 531,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563
+ ]
+ },
+ {
+ "teal": 527,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 564
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBoYXNBc3NldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9oYXNBc3NldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGhhc0Fzc2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGhhc0Fzc2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBoYXNBc3NldAoJaW50IDEKCXJldHVybgoKLy8gaGFzQXNzZXQoYTogQWRkcmVzcyk6IHZvaWQKaGFzQXNzZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjYKCS8vIGFzc2VydChhLmlzT3B0ZWRJblRvQXNzZXQoQXNzZXRJRC5mcm9tVWludDY0KDEyMykpKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWludCAxMjMKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYXNzZXRCYWxhbmNlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0QmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGFzc2V0QmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhc3NldEJhbGFuY2UoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFzc2V0QmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRCYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmFzc2V0QmFsYW5jZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MTAKCS8vIGFzc2VydChhLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50IDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBhc3NldEZyb3plbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hc3NldEZyb3plbjoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGFzc2V0RnJvemVuIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBhc3NldEZyb3plbgoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRGcm96ZW4oYTogQWRkcmVzcyk6IHZvaWQKYXNzZXRGcm96ZW46Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoYS5hc3NldEZyb3plbihBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50IDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRGcm96ZW4KCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGhhc0JhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfaGFzQmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGhhc0JhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgaGFzQmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gaGFzQmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZApoYXNCYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoxOAoJLy8gYXNzZXJ0KGEuaXNJbkxlZGdlcikKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGJhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gYmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZApiYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoyMgoJLy8gYXNzZXJ0KGEuYmFsYW5jZSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIG1pbkJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbWluQmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIG1pbkJhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWluQmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbWluQmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gbWluQmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZAptaW5CYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoyNgoJLy8gYXNzZXJ0KGEubWluQmFsYW5jZSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGF1dGhBZGRyKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2F1dGhBZGRyOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXV0aEFkZHIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXV0aEFkZHIoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGF1dGhBZGRyCglpbnQgMQoJcmV0dXJuCgovLyBhdXRoQWRkcihhOiBBZGRyZXNzKTogdm9pZAphdXRoQWRkcjoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzAKCS8vIGxvZyhhLmF1dGhBZGRyKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJbG9nCglyZXRzdWIKCi8vIHRvdGFsTnVtVWludChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbE51bVVpbnQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbE51bVVpbnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxOdW1VaW50KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbE51bVVpbnQKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsTnVtVWludChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbE51bVVpbnQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoYS50b3RhbE51bVVpbnQpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbE51bVVpbnQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsTnVtQnl0ZVNsaWNlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsTnVtQnl0ZVNsaWNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxOdW1CeXRlU2xpY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxOdW1CeXRlU2xpY2UoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsTnVtQnl0ZVNsaWNlCglpbnQgMQoJcmV0dXJuCgovLyB0b3RhbE51bUJ5dGVTbGljZShhOiBBZGRyZXNzKTogdm9pZAp0b3RhbE51bUJ5dGVTbGljZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzgKCS8vIGFzc2VydChhLnRvdGFsTnVtQnl0ZVNsaWNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxOdW1CeXRlU2xpY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsRXh0cmFBcHBQYWdlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEV4dHJhQXBwUGFnZXM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEV4dHJhQXBwUGFnZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEV4dHJhQXBwUGFnZXMKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsRXh0cmFBcHBQYWdlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEV4dHJhQXBwUGFnZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjQyCgkvLyBhc3NlcnQoYS50b3RhbEV4dHJhQXBwUGFnZXMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEV4dHJhQXBwUGFnZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXBwc0NyZWF0ZWQoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBcHBzQ3JlYXRlZDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXBwc0NyZWF0ZWQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBcHBzQ3JlYXRlZAoJaW50IDEKCXJldHVybgoKLy8gdG90YWxBcHBzQ3JlYXRlZChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFwcHNDcmVhdGVkOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo0NgoJLy8gYXNzZXJ0KGEudG90YWxBcHBzQ3JlYXRlZCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXBwc0NyZWF0ZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXBwc09wdGVkSW4oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBcHBzT3B0ZWRJbjoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXBwc09wdGVkSW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBcHBzT3B0ZWRJbihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBcHBzT3B0ZWRJbgoJaW50IDEKCXJldHVybgoKLy8gdG90YWxBcHBzT3B0ZWRJbihhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFwcHNPcHRlZEluOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo1MAoJLy8gYXNzZXJ0KGEudG90YWxBcHBzT3B0ZWRJbikKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXBwc09wdGVkSW4KCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXNzZXRzQ3JlYXRlZChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFzc2V0c0NyZWF0ZWQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEFzc2V0c0NyZWF0ZWQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFzc2V0c0NyZWF0ZWQKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsQXNzZXRzQ3JlYXRlZChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFzc2V0c0NyZWF0ZWQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjU0CgkvLyBhc3NlcnQoYS50b3RhbEFzc2V0c0NyZWF0ZWQpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEFzc2V0c0NyZWF0ZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXNzZXRzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsQXNzZXRzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBc3NldHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBc3NldHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsQXNzZXRzCglpbnQgMQoJcmV0dXJuCgovLyB0b3RhbEFzc2V0cyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFzc2V0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NTgKCS8vIGFzc2VydChhLnRvdGFsQXNzZXRzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBc3NldHMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQm94ZXMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxCb3hlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQm94ZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxCb3hlcyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxCb3hlcwoJaW50IDEKCXJldHVybgoKLy8gdG90YWxCb3hlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEJveGVzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo2MgoJLy8gYXNzZXJ0KGEudG90YWxCb3hlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQm94ZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQm94Qnl0ZXMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxCb3hCeXRlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQm94Qnl0ZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxCb3hCeXRlcwoJaW50IDEKCXJldHVybgoKLy8gdG90YWxCb3hCeXRlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEJveEJ5dGVzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo2NgoJLy8gYXNzZXJ0KGEudG90YWxCb3hCeXRlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQm94Qnl0ZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJoYXNBc3NldChhZGRyZXNzKXZvaWQiCgltZXRob2QgImFzc2V0QmFsYW5jZShhZGRyZXNzKXZvaWQiCgltZXRob2QgImFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQiCgltZXRob2QgImJhbGFuY2UoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJtaW5CYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiYXV0aEFkZHIoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbE51bVVpbnQoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbE51bUJ5dGVTbGljZShhZGRyZXNzKXZvaWQiCgltZXRob2QgInRvdGFsRXh0cmFBcHBQYWdlcyhhZGRyZXNzKXZvaWQiCgltZXRob2QgInRvdGFsQXBwc0NyZWF0ZWQoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbEFwcHNPcHRlZEluKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxBc3NldHMoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbEJveGVzKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2hhc0Fzc2V0ICphYmlfcm91dGVfYXNzZXRCYWxhbmNlICphYmlfcm91dGVfYXNzZXRGcm96ZW4gKmFiaV9yb3V0ZV9oYXNCYWxhbmNlICphYmlfcm91dGVfYmFsYW5jZSAqYWJpX3JvdXRlX21pbkJhbGFuY2UgKmFiaV9yb3V0ZV9hdXRoQWRkciAqYWJpX3JvdXRlX3RvdGFsTnVtVWludCAqYWJpX3JvdXRlX3RvdGFsTnVtQnl0ZVNsaWNlICphYmlfcm91dGVfdG90YWxFeHRyYUFwcFBhZ2VzICphYmlfcm91dGVfdG90YWxBcHBzQ3JlYXRlZCAqYWJpX3JvdXRlX3RvdGFsQXBwc09wdGVkSW4gKmFiaV9yb3V0ZV90b3RhbEFzc2V0c0NyZWF0ZWQgKmFiaV9yb3V0ZV90b3RhbEFzc2V0cyAqYWJpX3JvdXRlX3RvdGFsQm94ZXMgKmFiaV9yb3V0ZV90b3RhbEJveEJ5dGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBoYXNBc3NldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9oYXNBc3NldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGhhc0Fzc2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGhhc0Fzc2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBoYXNBc3NldAoJaW50IDEKCXJldHVybgoKLy8gaGFzQXNzZXQoYTogQWRkcmVzcyk6IHZvaWQKaGFzQXNzZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjYKCS8vIGFzc2VydChhLmlzT3B0ZWRJblRvQXNzZXQoQXNzZXRJRC5mcm9tVWludDY0KDEyMykpKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWludCAxMjMKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYXNzZXRCYWxhbmNlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0QmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGFzc2V0QmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhc3NldEJhbGFuY2UoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFzc2V0QmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRCYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmFzc2V0QmFsYW5jZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MTAKCS8vIGFzc2VydChhLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50IDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBhc3NldEZyb3plbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hc3NldEZyb3plbjoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGFzc2V0RnJvemVuIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBhc3NldEZyb3plbgoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRGcm96ZW4oYTogQWRkcmVzcyk6IHZvaWQKYXNzZXRGcm96ZW46Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoYS5hc3NldEZyb3plbihBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50IDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRGcm96ZW4KCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGhhc0JhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfaGFzQmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGhhc0JhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgaGFzQmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gaGFzQmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZApoYXNCYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoxOAoJLy8gYXNzZXJ0KGEuaXNJbkxlZGdlcikKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGJhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gYmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZApiYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoyMgoJLy8gYXNzZXJ0KGEuYmFsYW5jZSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIG1pbkJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbWluQmFsYW5jZToKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIG1pbkJhbGFuY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWluQmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbWluQmFsYW5jZQoJaW50IDEKCXJldHVybgoKLy8gbWluQmFsYW5jZShhOiBBZGRyZXNzKTogdm9pZAptaW5CYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoyNgoJLy8gYXNzZXJ0KGEubWluQmFsYW5jZSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGF1dGhBZGRyKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2F1dGhBZGRyOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXV0aEFkZHIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXV0aEFkZHIoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGF1dGhBZGRyCglpbnQgMQoJcmV0dXJuCgovLyBhdXRoQWRkcihhOiBBZGRyZXNzKTogdm9pZAphdXRoQWRkcjoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzAKCS8vIGxvZyhhLmF1dGhBZGRyKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJbG9nCglyZXRzdWIKCi8vIHRvdGFsTnVtVWludChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbE51bVVpbnQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbE51bVVpbnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxOdW1VaW50KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbE51bVVpbnQKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsTnVtVWludChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbE51bVVpbnQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoYS50b3RhbE51bVVpbnQpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbE51bVVpbnQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsTnVtQnl0ZVNsaWNlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsTnVtQnl0ZVNsaWNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxOdW1CeXRlU2xpY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxOdW1CeXRlU2xpY2UoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsTnVtQnl0ZVNsaWNlCglpbnQgMQoJcmV0dXJuCgovLyB0b3RhbE51bUJ5dGVTbGljZShhOiBBZGRyZXNzKTogdm9pZAp0b3RhbE51bUJ5dGVTbGljZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzgKCS8vIGFzc2VydChhLnRvdGFsTnVtQnl0ZVNsaWNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxOdW1CeXRlU2xpY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsRXh0cmFBcHBQYWdlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEV4dHJhQXBwUGFnZXM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEV4dHJhQXBwUGFnZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEV4dHJhQXBwUGFnZXMKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsRXh0cmFBcHBQYWdlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEV4dHJhQXBwUGFnZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjQyCgkvLyBhc3NlcnQoYS50b3RhbEV4dHJhQXBwUGFnZXMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEV4dHJhQXBwUGFnZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXBwc0NyZWF0ZWQoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBcHBzQ3JlYXRlZDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXBwc0NyZWF0ZWQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBcHBzQ3JlYXRlZAoJaW50IDEKCXJldHVybgoKLy8gdG90YWxBcHBzQ3JlYXRlZChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFwcHNDcmVhdGVkOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo0NgoJLy8gYXNzZXJ0KGEudG90YWxBcHBzQ3JlYXRlZCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXBwc0NyZWF0ZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXBwc09wdGVkSW4oYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBcHBzT3B0ZWRJbjoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXBwc09wdGVkSW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBcHBzT3B0ZWRJbihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBcHBzT3B0ZWRJbgoJaW50IDEKCXJldHVybgoKLy8gdG90YWxBcHBzT3B0ZWRJbihhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFwcHNPcHRlZEluOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo1MAoJLy8gYXNzZXJ0KGEudG90YWxBcHBzT3B0ZWRJbikKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXBwc09wdGVkSW4KCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXNzZXRzQ3JlYXRlZChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFzc2V0c0NyZWF0ZWQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEFzc2V0c0NyZWF0ZWQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFzc2V0c0NyZWF0ZWQKCWludCAxCglyZXR1cm4KCi8vIHRvdGFsQXNzZXRzQ3JlYXRlZChhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFzc2V0c0NyZWF0ZWQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjU0CgkvLyBhc3NlcnQoYS50b3RhbEFzc2V0c0NyZWF0ZWQpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEFzc2V0c0NyZWF0ZWQKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQXNzZXRzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsQXNzZXRzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBc3NldHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxBc3NldHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsQXNzZXRzCglpbnQgMQoJcmV0dXJuCgovLyB0b3RhbEFzc2V0cyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEFzc2V0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NTgKCS8vIGFzc2VydChhLnRvdGFsQXNzZXRzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBc3NldHMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQm94ZXMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxCb3hlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQm94ZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxCb3hlcyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxCb3hlcwoJaW50IDEKCXJldHVybgoKLy8gdG90YWxCb3hlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEJveGVzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo2MgoJLy8gYXNzZXJ0KGEudG90YWxCb3hlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQm94ZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIHRvdGFsQm94Qnl0ZXMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxCb3hCeXRlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQm94Qnl0ZXMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxCb3hCeXRlcwoJaW50IDEKCXJldHVybgoKLy8gdG90YWxCb3hCeXRlcyhhOiBBZGRyZXNzKTogdm9pZAp0b3RhbEJveEJ5dGVzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo2NgoJLy8gYXNzZXJ0KGEudG90YWxCb3hCeXRlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQm94Qnl0ZXMKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJoYXNBc3NldChhZGRyZXNzKXZvaWQiCgltZXRob2QgImFzc2V0QmFsYW5jZShhZGRyZXNzKXZvaWQiCgltZXRob2QgImFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQiCgltZXRob2QgImJhbGFuY2UoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJtaW5CYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAiYXV0aEFkZHIoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbE51bVVpbnQoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbE51bUJ5dGVTbGljZShhZGRyZXNzKXZvaWQiCgltZXRob2QgInRvdGFsRXh0cmFBcHBQYWdlcyhhZGRyZXNzKXZvaWQiCgltZXRob2QgInRvdGFsQXBwc0NyZWF0ZWQoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbEFwcHNPcHRlZEluKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxBc3NldHMoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJ0b3RhbEJveGVzKGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAidG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2hhc0Fzc2V0ICphYmlfcm91dGVfYXNzZXRCYWxhbmNlICphYmlfcm91dGVfYXNzZXRGcm96ZW4gKmFiaV9yb3V0ZV9oYXNCYWxhbmNlICphYmlfcm91dGVfYmFsYW5jZSAqYWJpX3JvdXRlX21pbkJhbGFuY2UgKmFiaV9yb3V0ZV9hdXRoQWRkciAqYWJpX3JvdXRlX3RvdGFsTnVtVWludCAqYWJpX3JvdXRlX3RvdGFsTnVtQnl0ZVNsaWNlICphYmlfcm91dGVfdG90YWxFeHRyYUFwcFBhZ2VzICphYmlfcm91dGVfdG90YWxBcHBzQ3JlYXRlZCAqYWJpX3JvdXRlX3RvdGFsQXBwc09wdGVkSW4gKmFiaV9yb3V0ZV90b3RhbEFzc2V0c0NyZWF0ZWQgKmFiaV9yb3V0ZV90b3RhbEFzc2V0cyAqYWJpX3JvdXRlX3RvdGFsQm94ZXMgKmFiaV9yb3V0ZV90b3RhbEJveEJ5dGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/B.approval.teal b/tests/contracts/artifacts/B.approval.teal
index 6179c2f30..11ccd0fc3 100644
--- a/tests/contracts/artifacts/B.approval.teal
+++ b/tests/contracts/artifacts/B.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/B.arc32.json b/tests/contracts/artifacts/B.arc32.json
index 22dc3a349..32bb2d8b8 100644
--- a/tests/contracts/artifacts/B.arc32.json
+++ b/tests/contracts/artifacts/B.arc32.json
@@ -53,7 +53,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/B.arc56_draft.json b/tests/contracts/artifacts/B.arc56_draft.json
index 633d650d3..862b5c758 100644
--- a/tests/contracts/artifacts/B.arc56_draft.json
+++ b/tests/contracts/artifacts/B.arc56_draft.json
@@ -84,375 +84,378 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 20,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9
- ]
- },
- {
- "teal": 13,
- "source": 20,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 14,
- "source": 20,
- "pc": [
- 12
- ]
- },
- {
- "teal": 15,
- "source": 20,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 16,
- "source": 20,
- "pc": [
- 15
- ]
- },
- {
- "teal": 17,
- "source": 20,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 18,
- "source": 20,
- "pc": [
- 18
- ]
- },
- {
- "teal": 19,
- "source": 20,
- "pc": [
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44
- ]
- },
- {
- "teal": 23,
- "source": 20,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 45
- ]
- },
- {
- "teal": 28,
- "source": 15,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 29,
- "source": 15,
- "pc": [
- 49
- ]
- },
- {
- "teal": 30,
- "source": 15,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 15,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 38,
- "source": 16,
- "pc": [
- 54
- ]
- },
- {
- "teal": 39,
- "source": 16,
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 16,
- "pc": [
- 56
- ]
- },
- {
- "teal": 41,
- "source": 15,
- "pc": [
- 57
- ]
- },
- {
- "teal": 46,
- "source": 23,
- "pc": [
- 58,
- 59,
- 60
- ]
- },
- {
- "teal": 47,
- "source": 23,
- "pc": [
- 61
- ]
- },
- {
- "teal": 48,
- "source": 23,
- "pc": [
- 62
- ]
- },
- {
- "teal": 52,
- "source": 23,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 56,
- "source": 24,
- "pc": [
- 66
- ]
- },
- {
- "teal": 57,
- "source": 24,
- "pc": [
- 67
- ]
- },
- {
- "teal": 58,
- "source": 24,
- "pc": [
- 68
- ]
- },
- {
- "teal": 59,
- "source": 24,
- "pc": [
- 69
- ]
- },
- {
- "teal": 60,
- "source": 24,
- "pc": [
- 70
- ]
- },
- {
- "teal": 64,
- "source": 25,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 65,
- "source": 25,
- "pc": [
- 74,
- 75
- ]
- },
- {
- "teal": 66,
- "source": 25,
- "pc": [
- 76
- ]
- },
- {
- "teal": 67,
- "source": 23,
- "pc": [
- 77
- ]
- },
- {
- "teal": 70,
- "source": 20,
- "pc": [
- 78
- ]
- },
- {
- "teal": 71,
- "source": 20,
- "pc": [
- 79
- ]
- },
- {
- "teal": 74,
- "source": 20,
- "pc": [
- 80,
- 81,
- 82,
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 75,
- "source": 20,
- "pc": [
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 76,
- "source": 20,
- "pc": [
- 89,
- 90,
- 91,
- 92
- ]
- },
- {
- "teal": 79,
- "source": 20,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 93
- ]
- },
- {
- "teal": 82,
- "source": 20,
- "pc": [
- 94,
- 95,
- 96,
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 83,
- "source": 20,
- "pc": [
- 100,
- 101,
- 102,
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 84,
- "source": 20,
- "pc": [
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 85,
- "source": 20,
- "pc": [
- 109,
- 110,
- 111,
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 88,
- "source": 20,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 115
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 20,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 20,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 20,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 20,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 20,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 20,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 20,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 20,
+ "pc": [
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 20,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 45
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 15,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 15,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 15,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 15,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 16,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 16,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 16,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 15,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 23,
+ "pc": [
+ 58,
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 23,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 23,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 23,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 24,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 24,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 24,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 24,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 24,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 25,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 25,
+ "pc": [
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 25,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 23,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 20,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 20,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 20,
+ "pc": [
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 20,
+ "pc": [
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 20,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 20,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 20,
+ "pc": [
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 20,
+ "pc": [
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 20,
+ "pc": [
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 20,
+ "pc": [
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 20,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 115
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/B2.approval.teal b/tests/contracts/artifacts/B2.approval.teal
index 7bbb4654e..d887605ef 100644
--- a/tests/contracts/artifacts/B2.approval.teal
+++ b/tests/contracts/artifacts/B2.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/B2.arc32.json b/tests/contracts/artifacts/B2.arc32.json
index c4af41096..5e5d66197 100644
--- a/tests/contracts/artifacts/B2.arc32.json
+++ b/tests/contracts/artifacts/B2.arc32.json
@@ -49,7 +49,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYjIoKXZvaWQKKmFiaV9yb3V0ZV9iMjoKCS8vIGV4ZWN1dGUgYjIoKXZvaWQKCWNhbGxzdWIgYjIKCWludCAxCglyZXR1cm4KCi8vIGIyKCk6IHZvaWQKYjI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4OAoJLy8gbG9nKCdiMicpCglieXRlIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgltZXRob2QgImIyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYjIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYjIoKXZvaWQKKmFiaV9yb3V0ZV9iMjoKCS8vIGV4ZWN1dGUgYjIoKXZvaWQKCWNhbGxzdWIgYjIKCWludCAxCglyZXR1cm4KCi8vIGIyKCk6IHZvaWQKYjI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4OAoJLy8gbG9nKCdiMicpCglieXRlIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgltZXRob2QgImIyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYjIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/B2.arc56_draft.json b/tests/contracts/artifacts/B2.arc56_draft.json
index 4fceda1c5..e2da86bee 100644
--- a/tests/contracts/artifacts/B2.arc56_draft.json
+++ b/tests/contracts/artifacts/B2.arc56_draft.json
@@ -79,331 +79,334 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 86,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 86,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 86,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 86,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 86,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 86,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 86,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 86,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 86,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 15,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 29,
- "source": 15,
- "pc": [
- 43
- ]
- },
- {
- "teal": 30,
- "source": 15,
- "pc": [
- 44
- ]
- },
- {
- "teal": 34,
- "source": 15,
- "pc": [
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 38,
- "source": 16,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 39,
- "source": 16,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 40,
- "source": 16,
- "pc": [
- 54
- ]
- },
- {
- "teal": 41,
- "source": 15,
- "pc": [
- 55
- ]
- },
- {
- "teal": 46,
- "source": 87,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 47,
- "source": 87,
- "pc": [
- 59
- ]
- },
- {
- "teal": 48,
- "source": 87,
- "pc": [
- 60
- ]
- },
- {
- "teal": 52,
- "source": 87,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 56,
- "source": 88,
- "pc": [
- 64,
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 57,
- "source": 88,
- "pc": [
- 68
- ]
- },
- {
- "teal": 58,
- "source": 87,
- "pc": [
- 69
- ]
- },
- {
- "teal": 61,
- "source": 86,
- "pc": [
- 70
- ]
- },
- {
- "teal": 62,
- "source": 86,
- "pc": [
- 71
- ]
- },
- {
- "teal": 65,
- "source": 86,
- "pc": [
- 72,
- 73,
- 74,
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 66,
- "source": 86,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 67,
- "source": 86,
- "pc": [
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 70,
- "source": 86,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 85
- ]
- },
- {
- "teal": 73,
- "source": 86,
- "pc": [
- 86,
- 87,
- 88,
- 89,
- 90,
- 91
- ]
- },
- {
- "teal": 74,
- "source": 86,
- "pc": [
- 92,
- 93,
- 94,
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 75,
- "source": 86,
- "pc": [
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 76,
- "source": 86,
- "pc": [
- 101,
- 102,
- 103,
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 79,
- "source": 86,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 107
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 86,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 86,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 86,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 86,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 86,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 86,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 86,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 86,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 86,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 15,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 15,
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 15,
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 15,
+ "pc": [
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 16,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 16,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 16,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 15,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 87,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 87,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 87,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 87,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 88,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 88,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 87,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 86,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 86,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 86,
+ "pc": [
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 86,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 86,
+ "pc": [
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 86,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 86,
+ "pc": [
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 86,
+ "pc": [
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 86,
+ "pc": [
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 86,
+ "pc": [
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 86,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 107
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYjIoKXZvaWQKKmFiaV9yb3V0ZV9iMjoKCS8vIGV4ZWN1dGUgYjIoKXZvaWQKCWNhbGxzdWIgYjIKCWludCAxCglyZXR1cm4KCi8vIGIyKCk6IHZvaWQKYjI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4OAoJLy8gbG9nKCdiMicpCglieXRlIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgltZXRob2QgImIyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYjIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYjIoKXZvaWQKKmFiaV9yb3V0ZV9iMjoKCS8vIGV4ZWN1dGUgYjIoKXZvaWQKCWNhbGxzdWIgYjIKCWludCAxCglyZXR1cm4KCi8vIGIyKCk6IHZvaWQKYjI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4OAoJLy8gbG9nKCdiMicpCglieXRlIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImEoKXZvaWQiCgltZXRob2QgImIyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYjIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/BasicLsig.lsig.teal b/tests/contracts/artifacts/BasicLsig.lsig.teal
index e2c26e2da..b02952523 100644
--- a/tests/contracts/artifacts/BasicLsig.lsig.teal
+++ b/tests/contracts/artifacts/BasicLsig.lsig.teal
@@ -1,7 +1,7 @@
#pragma version 10
//#pragma mode logicsig
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// The address of this logic signature is XBBFEDSZ6KEUC76ZFV5LUYHAYYRKAXRJ7FYUSBWIBTNA4HUYLMHGKGYXPU
diff --git a/tests/contracts/artifacts/BigComment.arc56_draft.json b/tests/contracts/artifacts/BigComment.arc56_draft.json
index 3521123b3..0efdc0f56 100644
--- a/tests/contracts/artifacts/BigComment.arc56_draft.json
+++ b/tests/contracts/artifacts/BigComment.arc56_draft.json
@@ -60,641 +60,644 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 3,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 3
- },
- {
- "teal": 14,
- "source": 3,
- "pc": [
- 39
- ]
- },
- {
- "teal": 15,
- "source": 3
- },
- {
- "teal": 16,
- "source": 3
- },
- {
- "teal": 17,
- "source": 3,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 18,
- "source": 3
- },
- {
- "teal": 19,
- "source": 3,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 23,
- "source": 3,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 28,
- "source": 6,
- "pc": [
- 59
- ]
- },
- {
- "teal": 31,
- "source": 6
- },
- {
- "teal": 32,
- "source": 6,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 33,
- "source": 6
- },
- {
- "teal": 34,
- "source": 6,
- "pc": [
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191,
- 192,
- 193,
- 194,
- 195,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 210,
- 211,
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 223,
- 224,
- 225,
- 226,
- 227,
- 228,
- 229,
- 230,
- 231,
- 232,
- 233,
- 234,
- 235,
- 236,
- 237,
- 238,
- 239,
- 240,
- 241,
- 242,
- 243,
- 244,
- 245,
- 246,
- 247,
- 248,
- 249,
- 250,
- 251,
- 252,
- 253,
- 254,
- 255,
- 256,
- 257,
- 258,
- 259,
- 260,
- 261,
- 262,
- 263,
- 264,
- 265,
- 266,
- 267,
- 268,
- 269,
- 270,
- 271,
- 272,
- 273,
- 274,
- 275,
- 276,
- 277,
- 278,
- 279,
- 280,
- 281,
- 282,
- 283,
- 284,
- 285,
- 286,
- 287,
- 288,
- 289,
- 290,
- 291,
- 292,
- 293,
- 294,
- 295,
- 296,
- 297,
- 298,
- 299,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308,
- 309,
- 310,
- 311,
- 312,
- 313,
- 314,
- 315,
- 316,
- 317,
- 318,
- 319,
- 320,
- 321,
- 322,
- 323,
- 324,
- 325,
- 326,
- 327,
- 328,
- 329,
- 330,
- 331,
- 332,
- 333,
- 334,
- 335,
- 336,
- 337,
- 338,
- 339,
- 340,
- 341,
- 342,
- 343,
- 344,
- 345,
- 346,
- 347,
- 348,
- 349,
- 350,
- 351,
- 352,
- 353,
- 354,
- 355,
- 356,
- 357,
- 358,
- 359,
- 360,
- 361,
- 362,
- 363,
- 364,
- 365,
- 366,
- 367,
- 368,
- 369,
- 370,
- 371,
- 372,
- 373,
- 374,
- 375,
- 376,
- 377,
- 378,
- 379,
- 380,
- 381,
- 382,
- 383,
- 384,
- 385,
- 386,
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 412,
- 413,
- 414,
- 415,
- 416,
- 417,
- 418,
- 419,
- 420,
- 421,
- 422,
- 423,
- 424,
- 425,
- 426,
- 427,
- 428,
- 429,
- 430,
- 431,
- 432,
- 433,
- 434,
- 435,
- 436,
- 437,
- 438,
- 439,
- 440,
- 441,
- 442,
- 443,
- 444,
- 445,
- 446,
- 447,
- 448,
- 449,
- 450,
- 451,
- 452,
- 453,
- 454,
- 455,
- 456,
- 457,
- 458,
- 459,
- 460,
- 461,
- 462,
- 463,
- 464,
- 465,
- 466,
- 467,
- 468,
- 469,
- 470,
- 471,
- 472,
- 473,
- 474,
- 475,
- 476,
- 477,
- 478,
- 479,
- 480,
- 481,
- 482,
- 483,
- 484,
- 485,
- 486,
- 487,
- 488,
- 489,
- 490,
- 491,
- 492,
- 493,
- 494,
- 495,
- 496,
- 497,
- 498,
- 499,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505,
- 506,
- 507,
- 508,
- 509,
- 510,
- 511
- ]
- },
- {
- "teal": 35,
- "source": 6,
- "pc": [
- 512
- ]
- },
- {
- "teal": 36,
- "source": 6
- },
- {
- "teal": 37,
- "source": 6
- },
- {
- "teal": 38,
- "source": 6,
- "pc": [
- 513
- ]
- },
- {
- "teal": 39,
- "source": 6,
- "pc": [
- 514
- ]
- },
- {
- "teal": 40,
- "source": 6
- },
- {
- "teal": 41,
- "source": 6
- },
- {
- "teal": 45,
- "source": 6
- },
- {
- "teal": 1376,
- "source": 1334
- },
- {
- "teal": 1377,
- "source": 6
- },
- {
- "teal": 1380,
- "source": 3
- },
- {
- "teal": 1381,
- "source": 3
- },
- {
- "teal": 1384,
- "source": 3
- },
- {
- "teal": 1385,
- "source": 3
- },
- {
- "teal": 1386,
- "source": 3
- },
- {
- "teal": 1389,
- "source": 3,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp"
- },
- {
- "teal": 1392,
- "source": 3
- },
- {
- "teal": 1393,
- "source": 3
- },
- {
- "teal": 1394,
- "source": 3
- },
- {
- "teal": 1397,
- "source": 3,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp"
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 3,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 3
+ },
+ {
+ "teal": 14,
+ "source": 3,
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 3
+ },
+ {
+ "teal": 16,
+ "source": 3
+ },
+ {
+ "teal": 17,
+ "source": 3,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 3
+ },
+ {
+ "teal": 19,
+ "source": 3,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 3,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 6,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 6
+ },
+ {
+ "teal": 32,
+ "source": 6,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 6
+ },
+ {
+ "teal": 34,
+ "source": 6,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184,
+ 185,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190,
+ 191,
+ 192,
+ 193,
+ 194,
+ 195,
+ 196,
+ 197,
+ 198,
+ 199,
+ 200,
+ 201,
+ 202,
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211,
+ 212,
+ 213,
+ 214,
+ 215,
+ 216,
+ 217,
+ 218,
+ 219,
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225,
+ 226,
+ 227,
+ 228,
+ 229,
+ 230,
+ 231,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 237,
+ 238,
+ 239,
+ 240,
+ 241,
+ 242,
+ 243,
+ 244,
+ 245,
+ 246,
+ 247,
+ 248,
+ 249,
+ 250,
+ 251,
+ 252,
+ 253,
+ 254,
+ 255,
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 263,
+ 264,
+ 265,
+ 266,
+ 267,
+ 268,
+ 269,
+ 270,
+ 271,
+ 272,
+ 273,
+ 274,
+ 275,
+ 276,
+ 277,
+ 278,
+ 279,
+ 280,
+ 281,
+ 282,
+ 283,
+ 284,
+ 285,
+ 286,
+ 287,
+ 288,
+ 289,
+ 290,
+ 291,
+ 292,
+ 293,
+ 294,
+ 295,
+ 296,
+ 297,
+ 298,
+ 299,
+ 300,
+ 301,
+ 302,
+ 303,
+ 304,
+ 305,
+ 306,
+ 307,
+ 308,
+ 309,
+ 310,
+ 311,
+ 312,
+ 313,
+ 314,
+ 315,
+ 316,
+ 317,
+ 318,
+ 319,
+ 320,
+ 321,
+ 322,
+ 323,
+ 324,
+ 325,
+ 326,
+ 327,
+ 328,
+ 329,
+ 330,
+ 331,
+ 332,
+ 333,
+ 334,
+ 335,
+ 336,
+ 337,
+ 338,
+ 339,
+ 340,
+ 341,
+ 342,
+ 343,
+ 344,
+ 345,
+ 346,
+ 347,
+ 348,
+ 349,
+ 350,
+ 351,
+ 352,
+ 353,
+ 354,
+ 355,
+ 356,
+ 357,
+ 358,
+ 359,
+ 360,
+ 361,
+ 362,
+ 363,
+ 364,
+ 365,
+ 366,
+ 367,
+ 368,
+ 369,
+ 370,
+ 371,
+ 372,
+ 373,
+ 374,
+ 375,
+ 376,
+ 377,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382,
+ 383,
+ 384,
+ 385,
+ 386,
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 412,
+ 413,
+ 414,
+ 415,
+ 416,
+ 417,
+ 418,
+ 419,
+ 420,
+ 421,
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427,
+ 428,
+ 429,
+ 430,
+ 431,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436,
+ 437,
+ 438,
+ 439,
+ 440,
+ 441,
+ 442,
+ 443,
+ 444,
+ 445,
+ 446,
+ 447,
+ 448,
+ 449,
+ 450,
+ 451,
+ 452,
+ 453,
+ 454,
+ 455,
+ 456,
+ 457,
+ 458,
+ 459,
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 6,
+ "pc": [
+ 512
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 6
+ },
+ {
+ "teal": 37,
+ "source": 6
+ },
+ {
+ "teal": 38,
+ "source": 6,
+ "pc": [
+ 513
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 6,
+ "pc": [
+ 514
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 6
+ },
+ {
+ "teal": 41,
+ "source": 6
+ },
+ {
+ "teal": 45,
+ "source": 6
+ },
+ {
+ "teal": 1376,
+ "source": 1334
+ },
+ {
+ "teal": 1377,
+ "source": 6
+ },
+ {
+ "teal": 1380,
+ "source": 3
+ },
+ {
+ "teal": 1381,
+ "source": 3
+ },
+ {
+ "teal": 1384,
+ "source": 3
+ },
+ {
+ "teal": 1385,
+ "source": 3
+ },
+ {
+ "teal": 1386,
+ "source": 3
+ },
+ {
+ "teal": 1389,
+ "source": 3,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp"
+ },
+ {
+ "teal": 1392,
+ "source": 3
+ },
+ {
+ "teal": 1393,
+ "source": 3
+ },
+ {
+ "teal": 1394,
+ "source": 3
+ },
+ {
+ "teal": 1397,
+ "source": 3,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp"
+ }
+ ],
+ "clear": []
+ },
"source": {
"approval": "I3ByYWdtYSB2ZXJzaW9uIDExCgoKCnR4biBBcHBsaWNhdGlvbklECiEKaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgllcnIKCiphYmlfcm91dGVfbG9yZW1JcHN1bToKCWJ5dGUgMHgxNTFmN2M3NQoKCWNhbGxzdWIgbG9yZW1JcHN1bQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgpsb3JlbUlwc3VtOgoJcHJvdG8gMCAxCgoJYnl0ZSAweDRjNmY3MjY1NmQyMDY5NzA3Mzc1NmQyMDY0NmY2YzZmNzIyMDczNjk3NDIwNjE2ZDY1NzQyYzIwNjM2ZjZlNzM2NTYzNzQ2NTc0NzU3MjIwNjE2NDY5NzA2OTczNjM2OTZlNjcyMDY1NmM2OTc0MmMyMDczNjU2NDIwNjQ2ZjIwNjU2OTc1NzM2ZDZmNjQyMDc0NjU2ZDcwNmY3MjIwNjk2ZTYzNjk2NDY5NjQ3NTZlNzQyMDc1NzQyMDZjNjE2MjZmNzI2NTIwNjU3NDIwNjQ2ZjZjNmY3MjY1MjA2ZDYxNjc2ZTYxMjA2MTZjNjk3MTc1NjEyZTIwNTU3NDIwNjU2ZTY5NmQyMDYxNjQyMDZkNjk2ZTY5NmQyMDc2NjU2ZTY5NjE2ZDJjMjA3MTc1Njk3MzIwNmU2ZjczNzQ3Mjc1NjQyMDY1Nzg2NTcyNjM2OTc0NjE3NDY5NmY2ZTIwNzU2YzZjNjE2ZDYzNmYyMDZjNjE2MjZmNzI2OTczMjA2ZTY5NzM2OTIwNzU3NDIwNjE2YzY5NzE3NTY5NzAyMDY1NzgyMDY1NjEyMDYzNmY2ZDZkNmY2NDZmMjA2MzZmNmU3MzY1NzE3NTYxNzQyZTIwNDQ3NTY5NzMyMDYxNzU3NDY1MjA2OTcyNzU3MjY1MjA2NDZmNmM2ZjcyMjA2OTZlMjA3MjY1NzA3MjY1Njg2NTZlNjQ2NTcyNjk3NDIwNjk2ZTIwNzY2ZjZjNzU3MDc0NjE3NDY1MjA3NjY1NmM2OTc0MjA2NTczNzM2NTIwNjM2OTZjNmM3NTZkMjA2NDZmNmM2ZjcyNjUyMDY1NzUyMDY2NzU2NzY5NjE3NDIwNmU3NTZjNmM2MTIwNzA2MTcyNjk2MTc0NzU3MjJlMjA0NTc4NjM2NTcwNzQ2NTc1NzIyMDczNjk2ZTc0MjA2ZjYzNjM2MTY1NjM2MTc0MjA2Mzc1NzA2OTY0NjE3NDYxNzQyMDZlNmY2ZTIwNzA3MjZmNjk2NDY1NmU3NDJjMjA3Mzc1NmU3NDIwNjk2ZTIwNjM3NTZjNzA2MTIwNzE3NTY5MjA2ZjY2NjY2OTYzNjk2MTIwNjQ2NTczNjU3Mjc1NmU3NDIwNmQ2ZjZjNmM2OTc0MjA2MTZlNjk2ZDIwNjk2NDIwNjU3Mzc0MjA2YzYxNjI2ZjcyNzU2ZDJlIC8vICJMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uIgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImxvcmVtSXBzdW0oKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbG9yZW1JcHN1bQoKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEx"
diff --git a/tests/contracts/artifacts/BinaryTest.approval.teal b/tests/contracts/artifacts/BinaryTest.approval.teal
index 9910cebd0..24b5910d0 100644
--- a/tests/contracts/artifacts/BinaryTest.approval.teal
+++ b/tests/contracts/artifacts/BinaryTest.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/BinaryTest.arc32.json b/tests/contracts/artifacts/BinaryTest.arc32.json
index 6371be97b..146a09744 100644
--- a/tests/contracts/artifacts/BinaryTest.arc32.json
+++ b/tests/contracts/artifacts/BinaryTest.arc32.json
@@ -74,7 +74,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbmQodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYW5kOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhbmQodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGFuZAoJaW50IDEKCXJldHVybgoKLy8gYW5kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZAphbmQ6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6NgoJLy8gYXNzZXJ0KGEgJiYgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYnogKnNraXBfYW5kMAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJJiYKCipza2lwX2FuZDA6Cglhc3NlcnQKCXJldHN1YgoKLy8gb3IodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfb3I6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIG9yKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBvcgoJaW50IDEKCXJldHVybgoKLy8gb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCm9yOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjEwCgkvLyBhc3NlcnQoYSB8fCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgl8fAoKKnNraXBfb3IwOgoJYXNzZXJ0CglyZXRzdWIKCi8vIGVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2VxdWFsOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBlcXVhbCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgZXF1YWwKCWludCAxCglyZXR1cm4KCi8vIGVxdWFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZAplcXVhbDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxNAoJLy8gYXNzZXJ0KGEgPT09IGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIG5vdEVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX25vdEVxdWFsOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgbm90RXF1YWwKCWludCAxCglyZXR1cm4KCi8vIG5vdEVxdWFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApub3RFcXVhbDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxOAoJLy8gYXNzZXJ0KGEgIT09IGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkhPQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRBbmQ6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0QW5kCglpbnQgMQoJcmV0dXJuCgovLyBiaXRBbmQoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCmJpdEFuZDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoyMgoJLy8gYXNzZXJ0KGEgJiBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJJgoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdE9yKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2JpdE9yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRPcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0T3IKCWludCAxCglyZXR1cm4KCi8vIGJpdE9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRPcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoyNgoJLy8gYXNzZXJ0KGEgfCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJfAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdFhvcih1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRYb3I6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdFhvcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0WG9yCglpbnQgMQoJcmV0dXJuCgovLyBiaXRYb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCmJpdFhvcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czozMAoJLy8gYXNzZXJ0KGEgXiBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJXgoJYXNzZXJ0CglyZXRzdWIKCi8vIGNvbWJvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jb21ibzoKCS8vIGM6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY29tYm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjb21ibwoJaW50IDEKCXJldHVybgoKLy8gY29tYm8oYTogdWludDY0LCBiOiB1aW50NjQsIGM6IHVpbnQ2NCk6IHZvaWQKY29tYm86Cglwcm90byAzIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MzQKCS8vIGFzc2VydChhIHx8IChiICYmIGMpKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDEKCWZyYW1lX2RpZyAtMyAvLyBjOiB1aW50NjQKCSYmCgoqc2tpcF9hbmQxOgoJfHwKCipza2lwX29yMToKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYW5kKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAib3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJlcXVhbCh1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgIm5vdEVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiYml0QW5kKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiYml0T3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJjb21ibyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hbmQgKmFiaV9yb3V0ZV9vciAqYWJpX3JvdXRlX2VxdWFsICphYmlfcm91dGVfbm90RXF1YWwgKmFiaV9yb3V0ZV9iaXRBbmQgKmFiaV9yb3V0ZV9iaXRPciAqYWJpX3JvdXRlX2JpdFhvciAqYWJpX3JvdXRlX2NvbWJvCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbmQodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYW5kOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhbmQodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGFuZAoJaW50IDEKCXJldHVybgoKLy8gYW5kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZAphbmQ6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6NgoJLy8gYXNzZXJ0KGEgJiYgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYnogKnNraXBfYW5kMAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJJiYKCipza2lwX2FuZDA6Cglhc3NlcnQKCXJldHN1YgoKLy8gb3IodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfb3I6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIG9yKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBvcgoJaW50IDEKCXJldHVybgoKLy8gb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCm9yOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjEwCgkvLyBhc3NlcnQoYSB8fCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgl8fAoKKnNraXBfb3IwOgoJYXNzZXJ0CglyZXRzdWIKCi8vIGVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2VxdWFsOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBlcXVhbCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgZXF1YWwKCWludCAxCglyZXR1cm4KCi8vIGVxdWFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZAplcXVhbDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxNAoJLy8gYXNzZXJ0KGEgPT09IGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIG5vdEVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX25vdEVxdWFsOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgbm90RXF1YWwKCWludCAxCglyZXR1cm4KCi8vIG5vdEVxdWFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApub3RFcXVhbDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxOAoJLy8gYXNzZXJ0KGEgIT09IGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkhPQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRBbmQ6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0QW5kCglpbnQgMQoJcmV0dXJuCgovLyBiaXRBbmQoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCmJpdEFuZDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoyMgoJLy8gYXNzZXJ0KGEgJiBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJJgoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdE9yKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2JpdE9yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRPcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0T3IKCWludCAxCglyZXR1cm4KCi8vIGJpdE9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRPcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoyNgoJLy8gYXNzZXJ0KGEgfCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJfAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdFhvcih1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRYb3I6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdFhvcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0WG9yCglpbnQgMQoJcmV0dXJuCgovLyBiaXRYb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCmJpdFhvcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czozMAoJLy8gYXNzZXJ0KGEgXiBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJXgoJYXNzZXJ0CglyZXRzdWIKCi8vIGNvbWJvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jb21ibzoKCS8vIGM6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY29tYm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjb21ibwoJaW50IDEKCXJldHVybgoKLy8gY29tYm8oYTogdWludDY0LCBiOiB1aW50NjQsIGM6IHVpbnQ2NCk6IHZvaWQKY29tYm86Cglwcm90byAzIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MzQKCS8vIGFzc2VydChhIHx8IChiICYmIGMpKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDEKCWZyYW1lX2RpZyAtMyAvLyBjOiB1aW50NjQKCSYmCgoqc2tpcF9hbmQxOgoJfHwKCipza2lwX29yMToKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYW5kKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAib3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJlcXVhbCh1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgIm5vdEVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiYml0QW5kKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiYml0T3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJjb21ibyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hbmQgKmFiaV9yb3V0ZV9vciAqYWJpX3JvdXRlX2VxdWFsICphYmlfcm91dGVfbm90RXF1YWwgKmFiaV9yb3V0ZV9iaXRBbmQgKmFiaV9yb3V0ZV9iaXRPciAqYWJpX3JvdXRlX2JpdFhvciAqYWJpX3JvdXRlX2NvbWJvCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/BinaryTest.arc56_draft.json b/tests/contracts/artifacts/BinaryTest.arc56_draft.json
index a9cd3e4fc..69edf3a8e 100644
--- a/tests/contracts/artifacts/BinaryTest.arc56_draft.json
+++ b/tests/contracts/artifacts/BinaryTest.arc56_draft.json
@@ -227,1198 +227,1201 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 4,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 4,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 4,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 4,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 4,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 4,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 4,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 4,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 4,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 5,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 29,
- "source": 5,
- "pc": [
- 43
- ]
- },
- {
- "teal": 32,
- "source": 5,
- "pc": [
- 44,
- 45,
- 46
- ]
- },
- {
- "teal": 33,
- "source": 5,
- "pc": [
- 47
- ]
- },
- {
- "teal": 36,
- "source": 5,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 37,
- "source": 5,
- "pc": [
- 51
- ]
- },
- {
- "teal": 38,
- "source": 5,
- "pc": [
- 52
- ]
- },
- {
- "teal": 42,
- "source": 5,
- "pc": [
- 53,
- 54,
- 55
- ]
- },
- {
- "teal": 46,
- "source": 6,
- "pc": [
- 56,
- 57
- ]
- },
- {
- "teal": 47,
- "source": 6,
- "pc": [
- 58
- ]
- },
- {
- "teal": 48,
- "source": 6,
- "pc": [
- 59,
- 60,
- 61
- ]
- },
- {
- "teal": 49,
- "source": 6,
- "pc": [
- 62,
- 63
- ]
- },
- {
- "teal": 50,
- "source": 6,
- "pc": [
- 64
- ]
- },
- {
- "teal": 53,
- "source": 6,
- "pc": [
- 65
- ]
- },
- {
- "teal": 54,
- "source": 5,
- "pc": [
- 66
- ]
- },
- {
- "teal": 59,
- "source": 9,
- "pc": [
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 60,
- "source": 9,
- "pc": [
- 70
- ]
- },
- {
- "teal": 63,
- "source": 9,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 64,
- "source": 9,
- "pc": [
- 74
- ]
- },
- {
- "teal": 67,
- "source": 9,
- "pc": [
- 75,
- 76,
- 77
- ]
- },
- {
- "teal": 68,
- "source": 9,
- "pc": [
- 78
- ]
- },
- {
- "teal": 69,
- "source": 9,
- "pc": [
- 79
- ]
- },
- {
- "teal": 73,
- "source": 9,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 77,
- "source": 10,
- "pc": [
- 83,
- 84
- ]
- },
- {
- "teal": 78,
- "source": 10,
- "pc": [
- 85
- ]
- },
- {
- "teal": 79,
- "source": 10,
- "pc": [
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 80,
- "source": 10,
- "pc": [
- 89,
- 90
- ]
- },
- {
- "teal": 81,
- "source": 10,
- "pc": [
- 91
- ]
- },
- {
- "teal": 84,
- "source": 10,
- "pc": [
- 92
- ]
- },
- {
- "teal": 85,
- "source": 9,
- "pc": [
- 93
- ]
- },
- {
- "teal": 90,
- "source": 13,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 91,
- "source": 13,
- "pc": [
- 97
- ]
- },
- {
- "teal": 94,
- "source": 13,
- "pc": [
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 95,
- "source": 13,
- "pc": [
- 101
- ]
- },
- {
- "teal": 98,
- "source": 13,
- "pc": [
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 99,
- "source": 13,
- "pc": [
- 105
- ]
- },
- {
- "teal": 100,
- "source": 13,
- "pc": [
- 106
- ]
- },
- {
- "teal": 104,
- "source": 13,
- "pc": [
- 107,
- 108,
- 109
- ]
- },
- {
- "teal": 108,
- "source": 14,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 109,
- "source": 14,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 110,
- "source": 14,
- "pc": [
- 114
- ]
- },
- {
- "teal": 111,
- "source": 14,
- "pc": [
- 115
- ]
- },
- {
- "teal": 112,
- "source": 13,
- "pc": [
- 116
- ]
- },
- {
- "teal": 117,
- "source": 17,
- "pc": [
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 118,
- "source": 17,
- "pc": [
- 120
- ]
- },
- {
- "teal": 121,
- "source": 17,
- "pc": [
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 122,
- "source": 17,
- "pc": [
- 124
- ]
- },
- {
- "teal": 125,
- "source": 17,
- "pc": [
- 125,
- 126,
- 127
- ]
- },
- {
- "teal": 126,
- "source": 17,
- "pc": [
- 128
- ]
- },
- {
- "teal": 127,
- "source": 17,
- "pc": [
- 129
- ]
- },
- {
- "teal": 131,
- "source": 17,
- "pc": [
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 135,
- "source": 18,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 136,
- "source": 18,
- "pc": [
- 135,
- 136
- ]
- },
- {
- "teal": 137,
- "source": 18,
- "pc": [
- 137
- ]
- },
- {
- "teal": 138,
- "source": 18,
- "pc": [
- 138
- ]
- },
- {
- "teal": 139,
- "source": 17,
- "pc": [
- 139
- ]
- },
- {
- "teal": 144,
- "source": 21,
- "pc": [
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 145,
- "source": 21,
- "pc": [
- 143
- ]
- },
- {
- "teal": 148,
- "source": 21,
- "pc": [
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 149,
- "source": 21,
- "pc": [
- 147
- ]
- },
- {
- "teal": 152,
- "source": 21,
- "pc": [
- 148,
- 149,
- 150
- ]
- },
- {
- "teal": 153,
- "source": 21,
- "pc": [
- 151
- ]
- },
- {
- "teal": 154,
- "source": 21,
- "pc": [
- 152
- ]
- },
- {
- "teal": 158,
- "source": 21,
- "pc": [
- 153,
- 154,
- 155
- ]
- },
- {
- "teal": 162,
- "source": 22,
- "pc": [
- 156,
- 157
- ]
- },
- {
- "teal": 163,
- "source": 22,
- "pc": [
- 158,
- 159
- ]
- },
- {
- "teal": 164,
- "source": 22,
- "pc": [
- 160
- ]
- },
- {
- "teal": 165,
- "source": 22,
- "pc": [
- 161
- ]
- },
- {
- "teal": 166,
- "source": 21,
- "pc": [
- 162
- ]
- },
- {
- "teal": 171,
- "source": 25,
- "pc": [
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 172,
- "source": 25,
- "pc": [
- 166
- ]
- },
- {
- "teal": 175,
- "source": 25,
- "pc": [
- 167,
- 168,
- 169
- ]
- },
- {
- "teal": 176,
- "source": 25,
- "pc": [
- 170
- ]
- },
- {
- "teal": 179,
- "source": 25,
- "pc": [
- 171,
- 172,
- 173
- ]
- },
- {
- "teal": 180,
- "source": 25,
- "pc": [
- 174
- ]
- },
- {
- "teal": 181,
- "source": 25,
- "pc": [
- 175
- ]
- },
- {
- "teal": 185,
- "source": 25,
- "pc": [
- 176,
- 177,
- 178
- ]
- },
- {
- "teal": 189,
- "source": 26,
- "pc": [
- 179,
- 180
- ]
- },
- {
- "teal": 190,
- "source": 26,
- "pc": [
- 181,
- 182
- ]
- },
- {
- "teal": 191,
- "source": 26,
- "pc": [
- 183
- ]
- },
- {
- "teal": 192,
- "source": 26,
- "pc": [
- 184
- ]
- },
- {
- "teal": 193,
- "source": 25,
- "pc": [
- 185
- ]
- },
- {
- "teal": 198,
- "source": 29,
- "pc": [
- 186,
- 187,
- 188
- ]
- },
- {
- "teal": 199,
- "source": 29,
- "pc": [
- 189
- ]
- },
- {
- "teal": 202,
- "source": 29,
- "pc": [
- 190,
- 191,
- 192
- ]
- },
- {
- "teal": 203,
- "source": 29,
- "pc": [
- 193
- ]
- },
- {
- "teal": 206,
- "source": 29,
- "pc": [
- 194,
- 195,
- 196
- ]
- },
- {
- "teal": 207,
- "source": 29,
- "pc": [
- 197
- ]
- },
- {
- "teal": 208,
- "source": 29,
- "pc": [
- 198
- ]
- },
- {
- "teal": 212,
- "source": 29,
- "pc": [
- 199,
- 200,
- 201
- ]
- },
- {
- "teal": 216,
- "source": 30,
- "pc": [
- 202,
- 203
- ]
- },
- {
- "teal": 217,
- "source": 30,
- "pc": [
- 204,
- 205
- ]
- },
- {
- "teal": 218,
- "source": 30,
- "pc": [
- 206
- ]
- },
- {
- "teal": 219,
- "source": 30,
- "pc": [
- 207
- ]
- },
- {
- "teal": 220,
- "source": 29,
- "pc": [
- 208
- ]
- },
- {
- "teal": 225,
- "source": 33,
- "pc": [
- 209,
- 210,
- 211
- ]
- },
- {
- "teal": 226,
- "source": 33,
- "pc": [
- 212
- ]
- },
- {
- "teal": 229,
- "source": 33,
- "pc": [
- 213,
- 214,
- 215
- ]
- },
- {
- "teal": 230,
- "source": 33,
- "pc": [
- 216
- ]
- },
- {
- "teal": 233,
- "source": 33,
- "pc": [
- 217,
- 218,
- 219
- ]
- },
- {
- "teal": 234,
- "source": 33,
- "pc": [
- 220
- ]
- },
- {
- "teal": 237,
- "source": 33,
- "pc": [
- 221,
- 222,
- 223
- ]
- },
- {
- "teal": 238,
- "source": 33,
- "pc": [
- 224
- ]
- },
- {
- "teal": 239,
- "source": 33,
- "pc": [
- 225
- ]
- },
- {
- "teal": 243,
- "source": 33,
- "pc": [
- 226,
- 227,
- 228
- ]
- },
- {
- "teal": 247,
- "source": 34,
- "pc": [
- 229,
- 230
- ]
- },
- {
- "teal": 248,
- "source": 34,
- "pc": [
- 231
- ]
- },
- {
- "teal": 249,
- "source": 34,
- "pc": [
- 232,
- 233,
- 234
- ]
- },
- {
- "teal": 250,
- "source": 34,
- "pc": [
- 235,
- 236
- ]
- },
- {
- "teal": 251,
- "source": 34,
- "pc": [
- 237
- ]
- },
- {
- "teal": 252,
- "source": 34,
- "pc": [
- 238,
- 239,
- 240
- ]
- },
- {
- "teal": 253,
- "source": 34,
- "pc": [
- 241,
- 242
- ]
- },
- {
- "teal": 254,
- "source": 34,
- "pc": [
- 243
- ]
- },
- {
- "teal": 257,
- "source": 34,
- "pc": [
- 244
- ]
- },
- {
- "teal": 260,
- "source": 34,
- "pc": [
- 245
- ]
- },
- {
- "teal": 261,
- "source": 33,
- "pc": [
- 246
- ]
- },
- {
- "teal": 264,
- "source": 4,
- "pc": [
- 247
- ]
- },
- {
- "teal": 265,
- "source": 4,
- "pc": [
- 248
- ]
- },
- {
- "teal": 268,
- "source": 4,
- "pc": [
- 249,
- 250,
- 251,
- 252,
- 253,
- 254
- ]
- },
- {
- "teal": 269,
- "source": 4,
- "pc": [
- 255,
- 256,
- 257
- ]
- },
- {
- "teal": 270,
- "source": 4,
- "pc": [
- 258,
- 259,
- 260,
- 261
- ]
- },
- {
- "teal": 273,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 262
- ]
- },
- {
- "teal": 276,
- "source": 4,
- "pc": [
- 263,
- 264,
- 265,
- 266,
- 267,
- 268
- ]
- },
- {
- "teal": 277,
- "source": 4,
- "pc": [
- 269,
- 270,
- 271,
- 272,
- 273,
- 274
- ]
- },
- {
- "teal": 278,
- "source": 4,
- "pc": [
- 275,
- 276,
- 277,
- 278,
- 279,
- 280
- ]
- },
- {
- "teal": 279,
- "source": 4,
- "pc": [
- 281,
- 282,
- 283,
- 284,
- 285,
- 286
- ]
- },
- {
- "teal": 280,
- "source": 4,
- "pc": [
- 287,
- 288,
- 289,
- 290,
- 291,
- 292
- ]
- },
- {
- "teal": 281,
- "source": 4,
- "pc": [
- 293,
- 294,
- 295,
- 296,
- 297,
- 298
- ]
- },
- {
- "teal": 282,
- "source": 4,
- "pc": [
- 299,
- 300,
- 301,
- 302,
- 303,
- 304
- ]
- },
- {
- "teal": 283,
- "source": 4,
- "pc": [
- 305,
- 306,
- 307,
- 308,
- 309,
- 310
- ]
- },
- {
- "teal": 284,
- "source": 4,
- "pc": [
- 311,
- 312,
- 313
- ]
- },
- {
- "teal": 285,
- "source": 4,
- "pc": [
- 314,
- 315,
- 316,
- 317,
- 318,
- 319,
- 320,
- 321,
- 322,
- 323,
- 324,
- 325,
- 326,
- 327,
- 328,
- 329,
- 330,
- 331
- ]
- },
- {
- "teal": 288,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 332
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 4,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 4,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 4,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 4,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 4,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 4,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 4,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 4,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 4,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 5,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 5,
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 5,
+ "pc": [
+ 44,
+ 45,
+ 46
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 5,
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 5,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 5,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 5,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 5,
+ "pc": [
+ 53,
+ 54,
+ 55
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 6,
+ "pc": [
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 6,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 6,
+ "pc": [
+ 59,
+ 60,
+ 61
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 6,
+ "pc": [
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 6,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 6,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 5,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 9,
+ "pc": [
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 9,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 9,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 9,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 9,
+ "pc": [
+ 75,
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 9,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 9,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 9,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 10,
+ "pc": [
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 10,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 10,
+ "pc": [
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 10,
+ "pc": [
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 10,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 10,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 9,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 13,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 13,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 13,
+ "pc": [
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 13,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 13,
+ "pc": [
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 13,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 13,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 13,
+ "pc": [
+ 107,
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 14,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 14,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 14,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 14,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 13,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 17,
+ "pc": [
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 17,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 17,
+ "pc": [
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 17,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 17,
+ "pc": [
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 17,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 17,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 17,
+ "pc": [
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 18,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 18,
+ "pc": [
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 18,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 18,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 17,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 21,
+ "pc": [
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 21,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 21,
+ "pc": [
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 21,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 21,
+ "pc": [
+ 148,
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 21,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 21,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 21,
+ "pc": [
+ 153,
+ 154,
+ 155
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 22,
+ "pc": [
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 22,
+ "pc": [
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 22,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 22,
+ "pc": [
+ 161
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 21,
+ "pc": [
+ 162
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 25,
+ "pc": [
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 25,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 25,
+ "pc": [
+ 167,
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 25,
+ "pc": [
+ 170
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 25,
+ "pc": [
+ 171,
+ 172,
+ 173
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 25,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 25,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 25,
+ "pc": [
+ 176,
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 26,
+ "pc": [
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 26,
+ "pc": [
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 26,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 26,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 25,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 29,
+ "pc": [
+ 186,
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 29,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 29,
+ "pc": [
+ 190,
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 29,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 29,
+ "pc": [
+ 194,
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 29,
+ "pc": [
+ 197
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 29,
+ "pc": [
+ 198
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 29,
+ "pc": [
+ 199,
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 30,
+ "pc": [
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 30,
+ "pc": [
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 30,
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 30,
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 29,
+ "pc": [
+ 208
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 33,
+ "pc": [
+ 209,
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 33,
+ "pc": [
+ 212
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 33,
+ "pc": [
+ 213,
+ 214,
+ 215
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 33,
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 33,
+ "pc": [
+ 217,
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 234,
+ "source": 33,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 33,
+ "pc": [
+ 221,
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 33,
+ "pc": [
+ 224
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 33,
+ "pc": [
+ 225
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 33,
+ "pc": [
+ 226,
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 34,
+ "pc": [
+ 229,
+ 230
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 34,
+ "pc": [
+ 231
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 34,
+ "pc": [
+ 232,
+ 233,
+ 234
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 34,
+ "pc": [
+ 235,
+ 236
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 34,
+ "pc": [
+ 237
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 34,
+ "pc": [
+ 238,
+ 239,
+ 240
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 34,
+ "pc": [
+ 241,
+ 242
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 34,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 257,
+ "source": 34,
+ "pc": [
+ 244
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 34,
+ "pc": [
+ 245
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 33,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 4,
+ "pc": [
+ 247
+ ]
+ },
+ {
+ "teal": 265,
+ "source": 4,
+ "pc": [
+ 248
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 4,
+ "pc": [
+ 249,
+ 250,
+ 251,
+ 252,
+ 253,
+ 254
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 4,
+ "pc": [
+ 255,
+ 256,
+ 257
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 4,
+ "pc": [
+ 258,
+ 259,
+ 260,
+ 261
+ ]
+ },
+ {
+ "teal": 273,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 4,
+ "pc": [
+ 263,
+ 264,
+ 265,
+ 266,
+ 267,
+ 268
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 4,
+ "pc": [
+ 269,
+ 270,
+ 271,
+ 272,
+ 273,
+ 274
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 4,
+ "pc": [
+ 275,
+ 276,
+ 277,
+ 278,
+ 279,
+ 280
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 4,
+ "pc": [
+ 281,
+ 282,
+ 283,
+ 284,
+ 285,
+ 286
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 4,
+ "pc": [
+ 287,
+ 288,
+ 289,
+ 290,
+ 291,
+ 292
+ ]
+ },
+ {
+ "teal": 281,
+ "source": 4,
+ "pc": [
+ 293,
+ 294,
+ 295,
+ 296,
+ 297,
+ 298
+ ]
+ },
+ {
+ "teal": 282,
+ "source": 4,
+ "pc": [
+ 299,
+ 300,
+ 301,
+ 302,
+ 303,
+ 304
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 4,
+ "pc": [
+ 305,
+ 306,
+ 307,
+ 308,
+ 309,
+ 310
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 4,
+ "pc": [
+ 311,
+ 312,
+ 313
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 4,
+ "pc": [
+ 314,
+ 315,
+ 316,
+ 317,
+ 318,
+ 319,
+ 320,
+ 321,
+ 322,
+ 323,
+ 324,
+ 325,
+ 326,
+ 327,
+ 328,
+ 329,
+ 330,
+ 331
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 332
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbmQodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYW5kOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhbmQodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGFuZAoJaW50IDEKCXJldHVybgoKLy8gYW5kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZAphbmQ6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6NgoJLy8gYXNzZXJ0KGEgJiYgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYnogKnNraXBfYW5kMAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJJiYKCipza2lwX2FuZDA6Cglhc3NlcnQKCXJldHN1YgoKLy8gb3IodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfb3I6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIG9yKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBvcgoJaW50IDEKCXJldHVybgoKLy8gb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCm9yOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjEwCgkvLyBhc3NlcnQoYSB8fCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgl8fAoKKnNraXBfb3IwOgoJYXNzZXJ0CglyZXRzdWIKCi8vIGVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2VxdWFsOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBlcXVhbCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgZXF1YWwKCWludCAxCglyZXR1cm4KCi8vIGVxdWFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZAplcXVhbDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxNAoJLy8gYXNzZXJ0KGEgPT09IGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIG5vdEVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX25vdEVxdWFsOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgbm90RXF1YWwKCWludCAxCglyZXR1cm4KCi8vIG5vdEVxdWFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApub3RFcXVhbDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxOAoJLy8gYXNzZXJ0KGEgIT09IGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkhPQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRBbmQ6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0QW5kCglpbnQgMQoJcmV0dXJuCgovLyBiaXRBbmQoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCmJpdEFuZDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoyMgoJLy8gYXNzZXJ0KGEgJiBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJJgoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdE9yKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2JpdE9yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRPcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0T3IKCWludCAxCglyZXR1cm4KCi8vIGJpdE9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRPcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoyNgoJLy8gYXNzZXJ0KGEgfCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJfAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdFhvcih1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRYb3I6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdFhvcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0WG9yCglpbnQgMQoJcmV0dXJuCgovLyBiaXRYb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCmJpdFhvcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czozMAoJLy8gYXNzZXJ0KGEgXiBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJXgoJYXNzZXJ0CglyZXRzdWIKCi8vIGNvbWJvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jb21ibzoKCS8vIGM6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY29tYm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjb21ibwoJaW50IDEKCXJldHVybgoKLy8gY29tYm8oYTogdWludDY0LCBiOiB1aW50NjQsIGM6IHVpbnQ2NCk6IHZvaWQKY29tYm86Cglwcm90byAzIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MzQKCS8vIGFzc2VydChhIHx8IChiICYmIGMpKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDEKCWZyYW1lX2RpZyAtMyAvLyBjOiB1aW50NjQKCSYmCgoqc2tpcF9hbmQxOgoJfHwKCipza2lwX29yMToKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYW5kKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAib3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJlcXVhbCh1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgIm5vdEVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiYml0QW5kKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiYml0T3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJjb21ibyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hbmQgKmFiaV9yb3V0ZV9vciAqYWJpX3JvdXRlX2VxdWFsICphYmlfcm91dGVfbm90RXF1YWwgKmFiaV9yb3V0ZV9iaXRBbmQgKmFiaV9yb3V0ZV9iaXRPciAqYWJpX3JvdXRlX2JpdFhvciAqYWJpX3JvdXRlX2NvbWJvCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhbmQodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYW5kOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhbmQodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGFuZAoJaW50IDEKCXJldHVybgoKLy8gYW5kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZAphbmQ6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6NgoJLy8gYXNzZXJ0KGEgJiYgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYnogKnNraXBfYW5kMAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJJiYKCipza2lwX2FuZDA6Cglhc3NlcnQKCXJldHN1YgoKLy8gb3IodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfb3I6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIG9yKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBvcgoJaW50IDEKCXJldHVybgoKLy8gb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCm9yOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjEwCgkvLyBhc3NlcnQoYSB8fCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgl8fAoKKnNraXBfb3IwOgoJYXNzZXJ0CglyZXRzdWIKCi8vIGVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2VxdWFsOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBlcXVhbCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgZXF1YWwKCWludCAxCglyZXR1cm4KCi8vIGVxdWFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZAplcXVhbDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxNAoJLy8gYXNzZXJ0KGEgPT09IGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIG5vdEVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX25vdEVxdWFsOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgbm90RXF1YWwKCWludCAxCglyZXR1cm4KCi8vIG5vdEVxdWFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApub3RFcXVhbDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxOAoJLy8gYXNzZXJ0KGEgIT09IGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkhPQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRBbmQ6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0QW5kCglpbnQgMQoJcmV0dXJuCgovLyBiaXRBbmQoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCmJpdEFuZDoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoyMgoJLy8gYXNzZXJ0KGEgJiBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJJgoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdE9yKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2JpdE9yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRPcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0T3IKCWludCAxCglyZXR1cm4KCi8vIGJpdE9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRPcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoyNgoJLy8gYXNzZXJ0KGEgfCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJfAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJpdFhvcih1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRYb3I6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdFhvcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgYml0WG9yCglpbnQgMQoJcmV0dXJuCgovLyBiaXRYb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCmJpdFhvcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czozMAoJLy8gYXNzZXJ0KGEgXiBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJXgoJYXNzZXJ0CglyZXRzdWIKCi8vIGNvbWJvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jb21ibzoKCS8vIGM6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY29tYm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjb21ibwoJaW50IDEKCXJldHVybgoKLy8gY29tYm8oYTogdWludDY0LCBiOiB1aW50NjQsIGM6IHVpbnQ2NCk6IHZvaWQKY29tYm86Cglwcm90byAzIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MzQKCS8vIGFzc2VydChhIHx8IChiICYmIGMpKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDEKCWZyYW1lX2RpZyAtMyAvLyBjOiB1aW50NjQKCSYmCgoqc2tpcF9hbmQxOgoJfHwKCipza2lwX29yMToKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYW5kKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAib3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJlcXVhbCh1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgIm5vdEVxdWFsKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiYml0QW5kKHVpbnQ2NCx1aW50NjQpdm9pZCIKCW1ldGhvZCAiYml0T3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkIgoJbWV0aG9kICJjb21ibyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hbmQgKmFiaV9yb3V0ZV9vciAqYWJpX3JvdXRlX2VxdWFsICphYmlfcm91dGVfbm90RXF1YWwgKmFiaV9yb3V0ZV9iaXRBbmQgKmFiaV9yb3V0ZV9iaXRPciAqYWJpX3JvdXRlX2JpdFhvciAqYWJpX3JvdXRlX2NvbWJvCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/C.approval.teal b/tests/contracts/artifacts/C.approval.teal
index 713ea8365..52e5f1ab5 100644
--- a/tests/contracts/artifacts/C.approval.teal
+++ b/tests/contracts/artifacts/C.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/C.arc32.json b/tests/contracts/artifacts/C.arc32.json
index 35e3085eb..2710fe214 100644
--- a/tests/contracts/artifacts/C.arc32.json
+++ b/tests/contracts/artifacts/C.arc32.json
@@ -58,7 +58,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBjKCl2b2lkCiphYmlfcm91dGVfYzoKCS8vIGV4ZWN1dGUgYygpdm9pZAoJY2FsbHN1YiBjCglpbnQgMQoJcmV0dXJuCgovLyBjKCk6IHZvaWQKYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQodGhpcy5iS2V5LnZhbHVlID09PSA0MikKCWJ5dGUgMHg2MiAvLyAiYiIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgNDIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czozMgoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCW1ldGhvZCAiYygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IgKmFiaV9yb3V0ZV9jCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBjKCl2b2lkCiphYmlfcm91dGVfYzoKCS8vIGV4ZWN1dGUgYygpdm9pZAoJY2FsbHN1YiBjCglpbnQgMQoJcmV0dXJuCgovLyBjKCk6IHZvaWQKYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQodGhpcy5iS2V5LnZhbHVlID09PSA0MikKCWJ5dGUgMHg2MiAvLyAiYiIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgNDIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czozMgoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCW1ldGhvZCAiYygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IgKmFiaV9yb3V0ZV9jCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/C.arc56_draft.json b/tests/contracts/artifacts/C.arc56_draft.json
index dc623ca2d..c2be75f52 100644
--- a/tests/contracts/artifacts/C.arc56_draft.json
+++ b/tests/contracts/artifacts/C.arc56_draft.json
@@ -97,498 +97,501 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 29,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12
- ]
- },
- {
- "teal": 13,
- "source": 29,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 14,
- "source": 29,
- "pc": [
- 15
- ]
- },
- {
- "teal": 15,
- "source": 29,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 16,
- "source": 29,
- "pc": [
- 18
- ]
- },
- {
- "teal": 17,
- "source": 29,
- "pc": [
- 19,
- 20
- ]
- },
- {
- "teal": 18,
- "source": 29,
- "pc": [
- 21
- ]
- },
- {
- "teal": 19,
- "source": 29,
- "pc": [
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 23,
- "source": 29,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 48
- ]
- },
- {
- "teal": 28,
- "source": 15,
- "pc": [
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 29,
- "source": 15,
- "pc": [
- 52
- ]
- },
- {
- "teal": 30,
- "source": 15,
- "pc": [
- 53
- ]
- },
- {
- "teal": 34,
- "source": 15,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 38,
- "source": 16,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 16,
- "pc": [
- 58
- ]
- },
- {
- "teal": 40,
- "source": 16,
- "pc": [
- 59
- ]
- },
- {
- "teal": 41,
- "source": 15,
- "pc": [
- 60
- ]
- },
- {
- "teal": 46,
- "source": 23,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 47,
- "source": 23,
- "pc": [
- 64
- ]
- },
- {
- "teal": 48,
- "source": 23,
- "pc": [
- 65
- ]
- },
- {
- "teal": 52,
- "source": 23,
- "pc": [
- 66,
- 67,
- 68
- ]
- },
- {
- "teal": 56,
- "source": 24,
- "pc": [
- 69
- ]
- },
- {
- "teal": 57,
- "source": 24,
- "pc": [
- 70
- ]
- },
- {
- "teal": 58,
- "source": 24,
- "pc": [
- 71
- ]
- },
- {
- "teal": 59,
- "source": 24,
- "pc": [
- 72
- ]
- },
- {
- "teal": 60,
- "source": 24,
- "pc": [
- 73
- ]
- },
- {
- "teal": 64,
- "source": 25,
- "pc": [
- 74
- ]
- },
- {
- "teal": 65,
- "source": 25,
- "pc": [
- 75
- ]
- },
- {
- "teal": 66,
- "source": 25,
- "pc": [
- 76
- ]
- },
- {
- "teal": 67,
- "source": 23,
- "pc": [
- 77
- ]
- },
- {
- "teal": 72,
- "source": 30,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 73,
- "source": 30,
- "pc": [
- 81
- ]
- },
- {
- "teal": 74,
- "source": 30,
- "pc": [
- 82
- ]
- },
- {
- "teal": 78,
- "source": 30,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 82,
- "source": 31,
- "pc": [
- 86
- ]
- },
- {
- "teal": 83,
- "source": 31,
- "pc": [
- 87
- ]
- },
- {
- "teal": 84,
- "source": 31,
- "pc": [
- 88
- ]
- },
- {
- "teal": 85,
- "source": 31,
- "pc": [
- 89
- ]
- },
- {
- "teal": 86,
- "source": 31,
- "pc": [
- 90
- ]
- },
- {
- "teal": 90,
- "source": 32,
- "pc": [
- 91
- ]
- },
- {
- "teal": 91,
- "source": 32,
- "pc": [
- 92
- ]
- },
- {
- "teal": 92,
- "source": 32,
- "pc": [
- 93
- ]
- },
- {
- "teal": 93,
- "source": 32,
- "pc": [
- 94
- ]
- },
- {
- "teal": 94,
- "source": 32,
- "pc": [
- 95
- ]
- },
- {
- "teal": 95,
- "source": 30,
- "pc": [
- 96
- ]
- },
- {
- "teal": 98,
- "source": 29,
- "pc": [
- 97
- ]
- },
- {
- "teal": 99,
- "source": 29,
- "pc": [
- 98
- ]
- },
- {
- "teal": 102,
- "source": 29,
- "pc": [
- 99,
- 100,
- 101,
- 102,
- 103,
- 104
- ]
- },
- {
- "teal": 103,
- "source": 29,
- "pc": [
- 105,
- 106,
- 107
- ]
- },
- {
- "teal": 104,
- "source": 29,
- "pc": [
- 108,
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 107,
- "source": 29,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 112
- ]
- },
- {
- "teal": 110,
- "source": 29,
- "pc": [
- 113,
- 114,
- 115,
- 116,
- 117,
- 118
- ]
- },
- {
- "teal": 111,
- "source": 29,
- "pc": [
- 119,
- 120,
- 121,
- 122,
- 123,
- 124
- ]
- },
- {
- "teal": 112,
- "source": 29,
- "pc": [
- 125,
- 126,
- 127,
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 113,
- "source": 29,
- "pc": [
- 131,
- 132,
- 133
- ]
- },
- {
- "teal": 114,
- "source": 29,
- "pc": [
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 117,
- "source": 29,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 142
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 29,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 29,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 29,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 29,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 29,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 29,
+ "pc": [
+ 19,
+ 20
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 29,
+ "pc": [
+ 21
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 29,
+ "pc": [
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 29,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 48
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 15,
+ "pc": [
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 15,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 15,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 15,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 16,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 16,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 16,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 15,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 23,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 23,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 23,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 23,
+ "pc": [
+ 66,
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 24,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 24,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 24,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 24,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 24,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 25,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 25,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 25,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 23,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 30,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 30,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 30,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 30,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 31,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 31,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 31,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 31,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 31,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 32,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 32,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 32,
+ "pc": [
+ 93
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 32,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 32,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 30,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 29,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 29,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 29,
+ "pc": [
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 29,
+ "pc": [
+ 105,
+ 106,
+ 107
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 29,
+ "pc": [
+ 108,
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 29,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 29,
+ "pc": [
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 29,
+ "pc": [
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 29,
+ "pc": [
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 29,
+ "pc": [
+ 131,
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 29,
+ "pc": [
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 29,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 142
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBjKCl2b2lkCiphYmlfcm91dGVfYzoKCS8vIGV4ZWN1dGUgYygpdm9pZAoJY2FsbHN1YiBjCglpbnQgMQoJcmV0dXJuCgovLyBjKCk6IHZvaWQKYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQodGhpcy5iS2V5LnZhbHVlID09PSA0MikKCWJ5dGUgMHg2MiAvLyAiYiIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgNDIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czozMgoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCW1ldGhvZCAiYygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IgKmFiaV9yb3V0ZV9jCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBjKCl2b2lkCiphYmlfcm91dGVfYzoKCS8vIGV4ZWN1dGUgYygpdm9pZAoJY2FsbHN1YiBjCglpbnQgMQoJcmV0dXJuCgovLyBjKCk6IHZvaWQKYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQodGhpcy5iS2V5LnZhbHVlID09PSA0MikKCWJ5dGUgMHg2MiAvLyAiYiIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgNDIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czozMgoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCW1ldGhvZCAiYygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IgKmFiaV9yb3V0ZV9jCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ContractWithLsigProgram.approval.teal b/tests/contracts/artifacts/ContractWithLsigProgram.approval.teal
index dc6476855..7b0ae5f51 100644
--- a/tests/contracts/artifacts/ContractWithLsigProgram.approval.teal
+++ b/tests/contracts/artifacts/ContractWithLsigProgram.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ContractWithLsigProgram.arc32.json b/tests/contracts/artifacts/ContractWithLsigProgram.arc32.json
index d151bd629..4d2259986 100644
--- a/tests/contracts/artifacts/ContractWithLsigProgram.arc32.json
+++ b/tests/contracts/artifacts/ContractWithLsigProgram.arc32.json
@@ -34,7 +34,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sc2lnLmFsZ28udHM6MzIKCS8vIGxvZyhCYXNpY0xzaWcucHJvZ3JhbSgpKQoJYnl0ZSBiNjQgQ2lBQkFVSUFBSWdBQWlKRGlnQUFJa1NKCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sc2lnLmFsZ28udHM6MzIKCS8vIGxvZyhCYXNpY0xzaWcucHJvZ3JhbSgpKQoJYnl0ZSBiNjQgQ2lBQkFVSUFBSWdBQWlKRGlnQUFJa1NKCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ContractWithLsigProgram.arc56_draft.json b/tests/contracts/artifacts/ContractWithLsigProgram.arc56_draft.json
index 6ecb8db42..4d8eccde1 100644
--- a/tests/contracts/artifacts/ContractWithLsigProgram.arc56_draft.json
+++ b/tests/contracts/artifacts/ContractWithLsigProgram.arc56_draft.json
@@ -47,214 +47,217 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 30,
- "pc": [
- 0
- ]
- },
- {
- "teal": 13,
- "source": 30,
- "pc": [
- 1,
- 2
- ]
- },
- {
- "teal": 14,
- "source": 30,
- "pc": [
- 3
- ]
- },
- {
- "teal": 15,
- "source": 30,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 16,
- "source": 30,
- "pc": [
- 6
- ]
- },
- {
- "teal": 17,
- "source": 30,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 18,
- "source": 30,
- "pc": [
- 9
- ]
- },
- {
- "teal": 19,
- "source": 30,
- "pc": [
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35
- ]
- },
- {
- "teal": 23,
- "source": 30,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 36
- ]
- },
- {
- "teal": 28,
- "source": 31,
- "pc": [
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 29,
- "source": 31,
- "pc": [
- 40,
- 41
- ]
- },
- {
- "teal": 30,
- "source": 31,
- "pc": [
- 42
- ]
- },
- {
- "teal": 34,
- "source": 31,
- "pc": [
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 38,
- "source": 32,
- "pc": [
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 39,
- "source": 32,
- "pc": [
- 66
- ]
- },
- {
- "teal": 40,
- "source": 31,
- "pc": [
- 67
- ]
- },
- {
- "teal": 43,
- "source": 30,
- "pc": [
- 68,
- 69,
- 70,
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 44,
- "source": 30,
- "pc": [
- 74,
- 75,
- 76
- ]
- },
- {
- "teal": 45,
- "source": 30,
- "pc": [
- 77,
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 48,
- "source": 30,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 81
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 30,
+ "pc": [
+ 0
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 30,
+ "pc": [
+ 1,
+ 2
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 30,
+ "pc": [
+ 3
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 30,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 30,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 30,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 30,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 30,
+ "pc": [
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 30,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 36
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 31,
+ "pc": [
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 31,
+ "pc": [
+ 40,
+ 41
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 31,
+ "pc": [
+ 42
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 31,
+ "pc": [
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 32,
+ "pc": [
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 32,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 31,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 30,
+ "pc": [
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 30,
+ "pc": [
+ 74,
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 30,
+ "pc": [
+ 77,
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 30,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 81
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sc2lnLmFsZ28udHM6MzIKCS8vIGxvZyhCYXNpY0xzaWcucHJvZ3JhbSgpKQoJYnl0ZSBiNjQgQ2lBQkFVSUFBSWdBQWlKRGlnQUFJa1NKCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sc2lnLmFsZ28udHM6MzIKCS8vIGxvZyhCYXNpY0xzaWcucHJvZ3JhbSgpKQoJYnl0ZSBiNjQgQ2lBQkFVSUFBSWdBQWlKRGlnQUFJa1NKCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ContratWithLsigAddress.approval.teal b/tests/contracts/artifacts/ContratWithLsigAddress.approval.teal
index 651d54c66..f22334676 100644
--- a/tests/contracts/artifacts/ContratWithLsigAddress.approval.teal
+++ b/tests/contracts/artifacts/ContratWithLsigAddress.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ContratWithLsigAddress.arc32.json b/tests/contracts/artifacts/ContratWithLsigAddress.arc32.json
index d9701adb3..b3fb26bd3 100644
--- a/tests/contracts/artifacts/ContratWithLsigAddress.arc32.json
+++ b/tests/contracts/artifacts/ContratWithLsigAddress.arc32.json
@@ -34,7 +34,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sc2lnLmFsZ28udHM6MzkKCS8vIGxvZyhCYXNpY0xzaWcuYWRkcmVzcygpKQoJYWRkciBYQkJGRURTWjZLRVVDNzZaRlY1TFVZSEFZWVJLQVhSSjdGWVVTQldJQlROQTRIVVlMTUhHS0dZWFBVCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sc2lnLmFsZ28udHM6MzkKCS8vIGxvZyhCYXNpY0xzaWcuYWRkcmVzcygpKQoJYWRkciBYQkJGRURTWjZLRVVDNzZaRlY1TFVZSEFZWVJLQVhSSjdGWVVTQldJQlROQTRIVVlMTUhHS0dZWFBVCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ContratWithLsigAddress.arc56_draft.json b/tests/contracts/artifacts/ContratWithLsigAddress.arc56_draft.json
index 77d5d7849..0eed917f6 100644
--- a/tests/contracts/artifacts/ContratWithLsigAddress.arc56_draft.json
+++ b/tests/contracts/artifacts/ContratWithLsigAddress.arc56_draft.json
@@ -47,228 +47,231 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 37,
- "pc": [
- 0
- ]
- },
- {
- "teal": 13,
- "source": 37,
- "pc": [
- 1,
- 2
- ]
- },
- {
- "teal": 14,
- "source": 37,
- "pc": [
- 3
- ]
- },
- {
- "teal": 15,
- "source": 37,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 16,
- "source": 37,
- "pc": [
- 6
- ]
- },
- {
- "teal": 17,
- "source": 37,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 18,
- "source": 37,
- "pc": [
- 9
- ]
- },
- {
- "teal": 19,
- "source": 37,
- "pc": [
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35
- ]
- },
- {
- "teal": 23,
- "source": 37,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 36
- ]
- },
- {
- "teal": 28,
- "source": 38,
- "pc": [
- 37,
- 38,
- 39
- ]
- },
- {
- "teal": 29,
- "source": 38,
- "pc": [
- 40,
- 41
- ]
- },
- {
- "teal": 30,
- "source": 38,
- "pc": [
- 42
- ]
- },
- {
- "teal": 34,
- "source": 38,
- "pc": [
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 38,
- "source": 39,
- "pc": [
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 39,
- "source": 39,
- "pc": [
- 80
- ]
- },
- {
- "teal": 40,
- "source": 38,
- "pc": [
- 81
- ]
- },
- {
- "teal": 43,
- "source": 37,
- "pc": [
- 82,
- 83,
- 84,
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 44,
- "source": 37,
- "pc": [
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 45,
- "source": 37,
- "pc": [
- 91,
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 48,
- "source": 37,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 95
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 37,
+ "pc": [
+ 0
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 37,
+ "pc": [
+ 1,
+ 2
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 37,
+ "pc": [
+ 3
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 37,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 37,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 37,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 37,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 37,
+ "pc": [
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 37,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 36
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 38,
+ "pc": [
+ 37,
+ 38,
+ 39
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 38,
+ "pc": [
+ 40,
+ 41
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 38,
+ "pc": [
+ 42
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 38,
+ "pc": [
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 39,
+ "pc": [
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 39,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 38,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 37,
+ "pc": [
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 37,
+ "pc": [
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 37,
+ "pc": [
+ 91,
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 37,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 95
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sc2lnLmFsZ28udHM6MzkKCS8vIGxvZyhCYXNpY0xzaWcuYWRkcmVzcygpKQoJYWRkciBYQkJGRURTWjZLRVVDNzZaRlY1TFVZSEFZWVJLQVhSSjdGWVVTQldJQlROQTRIVVlMTUhHS0dZWFBVCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sc2lnLmFsZ28udHM6MzkKCS8vIGxvZyhCYXNpY0xzaWcuYWRkcmVzcygpKQoJYWRkciBYQkJGRURTWjZLRVVDNzZaRlY1TFVZSEFZWVJLQVhSSjdGWVVTQldJQlROQTRIVVlMTUhHS0dZWFBVCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/D.approval.teal b/tests/contracts/artifacts/D.approval.teal
index bbc4e2513..36085cb59 100644
--- a/tests/contracts/artifacts/D.approval.teal
+++ b/tests/contracts/artifacts/D.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/D.arc32.json b/tests/contracts/artifacts/D.arc32.json
index 1f74cbb50..24295fccf 100644
--- a/tests/contracts/artifacts/D.arc32.json
+++ b/tests/contracts/artifacts/D.arc32.json
@@ -44,7 +44,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkKCl2b2lkCiphYmlfcm91dGVfZDoKCS8vIGV4ZWN1dGUgZCgpdm9pZAoJY2FsbHN1YiBkCglpbnQgMQoJcmV0dXJuCgovLyBkKCk6IHZvaWQKZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQwCgkvLyB0aGlzLmRLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDY0IC8vICJkIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZCgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkKCl2b2lkCiphYmlfcm91dGVfZDoKCS8vIGV4ZWN1dGUgZCgpdm9pZAoJY2FsbHN1YiBkCglpbnQgMQoJcmV0dXJuCgovLyBkKCk6IHZvaWQKZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQwCgkvLyB0aGlzLmRLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDY0IC8vICJkIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZCgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/D.arc56_draft.json b/tests/contracts/artifacts/D.arc56_draft.json
index 60064abcf..dfc2d0206 100644
--- a/tests/contracts/artifacts/D.arc56_draft.json
+++ b/tests/contracts/artifacts/D.arc56_draft.json
@@ -66,260 +66,263 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 36,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 36,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 36,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 36,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 36,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 36,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 36,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 36,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 36,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 39,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 29,
- "source": 39,
- "pc": [
- 43
- ]
- },
- {
- "teal": 30,
- "source": 39,
- "pc": [
- 44
- ]
- },
- {
- "teal": 34,
- "source": 39,
- "pc": [
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 38,
- "source": 40,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 39,
- "source": 40,
- "pc": [
- 51,
- 52
- ]
- },
- {
- "teal": 40,
- "source": 40,
- "pc": [
- 53
- ]
- },
- {
- "teal": 41,
- "source": 39,
- "pc": [
- 54
- ]
- },
- {
- "teal": 44,
- "source": 36,
- "pc": [
- 55
- ]
- },
- {
- "teal": 45,
- "source": 36,
- "pc": [
- 56
- ]
- },
- {
- "teal": 48,
- "source": 36,
- "pc": [
- 57,
- 58,
- 59,
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 49,
- "source": 36,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 50,
- "source": 36,
- "pc": [
- 66,
- 67,
- 68,
- 69
- ]
- },
- {
- "teal": 53,
- "source": 36,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 70
- ]
- },
- {
- "teal": 56,
- "source": 36,
- "pc": [
- 71,
- 72,
- 73,
- 74,
- 75,
- 76
- ]
- },
- {
- "teal": 57,
- "source": 36,
- "pc": [
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 58,
- "source": 36,
- "pc": [
- 80,
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 61,
- "source": 36,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 84
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 36,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 36,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 36,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 36,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 36,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 36,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 36,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 36,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 36,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 39,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 39,
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 39,
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 39,
+ "pc": [
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 40,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 40,
+ "pc": [
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 40,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 39,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 36,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 36,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 36,
+ "pc": [
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 36,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 36,
+ "pc": [
+ 66,
+ 67,
+ 68,
+ 69
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 36,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 36,
+ "pc": [
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 36,
+ "pc": [
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 36,
+ "pc": [
+ 80,
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 36,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 84
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkKCl2b2lkCiphYmlfcm91dGVfZDoKCS8vIGV4ZWN1dGUgZCgpdm9pZAoJY2FsbHN1YiBkCglpbnQgMQoJcmV0dXJuCgovLyBkKCk6IHZvaWQKZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQwCgkvLyB0aGlzLmRLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDY0IC8vICJkIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZCgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkKCl2b2lkCiphYmlfcm91dGVfZDoKCS8vIGV4ZWN1dGUgZCgpdm9pZAoJY2FsbHN1YiBkCglpbnQgMQoJcmV0dXJuCgovLyBkKCk6IHZvaWQKZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQwCgkvLyB0aGlzLmRLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDY0IC8vICJkIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZCgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/DummyContract.approval.teal b/tests/contracts/artifacts/DummyContract.approval.teal
index 5ee5208dc..68cd51086 100644
--- a/tests/contracts/artifacts/DummyContract.approval.teal
+++ b/tests/contracts/artifacts/DummyContract.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/DummyContract.arc32.json b/tests/contracts/artifacts/DummyContract.arc32.json
index efbab0c6d..5704594e2 100644
--- a/tests/contracts/artifacts/DummyContract.arc32.json
+++ b/tests/contracts/artifacts/DummyContract.arc32.json
@@ -34,7 +34,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/DummyContract.arc56_draft.json b/tests/contracts/artifacts/DummyContract.arc56_draft.json
index bb598a194..e1995435c 100644
--- a/tests/contracts/artifacts/DummyContract.arc56_draft.json
+++ b/tests/contracts/artifacts/DummyContract.arc56_draft.json
@@ -47,156 +47,159 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 5,
- "pc": [
- 0
- ]
- },
- {
- "teal": 13,
- "source": 5,
- "pc": [
- 1,
- 2
- ]
- },
- {
- "teal": 14,
- "source": 5,
- "pc": [
- 3
- ]
- },
- {
- "teal": 15,
- "source": 5,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 16,
- "source": 5,
- "pc": [
- 6
- ]
- },
- {
- "teal": 17,
- "source": 5,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 18,
- "source": 5,
- "pc": [
- 9
- ]
- },
- {
- "teal": 19,
- "source": 5,
- "pc": [
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35
- ]
- },
- {
- "teal": 23,
- "source": 5,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 36
- ]
- },
- {
- "teal": 26,
- "source": 5,
- "pc": [
- 37,
- 38
- ]
- },
- {
- "teal": 27,
- "source": 5,
- "pc": [
- 39
- ]
- },
- {
- "teal": 30,
- "source": 5,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 5,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 5,
- "pc": [
- 49,
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 5,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 53
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 5,
+ "pc": [
+ 0
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 5,
+ "pc": [
+ 1,
+ 2
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 5,
+ "pc": [
+ 3
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 5,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 5,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 5,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 5,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 5,
+ "pc": [
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 5,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 36
+ ]
+ },
+ {
+ "teal": 26,
+ "source": 5,
+ "pc": [
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 27,
+ "source": 5,
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 5,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 5,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 5,
+ "pc": [
+ 49,
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 5,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 53
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/E.approval.teal b/tests/contracts/artifacts/E.approval.teal
index 8b174bc4d..400f81258 100644
--- a/tests/contracts/artifacts/E.approval.teal
+++ b/tests/contracts/artifacts/E.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/E.arc32.json b/tests/contracts/artifacts/E.arc32.json
index 8b74169bf..e0deb7572 100644
--- a/tests/contracts/artifacts/E.arc32.json
+++ b/tests/contracts/artifacts/E.arc32.json
@@ -49,7 +49,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRlcm5hbE1ldGhvZCgpdWludDgKKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBleHRlcm5hbE1ldGhvZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHRlcm5hbE1ldGhvZCgpOiBDdXN0b21UeXBlCmV4dGVybmFsTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTEKCS8vIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWUgPSA8Q3VzdG9tVHlwZT4xMjMKCWJ5dGUgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5IC8vICJleHRlcm5hbEtleSIKCWJ5dGUgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgovLyBlKCl2b2lkCiphYmlfcm91dGVfZToKCS8vIGV4ZWN1dGUgZSgpdm9pZAoJY2FsbHN1YiBlCglpbnQgMQoJcmV0dXJuCgovLyBlKCk6IHZvaWQKZToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1MwoJLy8gdmFsOiBFeHRlcm5hbEN1c3RvbVR5cGUgPSA8RXh0ZXJuYWxDdXN0b21UeXBlPjEyMwoJaW50IDEyMwoJZnJhbWVfYnVyeSAwIC8vIHZhbDogRXh0ZXJuYWxDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTQKCS8vIGFzc2VydCh0aGlzLmV4dGVybmFsS2V5LnZhbHVlID09PSB2YWwpCglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJaW50IDEyMyAvLyB2YWw6IEV4dGVybmFsQ3VzdG9tVHlwZQoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU1CgkvLyB4ID0gPHVpbnQyNTY+MzIxCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0MQoJZnJhbWVfYnVyeSAxIC8vIHg6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1NgoJLy8geSA9IDxDdXN0b21UeXBlPjMyMQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEKCWZyYW1lX2J1cnkgMiAvLyB5OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTgKCS8vIGFzc2VydCh4ID09PSB5KQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEgLy8geDogdWludDI1NgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEgLy8geTogdWludDI1NgoJYj09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2MAoJLy8gYXNzZXJ0KE1ZX0NPTlNUID09PSA0NTYpCglpbnQgNDU2CglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2MQoJLy8gYXNzZXJ0KEVYVEVSTkFMX0NPTlNUID09PSA2NTQpCglpbnQgNjU0CglkdXAKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImV4dGVybmFsTWV0aG9kKCl1aW50OCIKCW1ldGhvZCAiZSgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZXh0ZXJuYWxNZXRob2QgKmFiaV9yb3V0ZV9lCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRlcm5hbE1ldGhvZCgpdWludDgKKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBleHRlcm5hbE1ldGhvZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHRlcm5hbE1ldGhvZCgpOiBDdXN0b21UeXBlCmV4dGVybmFsTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTEKCS8vIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWUgPSA8Q3VzdG9tVHlwZT4xMjMKCWJ5dGUgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5IC8vICJleHRlcm5hbEtleSIKCWJ5dGUgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgovLyBlKCl2b2lkCiphYmlfcm91dGVfZToKCS8vIGV4ZWN1dGUgZSgpdm9pZAoJY2FsbHN1YiBlCglpbnQgMQoJcmV0dXJuCgovLyBlKCk6IHZvaWQKZToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1MwoJLy8gdmFsOiBFeHRlcm5hbEN1c3RvbVR5cGUgPSA8RXh0ZXJuYWxDdXN0b21UeXBlPjEyMwoJaW50IDEyMwoJZnJhbWVfYnVyeSAwIC8vIHZhbDogRXh0ZXJuYWxDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTQKCS8vIGFzc2VydCh0aGlzLmV4dGVybmFsS2V5LnZhbHVlID09PSB2YWwpCglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJaW50IDEyMyAvLyB2YWw6IEV4dGVybmFsQ3VzdG9tVHlwZQoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU1CgkvLyB4ID0gPHVpbnQyNTY+MzIxCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0MQoJZnJhbWVfYnVyeSAxIC8vIHg6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1NgoJLy8geSA9IDxDdXN0b21UeXBlPjMyMQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEKCWZyYW1lX2J1cnkgMiAvLyB5OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTgKCS8vIGFzc2VydCh4ID09PSB5KQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEgLy8geDogdWludDI1NgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEgLy8geTogdWludDI1NgoJYj09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2MAoJLy8gYXNzZXJ0KE1ZX0NPTlNUID09PSA0NTYpCglpbnQgNDU2CglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2MQoJLy8gYXNzZXJ0KEVYVEVSTkFMX0NPTlNUID09PSA2NTQpCglpbnQgNjU0CglkdXAKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImV4dGVybmFsTWV0aG9kKCl1aW50OCIKCW1ldGhvZCAiZSgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZXh0ZXJuYWxNZXRob2QgKmFiaV9yb3V0ZV9lCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/E.arc56_draft.json b/tests/contracts/artifacts/E.arc56_draft.json
index 46e0877e1..2ab65f022 100644
--- a/tests/contracts/artifacts/E.arc56_draft.json
+++ b/tests/contracts/artifacts/E.arc56_draft.json
@@ -79,651 +79,654 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 51,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 13,
- "source": 51,
- "pc": [
- 52,
- 53
- ]
- },
- {
- "teal": 14,
- "source": 51,
- "pc": [
- 54
- ]
- },
- {
- "teal": 15,
- "source": 51,
- "pc": [
- 55,
- 56
- ]
- },
- {
- "teal": 16,
- "source": 51,
- "pc": [
- 57
- ]
- },
- {
- "teal": 17,
- "source": 51,
- "pc": [
- 58,
- 59
- ]
- },
- {
- "teal": 18,
- "source": 51,
- "pc": [
- 60
- ]
- },
- {
- "teal": 19,
- "source": 51,
- "pc": [
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 23,
- "source": 51,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 87
- ]
- },
- {
- "teal": 28,
- "source": 10,
- "pc": [
- 88,
- 89,
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 31,
- "source": 10,
- "pc": [
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 32,
- "source": 10,
- "pc": [
- 97
- ]
- },
- {
- "teal": 33,
- "source": 10,
- "pc": [
- 98
- ]
- },
- {
- "teal": 34,
- "source": 10,
- "pc": [
- 99
- ]
- },
- {
- "teal": 35,
- "source": 10,
- "pc": [
- 100,
- 101
- ]
- },
- {
- "teal": 36,
- "source": 10,
- "pc": [
- 102
- ]
- },
- {
- "teal": 39,
- "source": 10,
- "errorMessage": "externalMethod return value overflowed 8 bits",
- "pc": [
- 103
- ]
- },
- {
- "teal": 40,
- "source": 10,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 41,
- "source": 10,
- "pc": [
- 107
- ]
- },
- {
- "teal": 42,
- "source": 10,
- "pc": [
- 108
- ]
- },
- {
- "teal": 43,
- "source": 10,
- "pc": [
- 109
- ]
- },
- {
- "teal": 44,
- "source": 10,
- "pc": [
- 110
- ]
- },
- {
- "teal": 48,
- "source": 10,
- "pc": [
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 52,
- "source": 12,
- "pc": [
- 114
- ]
- },
- {
- "teal": 53,
- "source": 13,
- "pc": [
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 54,
- "source": 12,
- "pc": [
- 118
- ]
- },
- {
- "teal": 58,
- "source": 13,
- "pc": [
- 119
- ]
- },
- {
- "teal": 59,
- "source": 13,
- "pc": [
- 120
- ]
- },
- {
- "teal": 60,
- "source": 13,
- "pc": [
- 121
- ]
- },
- {
- "teal": 61,
- "source": 10,
- "pc": [
- 122
- ]
- },
- {
- "teal": 66,
- "source": 52,
- "pc": [
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 67,
- "source": 52,
- "pc": [
- 126
- ]
- },
- {
- "teal": 68,
- "source": 52,
- "pc": [
- 127
- ]
- },
- {
- "teal": 72,
- "source": 52,
- "pc": [
- 128,
- 129,
- 130
- ]
- },
- {
- "teal": 75,
- "source": 52,
- "pc": [
- 131,
- 132
- ]
- },
- {
- "teal": 76,
- "source": 52,
- "pc": [
- 133,
- 134
- ]
- },
- {
- "teal": 80,
- "source": 53,
- "pc": [
- 135
- ]
- },
- {
- "teal": 81,
- "source": 53,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 85,
- "source": 54,
- "pc": [
- 138
- ]
- },
- {
- "teal": 86,
- "source": 54,
- "pc": [
- 139
- ]
- },
- {
- "teal": 87,
- "source": 54,
- "pc": [
- 140
- ]
- },
- {
- "teal": 88,
- "source": 54,
- "pc": [
- 141
- ]
- },
- {
- "teal": 89,
- "source": 54,
- "pc": [
- 142
- ]
- },
- {
- "teal": 90,
- "source": 54,
- "pc": [
- 143
- ]
- },
- {
- "teal": 94,
- "source": 55,
- "pc": [
- 144
- ]
- },
- {
- "teal": 95,
- "source": 55,
- "pc": [
- 145,
- 146
- ]
- },
- {
- "teal": 99,
- "source": 56,
- "pc": [
- 147
- ]
- },
- {
- "teal": 100,
- "source": 56,
- "pc": [
- 148,
- 149
- ]
- },
- {
- "teal": 104,
- "source": 58,
- "pc": [
- 150
- ]
- },
- {
- "teal": 105,
- "source": 58,
- "pc": [
- 151
- ]
- },
- {
- "teal": 106,
- "source": 58,
- "pc": [
- 152
- ]
- },
- {
- "teal": 107,
- "source": 58,
- "pc": [
- 153
- ]
- },
- {
- "teal": 111,
- "source": 60,
- "pc": [
- 154,
- 155,
- 156
- ]
- },
- {
- "teal": 112,
- "source": 60,
- "pc": [
- 157
- ]
- },
- {
- "teal": 113,
- "source": 60,
- "pc": [
- 158
- ]
- },
- {
- "teal": 114,
- "source": 60,
- "pc": [
- 159
- ]
- },
- {
- "teal": 118,
- "source": 61,
- "pc": [
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 119,
- "source": 61,
- "pc": [
- 163
- ]
- },
- {
- "teal": 120,
- "source": 61,
- "pc": [
- 164
- ]
- },
- {
- "teal": 121,
- "source": 61,
- "pc": [
- 165
- ]
- },
- {
- "teal": 122,
- "source": 52,
- "pc": [
- 166
- ]
- },
- {
- "teal": 125,
- "source": 51,
- "pc": [
- 167
- ]
- },
- {
- "teal": 126,
- "source": 51,
- "pc": [
- 168
- ]
- },
- {
- "teal": 129,
- "source": 51,
- "pc": [
- 169,
- 170,
- 171,
- 172,
- 173,
- 174
- ]
- },
- {
- "teal": 130,
- "source": 51,
- "pc": [
- 175,
- 176,
- 177
- ]
- },
- {
- "teal": 131,
- "source": 51,
- "pc": [
- 178,
- 179,
- 180,
- 181
- ]
- },
- {
- "teal": 134,
- "source": 51,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 182
- ]
- },
- {
- "teal": 137,
- "source": 51,
- "pc": [
- 183,
- 184,
- 185,
- 186,
- 187,
- 188
- ]
- },
- {
- "teal": 138,
- "source": 51,
- "pc": [
- 189,
- 190,
- 191,
- 192,
- 193,
- 194
- ]
- },
- {
- "teal": 139,
- "source": 51,
- "pc": [
- 195,
- 196,
- 197
- ]
- },
- {
- "teal": 140,
- "source": 51,
- "pc": [
- 198,
- 199,
- 200,
- 201,
- 202,
- 203
- ]
- },
- {
- "teal": 143,
- "source": 51,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 204
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 51,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 51,
+ "pc": [
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 51,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 51,
+ "pc": [
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 51,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 51,
+ "pc": [
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 51,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 51,
+ "pc": [
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 51,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 10,
+ "pc": [
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 10,
+ "pc": [
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 10,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 10,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 10,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 10,
+ "pc": [
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 10,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 10,
+ "errorMessage": "externalMethod return value overflowed 8 bits",
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 10,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 10,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 10,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 10,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 10,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 10,
+ "pc": [
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 12,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 13,
+ "pc": [
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 12,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 13,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 13,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 13,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 10,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 52,
+ "pc": [
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 52,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 52,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 52,
+ "pc": [
+ 128,
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 52,
+ "pc": [
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 52,
+ "pc": [
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 53,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 53,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 54,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 54,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 54,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 54,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 54,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 54,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 55,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 55,
+ "pc": [
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 56,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 56,
+ "pc": [
+ 148,
+ 149
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 58,
+ "pc": [
+ 150
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 58,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 58,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 58,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 60,
+ "pc": [
+ 154,
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 60,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 60,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 60,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 61,
+ "pc": [
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 61,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 61,
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 61,
+ "pc": [
+ 165
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 52,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 51,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 51,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 51,
+ "pc": [
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 51,
+ "pc": [
+ 175,
+ 176,
+ 177
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 51,
+ "pc": [
+ 178,
+ 179,
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 51,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 182
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 51,
+ "pc": [
+ 183,
+ 184,
+ 185,
+ 186,
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 51,
+ "pc": [
+ 189,
+ 190,
+ 191,
+ 192,
+ 193,
+ 194
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 51,
+ "pc": [
+ 195,
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 51,
+ "pc": [
+ 198,
+ 199,
+ 200,
+ 201,
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 51,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 204
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRlcm5hbE1ldGhvZCgpdWludDgKKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBleHRlcm5hbE1ldGhvZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHRlcm5hbE1ldGhvZCgpOiBDdXN0b21UeXBlCmV4dGVybmFsTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTEKCS8vIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWUgPSA8Q3VzdG9tVHlwZT4xMjMKCWJ5dGUgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5IC8vICJleHRlcm5hbEtleSIKCWJ5dGUgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgovLyBlKCl2b2lkCiphYmlfcm91dGVfZToKCS8vIGV4ZWN1dGUgZSgpdm9pZAoJY2FsbHN1YiBlCglpbnQgMQoJcmV0dXJuCgovLyBlKCk6IHZvaWQKZToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1MwoJLy8gdmFsOiBFeHRlcm5hbEN1c3RvbVR5cGUgPSA8RXh0ZXJuYWxDdXN0b21UeXBlPjEyMwoJaW50IDEyMwoJZnJhbWVfYnVyeSAwIC8vIHZhbDogRXh0ZXJuYWxDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTQKCS8vIGFzc2VydCh0aGlzLmV4dGVybmFsS2V5LnZhbHVlID09PSB2YWwpCglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJaW50IDEyMyAvLyB2YWw6IEV4dGVybmFsQ3VzdG9tVHlwZQoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU1CgkvLyB4ID0gPHVpbnQyNTY+MzIxCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0MQoJZnJhbWVfYnVyeSAxIC8vIHg6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1NgoJLy8geSA9IDxDdXN0b21UeXBlPjMyMQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEKCWZyYW1lX2J1cnkgMiAvLyB5OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTgKCS8vIGFzc2VydCh4ID09PSB5KQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEgLy8geDogdWludDI1NgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEgLy8geTogdWludDI1NgoJYj09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2MAoJLy8gYXNzZXJ0KE1ZX0NPTlNUID09PSA0NTYpCglpbnQgNDU2CglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2MQoJLy8gYXNzZXJ0KEVYVEVSTkFMX0NPTlNUID09PSA2NTQpCglpbnQgNjU0CglkdXAKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImV4dGVybmFsTWV0aG9kKCl1aW50OCIKCW1ldGhvZCAiZSgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZXh0ZXJuYWxNZXRob2QgKmFiaV9yb3V0ZV9lCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRlcm5hbE1ldGhvZCgpdWludDgKKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBleHRlcm5hbE1ldGhvZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHRlcm5hbE1ldGhvZCgpOiBDdXN0b21UeXBlCmV4dGVybmFsTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTEKCS8vIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWUgPSA8Q3VzdG9tVHlwZT4xMjMKCWJ5dGUgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5IC8vICJleHRlcm5hbEtleSIKCWJ5dGUgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgovLyBlKCl2b2lkCiphYmlfcm91dGVfZToKCS8vIGV4ZWN1dGUgZSgpdm9pZAoJY2FsbHN1YiBlCglpbnQgMQoJcmV0dXJuCgovLyBlKCk6IHZvaWQKZToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1MwoJLy8gdmFsOiBFeHRlcm5hbEN1c3RvbVR5cGUgPSA8RXh0ZXJuYWxDdXN0b21UeXBlPjEyMwoJaW50IDEyMwoJZnJhbWVfYnVyeSAwIC8vIHZhbDogRXh0ZXJuYWxDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTQKCS8vIGFzc2VydCh0aGlzLmV4dGVybmFsS2V5LnZhbHVlID09PSB2YWwpCglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJaW50IDEyMyAvLyB2YWw6IEV4dGVybmFsQ3VzdG9tVHlwZQoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU1CgkvLyB4ID0gPHVpbnQyNTY+MzIxCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0MQoJZnJhbWVfYnVyeSAxIC8vIHg6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1NgoJLy8geSA9IDxDdXN0b21UeXBlPjMyMQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEKCWZyYW1lX2J1cnkgMiAvLyB5OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTgKCS8vIGFzc2VydCh4ID09PSB5KQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEgLy8geDogdWludDI1NgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEgLy8geTogdWludDI1NgoJYj09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2MAoJLy8gYXNzZXJ0KE1ZX0NPTlNUID09PSA0NTYpCglpbnQgNDU2CglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2MQoJLy8gYXNzZXJ0KEVYVEVSTkFMX0NPTlNUID09PSA2NTQpCglpbnQgNjU0CglkdXAKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImV4dGVybmFsTWV0aG9kKCl1aW50OCIKCW1ldGhvZCAiZSgpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZXh0ZXJuYWxNZXRob2QgKmFiaV9yb3V0ZV9lCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ExternalContract.approval.teal b/tests/contracts/artifacts/ExternalContract.approval.teal
index 419bde2a3..4fb70a846 100644
--- a/tests/contracts/artifacts/ExternalContract.approval.teal
+++ b/tests/contracts/artifacts/ExternalContract.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ExternalContract.arc32.json b/tests/contracts/artifacts/ExternalContract.arc32.json
index 15543ed9f..d9b28f7d4 100644
--- a/tests/contracts/artifacts/ExternalContract.arc32.json
+++ b/tests/contracts/artifacts/ExternalContract.arc32.json
@@ -44,7 +44,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRlcm5hbE1ldGhvZCgpdWludDgKKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBleHRlcm5hbE1ldGhvZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHRlcm5hbE1ldGhvZCgpOiBDdXN0b21UeXBlCmV4dGVybmFsTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTEKCS8vIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWUgPSA8Q3VzdG9tVHlwZT4xMjMKCWJ5dGUgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5IC8vICJleHRlcm5hbEtleSIKCWJ5dGUgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZXh0ZXJuYWxNZXRob2QoKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRlcm5hbE1ldGhvZCgpdWludDgKKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBleHRlcm5hbE1ldGhvZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHRlcm5hbE1ldGhvZCgpOiBDdXN0b21UeXBlCmV4dGVybmFsTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTEKCS8vIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWUgPSA8Q3VzdG9tVHlwZT4xMjMKCWJ5dGUgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5IC8vICJleHRlcm5hbEtleSIKCWJ5dGUgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZXh0ZXJuYWxNZXRob2QoKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ExternalContract.arc56_draft.json b/tests/contracts/artifacts/ExternalContract.arc56_draft.json
index fdeba15ea..2c2a17174 100644
--- a/tests/contracts/artifacts/ExternalContract.arc56_draft.json
+++ b/tests/contracts/artifacts/ExternalContract.arc56_draft.json
@@ -66,373 +66,376 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 7,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17
- ]
- },
- {
- "teal": 13,
- "source": 7,
- "pc": [
- 18,
- 19
- ]
- },
- {
- "teal": 14,
- "source": 7,
- "pc": [
- 20
- ]
- },
- {
- "teal": 15,
- "source": 7,
- "pc": [
- 21,
- 22
- ]
- },
- {
- "teal": 16,
- "source": 7,
- "pc": [
- 23
- ]
- },
- {
- "teal": 17,
- "source": 7,
- "pc": [
- 24,
- 25
- ]
- },
- {
- "teal": 18,
- "source": 7,
- "pc": [
- 26
- ]
- },
- {
- "teal": 19,
- "source": 7,
- "pc": [
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 23,
- "source": 7,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 53
- ]
- },
- {
- "teal": 28,
- "source": 10,
- "pc": [
- 54,
- 55,
- 56,
- 57,
- 58,
- 59
- ]
- },
- {
- "teal": 31,
- "source": 10,
- "pc": [
- 60,
- 61,
- 62
- ]
- },
- {
- "teal": 32,
- "source": 10,
- "pc": [
- 63
- ]
- },
- {
- "teal": 33,
- "source": 10,
- "pc": [
- 64
- ]
- },
- {
- "teal": 34,
- "source": 10,
- "pc": [
- 65
- ]
- },
- {
- "teal": 35,
- "source": 10,
- "pc": [
- 66,
- 67
- ]
- },
- {
- "teal": 36,
- "source": 10,
- "pc": [
- 68
- ]
- },
- {
- "teal": 39,
- "source": 10,
- "errorMessage": "externalMethod return value overflowed 8 bits",
- "pc": [
- 69
- ]
- },
- {
- "teal": 40,
- "source": 10,
- "pc": [
- 70,
- 71,
- 72
- ]
- },
- {
- "teal": 41,
- "source": 10,
- "pc": [
- 73
- ]
- },
- {
- "teal": 42,
- "source": 10,
- "pc": [
- 74
- ]
- },
- {
- "teal": 43,
- "source": 10,
- "pc": [
- 75
- ]
- },
- {
- "teal": 44,
- "source": 10,
- "pc": [
- 76
- ]
- },
- {
- "teal": 48,
- "source": 10,
- "pc": [
- 77,
- 78,
- 79
- ]
- },
- {
- "teal": 52,
- "source": 11,
- "pc": [
- 80
- ]
- },
- {
- "teal": 53,
- "source": 11,
- "pc": [
- 81,
- 82,
- 83
- ]
- },
- {
- "teal": 54,
- "source": 11,
- "pc": [
- 84
- ]
- },
- {
- "teal": 58,
- "source": 12,
- "pc": [
- 85
- ]
- },
- {
- "teal": 59,
- "source": 12,
- "pc": [
- 86
- ]
- },
- {
- "teal": 60,
- "source": 12,
- "pc": [
- 87
- ]
- },
- {
- "teal": 61,
- "source": 10,
- "pc": [
- 88
- ]
- },
- {
- "teal": 64,
- "source": 7,
- "pc": [
- 89
- ]
- },
- {
- "teal": 65,
- "source": 7,
- "pc": [
- 90
- ]
- },
- {
- "teal": 68,
- "source": 7,
- "pc": [
- 91,
- 92,
- 93,
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 69,
- "source": 7,
- "pc": [
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 70,
- "source": 7,
- "pc": [
- 100,
- 101,
- 102,
- 103
- ]
- },
- {
- "teal": 73,
- "source": 7,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 104
- ]
- },
- {
- "teal": 76,
- "source": 7,
- "pc": [
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 77,
- "source": 7,
- "pc": [
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 78,
- "source": 7,
- "pc": [
- 114,
- 115,
- 116,
- 117
- ]
- },
- {
- "teal": 81,
- "source": 7,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 118
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 7,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 7,
+ "pc": [
+ 18,
+ 19
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 7,
+ "pc": [
+ 20
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 7,
+ "pc": [
+ 21,
+ 22
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 7,
+ "pc": [
+ 23
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 7,
+ "pc": [
+ 24,
+ 25
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 7,
+ "pc": [
+ 26
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 7,
+ "pc": [
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 7,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 10,
+ "pc": [
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 10,
+ "pc": [
+ 60,
+ 61,
+ 62
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 10,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 10,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 10,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 10,
+ "pc": [
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 10,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 10,
+ "errorMessage": "externalMethod return value overflowed 8 bits",
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 10,
+ "pc": [
+ 70,
+ 71,
+ 72
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 10,
+ "pc": [
+ 73
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 10,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 10,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 10,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 10,
+ "pc": [
+ 77,
+ 78,
+ 79
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 11,
+ "pc": [
+ 80
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 11,
+ "pc": [
+ 81,
+ 82,
+ 83
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 11,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 12,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 12,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 12,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 10,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 7,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 7,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 7,
+ "pc": [
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 7,
+ "pc": [
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 7,
+ "pc": [
+ 100,
+ 101,
+ 102,
+ 103
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 7,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 7,
+ "pc": [
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 7,
+ "pc": [
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 7,
+ "pc": [
+ 114,
+ 115,
+ 116,
+ 117
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 7,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 118
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRlcm5hbE1ldGhvZCgpdWludDgKKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBleHRlcm5hbE1ldGhvZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHRlcm5hbE1ldGhvZCgpOiBDdXN0b21UeXBlCmV4dGVybmFsTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTEKCS8vIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWUgPSA8Q3VzdG9tVHlwZT4xMjMKCWJ5dGUgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5IC8vICJleHRlcm5hbEtleSIKCWJ5dGUgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZXh0ZXJuYWxNZXRob2QoKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBleHRlcm5hbE1ldGhvZCgpdWludDgKKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyBleHRlcm5hbE1ldGhvZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHRlcm5hbE1ldGhvZCgpOiBDdXN0b21UeXBlCmV4dGVybmFsTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTEKCS8vIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWUgPSA8Q3VzdG9tVHlwZT4xMjMKCWJ5dGUgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5IC8vICJleHRlcm5hbEtleSIKCWJ5dGUgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAvLyAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiZXh0ZXJuYWxNZXRob2QoKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/F.approval.teal b/tests/contracts/artifacts/F.approval.teal
index d96966161..988180429 100644
--- a/tests/contracts/artifacts/F.approval.teal
+++ b/tests/contracts/artifacts/F.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/F.arc32.json b/tests/contracts/artifacts/F.arc32.json
index 612985ede..0d573942a 100644
--- a/tests/contracts/artifacts/F.arc32.json
+++ b/tests/contracts/artifacts/F.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJYnl0ZSAweDcwNzU2MjZjNjk2MyAvLyAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglieXRlIDB4NzA3MjY5NzY2MTc0NjUgLy8gInByaXZhdGUiCglyZXRzdWIKCi8vIHByb3RlY3RlZE1ldGhvZCgpOiBzdHJpbmcKcHJvdGVjdGVkTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzUKCS8vIHJldHVybiAncHJvdGVjdGVkJzsKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJYnl0ZSAweDcwNzU2MjZjNjk2MyAvLyAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglieXRlIDB4NzA3MjY5NzY2MTc0NjUgLy8gInByaXZhdGUiCglyZXRzdWIKCi8vIHByb3RlY3RlZE1ldGhvZCgpOiBzdHJpbmcKcHJvdGVjdGVkTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzUKCS8vIHJldHVybiAncHJvdGVjdGVkJzsKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/F.arc56_draft.json b/tests/contracts/artifacts/F.arc56_draft.json
index ade637bfc..31fae64c8 100644
--- a/tests/contracts/artifacts/F.arc56_draft.json
+++ b/tests/contracts/artifacts/F.arc56_draft.json
@@ -60,384 +60,387 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 65,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 65,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 65,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 65,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 65,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 65,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 65,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 65,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 65,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 66,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 66,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 66,
- "pc": [
- 49
- ]
- },
- {
- "teal": 33,
- "source": 66,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 66,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 66,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 36,
- "source": 66,
- "pc": [
- 55
- ]
- },
- {
- "teal": 37,
- "source": 66,
- "pc": [
- 56
- ]
- },
- {
- "teal": 38,
- "source": 66,
- "pc": [
- 57
- ]
- },
- {
- "teal": 39,
- "source": 66,
- "pc": [
- 58
- ]
- },
- {
- "teal": 40,
- "source": 66,
- "pc": [
- 59
- ]
- },
- {
- "teal": 41,
- "source": 66,
- "pc": [
- 60
- ]
- },
- {
- "teal": 45,
- "source": 66,
- "pc": [
- 61,
- 62,
- 63
- ]
- },
- {
- "teal": 49,
- "source": 67,
- "pc": [
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71
- ]
- },
- {
- "teal": 50,
- "source": 66,
- "pc": [
- 72
- ]
- },
- {
- "teal": 54,
- "source": 70,
- "pc": [
- 73,
- 74,
- 75
- ]
- },
- {
- "teal": 58,
- "source": 71,
- "pc": [
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 59,
- "source": 70,
- "pc": [
- 85
- ]
- },
- {
- "teal": 63,
- "source": 74,
- "pc": [
- 86,
- 87,
- 88
- ]
- },
- {
- "teal": 67,
- "source": 75,
- "pc": [
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 68,
- "source": 74,
- "pc": [
- 100
- ]
- },
- {
- "teal": 71,
- "source": 65,
- "pc": [
- 101
- ]
- },
- {
- "teal": 72,
- "source": 65,
- "pc": [
- 102
- ]
- },
- {
- "teal": 75,
- "source": 65,
- "pc": [
- 103,
- 104,
- 105,
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 76,
- "source": 65,
- "pc": [
- 109,
- 110,
- 111
- ]
- },
- {
- "teal": 77,
- "source": 65,
- "pc": [
- 112,
- 113,
- 114,
- 115
- ]
- },
- {
- "teal": 80,
- "source": 65,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 116
- ]
- },
- {
- "teal": 83,
- "source": 65,
- "pc": [
- 117,
- 118,
- 119,
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 84,
- "source": 65,
- "pc": [
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 85,
- "source": 65,
- "pc": [
- 126,
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 88,
- "source": 65,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 130
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 65,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 65,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 65,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 65,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 65,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 65,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 65,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 65,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 65,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 66,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 66,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 66,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 66,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 66,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 66,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 66,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 66,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 66,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 66,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 66,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 66,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 66,
+ "pc": [
+ 61,
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 67,
+ "pc": [
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 66,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 70,
+ "pc": [
+ 73,
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 71,
+ "pc": [
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 70,
+ "pc": [
+ 85
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 74,
+ "pc": [
+ 86,
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 75,
+ "pc": [
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 74,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 65,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 65,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 65,
+ "pc": [
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 65,
+ "pc": [
+ 109,
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 65,
+ "pc": [
+ 112,
+ 113,
+ 114,
+ 115
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 65,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 65,
+ "pc": [
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 65,
+ "pc": [
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 65,
+ "pc": [
+ 126,
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 65,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 130
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJYnl0ZSAweDcwNzU2MjZjNjk2MyAvLyAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglieXRlIDB4NzA3MjY5NzY2MTc0NjUgLy8gInByaXZhdGUiCglyZXRzdWIKCi8vIHByb3RlY3RlZE1ldGhvZCgpOiBzdHJpbmcKcHJvdGVjdGVkTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzUKCS8vIHJldHVybiAncHJvdGVjdGVkJzsKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJYnl0ZSAweDcwNzU2MjZjNjk2MyAvLyAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglieXRlIDB4NzA3MjY5NzY2MTc0NjUgLy8gInByaXZhdGUiCglyZXRzdWIKCi8vIHByb3RlY3RlZE1ldGhvZCgpOiBzdHJpbmcKcHJvdGVjdGVkTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzUKCS8vIHJldHVybiAncHJvdGVjdGVkJzsKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/FunctionsTest.approval.teal b/tests/contracts/artifacts/FunctionsTest.approval.teal
index 23e2a6337..c2f506e74 100644
--- a/tests/contracts/artifacts/FunctionsTest.approval.teal
+++ b/tests/contracts/artifacts/FunctionsTest.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/FunctionsTest.arc32.json b/tests/contracts/artifacts/FunctionsTest.arc32.json
index a28e44a46..34a41bbe2 100644
--- a/tests/contracts/artifacts/FunctionsTest.arc32.json
+++ b/tests/contracts/artifacts/FunctionsTest.arc32.json
@@ -49,7 +49,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYWxsTm9uQ2xhc3NGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2NhbGxOb25DbGFzc0Z1bmN0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGNhbGxOb25DbGFzc0Z1bmN0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY2FsbE5vbkNsYXNzRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKY2FsbE5vbkNsYXNzRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6MTIKCS8vIHJldHVybiBub25DbGFzc0Z1bmN0aW9uKGEsIGIpOwoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBub25DbGFzc0Z1bmN0aW9uCglyZXRzdWIKCi8vIGNhbGxFeHRlcm5hbEZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbEV4dGVybmFsRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbEV4dGVybmFsRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgY2FsbEV4dGVybmFsRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsRXh0ZXJuYWxGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsRXh0ZXJuYWxGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czoxNgoJLy8gcmV0dXJuIGV4dGVybmFsRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIGV4dGVybmFsRnVuY3Rpb24KCXJldHN1YgoKLy8gY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2NhbGxQYWNrYWdlRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBjYWxsUGFja2FnZUZ1bmN0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY2FsbFBhY2thZ2VGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsUGFja2FnZUZ1bmN0aW9uOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2Z1bmN0aW9ucy5hbGdvLnRzOjIwCgkvLyByZXR1cm4gcGFja2FnZUZ1bmN0aW9uKGEsIGIpOwoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBwYWNrYWdlRnVuY3Rpb24KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJjYWxsRXh0ZXJuYWxGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAiY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2FsbE5vbkNsYXNzRnVuY3Rpb24gKmFiaV9yb3V0ZV9jYWxsRXh0ZXJuYWxGdW5jdGlvbiAqYWJpX3JvdXRlX2NhbGxQYWNrYWdlRnVuY3Rpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCi8vIHBhY2thZ2VGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwYWNrYWdlRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyBub2RlX21vZHVsZXMvdGVhbHNjcmlwdF90ZXN0X3BhY2thZ2UvaW5kZXgudHM6NAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBleHRlcm5hbEZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmV4dGVybmFsRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLWV4dGVybmFsLmFsZ28udHM6MgoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBub25DbGFzc0Z1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Cm5vbkNsYXNzRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6NwoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYWxsTm9uQ2xhc3NGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2NhbGxOb25DbGFzc0Z1bmN0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGNhbGxOb25DbGFzc0Z1bmN0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY2FsbE5vbkNsYXNzRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKY2FsbE5vbkNsYXNzRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6MTIKCS8vIHJldHVybiBub25DbGFzc0Z1bmN0aW9uKGEsIGIpOwoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBub25DbGFzc0Z1bmN0aW9uCglyZXRzdWIKCi8vIGNhbGxFeHRlcm5hbEZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbEV4dGVybmFsRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbEV4dGVybmFsRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgY2FsbEV4dGVybmFsRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsRXh0ZXJuYWxGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsRXh0ZXJuYWxGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czoxNgoJLy8gcmV0dXJuIGV4dGVybmFsRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIGV4dGVybmFsRnVuY3Rpb24KCXJldHN1YgoKLy8gY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2NhbGxQYWNrYWdlRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBjYWxsUGFja2FnZUZ1bmN0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY2FsbFBhY2thZ2VGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsUGFja2FnZUZ1bmN0aW9uOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2Z1bmN0aW9ucy5hbGdvLnRzOjIwCgkvLyByZXR1cm4gcGFja2FnZUZ1bmN0aW9uKGEsIGIpOwoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBwYWNrYWdlRnVuY3Rpb24KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJjYWxsRXh0ZXJuYWxGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAiY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2FsbE5vbkNsYXNzRnVuY3Rpb24gKmFiaV9yb3V0ZV9jYWxsRXh0ZXJuYWxGdW5jdGlvbiAqYWJpX3JvdXRlX2NhbGxQYWNrYWdlRnVuY3Rpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCi8vIHBhY2thZ2VGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwYWNrYWdlRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyBub2RlX21vZHVsZXMvdGVhbHNjcmlwdF90ZXN0X3BhY2thZ2UvaW5kZXgudHM6NAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBleHRlcm5hbEZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmV4dGVybmFsRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLWV4dGVybmFsLmFsZ28udHM6MgoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBub25DbGFzc0Z1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Cm5vbkNsYXNzRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6NwoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/FunctionsTest.arc56_draft.json b/tests/contracts/artifacts/FunctionsTest.arc56_draft.json
index 67ee0c082..f8959eca8 100644
--- a/tests/contracts/artifacts/FunctionsTest.arc56_draft.json
+++ b/tests/contracts/artifacts/FunctionsTest.arc56_draft.json
@@ -113,721 +113,724 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 10,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10
- ]
- },
- {
- "teal": 13,
- "source": 10,
- "pc": [
- 11,
- 12
- ]
- },
- {
- "teal": 14,
- "source": 10,
- "pc": [
- 13
- ]
- },
- {
- "teal": 15,
- "source": 10,
- "pc": [
- 14,
- 15
- ]
- },
- {
- "teal": 16,
- "source": 10,
- "pc": [
- 16
- ]
- },
- {
- "teal": 17,
- "source": 10,
- "pc": [
- 17,
- 18
- ]
- },
- {
- "teal": 18,
- "source": 10,
- "pc": [
- 19
- ]
- },
- {
- "teal": 19,
- "source": 10,
- "pc": [
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 23,
- "source": 10,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 46
- ]
- },
- {
- "teal": 28,
- "source": 11,
- "pc": [
- 47
- ]
- },
- {
- "teal": 31,
- "source": 11,
- "pc": [
- 48,
- 49,
- 50
- ]
- },
- {
- "teal": 32,
- "source": 11,
- "pc": [
- 51
- ]
- },
- {
- "teal": 35,
- "source": 11,
- "pc": [
- 52,
- 53,
- 54
- ]
- },
- {
- "teal": 36,
- "source": 11,
- "pc": [
- 55
- ]
- },
- {
- "teal": 39,
- "source": 11,
- "pc": [
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 40,
- "source": 11,
- "pc": [
- 59
- ]
- },
- {
- "teal": 41,
- "source": 11,
- "pc": [
- 60
- ]
- },
- {
- "teal": 42,
- "source": 11,
- "pc": [
- 61
- ]
- },
- {
- "teal": 43,
- "source": 11,
- "pc": [
- 62
- ]
- },
- {
- "teal": 44,
- "source": 11,
- "pc": [
- 63
- ]
- },
- {
- "teal": 48,
- "source": 11,
- "pc": [
- 64,
- 65,
- 66
- ]
- },
- {
- "teal": 52,
- "source": 12,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 53,
- "source": 12,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 54,
- "source": 12,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 55,
- "source": 11,
- "pc": [
- 74
- ]
- },
- {
- "teal": 60,
- "source": 15,
- "pc": [
- 75
- ]
- },
- {
- "teal": 63,
- "source": 15,
- "pc": [
- 76,
- 77,
- 78
- ]
- },
- {
- "teal": 64,
- "source": 15,
- "pc": [
- 79
- ]
- },
- {
- "teal": 67,
- "source": 15,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 68,
- "source": 15,
- "pc": [
- 83
- ]
- },
- {
- "teal": 71,
- "source": 15,
- "pc": [
- 84,
- 85,
- 86
- ]
- },
- {
- "teal": 72,
- "source": 15,
- "pc": [
- 87
- ]
- },
- {
- "teal": 73,
- "source": 15,
- "pc": [
- 88
- ]
- },
- {
- "teal": 74,
- "source": 15,
- "pc": [
- 89
- ]
- },
- {
- "teal": 75,
- "source": 15,
- "pc": [
- 90
- ]
- },
- {
- "teal": 76,
- "source": 15,
- "pc": [
- 91
- ]
- },
- {
- "teal": 80,
- "source": 15,
- "pc": [
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 84,
- "source": 16,
- "pc": [
- 95,
- 96
- ]
- },
- {
- "teal": 85,
- "source": 16,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 86,
- "source": 16,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 87,
- "source": 15,
- "pc": [
- 102
- ]
- },
- {
- "teal": 92,
- "source": 19,
- "pc": [
- 103
- ]
- },
- {
- "teal": 95,
- "source": 19,
- "pc": [
- 104,
- 105,
- 106
- ]
- },
- {
- "teal": 96,
- "source": 19,
- "pc": [
- 107
- ]
- },
- {
- "teal": 99,
- "source": 19,
- "pc": [
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 100,
- "source": 19,
- "pc": [
- 111
- ]
- },
- {
- "teal": 103,
- "source": 19,
- "pc": [
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 104,
- "source": 19,
- "pc": [
- 115
- ]
- },
- {
- "teal": 105,
- "source": 19,
- "pc": [
- 116
- ]
- },
- {
- "teal": 106,
- "source": 19,
- "pc": [
- 117
- ]
- },
- {
- "teal": 107,
- "source": 19,
- "pc": [
- 118
- ]
- },
- {
- "teal": 108,
- "source": 19,
- "pc": [
- 119
- ]
- },
- {
- "teal": 112,
- "source": 19,
- "pc": [
- 120,
- 121,
- 122
- ]
- },
- {
- "teal": 116,
- "source": 20,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 117,
- "source": 20,
- "pc": [
- 125,
- 126
- ]
- },
- {
- "teal": 118,
- "source": 20,
- "pc": [
- 127,
- 128,
- 129
- ]
- },
- {
- "teal": 119,
- "source": 19,
- "pc": [
- 130
- ]
- },
- {
- "teal": 122,
- "source": 10,
- "pc": [
- 131
- ]
- },
- {
- "teal": 123,
- "source": 10,
- "pc": [
- 132
- ]
- },
- {
- "teal": 126,
- "source": 10,
- "pc": [
- 133,
- 134,
- 135,
- 136,
- 137,
- 138
- ]
- },
- {
- "teal": 127,
- "source": 10,
- "pc": [
- 139,
- 140,
- 141
- ]
- },
- {
- "teal": 128,
- "source": 10,
- "pc": [
- 142,
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 131,
- "source": 10,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 146
- ]
- },
- {
- "teal": 134,
- "source": 10,
- "pc": [
- 147,
- 148,
- 149,
- 150,
- 151,
- 152
- ]
- },
- {
- "teal": 135,
- "source": 10,
- "pc": [
- 153,
- 154,
- 155,
- 156,
- 157,
- 158
- ]
- },
- {
- "teal": 136,
- "source": 10,
- "pc": [
- 159,
- 160,
- 161,
- 162,
- 163,
- 164
- ]
- },
- {
- "teal": 137,
- "source": 10,
- "pc": [
- 165,
- 166,
- 167
- ]
- },
- {
- "teal": 138,
- "source": 10,
- "pc": [
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175
- ]
- },
- {
- "teal": 141,
- "source": 10,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 176
- ]
- },
- {
- "teal": 145,
- "source": 2,
- "pc": [
- 177,
- 178,
- 179
- ]
- },
- {
- "teal": 149,
- "source": 4,
- "pc": [
- 180,
- 181
- ]
- },
- {
- "teal": 150,
- "source": 4,
- "pc": [
- 182,
- 183
- ]
- },
- {
- "teal": 151,
- "source": 4,
- "pc": [
- 184
- ]
- },
- {
- "teal": 152,
- "source": 2,
- "pc": [
- 185
- ]
- },
- {
- "teal": 156,
- "source": 1,
- "pc": [
- 186,
- 187,
- 188
- ]
- },
- {
- "teal": 160,
- "source": 2,
- "pc": [
- 189,
- 190
- ]
- },
- {
- "teal": 161,
- "source": 2,
- "pc": [
- 191,
- 192
- ]
- },
- {
- "teal": 162,
- "source": 2,
- "pc": [
- 193
- ]
- },
- {
- "teal": 163,
- "source": 1,
- "pc": [
- 194
- ]
- },
- {
- "teal": 167,
- "source": 6,
- "pc": [
- 195,
- 196,
- 197
- ]
- },
- {
- "teal": 171,
- "source": 7,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 172,
- "source": 7,
- "pc": [
- 200,
- 201
- ]
- },
- {
- "teal": 173,
- "source": 7,
- "pc": [
- 202
- ]
- },
- {
- "teal": 174,
- "source": 6,
- "pc": [
- 203
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 10,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 10,
+ "pc": [
+ 11,
+ 12
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 10,
+ "pc": [
+ 13
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 10,
+ "pc": [
+ 14,
+ 15
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 10,
+ "pc": [
+ 16
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 10,
+ "pc": [
+ 17,
+ 18
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 10,
+ "pc": [
+ 19
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 10,
+ "pc": [
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 10,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 46
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 11,
+ "pc": [
+ 47
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 11,
+ "pc": [
+ 48,
+ 49,
+ 50
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 11,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 11,
+ "pc": [
+ 52,
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 11,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 11,
+ "pc": [
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 11,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 11,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 11,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 11,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 11,
+ "pc": [
+ 63
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 11,
+ "pc": [
+ 64,
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 12,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 12,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 12,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 11,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 15,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 15,
+ "pc": [
+ 76,
+ 77,
+ 78
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 15,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 15,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 15,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 15,
+ "pc": [
+ 84,
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 15,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 15,
+ "pc": [
+ 88
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 15,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 15,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 15,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 15,
+ "pc": [
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 16,
+ "pc": [
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 16,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 16,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 15,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 19,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 19,
+ "pc": [
+ 104,
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 19,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 19,
+ "pc": [
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 19,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 19,
+ "pc": [
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 19,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 19,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 19,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 19,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 19,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 19,
+ "pc": [
+ 120,
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 20,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 20,
+ "pc": [
+ 125,
+ 126
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 20,
+ "pc": [
+ 127,
+ 128,
+ 129
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 19,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 10,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 10,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 10,
+ "pc": [
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 10,
+ "pc": [
+ 139,
+ 140,
+ 141
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 10,
+ "pc": [
+ 142,
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 10,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 10,
+ "pc": [
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 10,
+ "pc": [
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 10,
+ "pc": [
+ 159,
+ 160,
+ 161,
+ 162,
+ 163,
+ 164
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 10,
+ "pc": [
+ 165,
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 10,
+ "pc": [
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 10,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 2,
+ "pc": [
+ 177,
+ 178,
+ 179
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 4,
+ "pc": [
+ 180,
+ 181
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 4,
+ "pc": [
+ 182,
+ 183
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 4,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 2,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 1,
+ "pc": [
+ 186,
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 2,
+ "pc": [
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 2,
+ "pc": [
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 2,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 1,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 6,
+ "pc": [
+ 195,
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 7,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 7,
+ "pc": [
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 7,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 6,
+ "pc": [
+ 203
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYWxsTm9uQ2xhc3NGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2NhbGxOb25DbGFzc0Z1bmN0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGNhbGxOb25DbGFzc0Z1bmN0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY2FsbE5vbkNsYXNzRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKY2FsbE5vbkNsYXNzRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6MTIKCS8vIHJldHVybiBub25DbGFzc0Z1bmN0aW9uKGEsIGIpOwoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBub25DbGFzc0Z1bmN0aW9uCglyZXRzdWIKCi8vIGNhbGxFeHRlcm5hbEZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbEV4dGVybmFsRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbEV4dGVybmFsRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgY2FsbEV4dGVybmFsRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsRXh0ZXJuYWxGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsRXh0ZXJuYWxGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czoxNgoJLy8gcmV0dXJuIGV4dGVybmFsRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIGV4dGVybmFsRnVuY3Rpb24KCXJldHN1YgoKLy8gY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2NhbGxQYWNrYWdlRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBjYWxsUGFja2FnZUZ1bmN0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY2FsbFBhY2thZ2VGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsUGFja2FnZUZ1bmN0aW9uOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2Z1bmN0aW9ucy5hbGdvLnRzOjIwCgkvLyByZXR1cm4gcGFja2FnZUZ1bmN0aW9uKGEsIGIpOwoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBwYWNrYWdlRnVuY3Rpb24KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJjYWxsRXh0ZXJuYWxGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAiY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2FsbE5vbkNsYXNzRnVuY3Rpb24gKmFiaV9yb3V0ZV9jYWxsRXh0ZXJuYWxGdW5jdGlvbiAqYWJpX3JvdXRlX2NhbGxQYWNrYWdlRnVuY3Rpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCi8vIHBhY2thZ2VGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwYWNrYWdlRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyBub2RlX21vZHVsZXMvdGVhbHNjcmlwdF90ZXN0X3BhY2thZ2UvaW5kZXgudHM6NAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBleHRlcm5hbEZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmV4dGVybmFsRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLWV4dGVybmFsLmFsZ28udHM6MgoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBub25DbGFzc0Z1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Cm5vbkNsYXNzRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6NwoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYWxsTm9uQ2xhc3NGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2NhbGxOb25DbGFzc0Z1bmN0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGNhbGxOb25DbGFzc0Z1bmN0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY2FsbE5vbkNsYXNzRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKY2FsbE5vbkNsYXNzRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6MTIKCS8vIHJldHVybiBub25DbGFzc0Z1bmN0aW9uKGEsIGIpOwoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBub25DbGFzc0Z1bmN0aW9uCglyZXRzdWIKCi8vIGNhbGxFeHRlcm5hbEZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbEV4dGVybmFsRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbEV4dGVybmFsRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgY2FsbEV4dGVybmFsRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsRXh0ZXJuYWxGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsRXh0ZXJuYWxGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czoxNgoJLy8gcmV0dXJuIGV4dGVybmFsRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIGV4dGVybmFsRnVuY3Rpb24KCXJldHN1YgoKLy8gY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2NhbGxQYWNrYWdlRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBjYWxsUGFja2FnZUZ1bmN0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY2FsbFBhY2thZ2VGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsUGFja2FnZUZ1bmN0aW9uOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2Z1bmN0aW9ucy5hbGdvLnRzOjIwCgkvLyByZXR1cm4gcGFja2FnZUZ1bmN0aW9uKGEsIGIpOwoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBwYWNrYWdlRnVuY3Rpb24KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgImNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJjYWxsRXh0ZXJuYWxGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAiY2FsbFBhY2thZ2VGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2FsbE5vbkNsYXNzRnVuY3Rpb24gKmFiaV9yb3V0ZV9jYWxsRXh0ZXJuYWxGdW5jdGlvbiAqYWJpX3JvdXRlX2NhbGxQYWNrYWdlRnVuY3Rpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCi8vIHBhY2thZ2VGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwYWNrYWdlRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyBub2RlX21vZHVsZXMvdGVhbHNjcmlwdF90ZXN0X3BhY2thZ2UvaW5kZXgudHM6NAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBleHRlcm5hbEZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmV4dGVybmFsRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLWV4dGVybmFsLmFsZ28udHM6MgoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBub25DbGFzc0Z1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Cm5vbkNsYXNzRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6NwoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/G.approval.teal b/tests/contracts/artifacts/G.approval.teal
index 96d3b2322..53eea3c92 100644
--- a/tests/contracts/artifacts/G.approval.teal
+++ b/tests/contracts/artifacts/G.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/G.arc32.json b/tests/contracts/artifacts/G.arc32.json
index 398606445..b8c257af5 100644
--- a/tests/contracts/artifacts/G.arc32.json
+++ b/tests/contracts/artifacts/G.arc32.json
@@ -44,7 +44,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJYnl0ZSAweDcwNzU2MjZjNjk2MyAvLyAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglieXRlIDB4NzA3MjY5NzY2MTc0NjUgLy8gInByaXZhdGUiCglyZXRzdWIKCi8vIHByb3RlY3RlZE1ldGhvZCgpOiBzdHJpbmcKcHJvdGVjdGVkTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzUKCS8vIHJldHVybiAncHJvdGVjdGVkJzsKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKLy8gZygpdm9pZAoqYWJpX3JvdXRlX2c6CgkvLyBleGVjdXRlIGcoKXZvaWQKCWNhbGxzdWIgZwoJaW50IDEKCXJldHVybgoKLy8gZygpOiB2b2lkCmc6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MQoJLy8gYXNzZXJ0KHRoaXMucHJvdGVjdGVkTWV0aG9kKCkgPT09ICdwcm90ZWN0ZWQnKQoJY2FsbHN1YiBwcm90ZWN0ZWRNZXRob2QKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MgoJLy8gYXNzZXJ0KHRoaXMucHVibGljTWV0aG9kKCkgPT09ICdwdWJsaWMnKQoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWJ5dGUgMHg3MDc1NjI2YzY5NjMgLy8gInB1YmxpYyIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJbWV0aG9kICJnKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QgKmFiaV9yb3V0ZV9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJYnl0ZSAweDcwNzU2MjZjNjk2MyAvLyAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglieXRlIDB4NzA3MjY5NzY2MTc0NjUgLy8gInByaXZhdGUiCglyZXRzdWIKCi8vIHByb3RlY3RlZE1ldGhvZCgpOiBzdHJpbmcKcHJvdGVjdGVkTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzUKCS8vIHJldHVybiAncHJvdGVjdGVkJzsKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKLy8gZygpdm9pZAoqYWJpX3JvdXRlX2c6CgkvLyBleGVjdXRlIGcoKXZvaWQKCWNhbGxzdWIgZwoJaW50IDEKCXJldHVybgoKLy8gZygpOiB2b2lkCmc6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MQoJLy8gYXNzZXJ0KHRoaXMucHJvdGVjdGVkTWV0aG9kKCkgPT09ICdwcm90ZWN0ZWQnKQoJY2FsbHN1YiBwcm90ZWN0ZWRNZXRob2QKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MgoJLy8gYXNzZXJ0KHRoaXMucHVibGljTWV0aG9kKCkgPT09ICdwdWJsaWMnKQoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWJ5dGUgMHg3MDc1NjI2YzY5NjMgLy8gInB1YmxpYyIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJbWV0aG9kICJnKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QgKmFiaV9yb3V0ZV9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/G.arc56_draft.json b/tests/contracts/artifacts/G.arc56_draft.json
index e805db52d..417a1936e 100644
--- a/tests/contracts/artifacts/G.arc56_draft.json
+++ b/tests/contracts/artifacts/G.arc56_draft.json
@@ -73,499 +73,502 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 79,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22
- ]
- },
- {
- "teal": 13,
- "source": 79,
- "pc": [
- 23,
- 24
- ]
- },
- {
- "teal": 14,
- "source": 79,
- "pc": [
- 25
- ]
- },
- {
- "teal": 15,
- "source": 79,
- "pc": [
- 26,
- 27
- ]
- },
- {
- "teal": 16,
- "source": 79,
- "pc": [
- 28
- ]
- },
- {
- "teal": 17,
- "source": 79,
- "pc": [
- 29,
- 30
- ]
- },
- {
- "teal": 18,
- "source": 79,
- "pc": [
- 31
- ]
- },
- {
- "teal": 19,
- "source": 79,
- "pc": [
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57
- ]
- },
- {
- "teal": 23,
- "source": 79,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 58
- ]
- },
- {
- "teal": 28,
- "source": 66,
- "pc": [
- 59,
- 60,
- 61,
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 31,
- "source": 66,
- "pc": [
- 65,
- 66,
- 67
- ]
- },
- {
- "teal": 32,
- "source": 66,
- "pc": [
- 68
- ]
- },
- {
- "teal": 33,
- "source": 66,
- "pc": [
- 69
- ]
- },
- {
- "teal": 34,
- "source": 66,
- "pc": [
- 70
- ]
- },
- {
- "teal": 35,
- "source": 66,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 36,
- "source": 66,
- "pc": [
- 74
- ]
- },
- {
- "teal": 37,
- "source": 66,
- "pc": [
- 75
- ]
- },
- {
- "teal": 38,
- "source": 66,
- "pc": [
- 76
- ]
- },
- {
- "teal": 39,
- "source": 66,
- "pc": [
- 77
- ]
- },
- {
- "teal": 40,
- "source": 66,
- "pc": [
- 78
- ]
- },
- {
- "teal": 41,
- "source": 66,
- "pc": [
- 79
- ]
- },
- {
- "teal": 45,
- "source": 66,
- "pc": [
- 80,
- 81,
- 82
- ]
- },
- {
- "teal": 49,
- "source": 67,
- "pc": [
- 83
- ]
- },
- {
- "teal": 50,
- "source": 66,
- "pc": [
- 84
- ]
- },
- {
- "teal": 54,
- "source": 70,
- "pc": [
- 85,
- 86,
- 87
- ]
- },
- {
- "teal": 58,
- "source": 71,
- "pc": [
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96
- ]
- },
- {
- "teal": 59,
- "source": 70,
- "pc": [
- 97
- ]
- },
- {
- "teal": 63,
- "source": 74,
- "pc": [
- 98,
- 99,
- 100
- ]
- },
- {
- "teal": 67,
- "source": 75,
- "pc": [
- 101
- ]
- },
- {
- "teal": 68,
- "source": 74,
- "pc": [
- 102
- ]
- },
- {
- "teal": 73,
- "source": 80,
- "pc": [
- 103,
- 104,
- 105
- ]
- },
- {
- "teal": 74,
- "source": 80,
- "pc": [
- 106
- ]
- },
- {
- "teal": 75,
- "source": 80,
- "pc": [
- 107
- ]
- },
- {
- "teal": 79,
- "source": 80,
- "pc": [
- 108,
- 109,
- 110
- ]
- },
- {
- "teal": 83,
- "source": 81,
- "pc": [
- 111,
- 112,
- 113
- ]
- },
- {
- "teal": 84,
- "source": 81,
- "pc": [
- 114
- ]
- },
- {
- "teal": 85,
- "source": 81,
- "pc": [
- 115
- ]
- },
- {
- "teal": 86,
- "source": 81,
- "pc": [
- 116
- ]
- },
- {
- "teal": 90,
- "source": 82,
- "pc": [
- 117,
- 118,
- 119
- ]
- },
- {
- "teal": 91,
- "source": 82,
- "pc": [
- 120
- ]
- },
- {
- "teal": 92,
- "source": 82,
- "pc": [
- 121
- ]
- },
- {
- "teal": 93,
- "source": 82,
- "pc": [
- 122
- ]
- },
- {
- "teal": 94,
- "source": 80,
- "pc": [
- 123
- ]
- },
- {
- "teal": 97,
- "source": 79,
- "pc": [
- 124
- ]
- },
- {
- "teal": 98,
- "source": 79,
- "pc": [
- 125
- ]
- },
- {
- "teal": 101,
- "source": 79,
- "pc": [
- 126,
- 127,
- 128,
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 102,
- "source": 79,
- "pc": [
- 132,
- 133,
- 134
- ]
- },
- {
- "teal": 103,
- "source": 79,
- "pc": [
- 135,
- 136,
- 137,
- 138
- ]
- },
- {
- "teal": 106,
- "source": 79,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 139
- ]
- },
- {
- "teal": 109,
- "source": 79,
- "pc": [
- 140,
- 141,
- 142,
- 143,
- 144,
- 145
- ]
- },
- {
- "teal": 110,
- "source": 79,
- "pc": [
- 146,
- 147,
- 148,
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 111,
- "source": 79,
- "pc": [
- 152,
- 153,
- 154
- ]
- },
- {
- "teal": 112,
- "source": 79,
- "pc": [
- 155,
- 156,
- 157,
- 158,
- 159,
- 160
- ]
- },
- {
- "teal": 115,
- "source": 79,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 161
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 79,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 79,
+ "pc": [
+ 23,
+ 24
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 79,
+ "pc": [
+ 25
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 79,
+ "pc": [
+ 26,
+ 27
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 79,
+ "pc": [
+ 28
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 79,
+ "pc": [
+ 29,
+ 30
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 79,
+ "pc": [
+ 31
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 79,
+ "pc": [
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 79,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 66,
+ "pc": [
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 66,
+ "pc": [
+ 65,
+ 66,
+ 67
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 66,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 66,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 66,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 66,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 66,
+ "pc": [
+ 74
+ ]
+ },
+ {
+ "teal": 37,
+ "source": 66,
+ "pc": [
+ 75
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 66,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 66,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 66,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 66,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 66,
+ "pc": [
+ 80,
+ 81,
+ 82
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 67,
+ "pc": [
+ 83
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 66,
+ "pc": [
+ 84
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 70,
+ "pc": [
+ 85,
+ 86,
+ 87
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 71,
+ "pc": [
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 70,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 74,
+ "pc": [
+ 98,
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 75,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 74,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 80,
+ "pc": [
+ 103,
+ 104,
+ 105
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 80,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 80,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 80,
+ "pc": [
+ 108,
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 81,
+ "pc": [
+ 111,
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 81,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 81,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 81,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 82,
+ "pc": [
+ 117,
+ 118,
+ 119
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 82,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 82,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 82,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 80,
+ "pc": [
+ 123
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 79,
+ "pc": [
+ 124
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 79,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 79,
+ "pc": [
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 79,
+ "pc": [
+ 132,
+ 133,
+ 134
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 79,
+ "pc": [
+ 135,
+ 136,
+ 137,
+ 138
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 79,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 79,
+ "pc": [
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 79,
+ "pc": [
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 79,
+ "pc": [
+ 152,
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 79,
+ "pc": [
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 79,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 161
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJYnl0ZSAweDcwNzU2MjZjNjk2MyAvLyAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglieXRlIDB4NzA3MjY5NzY2MTc0NjUgLy8gInByaXZhdGUiCglyZXRzdWIKCi8vIHByb3RlY3RlZE1ldGhvZCgpOiBzdHJpbmcKcHJvdGVjdGVkTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzUKCS8vIHJldHVybiAncHJvdGVjdGVkJzsKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKLy8gZygpdm9pZAoqYWJpX3JvdXRlX2c6CgkvLyBleGVjdXRlIGcoKXZvaWQKCWNhbGxzdWIgZwoJaW50IDEKCXJldHVybgoKLy8gZygpOiB2b2lkCmc6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MQoJLy8gYXNzZXJ0KHRoaXMucHJvdGVjdGVkTWV0aG9kKCkgPT09ICdwcm90ZWN0ZWQnKQoJY2FsbHN1YiBwcm90ZWN0ZWRNZXRob2QKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MgoJLy8gYXNzZXJ0KHRoaXMucHVibGljTWV0aG9kKCkgPT09ICdwdWJsaWMnKQoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWJ5dGUgMHg3MDc1NjI2YzY5NjMgLy8gInB1YmxpYyIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJbWV0aG9kICJnKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QgKmFiaV9yb3V0ZV9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJYnl0ZSAweDcwNzU2MjZjNjk2MyAvLyAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglieXRlIDB4NzA3MjY5NzY2MTc0NjUgLy8gInByaXZhdGUiCglyZXRzdWIKCi8vIHByb3RlY3RlZE1ldGhvZCgpOiBzdHJpbmcKcHJvdGVjdGVkTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzUKCS8vIHJldHVybiAncHJvdGVjdGVkJzsKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKLy8gZygpdm9pZAoqYWJpX3JvdXRlX2c6CgkvLyBleGVjdXRlIGcoKXZvaWQKCWNhbGxzdWIgZwoJaW50IDEKCXJldHVybgoKLy8gZygpOiB2b2lkCmc6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MQoJLy8gYXNzZXJ0KHRoaXMucHJvdGVjdGVkTWV0aG9kKCkgPT09ICdwcm90ZWN0ZWQnKQoJY2FsbHN1YiBwcm90ZWN0ZWRNZXRob2QKCWJ5dGUgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MgoJLy8gYXNzZXJ0KHRoaXMucHVibGljTWV0aG9kKCkgPT09ICdwdWJsaWMnKQoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWJ5dGUgMHg3MDc1NjI2YzY5NjMgLy8gInB1YmxpYyIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJbWV0aG9kICJnKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QgKmFiaV9yb3V0ZV9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/GeneralTest.approval.teal b/tests/contracts/artifacts/GeneralTest.approval.teal
index 440ddff69..b2e8493c5 100644
--- a/tests/contracts/artifacts/GeneralTest.approval.teal
+++ b/tests/contracts/artifacts/GeneralTest.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// !!!! WARNING: This contract is *NOT* ARC4 compliant. It may contain ABI methods, but it also allows app calls where the first argument does NOT match an ABI selector
diff --git a/tests/contracts/artifacts/GeneralTest.arc32.json b/tests/contracts/artifacts/GeneralTest.arc32.json
index dd2d9069d..759663f15 100644
--- a/tests/contracts/artifacts/GeneralTest.arc32.json
+++ b/tests/contracts/artifacts/GeneralTest.arc32.json
@@ -413,7 +413,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gISEhISBXQVJOSU5HOiBUaGlzIGNvbnRyYWN0IGlzICpOT1QqIEFSQzQgY29tcGxpYW50LiBJdCBtYXkgY29udGFpbiBBQkkgbWV0aG9kcywgYnV0IGl0IGFsc28gYWxsb3dzIGFwcCBjYWxscyB3aGVyZSB0aGUgZmlyc3QgYXJndW1lbnQgZG9lcyBOT1QgbWF0Y2ggYW4gQUJJIHNlbGVjdG9yCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eG5UeXBlRW51bSgpdm9pZAoqYWJpX3JvdXRlX3R4blR5cGVFbnVtOgoJLy8gZXhlY3V0ZSB0eG5UeXBlRW51bSgpdm9pZAoJY2FsbHN1YiB0eG5UeXBlRW51bQoJaW50IDEKCXJldHVybgoKLy8gdHhuVHlwZUVudW0oKTogdm9pZAp0eG5UeXBlRW51bToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NjEKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwWzBdLnR5cGVFbnVtID09PSBUcmFuc2FjdGlvblR5cGUuQXBwbGljYXRpb25DYWxsKQoJaW50IDAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXBwbAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyB0eG5Hcm91cExlbmd0aCgpdm9pZAoqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoOgoJLy8gZXhlY3V0ZSB0eG5Hcm91cExlbmd0aCgpdm9pZAoJY2FsbHN1YiB0eG5Hcm91cExlbmd0aAoJaW50IDEKCXJldHVybgoKLy8gdHhuR3JvdXBMZW5ndGgoKTogdm9pZAp0eG5Hcm91cExlbmd0aDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NjUKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwLmxlbmd0aCA9PT0gMSkKCWdsb2JhbCBHcm91cFNpemUKCWludCAxCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydHMoYm9vbCxib29sKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRzOgoJLy8gYXJnMjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzIpIGZvciBhc3NlcnRzIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMSkgZm9yIGFzc2VydHMgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgYXNzZXJ0cyhib29sLGJvb2wpdm9pZAoJY2FsbHN1YiBhc3NlcnRzCglpbnQgMQoJcmV0dXJuCgovLyBhc3NlcnRzKGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiB2b2lkCmFzc2VydHM6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjY5CgkvLyBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglmcmFtZV9kaWcgLTEgLy8gYXJnMTogYm9vbGVhbgoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoYXJnMSwgYXJnMiwgYXJnMSA9PT0gYXJnMikKCWFzc2VydAoJZnJhbWVfZGlnIC0xIC8vIGFyZzE6IGJvb2xlYW4KCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgk9PQoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21Bcmc6CgkvLyBzb21lUGF5OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChzb21lUGF5KSBmb3IgdmVyaWZ5VHhuRnJvbUFyZyBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHZlcmlmeVR4bkZyb21BcmcocGF5KXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuRnJvbUFyZwoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhzb21lUGF5OiBQYXlUeG4pOiB2b2lkCnZlcmlmeVR4bkZyb21Bcmc6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjczCgkvLyB2ZXJpZnlUeG4oc29tZVBheSwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiAxMDBfMDAwIH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzb21lUGF5OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNvbWVQYXkiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzb21lUGF5OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaW50IDEwMF8wMDAKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzb21lUGF5IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6IjEwMF8wMDAifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHZlcmlmeVR4bkZyb21UeG5Hcm91cCgpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21UeG5Hcm91cDoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkZyb21UeG5Hcm91cAoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCk6IHZvaWQKdmVyaWZ5VHhuRnJvbVR4bkdyb3VwOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo3NwoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuR3JvdXBbMF0sIHsgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWludCAwCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuQ29uZGl0aW9uKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuQ29uZGl0aW9uOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuQ29uZGl0aW9uCglpbnQgMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Db25kaXRpb24oKTogdm9pZAp2ZXJpZnlUeG5Db25kaXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjgxCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHsgZ3JlYXRlclRoYW46IDEgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFwcGxpY2F0aW9uSUQKCXR4biBBcHBsaWNhdGlvbklECglpbnQgMQoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6ImFwcGxpY2F0aW9uSUQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjEifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5JbmNsdWRlZEluKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkluY2x1ZGVkSW4KCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkluY2x1ZGVkSW4oKTogdm9pZAp2ZXJpZnlUeG5JbmNsdWRlZEluOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo4NwoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7CgkvLyAgICAgICBzZW5kZXI6IHsgaW5jbHVkZWRJbjogW3RoaXMudHhuLnNlbmRlcl0gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6eyJ0eG5UZXh0IjoidGhpcy50eG4ifSwiZmllbGQiOiJzZW5kZXIiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbdGhpcy50eG4uc2VuZGVyXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bk5vdEluY2x1ZGVkSW46CgkvLyBleGVjdXRlIHZlcmlmeVR4bk5vdEluY2x1ZGVkSW4oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuTm90SW5jbHVkZWRJbgoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpOiB2b2lkCnZlcmlmeVR4bk5vdEluY2x1ZGVkSW46Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjkzCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBub3RJbmNsdWRlZEluOiBbZ2xvYmFscy56ZXJvQWRkcmVzc10gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6Im5vdEluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IltnbG9iYWxzLnplcm9BZGRyZXNzXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkCiphYmlfcm91dGVfc3VibWl0UGVuZGluZ0dyb3VwOgoJLy8gZXhlY3V0ZSBzdWJtaXRQZW5kaW5nR3JvdXAoKXZvaWQKCWNhbGxzdWIgc3VibWl0UGVuZGluZ0dyb3VwCglpbnQgMQoJcmV0dXJuCgovLyBzdWJtaXRQZW5kaW5nR3JvdXAoKTogdm9pZApzdWJtaXRQZW5kaW5nR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjk5CgkvLyB0aGlzLnBlbmRpbmdHcm91cC5hZGRQYXltZW50KHsgYW1vdW50OiAwLCByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgaXNGaXJzdFR4bjogdHJ1ZSB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6OTkKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo5OQoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIHRoaXMucGVuZGluZ0dyb3VwLmFkZFBheW1lbnQoeyBhbW91bnQ6IDAsIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBub3RlOiAnZm9vJyB9KQoJaXR4bl9uZXh0CglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTAwCgkvLyBub3RlOiAnZm9vJwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDEKCS8vIHRoaXMucGVuZGluZ0dyb3VwLnN1Ym1pdCgpCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzOgoJLy8gZXhlY3V0ZSBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoJY2FsbHN1YiBtZXRob2RXaXRoVHhuQXJncwoJaW50IDEKCXJldHVybgoKLy8gbWV0aG9kV2l0aFR4bkFyZ3MoKTogdm9pZAptZXRob2RXaXRoVHhuQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTA1CgkvLyBzZW5kTWV0aG9kQ2FsbDxbUGF5VHhuLCBNZXRob2RDYWxsPFt1aW50NjRdLCB2b2lkPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogWwoJLy8gICAgICAgICB7IGFtb3VudDogMTAwXzAwMCwgcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlciB9LAoJLy8gICAgICAgICB7CgkvLyAgICAgICAgICAgbmFtZTogJ2JhcicsCgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbMV0sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIGFtb3VudDogMTAwXzAwMAoJaW50IDEwMF8wMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiYmFyKHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExMQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KQoJaW50IDEzMzcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTEyCgkvLyBtZXRob2RBcmdzOiBbMV0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJmb28ocGF5LGFwcGwpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBhbW91bnQ6IDEwMF8wMDAsIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIgfSwKCS8vICAgICAgICAgewoJLy8gICAgICAgICAgIG5hbWU6ICdiYXInLAoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQoMTMzNyksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogWzFdLAoJLy8gICAgICAgICB9LAoJLy8gICAgICAgXQoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBzaGlmdCgpdm9pZAoqYWJpX3JvdXRlX3NoaWZ0OgoJLy8gZXhlY3V0ZSBzaGlmdCgpdm9pZAoJY2FsbHN1YiBzaGlmdAoJaW50IDEKCXJldHVybgoKLy8gc2hpZnQoKTogdm9pZApzaGlmdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE5CgkvLyBhc3NlcnQoMSA8PCAyID09PSA0KQoJaW50IDEKCWludCAyCglzaGwKCWludCA0Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMjAKCS8vIGFzc2VydCg0ID4+IDEgPT09IDIpCglpbnQgNAoJaW50IDEKCXNocgoJaW50IDIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZnJvbUJ5dGVzKCl2b2lkCiphYmlfcm91dGVfZnJvbUJ5dGVzOgoJLy8gZXhlY3V0ZSBmcm9tQnl0ZXMoKXZvaWQKCWNhbGxzdWIgZnJvbUJ5dGVzCglpbnQgMQoJcmV0dXJuCgovLyBmcm9tQnl0ZXMoKTogdm9pZApmcm9tQnl0ZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEyNAoJLy8gYXNzZXJ0KEFkZHJlc3MuZnJvbUJ5dGVzKCdhYmMnKS5taW5CYWxhbmNlKQoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBmcm9tVWludDY0KCl2b2lkCiphYmlfcm91dGVfZnJvbVVpbnQ2NDoKCS8vIGV4ZWN1dGUgZnJvbVVpbnQ2NCgpdm9pZAoJY2FsbHN1YiBmcm9tVWludDY0CglpbnQgMQoJcmV0dXJuCgovLyBmcm9tVWludDY0KCk6IHZvaWQKZnJvbVVpbnQ2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI4CgkvLyBsb2coQXBwSUQuZnJvbVVpbnQ2NCgxMjMpLmNyZWF0b3IpCglpbnQgMTIzCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI5CgkvLyBsb2coQXNzZXRJRC5mcm9tVWludDY0KDEyMykuY3JlYXRvcikKCWludCAxMjMKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWxvZwoJcmV0c3ViCgovLyBiemVyb0Z1bmN0aW9uKCl2b2lkCiphYmlfcm91dGVfYnplcm9GdW5jdGlvbjoKCS8vIGV4ZWN1dGUgYnplcm9GdW5jdGlvbigpdm9pZAoJY2FsbHN1YiBiemVyb0Z1bmN0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBiemVyb0Z1bmN0aW9uKCk6IHZvaWQKYnplcm9GdW5jdGlvbjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEzNAoJLy8geDogYnl0ZXMgPSBiemVybygyKQoJYnl0ZSAweDAwMDAKCWZyYW1lX2J1cnkgMCAvLyB4OiBieXRlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM1CgkvLyB5OiBieXRlcyA9IGJ6ZXJvKG4pCglpbnQgMQoJYnplcm8KCWZyYW1lX2J1cnkgMSAvLyB5OiBieXRlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM2CgkvLyB6OiBbdWludDY0LCB1aW50PDg+XSA9IGJ6ZXJvPFt1aW50NjQsIHVpbnQ8OD5dPigpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwCglmcmFtZV9idXJ5IDIgLy8gejogW3VpbnQ2NCwgdWludDw4Pl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEzNwoJLy8gYXNzZXJ0KGxlbih4ICsgeSArIHopID09PSAxMikKCWJ5dGUgMHgwMDAwIC8vIHg6IGJ5dGVzCglmcmFtZV9kaWcgMSAvLyB5OiBieXRlcwoJY29uY2F0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwIC8vIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgljb25jYXQKCWxlbgoJaW50IDEyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGV2ZW50cygpdm9pZAoqYWJpX3JvdXRlX2V2ZW50czoKCS8vIGV4ZWN1dGUgZXZlbnRzKCl2b2lkCgljYWxsc3ViIGV2ZW50cwoJaW50IDEKCXJldHVybgoKLy8gZXZlbnRzKCk6IHZvaWQKZXZlbnRzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNTIKCS8vIHRoaXMubXlFdmVudC5sb2coeyBhcHA6IHRoaXMuYXBwLCBudW06IDEgfSkKCWJ5dGUgMHg4NzUyODE5NiAvLyBteUV2ZW50KHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY29uY2F0Cgljb25jYXQKCWxvZwoJcmV0c3ViCgovLyBsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10KKmFiaV9yb3V0ZV9sZXRPcHRpbWl6YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgbGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdCgljYWxsc3ViIGxldE9wdGltaXphdGlvbgoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbGV0T3B0aW1pemF0aW9uKGE6IHVpbnQ2NFtdKTogdWludDY0W10KbGV0T3B0aW1pemF0aW9uOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNTYKCS8vIGFzc2VydChhWzBdKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTU4CgkvLyBiID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IC0xIC8vIGI6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjAKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglyZXRzdWIKCi8vIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZAoqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllczoKCS8vIGV4ZWN1dGUgc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzKCl2b2lkCgljYWxsc3ViIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzKCk6IHZvaWQKc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IER1bW15Q29udHJhY3QuYXBwcm92YWxQcm9ncmFtKCksCgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogRHVtbXlDb250cmFjdC5jbGVhclByb2dyYW0oKSwKCS8vICAgICAgIGxvY2FsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1CeXRlU2xpY2UsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IER1bW15Q29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IER1bW15Q29udHJhY3Quc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NQoJLy8gb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcAoJaW50IDAgLy8gTm9PcAoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NgoJLy8gYXBwcm92YWxQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmFwcHJvdmFsUHJvZ3JhbSgpCglieXRlIGI2NCBDakVZRklFR0N6RVpDSTBNQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBSUVCUTRBRXVFUjdOallhQUk0Qi8vQUEKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjcKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjgKCS8vIGxvY2FsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1CeXRlU2xpY2UKCWludCAwCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjkKCS8vIGxvY2FsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEubG9jYWwubnVtVWludAoJaW50IDAKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZQoJaW50IDAKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzEKCS8vIGdsb2JhbE51bVVpbnQ6IER1bW15Q29udHJhY3Quc2NoZW1hLmdsb2JhbC5udW1VaW50CglpbnQgMAoJaXR4bl9maWVsZCBHbG9iYWxOdW1VaW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBudW1iZXJUb1N0cmluZygpdm9pZAoqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nOgoJLy8gZXhlY3V0ZSBudW1iZXJUb1N0cmluZygpdm9pZAoJY2FsbHN1YiBudW1iZXJUb1N0cmluZwoJaW50IDEKCXJldHVybgoKLy8gbnVtYmVyVG9TdHJpbmcoKTogdm9pZApudW1iZXJUb1N0cmluZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTc4CgkvLyBhc3NlcnQobi50b1N0cmluZygpID09PSBzKQoJaW50IDEKCWNhbGxzdWIgKml0b2EKCWJ5dGUgIjEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIG1ldGhvZE9uUGFyZW5zKCl2b2lkCiphYmlfcm91dGVfbWV0aG9kT25QYXJlbnM6CgkvLyBleGVjdXRlIG1ldGhvZE9uUGFyZW5zKCl2b2lkCgljYWxsc3ViIG1ldGhvZE9uUGFyZW5zCglpbnQgMQoJcmV0dXJuCgovLyBtZXRob2RPblBhcmVucygpOiB2b2lkCm1ldGhvZE9uUGFyZW5zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODIKCS8vIGFzc2VydCgoMSArIDIpLnRvU3RyaW5nKCkgPT09ICczJykKCWludCAzCgljYWxsc3ViICppdG9hCglieXRlIDB4MzMgLy8gIjMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1N1YnN0cmluZygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1N1YnN0cmluZzoKCS8vIGV4ZWN1dGUgc3RyaW5nU3Vic3RyaW5nKCl2b2lkCgljYWxsc3ViIHN0cmluZ1N1YnN0cmluZwoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nU3Vic3RyaW5nKCk6IHZvaWQKc3RyaW5nU3Vic3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODcKCS8vIGFzc2VydChzLnN1YnN0cmluZygxLCAzKSA9PT0gJ2JjJykKCWJ5dGUgImFiY2RlZiIKCXN1YnN0cmluZyAxIDMKCWJ5dGUgMHg2MjYzIC8vICJiYyIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gaWRQcm9wZXJ0eSgpdm9pZAoqYWJpX3JvdXRlX2lkUHJvcGVydHk6CgkvLyBleGVjdXRlIGlkUHJvcGVydHkoKXZvaWQKCWNhbGxzdWIgaWRQcm9wZXJ0eQoJaW50IDEKCXJldHVybgoKLy8gaWRQcm9wZXJ0eSgpOiB2b2lkCmlkUHJvcGVydHk6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTEKCS8vIGFwcCA9IEFwcElELnplcm9JbmRleAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBhcHA6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTkyCgkvLyBhc3NlcnQoQXBwSUQuZnJvbVVpbnQ2NChhcHAuaWQpID09PSBhcHApCglpbnQgMCAvLyBhcHA6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTQKCS8vIGFzYSA9IEFzc2V0SUQuemVyb0luZGV4CglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGFzYTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTUKCS8vIGFzc2VydChBc3NldElELmZyb21VaW50NjQoYXNhLmlkKSA9PT0gYXNhKQoJaW50IDAgLy8gYXNhOiB1aW50NjQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBzY3JhdGNoU2xvdCgpdm9pZAoqYWJpX3JvdXRlX3NjcmF0Y2hTbG90OgoJLy8gZXhlY3V0ZSBzY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBzY3JhdGNoU2xvdAoJaW50IDEKCXJldHVybgoKLy8gc2NyYXRjaFNsb3QoKTogdm9pZApzY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTk5CgkvLyB0aGlzLnNjcmF0Y2gudmFsdWUgPSAxMzM3CglpbnQgMTMzNwoJc3RvcmUgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjAwCgkvLyBhc3NlcnQodGhpcy5zY3JhdGNoLnZhbHVlID09PSAxMzM3KQoJbG9hZCAwCglpbnQgMTMzNwoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBlY2RzYSgpdm9pZAoqYWJpX3JvdXRlX2VjZHNhOgoJLy8gZXhlY3V0ZSBlY2RzYSgpdm9pZAoJY2FsbHN1YiBlY2RzYQoJaW50IDEKCXJldHVybgoKLy8gZWNkc2EoKTogdm9pZAplY2RzYToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwNAoJLy8gZWNkc2FWZXJpZnkoJ1NlY3AyNTZrMScsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJZHVwbiA0CgllY2RzYV92ZXJpZnkgU2VjcDI1NmsxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDUKCS8vIGQgPSBlY2RzYVBrRGVjb21wcmVzcygnU2VjcDI1NmsxJywgJycgYXMgYnl0ZXM8MzM+KQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJZWNkc2FfcGtfZGVjb21wcmVzcyBTZWNwMjU2azEKCWZyYW1lX2J1cnkgMCAvLyBkIHkgY29tcG9uZW50OiBieXRlW10KCWZyYW1lX2J1cnkgMSAvLyBkIHggY29tcG9uZW50OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwNgoJLy8gbG9nKGQueSkKCWZyYW1lX2RpZyAwIC8vIGQgeSBjb21wb25lbnQ6IGJ5dGVbXQoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDcKCS8vIGxvZyhkLngpCglmcmFtZV9kaWcgMSAvLyBkIHggY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjA5CgkvLyByID0gZWNkc2FQa1JlY292ZXIoJ1NlY3AyNTZrMScsICcnIGFzIGJ5dGVzMzIsIDEsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJaW50IDEKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIC8vICIiCglkdXAKCWVjZHNhX3BrX3JlY292ZXIgU2VjcDI1NmsxCglmcmFtZV9idXJ5IDIgLy8gciB5IGNvbXBvbmVudDogYnl0ZVtdCglmcmFtZV9idXJ5IDMgLy8gciB4IGNvbXBvbmVudDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTAKCS8vIGxvZyhyLnkpCglmcmFtZV9kaWcgMiAvLyByIHkgY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjExCgkvLyBsb2coci54KQoJZnJhbWVfZGlnIDMgLy8gciB4IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCXJldHN1YgoKLy8gdmVyaWZ5VHhuVHlwZXMoKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5UeXBlczoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuVHlwZXMoKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuVHlwZXMKCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeVR4blR5cGVzKCk6IHZvaWQKdmVyaWZ5VHhuVHlwZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxNQoJLy8gdmVyaWZ5UGF5VHhuKHRoaXMudHhuR3JvdXBbMF0sIHsKCS8vICAgICAgIGFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgcGF5CglpbnQgMAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoicGF5In0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWludCAwCglndHhucyBBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTkKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG5Hcm91cFswXSwgewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogewoJLy8gICAgICAgICAwOiAnZm9vJywKCS8vICAgICAgICAgMTogewoJLy8gICAgICAgICAgIGluY2x1ZGVkSW46IFsnYmFyJywgJ2JheiddLAoJLy8gICAgICAgICB9LAoJLy8gICAgICAgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFwcGwKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGFwcGwKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYXBwbCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJaW50IDAKCWd0eG5zIEFwcGxpY2F0aW9uSUQKCWludCAwCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCgwKSJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzIDAKCWludCAwCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImFwcGxpY2F0aW9uQXJncyIsImluZGV4IjoiMCIsImV4cGVjdGVkIjoiJ2ZvbycifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFwcGxpY2F0aW9uQXJncyAxCglpbnQgMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCT09CglpbnQgMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCWJ5dGUgMHg2MjYxN2EgLy8gImJheiIKCT09Cgl8fAoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4bkdyb3VwWzBdIn0sImZpZWxkIjoiYXBwbGljYXRpb25BcmdzIDEiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbJ2JhcicsICdiYXonXSJ9Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIyOQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXhmZXIKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImF4ZmVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglpbnQgMAoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjMzCgkvLyB2ZXJpZnlBc3NldENvbmZpZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KDApLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYWNmZwoJaW50IDAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYWNmZwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJhY2ZnIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBjb25maWdBc3NldAoJaW50IDAKCWd0eG5zIENvbmZpZ0Fzc2V0CglpbnQgMAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImNvbmZpZ0Fzc2V0IiwiZXhwZWN0ZWQiOiJBc3NldElELmZyb21VaW50NjQoMCkifQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMzcKCS8vIHZlcmlmeUtleVJlZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICB2b3RlRmlyc3Q6IDEzMzcsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBrZXlyZWcKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGtleXJlZwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJrZXlyZWcifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHZvdGVGaXJzdAoJaW50IDAKCWd0eG5zIFZvdGVGaXJzdAoJaW50IDEzMzcKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ2b3RlRmlyc3QiLCJleHBlY3RlZCI6IjEzMzcifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1BsdXNFcXVhbHMoKXZvaWQKKmFiaV9yb3V0ZV9zdHJpbmdQbHVzRXF1YWxzOgoJLy8gZXhlY3V0ZSBzdHJpbmdQbHVzRXF1YWxzKCl2b2lkCgljYWxsc3ViIHN0cmluZ1BsdXNFcXVhbHMKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ1BsdXNFcXVhbHMoKTogdm9pZApzdHJpbmdQbHVzRXF1YWxzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI0MwoJLy8gcyA9ICdmb28nCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNDQKCS8vIHMgKz0gJ2JhcicKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNDUKCS8vIGFzc2VydChzID09PSAnZm9vYmFyJykKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZSAweDY2NmY2ZjYyNjE3MiAvLyAiZm9vYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXQoqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXQoJY2FsbHN1YiBpbXBvcnRlZFByb2dyYW0KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaW1wb3J0ZWRQcm9ncmFtKCk6IGJ5dGVzCmltcG9ydGVkUHJvZ3JhbToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQ5CgkvLyByZXR1cm4gSWZUZXN0LmFwcHJvdmFsUHJvZ3JhbSgpOwoJYnl0ZSBiNjQgQ2lBRUFRQUNJQ1lKQkJVZmZIVUNhV1lFWld4elpRTmxibVFBQTJadmJ3ZGxiSE5sSUdsbUNXVnNjMlVnYVdZZ01RbGxiSE5sSUdsbUlESXhHQlNCQmdzeEdRaU5EQU1rQUFBQUFBQUFBQUFBQUFNV0FBQUFBQUFBQUFBQUFBQW9OaG9CU1JVaUVrUWpVNGdBREVrVkZsY0dBa3hRVUxBaVE0b0JBWXYvUVFBQ0tZa3JpU2cyR2dGSkZTSVNSQ05UaUFBTVNSVVdWd1lDVEZCUXNDSkRpZ0VCaS85QkFBVXBpVUlBQWlxSmlTZzJHZ0pKRlNJU1JDTlROaG9CU1JVaUVrUWpVNGdBREVrVkZsY0dBa3hRVUxBaVE0b0NBWXYvUVFBRktZbENBQWlML2tFQUF5Y0dpU3VKS0RZYUFra1ZJaEpFSTFNMkdnRkpGU0lTUkNOVGlBQU1TUlVXVndZQ1RGQlFzQ0pEaWdJQmkvOUJBQVVwaVVJQURZditRUUFHSndhSlFnQUNLb21KS0RZYUEwa1ZJaEpFSTFNMkdnSkpGU0lTUkNOVE5ob0JTUlVpRWtRalU0Z0FERWtWRmxjR0FreFFVTEFpUTRvREFZdi9RUUFGS1lsQ0FCT0wva0VBQmljSGlVSUFDSXY5UVFBREp3aUpLNGtvTmhvRFNSVWlFa1FqVXpZYUFra1ZJaEpFSTFNMkdnRkpGU0lTUkNOVGlBQU1TUlVXVndZQ1RGQlFzQ0pEaWdNQmkvOUJBQVVwaVVJQUdJditRUUFHSndlSlFnQU5pLzFCQUFZbkNJbENBQUlxaVlrb05ob0NTUlVpRWtRalV6WWFBVWtWSWhKRUkxT0lBQXhKRlJaWEJnSk1VRkN3SWtPS0FnR0wvMEVBRm92K1FRQU1nQWx1WlhOMFpXUWdhV2FKS1lsQ0FBSXFpWWtvTmhvQlNSVWlFa1FqVTRnQURFa1ZGbGNHQWt4UVVMQWlRNG9CQVl2L1FRQUZLWWxDQUFJcWlZa29OaG9DU1JVaUVrUWpVellhQVVrVkloSkVJMU9JQUFVV1VMQWlRNG9DQVl2L1FRQUVJa0lBQzR2K1FRQUVKRUlBQW9FRGlTZzJHZ0ZYQWdDSUFBVVdVTEFpUTRvQkFZdi9Kd1NwUVFBQ0lva2tpU2cyR2dGWEFnQ0lBQVVXVUxBaVE0b0JBWXYvSndTcFFRQUVJa0lBQVNTSk5ob0JTUlVrRWtRWGlBQUNJa09LQVFDTC95Y0VxVUVBQXljRnNJazJHZ0pKRlNRU1JCYzJHZ0ZKRlNRU1JCZUlBQUlpUTRvQ0FJdi9pLzRPUVFBREp3V3dpVFlhQWtrVkpSSkVOaG9CU1JVbEVrU0lBQUlpUTRvQ0FJdi9pLzZtUVFBREp3V3dpU2cyR2dKSkZTSVNSQ05UTmhvQlNSVWlFa1FqVTRnQURFa1ZGbGNHQWt4UVVMQWlRNG9DQVl2L1FRQVppLzVCQUEyQUIyRWdZVzVrSUdLSlFnQUVnQUZoaVVJQUZvditRUUFIZ0FGaWlVSUFDb0FIYm1WcGRHaGxjb21KSWtPQUJMaEVlelkyR2dDT0FmL3hBSUFFUTI3QndvQUVISG9OWG9BRVhnKzJ6NEFFWGh4c1VJQUVXTkM2a29BRVhTOVBBb0FFaEZjcDJZQUVqK2RzcUlBRUdqeDRlSUFFZEx6SWFJQUVRaEw1QllBRWxkMnV2NEFFTVVlNFpvQUVRb2wvWVlBRVUwdml0ellhQUk0UC9HRDhodnl3L092OUt2MTYvYzcrRS80OS9uTCtrUDZ3L3MzKzgvOFhBQT09CglyZXRzdWIKCi8vIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCiphYmlfcm91dGVfY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXI6CgkvLyBleGVjdXRlIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCgljYWxsc3ViIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpOiB2b2lkCmNhbGxQcml2YXRlRGVmaW5lZExhdGVyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNTMKCS8vIGxvZyh0aGlzLnByaXZhdGVNZXRob2QoJ2hlbGxvJykpCglieXRlIDB4Njg2NTZjNmM2ZiAvLyAiaGVsbG8iCgljYWxsc3ViIHByaXZhdGVNZXRob2QKCWxvZwoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKG1zZzogc3RyaW5nKTogc3RyaW5nCnByaXZhdGVNZXRob2Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1NwoJLy8gcmV0dXJuIG1zZzsKCWZyYW1lX2RpZyAtMSAvLyBtc2c6IHN0cmluZwoJcmV0c3ViCgovLyBpbnRlcmFsUHVibGljTWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbnRlcmFsUHVibGljTWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGludGVyYWxQdWJsaWNNZXRob2QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBpbnRlcmFsUHVibGljTWV0aG9kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmludGVyYWxQdWJsaWNNZXRob2Q6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI2MQoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBjYWxsSW50ZXJuYWxQdWJsaWNNZXRob2QoKXZvaWQKKmFiaV9yb3V0ZV9jYWxsSW50ZXJuYWxQdWJsaWNNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZAoJY2FsbHN1YiBjYWxsSW50ZXJuYWxQdWJsaWNNZXRob2QKCWludCAxCglyZXR1cm4KCi8vIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpOiB2b2lkCmNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY1CgkvLyBhc3NlcnQodGhpcy5pbnRlcmFsUHVibGljTWV0aG9kKDEsIDIpID09PSAzKQoJaW50IDIKCWludCAxCgljYWxsc3ViIGludGVyYWxQdWJsaWNNZXRob2QKCWludCAzCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFwcExvYWRTY3JhdGNoKCl2b2lkCiphYmlfcm91dGVfYXBwTG9hZFNjcmF0Y2g6CgkvLyBleGVjdXRlIGFwcExvYWRTY3JhdGNoKCl2b2lkCgljYWxsc3ViIGFwcExvYWRTY3JhdGNoCglpbnQgMQoJcmV0dXJuCgovLyBhcHBMb2FkU2NyYXRjaCgpOiB2b2lkCmFwcExvYWRTY3JhdGNoOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNjkKCS8vIGxvZyh0aGlzLnR4bkdyb3VwWzFdLmxvYWRTY3JhdGNoKDIpIGFzIGJ5dGVzKQoJZ2xvYWQgMSAyCglsb2cKCXJldHN1YgoKLy8gdWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NgoqYWJpX3JvdXRlX3VpbnROV2l0aFVuZGVyc2NvcmU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NgoJY2FsbHN1YiB1aW50TldpdGhVbmRlcnNjb3JlCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1aW50TldpdGhVbmRlcnNjb3JlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludE5XaXRoVW5kZXJzY29yZSgpOiB1aW50MjU2CnVpbnROV2l0aFVuZGVyc2NvcmU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3MwoJLy8gcmV0dXJuIDx1aW50MjU2PjEyM180NTY7CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTI0MAoJcmV0c3ViCgovLyBvcFVwKCl2b2lkCiphYmlfcm91dGVfb3BVcDoKCS8vIGV4ZWN1dGUgb3BVcCgpdm9pZAoJY2FsbHN1YiBvcFVwCglpbnQgMQoJcmV0dXJuCgovLyBvcFVwKCk6IHZvaWQKb3BVcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3OAoJLy8gZm9yIChsZXQgaSA9IDE7IGkgPCA3NTsgaSArPSAxKQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjc4CgkvLyBpIDwgNzUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDc1Cgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzkKCS8vIGFzc2VydChpKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0Cglhc3NlcnQKCipmb3JfMF9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjc4CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJcmV0c3ViCgovLyByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpc3RyaW5nCiphYmlfcm91dGVfcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQoKXN0cmluZwoJY2FsbHN1YiByZXR1cm5WYWx1ZU9uQXNzaWdubWVudAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpOiBzdHJpbmcKcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjg0CgkvLyBtZXNzYWdlID0gJ2hpJwoJYnl0ZSAweDY4NjkgLy8gImhpIgoJZnJhbWVfYnVyeSAwIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLmFwcC5hZGRyZXNzCgl0eG4gU2VuZGVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NwoJLy8gbWVzc2FnZSA9ICdpbiBibG9jaycKCWJ5dGUgMHg2OTZlMjA2MjZjNmY2MzZiIC8vICJpbiBibG9jayIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTAKCS8vIHJldHVybiAobWVzc2FnZSA9ICdieWUnKTsKCWJ5dGUgMHg2Mjc5NjUgLy8gImJ5ZSIKCWR1cAoJZnJhbWVfYnVyeSAwIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9yZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTYKCS8vIHJldHVybiAoYVswXSA9IDQpOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJaW50IDAKCWludCA0CglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWxvYWQgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKCWNhbGxzdWIgcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCk6IHVpbnQ2NApyZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQ6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwMAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gMQoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJaW50IDEKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMDIKCS8vIHJldHVybiAodGhpcy5nS2V5LnZhbHVlID0gMik7CglieXRlIDB4Njc0YjY1NzkgLy8gImdLZXkiCglpbnQgMgoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJYXBwX2dsb2JhbF9wdXQKCWxvYWQgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCXJldHN1YgoKLy8gcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCl1aW50NjQKCWNhbGxzdWIgcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSgpOiB1aW50NjQKcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzA2CgkvLyBhID0gMQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwOAoJLy8gcmV0dXJuIChhICs9IDIpOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0CglpbnQgMgoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKTogdWludDY0CnJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTIKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTQKCS8vIHJldHVybiAoYVswXSArPSA0KTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWludCAwCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDAgOAoJYnRvaQoJaW50IDQKCSsKCWR1cAoJc3RvcmUgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKTogdWludDY0CnJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzE4CgkvLyB0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZSA9IFsxLCAyLCAzXQoJYnl0ZSAweDczNzQ2ZjcyNjE2NzY1NDE3MjcyNjE3OSAvLyAic3RvcmFnZUFycmF5IgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMAoJLy8gcmV0dXJuICh0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZVswXSArPSA0KTsKCWJ5dGUgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgLy8gInN0b3JhZ2VBcnJheSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMAoJYnl0ZSAweDczNzQ2ZjcyNjE2NzY1NDE3MjcyNjE3OSAvLyAic3RvcmFnZUFycmF5IgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgMCA4CglidG9pCglpbnQgNAoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJaXRvYgoJcmVwbGFjZTMKCWJ5dGUgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgLy8gInN0b3JhZ2VBcnJheSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglyZXRzdWIKCi8vIGNvbnN0cygpdm9pZAoqYWJpX3JvdXRlX2NvbnN0czoKCS8vIGV4ZWN1dGUgY29uc3RzKCl2b2lkCgljYWxsc3ViIGNvbnN0cwoJaW50IDEKCXJldHVybgoKLy8gY29uc3RzKCk6IHZvaWQKY29uc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMjQKCS8vIGFzc2VydChTVFJJTkdfQ09OU1QgPT09ICdmb28nKQoJYnl0ZSAiZm9vIgoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzI1CgkvLyBhc3NlcnQoTlVNX0NPTlNUID09PSAxMjMpCglpbnQgMTIzCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyNgoJLy8gYXNzZXJ0KE5FU1RFRF9DT05TVCA9PT0gMTIzKQoJaW50IDEyMwoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCiphYmlfcm91dGVfYXNzZXJ0V2l0aE1lc3NhZ2U6CgkvLyBleGVjdXRlIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCgljYWxsc3ViIGFzc2VydFdpdGhNZXNzYWdlCglpbnQgMQoJcmV0dXJuCgovLyBhc3NlcnRXaXRoTWVzc2FnZSgpOiB2b2lkCmFzc2VydFdpdGhNZXNzYWdlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzAKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50IDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gb3Bjb2RlQWxpYXNlcygpdm9pZAoqYWJpX3JvdXRlX29wY29kZUFsaWFzZXM6CgkvLyBleGVjdXRlIG9wY29kZUFsaWFzZXMoKXZvaWQKCWNhbGxzdWIgb3Bjb2RlQWxpYXNlcwoJaW50IDEKCXJldHVybgoKLy8gb3Bjb2RlQWxpYXNlcygpOiB2b2lkCm9wY29kZUFsaWFzZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNAoJLy8gZXh0cmFjdFVpbnQxNihiemVybyg2NCksIDApCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWludCAwCglleHRyYWN0X3VpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzM1CgkvLyBleHRyYWN0VWludDMyKGJ6ZXJvKDY0KSwgMCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJaW50IDAKCWV4dHJhY3RfdWludDMyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzYKCS8vIGV4dHJhY3RVaW50NjQoYnplcm8oNjQpLCAwKQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglpbnQgMAoJZXh0cmFjdF91aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNwoJLy8gZWQyNTUxOVZlcmlmeUJhcmUoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeV9iYXJlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzgKCS8vIGVkMjU1MTlWZXJpZnkoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeQoJcmV0c3ViCgovLyB2cmZWZXJpZnlPcCgpdm9pZAoqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wOgoJLy8gZXhlY3V0ZSB2cmZWZXJpZnlPcCgpdm9pZAoJY2FsbHN1YiB2cmZWZXJpZnlPcAoJaW50IDEKCXJldHVybgoKLy8gdnJmVmVyaWZ5T3AoKTogdm9pZAp2cmZWZXJpZnlPcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0MgoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQzCgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDQKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0NQoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQ2CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQ5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MgoJLy8gciA9IHZyZlZlZmlyeSgnVnJmQWxnb3JhbmQnLCBiemVybygzMikgYXMgYnl0ZXMsIGJ6ZXJvKDgwKSwgYnplcm8oMzIpKQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJdnJmX3ZlcmlmeSBWcmZBbGdvcmFuZAoJZnJhbWVfYnVyeSAwIC8vIHIgdmVyaWZpZWQ6IGJvb2wKCWZyYW1lX2J1cnkgMSAvLyByIG91dHB1dDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTMKCS8vIGFzc2VydCghci52ZXJpZmllZCkKCWZyYW1lX2RpZyAwIC8vIHIgdmVyaWZpZWQ6IGJvb2wKCSEKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU0CgkvLyBsb2coci5vdXRwdXQpCglmcmFtZV9kaWcgMSAvLyByIG91dHB1dDogYnl0ZVtdCglsb2cKCXJldHN1YgoKLy8gZWNNYXRoKCl2b2lkCiphYmlfcm91dGVfZWNNYXRoOgoJLy8gZXhlY3V0ZSBlY01hdGgoKXZvaWQKCWNhbGxzdWIgZWNNYXRoCglpbnQgMQoJcmV0dXJuCgovLyBlY01hdGgoKTogdm9pZAplY01hdGg6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU4CgkvLyBlY1NjYWxhck11bCgnQk4yNTRnMScsICcnLCAnJykKCWJ5dGUgMHggLy8gIiIKCWR1cAoJZWNfc2NhbGFyX211bCBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTkKCS8vIGVjUGFpcmluZ0NoZWNrKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZSAweCAvLyAiIgoJZHVwCgllY19wYWlyaW5nX2NoZWNrIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MAoJLy8gc2NhbGFyczogYnl0ZXMzMltdID0gW2J6ZXJvKDMyKSwgYnplcm8oMzIpXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglmcmFtZV9idXJ5IDAgLy8gc2NhbGFyczogYnl0ZXMzMltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjEKCS8vIGVjTXVsdGlTY2FsYXJNdWwoJ0JOMjU0ZzEnLCAnJywgc2NhbGFycykKCWJ5dGUgMHggLy8gIiIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyBzY2FsYXJzOiBieXRlczMyW10KCWVjX211bHRpX3NjYWxhcl9tdWwgQk4yNTRnMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzYyCgkvLyBlY1N1Ymdyb3VwQ2hlY2soJ0JOMjU0ZzEnLCAnJykKCWJ5dGUgMHggLy8gIiIKCWVjX3N1Ymdyb3VwX2NoZWNrIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MwoJLy8gZWNNYXBUbygnQk4yNTRnMScsICcnKQoJYnl0ZSAweCAvLyAiIgoJZWNfbWFwX3RvIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2NAoJLy8gZWNBZGQoJ0JOMjU0ZzEnLCAnJywgJycpCglieXRlIDB4IC8vICIiCglkdXAKCWVjX2FkZCBCTjI1NGcxCglyZXRzdWIKCi8vIGdpdHhuKCl2b2lkCiphYmlfcm91dGVfZ2l0eG46CgkvLyBleGVjdXRlIGdpdHhuKCl2b2lkCgljYWxsc3ViIGdpdHhuCglpbnQgMQoJcmV0dXJuCgovLyBnaXR4bigpOiB2b2lkCmdpdHhuOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2OAoJLy8gbG9nKHRoaXMubGFzdElubmVyR3JvdXBbMF0uc2VuZGVyKQoJZ2l0eG4gMCBTZW5kZXIKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcwCgkvLyBhbm90aGVyVHhuID0gdGhpcy5sYXN0SW5uZXJHcm91cFsxXQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhbm90aGVyVHhuOiBnaXR4bgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcyCgkvLyBsb2coYW5vdGhlclR4bi5zZW5kZXIpCglnaXR4biAxIFNlbmRlcgoJbG9nCglyZXRzdWIKCi8vIGdldFNldEJ5dGVzKCl2b2lkCiphYmlfcm91dGVfZ2V0U2V0Qnl0ZXM6CgkvLyBleGVjdXRlIGdldFNldEJ5dGVzKCl2b2lkCgljYWxsc3ViIGdldFNldEJ5dGVzCglpbnQgMQoJcmV0dXJuCgovLyBnZXRTZXRCeXRlcygpOiB2b2lkCmdldFNldEJ5dGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzYKCS8vIGxvZyhzZXRiaXQoJ2ZvbycsIDAsIHRydWUpKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAxCglzZXRiaXQKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzc3CgkvLyBnZXRiaXQoJ2ZvbycsIDApCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJZ2V0Yml0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzgKCS8vIGdldGJ5dGUoJ2ZvbycsIDApCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJZ2V0Ynl0ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzc5CgkvLyBzZXRieXRlKCdmb28nLCAwLCAxKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAxCglzZXRieXRlCglyZXRzdWIKCi8vIGdldFNldFVpbnQ2NCgpdm9pZAoqYWJpX3JvdXRlX2dldFNldFVpbnQ2NDoKCS8vIGV4ZWN1dGUgZ2V0U2V0VWludDY0KCl2b2lkCgljYWxsc3ViIGdldFNldFVpbnQ2NAoJaW50IDEKCXJldHVybgoKLy8gZ2V0U2V0VWludDY0KCk6IHZvaWQKZ2V0U2V0VWludDY0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODMKCS8vIGFzc2VydChzZXRiaXQoMTIzLCAwLCB0cnVlKSkKCWludCAxMjMKCWludCAwCglpbnQgMQoJc2V0Yml0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4NAoJLy8gZ2V0Yml0KDEyMywgMCkKCWludCAxMjMKCWludCAwCglnZXRiaXQKCXJldHN1YgoKLy8gYmxvY2tPcCgpdm9pZAoqYWJpX3JvdXRlX2Jsb2NrT3A6CgkvLyBleGVjdXRlIGJsb2NrT3AoKXZvaWQKCWNhbGxzdWIgYmxvY2tPcAoJaW50IDEKCXJldHVybgoKLy8gYmxvY2tPcCgpOiB2b2lkCmJsb2NrT3A6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4OAoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uc2VlZCkKCWdsb2JhbCBSb3VuZAoJaW50IDEKCS0KCWJsb2NrIEJsa1NlZWQKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzg5CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS50aW1lc3RhbXApCglnbG9iYWwgUm91bmQKCWludCAxCgktCglibG9jayBCbGtUaW1lc3RhbXAKCWFzc2VydAoJcmV0c3ViCgovLyBiNjQoKXZvaWQKKmFiaV9yb3V0ZV9iNjQ6CgkvLyBleGVjdXRlIGI2NCgpdm9pZAoJY2FsbHN1YiBiNjQKCWludCAxCglyZXR1cm4KCi8vIGI2NCgpOiB2b2lkCmI2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzkzCgkvLyBsb2coYmFzZTY0RGVjb2RlKCdTdGRFbmNvZGluZycsICcnKSkKCWJ5dGUgMHggLy8gIiIKCWJhc2U2NF9kZWNvZGUgU3RkRW5jb2RpbmcKCWxvZwoJcmV0c3ViCgovLyBqc29uKCl2b2lkCiphYmlfcm91dGVfanNvbjoKCS8vIGV4ZWN1dGUganNvbigpdm9pZAoJY2FsbHN1YiBqc29uCglpbnQgMQoJcmV0dXJuCgovLyBqc29uKCk6IHZvaWQKanNvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk3CgkvLyBsb2coanNvblJlZignSlNPTk9iamVjdCcsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05PYmplY3QKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk4CgkvLyBsb2coanNvblJlZignSlNPTlN0cmluZycsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05TdHJpbmcKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk5CgkvLyBhc3NlcnQoanNvblJlZignSlNPTlVpbnQ2NCcsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05VaW50NjQKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRsZW5PcCgpdm9pZAoqYWJpX3JvdXRlX2JpdGxlbk9wOgoJLy8gZXhlY3V0ZSBiaXRsZW5PcCgpdm9pZAoJY2FsbHN1YiBiaXRsZW5PcAoJaW50IDEKCXJldHVybgoKLy8gYml0bGVuT3AoKTogdm9pZApiaXRsZW5PcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDAzCgkvLyBiaXRsZW4oMTIzKQoJaW50IDEyMwoJYml0bGVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDQKCS8vIGJpdGxlbignZm9vJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJpdGxlbgoJcmV0c3ViCgovLyBjb21wdXRlZENvbnN0KCl2b2lkCiphYmlfcm91dGVfY29tcHV0ZWRDb25zdDoKCS8vIGV4ZWN1dGUgY29tcHV0ZWRDb25zdCgpdm9pZAoJY2FsbHN1YiBjb21wdXRlZENvbnN0CglpbnQgMQoJcmV0dXJuCgovLyBjb21wdXRlZENvbnN0KCk6IHZvaWQKY29tcHV0ZWRDb25zdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDA4CgkvLyBhc3NlcnQoQ09NUFVURURfQ09OU1QpCglpbnQgMjQ2Cglhc3NlcnQKCXJldHN1YgoKLy8gbXVsdGlDb21wdXRlZENvbnN0KCl2b2lkCiphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0OgoJLy8gZXhlY3V0ZSBtdWx0aUNvbXB1dGVkQ29uc3QoKXZvaWQKCWNhbGxzdWIgbXVsdGlDb21wdXRlZENvbnN0CglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aUNvbXB1dGVkQ29uc3QoKTogdm9pZAptdWx0aUNvbXB1dGVkQ29uc3Q6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxMgoJLy8gYXNzZXJ0KE1VVExJX0NPTVBVVEVEX0NPTlNUKQoJaW50IDMwMzgxCglhc3NlcnQKCXJldHN1YgoKLy8gcmVhZFNjaGVtYSgpdm9pZAoqYWJpX3JvdXRlX3JlYWRTY2hlbWE6CgkvLyBleGVjdXRlIHJlYWRTY2hlbWEoKXZvaWQKCWNhbGxzdWIgcmVhZFNjaGVtYQoJaW50IDEKCXJldHVybgoKLy8gcmVhZFNjaGVtYSgpOiB2b2lkCnJlYWRTY2hlbWE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNgoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCA9PT0gMSkKCWludCAxCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNwoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlID09PSAyKQoJaW50IDIKCWR1cAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDE4CgkvLyBhc3NlcnQoU2NoZW1hQ29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQgPT09IDMpCglpbnQgMwoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MTkKCS8vIGFzc2VydChTY2hlbWFDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlID09PSA0KQoJaW50IDQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBjb21wYXJpc29uT3IoKWJvb2wKKmFiaV9yb3V0ZV9jb21wYXJpc29uT3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29tcGFyaXNvbk9yKClib29sCgljYWxsc3ViIGNvbXBhcmlzb25PcgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjb21wYXJpc29uT3IoKTogYm9vbGVhbgpjb21wYXJpc29uT3I6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyMwoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlciA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzcyB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IGdsb2JhbHMuemVyb0FkZHJlc3M7Cgl0eG4gU2VuZGVyCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCXx8Cgoqc2tpcF9vcjA6CglyZXRzdWIKCi8vIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKKmFiaV9yb3V0ZV90eG5BcmdzTWV0aG9kOgoJLy8gX3BheTE6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKF9wYXkxKSBmb3IgdHhuQXJnc01ldGhvZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKCWNhbGxzdWIgdHhuQXJnc01ldGhvZAoJaW50IDEKCXJldHVybgoKLy8gdHhuQXJnc01ldGhvZChfcGF5MTogUGF5VHhuKTogdm9pZAp0eG5BcmdzTWV0aG9kOgoJcHJvdG8gMSAwCglyZXRzdWIKCi8vIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCiphYmlfcm91dGVfY2FsbFR4bkFyZ3NNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxUeG5BcmdzTWV0aG9kCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsVHhuQXJnc01ldGhvZCgpOiB2b2lkCmNhbGxUeG5BcmdzTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzAKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBHZW5lcmFsVGVzdC5wcm90b3R5cGUudHhuQXJnc01ldGhvZD4oewoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMCB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDMxCgkvLyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQzMQoJLy8gYW1vdW50OiAwCglpbnQgMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAidHhuQXJnc01ldGhvZChwYXkpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzEKCS8vIG1ldGhvZEFyZ3M6IFt7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IDAgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkCiphYmlfcm91dGVfc3RhdGljVmFsdWVMZW46CgkvLyB4OiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBzdGF0aWNWYWx1ZUxlbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNWYWx1ZUxlbih1aW50MjU2KXZvaWQKCWNhbGxzdWIgc3RhdGljVmFsdWVMZW4KCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY1ZhbHVlTGVuKHg6IHVpbnQyNTYpOiB2b2lkCnN0YXRpY1ZhbHVlTGVuOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzYKCS8vIGFzc2VydChsZW4oeCkpCglpbnQgMzIKCWFzc2VydAoJcmV0c3ViCgovLyBzdGF0aWNUeXBlTGVuKCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUxlbjoKCS8vIGV4ZWN1dGUgc3RhdGljVHlwZUxlbigpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlTGVuCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlTGVuKCk6IHZvaWQKc3RhdGljVHlwZUxlbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQwCgkvLyBhc3NlcnQobGVuPHVpbnQyNTY+KCkpCglpbnQgMzIKCWFzc2VydAoJcmV0c3ViCgovLyBkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9keW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGR5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBkeW5hbWljU2NyYXRjaFNsb3QKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmR5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQ0CgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDEpLnZhbHVlID0gMTMzNwoJaW50IDEKCWludCAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ0NQoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMSkudmFsdWUgPT09IDEzMzcpCglpbnQgMQoJbG9hZHMKCWludCAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfaW5jcmVtZW50U2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudFNjcmF0Y2hTbG90CglpbnQgMQoJcmV0dXJuCgovLyBpbmNyZW1lbnRTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudFNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NDkKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludCAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTAKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSArPSAxCglsb2FkIDAKCWludCAxCgkrCglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTEKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzgpCglsb2FkIDAKCWludCAxMzM4Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoqYWJpX3JvdXRlX2luY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdDoKCS8vIGV4ZWN1dGUgaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdAoJaW50IDEKCXJldHVybgoKLy8gaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90KCk6IHZvaWQKaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTUKCS8vIHRoaXMuZHluYW1pY1NjcmF0Y2goMikudmFsdWUgPSAxMzM3CglpbnQgMgoJaW50IDEzMzcKCXN0b3JlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDU2CgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlICs9IDEKCWludCAyCglsb2FkcwoJaW50IDEKCSsKCWludCAyCglzd2FwCglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ1NwoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMikudmFsdWUgPT09IDEzMzgpCglpbnQgMgoJbG9hZHMKCWludCAxMzM4Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGZyb21BZGRyZXNzKCl2b2lkCiphYmlfcm91dGVfZnJvbUFkZHJlc3M6CgkvLyBleGVjdXRlIGZyb21BZGRyZXNzKCl2b2lkCgljYWxsc3ViIGZyb21BZGRyZXNzCglpbnQgMQoJcmV0dXJuCgovLyBmcm9tQWRkcmVzcygpOiB2b2lkCmZyb21BZGRyZXNzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2MQoJLy8gYSA9IEFkZHJlc3MuZnJvbUFkZHJlc3MoJ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFZNUhGS1EnKQoJYWRkciBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWTVIRktRCglmcmFtZV9idXJ5IDAgLy8gYTogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDYyCgkvLyBhc3NlcnQoYSA9PT0gQWRkcmVzcy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAwIC8vIGE6IGFkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBlYXJseVJldHVybih1aW50NjQpdWludDY0CiphYmlfcm91dGVfZWFybHlSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZWFybHlSZXR1cm4odWludDY0KXVpbnQ2NAoJY2FsbHN1YiBlYXJseVJldHVybgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGVhcmx5UmV0dXJuKGE6IHVpbnQ2NCk6IHVpbnQ2NAplYXJseVJldHVybjoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY2CgkvLyBhID09PSAxCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpbnQgMQoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2NwoJLy8gcmV0dXJuIDI7CglpbnQgMgoJYiAqZWFybHlSZXR1cm4qcmV0dXJuCgoqaWYxX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY5CgkvLyBiID0gYSArIDEKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzAKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIDAgLy8gYjogdWludDY0CgoqZWFybHlSZXR1cm4qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGFzc2V0TWV0aG9kQXJncygpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJnczoKCS8vIGV4ZWN1dGUgYXNzZXRNZXRob2RBcmdzKCl2b2lkCgljYWxsc3ViIGFzc2V0TWV0aG9kQXJncwoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRNZXRob2RBcmdzKCk6IHZvaWQKYXNzZXRNZXRob2RBcmdzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzQKCS8vIHNlbmRNZXRob2RDYWxsPFtBc3NldFJlZmVyZW5jZV0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW0Fzc2V0SUQuZnJvbVVpbnQ2NCgxKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImZvbyhhc3NldCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NgoJLy8gbWV0aG9kQXJnczogW0Fzc2V0SUQuZnJvbVVpbnQ2NCgxKV0KCWludCAxCglpdHhuX2ZpZWxkIEFzc2V0cwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtdWx0aXBsZVByb2dyYW1QYWdlcygpdm9pZAoqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzOgoJLy8gZXhlY3V0ZSBtdWx0aXBsZVByb2dyYW1QYWdlcygpdm9pZAoJY2FsbHN1YiBtdWx0aXBsZVByb2dyYW1QYWdlcwoJaW50IDEKCXJldHVybgoKLy8gbXVsdGlwbGVQcm9ncmFtUGFnZXMoKTogdm9pZAptdWx0aXBsZVByb2dyYW1QYWdlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDg1CgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0sCgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogW3RoaXMucGFnZU9uZS52YWx1ZSwgdGhpcy5wYWdlVHdvLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ4NgoJLy8gYXBwcm92YWxQcm9ncmFtOiBbdGhpcy5wYWdlT25lLnZhbHVlLCB0aGlzLnBhZ2VUd28udmFsdWVdCglieXRlIDB4NzA2MTY3NjU0ZjZlNjUgLy8gInBhZ2VPbmUiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBhZ2VPbmUudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZSAweDcwNjE2NzY1NTQ3NzZmIC8vICJwYWdlVHdvIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlVHdvLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ4NwoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0KCWJ5dGUgMHg3MDYxNjc2NTRmNmU2NSAvLyAicGFnZU9uZSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZU9uZS52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtUGFnZXMKCWJ5dGUgMHg3MDYxNjc2NTU0Nzc2ZiAvLyAicGFnZVR3byIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZVR3by52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtUGFnZXMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFzc2VydENvbW1lbnQoKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRDb21tZW50OgoJLy8gZXhlY3V0ZSBhc3NlcnRDb21tZW50KCl2b2lkCgljYWxsc3ViIGFzc2VydENvbW1lbnQKCWludCAxCglyZXR1cm4KCi8vIGFzc2VydENvbW1lbnQoKTogdm9pZAphc3NlcnRDb21tZW50OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0OTIKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50IDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gdGhyb3dFcnJvck1lc3NhZ2UoKXZvaWQKKmFiaV9yb3V0ZV90aHJvd0Vycm9yTWVzc2FnZToKCS8vIGV4ZWN1dGUgdGhyb3dFcnJvck1lc3NhZ2UoKXZvaWQKCWNhbGxzdWIgdGhyb3dFcnJvck1lc3NhZ2UKCWludCAxCglyZXR1cm4KCi8vIHRocm93RXJyb3JNZXNzYWdlKCk6IHZvaWQKdGhyb3dFcnJvck1lc3NhZ2U6Cglwcm90byAwIDAKCgkvLyB0aGlzIGlzIGFuIGVycm9yCgllcnIKCXJldHN1YgoKLy8gb3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vckxpdGVyYWxUeXBlOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvckxpdGVyYWxUeXBlKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBvckxpdGVyYWxUeXBlCglpbnQgMQoJcmV0dXJuCgovLyBvckxpdGVyYWxUeXBlKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApvckxpdGVyYWxUeXBlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAwCgkvLyBmb28gPSBhICYmIGIgPT09IDEgPyAyIDogMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpbnQgMQoJPT0KCSYmCgoqc2tpcF9hbmQwOgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnQgMgoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnQgMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMCAvLyBmb286IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAxCgkvLyBhc3NlcnQoZm9vKQoJZnJhbWVfZGlnIDAgLy8gZm9vOiB1aW50NjQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAzCgkvLyBiYXIgPSBhICYmIGIgPT09IDAgPyAnMicgOiAnMCcKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJaW50IDAKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJYnl0ZSAweDMyIC8vICIyIgoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglieXRlIDB4MzAgLy8gIjAiCgoqdGVybmFyeTFfZW5kOgoJZnJhbWVfYnVyeSAxIC8vIGJhcjogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDQKCS8vIGxvZyhiYXIpCglmcmFtZV9kaWcgMSAvLyBiYXI6IGJ5dGVbXQoJbG9nCglyZXRzdWIKCi8vIG5vbkFiaSgpOiB2b2lkCm5vbkFiaToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDkKCS8vIGFzc2VydCh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhLmxlbmd0aCkKCXR4biBOdW1BcHBBcmdzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhLmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipmb3JfMToKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTExCgkvLyBpIDwgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJdHhuIE51bUFwcEFyZ3MKCTwKCWJ6ICpmb3JfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMgoJLy8gbG9nKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbaV0pCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXR4bmFzIEFwcGxpY2F0aW9uQXJncwoJbG9nCgoqZm9yXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCXJldHN1YgoKLy8gbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCl2b2lkCiphYmlfcm91dGVfbXVsdGlsaW5lRnVuY3Rpb25DYWxsOgoJLy8gZXhlY3V0ZSBtdWx0aWxpbmVGdW5jdGlvbkNhbGwoKXZvaWQKCWNhbGxzdWIgbXVsdGlsaW5lRnVuY3Rpb25DYWxsCglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aWxpbmVGdW5jdGlvbkNhbGwoKTogdm9pZAptdWx0aWxpbmVGdW5jdGlvbkNhbGw6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTcKCS8vIGFwcCA9IEFwcElELnplcm9JbmRleAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBhcHA6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTE4CgkvLyBhZGRyID0gQWRkcmVzcy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9idXJ5IDEgLy8gYWRkcjogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTIwCgkvLyBhcHAubG9jYWxTdGF0ZSgKCS8vICAgICAgIGFkZHIsCgkvLyAgICAgICAna2V5JwoJLy8gICAgICkKCWZyYW1lX2RpZyAxIC8vIGFkZHI6IGFkZHJlc3MKCWludCAwIC8vIGFwcDogdWludDY0CglieXRlIDB4NmI2NTc5IC8vICJrZXkiCglhcHBfbG9jYWxfZ2V0X2V4CgoJLy8gbG9jYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IGFwcC5sb2NhbFN0YXRlKCBhZGRyLCAna2V5JyApCglhc3NlcnQKCXJldHN1YgoKLy8gYSgpdWludDY0CiphYmlfcm91dGVfYToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhKCl1aW50NjQKCWNhbGxzdWIgYQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGEoKTogdWludDY0CmE6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyNwoJLy8gcmV0dXJuIDM7CglpbnQgMwoJcmV0c3ViCgovLyBiKCl1aW50NjQKKmFiaV9yb3V0ZV9iOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGIoKXVpbnQ2NAoJY2FsbHN1YiBiCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYigpOiB1aW50NjQKYjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTMxCgkvLyByZXR1cm4gNTsKCWludCA1CglyZXRzdWIKCi8vIHVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQKKmFiaV9yb3V0ZV91bnVzZWRNZXRob2RWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1bnVzZWRNZXRob2RWYWx1ZSgpdWludDY0CgljYWxsc3ViIHVudXNlZE1ldGhvZFZhbHVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdW51c2VkTWV0aG9kVmFsdWUoKTogdWludDY0CnVudXNlZE1ldGhvZFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MzUKCS8vIHRoaXMuYSgpCgljYWxsc3ViIGEKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTM2CgkvLyByZXR1cm4gdGhpcy5iKCk7CgljYWxsc3ViIGIKCXJldHN1YgoKLy8gcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCl1aW50NjQKKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCl1aW50NjQKCWNhbGxzdWIgcmVhc3NpZ25lZE5vbkZpcnN0VmFyCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCk6IHVpbnQ2NApyZWFzc2lnbmVkTm9uRmlyc3RWYXI6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NDcKCS8vIGEgPSAxIGFzIHVpbnQ2NAoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU0OAoJLy8gYiA9IHRoaXMuYXBwLmlkCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglmcmFtZV9idXJ5IDEgLy8gYjogdWludDY0CgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTQ5CgkvLyBhCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjQKCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1MAoJLy8gYiA9IDIKCWludCAyCglmcmFtZV9idXJ5IDEgLy8gYjogdWludDY0CgoqaWYyX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTUzCgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAxIC8vIGI6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZnZMdigpdm9pZAoqYWJpX3JvdXRlX2Z2THY6CgkvLyBleGVjdXRlIGZ2THYoKXZvaWQKCWNhbGxzdWIgZnZMdgoJaW50IDEKCXJldHVybgoKLy8gZnZMdigpOiB2b2lkCmZ2THY6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1NwoJLy8gYXNzZXJ0KHRoaXMudHhuLmZpcnN0VmFsaWQpCgl0eG4gRmlyc3RWYWxpZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NTgKCS8vIGFzc2VydCh0aGlzLnR4bi5sYXN0VmFsaWQpCgl0eG4gTGFzdFZhbGlkCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR4blR5cGVFbnVtKCl2b2lkIgoJbWV0aG9kICJ0eG5Hcm91cExlbmd0aCgpdm9pZCIKCW1ldGhvZCAiYXNzZXJ0cyhib29sLGJvb2wpdm9pZCIKCW1ldGhvZCAidmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZCIKCW1ldGhvZCAidmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQiCgltZXRob2QgInZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQiCgltZXRob2QgInZlcmlmeVR4bk5vdEluY2x1ZGVkSW4oKXZvaWQiCgltZXRob2QgInN1Ym1pdFBlbmRpbmdHcm91cCgpdm9pZCIKCW1ldGhvZCAibWV0aG9kV2l0aFR4bkFyZ3MoKXZvaWQiCgltZXRob2QgInNoaWZ0KCl2b2lkIgoJbWV0aG9kICJmcm9tQnl0ZXMoKXZvaWQiCgltZXRob2QgImZyb21VaW50NjQoKXZvaWQiCgltZXRob2QgImJ6ZXJvRnVuY3Rpb24oKXZvaWQiCgltZXRob2QgImV2ZW50cygpdm9pZCIKCW1ldGhvZCAibGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdIgoJbWV0aG9kICJzdGF0aWNDb250cmFjdFByb3BlcnRpZXMoKXZvaWQiCgltZXRob2QgIm51bWJlclRvU3RyaW5nKCl2b2lkIgoJbWV0aG9kICJtZXRob2RPblBhcmVucygpdm9pZCIKCW1ldGhvZCAic3RyaW5nU3Vic3RyaW5nKCl2b2lkIgoJbWV0aG9kICJpZFByb3BlcnR5KCl2b2lkIgoJbWV0aG9kICJzY3JhdGNoU2xvdCgpdm9pZCIKCW1ldGhvZCAiZWNkc2EoKXZvaWQiCgltZXRob2QgInZlcmlmeVR4blR5cGVzKCl2b2lkIgoJbWV0aG9kICJzdHJpbmdQbHVzRXF1YWxzKCl2b2lkIgoJbWV0aG9kICJpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXSIKCW1ldGhvZCAiY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXIoKXZvaWQiCgltZXRob2QgImludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZCIKCW1ldGhvZCAiYXBwTG9hZFNjcmF0Y2goKXZvaWQiCgltZXRob2QgInVpbnROV2l0aFVuZGVyc2NvcmUoKXVpbnQyNTYiCgltZXRob2QgIm9wVXAoKXZvaWQiCgltZXRob2QgInJldHVyblZhbHVlT25Bc3NpZ25tZW50KClzdHJpbmciCgltZXRob2QgInJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NCIKCW1ldGhvZCAicmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQiCgltZXRob2QgInJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCl1aW50NjQiCgltZXRob2QgInJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0IgoJbWV0aG9kICJyZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NCIKCW1ldGhvZCAiY29uc3RzKCl2b2lkIgoJbWV0aG9kICJhc3NlcnRXaXRoTWVzc2FnZSgpdm9pZCIKCW1ldGhvZCAib3Bjb2RlQWxpYXNlcygpdm9pZCIKCW1ldGhvZCAidnJmVmVyaWZ5T3AoKXZvaWQiCgltZXRob2QgImVjTWF0aCgpdm9pZCIKCW1ldGhvZCAiZ2l0eG4oKXZvaWQiCgltZXRob2QgImdldFNldEJ5dGVzKCl2b2lkIgoJbWV0aG9kICJnZXRTZXRVaW50NjQoKXZvaWQiCgltZXRob2QgImJsb2NrT3AoKXZvaWQiCgltZXRob2QgImI2NCgpdm9pZCIKCW1ldGhvZCAianNvbigpdm9pZCIKCW1ldGhvZCAiYml0bGVuT3AoKXZvaWQiCgltZXRob2QgImNvbXB1dGVkQ29uc3QoKXZvaWQiCgltZXRob2QgIm11bHRpQ29tcHV0ZWRDb25zdCgpdm9pZCIKCW1ldGhvZCAicmVhZFNjaGVtYSgpdm9pZCIKCW1ldGhvZCAiY29tcGFyaXNvbk9yKClib29sIgoJbWV0aG9kICJ0eG5BcmdzTWV0aG9kKHBheSl2b2lkIgoJbWV0aG9kICJjYWxsVHhuQXJnc01ldGhvZCgpdm9pZCIKCW1ldGhvZCAic3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkIgoJbWV0aG9kICJzdGF0aWNUeXBlTGVuKCl2b2lkIgoJbWV0aG9kICJkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCgltZXRob2QgImluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkIgoJbWV0aG9kICJpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCgltZXRob2QgImZyb21BZGRyZXNzKCl2b2lkIgoJbWV0aG9kICJlYXJseVJldHVybih1aW50NjQpdWludDY0IgoJbWV0aG9kICJhc3NldE1ldGhvZEFyZ3MoKXZvaWQiCgltZXRob2QgIm11bHRpcGxlUHJvZ3JhbVBhZ2VzKCl2b2lkIgoJbWV0aG9kICJhc3NlcnRDb21tZW50KCl2b2lkIgoJbWV0aG9kICJ0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZCIKCW1ldGhvZCAib3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgIm11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZCIKCW1ldGhvZCAiYSgpdWludDY0IgoJbWV0aG9kICJiKCl1aW50NjQiCgltZXRob2QgInVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQiCgltZXRob2QgInJlYXNzaWduZWROb25GaXJzdFZhcigpdWludDY0IgoJbWV0aG9kICJmdkx2KCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlRW51bSAqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoICphYmlfcm91dGVfYXNzZXJ0cyAqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21BcmcgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Gcm9tVHhuR3JvdXAgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb24gKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluICphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbiAqYWJpX3JvdXRlX3N1Ym1pdFBlbmRpbmdHcm91cCAqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzICphYmlfcm91dGVfc2hpZnQgKmFiaV9yb3V0ZV9mcm9tQnl0ZXMgKmFiaV9yb3V0ZV9mcm9tVWludDY0ICphYmlfcm91dGVfYnplcm9GdW5jdGlvbiAqYWJpX3JvdXRlX2V2ZW50cyAqYWJpX3JvdXRlX2xldE9wdGltaXphdGlvbiAqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllcyAqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nICphYmlfcm91dGVfbWV0aG9kT25QYXJlbnMgKmFiaV9yb3V0ZV9zdHJpbmdTdWJzdHJpbmcgKmFiaV9yb3V0ZV9pZFByb3BlcnR5ICphYmlfcm91dGVfc2NyYXRjaFNsb3QgKmFiaV9yb3V0ZV9lY2RzYSAqYWJpX3JvdXRlX3ZlcmlmeVR4blR5cGVzICphYmlfcm91dGVfc3RyaW5nUGx1c0VxdWFscyAqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbSAqYWJpX3JvdXRlX2NhbGxQcml2YXRlRGVmaW5lZExhdGVyICphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2FwcExvYWRTY3JhdGNoICphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZSAqYWJpX3JvdXRlX29wVXAgKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX2NvbnN0cyAqYWJpX3JvdXRlX2Fzc2VydFdpdGhNZXNzYWdlICphYmlfcm91dGVfb3Bjb2RlQWxpYXNlcyAqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wICphYmlfcm91dGVfZWNNYXRoICphYmlfcm91dGVfZ2l0eG4gKmFiaV9yb3V0ZV9nZXRTZXRCeXRlcyAqYWJpX3JvdXRlX2dldFNldFVpbnQ2NCAqYWJpX3JvdXRlX2Jsb2NrT3AgKmFiaV9yb3V0ZV9iNjQgKmFiaV9yb3V0ZV9qc29uICphYmlfcm91dGVfYml0bGVuT3AgKmFiaV9yb3V0ZV9jb21wdXRlZENvbnN0ICphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0ICphYmlfcm91dGVfcmVhZFNjaGVtYSAqYWJpX3JvdXRlX2NvbXBhcmlzb25PciAqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2QgKmFiaV9yb3V0ZV9jYWxsVHhuQXJnc01ldGhvZCAqYWJpX3JvdXRlX3N0YXRpY1ZhbHVlTGVuICphYmlfcm91dGVfc3RhdGljVHlwZUxlbiAqYWJpX3JvdXRlX2R5bmFtaWNTY3JhdGNoU2xvdCAqYWJpX3JvdXRlX2luY3JlbWVudFNjcmF0Y2hTbG90ICphYmlfcm91dGVfaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90ICphYmlfcm91dGVfZnJvbUFkZHJlc3MgKmFiaV9yb3V0ZV9lYXJseVJldHVybiAqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJncyAqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzICphYmlfcm91dGVfYXNzZXJ0Q29tbWVudCAqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlICphYmlfcm91dGVfb3JMaXRlcmFsVHlwZSAqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfdW51c2VkTWV0aG9kVmFsdWUgKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXIgKmFiaV9yb3V0ZV9mdkx2CgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpCglpbnQgMQoJcmV0dXJuCgoqaW50VG9Bc2NpaToKCXByb3RvIDEgMQoJYnl0ZSAweDMwMzEzMjMzMzQzNTM2MzczODM5IC8vICIwMTIzNDU2Nzg5IgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEKCWV4dHJhY3QzCglyZXRzdWIKCQoKKml0b2E6Cglwcm90byAxIDEKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludCAwCgk9PQoJYnogKml0b2FfaWZfZW5kCglieXRlIDB4MzAKCXJldHN1YgoKKml0b2FfaWZfZW5kOgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgkvCglpbnQgMAoJPgoJYnogKml0b2FfdGVybmFyeV9mYWxzZQoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgkvCgljYWxsc3ViICppdG9hCgliICppdG9hX3Rlcm5hcnlfZW5kCgoqaXRvYV90ZXJuYXJ5X2ZhbHNlOgoJYnl0ZSAweCAvLyAiIgoKKml0b2FfdGVybmFyeV9lbmQ6CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMTAKCSUKCWNhbGxzdWIgKmludFRvQXNjaWkKCWNvbmNhdAoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gISEhISBXQVJOSU5HOiBUaGlzIGNvbnRyYWN0IGlzICpOT1QqIEFSQzQgY29tcGxpYW50LiBJdCBtYXkgY29udGFpbiBBQkkgbWV0aG9kcywgYnV0IGl0IGFsc28gYWxsb3dzIGFwcCBjYWxscyB3aGVyZSB0aGUgZmlyc3QgYXJndW1lbnQgZG9lcyBOT1QgbWF0Y2ggYW4gQUJJIHNlbGVjdG9yCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eG5UeXBlRW51bSgpdm9pZAoqYWJpX3JvdXRlX3R4blR5cGVFbnVtOgoJLy8gZXhlY3V0ZSB0eG5UeXBlRW51bSgpdm9pZAoJY2FsbHN1YiB0eG5UeXBlRW51bQoJaW50IDEKCXJldHVybgoKLy8gdHhuVHlwZUVudW0oKTogdm9pZAp0eG5UeXBlRW51bToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NjEKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwWzBdLnR5cGVFbnVtID09PSBUcmFuc2FjdGlvblR5cGUuQXBwbGljYXRpb25DYWxsKQoJaW50IDAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXBwbAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyB0eG5Hcm91cExlbmd0aCgpdm9pZAoqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoOgoJLy8gZXhlY3V0ZSB0eG5Hcm91cExlbmd0aCgpdm9pZAoJY2FsbHN1YiB0eG5Hcm91cExlbmd0aAoJaW50IDEKCXJldHVybgoKLy8gdHhuR3JvdXBMZW5ndGgoKTogdm9pZAp0eG5Hcm91cExlbmd0aDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NjUKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwLmxlbmd0aCA9PT0gMSkKCWdsb2JhbCBHcm91cFNpemUKCWludCAxCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydHMoYm9vbCxib29sKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRzOgoJLy8gYXJnMjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzIpIGZvciBhc3NlcnRzIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMSkgZm9yIGFzc2VydHMgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgYXNzZXJ0cyhib29sLGJvb2wpdm9pZAoJY2FsbHN1YiBhc3NlcnRzCglpbnQgMQoJcmV0dXJuCgovLyBhc3NlcnRzKGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiB2b2lkCmFzc2VydHM6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjY5CgkvLyBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglmcmFtZV9kaWcgLTEgLy8gYXJnMTogYm9vbGVhbgoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoYXJnMSwgYXJnMiwgYXJnMSA9PT0gYXJnMikKCWFzc2VydAoJZnJhbWVfZGlnIC0xIC8vIGFyZzE6IGJvb2xlYW4KCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgk9PQoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21Bcmc6CgkvLyBzb21lUGF5OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChzb21lUGF5KSBmb3IgdmVyaWZ5VHhuRnJvbUFyZyBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHZlcmlmeVR4bkZyb21BcmcocGF5KXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuRnJvbUFyZwoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhzb21lUGF5OiBQYXlUeG4pOiB2b2lkCnZlcmlmeVR4bkZyb21Bcmc6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjczCgkvLyB2ZXJpZnlUeG4oc29tZVBheSwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiAxMDBfMDAwIH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzb21lUGF5OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNvbWVQYXkiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzb21lUGF5OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaW50IDEwMF8wMDAKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzb21lUGF5IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6IjEwMF8wMDAifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHZlcmlmeVR4bkZyb21UeG5Hcm91cCgpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21UeG5Hcm91cDoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkZyb21UeG5Hcm91cAoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCk6IHZvaWQKdmVyaWZ5VHhuRnJvbVR4bkdyb3VwOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo3NwoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuR3JvdXBbMF0sIHsgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWludCAwCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuQ29uZGl0aW9uKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuQ29uZGl0aW9uOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuQ29uZGl0aW9uCglpbnQgMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Db25kaXRpb24oKTogdm9pZAp2ZXJpZnlUeG5Db25kaXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjgxCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHsgZ3JlYXRlclRoYW46IDEgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFwcGxpY2F0aW9uSUQKCXR4biBBcHBsaWNhdGlvbklECglpbnQgMQoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6ImFwcGxpY2F0aW9uSUQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjEifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5JbmNsdWRlZEluKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkluY2x1ZGVkSW4KCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkluY2x1ZGVkSW4oKTogdm9pZAp2ZXJpZnlUeG5JbmNsdWRlZEluOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo4NwoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7CgkvLyAgICAgICBzZW5kZXI6IHsgaW5jbHVkZWRJbjogW3RoaXMudHhuLnNlbmRlcl0gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6eyJ0eG5UZXh0IjoidGhpcy50eG4ifSwiZmllbGQiOiJzZW5kZXIiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbdGhpcy50eG4uc2VuZGVyXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bk5vdEluY2x1ZGVkSW46CgkvLyBleGVjdXRlIHZlcmlmeVR4bk5vdEluY2x1ZGVkSW4oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuTm90SW5jbHVkZWRJbgoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpOiB2b2lkCnZlcmlmeVR4bk5vdEluY2x1ZGVkSW46Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjkzCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBub3RJbmNsdWRlZEluOiBbZ2xvYmFscy56ZXJvQWRkcmVzc10gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6Im5vdEluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IltnbG9iYWxzLnplcm9BZGRyZXNzXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkCiphYmlfcm91dGVfc3VibWl0UGVuZGluZ0dyb3VwOgoJLy8gZXhlY3V0ZSBzdWJtaXRQZW5kaW5nR3JvdXAoKXZvaWQKCWNhbGxzdWIgc3VibWl0UGVuZGluZ0dyb3VwCglpbnQgMQoJcmV0dXJuCgovLyBzdWJtaXRQZW5kaW5nR3JvdXAoKTogdm9pZApzdWJtaXRQZW5kaW5nR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjk5CgkvLyB0aGlzLnBlbmRpbmdHcm91cC5hZGRQYXltZW50KHsgYW1vdW50OiAwLCByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgaXNGaXJzdFR4bjogdHJ1ZSB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6OTkKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo5OQoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIHRoaXMucGVuZGluZ0dyb3VwLmFkZFBheW1lbnQoeyBhbW91bnQ6IDAsIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBub3RlOiAnZm9vJyB9KQoJaXR4bl9uZXh0CglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTAwCgkvLyBub3RlOiAnZm9vJwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDEKCS8vIHRoaXMucGVuZGluZ0dyb3VwLnN1Ym1pdCgpCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzOgoJLy8gZXhlY3V0ZSBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoJY2FsbHN1YiBtZXRob2RXaXRoVHhuQXJncwoJaW50IDEKCXJldHVybgoKLy8gbWV0aG9kV2l0aFR4bkFyZ3MoKTogdm9pZAptZXRob2RXaXRoVHhuQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTA1CgkvLyBzZW5kTWV0aG9kQ2FsbDxbUGF5VHhuLCBNZXRob2RDYWxsPFt1aW50NjRdLCB2b2lkPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogWwoJLy8gICAgICAgICB7IGFtb3VudDogMTAwXzAwMCwgcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlciB9LAoJLy8gICAgICAgICB7CgkvLyAgICAgICAgICAgbmFtZTogJ2JhcicsCgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbMV0sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIGFtb3VudDogMTAwXzAwMAoJaW50IDEwMF8wMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiYmFyKHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExMQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KQoJaW50IDEzMzcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTEyCgkvLyBtZXRob2RBcmdzOiBbMV0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJmb28ocGF5LGFwcGwpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBhbW91bnQ6IDEwMF8wMDAsIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIgfSwKCS8vICAgICAgICAgewoJLy8gICAgICAgICAgIG5hbWU6ICdiYXInLAoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQoMTMzNyksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogWzFdLAoJLy8gICAgICAgICB9LAoJLy8gICAgICAgXQoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBzaGlmdCgpdm9pZAoqYWJpX3JvdXRlX3NoaWZ0OgoJLy8gZXhlY3V0ZSBzaGlmdCgpdm9pZAoJY2FsbHN1YiBzaGlmdAoJaW50IDEKCXJldHVybgoKLy8gc2hpZnQoKTogdm9pZApzaGlmdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE5CgkvLyBhc3NlcnQoMSA8PCAyID09PSA0KQoJaW50IDEKCWludCAyCglzaGwKCWludCA0Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMjAKCS8vIGFzc2VydCg0ID4+IDEgPT09IDIpCglpbnQgNAoJaW50IDEKCXNocgoJaW50IDIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZnJvbUJ5dGVzKCl2b2lkCiphYmlfcm91dGVfZnJvbUJ5dGVzOgoJLy8gZXhlY3V0ZSBmcm9tQnl0ZXMoKXZvaWQKCWNhbGxzdWIgZnJvbUJ5dGVzCglpbnQgMQoJcmV0dXJuCgovLyBmcm9tQnl0ZXMoKTogdm9pZApmcm9tQnl0ZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEyNAoJLy8gYXNzZXJ0KEFkZHJlc3MuZnJvbUJ5dGVzKCdhYmMnKS5taW5CYWxhbmNlKQoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBmcm9tVWludDY0KCl2b2lkCiphYmlfcm91dGVfZnJvbVVpbnQ2NDoKCS8vIGV4ZWN1dGUgZnJvbVVpbnQ2NCgpdm9pZAoJY2FsbHN1YiBmcm9tVWludDY0CglpbnQgMQoJcmV0dXJuCgovLyBmcm9tVWludDY0KCk6IHZvaWQKZnJvbVVpbnQ2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI4CgkvLyBsb2coQXBwSUQuZnJvbVVpbnQ2NCgxMjMpLmNyZWF0b3IpCglpbnQgMTIzCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI5CgkvLyBsb2coQXNzZXRJRC5mcm9tVWludDY0KDEyMykuY3JlYXRvcikKCWludCAxMjMKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWxvZwoJcmV0c3ViCgovLyBiemVyb0Z1bmN0aW9uKCl2b2lkCiphYmlfcm91dGVfYnplcm9GdW5jdGlvbjoKCS8vIGV4ZWN1dGUgYnplcm9GdW5jdGlvbigpdm9pZAoJY2FsbHN1YiBiemVyb0Z1bmN0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBiemVyb0Z1bmN0aW9uKCk6IHZvaWQKYnplcm9GdW5jdGlvbjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEzNAoJLy8geDogYnl0ZXMgPSBiemVybygyKQoJYnl0ZSAweDAwMDAKCWZyYW1lX2J1cnkgMCAvLyB4OiBieXRlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM1CgkvLyB5OiBieXRlcyA9IGJ6ZXJvKG4pCglpbnQgMQoJYnplcm8KCWZyYW1lX2J1cnkgMSAvLyB5OiBieXRlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM2CgkvLyB6OiBbdWludDY0LCB1aW50PDg+XSA9IGJ6ZXJvPFt1aW50NjQsIHVpbnQ8OD5dPigpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwCglmcmFtZV9idXJ5IDIgLy8gejogW3VpbnQ2NCwgdWludDw4Pl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEzNwoJLy8gYXNzZXJ0KGxlbih4ICsgeSArIHopID09PSAxMikKCWJ5dGUgMHgwMDAwIC8vIHg6IGJ5dGVzCglmcmFtZV9kaWcgMSAvLyB5OiBieXRlcwoJY29uY2F0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwIC8vIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgljb25jYXQKCWxlbgoJaW50IDEyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGV2ZW50cygpdm9pZAoqYWJpX3JvdXRlX2V2ZW50czoKCS8vIGV4ZWN1dGUgZXZlbnRzKCl2b2lkCgljYWxsc3ViIGV2ZW50cwoJaW50IDEKCXJldHVybgoKLy8gZXZlbnRzKCk6IHZvaWQKZXZlbnRzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNTIKCS8vIHRoaXMubXlFdmVudC5sb2coeyBhcHA6IHRoaXMuYXBwLCBudW06IDEgfSkKCWJ5dGUgMHg4NzUyODE5NiAvLyBteUV2ZW50KHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY29uY2F0Cgljb25jYXQKCWxvZwoJcmV0c3ViCgovLyBsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10KKmFiaV9yb3V0ZV9sZXRPcHRpbWl6YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgbGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdCgljYWxsc3ViIGxldE9wdGltaXphdGlvbgoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbGV0T3B0aW1pemF0aW9uKGE6IHVpbnQ2NFtdKTogdWludDY0W10KbGV0T3B0aW1pemF0aW9uOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNTYKCS8vIGFzc2VydChhWzBdKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTU4CgkvLyBiID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IC0xIC8vIGI6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjAKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglyZXRzdWIKCi8vIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZAoqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllczoKCS8vIGV4ZWN1dGUgc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzKCl2b2lkCgljYWxsc3ViIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzKCk6IHZvaWQKc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IER1bW15Q29udHJhY3QuYXBwcm92YWxQcm9ncmFtKCksCgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogRHVtbXlDb250cmFjdC5jbGVhclByb2dyYW0oKSwKCS8vICAgICAgIGxvY2FsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1CeXRlU2xpY2UsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IER1bW15Q29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IER1bW15Q29udHJhY3Quc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NQoJLy8gb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcAoJaW50IDAgLy8gTm9PcAoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NgoJLy8gYXBwcm92YWxQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmFwcHJvdmFsUHJvZ3JhbSgpCglieXRlIGI2NCBDakVZRklFR0N6RVpDSTBNQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBSUVCUTRBRXVFUjdOallhQUk0Qi8vQUEKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjcKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjgKCS8vIGxvY2FsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1CeXRlU2xpY2UKCWludCAwCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjkKCS8vIGxvY2FsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEubG9jYWwubnVtVWludAoJaW50IDAKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZQoJaW50IDAKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzEKCS8vIGdsb2JhbE51bVVpbnQ6IER1bW15Q29udHJhY3Quc2NoZW1hLmdsb2JhbC5udW1VaW50CglpbnQgMAoJaXR4bl9maWVsZCBHbG9iYWxOdW1VaW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBudW1iZXJUb1N0cmluZygpdm9pZAoqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nOgoJLy8gZXhlY3V0ZSBudW1iZXJUb1N0cmluZygpdm9pZAoJY2FsbHN1YiBudW1iZXJUb1N0cmluZwoJaW50IDEKCXJldHVybgoKLy8gbnVtYmVyVG9TdHJpbmcoKTogdm9pZApudW1iZXJUb1N0cmluZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTc4CgkvLyBhc3NlcnQobi50b1N0cmluZygpID09PSBzKQoJaW50IDEKCWNhbGxzdWIgKml0b2EKCWJ5dGUgIjEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIG1ldGhvZE9uUGFyZW5zKCl2b2lkCiphYmlfcm91dGVfbWV0aG9kT25QYXJlbnM6CgkvLyBleGVjdXRlIG1ldGhvZE9uUGFyZW5zKCl2b2lkCgljYWxsc3ViIG1ldGhvZE9uUGFyZW5zCglpbnQgMQoJcmV0dXJuCgovLyBtZXRob2RPblBhcmVucygpOiB2b2lkCm1ldGhvZE9uUGFyZW5zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODIKCS8vIGFzc2VydCgoMSArIDIpLnRvU3RyaW5nKCkgPT09ICczJykKCWludCAzCgljYWxsc3ViICppdG9hCglieXRlIDB4MzMgLy8gIjMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1N1YnN0cmluZygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1N1YnN0cmluZzoKCS8vIGV4ZWN1dGUgc3RyaW5nU3Vic3RyaW5nKCl2b2lkCgljYWxsc3ViIHN0cmluZ1N1YnN0cmluZwoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nU3Vic3RyaW5nKCk6IHZvaWQKc3RyaW5nU3Vic3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODcKCS8vIGFzc2VydChzLnN1YnN0cmluZygxLCAzKSA9PT0gJ2JjJykKCWJ5dGUgImFiY2RlZiIKCXN1YnN0cmluZyAxIDMKCWJ5dGUgMHg2MjYzIC8vICJiYyIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gaWRQcm9wZXJ0eSgpdm9pZAoqYWJpX3JvdXRlX2lkUHJvcGVydHk6CgkvLyBleGVjdXRlIGlkUHJvcGVydHkoKXZvaWQKCWNhbGxzdWIgaWRQcm9wZXJ0eQoJaW50IDEKCXJldHVybgoKLy8gaWRQcm9wZXJ0eSgpOiB2b2lkCmlkUHJvcGVydHk6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTEKCS8vIGFwcCA9IEFwcElELnplcm9JbmRleAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBhcHA6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTkyCgkvLyBhc3NlcnQoQXBwSUQuZnJvbVVpbnQ2NChhcHAuaWQpID09PSBhcHApCglpbnQgMCAvLyBhcHA6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTQKCS8vIGFzYSA9IEFzc2V0SUQuemVyb0luZGV4CglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGFzYTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTUKCS8vIGFzc2VydChBc3NldElELmZyb21VaW50NjQoYXNhLmlkKSA9PT0gYXNhKQoJaW50IDAgLy8gYXNhOiB1aW50NjQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBzY3JhdGNoU2xvdCgpdm9pZAoqYWJpX3JvdXRlX3NjcmF0Y2hTbG90OgoJLy8gZXhlY3V0ZSBzY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBzY3JhdGNoU2xvdAoJaW50IDEKCXJldHVybgoKLy8gc2NyYXRjaFNsb3QoKTogdm9pZApzY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTk5CgkvLyB0aGlzLnNjcmF0Y2gudmFsdWUgPSAxMzM3CglpbnQgMTMzNwoJc3RvcmUgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjAwCgkvLyBhc3NlcnQodGhpcy5zY3JhdGNoLnZhbHVlID09PSAxMzM3KQoJbG9hZCAwCglpbnQgMTMzNwoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBlY2RzYSgpdm9pZAoqYWJpX3JvdXRlX2VjZHNhOgoJLy8gZXhlY3V0ZSBlY2RzYSgpdm9pZAoJY2FsbHN1YiBlY2RzYQoJaW50IDEKCXJldHVybgoKLy8gZWNkc2EoKTogdm9pZAplY2RzYToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwNAoJLy8gZWNkc2FWZXJpZnkoJ1NlY3AyNTZrMScsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJZHVwbiA0CgllY2RzYV92ZXJpZnkgU2VjcDI1NmsxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDUKCS8vIGQgPSBlY2RzYVBrRGVjb21wcmVzcygnU2VjcDI1NmsxJywgJycgYXMgYnl0ZXM8MzM+KQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJZWNkc2FfcGtfZGVjb21wcmVzcyBTZWNwMjU2azEKCWZyYW1lX2J1cnkgMCAvLyBkIHkgY29tcG9uZW50OiBieXRlW10KCWZyYW1lX2J1cnkgMSAvLyBkIHggY29tcG9uZW50OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwNgoJLy8gbG9nKGQueSkKCWZyYW1lX2RpZyAwIC8vIGQgeSBjb21wb25lbnQ6IGJ5dGVbXQoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDcKCS8vIGxvZyhkLngpCglmcmFtZV9kaWcgMSAvLyBkIHggY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjA5CgkvLyByID0gZWNkc2FQa1JlY292ZXIoJ1NlY3AyNTZrMScsICcnIGFzIGJ5dGVzMzIsIDEsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJaW50IDEKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIC8vICIiCglkdXAKCWVjZHNhX3BrX3JlY292ZXIgU2VjcDI1NmsxCglmcmFtZV9idXJ5IDIgLy8gciB5IGNvbXBvbmVudDogYnl0ZVtdCglmcmFtZV9idXJ5IDMgLy8gciB4IGNvbXBvbmVudDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTAKCS8vIGxvZyhyLnkpCglmcmFtZV9kaWcgMiAvLyByIHkgY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjExCgkvLyBsb2coci54KQoJZnJhbWVfZGlnIDMgLy8gciB4IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCXJldHN1YgoKLy8gdmVyaWZ5VHhuVHlwZXMoKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5UeXBlczoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuVHlwZXMoKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuVHlwZXMKCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeVR4blR5cGVzKCk6IHZvaWQKdmVyaWZ5VHhuVHlwZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxNQoJLy8gdmVyaWZ5UGF5VHhuKHRoaXMudHhuR3JvdXBbMF0sIHsKCS8vICAgICAgIGFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgcGF5CglpbnQgMAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoicGF5In0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWludCAwCglndHhucyBBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTkKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG5Hcm91cFswXSwgewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogewoJLy8gICAgICAgICAwOiAnZm9vJywKCS8vICAgICAgICAgMTogewoJLy8gICAgICAgICAgIGluY2x1ZGVkSW46IFsnYmFyJywgJ2JheiddLAoJLy8gICAgICAgICB9LAoJLy8gICAgICAgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFwcGwKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGFwcGwKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYXBwbCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJaW50IDAKCWd0eG5zIEFwcGxpY2F0aW9uSUQKCWludCAwCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCgwKSJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzIDAKCWludCAwCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImFwcGxpY2F0aW9uQXJncyIsImluZGV4IjoiMCIsImV4cGVjdGVkIjoiJ2ZvbycifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFwcGxpY2F0aW9uQXJncyAxCglpbnQgMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCT09CglpbnQgMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCWJ5dGUgMHg2MjYxN2EgLy8gImJheiIKCT09Cgl8fAoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4bkdyb3VwWzBdIn0sImZpZWxkIjoiYXBwbGljYXRpb25BcmdzIDEiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbJ2JhcicsICdiYXonXSJ9Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIyOQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXhmZXIKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImF4ZmVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglpbnQgMAoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjMzCgkvLyB2ZXJpZnlBc3NldENvbmZpZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KDApLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYWNmZwoJaW50IDAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYWNmZwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJhY2ZnIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBjb25maWdBc3NldAoJaW50IDAKCWd0eG5zIENvbmZpZ0Fzc2V0CglpbnQgMAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImNvbmZpZ0Fzc2V0IiwiZXhwZWN0ZWQiOiJBc3NldElELmZyb21VaW50NjQoMCkifQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMzcKCS8vIHZlcmlmeUtleVJlZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICB2b3RlRmlyc3Q6IDEzMzcsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBrZXlyZWcKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGtleXJlZwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJrZXlyZWcifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHZvdGVGaXJzdAoJaW50IDAKCWd0eG5zIFZvdGVGaXJzdAoJaW50IDEzMzcKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ2b3RlRmlyc3QiLCJleHBlY3RlZCI6IjEzMzcifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1BsdXNFcXVhbHMoKXZvaWQKKmFiaV9yb3V0ZV9zdHJpbmdQbHVzRXF1YWxzOgoJLy8gZXhlY3V0ZSBzdHJpbmdQbHVzRXF1YWxzKCl2b2lkCgljYWxsc3ViIHN0cmluZ1BsdXNFcXVhbHMKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ1BsdXNFcXVhbHMoKTogdm9pZApzdHJpbmdQbHVzRXF1YWxzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI0MwoJLy8gcyA9ICdmb28nCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNDQKCS8vIHMgKz0gJ2JhcicKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNDUKCS8vIGFzc2VydChzID09PSAnZm9vYmFyJykKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZSAweDY2NmY2ZjYyNjE3MiAvLyAiZm9vYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXQoqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXQoJY2FsbHN1YiBpbXBvcnRlZFByb2dyYW0KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaW1wb3J0ZWRQcm9ncmFtKCk6IGJ5dGVzCmltcG9ydGVkUHJvZ3JhbToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQ5CgkvLyByZXR1cm4gSWZUZXN0LmFwcHJvdmFsUHJvZ3JhbSgpOwoJYnl0ZSBiNjQgQ2lBRUFRQUNJQ1lKQkJVZmZIVUNhV1lFWld4elpRTmxibVFBQTJadmJ3ZGxiSE5sSUdsbUNXVnNjMlVnYVdZZ01RbGxiSE5sSUdsbUlESXhHQlNCQmdzeEdRaU5EQU1rQUFBQUFBQUFBQUFBQUFNV0FBQUFBQUFBQUFBQUFBQW9OaG9CU1JVaUVrUWpVNGdBREVrVkZsY0dBa3hRVUxBaVE0b0JBWXYvUVFBQ0tZa3JpU2cyR2dGSkZTSVNSQ05UaUFBTVNSVVdWd1lDVEZCUXNDSkRpZ0VCaS85QkFBVXBpVUlBQWlxSmlTZzJHZ0pKRlNJU1JDTlROaG9CU1JVaUVrUWpVNGdBREVrVkZsY0dBa3hRVUxBaVE0b0NBWXYvUVFBRktZbENBQWlML2tFQUF5Y0dpU3VKS0RZYUFra1ZJaEpFSTFNMkdnRkpGU0lTUkNOVGlBQU1TUlVXVndZQ1RGQlFzQ0pEaWdJQmkvOUJBQVVwaVVJQURZditRUUFHSndhSlFnQUNLb21KS0RZYUEwa1ZJaEpFSTFNMkdnSkpGU0lTUkNOVE5ob0JTUlVpRWtRalU0Z0FERWtWRmxjR0FreFFVTEFpUTRvREFZdi9RUUFGS1lsQ0FCT0wva0VBQmljSGlVSUFDSXY5UVFBREp3aUpLNGtvTmhvRFNSVWlFa1FqVXpZYUFra1ZJaEpFSTFNMkdnRkpGU0lTUkNOVGlBQU1TUlVXVndZQ1RGQlFzQ0pEaWdNQmkvOUJBQVVwaVVJQUdJditRUUFHSndlSlFnQU5pLzFCQUFZbkNJbENBQUlxaVlrb05ob0NTUlVpRWtRalV6WWFBVWtWSWhKRUkxT0lBQXhKRlJaWEJnSk1VRkN3SWtPS0FnR0wvMEVBRm92K1FRQU1nQWx1WlhOMFpXUWdhV2FKS1lsQ0FBSXFpWWtvTmhvQlNSVWlFa1FqVTRnQURFa1ZGbGNHQWt4UVVMQWlRNG9CQVl2L1FRQUZLWWxDQUFJcWlZa29OaG9DU1JVaUVrUWpVellhQVVrVkloSkVJMU9JQUFVV1VMQWlRNG9DQVl2L1FRQUVJa0lBQzR2K1FRQUVKRUlBQW9FRGlTZzJHZ0ZYQWdDSUFBVVdVTEFpUTRvQkFZdi9Kd1NwUVFBQ0lva2tpU2cyR2dGWEFnQ0lBQVVXVUxBaVE0b0JBWXYvSndTcFFRQUVJa0lBQVNTSk5ob0JTUlVrRWtRWGlBQUNJa09LQVFDTC95Y0VxVUVBQXljRnNJazJHZ0pKRlNRU1JCYzJHZ0ZKRlNRU1JCZUlBQUlpUTRvQ0FJdi9pLzRPUVFBREp3V3dpVFlhQWtrVkpSSkVOaG9CU1JVbEVrU0lBQUlpUTRvQ0FJdi9pLzZtUVFBREp3V3dpU2cyR2dKSkZTSVNSQ05UTmhvQlNSVWlFa1FqVTRnQURFa1ZGbGNHQWt4UVVMQWlRNG9DQVl2L1FRQVppLzVCQUEyQUIyRWdZVzVrSUdLSlFnQUVnQUZoaVVJQUZvditRUUFIZ0FGaWlVSUFDb0FIYm1WcGRHaGxjb21KSWtPQUJMaEVlelkyR2dDT0FmL3hBSUFFUTI3QndvQUVISG9OWG9BRVhnKzJ6NEFFWGh4c1VJQUVXTkM2a29BRVhTOVBBb0FFaEZjcDJZQUVqK2RzcUlBRUdqeDRlSUFFZEx6SWFJQUVRaEw1QllBRWxkMnV2NEFFTVVlNFpvQUVRb2wvWVlBRVUwdml0ellhQUk0UC9HRDhodnl3L092OUt2MTYvYzcrRS80OS9uTCtrUDZ3L3MzKzgvOFhBQT09CglyZXRzdWIKCi8vIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCiphYmlfcm91dGVfY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXI6CgkvLyBleGVjdXRlIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCgljYWxsc3ViIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpOiB2b2lkCmNhbGxQcml2YXRlRGVmaW5lZExhdGVyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNTMKCS8vIGxvZyh0aGlzLnByaXZhdGVNZXRob2QoJ2hlbGxvJykpCglieXRlIDB4Njg2NTZjNmM2ZiAvLyAiaGVsbG8iCgljYWxsc3ViIHByaXZhdGVNZXRob2QKCWxvZwoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKG1zZzogc3RyaW5nKTogc3RyaW5nCnByaXZhdGVNZXRob2Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1NwoJLy8gcmV0dXJuIG1zZzsKCWZyYW1lX2RpZyAtMSAvLyBtc2c6IHN0cmluZwoJcmV0c3ViCgovLyBpbnRlcmFsUHVibGljTWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbnRlcmFsUHVibGljTWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGludGVyYWxQdWJsaWNNZXRob2QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBpbnRlcmFsUHVibGljTWV0aG9kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmludGVyYWxQdWJsaWNNZXRob2Q6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI2MQoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBjYWxsSW50ZXJuYWxQdWJsaWNNZXRob2QoKXZvaWQKKmFiaV9yb3V0ZV9jYWxsSW50ZXJuYWxQdWJsaWNNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZAoJY2FsbHN1YiBjYWxsSW50ZXJuYWxQdWJsaWNNZXRob2QKCWludCAxCglyZXR1cm4KCi8vIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpOiB2b2lkCmNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY1CgkvLyBhc3NlcnQodGhpcy5pbnRlcmFsUHVibGljTWV0aG9kKDEsIDIpID09PSAzKQoJaW50IDIKCWludCAxCgljYWxsc3ViIGludGVyYWxQdWJsaWNNZXRob2QKCWludCAzCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFwcExvYWRTY3JhdGNoKCl2b2lkCiphYmlfcm91dGVfYXBwTG9hZFNjcmF0Y2g6CgkvLyBleGVjdXRlIGFwcExvYWRTY3JhdGNoKCl2b2lkCgljYWxsc3ViIGFwcExvYWRTY3JhdGNoCglpbnQgMQoJcmV0dXJuCgovLyBhcHBMb2FkU2NyYXRjaCgpOiB2b2lkCmFwcExvYWRTY3JhdGNoOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNjkKCS8vIGxvZyh0aGlzLnR4bkdyb3VwWzFdLmxvYWRTY3JhdGNoKDIpIGFzIGJ5dGVzKQoJZ2xvYWQgMSAyCglsb2cKCXJldHN1YgoKLy8gdWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NgoqYWJpX3JvdXRlX3VpbnROV2l0aFVuZGVyc2NvcmU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NgoJY2FsbHN1YiB1aW50TldpdGhVbmRlcnNjb3JlCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1aW50TldpdGhVbmRlcnNjb3JlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludE5XaXRoVW5kZXJzY29yZSgpOiB1aW50MjU2CnVpbnROV2l0aFVuZGVyc2NvcmU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3MwoJLy8gcmV0dXJuIDx1aW50MjU2PjEyM180NTY7CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTI0MAoJcmV0c3ViCgovLyBvcFVwKCl2b2lkCiphYmlfcm91dGVfb3BVcDoKCS8vIGV4ZWN1dGUgb3BVcCgpdm9pZAoJY2FsbHN1YiBvcFVwCglpbnQgMQoJcmV0dXJuCgovLyBvcFVwKCk6IHZvaWQKb3BVcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3OAoJLy8gZm9yIChsZXQgaSA9IDE7IGkgPCA3NTsgaSArPSAxKQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjc4CgkvLyBpIDwgNzUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDc1Cgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzkKCS8vIGFzc2VydChpKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0Cglhc3NlcnQKCipmb3JfMF9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjc4CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJcmV0c3ViCgovLyByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpc3RyaW5nCiphYmlfcm91dGVfcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQoKXN0cmluZwoJY2FsbHN1YiByZXR1cm5WYWx1ZU9uQXNzaWdubWVudAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpOiBzdHJpbmcKcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjg0CgkvLyBtZXNzYWdlID0gJ2hpJwoJYnl0ZSAweDY4NjkgLy8gImhpIgoJZnJhbWVfYnVyeSAwIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLmFwcC5hZGRyZXNzCgl0eG4gU2VuZGVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NwoJLy8gbWVzc2FnZSA9ICdpbiBibG9jaycKCWJ5dGUgMHg2OTZlMjA2MjZjNmY2MzZiIC8vICJpbiBibG9jayIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTAKCS8vIHJldHVybiAobWVzc2FnZSA9ICdieWUnKTsKCWJ5dGUgMHg2Mjc5NjUgLy8gImJ5ZSIKCWR1cAoJZnJhbWVfYnVyeSAwIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9yZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTYKCS8vIHJldHVybiAoYVswXSA9IDQpOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJaW50IDAKCWludCA0CglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWxvYWQgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKCWNhbGxzdWIgcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCk6IHVpbnQ2NApyZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQ6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwMAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gMQoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJaW50IDEKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMDIKCS8vIHJldHVybiAodGhpcy5nS2V5LnZhbHVlID0gMik7CglieXRlIDB4Njc0YjY1NzkgLy8gImdLZXkiCglpbnQgMgoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJYXBwX2dsb2JhbF9wdXQKCWxvYWQgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCXJldHN1YgoKLy8gcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCl1aW50NjQKCWNhbGxzdWIgcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSgpOiB1aW50NjQKcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzA2CgkvLyBhID0gMQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwOAoJLy8gcmV0dXJuIChhICs9IDIpOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0CglpbnQgMgoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKTogdWludDY0CnJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTIKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTQKCS8vIHJldHVybiAoYVswXSArPSA0KTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWludCAwCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDAgOAoJYnRvaQoJaW50IDQKCSsKCWR1cAoJc3RvcmUgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKTogdWludDY0CnJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzE4CgkvLyB0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZSA9IFsxLCAyLCAzXQoJYnl0ZSAweDczNzQ2ZjcyNjE2NzY1NDE3MjcyNjE3OSAvLyAic3RvcmFnZUFycmF5IgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMAoJLy8gcmV0dXJuICh0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZVswXSArPSA0KTsKCWJ5dGUgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgLy8gInN0b3JhZ2VBcnJheSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMAoJYnl0ZSAweDczNzQ2ZjcyNjE2NzY1NDE3MjcyNjE3OSAvLyAic3RvcmFnZUFycmF5IgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgMCA4CglidG9pCglpbnQgNAoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJaXRvYgoJcmVwbGFjZTMKCWJ5dGUgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgLy8gInN0b3JhZ2VBcnJheSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglyZXRzdWIKCi8vIGNvbnN0cygpdm9pZAoqYWJpX3JvdXRlX2NvbnN0czoKCS8vIGV4ZWN1dGUgY29uc3RzKCl2b2lkCgljYWxsc3ViIGNvbnN0cwoJaW50IDEKCXJldHVybgoKLy8gY29uc3RzKCk6IHZvaWQKY29uc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMjQKCS8vIGFzc2VydChTVFJJTkdfQ09OU1QgPT09ICdmb28nKQoJYnl0ZSAiZm9vIgoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzI1CgkvLyBhc3NlcnQoTlVNX0NPTlNUID09PSAxMjMpCglpbnQgMTIzCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyNgoJLy8gYXNzZXJ0KE5FU1RFRF9DT05TVCA9PT0gMTIzKQoJaW50IDEyMwoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCiphYmlfcm91dGVfYXNzZXJ0V2l0aE1lc3NhZ2U6CgkvLyBleGVjdXRlIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCgljYWxsc3ViIGFzc2VydFdpdGhNZXNzYWdlCglpbnQgMQoJcmV0dXJuCgovLyBhc3NlcnRXaXRoTWVzc2FnZSgpOiB2b2lkCmFzc2VydFdpdGhNZXNzYWdlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzAKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50IDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gb3Bjb2RlQWxpYXNlcygpdm9pZAoqYWJpX3JvdXRlX29wY29kZUFsaWFzZXM6CgkvLyBleGVjdXRlIG9wY29kZUFsaWFzZXMoKXZvaWQKCWNhbGxzdWIgb3Bjb2RlQWxpYXNlcwoJaW50IDEKCXJldHVybgoKLy8gb3Bjb2RlQWxpYXNlcygpOiB2b2lkCm9wY29kZUFsaWFzZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNAoJLy8gZXh0cmFjdFVpbnQxNihiemVybyg2NCksIDApCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWludCAwCglleHRyYWN0X3VpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzM1CgkvLyBleHRyYWN0VWludDMyKGJ6ZXJvKDY0KSwgMCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJaW50IDAKCWV4dHJhY3RfdWludDMyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzYKCS8vIGV4dHJhY3RVaW50NjQoYnplcm8oNjQpLCAwKQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglpbnQgMAoJZXh0cmFjdF91aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNwoJLy8gZWQyNTUxOVZlcmlmeUJhcmUoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeV9iYXJlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzgKCS8vIGVkMjU1MTlWZXJpZnkoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeQoJcmV0c3ViCgovLyB2cmZWZXJpZnlPcCgpdm9pZAoqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wOgoJLy8gZXhlY3V0ZSB2cmZWZXJpZnlPcCgpdm9pZAoJY2FsbHN1YiB2cmZWZXJpZnlPcAoJaW50IDEKCXJldHVybgoKLy8gdnJmVmVyaWZ5T3AoKTogdm9pZAp2cmZWZXJpZnlPcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0MgoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQzCgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDQKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0NQoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQ2CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQ5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MgoJLy8gciA9IHZyZlZlZmlyeSgnVnJmQWxnb3JhbmQnLCBiemVybygzMikgYXMgYnl0ZXMsIGJ6ZXJvKDgwKSwgYnplcm8oMzIpKQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJdnJmX3ZlcmlmeSBWcmZBbGdvcmFuZAoJZnJhbWVfYnVyeSAwIC8vIHIgdmVyaWZpZWQ6IGJvb2wKCWZyYW1lX2J1cnkgMSAvLyByIG91dHB1dDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTMKCS8vIGFzc2VydCghci52ZXJpZmllZCkKCWZyYW1lX2RpZyAwIC8vIHIgdmVyaWZpZWQ6IGJvb2wKCSEKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU0CgkvLyBsb2coci5vdXRwdXQpCglmcmFtZV9kaWcgMSAvLyByIG91dHB1dDogYnl0ZVtdCglsb2cKCXJldHN1YgoKLy8gZWNNYXRoKCl2b2lkCiphYmlfcm91dGVfZWNNYXRoOgoJLy8gZXhlY3V0ZSBlY01hdGgoKXZvaWQKCWNhbGxzdWIgZWNNYXRoCglpbnQgMQoJcmV0dXJuCgovLyBlY01hdGgoKTogdm9pZAplY01hdGg6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU4CgkvLyBlY1NjYWxhck11bCgnQk4yNTRnMScsICcnLCAnJykKCWJ5dGUgMHggLy8gIiIKCWR1cAoJZWNfc2NhbGFyX211bCBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTkKCS8vIGVjUGFpcmluZ0NoZWNrKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZSAweCAvLyAiIgoJZHVwCgllY19wYWlyaW5nX2NoZWNrIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MAoJLy8gc2NhbGFyczogYnl0ZXMzMltdID0gW2J6ZXJvKDMyKSwgYnplcm8oMzIpXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglmcmFtZV9idXJ5IDAgLy8gc2NhbGFyczogYnl0ZXMzMltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjEKCS8vIGVjTXVsdGlTY2FsYXJNdWwoJ0JOMjU0ZzEnLCAnJywgc2NhbGFycykKCWJ5dGUgMHggLy8gIiIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyBzY2FsYXJzOiBieXRlczMyW10KCWVjX211bHRpX3NjYWxhcl9tdWwgQk4yNTRnMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzYyCgkvLyBlY1N1Ymdyb3VwQ2hlY2soJ0JOMjU0ZzEnLCAnJykKCWJ5dGUgMHggLy8gIiIKCWVjX3N1Ymdyb3VwX2NoZWNrIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MwoJLy8gZWNNYXBUbygnQk4yNTRnMScsICcnKQoJYnl0ZSAweCAvLyAiIgoJZWNfbWFwX3RvIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2NAoJLy8gZWNBZGQoJ0JOMjU0ZzEnLCAnJywgJycpCglieXRlIDB4IC8vICIiCglkdXAKCWVjX2FkZCBCTjI1NGcxCglyZXRzdWIKCi8vIGdpdHhuKCl2b2lkCiphYmlfcm91dGVfZ2l0eG46CgkvLyBleGVjdXRlIGdpdHhuKCl2b2lkCgljYWxsc3ViIGdpdHhuCglpbnQgMQoJcmV0dXJuCgovLyBnaXR4bigpOiB2b2lkCmdpdHhuOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2OAoJLy8gbG9nKHRoaXMubGFzdElubmVyR3JvdXBbMF0uc2VuZGVyKQoJZ2l0eG4gMCBTZW5kZXIKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcwCgkvLyBhbm90aGVyVHhuID0gdGhpcy5sYXN0SW5uZXJHcm91cFsxXQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhbm90aGVyVHhuOiBnaXR4bgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcyCgkvLyBsb2coYW5vdGhlclR4bi5zZW5kZXIpCglnaXR4biAxIFNlbmRlcgoJbG9nCglyZXRzdWIKCi8vIGdldFNldEJ5dGVzKCl2b2lkCiphYmlfcm91dGVfZ2V0U2V0Qnl0ZXM6CgkvLyBleGVjdXRlIGdldFNldEJ5dGVzKCl2b2lkCgljYWxsc3ViIGdldFNldEJ5dGVzCglpbnQgMQoJcmV0dXJuCgovLyBnZXRTZXRCeXRlcygpOiB2b2lkCmdldFNldEJ5dGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzYKCS8vIGxvZyhzZXRiaXQoJ2ZvbycsIDAsIHRydWUpKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAxCglzZXRiaXQKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzc3CgkvLyBnZXRiaXQoJ2ZvbycsIDApCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJZ2V0Yml0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzgKCS8vIGdldGJ5dGUoJ2ZvbycsIDApCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJZ2V0Ynl0ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzc5CgkvLyBzZXRieXRlKCdmb28nLCAwLCAxKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAxCglzZXRieXRlCglyZXRzdWIKCi8vIGdldFNldFVpbnQ2NCgpdm9pZAoqYWJpX3JvdXRlX2dldFNldFVpbnQ2NDoKCS8vIGV4ZWN1dGUgZ2V0U2V0VWludDY0KCl2b2lkCgljYWxsc3ViIGdldFNldFVpbnQ2NAoJaW50IDEKCXJldHVybgoKLy8gZ2V0U2V0VWludDY0KCk6IHZvaWQKZ2V0U2V0VWludDY0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODMKCS8vIGFzc2VydChzZXRiaXQoMTIzLCAwLCB0cnVlKSkKCWludCAxMjMKCWludCAwCglpbnQgMQoJc2V0Yml0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4NAoJLy8gZ2V0Yml0KDEyMywgMCkKCWludCAxMjMKCWludCAwCglnZXRiaXQKCXJldHN1YgoKLy8gYmxvY2tPcCgpdm9pZAoqYWJpX3JvdXRlX2Jsb2NrT3A6CgkvLyBleGVjdXRlIGJsb2NrT3AoKXZvaWQKCWNhbGxzdWIgYmxvY2tPcAoJaW50IDEKCXJldHVybgoKLy8gYmxvY2tPcCgpOiB2b2lkCmJsb2NrT3A6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4OAoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uc2VlZCkKCWdsb2JhbCBSb3VuZAoJaW50IDEKCS0KCWJsb2NrIEJsa1NlZWQKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzg5CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS50aW1lc3RhbXApCglnbG9iYWwgUm91bmQKCWludCAxCgktCglibG9jayBCbGtUaW1lc3RhbXAKCWFzc2VydAoJcmV0c3ViCgovLyBiNjQoKXZvaWQKKmFiaV9yb3V0ZV9iNjQ6CgkvLyBleGVjdXRlIGI2NCgpdm9pZAoJY2FsbHN1YiBiNjQKCWludCAxCglyZXR1cm4KCi8vIGI2NCgpOiB2b2lkCmI2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzkzCgkvLyBsb2coYmFzZTY0RGVjb2RlKCdTdGRFbmNvZGluZycsICcnKSkKCWJ5dGUgMHggLy8gIiIKCWJhc2U2NF9kZWNvZGUgU3RkRW5jb2RpbmcKCWxvZwoJcmV0c3ViCgovLyBqc29uKCl2b2lkCiphYmlfcm91dGVfanNvbjoKCS8vIGV4ZWN1dGUganNvbigpdm9pZAoJY2FsbHN1YiBqc29uCglpbnQgMQoJcmV0dXJuCgovLyBqc29uKCk6IHZvaWQKanNvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk3CgkvLyBsb2coanNvblJlZignSlNPTk9iamVjdCcsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05PYmplY3QKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk4CgkvLyBsb2coanNvblJlZignSlNPTlN0cmluZycsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05TdHJpbmcKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk5CgkvLyBhc3NlcnQoanNvblJlZignSlNPTlVpbnQ2NCcsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05VaW50NjQKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRsZW5PcCgpdm9pZAoqYWJpX3JvdXRlX2JpdGxlbk9wOgoJLy8gZXhlY3V0ZSBiaXRsZW5PcCgpdm9pZAoJY2FsbHN1YiBiaXRsZW5PcAoJaW50IDEKCXJldHVybgoKLy8gYml0bGVuT3AoKTogdm9pZApiaXRsZW5PcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDAzCgkvLyBiaXRsZW4oMTIzKQoJaW50IDEyMwoJYml0bGVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDQKCS8vIGJpdGxlbignZm9vJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJpdGxlbgoJcmV0c3ViCgovLyBjb21wdXRlZENvbnN0KCl2b2lkCiphYmlfcm91dGVfY29tcHV0ZWRDb25zdDoKCS8vIGV4ZWN1dGUgY29tcHV0ZWRDb25zdCgpdm9pZAoJY2FsbHN1YiBjb21wdXRlZENvbnN0CglpbnQgMQoJcmV0dXJuCgovLyBjb21wdXRlZENvbnN0KCk6IHZvaWQKY29tcHV0ZWRDb25zdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDA4CgkvLyBhc3NlcnQoQ09NUFVURURfQ09OU1QpCglpbnQgMjQ2Cglhc3NlcnQKCXJldHN1YgoKLy8gbXVsdGlDb21wdXRlZENvbnN0KCl2b2lkCiphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0OgoJLy8gZXhlY3V0ZSBtdWx0aUNvbXB1dGVkQ29uc3QoKXZvaWQKCWNhbGxzdWIgbXVsdGlDb21wdXRlZENvbnN0CglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aUNvbXB1dGVkQ29uc3QoKTogdm9pZAptdWx0aUNvbXB1dGVkQ29uc3Q6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxMgoJLy8gYXNzZXJ0KE1VVExJX0NPTVBVVEVEX0NPTlNUKQoJaW50IDMwMzgxCglhc3NlcnQKCXJldHN1YgoKLy8gcmVhZFNjaGVtYSgpdm9pZAoqYWJpX3JvdXRlX3JlYWRTY2hlbWE6CgkvLyBleGVjdXRlIHJlYWRTY2hlbWEoKXZvaWQKCWNhbGxzdWIgcmVhZFNjaGVtYQoJaW50IDEKCXJldHVybgoKLy8gcmVhZFNjaGVtYSgpOiB2b2lkCnJlYWRTY2hlbWE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNgoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCA9PT0gMSkKCWludCAxCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNwoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlID09PSAyKQoJaW50IDIKCWR1cAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDE4CgkvLyBhc3NlcnQoU2NoZW1hQ29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQgPT09IDMpCglpbnQgMwoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MTkKCS8vIGFzc2VydChTY2hlbWFDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlID09PSA0KQoJaW50IDQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBjb21wYXJpc29uT3IoKWJvb2wKKmFiaV9yb3V0ZV9jb21wYXJpc29uT3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29tcGFyaXNvbk9yKClib29sCgljYWxsc3ViIGNvbXBhcmlzb25PcgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjb21wYXJpc29uT3IoKTogYm9vbGVhbgpjb21wYXJpc29uT3I6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyMwoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlciA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzcyB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IGdsb2JhbHMuemVyb0FkZHJlc3M7Cgl0eG4gU2VuZGVyCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCXx8Cgoqc2tpcF9vcjA6CglyZXRzdWIKCi8vIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKKmFiaV9yb3V0ZV90eG5BcmdzTWV0aG9kOgoJLy8gX3BheTE6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKF9wYXkxKSBmb3IgdHhuQXJnc01ldGhvZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKCWNhbGxzdWIgdHhuQXJnc01ldGhvZAoJaW50IDEKCXJldHVybgoKLy8gdHhuQXJnc01ldGhvZChfcGF5MTogUGF5VHhuKTogdm9pZAp0eG5BcmdzTWV0aG9kOgoJcHJvdG8gMSAwCglyZXRzdWIKCi8vIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCiphYmlfcm91dGVfY2FsbFR4bkFyZ3NNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxUeG5BcmdzTWV0aG9kCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsVHhuQXJnc01ldGhvZCgpOiB2b2lkCmNhbGxUeG5BcmdzTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzAKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBHZW5lcmFsVGVzdC5wcm90b3R5cGUudHhuQXJnc01ldGhvZD4oewoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMCB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDMxCgkvLyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQzMQoJLy8gYW1vdW50OiAwCglpbnQgMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAidHhuQXJnc01ldGhvZChwYXkpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzEKCS8vIG1ldGhvZEFyZ3M6IFt7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IDAgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkCiphYmlfcm91dGVfc3RhdGljVmFsdWVMZW46CgkvLyB4OiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBzdGF0aWNWYWx1ZUxlbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNWYWx1ZUxlbih1aW50MjU2KXZvaWQKCWNhbGxzdWIgc3RhdGljVmFsdWVMZW4KCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY1ZhbHVlTGVuKHg6IHVpbnQyNTYpOiB2b2lkCnN0YXRpY1ZhbHVlTGVuOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzYKCS8vIGFzc2VydChsZW4oeCkpCglpbnQgMzIKCWFzc2VydAoJcmV0c3ViCgovLyBzdGF0aWNUeXBlTGVuKCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUxlbjoKCS8vIGV4ZWN1dGUgc3RhdGljVHlwZUxlbigpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlTGVuCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlTGVuKCk6IHZvaWQKc3RhdGljVHlwZUxlbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQwCgkvLyBhc3NlcnQobGVuPHVpbnQyNTY+KCkpCglpbnQgMzIKCWFzc2VydAoJcmV0c3ViCgovLyBkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9keW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGR5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBkeW5hbWljU2NyYXRjaFNsb3QKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmR5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQ0CgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDEpLnZhbHVlID0gMTMzNwoJaW50IDEKCWludCAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ0NQoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMSkudmFsdWUgPT09IDEzMzcpCglpbnQgMQoJbG9hZHMKCWludCAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfaW5jcmVtZW50U2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudFNjcmF0Y2hTbG90CglpbnQgMQoJcmV0dXJuCgovLyBpbmNyZW1lbnRTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudFNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NDkKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludCAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTAKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSArPSAxCglsb2FkIDAKCWludCAxCgkrCglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTEKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzgpCglsb2FkIDAKCWludCAxMzM4Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoqYWJpX3JvdXRlX2luY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdDoKCS8vIGV4ZWN1dGUgaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdAoJaW50IDEKCXJldHVybgoKLy8gaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90KCk6IHZvaWQKaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTUKCS8vIHRoaXMuZHluYW1pY1NjcmF0Y2goMikudmFsdWUgPSAxMzM3CglpbnQgMgoJaW50IDEzMzcKCXN0b3JlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDU2CgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlICs9IDEKCWludCAyCglsb2FkcwoJaW50IDEKCSsKCWludCAyCglzd2FwCglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ1NwoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMikudmFsdWUgPT09IDEzMzgpCglpbnQgMgoJbG9hZHMKCWludCAxMzM4Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGZyb21BZGRyZXNzKCl2b2lkCiphYmlfcm91dGVfZnJvbUFkZHJlc3M6CgkvLyBleGVjdXRlIGZyb21BZGRyZXNzKCl2b2lkCgljYWxsc3ViIGZyb21BZGRyZXNzCglpbnQgMQoJcmV0dXJuCgovLyBmcm9tQWRkcmVzcygpOiB2b2lkCmZyb21BZGRyZXNzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2MQoJLy8gYSA9IEFkZHJlc3MuZnJvbUFkZHJlc3MoJ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFZNUhGS1EnKQoJYWRkciBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWTVIRktRCglmcmFtZV9idXJ5IDAgLy8gYTogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDYyCgkvLyBhc3NlcnQoYSA9PT0gQWRkcmVzcy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAwIC8vIGE6IGFkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBlYXJseVJldHVybih1aW50NjQpdWludDY0CiphYmlfcm91dGVfZWFybHlSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZWFybHlSZXR1cm4odWludDY0KXVpbnQ2NAoJY2FsbHN1YiBlYXJseVJldHVybgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGVhcmx5UmV0dXJuKGE6IHVpbnQ2NCk6IHVpbnQ2NAplYXJseVJldHVybjoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY2CgkvLyBhID09PSAxCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpbnQgMQoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2NwoJLy8gcmV0dXJuIDI7CglpbnQgMgoJYiAqZWFybHlSZXR1cm4qcmV0dXJuCgoqaWYxX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY5CgkvLyBiID0gYSArIDEKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzAKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIDAgLy8gYjogdWludDY0CgoqZWFybHlSZXR1cm4qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGFzc2V0TWV0aG9kQXJncygpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJnczoKCS8vIGV4ZWN1dGUgYXNzZXRNZXRob2RBcmdzKCl2b2lkCgljYWxsc3ViIGFzc2V0TWV0aG9kQXJncwoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRNZXRob2RBcmdzKCk6IHZvaWQKYXNzZXRNZXRob2RBcmdzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzQKCS8vIHNlbmRNZXRob2RDYWxsPFtBc3NldFJlZmVyZW5jZV0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW0Fzc2V0SUQuZnJvbVVpbnQ2NCgxKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImZvbyhhc3NldCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NgoJLy8gbWV0aG9kQXJnczogW0Fzc2V0SUQuZnJvbVVpbnQ2NCgxKV0KCWludCAxCglpdHhuX2ZpZWxkIEFzc2V0cwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtdWx0aXBsZVByb2dyYW1QYWdlcygpdm9pZAoqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzOgoJLy8gZXhlY3V0ZSBtdWx0aXBsZVByb2dyYW1QYWdlcygpdm9pZAoJY2FsbHN1YiBtdWx0aXBsZVByb2dyYW1QYWdlcwoJaW50IDEKCXJldHVybgoKLy8gbXVsdGlwbGVQcm9ncmFtUGFnZXMoKTogdm9pZAptdWx0aXBsZVByb2dyYW1QYWdlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDg1CgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0sCgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogW3RoaXMucGFnZU9uZS52YWx1ZSwgdGhpcy5wYWdlVHdvLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ4NgoJLy8gYXBwcm92YWxQcm9ncmFtOiBbdGhpcy5wYWdlT25lLnZhbHVlLCB0aGlzLnBhZ2VUd28udmFsdWVdCglieXRlIDB4NzA2MTY3NjU0ZjZlNjUgLy8gInBhZ2VPbmUiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBhZ2VPbmUudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZSAweDcwNjE2NzY1NTQ3NzZmIC8vICJwYWdlVHdvIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlVHdvLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ4NwoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0KCWJ5dGUgMHg3MDYxNjc2NTRmNmU2NSAvLyAicGFnZU9uZSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZU9uZS52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtUGFnZXMKCWJ5dGUgMHg3MDYxNjc2NTU0Nzc2ZiAvLyAicGFnZVR3byIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZVR3by52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtUGFnZXMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFzc2VydENvbW1lbnQoKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRDb21tZW50OgoJLy8gZXhlY3V0ZSBhc3NlcnRDb21tZW50KCl2b2lkCgljYWxsc3ViIGFzc2VydENvbW1lbnQKCWludCAxCglyZXR1cm4KCi8vIGFzc2VydENvbW1lbnQoKTogdm9pZAphc3NlcnRDb21tZW50OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0OTIKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50IDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gdGhyb3dFcnJvck1lc3NhZ2UoKXZvaWQKKmFiaV9yb3V0ZV90aHJvd0Vycm9yTWVzc2FnZToKCS8vIGV4ZWN1dGUgdGhyb3dFcnJvck1lc3NhZ2UoKXZvaWQKCWNhbGxzdWIgdGhyb3dFcnJvck1lc3NhZ2UKCWludCAxCglyZXR1cm4KCi8vIHRocm93RXJyb3JNZXNzYWdlKCk6IHZvaWQKdGhyb3dFcnJvck1lc3NhZ2U6Cglwcm90byAwIDAKCgkvLyB0aGlzIGlzIGFuIGVycm9yCgllcnIKCXJldHN1YgoKLy8gb3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vckxpdGVyYWxUeXBlOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvckxpdGVyYWxUeXBlKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBvckxpdGVyYWxUeXBlCglpbnQgMQoJcmV0dXJuCgovLyBvckxpdGVyYWxUeXBlKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApvckxpdGVyYWxUeXBlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAwCgkvLyBmb28gPSBhICYmIGIgPT09IDEgPyAyIDogMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpbnQgMQoJPT0KCSYmCgoqc2tpcF9hbmQwOgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnQgMgoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnQgMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMCAvLyBmb286IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAxCgkvLyBhc3NlcnQoZm9vKQoJZnJhbWVfZGlnIDAgLy8gZm9vOiB1aW50NjQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAzCgkvLyBiYXIgPSBhICYmIGIgPT09IDAgPyAnMicgOiAnMCcKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJaW50IDAKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJYnl0ZSAweDMyIC8vICIyIgoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglieXRlIDB4MzAgLy8gIjAiCgoqdGVybmFyeTFfZW5kOgoJZnJhbWVfYnVyeSAxIC8vIGJhcjogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDQKCS8vIGxvZyhiYXIpCglmcmFtZV9kaWcgMSAvLyBiYXI6IGJ5dGVbXQoJbG9nCglyZXRzdWIKCi8vIG5vbkFiaSgpOiB2b2lkCm5vbkFiaToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDkKCS8vIGFzc2VydCh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhLmxlbmd0aCkKCXR4biBOdW1BcHBBcmdzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhLmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipmb3JfMToKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTExCgkvLyBpIDwgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJdHhuIE51bUFwcEFyZ3MKCTwKCWJ6ICpmb3JfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMgoJLy8gbG9nKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbaV0pCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXR4bmFzIEFwcGxpY2F0aW9uQXJncwoJbG9nCgoqZm9yXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCXJldHN1YgoKLy8gbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCl2b2lkCiphYmlfcm91dGVfbXVsdGlsaW5lRnVuY3Rpb25DYWxsOgoJLy8gZXhlY3V0ZSBtdWx0aWxpbmVGdW5jdGlvbkNhbGwoKXZvaWQKCWNhbGxzdWIgbXVsdGlsaW5lRnVuY3Rpb25DYWxsCglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aWxpbmVGdW5jdGlvbkNhbGwoKTogdm9pZAptdWx0aWxpbmVGdW5jdGlvbkNhbGw6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTcKCS8vIGFwcCA9IEFwcElELnplcm9JbmRleAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBhcHA6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTE4CgkvLyBhZGRyID0gQWRkcmVzcy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9idXJ5IDEgLy8gYWRkcjogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTIwCgkvLyBhcHAubG9jYWxTdGF0ZSgKCS8vICAgICAgIGFkZHIsCgkvLyAgICAgICAna2V5JwoJLy8gICAgICkKCWZyYW1lX2RpZyAxIC8vIGFkZHI6IGFkZHJlc3MKCWludCAwIC8vIGFwcDogdWludDY0CglieXRlIDB4NmI2NTc5IC8vICJrZXkiCglhcHBfbG9jYWxfZ2V0X2V4CgoJLy8gbG9jYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IGFwcC5sb2NhbFN0YXRlKCBhZGRyLCAna2V5JyApCglhc3NlcnQKCXJldHN1YgoKLy8gYSgpdWludDY0CiphYmlfcm91dGVfYToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhKCl1aW50NjQKCWNhbGxzdWIgYQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGEoKTogdWludDY0CmE6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyNwoJLy8gcmV0dXJuIDM7CglpbnQgMwoJcmV0c3ViCgovLyBiKCl1aW50NjQKKmFiaV9yb3V0ZV9iOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGIoKXVpbnQ2NAoJY2FsbHN1YiBiCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYigpOiB1aW50NjQKYjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTMxCgkvLyByZXR1cm4gNTsKCWludCA1CglyZXRzdWIKCi8vIHVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQKKmFiaV9yb3V0ZV91bnVzZWRNZXRob2RWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1bnVzZWRNZXRob2RWYWx1ZSgpdWludDY0CgljYWxsc3ViIHVudXNlZE1ldGhvZFZhbHVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdW51c2VkTWV0aG9kVmFsdWUoKTogdWludDY0CnVudXNlZE1ldGhvZFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MzUKCS8vIHRoaXMuYSgpCgljYWxsc3ViIGEKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTM2CgkvLyByZXR1cm4gdGhpcy5iKCk7CgljYWxsc3ViIGIKCXJldHN1YgoKLy8gcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCl1aW50NjQKKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCl1aW50NjQKCWNhbGxzdWIgcmVhc3NpZ25lZE5vbkZpcnN0VmFyCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCk6IHVpbnQ2NApyZWFzc2lnbmVkTm9uRmlyc3RWYXI6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NDcKCS8vIGEgPSAxIGFzIHVpbnQ2NAoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU0OAoJLy8gYiA9IHRoaXMuYXBwLmlkCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglmcmFtZV9idXJ5IDEgLy8gYjogdWludDY0CgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTQ5CgkvLyBhCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjQKCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1MAoJLy8gYiA9IDIKCWludCAyCglmcmFtZV9idXJ5IDEgLy8gYjogdWludDY0CgoqaWYyX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTUzCgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAxIC8vIGI6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZnZMdigpdm9pZAoqYWJpX3JvdXRlX2Z2THY6CgkvLyBleGVjdXRlIGZ2THYoKXZvaWQKCWNhbGxzdWIgZnZMdgoJaW50IDEKCXJldHVybgoKLy8gZnZMdigpOiB2b2lkCmZ2THY6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1NwoJLy8gYXNzZXJ0KHRoaXMudHhuLmZpcnN0VmFsaWQpCgl0eG4gRmlyc3RWYWxpZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NTgKCS8vIGFzc2VydCh0aGlzLnR4bi5sYXN0VmFsaWQpCgl0eG4gTGFzdFZhbGlkCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR4blR5cGVFbnVtKCl2b2lkIgoJbWV0aG9kICJ0eG5Hcm91cExlbmd0aCgpdm9pZCIKCW1ldGhvZCAiYXNzZXJ0cyhib29sLGJvb2wpdm9pZCIKCW1ldGhvZCAidmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZCIKCW1ldGhvZCAidmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQiCgltZXRob2QgInZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQiCgltZXRob2QgInZlcmlmeVR4bk5vdEluY2x1ZGVkSW4oKXZvaWQiCgltZXRob2QgInN1Ym1pdFBlbmRpbmdHcm91cCgpdm9pZCIKCW1ldGhvZCAibWV0aG9kV2l0aFR4bkFyZ3MoKXZvaWQiCgltZXRob2QgInNoaWZ0KCl2b2lkIgoJbWV0aG9kICJmcm9tQnl0ZXMoKXZvaWQiCgltZXRob2QgImZyb21VaW50NjQoKXZvaWQiCgltZXRob2QgImJ6ZXJvRnVuY3Rpb24oKXZvaWQiCgltZXRob2QgImV2ZW50cygpdm9pZCIKCW1ldGhvZCAibGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdIgoJbWV0aG9kICJzdGF0aWNDb250cmFjdFByb3BlcnRpZXMoKXZvaWQiCgltZXRob2QgIm51bWJlclRvU3RyaW5nKCl2b2lkIgoJbWV0aG9kICJtZXRob2RPblBhcmVucygpdm9pZCIKCW1ldGhvZCAic3RyaW5nU3Vic3RyaW5nKCl2b2lkIgoJbWV0aG9kICJpZFByb3BlcnR5KCl2b2lkIgoJbWV0aG9kICJzY3JhdGNoU2xvdCgpdm9pZCIKCW1ldGhvZCAiZWNkc2EoKXZvaWQiCgltZXRob2QgInZlcmlmeVR4blR5cGVzKCl2b2lkIgoJbWV0aG9kICJzdHJpbmdQbHVzRXF1YWxzKCl2b2lkIgoJbWV0aG9kICJpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXSIKCW1ldGhvZCAiY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXIoKXZvaWQiCgltZXRob2QgImludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZCIKCW1ldGhvZCAiYXBwTG9hZFNjcmF0Y2goKXZvaWQiCgltZXRob2QgInVpbnROV2l0aFVuZGVyc2NvcmUoKXVpbnQyNTYiCgltZXRob2QgIm9wVXAoKXZvaWQiCgltZXRob2QgInJldHVyblZhbHVlT25Bc3NpZ25tZW50KClzdHJpbmciCgltZXRob2QgInJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NCIKCW1ldGhvZCAicmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQiCgltZXRob2QgInJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCl1aW50NjQiCgltZXRob2QgInJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0IgoJbWV0aG9kICJyZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NCIKCW1ldGhvZCAiY29uc3RzKCl2b2lkIgoJbWV0aG9kICJhc3NlcnRXaXRoTWVzc2FnZSgpdm9pZCIKCW1ldGhvZCAib3Bjb2RlQWxpYXNlcygpdm9pZCIKCW1ldGhvZCAidnJmVmVyaWZ5T3AoKXZvaWQiCgltZXRob2QgImVjTWF0aCgpdm9pZCIKCW1ldGhvZCAiZ2l0eG4oKXZvaWQiCgltZXRob2QgImdldFNldEJ5dGVzKCl2b2lkIgoJbWV0aG9kICJnZXRTZXRVaW50NjQoKXZvaWQiCgltZXRob2QgImJsb2NrT3AoKXZvaWQiCgltZXRob2QgImI2NCgpdm9pZCIKCW1ldGhvZCAianNvbigpdm9pZCIKCW1ldGhvZCAiYml0bGVuT3AoKXZvaWQiCgltZXRob2QgImNvbXB1dGVkQ29uc3QoKXZvaWQiCgltZXRob2QgIm11bHRpQ29tcHV0ZWRDb25zdCgpdm9pZCIKCW1ldGhvZCAicmVhZFNjaGVtYSgpdm9pZCIKCW1ldGhvZCAiY29tcGFyaXNvbk9yKClib29sIgoJbWV0aG9kICJ0eG5BcmdzTWV0aG9kKHBheSl2b2lkIgoJbWV0aG9kICJjYWxsVHhuQXJnc01ldGhvZCgpdm9pZCIKCW1ldGhvZCAic3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkIgoJbWV0aG9kICJzdGF0aWNUeXBlTGVuKCl2b2lkIgoJbWV0aG9kICJkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCgltZXRob2QgImluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkIgoJbWV0aG9kICJpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCgltZXRob2QgImZyb21BZGRyZXNzKCl2b2lkIgoJbWV0aG9kICJlYXJseVJldHVybih1aW50NjQpdWludDY0IgoJbWV0aG9kICJhc3NldE1ldGhvZEFyZ3MoKXZvaWQiCgltZXRob2QgIm11bHRpcGxlUHJvZ3JhbVBhZ2VzKCl2b2lkIgoJbWV0aG9kICJhc3NlcnRDb21tZW50KCl2b2lkIgoJbWV0aG9kICJ0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZCIKCW1ldGhvZCAib3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgIm11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZCIKCW1ldGhvZCAiYSgpdWludDY0IgoJbWV0aG9kICJiKCl1aW50NjQiCgltZXRob2QgInVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQiCgltZXRob2QgInJlYXNzaWduZWROb25GaXJzdFZhcigpdWludDY0IgoJbWV0aG9kICJmdkx2KCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlRW51bSAqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoICphYmlfcm91dGVfYXNzZXJ0cyAqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21BcmcgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Gcm9tVHhuR3JvdXAgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb24gKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluICphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbiAqYWJpX3JvdXRlX3N1Ym1pdFBlbmRpbmdHcm91cCAqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzICphYmlfcm91dGVfc2hpZnQgKmFiaV9yb3V0ZV9mcm9tQnl0ZXMgKmFiaV9yb3V0ZV9mcm9tVWludDY0ICphYmlfcm91dGVfYnplcm9GdW5jdGlvbiAqYWJpX3JvdXRlX2V2ZW50cyAqYWJpX3JvdXRlX2xldE9wdGltaXphdGlvbiAqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllcyAqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nICphYmlfcm91dGVfbWV0aG9kT25QYXJlbnMgKmFiaV9yb3V0ZV9zdHJpbmdTdWJzdHJpbmcgKmFiaV9yb3V0ZV9pZFByb3BlcnR5ICphYmlfcm91dGVfc2NyYXRjaFNsb3QgKmFiaV9yb3V0ZV9lY2RzYSAqYWJpX3JvdXRlX3ZlcmlmeVR4blR5cGVzICphYmlfcm91dGVfc3RyaW5nUGx1c0VxdWFscyAqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbSAqYWJpX3JvdXRlX2NhbGxQcml2YXRlRGVmaW5lZExhdGVyICphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2FwcExvYWRTY3JhdGNoICphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZSAqYWJpX3JvdXRlX29wVXAgKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX2NvbnN0cyAqYWJpX3JvdXRlX2Fzc2VydFdpdGhNZXNzYWdlICphYmlfcm91dGVfb3Bjb2RlQWxpYXNlcyAqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wICphYmlfcm91dGVfZWNNYXRoICphYmlfcm91dGVfZ2l0eG4gKmFiaV9yb3V0ZV9nZXRTZXRCeXRlcyAqYWJpX3JvdXRlX2dldFNldFVpbnQ2NCAqYWJpX3JvdXRlX2Jsb2NrT3AgKmFiaV9yb3V0ZV9iNjQgKmFiaV9yb3V0ZV9qc29uICphYmlfcm91dGVfYml0bGVuT3AgKmFiaV9yb3V0ZV9jb21wdXRlZENvbnN0ICphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0ICphYmlfcm91dGVfcmVhZFNjaGVtYSAqYWJpX3JvdXRlX2NvbXBhcmlzb25PciAqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2QgKmFiaV9yb3V0ZV9jYWxsVHhuQXJnc01ldGhvZCAqYWJpX3JvdXRlX3N0YXRpY1ZhbHVlTGVuICphYmlfcm91dGVfc3RhdGljVHlwZUxlbiAqYWJpX3JvdXRlX2R5bmFtaWNTY3JhdGNoU2xvdCAqYWJpX3JvdXRlX2luY3JlbWVudFNjcmF0Y2hTbG90ICphYmlfcm91dGVfaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90ICphYmlfcm91dGVfZnJvbUFkZHJlc3MgKmFiaV9yb3V0ZV9lYXJseVJldHVybiAqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJncyAqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzICphYmlfcm91dGVfYXNzZXJ0Q29tbWVudCAqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlICphYmlfcm91dGVfb3JMaXRlcmFsVHlwZSAqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfdW51c2VkTWV0aG9kVmFsdWUgKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXIgKmFiaV9yb3V0ZV9mdkx2CgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpCglpbnQgMQoJcmV0dXJuCgoqaW50VG9Bc2NpaToKCXByb3RvIDEgMQoJYnl0ZSAweDMwMzEzMjMzMzQzNTM2MzczODM5IC8vICIwMTIzNDU2Nzg5IgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEKCWV4dHJhY3QzCglyZXRzdWIKCQoKKml0b2E6Cglwcm90byAxIDEKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludCAwCgk9PQoJYnogKml0b2FfaWZfZW5kCglieXRlIDB4MzAKCXJldHN1YgoKKml0b2FfaWZfZW5kOgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgkvCglpbnQgMAoJPgoJYnogKml0b2FfdGVybmFyeV9mYWxzZQoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgkvCgljYWxsc3ViICppdG9hCgliICppdG9hX3Rlcm5hcnlfZW5kCgoqaXRvYV90ZXJuYXJ5X2ZhbHNlOgoJYnl0ZSAweCAvLyAiIgoKKml0b2FfdGVybmFyeV9lbmQ6CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMTAKCSUKCWNhbGxzdWIgKmludFRvQXNjaWkKCWNvbmNhdAoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/GeneralTest.arc56_draft.json b/tests/contracts/artifacts/GeneralTest.arc56_draft.json
index 11d8d651a..553e8e020 100644
--- a/tests/contracts/artifacts/GeneralTest.arc56_draft.json
+++ b/tests/contracts/artifacts/GeneralTest.arc56_draft.json
@@ -1119,13674 +1119,13677 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 49,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191,
- 192,
- 193,
- 194,
- 195,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 210,
- 211,
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 223,
- 224,
- 225
- ]
- },
- {
- "teal": 13,
- "source": 49,
- "pc": [
- 226,
- 227
- ]
- },
- {
- "teal": 14,
- "source": 49,
- "pc": [
- 228
- ]
- },
- {
- "teal": 15,
- "source": 49,
- "pc": [
- 229
- ]
- },
- {
- "teal": 16,
- "source": 49,
- "pc": [
- 230
- ]
- },
- {
- "teal": 17,
- "source": 49,
- "pc": [
- 231,
- 232
- ]
- },
- {
- "teal": 18,
- "source": 49,
- "pc": [
- 233
- ]
- },
- {
- "teal": 19,
- "source": 49,
- "pc": [
- 234,
- 235,
- 236,
- 237,
- 238,
- 239,
- 240,
- 241,
- 242,
- 243,
- 244,
- 245,
- 246,
- 247,
- 248,
- 249,
- 250,
- 251,
- 252,
- 253,
- 254,
- 255,
- 256,
- 257,
- 258,
- 259
- ]
- },
- {
- "teal": 23,
- "source": 49,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 260
- ]
- },
- {
- "teal": 28,
- "source": 60,
- "pc": [
- 261,
- 262,
- 263
- ]
- },
- {
- "teal": 29,
- "source": 60,
- "pc": [
- 264
- ]
- },
- {
- "teal": 30,
- "source": 60,
- "pc": [
- 265
- ]
- },
- {
- "teal": 34,
- "source": 60,
- "pc": [
- 266,
- 267,
- 268
- ]
- },
- {
- "teal": 38,
- "source": 61,
- "pc": [
- 269
- ]
- },
- {
- "teal": 39,
- "source": 61,
- "pc": [
- 270,
- 271
- ]
- },
- {
- "teal": 40,
- "source": 61,
- "pc": [
- 272
- ]
- },
- {
- "teal": 41,
- "source": 61,
- "pc": [
- 273
- ]
- },
- {
- "teal": 42,
- "source": 61,
- "pc": [
- 274
- ]
- },
- {
- "teal": 43,
- "source": 60,
- "pc": [
- 275
- ]
- },
- {
- "teal": 48,
- "source": 64,
- "pc": [
- 276,
- 277,
- 278
- ]
- },
- {
- "teal": 49,
- "source": 64,
- "pc": [
- 279
- ]
- },
- {
- "teal": 50,
- "source": 64,
- "pc": [
- 280
- ]
- },
- {
- "teal": 54,
- "source": 64,
- "pc": [
- 281,
- 282,
- 283
- ]
- },
- {
- "teal": 58,
- "source": 65,
- "pc": [
- 284,
- 285
- ]
- },
- {
- "teal": 59,
- "source": 65,
- "pc": [
- 286
- ]
- },
- {
- "teal": 60,
- "source": 65,
- "pc": [
- 287
- ]
- },
- {
- "teal": 61,
- "source": 65,
- "pc": [
- 288
- ]
- },
- {
- "teal": 62,
- "source": 64,
- "pc": [
- 289
- ]
- },
- {
- "teal": 67,
- "source": 68,
- "pc": [
- 290,
- 291,
- 292
- ]
- },
- {
- "teal": 68,
- "source": 68,
- "pc": [
- 293
- ]
- },
- {
- "teal": 69,
- "source": 68,
- "pc": [
- 294
- ]
- },
- {
- "teal": 70,
- "source": 68,
- "pc": [
- 295
- ]
- },
- {
- "teal": 71,
- "source": 68,
- "pc": [
- 296
- ]
- },
- {
- "teal": 74,
- "source": 68,
- "errorMessage": "argument 0 (arg2) for asserts must be a bool",
- "pc": [
- 297
- ]
- },
- {
- "teal": 75,
- "source": 68,
- "pc": [
- 298
- ]
- },
- {
- "teal": 76,
- "source": 68,
- "pc": [
- 299
- ]
- },
- {
- "teal": 79,
- "source": 68,
- "pc": [
- 300,
- 301,
- 302
- ]
- },
- {
- "teal": 80,
- "source": 68,
- "pc": [
- 303
- ]
- },
- {
- "teal": 81,
- "source": 68,
- "pc": [
- 304
- ]
- },
- {
- "teal": 82,
- "source": 68,
- "pc": [
- 305
- ]
- },
- {
- "teal": 83,
- "source": 68,
- "pc": [
- 306
- ]
- },
- {
- "teal": 86,
- "source": 68,
- "errorMessage": "argument 1 (arg1) for asserts must be a bool",
- "pc": [
- 307
- ]
- },
- {
- "teal": 87,
- "source": 68,
- "pc": [
- 308
- ]
- },
- {
- "teal": 88,
- "source": 68,
- "pc": [
- 309
- ]
- },
- {
- "teal": 91,
- "source": 68,
- "pc": [
- 310,
- 311,
- 312
- ]
- },
- {
- "teal": 92,
- "source": 68,
- "pc": [
- 313
- ]
- },
- {
- "teal": 93,
- "source": 68,
- "pc": [
- 314
- ]
- },
- {
- "teal": 97,
- "source": 68,
- "pc": [
- 315,
- 316,
- 317
- ]
- },
- {
- "teal": 101,
- "source": 69,
- "pc": [
- 318,
- 319
- ]
- },
- {
- "teal": 104,
- "source": 69,
- "errorMessage": "asserts failed: asserts(arg1, arg2, arg1 === arg2)",
- "pc": [
- 320
- ]
- },
- {
- "teal": 105,
- "source": 69,
- "pc": [
- 321,
- 322
- ]
- },
- {
- "teal": 108,
- "source": 69,
- "errorMessage": "asserts failed: asserts(arg1, arg2, arg1 === arg2)",
- "pc": [
- 323
- ]
- },
- {
- "teal": 109,
- "source": 69,
- "pc": [
- 324,
- 325
- ]
- },
- {
- "teal": 110,
- "source": 69,
- "pc": [
- 326,
- 327
- ]
- },
- {
- "teal": 111,
- "source": 69,
- "pc": [
- 328
- ]
- },
- {
- "teal": 114,
- "source": 69,
- "errorMessage": "asserts failed: asserts(arg1, arg2, arg1 === arg2)",
- "pc": [
- 329
- ]
- },
- {
- "teal": 115,
- "source": 68,
- "pc": [
- 330
- ]
- },
- {
- "teal": 120,
- "source": 72,
- "pc": [
- 331,
- 332
- ]
- },
- {
- "teal": 121,
- "source": 72,
- "pc": [
- 333
- ]
- },
- {
- "teal": 122,
- "source": 72,
- "pc": [
- 334
- ]
- },
- {
- "teal": 123,
- "source": 72,
- "pc": [
- 335
- ]
- },
- {
- "teal": 124,
- "source": 72,
- "pc": [
- 336,
- 337
- ]
- },
- {
- "teal": 125,
- "source": 72,
- "pc": [
- 338
- ]
- },
- {
- "teal": 126,
- "source": 72,
- "pc": [
- 339
- ]
- },
- {
- "teal": 129,
- "source": 72,
- "errorMessage": "argument 0 (somePay) for verifyTxnFromArg must be a pay transaction",
- "pc": [
- 340
- ]
- },
- {
- "teal": 132,
- "source": 72,
- "pc": [
- 341,
- 342,
- 343
- ]
- },
- {
- "teal": 133,
- "source": 72,
- "pc": [
- 344
- ]
- },
- {
- "teal": 134,
- "source": 72,
- "pc": [
- 345
- ]
- },
- {
- "teal": 138,
- "source": 72,
- "pc": [
- 346,
- 347,
- 348
- ]
- },
- {
- "teal": 143,
- "source": 73,
- "pc": [
- 349,
- 350
- ]
- },
- {
- "teal": 144,
- "source": 73,
- "pc": [
- 351,
- 352
- ]
- },
- {
- "teal": 145,
- "source": 73,
- "pc": [
- 353,
- 354
- ]
- },
- {
- "teal": 146,
- "source": 73,
- "pc": [
- 355
- ]
- },
- {
- "teal": 149,
- "source": 73,
- "errorMessage": "transaction verification failed: {\"txn\":\"somePay\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 356
- ]
- },
- {
- "teal": 152,
- "source": 73,
- "pc": [
- 357,
- 358
- ]
- },
- {
- "teal": 153,
- "source": 73,
- "pc": [
- 359,
- 360
- ]
- },
- {
- "teal": 154,
- "source": 73,
- "pc": [
- 361,
- 362
- ]
- },
- {
- "teal": 155,
- "source": 73,
- "pc": [
- 363
- ]
- },
- {
- "teal": 158,
- "source": 73,
- "errorMessage": "transaction verification failed: {\"txn\":\"somePay\",\"field\":\"amount\",\"expected\":\"100_000\"}",
- "pc": [
- 364
- ]
- },
- {
- "teal": 159,
- "source": 72,
- "pc": [
- 365
- ]
- },
- {
- "teal": 164,
- "source": 76,
- "pc": [
- 366,
- 367,
- 368
- ]
- },
- {
- "teal": 165,
- "source": 76,
- "pc": [
- 369
- ]
- },
- {
- "teal": 166,
- "source": 76,
- "pc": [
- 370
- ]
- },
- {
- "teal": 170,
- "source": 76,
- "pc": [
- 371,
- 372,
- 373
- ]
- },
- {
- "teal": 175,
- "source": 77,
- "pc": [
- 374
- ]
- },
- {
- "teal": 176,
- "source": 77,
- "pc": [
- 375,
- 376
- ]
- },
- {
- "teal": 177,
- "source": 77,
- "pc": [
- 377,
- 378
- ]
- },
- {
- "teal": 178,
- "source": 77,
- "pc": [
- 379
- ]
- },
- {
- "teal": 181,
- "source": 77,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
- "pc": [
- 380
- ]
- },
- {
- "teal": 182,
- "source": 76,
- "pc": [
- 381
- ]
- },
- {
- "teal": 187,
- "source": 80,
- "pc": [
- 382,
- 383,
- 384
- ]
- },
- {
- "teal": 188,
- "source": 80,
- "pc": [
- 385
- ]
- },
- {
- "teal": 189,
- "source": 80,
- "pc": [
- 386
- ]
- },
- {
- "teal": 193,
- "source": 80,
- "pc": [
- 387,
- 388,
- 389
- ]
- },
- {
- "teal": 200,
- "source": 82,
- "pc": [
- 390,
- 391
- ]
- },
- {
- "teal": 201,
- "source": 82,
- "pc": [
- 392
- ]
- },
- {
- "teal": 202,
- "source": 82,
- "pc": [
- 393
- ]
- },
- {
- "teal": 205,
- "source": 82,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"applicationID\",\"condition\":\"greaterThan\",\"expected\":\">1\"}",
- "pc": [
- 394
- ]
- },
- {
- "teal": 206,
- "source": 80,
- "pc": [
- 395
- ]
- },
- {
- "teal": 211,
- "source": 86,
- "pc": [
- 396,
- 397,
- 398
- ]
- },
- {
- "teal": 212,
- "source": 86,
- "pc": [
- 399
- ]
- },
- {
- "teal": 213,
- "source": 86,
- "pc": [
- 400
- ]
- },
- {
- "teal": 217,
- "source": 86,
- "pc": [
- 401,
- 402,
- 403
- ]
- },
- {
- "teal": 224,
- "source": 88,
- "pc": [
- 404,
- 405
- ]
- },
- {
- "teal": 225,
- "source": 88,
- "pc": [
- 406,
- 407
- ]
- },
- {
- "teal": 226,
- "source": 88,
- "pc": [
- 408
- ]
- },
- {
- "teal": 229,
- "source": 88,
- "errorMessage": "transaction verification failed: {\"txn\":{\"txnText\":\"this.txn\"},\"field\":\"sender\",\"condition\":\"includedIn\",\"expected\":\"[this.txn.sender]\"}",
- "pc": [
- 409
- ]
- },
- {
- "teal": 230,
- "source": 86,
- "pc": [
- 410
- ]
- },
- {
- "teal": 235,
- "source": 92,
- "pc": [
- 411,
- 412,
- 413
- ]
- },
- {
- "teal": 236,
- "source": 92,
- "pc": [
- 414
- ]
- },
- {
- "teal": 237,
- "source": 92,
- "pc": [
- 415
- ]
- },
- {
- "teal": 241,
- "source": 92,
- "pc": [
- 416,
- 417,
- 418
- ]
- },
- {
- "teal": 248,
- "source": 94,
- "pc": [
- 419,
- 420
- ]
- },
- {
- "teal": 249,
- "source": 94,
- "pc": [
- 421,
- 422
- ]
- },
- {
- "teal": 250,
- "source": 94,
- "pc": [
- 423
- ]
- },
- {
- "teal": 253,
- "source": 94,
- "errorMessage": "transaction verification failed: {\"txn\":{\"txnText\":\"this.txn\"},\"field\":\"sender\",\"condition\":\"notIncludedIn\",\"expected\":\"[globals.zeroAddress]\"}",
- "pc": [
- 424
- ]
- },
- {
- "teal": 254,
- "source": 92,
- "pc": [
- 425
- ]
- },
- {
- "teal": 259,
- "source": 98,
- "pc": [
- 426,
- 427,
- 428
- ]
- },
- {
- "teal": 260,
- "source": 98,
- "pc": [
- 429
- ]
- },
- {
- "teal": 261,
- "source": 98,
- "pc": [
- 430
- ]
- },
- {
- "teal": 265,
- "source": 98,
- "pc": [
- 431,
- 432,
- 433
- ]
- },
- {
- "teal": 269,
- "source": 99,
- "pc": [
- 434
- ]
- },
- {
- "teal": 270,
- "source": 99,
- "pc": [
- 435
- ]
- },
- {
- "teal": 271,
- "source": 99,
- "pc": [
- 436,
- 437
- ]
- },
- {
- "teal": 275,
- "source": 99,
- "pc": [
- 438
- ]
- },
- {
- "teal": 276,
- "source": 99,
- "pc": [
- 439,
- 440
- ]
- },
- {
- "teal": 280,
- "source": 99,
- "pc": [
- 441,
- 442
- ]
- },
- {
- "teal": 281,
- "source": 99,
- "pc": [
- 443,
- 444
- ]
- },
- {
- "teal": 284,
- "source": 99,
- "pc": [
- 445
- ]
- },
- {
- "teal": 285,
- "source": 99,
- "pc": [
- 446,
- 447
- ]
- },
- {
- "teal": 289,
- "source": 100,
- "pc": [
- 448
- ]
- },
- {
- "teal": 290,
- "source": 100,
- "pc": [
- 449
- ]
- },
- {
- "teal": 291,
- "source": 100,
- "pc": [
- 450,
- 451
- ]
- },
- {
- "teal": 295,
- "source": 100,
- "pc": [
- 452
- ]
- },
- {
- "teal": 296,
- "source": 100,
- "pc": [
- 453,
- 454
- ]
- },
- {
- "teal": 300,
- "source": 100,
- "pc": [
- 455,
- 456
- ]
- },
- {
- "teal": 301,
- "source": 100,
- "pc": [
- 457,
- 458
- ]
- },
- {
- "teal": 305,
- "source": 100,
- "pc": [
- 459
- ]
- },
- {
- "teal": 306,
- "source": 100,
- "pc": [
- 460,
- 461
- ]
- },
- {
- "teal": 309,
- "source": 100,
- "pc": [
- 462
- ]
- },
- {
- "teal": 310,
- "source": 100,
- "pc": [
- 463,
- 464
- ]
- },
- {
- "teal": 314,
- "source": 101,
- "pc": [
- 465
- ]
- },
- {
- "teal": 315,
- "source": 98,
- "pc": [
- 466
- ]
- },
- {
- "teal": 320,
- "source": 104,
- "pc": [
- 467,
- 468,
- 469
- ]
- },
- {
- "teal": 321,
- "source": 104,
- "pc": [
- 470
- ]
- },
- {
- "teal": 322,
- "source": 104,
- "pc": [
- 471
- ]
- },
- {
- "teal": 326,
- "source": 104,
- "pc": [
- 472,
- 473,
- 474
- ]
- },
- {
- "teal": 340,
- "source": 108,
- "pc": [
- 475
- ]
- },
- {
- "teal": 341,
- "source": 108,
- "pc": [
- 476
- ]
- },
- {
- "teal": 342,
- "source": 108,
- "pc": [
- 477,
- 478
- ]
- },
- {
- "teal": 346,
- "source": 108,
- "pc": [
- 479,
- 480
- ]
- },
- {
- "teal": 347,
- "source": 108,
- "pc": [
- 481,
- 482
- ]
- },
- {
- "teal": 351,
- "source": 108,
- "pc": [
- 483,
- 484
- ]
- },
- {
- "teal": 352,
- "source": 108,
- "pc": [
- 485,
- 486
- ]
- },
- {
- "teal": 355,
- "source": 108,
- "pc": [
- 487
- ]
- },
- {
- "teal": 356,
- "source": 108,
- "pc": [
- 488,
- 489
- ]
- },
- {
- "teal": 357,
- "source": 109,
- "pc": [
- 490
- ]
- },
- {
- "teal": 358,
- "source": 109,
- "pc": [
- 491
- ]
- },
- {
- "teal": 359,
- "source": 109,
- "pc": [
- 492,
- 493
- ]
- },
- {
- "teal": 360,
- "source": 110,
- "pc": [
- 494,
- 495,
- 496,
- 497,
- 498,
- 499
- ]
- },
- {
- "teal": 361,
- "source": 110,
- "pc": [
- 500,
- 501
- ]
- },
- {
- "teal": 365,
- "source": 111,
- "pc": [
- 502,
- 503
- ]
- },
- {
- "teal": 366,
- "source": 111,
- "pc": [
- 504,
- 505
- ]
- },
- {
- "teal": 370,
- "source": 112,
- "pc": [
- 506,
- 507
- ]
- },
- {
- "teal": 371,
- "source": 112,
- "pc": [
- 508,
- 509
- ]
- },
- {
- "teal": 374,
- "source": 109,
- "pc": [
- 510
- ]
- },
- {
- "teal": 375,
- "source": 109,
- "pc": [
- 511,
- 512
- ]
- },
- {
- "teal": 376,
- "source": 105,
- "pc": [
- 513
- ]
- },
- {
- "teal": 377,
- "source": 105,
- "pc": [
- 514
- ]
- },
- {
- "teal": 378,
- "source": 105,
- "pc": [
- 515,
- 516
- ]
- },
- {
- "teal": 379,
- "source": 106,
- "pc": [
- 517,
- 518,
- 519,
- 520,
- 521,
- 522
- ]
- },
- {
- "teal": 380,
- "source": 106,
- "pc": [
- 523,
- 524
- ]
- },
- {
- "teal": 392,
- "source": 105,
- "pc": [
- 525
- ]
- },
- {
- "teal": 393,
- "source": 105,
- "pc": [
- 526,
- 527
- ]
- },
- {
- "teal": 396,
- "source": 105,
- "pc": [
- 528
- ]
- },
- {
- "teal": 397,
- "source": 104,
- "pc": [
- 529
- ]
- },
- {
- "teal": 402,
- "source": 118,
- "pc": [
- 530,
- 531,
- 532
- ]
- },
- {
- "teal": 403,
- "source": 118,
- "pc": [
- 533
- ]
- },
- {
- "teal": 404,
- "source": 118,
- "pc": [
- 534
- ]
- },
- {
- "teal": 408,
- "source": 118,
- "pc": [
- 535,
- 536,
- 537
- ]
- },
- {
- "teal": 412,
- "source": 119,
- "pc": [
- 538
- ]
- },
- {
- "teal": 413,
- "source": 119,
- "pc": [
- 539
- ]
- },
- {
- "teal": 414,
- "source": 119,
- "pc": [
- 540
- ]
- },
- {
- "teal": 415,
- "source": 119,
- "pc": [
- 541,
- 542
- ]
- },
- {
- "teal": 416,
- "source": 119,
- "pc": [
- 543
- ]
- },
- {
- "teal": 417,
- "source": 119,
- "pc": [
- 544
- ]
- },
- {
- "teal": 421,
- "source": 120,
- "pc": [
- 545,
- 546
- ]
- },
- {
- "teal": 422,
- "source": 120,
- "pc": [
- 547
- ]
- },
- {
- "teal": 423,
- "source": 120,
- "pc": [
- 548
- ]
- },
- {
- "teal": 424,
- "source": 120,
- "pc": [
- 549
- ]
- },
- {
- "teal": 425,
- "source": 120,
- "pc": [
- 550
- ]
- },
- {
- "teal": 426,
- "source": 120,
- "pc": [
- 551
- ]
- },
- {
- "teal": 427,
- "source": 118,
- "pc": [
- 552
- ]
- },
- {
- "teal": 432,
- "source": 123,
- "pc": [
- 553,
- 554,
- 555
- ]
- },
- {
- "teal": 433,
- "source": 123,
- "pc": [
- 556
- ]
- },
- {
- "teal": 434,
- "source": 123,
- "pc": [
- 557
- ]
- },
- {
- "teal": 438,
- "source": 123,
- "pc": [
- 558,
- 559,
- 560
- ]
- },
- {
- "teal": 442,
- "source": 124,
- "pc": [
- 561,
- 562,
- 563,
- 564,
- 565
- ]
- },
- {
- "teal": 443,
- "source": 124,
- "pc": [
- 566,
- 567
- ]
- },
- {
- "teal": 444,
- "source": 124,
- "pc": [
- 568
- ]
- },
- {
- "teal": 445,
- "source": 124,
- "pc": [
- 569
- ]
- },
- {
- "teal": 446,
- "source": 123,
- "pc": [
- 570
- ]
- },
- {
- "teal": 451,
- "source": 127,
- "pc": [
- 571,
- 572,
- 573
- ]
- },
- {
- "teal": 452,
- "source": 127,
- "pc": [
- 574
- ]
- },
- {
- "teal": 453,
- "source": 127,
- "pc": [
- 575
- ]
- },
- {
- "teal": 457,
- "source": 127,
- "pc": [
- 576,
- 577,
- 578
- ]
- },
- {
- "teal": 461,
- "source": 128,
- "pc": [
- 579,
- 580
- ]
- },
- {
- "teal": 462,
- "source": 128,
- "pc": [
- 581,
- 582
- ]
- },
- {
- "teal": 463,
- "source": 128,
- "pc": [
- 583
- ]
- },
- {
- "teal": 464,
- "source": 128,
- "pc": [
- 584
- ]
- },
- {
- "teal": 468,
- "source": 129,
- "pc": [
- 585,
- 586
- ]
- },
- {
- "teal": 469,
- "source": 129,
- "pc": [
- 587,
- 588
- ]
- },
- {
- "teal": 470,
- "source": 129,
- "pc": [
- 589
- ]
- },
- {
- "teal": 471,
- "source": 129,
- "pc": [
- 590
- ]
- },
- {
- "teal": 472,
- "source": 127,
- "pc": [
- 591
- ]
- },
- {
- "teal": 477,
- "source": 132,
- "pc": [
- 592,
- 593,
- 594
- ]
- },
- {
- "teal": 478,
- "source": 132,
- "pc": [
- 595
- ]
- },
- {
- "teal": 479,
- "source": 132,
- "pc": [
- 596
- ]
- },
- {
- "teal": 483,
- "source": 132,
- "pc": [
- 597,
- 598,
- 599
- ]
- },
- {
- "teal": 486,
- "source": 132,
- "pc": [
- 600
- ]
- },
- {
- "teal": 487,
- "source": 132,
- "pc": [
- 601,
- 602
- ]
- },
- {
- "teal": 491,
- "source": 134,
- "pc": [
- 603,
- 604
- ]
- },
- {
- "teal": 492,
- "source": 134,
- "pc": [
- 605,
- 606
- ]
- },
- {
- "teal": 496,
- "source": 135,
- "pc": [
- 607
- ]
- },
- {
- "teal": 497,
- "source": 135,
- "pc": [
- 608
- ]
- },
- {
- "teal": 498,
- "source": 135,
- "pc": [
- 609,
- 610
- ]
- },
- {
- "teal": 502,
- "source": 136,
- "pc": [
- 611,
- 612
- ]
- },
- {
- "teal": 503,
- "source": 136,
- "pc": [
- 613,
- 614
- ]
- },
- {
- "teal": 507,
- "source": 137,
- "pc": [
- 615,
- 616
- ]
- },
- {
- "teal": 508,
- "source": 137,
- "pc": [
- 617,
- 618
- ]
- },
- {
- "teal": 509,
- "source": 137,
- "pc": [
- 619
- ]
- },
- {
- "teal": 510,
- "source": 137,
- "pc": [
- 620,
- 621
- ]
- },
- {
- "teal": 511,
- "source": 137,
- "pc": [
- 622
- ]
- },
- {
- "teal": 512,
- "source": 137,
- "pc": [
- 623
- ]
- },
- {
- "teal": 513,
- "source": 137,
- "pc": [
- 624,
- 625
- ]
- },
- {
- "teal": 514,
- "source": 137,
- "pc": [
- 626
- ]
- },
- {
- "teal": 515,
- "source": 137,
- "pc": [
- 627
- ]
- },
- {
- "teal": 516,
- "source": 132,
- "pc": [
- 628
- ]
- },
- {
- "teal": 521,
- "source": 151,
- "pc": [
- 629,
- 630,
- 631
- ]
- },
- {
- "teal": 522,
- "source": 151,
- "pc": [
- 632
- ]
- },
- {
- "teal": 523,
- "source": 151,
- "pc": [
- 633
- ]
- },
- {
- "teal": 527,
- "source": 151,
- "pc": [
- 634,
- 635,
- 636
- ]
- },
- {
- "teal": 531,
- "source": 152,
- "pc": [
- 637,
- 638,
- 639,
- 640,
- 641,
- 642
- ]
- },
- {
- "teal": 532,
- "source": 152,
- "pc": [
- 643,
- 644,
- 645
- ]
- },
- {
- "teal": 533,
- "source": 152,
- "pc": [
- 646
- ]
- },
- {
- "teal": 534,
- "source": 152,
- "pc": [
- 647,
- 648
- ]
- },
- {
- "teal": 535,
- "source": 152,
- "pc": [
- 649
- ]
- },
- {
- "teal": 536,
- "source": 152,
- "pc": [
- 650
- ]
- },
- {
- "teal": 537,
- "source": 152,
- "pc": [
- 651
- ]
- },
- {
- "teal": 538,
- "source": 151,
- "pc": [
- 652
- ]
- },
- {
- "teal": 543,
- "source": 155,
- "pc": [
- 653
- ]
- },
- {
- "teal": 546,
- "source": 155,
- "pc": [
- 654,
- 655,
- 656
- ]
- },
- {
- "teal": 547,
- "source": 155,
- "pc": [
- 657,
- 658,
- 659
- ]
- },
- {
- "teal": 550,
- "source": 155,
- "pc": [
- 660,
- 661,
- 662
- ]
- },
- {
- "teal": 551,
- "source": 155,
- "pc": [
- 663
- ]
- },
- {
- "teal": 552,
- "source": 155,
- "pc": [
- 664
- ]
- },
- {
- "teal": 553,
- "source": 155,
- "pc": [
- 665,
- 666
- ]
- },
- {
- "teal": 554,
- "source": 155,
- "pc": [
- 667
- ]
- },
- {
- "teal": 555,
- "source": 155,
- "pc": [
- 668
- ]
- },
- {
- "teal": 556,
- "source": 155,
- "pc": [
- 669,
- 670,
- 671
- ]
- },
- {
- "teal": 557,
- "source": 155,
- "pc": [
- 672
- ]
- },
- {
- "teal": 558,
- "source": 155,
- "pc": [
- 673
- ]
- },
- {
- "teal": 559,
- "source": 155,
- "pc": [
- 674
- ]
- },
- {
- "teal": 560,
- "source": 155,
- "pc": [
- 675
- ]
- },
- {
- "teal": 561,
- "source": 155,
- "pc": [
- 676
- ]
- },
- {
- "teal": 562,
- "source": 155,
- "pc": [
- 677
- ]
- },
- {
- "teal": 566,
- "source": 155,
- "pc": [
- 678,
- 679,
- 680
- ]
- },
- {
- "teal": 570,
- "source": 156,
- "pc": [
- 681,
- 682
- ]
- },
- {
- "teal": 571,
- "source": 156,
- "pc": [
- 683,
- 684
- ]
- },
- {
- "teal": 572,
- "source": 156,
- "pc": [
- 685,
- 686
- ]
- },
- {
- "teal": 573,
- "source": 156,
- "pc": [
- 687,
- 688,
- 689
- ]
- },
- {
- "teal": 574,
- "source": 156,
- "pc": [
- 690
- ]
- },
- {
- "teal": 575,
- "source": 156,
- "pc": [
- 691
- ]
- },
- {
- "teal": 579,
- "source": 158,
- "pc": [
- 692,
- 693
- ]
- },
- {
- "teal": 580,
- "source": 158,
- "pc": [
- 694,
- 695
- ]
- },
- {
- "teal": 584,
- "source": 160,
- "pc": [
- 696,
- 697
- ]
- },
- {
- "teal": 585,
- "source": 155,
- "pc": [
- 698
- ]
- },
- {
- "teal": 590,
- "source": 163,
- "pc": [
- 699,
- 700,
- 701
- ]
- },
- {
- "teal": 591,
- "source": 163,
- "pc": [
- 702
- ]
- },
- {
- "teal": 592,
- "source": 163,
- "pc": [
- 703
- ]
- },
- {
- "teal": 596,
- "source": 163,
- "pc": [
- 704,
- 705,
- 706
- ]
- },
- {
- "teal": 608,
- "source": 164,
- "pc": [
- 707
- ]
- },
- {
- "teal": 609,
- "source": 164,
- "pc": [
- 708
- ]
- },
- {
- "teal": 610,
- "source": 164,
- "pc": [
- 709,
- 710
- ]
- },
- {
- "teal": 614,
- "source": 165,
- "pc": [
- 711
- ]
- },
- {
- "teal": 615,
- "source": 165,
- "pc": [
- 712,
- 713
- ]
- },
- {
- "teal": 619,
- "source": 166,
- "pc": [
- 714,
- 715,
- 716,
- 717,
- 718,
- 719,
- 720,
- 721,
- 722,
- 723,
- 724,
- 725,
- 726,
- 727,
- 728,
- 729,
- 730,
- 731,
- 732,
- 733,
- 734,
- 735,
- 736,
- 737,
- 738,
- 739,
- 740,
- 741,
- 742,
- 743,
- 744,
- 745,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 752,
- 753,
- 754,
- 755,
- 756,
- 757,
- 758,
- 759,
- 760,
- 761,
- 762,
- 763,
- 764,
- 765,
- 766,
- 767,
- 768,
- 769
- ]
- },
- {
- "teal": 620,
- "source": 166,
- "pc": [
- 770,
- 771
- ]
- },
- {
- "teal": 624,
- "source": 167,
- "pc": [
- 772,
- 773,
- 774
- ]
- },
- {
- "teal": 625,
- "source": 167,
- "pc": [
- 775,
- 776
- ]
- },
- {
- "teal": 629,
- "source": 168,
- "pc": [
- 777
- ]
- },
- {
- "teal": 630,
- "source": 168,
- "pc": [
- 778,
- 779
- ]
- },
- {
- "teal": 634,
- "source": 169,
- "pc": [
- 780
- ]
- },
- {
- "teal": 635,
- "source": 169,
- "pc": [
- 781,
- 782
- ]
- },
- {
- "teal": 639,
- "source": 170,
- "pc": [
- 783
- ]
- },
- {
- "teal": 640,
- "source": 170,
- "pc": [
- 784,
- 785
- ]
- },
- {
- "teal": 644,
- "source": 171,
- "pc": [
- 786
- ]
- },
- {
- "teal": 645,
- "source": 171,
- "pc": [
- 787,
- 788
- ]
- },
- {
- "teal": 648,
- "source": 164,
- "pc": [
- 789
- ]
- },
- {
- "teal": 649,
- "source": 164,
- "pc": [
- 790,
- 791
- ]
- },
- {
- "teal": 652,
- "source": 164,
- "pc": [
- 792
- ]
- },
- {
- "teal": 653,
- "source": 163,
- "pc": [
- 793
- ]
- },
- {
- "teal": 658,
- "source": 175,
- "pc": [
- 794,
- 795,
- 796
- ]
- },
- {
- "teal": 659,
- "source": 175,
- "pc": [
- 797
- ]
- },
- {
- "teal": 660,
- "source": 175,
- "pc": [
- 798
- ]
- },
- {
- "teal": 664,
- "source": 175,
- "pc": [
- 799,
- 800,
- 801
- ]
- },
- {
- "teal": 668,
- "source": 178,
- "pc": [
- 802
- ]
- },
- {
- "teal": 669,
- "source": 178,
- "pc": [
- 803,
- 804,
- 805
- ]
- },
- {
- "teal": 670,
- "source": 178,
- "pc": [
- 806,
- 807,
- 808
- ]
- },
- {
- "teal": 671,
- "source": 178,
- "pc": [
- 809
- ]
- },
- {
- "teal": 672,
- "source": 178,
- "pc": [
- 810
- ]
- },
- {
- "teal": 673,
- "source": 175,
- "pc": [
- 811
- ]
- },
- {
- "teal": 678,
- "source": 181,
- "pc": [
- 812,
- 813,
- 814
- ]
- },
- {
- "teal": 679,
- "source": 181,
- "pc": [
- 815
- ]
- },
- {
- "teal": 680,
- "source": 181,
- "pc": [
- 816
- ]
- },
- {
- "teal": 684,
- "source": 181,
- "pc": [
- 817,
- 818,
- 819
- ]
- },
- {
- "teal": 688,
- "source": 182,
- "pc": [
- 820,
- 821
- ]
- },
- {
- "teal": 689,
- "source": 182,
- "pc": [
- 822,
- 823,
- 824
- ]
- },
- {
- "teal": 690,
- "source": 182,
- "pc": [
- 825,
- 826,
- 827
- ]
- },
- {
- "teal": 691,
- "source": 182,
- "pc": [
- 828
- ]
- },
- {
- "teal": 692,
- "source": 182,
- "pc": [
- 829
- ]
- },
- {
- "teal": 693,
- "source": 181,
- "pc": [
- 830
- ]
- },
- {
- "teal": 698,
- "source": 185,
- "pc": [
- 831,
- 832,
- 833
- ]
- },
- {
- "teal": 699,
- "source": 185,
- "pc": [
- 834
- ]
- },
- {
- "teal": 700,
- "source": 185,
- "pc": [
- 835
- ]
- },
- {
- "teal": 704,
- "source": 185,
- "pc": [
- 836,
- 837,
- 838
- ]
- },
- {
- "teal": 708,
- "source": 187,
- "pc": [
- 839,
- 840,
- 841,
- 842,
- 843,
- 844,
- 845,
- 846
- ]
- },
- {
- "teal": 709,
- "source": 187,
- "pc": [
- 847,
- 848,
- 849
- ]
- },
- {
- "teal": 710,
- "source": 187,
- "pc": [
- 850,
- 851,
- 852,
- 853
- ]
- },
- {
- "teal": 711,
- "source": 187,
- "pc": [
- 854
- ]
- },
- {
- "teal": 712,
- "source": 187,
- "pc": [
- 855
- ]
- },
- {
- "teal": 713,
- "source": 185,
- "pc": [
- 856
- ]
- },
- {
- "teal": 718,
- "source": 190,
- "pc": [
- 857,
- 858,
- 859
- ]
- },
- {
- "teal": 719,
- "source": 190,
- "pc": [
- 860
- ]
- },
- {
- "teal": 720,
- "source": 190,
- "pc": [
- 861
- ]
- },
- {
- "teal": 724,
- "source": 190,
- "pc": [
- 862,
- 863,
- 864
- ]
- },
- {
- "teal": 727,
- "source": 190,
- "pc": [
- 865
- ]
- },
- {
- "teal": 728,
- "source": 190,
- "pc": [
- 866
- ]
- },
- {
- "teal": 732,
- "source": 191,
- "pc": [
- 867
- ]
- },
- {
- "teal": 733,
- "source": 191,
- "pc": [
- 868,
- 869
- ]
- },
- {
- "teal": 737,
- "source": 192,
- "pc": [
- 870
- ]
- },
- {
- "teal": 738,
- "source": 192,
- "pc": [
- 871
- ]
- },
- {
- "teal": 739,
- "source": 192,
- "pc": [
- 872
- ]
- },
- {
- "teal": 740,
- "source": 192,
- "pc": [
- 873
- ]
- },
- {
- "teal": 744,
- "source": 194,
- "pc": [
- 874
- ]
- },
- {
- "teal": 745,
- "source": 194,
- "pc": [
- 875,
- 876
- ]
- },
- {
- "teal": 749,
- "source": 195,
- "pc": [
- 877
- ]
- },
- {
- "teal": 750,
- "source": 195,
- "pc": [
- 878
- ]
- },
- {
- "teal": 751,
- "source": 195,
- "pc": [
- 879
- ]
- },
- {
- "teal": 752,
- "source": 195,
- "pc": [
- 880
- ]
- },
- {
- "teal": 753,
- "source": 190,
- "pc": [
- 881
- ]
- },
- {
- "teal": 758,
- "source": 198,
- "pc": [
- 882,
- 883,
- 884
- ]
- },
- {
- "teal": 759,
- "source": 198,
- "pc": [
- 885
- ]
- },
- {
- "teal": 760,
- "source": 198,
- "pc": [
- 886
- ]
- },
- {
- "teal": 764,
- "source": 198,
- "pc": [
- 887,
- 888,
- 889
- ]
- },
- {
- "teal": 768,
- "source": 199,
- "pc": [
- 890,
- 891
- ]
- },
- {
- "teal": 769,
- "source": 199,
- "pc": [
- 892,
- 893
- ]
- },
- {
- "teal": 773,
- "source": 200,
- "pc": [
- 894,
- 895
- ]
- },
- {
- "teal": 774,
- "source": 200,
- "pc": [
- 896,
- 897
- ]
- },
- {
- "teal": 775,
- "source": 200,
- "pc": [
- 898
- ]
- },
- {
- "teal": 776,
- "source": 200,
- "pc": [
- 899
- ]
- },
- {
- "teal": 777,
- "source": 198,
- "pc": [
- 900
- ]
- },
- {
- "teal": 782,
- "source": 203,
- "pc": [
- 901,
- 902,
- 903
- ]
- },
- {
- "teal": 783,
- "source": 203,
- "pc": [
- 904
- ]
- },
- {
- "teal": 784,
- "source": 203,
- "pc": [
- 905
- ]
- },
- {
- "teal": 788,
- "source": 203,
- "pc": [
- 906,
- 907,
- 908
- ]
- },
- {
- "teal": 791,
- "source": 203,
- "pc": [
- 909
- ]
- },
- {
- "teal": 792,
- "source": 203,
- "pc": [
- 910,
- 911
- ]
- },
- {
- "teal": 796,
- "source": 204,
- "pc": [
- 912,
- 913
- ]
- },
- {
- "teal": 797,
- "source": 204,
- "pc": [
- 914,
- 915
- ]
- },
- {
- "teal": 798,
- "source": 204,
- "pc": [
- 916,
- 917
- ]
- },
- {
- "teal": 802,
- "source": 205,
- "pc": [
- 918,
- 919,
- 920,
- 921,
- 922,
- 923,
- 924,
- 925,
- 926,
- 927,
- 928,
- 929,
- 930,
- 931,
- 932,
- 933,
- 934,
- 935,
- 936,
- 937,
- 938,
- 939,
- 940,
- 941,
- 942,
- 943,
- 944,
- 945,
- 946,
- 947,
- 948,
- 949,
- 950,
- 951,
- 952
- ]
- },
- {
- "teal": 803,
- "source": 205,
- "pc": [
- 953,
- 954
- ]
- },
- {
- "teal": 804,
- "source": 205,
- "pc": [
- 955,
- 956
- ]
- },
- {
- "teal": 805,
- "source": 205,
- "pc": [
- 957,
- 958
- ]
- },
- {
- "teal": 809,
- "source": 206,
- "pc": [
- 959,
- 960
- ]
- },
- {
- "teal": 810,
- "source": 206,
- "pc": [
- 961
- ]
- },
- {
- "teal": 814,
- "source": 207,
- "pc": [
- 962,
- 963
- ]
- },
- {
- "teal": 815,
- "source": 207,
- "pc": [
- 964
- ]
- },
- {
- "teal": 819,
- "source": 209,
- "pc": [
- 965,
- 966
- ]
- },
- {
- "teal": 820,
- "source": 209,
- "pc": [
- 967
- ]
- },
- {
- "teal": 821,
- "source": 209,
- "pc": [
- 968,
- 969
- ]
- },
- {
- "teal": 822,
- "source": 209,
- "pc": [
- 970
- ]
- },
- {
- "teal": 823,
- "source": 209,
- "pc": [
- 971,
- 972
- ]
- },
- {
- "teal": 824,
- "source": 209,
- "pc": [
- 973,
- 974
- ]
- },
- {
- "teal": 825,
- "source": 209,
- "pc": [
- 975,
- 976
- ]
- },
- {
- "teal": 829,
- "source": 210,
- "pc": [
- 977,
- 978
- ]
- },
- {
- "teal": 830,
- "source": 210,
- "pc": [
- 979
- ]
- },
- {
- "teal": 834,
- "source": 211,
- "pc": [
- 980,
- 981
- ]
- },
- {
- "teal": 835,
- "source": 211,
- "pc": [
- 982
- ]
- },
- {
- "teal": 836,
- "source": 203,
- "pc": [
- 983
- ]
- },
- {
- "teal": 841,
- "source": 214,
- "pc": [
- 984,
- 985,
- 986
- ]
- },
- {
- "teal": 842,
- "source": 214,
- "pc": [
- 987
- ]
- },
- {
- "teal": 843,
- "source": 214,
- "pc": [
- 988
- ]
- },
- {
- "teal": 847,
- "source": 214,
- "pc": [
- 989,
- 990,
- 991
- ]
- },
- {
- "teal": 854,
- "source": 215,
- "pc": [
- 992
- ]
- },
- {
- "teal": 855,
- "source": 215,
- "pc": [
- 993,
- 994
- ]
- },
- {
- "teal": 856,
- "source": 215,
- "pc": [
- 995
- ]
- },
- {
- "teal": 857,
- "source": 215,
- "pc": [
- 996
- ]
- },
- {
- "teal": 860,
- "source": 215,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"typeEnum\",\"expected\":\"pay\"}",
- "pc": [
- 997
- ]
- },
- {
- "teal": 863,
- "source": 215,
- "pc": [
- 998
- ]
- },
- {
- "teal": 864,
- "source": 216,
- "pc": [
- 999,
- 1000
- ]
- },
- {
- "teal": 865,
- "source": 216,
- "pc": [
- 1001
- ]
- },
- {
- "teal": 866,
- "source": 216,
- "pc": [
- 1002
- ]
- },
- {
- "teal": 869,
- "source": 216,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"amount\",\"condition\":\"greaterThan\",\"expected\":\">0\"}",
- "pc": [
- 1003
- ]
- },
- {
- "teal": 882,
- "source": 219,
- "pc": [
- 1004
- ]
- },
- {
- "teal": 883,
- "source": 219,
- "pc": [
- 1005,
- 1006
- ]
- },
- {
- "teal": 884,
- "source": 219,
- "pc": [
- 1007
- ]
- },
- {
- "teal": 885,
- "source": 219,
- "pc": [
- 1008
- ]
- },
- {
- "teal": 888,
- "source": 219,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"typeEnum\",\"expected\":\"appl\"}",
- "pc": [
- 1009
- ]
- },
- {
- "teal": 891,
- "source": 219,
- "pc": [
- 1010
- ]
- },
- {
- "teal": 892,
- "source": 220,
- "pc": [
- 1011,
- 1012
- ]
- },
- {
- "teal": 893,
- "source": 220,
- "pc": [
- 1013
- ]
- },
- {
- "teal": 894,
- "source": 220,
- "pc": [
- 1014
- ]
- },
- {
- "teal": 897,
- "source": 220,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"applicationID\",\"expected\":\"AppID.fromUint64(0)\"}",
- "pc": [
- 1015
- ]
- },
- {
- "teal": 901,
- "source": 219,
- "pc": [
- 1016
- ]
- },
- {
- "teal": 902,
- "source": 222,
- "pc": [
- 1017,
- 1018,
- 1019
- ]
- },
- {
- "teal": 903,
- "source": 222,
- "pc": [
- 1020
- ]
- },
- {
- "teal": 904,
- "source": 222,
- "pc": [
- 1021
- ]
- },
- {
- "teal": 907,
- "source": 222,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"applicationArgs\",\"index\":\"0\",\"expected\":\"'foo'\"}",
- "pc": [
- 1022
- ]
- },
- {
- "teal": 910,
- "source": 219,
- "pc": [
- 1023
- ]
- },
- {
- "teal": 911,
- "source": 221,
- "pc": [
- 1024,
- 1025,
- 1026
- ]
- },
- {
- "teal": 912,
- "source": 224,
- "pc": [
- 1027,
- 1028
- ]
- },
- {
- "teal": 913,
- "source": 224,
- "pc": [
- 1029
- ]
- },
- {
- "teal": 914,
- "source": 219,
- "pc": [
- 1030
- ]
- },
- {
- "teal": 915,
- "source": 221,
- "pc": [
- 1031,
- 1032,
- 1033
- ]
- },
- {
- "teal": 916,
- "source": 224,
- "pc": [
- 1034,
- 1035,
- 1036,
- 1037,
- 1038
- ]
- },
- {
- "teal": 917,
- "source": 224,
- "pc": [
- 1039
- ]
- },
- {
- "teal": 918,
- "source": 224,
- "pc": [
- 1040
- ]
- },
- {
- "teal": 921,
- "source": 224,
- "errorMessage": "transaction verification failed: {\"txn\":{\"txnText\":\"this.txnGroup[0]\"},\"field\":\"applicationArgs 1\",\"condition\":\"includedIn\",\"expected\":\"['bar', 'baz']\"}",
- "pc": [
- 1041
- ]
- },
- {
- "teal": 928,
- "source": 229,
- "pc": [
- 1042
- ]
- },
- {
- "teal": 929,
- "source": 229,
- "pc": [
- 1043,
- 1044
- ]
- },
- {
- "teal": 930,
- "source": 229,
- "pc": [
- 1045,
- 1046
- ]
- },
- {
- "teal": 931,
- "source": 229,
- "pc": [
- 1047
- ]
- },
- {
- "teal": 934,
- "source": 229,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"typeEnum\",\"expected\":\"axfer\"}",
- "pc": [
- 1048
- ]
- },
- {
- "teal": 937,
- "source": 229,
- "pc": [
- 1049
- ]
- },
- {
- "teal": 938,
- "source": 230,
- "pc": [
- 1050,
- 1051
- ]
- },
- {
- "teal": 939,
- "source": 230,
- "pc": [
- 1052,
- 1053
- ]
- },
- {
- "teal": 940,
- "source": 230,
- "pc": [
- 1054
- ]
- },
- {
- "teal": 943,
- "source": 230,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
- "pc": [
- 1055
- ]
- },
- {
- "teal": 950,
- "source": 233,
- "pc": [
- 1056
- ]
- },
- {
- "teal": 951,
- "source": 233,
- "pc": [
- 1057,
- 1058
- ]
- },
- {
- "teal": 952,
- "source": 233,
- "pc": [
- 1059,
- 1060
- ]
- },
- {
- "teal": 953,
- "source": 233,
- "pc": [
- 1061
- ]
- },
- {
- "teal": 956,
- "source": 233,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"typeEnum\",\"expected\":\"acfg\"}",
- "pc": [
- 1062
- ]
- },
- {
- "teal": 959,
- "source": 233,
- "pc": [
- 1063
- ]
- },
- {
- "teal": 960,
- "source": 234,
- "pc": [
- 1064,
- 1065
- ]
- },
- {
- "teal": 961,
- "source": 234,
- "pc": [
- 1066
- ]
- },
- {
- "teal": 962,
- "source": 234,
- "pc": [
- 1067
- ]
- },
- {
- "teal": 965,
- "source": 234,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"configAsset\",\"expected\":\"AssetID.fromUint64(0)\"}",
- "pc": [
- 1068
- ]
- },
- {
- "teal": 972,
- "source": 237,
- "pc": [
- 1069
- ]
- },
- {
- "teal": 973,
- "source": 237,
- "pc": [
- 1070,
- 1071
- ]
- },
- {
- "teal": 974,
- "source": 237,
- "pc": [
- 1072
- ]
- },
- {
- "teal": 975,
- "source": 237,
- "pc": [
- 1073
- ]
- },
- {
- "teal": 978,
- "source": 237,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"typeEnum\",\"expected\":\"keyreg\"}",
- "pc": [
- 1074
- ]
- },
- {
- "teal": 981,
- "source": 237,
- "pc": [
- 1075
- ]
- },
- {
- "teal": 982,
- "source": 238,
- "pc": [
- 1076,
- 1077
- ]
- },
- {
- "teal": 983,
- "source": 238,
- "pc": [
- 1078,
- 1079
- ]
- },
- {
- "teal": 984,
- "source": 238,
- "pc": [
- 1080
- ]
- },
- {
- "teal": 987,
- "source": 238,
- "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"voteFirst\",\"expected\":\"1337\"}",
- "pc": [
- 1081
- ]
- },
- {
- "teal": 988,
- "source": 214,
- "pc": [
- 1082
- ]
- },
- {
- "teal": 993,
- "source": 242,
- "pc": [
- 1083,
- 1084,
- 1085
- ]
- },
- {
- "teal": 994,
- "source": 242,
- "pc": [
- 1086
- ]
- },
- {
- "teal": 995,
- "source": 242,
- "pc": [
- 1087
- ]
- },
- {
- "teal": 999,
- "source": 242,
- "pc": [
- 1088,
- 1089,
- 1090
- ]
- },
- {
- "teal": 1002,
- "source": 242,
- "pc": [
- 1091
- ]
- },
- {
- "teal": 1006,
- "source": 243,
- "pc": [
- 1092
- ]
- },
- {
- "teal": 1007,
- "source": 243,
- "pc": [
- 1093,
- 1094
- ]
- },
- {
- "teal": 1011,
- "source": 244,
- "pc": [
- 1095,
- 1096
- ]
- },
- {
- "teal": 1012,
- "source": 244,
- "pc": [
- 1097,
- 1098
- ]
- },
- {
- "teal": 1013,
- "source": 244,
- "pc": [
- 1099
- ]
- },
- {
- "teal": 1014,
- "source": 244,
- "pc": [
- 1100,
- 1101
- ]
- },
- {
- "teal": 1018,
- "source": 245,
- "pc": [
- 1102,
- 1103
- ]
- },
- {
- "teal": 1019,
- "source": 245,
- "pc": [
- 1104,
- 1105,
- 1106,
- 1107,
- 1108,
- 1109,
- 1110,
- 1111
- ]
- },
- {
- "teal": 1020,
- "source": 245,
- "pc": [
- 1112
- ]
- },
- {
- "teal": 1021,
- "source": 245,
- "pc": [
- 1113
- ]
- },
- {
- "teal": 1022,
- "source": 242,
- "pc": [
- 1114
- ]
- },
- {
- "teal": 1027,
- "source": 248,
- "pc": [
- 1115
- ]
- },
- {
- "teal": 1030,
- "source": 248,
- "pc": [
- 1116,
- 1117,
- 1118
- ]
- },
- {
- "teal": 1031,
- "source": 248,
- "pc": [
- 1119
- ]
- },
- {
- "teal": 1032,
- "source": 248,
- "pc": [
- 1120
- ]
- },
- {
- "teal": 1033,
- "source": 248,
- "pc": [
- 1121
- ]
- },
- {
- "teal": 1034,
- "source": 248,
- "pc": [
- 1122,
- 1123,
- 1124
- ]
- },
- {
- "teal": 1035,
- "source": 248,
- "pc": [
- 1125
- ]
- },
- {
- "teal": 1036,
- "source": 248,
- "pc": [
- 1126
- ]
- },
- {
- "teal": 1037,
- "source": 248,
- "pc": [
- 1127
- ]
- },
- {
- "teal": 1038,
- "source": 248,
- "pc": [
- 1128
- ]
- },
- {
- "teal": 1039,
- "source": 248,
- "pc": [
- 1129
- ]
- },
- {
- "teal": 1040,
- "source": 248,
- "pc": [
- 1130
- ]
- },
- {
- "teal": 1044,
- "source": 248,
- "pc": [
- 1131,
- 1132,
- 1133
- ]
- },
- {
- "teal": 1048,
- "source": 249,
- "pc": [
- 1134,
- 1135,
- 1136,
- 1137,
- 1138,
- 1139,
- 1140,
- 1141,
- 1142,
- 1143,
- 1144,
- 1145,
- 1146,
- 1147,
- 1148,
- 1149,
- 1150,
- 1151,
- 1152,
- 1153,
- 1154,
- 1155,
- 1156,
- 1157,
- 1158,
- 1159,
- 1160,
- 1161,
- 1162,
- 1163,
- 1164,
- 1165,
- 1166,
- 1167,
- 1168,
- 1169,
- 1170,
- 1171,
- 1172,
- 1173,
- 1174,
- 1175,
- 1176,
- 1177,
- 1178,
- 1179,
- 1180,
- 1181,
- 1182,
- 1183,
- 1184,
- 1185,
- 1186,
- 1187,
- 1188,
- 1189,
- 1190,
- 1191,
- 1192,
- 1193,
- 1194,
- 1195,
- 1196,
- 1197,
- 1198,
- 1199,
- 1200,
- 1201,
- 1202,
- 1203,
- 1204,
- 1205,
- 1206,
- 1207,
- 1208,
- 1209,
- 1210,
- 1211,
- 1212,
- 1213,
- 1214,
- 1215,
- 1216,
- 1217,
- 1218,
- 1219,
- 1220,
- 1221,
- 1222,
- 1223,
- 1224,
- 1225,
- 1226,
- 1227,
- 1228,
- 1229,
- 1230,
- 1231,
- 1232,
- 1233,
- 1234,
- 1235,
- 1236,
- 1237,
- 1238,
- 1239,
- 1240,
- 1241,
- 1242,
- 1243,
- 1244,
- 1245,
- 1246,
- 1247,
- 1248,
- 1249,
- 1250,
- 1251,
- 1252,
- 1253,
- 1254,
- 1255,
- 1256,
- 1257,
- 1258,
- 1259,
- 1260,
- 1261,
- 1262,
- 1263,
- 1264,
- 1265,
- 1266,
- 1267,
- 1268,
- 1269,
- 1270,
- 1271,
- 1272,
- 1273,
- 1274,
- 1275,
- 1276,
- 1277,
- 1278,
- 1279,
- 1280,
- 1281,
- 1282,
- 1283,
- 1284,
- 1285,
- 1286,
- 1287,
- 1288,
- 1289,
- 1290,
- 1291,
- 1292,
- 1293,
- 1294,
- 1295,
- 1296,
- 1297,
- 1298,
- 1299,
- 1300,
- 1301,
- 1302,
- 1303,
- 1304,
- 1305,
- 1306,
- 1307,
- 1308,
- 1309,
- 1310,
- 1311,
- 1312,
- 1313,
- 1314,
- 1315,
- 1316,
- 1317,
- 1318,
- 1319,
- 1320,
- 1321,
- 1322,
- 1323,
- 1324,
- 1325,
- 1326,
- 1327,
- 1328,
- 1329,
- 1330,
- 1331,
- 1332,
- 1333,
- 1334,
- 1335,
- 1336,
- 1337,
- 1338,
- 1339,
- 1340,
- 1341,
- 1342,
- 1343,
- 1344,
- 1345,
- 1346,
- 1347,
- 1348,
- 1349,
- 1350,
- 1351,
- 1352,
- 1353,
- 1354,
- 1355,
- 1356,
- 1357,
- 1358,
- 1359,
- 1360,
- 1361,
- 1362,
- 1363,
- 1364,
- 1365,
- 1366,
- 1367,
- 1368,
- 1369,
- 1370,
- 1371,
- 1372,
- 1373,
- 1374,
- 1375,
- 1376,
- 1377,
- 1378,
- 1379,
- 1380,
- 1381,
- 1382,
- 1383,
- 1384,
- 1385,
- 1386,
- 1387,
- 1388,
- 1389,
- 1390,
- 1391,
- 1392,
- 1393,
- 1394,
- 1395,
- 1396,
- 1397,
- 1398,
- 1399,
- 1400,
- 1401,
- 1402,
- 1403,
- 1404,
- 1405,
- 1406,
- 1407,
- 1408,
- 1409,
- 1410,
- 1411,
- 1412,
- 1413,
- 1414,
- 1415,
- 1416,
- 1417,
- 1418,
- 1419,
- 1420,
- 1421,
- 1422,
- 1423,
- 1424,
- 1425,
- 1426,
- 1427,
- 1428,
- 1429,
- 1430,
- 1431,
- 1432,
- 1433,
- 1434,
- 1435,
- 1436,
- 1437,
- 1438,
- 1439,
- 1440,
- 1441,
- 1442,
- 1443,
- 1444,
- 1445,
- 1446,
- 1447,
- 1448,
- 1449,
- 1450,
- 1451,
- 1452,
- 1453,
- 1454,
- 1455,
- 1456,
- 1457,
- 1458,
- 1459,
- 1460,
- 1461,
- 1462,
- 1463,
- 1464,
- 1465,
- 1466,
- 1467,
- 1468,
- 1469,
- 1470,
- 1471,
- 1472,
- 1473,
- 1474,
- 1475,
- 1476,
- 1477,
- 1478,
- 1479,
- 1480,
- 1481,
- 1482,
- 1483,
- 1484,
- 1485,
- 1486,
- 1487,
- 1488,
- 1489,
- 1490,
- 1491,
- 1492,
- 1493,
- 1494,
- 1495,
- 1496,
- 1497,
- 1498,
- 1499,
- 1500,
- 1501,
- 1502,
- 1503,
- 1504,
- 1505,
- 1506,
- 1507,
- 1508,
- 1509,
- 1510,
- 1511,
- 1512,
- 1513,
- 1514,
- 1515,
- 1516,
- 1517,
- 1518,
- 1519,
- 1520,
- 1521,
- 1522,
- 1523,
- 1524,
- 1525,
- 1526,
- 1527,
- 1528,
- 1529,
- 1530,
- 1531,
- 1532,
- 1533,
- 1534,
- 1535,
- 1536,
- 1537,
- 1538,
- 1539,
- 1540,
- 1541,
- 1542,
- 1543,
- 1544,
- 1545,
- 1546,
- 1547,
- 1548,
- 1549,
- 1550,
- 1551,
- 1552,
- 1553,
- 1554,
- 1555,
- 1556,
- 1557,
- 1558,
- 1559,
- 1560,
- 1561,
- 1562,
- 1563,
- 1564,
- 1565,
- 1566,
- 1567,
- 1568,
- 1569,
- 1570,
- 1571,
- 1572,
- 1573,
- 1574,
- 1575,
- 1576,
- 1577,
- 1578,
- 1579,
- 1580,
- 1581,
- 1582,
- 1583,
- 1584,
- 1585,
- 1586,
- 1587,
- 1588,
- 1589,
- 1590,
- 1591,
- 1592,
- 1593,
- 1594,
- 1595,
- 1596,
- 1597,
- 1598,
- 1599,
- 1600,
- 1601,
- 1602,
- 1603,
- 1604,
- 1605,
- 1606,
- 1607,
- 1608,
- 1609,
- 1610,
- 1611,
- 1612,
- 1613,
- 1614,
- 1615,
- 1616,
- 1617,
- 1618,
- 1619,
- 1620,
- 1621,
- 1622,
- 1623,
- 1624,
- 1625,
- 1626,
- 1627,
- 1628,
- 1629,
- 1630,
- 1631,
- 1632,
- 1633,
- 1634,
- 1635,
- 1636,
- 1637,
- 1638,
- 1639,
- 1640,
- 1641,
- 1642,
- 1643,
- 1644,
- 1645,
- 1646,
- 1647,
- 1648,
- 1649,
- 1650,
- 1651,
- 1652,
- 1653,
- 1654,
- 1655,
- 1656,
- 1657,
- 1658,
- 1659,
- 1660,
- 1661,
- 1662,
- 1663,
- 1664,
- 1665,
- 1666,
- 1667,
- 1668,
- 1669,
- 1670,
- 1671,
- 1672,
- 1673,
- 1674,
- 1675,
- 1676,
- 1677,
- 1678,
- 1679,
- 1680,
- 1681,
- 1682,
- 1683,
- 1684,
- 1685,
- 1686,
- 1687,
- 1688,
- 1689,
- 1690,
- 1691,
- 1692,
- 1693,
- 1694,
- 1695,
- 1696,
- 1697,
- 1698,
- 1699,
- 1700,
- 1701,
- 1702,
- 1703,
- 1704,
- 1705,
- 1706,
- 1707,
- 1708,
- 1709,
- 1710,
- 1711,
- 1712,
- 1713,
- 1714,
- 1715,
- 1716,
- 1717,
- 1718,
- 1719,
- 1720,
- 1721,
- 1722,
- 1723,
- 1724,
- 1725,
- 1726,
- 1727,
- 1728,
- 1729,
- 1730,
- 1731,
- 1732,
- 1733,
- 1734,
- 1735,
- 1736,
- 1737,
- 1738,
- 1739,
- 1740,
- 1741,
- 1742,
- 1743,
- 1744,
- 1745,
- 1746,
- 1747,
- 1748,
- 1749,
- 1750,
- 1751,
- 1752,
- 1753,
- 1754,
- 1755,
- 1756,
- 1757,
- 1758,
- 1759,
- 1760,
- 1761,
- 1762,
- 1763,
- 1764,
- 1765,
- 1766,
- 1767,
- 1768,
- 1769,
- 1770,
- 1771,
- 1772,
- 1773,
- 1774,
- 1775,
- 1776,
- 1777,
- 1778,
- 1779,
- 1780,
- 1781,
- 1782,
- 1783,
- 1784,
- 1785,
- 1786,
- 1787,
- 1788,
- 1789,
- 1790,
- 1791,
- 1792,
- 1793,
- 1794,
- 1795,
- 1796,
- 1797,
- 1798,
- 1799,
- 1800,
- 1801,
- 1802,
- 1803,
- 1804,
- 1805,
- 1806,
- 1807,
- 1808,
- 1809,
- 1810,
- 1811,
- 1812,
- 1813,
- 1814,
- 1815,
- 1816,
- 1817,
- 1818,
- 1819,
- 1820,
- 1821,
- 1822,
- 1823,
- 1824,
- 1825,
- 1826,
- 1827,
- 1828,
- 1829,
- 1830,
- 1831,
- 1832,
- 1833,
- 1834,
- 1835,
- 1836,
- 1837,
- 1838,
- 1839,
- 1840,
- 1841,
- 1842,
- 1843,
- 1844,
- 1845,
- 1846,
- 1847,
- 1848,
- 1849,
- 1850,
- 1851,
- 1852,
- 1853,
- 1854,
- 1855,
- 1856,
- 1857,
- 1858,
- 1859,
- 1860,
- 1861,
- 1862,
- 1863,
- 1864,
- 1865,
- 1866,
- 1867,
- 1868,
- 1869,
- 1870,
- 1871,
- 1872,
- 1873,
- 1874,
- 1875,
- 1876,
- 1877,
- 1878,
- 1879,
- 1880,
- 1881,
- 1882,
- 1883,
- 1884,
- 1885,
- 1886,
- 1887,
- 1888,
- 1889,
- 1890,
- 1891,
- 1892,
- 1893,
- 1894,
- 1895,
- 1896,
- 1897,
- 1898,
- 1899,
- 1900,
- 1901,
- 1902,
- 1903,
- 1904,
- 1905,
- 1906,
- 1907,
- 1908,
- 1909,
- 1910,
- 1911,
- 1912,
- 1913,
- 1914,
- 1915,
- 1916,
- 1917,
- 1918,
- 1919,
- 1920,
- 1921,
- 1922,
- 1923,
- 1924,
- 1925,
- 1926,
- 1927,
- 1928,
- 1929,
- 1930,
- 1931,
- 1932,
- 1933,
- 1934,
- 1935,
- 1936,
- 1937,
- 1938,
- 1939,
- 1940,
- 1941,
- 1942,
- 1943,
- 1944,
- 1945,
- 1946,
- 1947,
- 1948,
- 1949,
- 1950,
- 1951,
- 1952,
- 1953,
- 1954,
- 1955,
- 1956,
- 1957,
- 1958,
- 1959,
- 1960,
- 1961,
- 1962,
- 1963,
- 1964,
- 1965,
- 1966,
- 1967,
- 1968,
- 1969,
- 1970,
- 1971,
- 1972,
- 1973,
- 1974,
- 1975,
- 1976,
- 1977,
- 1978,
- 1979,
- 1980,
- 1981,
- 1982,
- 1983,
- 1984,
- 1985,
- 1986,
- 1987,
- 1988,
- 1989,
- 1990,
- 1991,
- 1992,
- 1993,
- 1994,
- 1995,
- 1996,
- 1997,
- 1998,
- 1999,
- 2000,
- 2001,
- 2002,
- 2003,
- 2004,
- 2005,
- 2006,
- 2007,
- 2008,
- 2009,
- 2010,
- 2011,
- 2012,
- 2013,
- 2014,
- 2015,
- 2016,
- 2017,
- 2018,
- 2019,
- 2020,
- 2021,
- 2022,
- 2023,
- 2024,
- 2025,
- 2026,
- 2027,
- 2028,
- 2029,
- 2030,
- 2031,
- 2032,
- 2033,
- 2034,
- 2035,
- 2036,
- 2037,
- 2038,
- 2039,
- 2040,
- 2041,
- 2042,
- 2043,
- 2044,
- 2045,
- 2046,
- 2047,
- 2048,
- 2049,
- 2050,
- 2051,
- 2052,
- 2053,
- 2054,
- 2055,
- 2056,
- 2057,
- 2058,
- 2059,
- 2060,
- 2061,
- 2062,
- 2063,
- 2064,
- 2065,
- 2066,
- 2067,
- 2068,
- 2069,
- 2070,
- 2071,
- 2072,
- 2073,
- 2074,
- 2075,
- 2076,
- 2077,
- 2078,
- 2079,
- 2080,
- 2081,
- 2082,
- 2083,
- 2084,
- 2085,
- 2086,
- 2087,
- 2088,
- 2089,
- 2090,
- 2091,
- 2092,
- 2093,
- 2094,
- 2095,
- 2096,
- 2097,
- 2098,
- 2099,
- 2100,
- 2101,
- 2102,
- 2103,
- 2104,
- 2105,
- 2106,
- 2107,
- 2108,
- 2109,
- 2110,
- 2111,
- 2112,
- 2113,
- 2114,
- 2115,
- 2116,
- 2117,
- 2118,
- 2119,
- 2120,
- 2121,
- 2122,
- 2123,
- 2124,
- 2125,
- 2126,
- 2127,
- 2128,
- 2129,
- 2130,
- 2131,
- 2132,
- 2133,
- 2134,
- 2135,
- 2136,
- 2137,
- 2138,
- 2139,
- 2140,
- 2141,
- 2142,
- 2143,
- 2144,
- 2145,
- 2146,
- 2147,
- 2148,
- 2149,
- 2150,
- 2151,
- 2152,
- 2153,
- 2154,
- 2155,
- 2156,
- 2157,
- 2158,
- 2159,
- 2160
- ]
- },
- {
- "teal": 1049,
- "source": 248,
- "pc": [
- 2161
- ]
- },
- {
- "teal": 1054,
- "source": 252,
- "pc": [
- 2162,
- 2163,
- 2164
- ]
- },
- {
- "teal": 1055,
- "source": 252,
- "pc": [
- 2165
- ]
- },
- {
- "teal": 1056,
- "source": 252,
- "pc": [
- 2166
- ]
- },
- {
- "teal": 1060,
- "source": 252,
- "pc": [
- 2167,
- 2168,
- 2169
- ]
- },
- {
- "teal": 1064,
- "source": 253,
- "pc": [
- 2170,
- 2171,
- 2172,
- 2173,
- 2174,
- 2175,
- 2176
- ]
- },
- {
- "teal": 1065,
- "source": 253,
- "pc": [
- 2177,
- 2178,
- 2179
- ]
- },
- {
- "teal": 1066,
- "source": 253,
- "pc": [
- 2180
- ]
- },
- {
- "teal": 1067,
- "source": 252,
- "pc": [
- 2181
- ]
- },
- {
- "teal": 1071,
- "source": 256,
- "pc": [
- 2182,
- 2183,
- 2184
- ]
- },
- {
- "teal": 1075,
- "source": 257,
- "pc": [
- 2185,
- 2186
- ]
- },
- {
- "teal": 1076,
- "source": 256,
- "pc": [
- 2187
- ]
- },
- {
- "teal": 1081,
- "source": 260,
- "pc": [
- 2188
- ]
- },
- {
- "teal": 1084,
- "source": 260,
- "pc": [
- 2189,
- 2190,
- 2191
- ]
- },
- {
- "teal": 1085,
- "source": 260,
- "pc": [
- 2192
- ]
- },
- {
- "teal": 1088,
- "source": 260,
- "pc": [
- 2193,
- 2194,
- 2195
- ]
- },
- {
- "teal": 1089,
- "source": 260,
- "pc": [
- 2196
- ]
- },
- {
- "teal": 1092,
- "source": 260,
- "pc": [
- 2197,
- 2198,
- 2199
- ]
- },
- {
- "teal": 1093,
- "source": 260,
- "pc": [
- 2200
- ]
- },
- {
- "teal": 1094,
- "source": 260,
- "pc": [
- 2201
- ]
- },
- {
- "teal": 1095,
- "source": 260,
- "pc": [
- 2202
- ]
- },
- {
- "teal": 1096,
- "source": 260,
- "pc": [
- 2203
- ]
- },
- {
- "teal": 1097,
- "source": 260,
- "pc": [
- 2204
- ]
- },
- {
- "teal": 1101,
- "source": 260,
- "pc": [
- 2205,
- 2206,
- 2207
- ]
- },
- {
- "teal": 1105,
- "source": 261,
- "pc": [
- 2208,
- 2209
- ]
- },
- {
- "teal": 1106,
- "source": 261,
- "pc": [
- 2210,
- 2211
- ]
- },
- {
- "teal": 1107,
- "source": 261,
- "pc": [
- 2212
- ]
- },
- {
- "teal": 1108,
- "source": 260,
- "pc": [
- 2213
- ]
- },
- {
- "teal": 1113,
- "source": 264,
- "pc": [
- 2214,
- 2215,
- 2216
- ]
- },
- {
- "teal": 1114,
- "source": 264,
- "pc": [
- 2217
- ]
- },
- {
- "teal": 1115,
- "source": 264,
- "pc": [
- 2218
- ]
- },
- {
- "teal": 1119,
- "source": 264,
- "pc": [
- 2219,
- 2220,
- 2221
- ]
- },
- {
- "teal": 1123,
- "source": 265,
- "pc": [
- 2222
- ]
- },
- {
- "teal": 1124,
- "source": 265,
- "pc": [
- 2223
- ]
- },
- {
- "teal": 1125,
- "source": 265,
- "pc": [
- 2224,
- 2225,
- 2226
- ]
- },
- {
- "teal": 1126,
- "source": 265,
- "pc": [
- 2227,
- 2228
- ]
- },
- {
- "teal": 1127,
- "source": 265,
- "pc": [
- 2229
- ]
- },
- {
- "teal": 1128,
- "source": 265,
- "pc": [
- 2230
- ]
- },
- {
- "teal": 1129,
- "source": 264,
- "pc": [
- 2231
- ]
- },
- {
- "teal": 1134,
- "source": 268,
- "pc": [
- 2232,
- 2233,
- 2234
- ]
- },
- {
- "teal": 1135,
- "source": 268,
- "pc": [
- 2235
- ]
- },
- {
- "teal": 1136,
- "source": 268,
- "pc": [
- 2236
- ]
- },
- {
- "teal": 1140,
- "source": 268,
- "pc": [
- 2237,
- 2238,
- 2239
- ]
- },
- {
- "teal": 1144,
- "source": 269,
- "pc": [
- 2240,
- 2241,
- 2242
- ]
- },
- {
- "teal": 1145,
- "source": 269,
- "pc": [
- 2243
- ]
- },
- {
- "teal": 1146,
- "source": 268,
- "pc": [
- 2244
- ]
- },
- {
- "teal": 1151,
- "source": 272,
- "pc": [
- 2245
- ]
- },
- {
- "teal": 1154,
- "source": 272,
- "pc": [
- 2246,
- 2247,
- 2248
- ]
- },
- {
- "teal": 1155,
- "source": 272,
- "pc": [
- 2249
- ]
- },
- {
- "teal": 1156,
- "source": 272,
- "pc": [
- 2250
- ]
- },
- {
- "teal": 1157,
- "source": 272,
- "pc": [
- 2251,
- 2252,
- 2253
- ]
- },
- {
- "teal": 1158,
- "source": 272,
- "pc": [
- 2254
- ]
- },
- {
- "teal": 1161,
- "source": 272,
- "errorMessage": "uintNWithUnderscore return value overflowed 256 bits",
- "pc": [
- 2255
- ]
- },
- {
- "teal": 1162,
- "source": 272,
- "pc": [
- 2256,
- 2257,
- 2258,
- 2259,
- 2260,
- 2261,
- 2262,
- 2263,
- 2264,
- 2265,
- 2266,
- 2267,
- 2268,
- 2269,
- 2270,
- 2271,
- 2272,
- 2273,
- 2274,
- 2275,
- 2276,
- 2277,
- 2278,
- 2279,
- 2280,
- 2281,
- 2282,
- 2283,
- 2284,
- 2285,
- 2286,
- 2287,
- 2288,
- 2289
- ]
- },
- {
- "teal": 1163,
- "source": 272,
- "pc": [
- 2290
- ]
- },
- {
- "teal": 1164,
- "source": 272,
- "pc": [
- 2291
- ]
- },
- {
- "teal": 1165,
- "source": 272,
- "pc": [
- 2292
- ]
- },
- {
- "teal": 1166,
- "source": 272,
- "pc": [
- 2293
- ]
- },
- {
- "teal": 1167,
- "source": 272,
- "pc": [
- 2294,
- 2295
- ]
- },
- {
- "teal": 1168,
- "source": 272,
- "pc": [
- 2296
- ]
- },
- {
- "teal": 1169,
- "source": 272,
- "pc": [
- 2297
- ]
- },
- {
- "teal": 1170,
- "source": 272,
- "pc": [
- 2298
- ]
- },
- {
- "teal": 1171,
- "source": 272,
- "pc": [
- 2299
- ]
- },
- {
- "teal": 1172,
- "source": 272,
- "pc": [
- 2300
- ]
- },
- {
- "teal": 1173,
- "source": 272,
- "pc": [
- 2301
- ]
- },
- {
- "teal": 1174,
- "source": 272,
- "pc": [
- 2302
- ]
- },
- {
- "teal": 1178,
- "source": 272,
- "pc": [
- 2303,
- 2304,
- 2305
- ]
- },
- {
- "teal": 1182,
- "source": 273,
- "pc": [
- 2306,
- 2307,
- 2308,
- 2309,
- 2310,
- 2311,
- 2312,
- 2313,
- 2314,
- 2315,
- 2316,
- 2317,
- 2318,
- 2319,
- 2320,
- 2321,
- 2322,
- 2323,
- 2324,
- 2325,
- 2326,
- 2327,
- 2328,
- 2329,
- 2330,
- 2331,
- 2332,
- 2333,
- 2334,
- 2335,
- 2336,
- 2337,
- 2338,
- 2339
- ]
- },
- {
- "teal": 1183,
- "source": 272,
- "pc": [
- 2340
- ]
- },
- {
- "teal": 1188,
- "source": 276,
- "pc": [
- 2341,
- 2342,
- 2343
- ]
- },
- {
- "teal": 1189,
- "source": 276,
- "pc": [
- 2344
- ]
- },
- {
- "teal": 1190,
- "source": 276,
- "pc": [
- 2345
- ]
- },
- {
- "teal": 1194,
- "source": 276,
- "pc": [
- 2346,
- 2347,
- 2348
- ]
- },
- {
- "teal": 1197,
- "source": 276,
- "pc": [
- 2349
- ]
- },
- {
- "teal": 1201,
- "source": 277,
- "pc": [
- 2350
- ]
- },
- {
- "teal": 1202,
- "source": 277,
- "pc": [
- 2351
- ]
- },
- {
- "teal": 1203,
- "source": 277,
- "pc": [
- 2352,
- 2353
- ]
- },
- {
- "teal": 1204,
- "source": 277,
- "pc": [
- 2354
- ]
- },
- {
- "teal": 1205,
- "source": 277,
- "pc": [
- 2355,
- 2356
- ]
- },
- {
- "teal": 1206,
- "source": 277,
- "pc": [
- 2357
- ]
- },
- {
- "teal": 1207,
- "source": 277,
- "pc": [
- 2358
- ]
- },
- {
- "teal": 1208,
- "source": 277,
- "pc": [
- 2359,
- 2360
- ]
- },
- {
- "teal": 1209,
- "source": 277,
- "pc": [
- 2361,
- 2362
- ]
- },
- {
- "teal": 1210,
- "source": 277,
- "pc": [
- 2363,
- 2364
- ]
- },
- {
- "teal": 1211,
- "source": 277,
- "pc": [
- 2365,
- 2366
- ]
- },
- {
- "teal": 1212,
- "source": 277,
- "pc": [
- 2367
- ]
- },
- {
- "teal": 1216,
- "source": 278,
- "pc": [
- 2368
- ]
- },
- {
- "teal": 1217,
- "source": 278,
- "pc": [
- 2369,
- 2370
- ]
- },
- {
- "teal": 1222,
- "source": 278,
- "pc": [
- 2371,
- 2372
- ]
- },
- {
- "teal": 1223,
- "source": 278,
- "pc": [
- 2373,
- 2374
- ]
- },
- {
- "teal": 1224,
- "source": 278,
- "pc": [
- 2375
- ]
- },
- {
- "teal": 1225,
- "source": 278,
- "pc": [
- 2376,
- 2377,
- 2378
- ]
- },
- {
- "teal": 1229,
- "source": 279,
- "pc": [
- 2379,
- 2380
- ]
- },
- {
- "teal": 1230,
- "source": 279,
- "pc": [
- 2381
- ]
- },
- {
- "teal": 1235,
- "source": 278,
- "pc": [
- 2382,
- 2383
- ]
- },
- {
- "teal": 1236,
- "source": 278,
- "pc": [
- 2384
- ]
- },
- {
- "teal": 1237,
- "source": 278,
- "pc": [
- 2385
- ]
- },
- {
- "teal": 1238,
- "source": 278,
- "pc": [
- 2386,
- 2387
- ]
- },
- {
- "teal": 1239,
- "source": 278,
- "pc": [
- 2388,
- 2389,
- 2390
- ]
- },
- {
- "teal": 1242,
- "source": 276,
- "pc": [
- 2391
- ]
- },
- {
- "teal": 1247,
- "source": 283,
- "pc": [
- 2392
- ]
- },
- {
- "teal": 1250,
- "source": 283,
- "pc": [
- 2393,
- 2394,
- 2395
- ]
- },
- {
- "teal": 1251,
- "source": 283,
- "pc": [
- 2396
- ]
- },
- {
- "teal": 1252,
- "source": 283,
- "pc": [
- 2397
- ]
- },
- {
- "teal": 1253,
- "source": 283,
- "pc": [
- 2398
- ]
- },
- {
- "teal": 1254,
- "source": 283,
- "pc": [
- 2399,
- 2400,
- 2401
- ]
- },
- {
- "teal": 1255,
- "source": 283,
- "pc": [
- 2402
- ]
- },
- {
- "teal": 1256,
- "source": 283,
- "pc": [
- 2403
- ]
- },
- {
- "teal": 1257,
- "source": 283,
- "pc": [
- 2404
- ]
- },
- {
- "teal": 1258,
- "source": 283,
- "pc": [
- 2405
- ]
- },
- {
- "teal": 1259,
- "source": 283,
- "pc": [
- 2406
- ]
- },
- {
- "teal": 1260,
- "source": 283,
- "pc": [
- 2407
- ]
- },
- {
- "teal": 1264,
- "source": 283,
- "pc": [
- 2408,
- 2409,
- 2410
- ]
- },
- {
- "teal": 1267,
- "source": 283,
- "pc": [
- 2411
- ]
- },
- {
- "teal": 1271,
- "source": 284,
- "pc": [
- 2412,
- 2413,
- 2414,
- 2415
- ]
- },
- {
- "teal": 1272,
- "source": 284,
- "pc": [
- 2416,
- 2417
- ]
- },
- {
- "teal": 1277,
- "source": 286,
- "pc": [
- 2418,
- 2419
- ]
- },
- {
- "teal": 1278,
- "source": 286,
- "pc": [
- 2420,
- 2421
- ]
- },
- {
- "teal": 1279,
- "source": 286,
- "pc": [
- 2422
- ]
- },
- {
- "teal": 1280,
- "source": 286,
- "pc": [
- 2423,
- 2424,
- 2425
- ]
- },
- {
- "teal": 1285,
- "source": 287,
- "pc": [
- 2426,
- 2427,
- 2428,
- 2429,
- 2430,
- 2431,
- 2432,
- 2433,
- 2434,
- 2435
- ]
- },
- {
- "teal": 1286,
- "source": 287,
- "pc": [
- 2436,
- 2437
- ]
- },
- {
- "teal": 1291,
- "source": 290,
- "pc": [
- 2438,
- 2439,
- 2440,
- 2441,
- 2442
- ]
- },
- {
- "teal": 1292,
- "source": 290,
- "pc": [
- 2443
- ]
- },
- {
- "teal": 1293,
- "source": 290,
- "pc": [
- 2444,
- 2445
- ]
- },
- {
- "teal": 1296,
- "source": 283,
- "pc": [
- 2446,
- 2447
- ]
- },
- {
- "teal": 1297,
- "source": 283,
- "pc": [
- 2448
- ]
- },
- {
- "teal": 1302,
- "source": 293,
- "pc": [
- 2449
- ]
- },
- {
- "teal": 1305,
- "source": 293,
- "pc": [
- 2450,
- 2451,
- 2452
- ]
- },
- {
- "teal": 1306,
- "source": 293,
- "pc": [
- 2453
- ]
- },
- {
- "teal": 1307,
- "source": 293,
- "pc": [
- 2454
- ]
- },
- {
- "teal": 1308,
- "source": 293,
- "pc": [
- 2455
- ]
- },
- {
- "teal": 1309,
- "source": 293,
- "pc": [
- 2456
- ]
- },
- {
- "teal": 1310,
- "source": 293,
- "pc": [
- 2457
- ]
- },
- {
- "teal": 1314,
- "source": 293,
- "pc": [
- 2458,
- 2459,
- 2460
- ]
- },
- {
- "teal": 1317,
- "source": 293,
- "pc": [
- 2461
- ]
- },
- {
- "teal": 1321,
- "source": 294,
- "pc": [
- 2462,
- 2463
- ]
- },
- {
- "teal": 1322,
- "source": 294,
- "pc": [
- 2464,
- 2465
- ]
- },
- {
- "teal": 1326,
- "source": 296,
- "pc": [
- 2466,
- 2467
- ]
- },
- {
- "teal": 1327,
- "source": 296,
- "pc": [
- 2468
- ]
- },
- {
- "teal": 1328,
- "source": 296,
- "pc": [
- 2469,
- 2470
- ]
- },
- {
- "teal": 1329,
- "source": 296,
- "pc": [
- 2471
- ]
- },
- {
- "teal": 1330,
- "source": 296,
- "pc": [
- 2472,
- 2473
- ]
- },
- {
- "teal": 1331,
- "source": 296,
- "pc": [
- 2474
- ]
- },
- {
- "teal": 1332,
- "source": 296,
- "pc": [
- 2475
- ]
- },
- {
- "teal": 1333,
- "source": 296,
- "pc": [
- 2476,
- 2477
- ]
- },
- {
- "teal": 1334,
- "source": 296,
- "pc": [
- 2478,
- 2479
- ]
- },
- {
- "teal": 1337,
- "source": 293,
- "pc": [
- 2480,
- 2481
- ]
- },
- {
- "teal": 1338,
- "source": 293,
- "pc": [
- 2482
- ]
- },
- {
- "teal": 1343,
- "source": 299,
- "pc": [
- 2483
- ]
- },
- {
- "teal": 1346,
- "source": 299,
- "pc": [
- 2484,
- 2485,
- 2486
- ]
- },
- {
- "teal": 1347,
- "source": 299,
- "pc": [
- 2487
- ]
- },
- {
- "teal": 1348,
- "source": 299,
- "pc": [
- 2488
- ]
- },
- {
- "teal": 1349,
- "source": 299,
- "pc": [
- 2489
- ]
- },
- {
- "teal": 1350,
- "source": 299,
- "pc": [
- 2490
- ]
- },
- {
- "teal": 1351,
- "source": 299,
- "pc": [
- 2491
- ]
- },
- {
- "teal": 1355,
- "source": 299,
- "pc": [
- 2492,
- 2493,
- 2494
- ]
- },
- {
- "teal": 1359,
- "source": 300,
- "pc": [
- 2495,
- 2496
- ]
- },
- {
- "teal": 1360,
- "source": 300,
- "pc": [
- 2497
- ]
- },
- {
- "teal": 1361,
- "source": 300,
- "pc": [
- 2498
- ]
- },
- {
- "teal": 1365,
- "source": 302,
- "pc": [
- 2499,
- 2500
- ]
- },
- {
- "teal": 1366,
- "source": 302,
- "pc": [
- 2501
- ]
- },
- {
- "teal": 1367,
- "source": 302,
- "pc": [
- 2502
- ]
- },
- {
- "teal": 1368,
- "source": 302,
- "pc": [
- 2503,
- 2504
- ]
- },
- {
- "teal": 1369,
- "source": 302,
- "pc": [
- 2505
- ]
- },
- {
- "teal": 1370,
- "source": 302,
- "pc": [
- 2506,
- 2507
- ]
- },
- {
- "teal": 1371,
- "source": 299,
- "pc": [
- 2508
- ]
- },
- {
- "teal": 1376,
- "source": 305,
- "pc": [
- 2509
- ]
- },
- {
- "teal": 1379,
- "source": 305,
- "pc": [
- 2510,
- 2511,
- 2512
- ]
- },
- {
- "teal": 1380,
- "source": 305,
- "pc": [
- 2513
- ]
- },
- {
- "teal": 1381,
- "source": 305,
- "pc": [
- 2514
- ]
- },
- {
- "teal": 1382,
- "source": 305,
- "pc": [
- 2515
- ]
- },
- {
- "teal": 1383,
- "source": 305,
- "pc": [
- 2516
- ]
- },
- {
- "teal": 1384,
- "source": 305,
- "pc": [
- 2517
- ]
- },
- {
- "teal": 1388,
- "source": 305,
- "pc": [
- 2518,
- 2519,
- 2520
- ]
- },
- {
- "teal": 1391,
- "source": 305,
- "pc": [
- 2521
- ]
- },
- {
- "teal": 1395,
- "source": 306,
- "pc": [
- 2522
- ]
- },
- {
- "teal": 1396,
- "source": 306,
- "pc": [
- 2523,
- 2524
- ]
- },
- {
- "teal": 1400,
- "source": 308,
- "pc": [
- 2525,
- 2526
- ]
- },
- {
- "teal": 1401,
- "source": 308,
- "pc": [
- 2527
- ]
- },
- {
- "teal": 1402,
- "source": 308,
- "pc": [
- 2528
- ]
- },
- {
- "teal": 1403,
- "source": 308,
- "pc": [
- 2529
- ]
- },
- {
- "teal": 1404,
- "source": 308,
- "pc": [
- 2530,
- 2531
- ]
- },
- {
- "teal": 1405,
- "source": 308,
- "pc": [
- 2532,
- 2533
- ]
- },
- {
- "teal": 1406,
- "source": 308,
- "pc": [
- 2534,
- 2535
- ]
- },
- {
- "teal": 1409,
- "source": 305,
- "pc": [
- 2536,
- 2537
- ]
- },
- {
- "teal": 1410,
- "source": 305,
- "pc": [
- 2538
- ]
- },
- {
- "teal": 1415,
- "source": 311,
- "pc": [
- 2539
- ]
- },
- {
- "teal": 1418,
- "source": 311,
- "pc": [
- 2540,
- 2541,
- 2542
- ]
- },
- {
- "teal": 1419,
- "source": 311,
- "pc": [
- 2543
- ]
- },
- {
- "teal": 1420,
- "source": 311,
- "pc": [
- 2544
- ]
- },
- {
- "teal": 1421,
- "source": 311,
- "pc": [
- 2545
- ]
- },
- {
- "teal": 1422,
- "source": 311,
- "pc": [
- 2546
- ]
- },
- {
- "teal": 1423,
- "source": 311,
- "pc": [
- 2547
- ]
- },
- {
- "teal": 1427,
- "source": 311,
- "pc": [
- 2548,
- 2549,
- 2550
- ]
- },
- {
- "teal": 1430,
- "source": 311,
- "pc": [
- 2551
- ]
- },
- {
- "teal": 1434,
- "source": 312,
- "pc": [
- 2552,
- 2553
- ]
- },
- {
- "teal": 1435,
- "source": 312,
- "pc": [
- 2554,
- 2555
- ]
- },
- {
- "teal": 1439,
- "source": 314,
- "pc": [
- 2556,
- 2557
- ]
- },
- {
- "teal": 1440,
- "source": 314,
- "pc": [
- 2558
- ]
- },
- {
- "teal": 1441,
- "source": 314,
- "pc": [
- 2559,
- 2560
- ]
- },
- {
- "teal": 1442,
- "source": 314,
- "pc": [
- 2561,
- 2562,
- 2563
- ]
- },
- {
- "teal": 1443,
- "source": 314,
- "pc": [
- 2564
- ]
- },
- {
- "teal": 1444,
- "source": 314,
- "pc": [
- 2565,
- 2566
- ]
- },
- {
- "teal": 1445,
- "source": 314,
- "pc": [
- 2567
- ]
- },
- {
- "teal": 1446,
- "source": 314,
- "pc": [
- 2568
- ]
- },
- {
- "teal": 1447,
- "source": 314,
- "pc": [
- 2569,
- 2570
- ]
- },
- {
- "teal": 1448,
- "source": 314,
- "pc": [
- 2571
- ]
- },
- {
- "teal": 1449,
- "source": 314,
- "pc": [
- 2572
- ]
- },
- {
- "teal": 1450,
- "source": 314,
- "pc": [
- 2573,
- 2574
- ]
- },
- {
- "teal": 1451,
- "source": 314,
- "pc": [
- 2575,
- 2576
- ]
- },
- {
- "teal": 1454,
- "source": 311,
- "pc": [
- 2577,
- 2578
- ]
- },
- {
- "teal": 1455,
- "source": 311,
- "pc": [
- 2579
- ]
- },
- {
- "teal": 1460,
- "source": 317,
- "pc": [
- 2580
- ]
- },
- {
- "teal": 1463,
- "source": 317,
- "pc": [
- 2581,
- 2582,
- 2583
- ]
- },
- {
- "teal": 1464,
- "source": 317,
- "pc": [
- 2584
- ]
- },
- {
- "teal": 1465,
- "source": 317,
- "pc": [
- 2585
- ]
- },
- {
- "teal": 1466,
- "source": 317,
- "pc": [
- 2586
- ]
- },
- {
- "teal": 1467,
- "source": 317,
- "pc": [
- 2587
- ]
- },
- {
- "teal": 1468,
- "source": 317,
- "pc": [
- 2588
- ]
- },
- {
- "teal": 1472,
- "source": 317,
- "pc": [
- 2589,
- 2590,
- 2591
- ]
- },
- {
- "teal": 1476,
- "source": 318,
- "pc": [
- 2592,
- 2593
- ]
- },
- {
- "teal": 1477,
- "source": 318,
- "pc": [
- 2594,
- 2595
- ]
- },
- {
- "teal": 1478,
- "source": 318,
- "pc": [
- 2596
- ]
- },
- {
- "teal": 1482,
- "source": 320,
- "pc": [
- 2597,
- 2598
- ]
- },
- {
- "teal": 1483,
- "source": 320,
- "pc": [
- 2599
- ]
- },
- {
- "teal": 1484,
- "source": 320,
- "pc": [
- 2600
- ]
- },
- {
- "teal": 1485,
- "source": 320,
- "pc": [
- 2601,
- 2602
- ]
- },
- {
- "teal": 1486,
- "source": 320,
- "pc": [
- 2603
- ]
- },
- {
- "teal": 1487,
- "source": 320,
- "pc": [
- 2604,
- 2605,
- 2606
- ]
- },
- {
- "teal": 1488,
- "source": 320,
- "pc": [
- 2607
- ]
- },
- {
- "teal": 1489,
- "source": 320,
- "pc": [
- 2608,
- 2609
- ]
- },
- {
- "teal": 1490,
- "source": 320,
- "pc": [
- 2610
- ]
- },
- {
- "teal": 1491,
- "source": 320,
- "pc": [
- 2611
- ]
- },
- {
- "teal": 1492,
- "source": 320,
- "pc": [
- 2612,
- 2613
- ]
- },
- {
- "teal": 1493,
- "source": 320,
- "pc": [
- 2614
- ]
- },
- {
- "teal": 1494,
- "source": 320,
- "pc": [
- 2615
- ]
- },
- {
- "teal": 1495,
- "source": 320,
- "pc": [
- 2616,
- 2617
- ]
- },
- {
- "teal": 1496,
- "source": 320,
- "pc": [
- 2618
- ]
- },
- {
- "teal": 1497,
- "source": 320,
- "pc": [
- 2619
- ]
- },
- {
- "teal": 1498,
- "source": 320,
- "pc": [
- 2620,
- 2621
- ]
- },
- {
- "teal": 1499,
- "source": 317,
- "pc": [
- 2622
- ]
- },
- {
- "teal": 1504,
- "source": 323,
- "pc": [
- 2623,
- 2624,
- 2625
- ]
- },
- {
- "teal": 1505,
- "source": 323,
- "pc": [
- 2626
- ]
- },
- {
- "teal": 1506,
- "source": 323,
- "pc": [
- 2627
- ]
- },
- {
- "teal": 1510,
- "source": 323,
- "pc": [
- 2628,
- 2629,
- 2630
- ]
- },
- {
- "teal": 1514,
- "source": 324,
- "pc": [
- 2631
- ]
- },
- {
- "teal": 1515,
- "source": 324,
- "pc": [
- 2632
- ]
- },
- {
- "teal": 1516,
- "source": 324,
- "pc": [
- 2633
- ]
- },
- {
- "teal": 1517,
- "source": 324,
- "pc": [
- 2634
- ]
- },
- {
- "teal": 1521,
- "source": 325,
- "pc": [
- 2635,
- 2636
- ]
- },
- {
- "teal": 1522,
- "source": 325,
- "pc": [
- 2637
- ]
- },
- {
- "teal": 1523,
- "source": 325,
- "pc": [
- 2638
- ]
- },
- {
- "teal": 1524,
- "source": 325,
- "pc": [
- 2639
- ]
- },
- {
- "teal": 1528,
- "source": 326,
- "pc": [
- 2640,
- 2641
- ]
- },
- {
- "teal": 1529,
- "source": 326,
- "pc": [
- 2642
- ]
- },
- {
- "teal": 1530,
- "source": 326,
- "pc": [
- 2643
- ]
- },
- {
- "teal": 1531,
- "source": 326,
- "pc": [
- 2644
- ]
- },
- {
- "teal": 1532,
- "source": 323,
- "pc": [
- 2645
- ]
- },
- {
- "teal": 1537,
- "source": 329,
- "pc": [
- 2646,
- 2647,
- 2648
- ]
- },
- {
- "teal": 1538,
- "source": 329,
- "pc": [
- 2649
- ]
- },
- {
- "teal": 1539,
- "source": 329,
- "pc": [
- 2650
- ]
- },
- {
- "teal": 1543,
- "source": 329,
- "pc": [
- 2651,
- 2652,
- 2653
- ]
- },
- {
- "teal": 1547,
- "source": 330,
- "pc": [
- 2654
- ]
- },
- {
- "teal": 1550,
- "source": 330,
- "errorMessage": "this is false",
- "pc": [
- 2655
- ]
- },
- {
- "teal": 1551,
- "source": 329,
- "pc": [
- 2656
- ]
- },
- {
- "teal": 1556,
- "source": 333,
- "pc": [
- 2657,
- 2658,
- 2659
- ]
- },
- {
- "teal": 1557,
- "source": 333,
- "pc": [
- 2660
- ]
- },
- {
- "teal": 1558,
- "source": 333,
- "pc": [
- 2661
- ]
- },
- {
- "teal": 1562,
- "source": 333,
- "pc": [
- 2662,
- 2663,
- 2664
- ]
- },
- {
- "teal": 1566,
- "source": 334,
- "pc": [
- 2665,
- 2666
- ]
- },
- {
- "teal": 1567,
- "source": 334,
- "pc": [
- 2667
- ]
- },
- {
- "teal": 1568,
- "source": 334,
- "pc": [
- 2668
- ]
- },
- {
- "teal": 1572,
- "source": 335,
- "pc": [
- 2669,
- 2670
- ]
- },
- {
- "teal": 1573,
- "source": 335,
- "pc": [
- 2671
- ]
- },
- {
- "teal": 1574,
- "source": 335,
- "pc": [
- 2672
- ]
- },
- {
- "teal": 1578,
- "source": 336,
- "pc": [
- 2673,
- 2674
- ]
- },
- {
- "teal": 1579,
- "source": 336,
- "pc": [
- 2675
- ]
- },
- {
- "teal": 1580,
- "source": 336,
- "pc": [
- 2676
- ]
- },
- {
- "teal": 1584,
- "source": 337,
- "pc": [
- 2677,
- 2678
- ]
- },
- {
- "teal": 1585,
- "source": 337,
- "pc": [
- 2679
- ]
- },
- {
- "teal": 1586,
- "source": 337,
- "pc": [
- 2680,
- 2681
- ]
- },
- {
- "teal": 1587,
- "source": 337,
- "pc": [
- 2682
- ]
- },
- {
- "teal": 1591,
- "source": 338,
- "pc": [
- 2683,
- 2684
- ]
- },
- {
- "teal": 1592,
- "source": 338,
- "pc": [
- 2685
- ]
- },
- {
- "teal": 1593,
- "source": 338,
- "pc": [
- 2686,
- 2687
- ]
- },
- {
- "teal": 1594,
- "source": 338,
- "pc": [
- 2688
- ]
- },
- {
- "teal": 1595,
- "source": 333,
- "pc": [
- 2689
- ]
- },
- {
- "teal": 1600,
- "source": 341,
- "pc": [
- 2690,
- 2691,
- 2692
- ]
- },
- {
- "teal": 1601,
- "source": 341,
- "pc": [
- 2693
- ]
- },
- {
- "teal": 1602,
- "source": 341,
- "pc": [
- 2694
- ]
- },
- {
- "teal": 1606,
- "source": 341,
- "pc": [
- 2695,
- 2696,
- 2697
- ]
- },
- {
- "teal": 1609,
- "source": 341,
- "pc": [
- 2698
- ]
- },
- {
- "teal": 1610,
- "source": 341,
- "pc": [
- 2699
- ]
- },
- {
- "teal": 1614,
- "source": 342,
- "pc": [
- 2700
- ]
- },
- {
- "teal": 1615,
- "source": 342,
- "pc": [
- 2701
- ]
- },
- {
- "teal": 1616,
- "source": 342,
- "pc": [
- 2702,
- 2703
- ]
- },
- {
- "teal": 1617,
- "source": 342,
- "pc": [
- 2704
- ]
- },
- {
- "teal": 1618,
- "source": 342,
- "pc": [
- 2705,
- 2706
- ]
- },
- {
- "teal": 1619,
- "source": 342,
- "pc": [
- 2707
- ]
- },
- {
- "teal": 1620,
- "source": 342,
- "pc": [
- 2708
- ]
- },
- {
- "teal": 1621,
- "source": 342,
- "pc": [
- 2709,
- 2710
- ]
- },
- {
- "teal": 1622,
- "source": 342,
- "pc": [
- 2711,
- 2712
- ]
- },
- {
- "teal": 1623,
- "source": 342,
- "pc": [
- 2713,
- 2714
- ]
- },
- {
- "teal": 1624,
- "source": 342,
- "pc": [
- 2715,
- 2716
- ]
- },
- {
- "teal": 1625,
- "source": 342,
- "pc": [
- 2717
- ]
- },
- {
- "teal": 1629,
- "source": 343,
- "pc": [
- 2718
- ]
- },
- {
- "teal": 1630,
- "source": 343,
- "pc": [
- 2719
- ]
- },
- {
- "teal": 1631,
- "source": 343,
- "pc": [
- 2720,
- 2721
- ]
- },
- {
- "teal": 1632,
- "source": 343,
- "pc": [
- 2722
- ]
- },
- {
- "teal": 1633,
- "source": 343,
- "pc": [
- 2723,
- 2724
- ]
- },
- {
- "teal": 1634,
- "source": 343,
- "pc": [
- 2725
- ]
- },
- {
- "teal": 1635,
- "source": 343,
- "pc": [
- 2726
- ]
- },
- {
- "teal": 1636,
- "source": 343,
- "pc": [
- 2727,
- 2728
- ]
- },
- {
- "teal": 1637,
- "source": 343,
- "pc": [
- 2729,
- 2730
- ]
- },
- {
- "teal": 1638,
- "source": 343,
- "pc": [
- 2731,
- 2732
- ]
- },
- {
- "teal": 1639,
- "source": 343,
- "pc": [
- 2733,
- 2734
- ]
- },
- {
- "teal": 1640,
- "source": 343,
- "pc": [
- 2735
- ]
- },
- {
- "teal": 1644,
- "source": 344,
- "pc": [
- 2736
- ]
- },
- {
- "teal": 1645,
- "source": 344,
- "pc": [
- 2737
- ]
- },
- {
- "teal": 1646,
- "source": 344,
- "pc": [
- 2738,
- 2739
- ]
- },
- {
- "teal": 1647,
- "source": 344,
- "pc": [
- 2740
- ]
- },
- {
- "teal": 1648,
- "source": 344,
- "pc": [
- 2741,
- 2742
- ]
- },
- {
- "teal": 1649,
- "source": 344,
- "pc": [
- 2743
- ]
- },
- {
- "teal": 1650,
- "source": 344,
- "pc": [
- 2744
- ]
- },
- {
- "teal": 1651,
- "source": 344,
- "pc": [
- 2745,
- 2746
- ]
- },
- {
- "teal": 1652,
- "source": 344,
- "pc": [
- 2747,
- 2748
- ]
- },
- {
- "teal": 1653,
- "source": 344,
- "pc": [
- 2749,
- 2750
- ]
- },
- {
- "teal": 1654,
- "source": 344,
- "pc": [
- 2751,
- 2752
- ]
- },
- {
- "teal": 1655,
- "source": 344,
- "pc": [
- 2753
- ]
- },
- {
- "teal": 1659,
- "source": 345,
- "pc": [
- 2754
- ]
- },
- {
- "teal": 1660,
- "source": 345,
- "pc": [
- 2755
- ]
- },
- {
- "teal": 1661,
- "source": 345,
- "pc": [
- 2756,
- 2757
- ]
- },
- {
- "teal": 1662,
- "source": 345,
- "pc": [
- 2758
- ]
- },
- {
- "teal": 1663,
- "source": 345,
- "pc": [
- 2759,
- 2760
- ]
- },
- {
- "teal": 1664,
- "source": 345,
- "pc": [
- 2761
- ]
- },
- {
- "teal": 1665,
- "source": 345,
- "pc": [
- 2762
- ]
- },
- {
- "teal": 1666,
- "source": 345,
- "pc": [
- 2763,
- 2764
- ]
- },
- {
- "teal": 1667,
- "source": 345,
- "pc": [
- 2765,
- 2766
- ]
- },
- {
- "teal": 1668,
- "source": 345,
- "pc": [
- 2767,
- 2768
- ]
- },
- {
- "teal": 1669,
- "source": 345,
- "pc": [
- 2769,
- 2770
- ]
- },
- {
- "teal": 1670,
- "source": 345,
- "pc": [
- 2771
- ]
- },
- {
- "teal": 1674,
- "source": 346,
- "pc": [
- 2772
- ]
- },
- {
- "teal": 1675,
- "source": 346,
- "pc": [
- 2773
- ]
- },
- {
- "teal": 1676,
- "source": 346,
- "pc": [
- 2774,
- 2775
- ]
- },
- {
- "teal": 1677,
- "source": 346,
- "pc": [
- 2776
- ]
- },
- {
- "teal": 1678,
- "source": 346,
- "pc": [
- 2777,
- 2778
- ]
- },
- {
- "teal": 1679,
- "source": 346,
- "pc": [
- 2779
- ]
- },
- {
- "teal": 1680,
- "source": 346,
- "pc": [
- 2780
- ]
- },
- {
- "teal": 1681,
- "source": 346,
- "pc": [
- 2781,
- 2782
- ]
- },
- {
- "teal": 1682,
- "source": 346,
- "pc": [
- 2783,
- 2784
- ]
- },
- {
- "teal": 1683,
- "source": 346,
- "pc": [
- 2785,
- 2786
- ]
- },
- {
- "teal": 1684,
- "source": 346,
- "pc": [
- 2787,
- 2788
- ]
- },
- {
- "teal": 1685,
- "source": 346,
- "pc": [
- 2789
- ]
- },
- {
- "teal": 1689,
- "source": 347,
- "pc": [
- 2790
- ]
- },
- {
- "teal": 1690,
- "source": 347,
- "pc": [
- 2791
- ]
- },
- {
- "teal": 1691,
- "source": 347,
- "pc": [
- 2792,
- 2793
- ]
- },
- {
- "teal": 1692,
- "source": 347,
- "pc": [
- 2794
- ]
- },
- {
- "teal": 1693,
- "source": 347,
- "pc": [
- 2795,
- 2796
- ]
- },
- {
- "teal": 1694,
- "source": 347,
- "pc": [
- 2797
- ]
- },
- {
- "teal": 1695,
- "source": 347,
- "pc": [
- 2798
- ]
- },
- {
- "teal": 1696,
- "source": 347,
- "pc": [
- 2799,
- 2800
- ]
- },
- {
- "teal": 1697,
- "source": 347,
- "pc": [
- 2801,
- 2802
- ]
- },
- {
- "teal": 1698,
- "source": 347,
- "pc": [
- 2803,
- 2804
- ]
- },
- {
- "teal": 1699,
- "source": 347,
- "pc": [
- 2805,
- 2806
- ]
- },
- {
- "teal": 1700,
- "source": 347,
- "pc": [
- 2807
- ]
- },
- {
- "teal": 1704,
- "source": 348,
- "pc": [
- 2808
- ]
- },
- {
- "teal": 1705,
- "source": 348,
- "pc": [
- 2809
- ]
- },
- {
- "teal": 1706,
- "source": 348,
- "pc": [
- 2810,
- 2811
- ]
- },
- {
- "teal": 1707,
- "source": 348,
- "pc": [
- 2812
- ]
- },
- {
- "teal": 1708,
- "source": 348,
- "pc": [
- 2813,
- 2814
- ]
- },
- {
- "teal": 1709,
- "source": 348,
- "pc": [
- 2815
- ]
- },
- {
- "teal": 1710,
- "source": 348,
- "pc": [
- 2816
- ]
- },
- {
- "teal": 1711,
- "source": 348,
- "pc": [
- 2817,
- 2818
- ]
- },
- {
- "teal": 1712,
- "source": 348,
- "pc": [
- 2819,
- 2820
- ]
- },
- {
- "teal": 1713,
- "source": 348,
- "pc": [
- 2821,
- 2822
- ]
- },
- {
- "teal": 1714,
- "source": 348,
- "pc": [
- 2823,
- 2824
- ]
- },
- {
- "teal": 1715,
- "source": 348,
- "pc": [
- 2825
- ]
- },
- {
- "teal": 1719,
- "source": 349,
- "pc": [
- 2826
- ]
- },
- {
- "teal": 1720,
- "source": 349,
- "pc": [
- 2827
- ]
- },
- {
- "teal": 1721,
- "source": 349,
- "pc": [
- 2828,
- 2829
- ]
- },
- {
- "teal": 1722,
- "source": 349,
- "pc": [
- 2830
- ]
- },
- {
- "teal": 1723,
- "source": 349,
- "pc": [
- 2831,
- 2832
- ]
- },
- {
- "teal": 1724,
- "source": 349,
- "pc": [
- 2833
- ]
- },
- {
- "teal": 1725,
- "source": 349,
- "pc": [
- 2834
- ]
- },
- {
- "teal": 1726,
- "source": 349,
- "pc": [
- 2835,
- 2836
- ]
- },
- {
- "teal": 1727,
- "source": 349,
- "pc": [
- 2837,
- 2838
- ]
- },
- {
- "teal": 1728,
- "source": 349,
- "pc": [
- 2839,
- 2840
- ]
- },
- {
- "teal": 1729,
- "source": 349,
- "pc": [
- 2841,
- 2842
- ]
- },
- {
- "teal": 1730,
- "source": 349,
- "pc": [
- 2843
- ]
- },
- {
- "teal": 1734,
- "source": 350,
- "pc": [
- 2844
- ]
- },
- {
- "teal": 1735,
- "source": 350,
- "pc": [
- 2845
- ]
- },
- {
- "teal": 1736,
- "source": 350,
- "pc": [
- 2846,
- 2847
- ]
- },
- {
- "teal": 1737,
- "source": 350,
- "pc": [
- 2848
- ]
- },
- {
- "teal": 1738,
- "source": 350,
- "pc": [
- 2849,
- 2850
- ]
- },
- {
- "teal": 1739,
- "source": 350,
- "pc": [
- 2851
- ]
- },
- {
- "teal": 1740,
- "source": 350,
- "pc": [
- 2852
- ]
- },
- {
- "teal": 1741,
- "source": 350,
- "pc": [
- 2853,
- 2854
- ]
- },
- {
- "teal": 1742,
- "source": 350,
- "pc": [
- 2855,
- 2856
- ]
- },
- {
- "teal": 1743,
- "source": 350,
- "pc": [
- 2857,
- 2858
- ]
- },
- {
- "teal": 1744,
- "source": 350,
- "pc": [
- 2859,
- 2860
- ]
- },
- {
- "teal": 1745,
- "source": 350,
- "pc": [
- 2861
- ]
- },
- {
- "teal": 1749,
- "source": 352,
- "pc": [
- 2862,
- 2863
- ]
- },
- {
- "teal": 1750,
- "source": 352,
- "pc": [
- 2864,
- 2865,
- 2866,
- 2867,
- 2868,
- 2869,
- 2870,
- 2871,
- 2872,
- 2873,
- 2874,
- 2875,
- 2876,
- 2877,
- 2878,
- 2879,
- 2880,
- 2881,
- 2882,
- 2883,
- 2884,
- 2885,
- 2886,
- 2887,
- 2888,
- 2889,
- 2890,
- 2891,
- 2892,
- 2893,
- 2894,
- 2895,
- 2896,
- 2897,
- 2898,
- 2899,
- 2900,
- 2901,
- 2902,
- 2903,
- 2904,
- 2905,
- 2906,
- 2907,
- 2908,
- 2909,
- 2910,
- 2911,
- 2912,
- 2913,
- 2914,
- 2915,
- 2916,
- 2917,
- 2918,
- 2919,
- 2920,
- 2921,
- 2922,
- 2923,
- 2924,
- 2925,
- 2926,
- 2927,
- 2928,
- 2929,
- 2930,
- 2931,
- 2932,
- 2933,
- 2934,
- 2935,
- 2936,
- 2937,
- 2938,
- 2939,
- 2940,
- 2941,
- 2942,
- 2943,
- 2944,
- 2945
- ]
- },
- {
- "teal": 1751,
- "source": 352,
- "pc": [
- 2946,
- 2947
- ]
- },
- {
- "teal": 1752,
- "source": 352,
- "pc": [
- 2948,
- 2949
- ]
- },
- {
- "teal": 1753,
- "source": 352,
- "pc": [
- 2950,
- 2951
- ]
- },
- {
- "teal": 1754,
- "source": 352,
- "pc": [
- 2952,
- 2953
- ]
- },
- {
- "teal": 1758,
- "source": 353,
- "pc": [
- 2954,
- 2955
- ]
- },
- {
- "teal": 1759,
- "source": 353,
- "pc": [
- 2956
- ]
- },
- {
- "teal": 1760,
- "source": 353,
- "pc": [
- 2957
- ]
- },
- {
- "teal": 1764,
- "source": 354,
- "pc": [
- 2958,
- 2959
- ]
- },
- {
- "teal": 1765,
- "source": 354,
- "pc": [
- 2960
- ]
- },
- {
- "teal": 1766,
- "source": 341,
- "pc": [
- 2961
- ]
- },
- {
- "teal": 1771,
- "source": 357,
- "pc": [
- 2962,
- 2963,
- 2964
- ]
- },
- {
- "teal": 1772,
- "source": 357,
- "pc": [
- 2965
- ]
- },
- {
- "teal": 1773,
- "source": 357,
- "pc": [
- 2966
- ]
- },
- {
- "teal": 1777,
- "source": 357,
- "pc": [
- 2967,
- 2968,
- 2969
- ]
- },
- {
- "teal": 1780,
- "source": 357,
- "pc": [
- 2970
- ]
- },
- {
- "teal": 1784,
- "source": 358,
- "pc": [
- 2971
- ]
- },
- {
- "teal": 1785,
- "source": 358,
- "pc": [
- 2972
- ]
- },
- {
- "teal": 1786,
- "source": 358,
- "pc": [
- 2973,
- 2974
- ]
- },
- {
- "teal": 1790,
- "source": 359,
- "pc": [
- 2975
- ]
- },
- {
- "teal": 1791,
- "source": 359,
- "pc": [
- 2976
- ]
- },
- {
- "teal": 1792,
- "source": 359,
- "pc": [
- 2977,
- 2978
- ]
- },
- {
- "teal": 1796,
- "source": 360,
- "pc": [
- 2979,
- 2980
- ]
- },
- {
- "teal": 1797,
- "source": 360,
- "pc": [
- 2981,
- 2982
- ]
- },
- {
- "teal": 1801,
- "source": 361,
- "pc": [
- 2983
- ]
- },
- {
- "teal": 1802,
- "source": 361,
- "pc": [
- 2984,
- 2985
- ]
- },
- {
- "teal": 1803,
- "source": 361,
- "pc": [
- 2986,
- 2987
- ]
- },
- {
- "teal": 1807,
- "source": 362,
- "pc": [
- 2988
- ]
- },
- {
- "teal": 1808,
- "source": 362,
- "pc": [
- 2989,
- 2990
- ]
- },
- {
- "teal": 1812,
- "source": 363,
- "pc": [
- 2991
- ]
- },
- {
- "teal": 1813,
- "source": 363,
- "pc": [
- 2992,
- 2993
- ]
- },
- {
- "teal": 1817,
- "source": 364,
- "pc": [
- 2994
- ]
- },
- {
- "teal": 1818,
- "source": 364,
- "pc": [
- 2995
- ]
- },
- {
- "teal": 1819,
- "source": 364,
- "pc": [
- 2996,
- 2997
- ]
- },
- {
- "teal": 1820,
- "source": 357,
- "pc": [
- 2998
- ]
- },
- {
- "teal": 1825,
- "source": 367,
- "pc": [
- 2999,
- 3000,
- 3001
- ]
- },
- {
- "teal": 1826,
- "source": 367,
- "pc": [
- 3002
- ]
- },
- {
- "teal": 1827,
- "source": 367,
- "pc": [
- 3003
- ]
- },
- {
- "teal": 1831,
- "source": 367,
- "pc": [
- 3004,
- 3005,
- 3006
- ]
- },
- {
- "teal": 1834,
- "source": 367,
- "pc": [
- 3007
- ]
- },
- {
- "teal": 1838,
- "source": 368,
- "pc": [
- 3008,
- 3009,
- 3010
- ]
- },
- {
- "teal": 1839,
- "source": 368,
- "pc": [
- 3011
- ]
- },
- {
- "teal": 1843,
- "source": 370,
- "pc": [
- 3012
- ]
- },
- {
- "teal": 1844,
- "source": 370,
- "pc": [
- 3013,
- 3014
- ]
- },
- {
- "teal": 1848,
- "source": 372,
- "pc": [
- 3015,
- 3016,
- 3017
- ]
- },
- {
- "teal": 1849,
- "source": 372,
- "pc": [
- 3018
- ]
- },
- {
- "teal": 1850,
- "source": 367,
- "pc": [
- 3019
- ]
- },
- {
- "teal": 1855,
- "source": 375,
- "pc": [
- 3020,
- 3021,
- 3022
- ]
- },
- {
- "teal": 1856,
- "source": 375,
- "pc": [
- 3023
- ]
- },
- {
- "teal": 1857,
- "source": 375,
- "pc": [
- 3024
- ]
- },
- {
- "teal": 1861,
- "source": 375,
- "pc": [
- 3025,
- 3026,
- 3027
- ]
- },
- {
- "teal": 1865,
- "source": 376,
- "pc": [
- 3028
- ]
- },
- {
- "teal": 1866,
- "source": 376,
- "pc": [
- 3029
- ]
- },
- {
- "teal": 1867,
- "source": 376,
- "pc": [
- 3030
- ]
- },
- {
- "teal": 1868,
- "source": 376,
- "pc": [
- 3031
- ]
- },
- {
- "teal": 1869,
- "source": 376,
- "pc": [
- 3032
- ]
- },
- {
- "teal": 1873,
- "source": 377,
- "pc": [
- 3033
- ]
- },
- {
- "teal": 1874,
- "source": 377,
- "pc": [
- 3034
- ]
- },
- {
- "teal": 1875,
- "source": 377,
- "pc": [
- 3035
- ]
- },
- {
- "teal": 1879,
- "source": 378,
- "pc": [
- 3036
- ]
- },
- {
- "teal": 1880,
- "source": 378,
- "pc": [
- 3037
- ]
- },
- {
- "teal": 1881,
- "source": 378,
- "pc": [
- 3038
- ]
- },
- {
- "teal": 1885,
- "source": 379,
- "pc": [
- 3039
- ]
- },
- {
- "teal": 1886,
- "source": 379,
- "pc": [
- 3040
- ]
- },
- {
- "teal": 1887,
- "source": 379,
- "pc": [
- 3041
- ]
- },
- {
- "teal": 1888,
- "source": 379,
- "pc": [
- 3042
- ]
- },
- {
- "teal": 1889,
- "source": 375,
- "pc": [
- 3043
- ]
- },
- {
- "teal": 1894,
- "source": 382,
- "pc": [
- 3044,
- 3045,
- 3046
- ]
- },
- {
- "teal": 1895,
- "source": 382,
- "pc": [
- 3047
- ]
- },
- {
- "teal": 1896,
- "source": 382,
- "pc": [
- 3048
- ]
- },
- {
- "teal": 1900,
- "source": 382,
- "pc": [
- 3049,
- 3050,
- 3051
- ]
- },
- {
- "teal": 1904,
- "source": 383,
- "pc": [
- 3052,
- 3053
- ]
- },
- {
- "teal": 1905,
- "source": 383,
- "pc": [
- 3054
- ]
- },
- {
- "teal": 1906,
- "source": 383,
- "pc": [
- 3055
- ]
- },
- {
- "teal": 1907,
- "source": 383,
- "pc": [
- 3056
- ]
- },
- {
- "teal": 1908,
- "source": 383,
- "pc": [
- 3057
- ]
- },
- {
- "teal": 1912,
- "source": 384,
- "pc": [
- 3058,
- 3059
- ]
- },
- {
- "teal": 1913,
- "source": 384,
- "pc": [
- 3060
- ]
- },
- {
- "teal": 1914,
- "source": 384,
- "pc": [
- 3061
- ]
- },
- {
- "teal": 1915,
- "source": 382,
- "pc": [
- 3062
- ]
- },
- {
- "teal": 1920,
- "source": 387,
- "pc": [
- 3063,
- 3064,
- 3065
- ]
- },
- {
- "teal": 1921,
- "source": 387,
- "pc": [
- 3066
- ]
- },
- {
- "teal": 1922,
- "source": 387,
- "pc": [
- 3067
- ]
- },
- {
- "teal": 1926,
- "source": 387,
- "pc": [
- 3068,
- 3069,
- 3070
- ]
- },
- {
- "teal": 1930,
- "source": 388,
- "pc": [
- 3071,
- 3072
- ]
- },
- {
- "teal": 1931,
- "source": 388,
- "pc": [
- 3073
- ]
- },
- {
- "teal": 1932,
- "source": 388,
- "pc": [
- 3074
- ]
- },
- {
- "teal": 1933,
- "source": 388,
- "pc": [
- 3075,
- 3076
- ]
- },
- {
- "teal": 1934,
- "source": 388,
- "pc": [
- 3077
- ]
- },
- {
- "teal": 1938,
- "source": 389,
- "pc": [
- 3078,
- 3079
- ]
- },
- {
- "teal": 1939,
- "source": 389,
- "pc": [
- 3080
- ]
- },
- {
- "teal": 1940,
- "source": 389,
- "pc": [
- 3081
- ]
- },
- {
- "teal": 1941,
- "source": 389,
- "pc": [
- 3082,
- 3083
- ]
- },
- {
- "teal": 1942,
- "source": 389,
- "pc": [
- 3084
- ]
- },
- {
- "teal": 1943,
- "source": 387,
- "pc": [
- 3085
- ]
- },
- {
- "teal": 1948,
- "source": 392,
- "pc": [
- 3086,
- 3087,
- 3088
- ]
- },
- {
- "teal": 1949,
- "source": 392,
- "pc": [
- 3089
- ]
- },
- {
- "teal": 1950,
- "source": 392,
- "pc": [
- 3090
- ]
- },
- {
- "teal": 1954,
- "source": 392,
- "pc": [
- 3091,
- 3092,
- 3093
- ]
- },
- {
- "teal": 1958,
- "source": 393,
- "pc": [
- 3094
- ]
- },
- {
- "teal": 1959,
- "source": 393,
- "pc": [
- 3095,
- 3096
- ]
- },
- {
- "teal": 1960,
- "source": 393,
- "pc": [
- 3097
- ]
- },
- {
- "teal": 1961,
- "source": 392,
- "pc": [
- 3098
- ]
- },
- {
- "teal": 1966,
- "source": 396,
- "pc": [
- 3099,
- 3100,
- 3101
- ]
- },
- {
- "teal": 1967,
- "source": 396,
- "pc": [
- 3102
- ]
- },
- {
- "teal": 1968,
- "source": 396,
- "pc": [
- 3103
- ]
- },
- {
- "teal": 1972,
- "source": 396,
- "pc": [
- 3104,
- 3105,
- 3106
- ]
- },
- {
- "teal": 1976,
- "source": 397,
- "pc": [
- 3107
- ]
- },
- {
- "teal": 1977,
- "source": 397,
- "pc": [
- 3108
- ]
- },
- {
- "teal": 1978,
- "source": 397,
- "pc": [
- 3109,
- 3110
- ]
- },
- {
- "teal": 1979,
- "source": 397,
- "pc": [
- 3111
- ]
- },
- {
- "teal": 1983,
- "source": 398,
- "pc": [
- 3112
- ]
- },
- {
- "teal": 1984,
- "source": 398,
- "pc": [
- 3113
- ]
- },
- {
- "teal": 1985,
- "source": 398,
- "pc": [
- 3114,
- 3115
- ]
- },
- {
- "teal": 1986,
- "source": 398,
- "pc": [
- 3116
- ]
- },
- {
- "teal": 1990,
- "source": 399,
- "pc": [
- 3117
- ]
- },
- {
- "teal": 1991,
- "source": 399,
- "pc": [
- 3118
- ]
- },
- {
- "teal": 1992,
- "source": 399,
- "pc": [
- 3119,
- 3120
- ]
- },
- {
- "teal": 1993,
- "source": 399,
- "pc": [
- 3121
- ]
- },
- {
- "teal": 1994,
- "source": 396,
- "pc": [
- 3122
- ]
- },
- {
- "teal": 1999,
- "source": 402,
- "pc": [
- 3123,
- 3124,
- 3125
- ]
- },
- {
- "teal": 2000,
- "source": 402,
- "pc": [
- 3126
- ]
- },
- {
- "teal": 2001,
- "source": 402,
- "pc": [
- 3127
- ]
- },
- {
- "teal": 2005,
- "source": 402,
- "pc": [
- 3128,
- 3129,
- 3130
- ]
- },
- {
- "teal": 2009,
- "source": 403,
- "pc": [
- 3131,
- 3132
- ]
- },
- {
- "teal": 2010,
- "source": 403,
- "pc": [
- 3133
- ]
- },
- {
- "teal": 2014,
- "source": 404,
- "pc": [
- 3134
- ]
- },
- {
- "teal": 2015,
- "source": 404,
- "pc": [
- 3135
- ]
- },
- {
- "teal": 2016,
- "source": 402,
- "pc": [
- 3136
- ]
- },
- {
- "teal": 2021,
- "source": 407,
- "pc": [
- 3137,
- 3138,
- 3139
- ]
- },
- {
- "teal": 2022,
- "source": 407,
- "pc": [
- 3140
- ]
- },
- {
- "teal": 2023,
- "source": 407,
- "pc": [
- 3141
- ]
- },
- {
- "teal": 2027,
- "source": 407,
- "pc": [
- 3142,
- 3143,
- 3144
- ]
- },
- {
- "teal": 2031,
- "source": 10,
- "pc": [
- 3145,
- 3146,
- 3147
- ]
- },
- {
- "teal": 2032,
- "source": 408,
- "pc": [
- 3148
- ]
- },
- {
- "teal": 2033,
- "source": 407,
- "pc": [
- 3149
- ]
- },
- {
- "teal": 2038,
- "source": 411,
- "pc": [
- 3150,
- 3151,
- 3152
- ]
- },
- {
- "teal": 2039,
- "source": 411,
- "pc": [
- 3153
- ]
- },
- {
- "teal": 2040,
- "source": 411,
- "pc": [
- 3154
- ]
- },
- {
- "teal": 2044,
- "source": 411,
- "pc": [
- 3155,
- 3156,
- 3157
- ]
- },
- {
- "teal": 2048,
- "source": 11,
- "pc": [
- 3158,
- 3159,
- 3160,
- 3161
- ]
- },
- {
- "teal": 2049,
- "source": 412,
- "pc": [
- 3162
- ]
- },
- {
- "teal": 2050,
- "source": 411,
- "pc": [
- 3163
- ]
- },
- {
- "teal": 2055,
- "source": 415,
- "pc": [
- 3164,
- 3165,
- 3166
- ]
- },
- {
- "teal": 2056,
- "source": 415,
- "pc": [
- 3167
- ]
- },
- {
- "teal": 2057,
- "source": 415,
- "pc": [
- 3168
- ]
- },
- {
- "teal": 2061,
- "source": 415,
- "pc": [
- 3169,
- 3170,
- 3171
- ]
- },
- {
- "teal": 2065,
- "source": 416,
- "pc": [
- 3172
- ]
- },
- {
- "teal": 2066,
- "source": 416,
- "pc": [
- 3173
- ]
- },
- {
- "teal": 2067,
- "source": 416,
- "pc": [
- 3174
- ]
- },
- {
- "teal": 2068,
- "source": 416,
- "pc": [
- 3175
- ]
- },
- {
- "teal": 2072,
- "source": 417,
- "pc": [
- 3176
- ]
- },
- {
- "teal": 2073,
- "source": 417,
- "pc": [
- 3177
- ]
- },
- {
- "teal": 2074,
- "source": 417,
- "pc": [
- 3178
- ]
- },
- {
- "teal": 2075,
- "source": 417,
- "pc": [
- 3179
- ]
- },
- {
- "teal": 2079,
- "source": 418,
- "pc": [
- 3180,
- 3181
- ]
- },
- {
- "teal": 2080,
- "source": 418,
- "pc": [
- 3182
- ]
- },
- {
- "teal": 2081,
- "source": 418,
- "pc": [
- 3183
- ]
- },
- {
- "teal": 2082,
- "source": 418,
- "pc": [
- 3184
- ]
- },
- {
- "teal": 2086,
- "source": 419,
- "pc": [
- 3185,
- 3186
- ]
- },
- {
- "teal": 2087,
- "source": 419,
- "pc": [
- 3187
- ]
- },
- {
- "teal": 2088,
- "source": 419,
- "pc": [
- 3188
- ]
- },
- {
- "teal": 2089,
- "source": 419,
- "pc": [
- 3189
- ]
- },
- {
- "teal": 2090,
- "source": 415,
- "pc": [
- 3190
- ]
- },
- {
- "teal": 2095,
- "source": 422,
- "pc": [
- 3191
- ]
- },
- {
- "teal": 2098,
- "source": 422,
- "pc": [
- 3192,
- 3193,
- 3194
- ]
- },
- {
- "teal": 2099,
- "source": 422,
- "pc": [
- 3195,
- 3196,
- 3197
- ]
- },
- {
- "teal": 2100,
- "source": 422,
- "pc": [
- 3198
- ]
- },
- {
- "teal": 2101,
- "source": 422,
- "pc": [
- 3199,
- 3200
- ]
- },
- {
- "teal": 2102,
- "source": 422,
- "pc": [
- 3201
- ]
- },
- {
- "teal": 2103,
- "source": 422,
- "pc": [
- 3202
- ]
- },
- {
- "teal": 2104,
- "source": 422,
- "pc": [
- 3203
- ]
- },
- {
- "teal": 2105,
- "source": 422,
- "pc": [
- 3204
- ]
- },
- {
- "teal": 2106,
- "source": 422,
- "pc": [
- 3205
- ]
- },
- {
- "teal": 2110,
- "source": 422,
- "pc": [
- 3206,
- 3207,
- 3208
- ]
- },
- {
- "teal": 2114,
- "source": 423,
- "pc": [
- 3209,
- 3210
- ]
- },
- {
- "teal": 2115,
- "source": 423,
- "pc": [
- 3211,
- 3212
- ]
- },
- {
- "teal": 2116,
- "source": 423,
- "pc": [
- 3213
- ]
- },
- {
- "teal": 2117,
- "source": 423,
- "pc": [
- 3214
- ]
- },
- {
- "teal": 2118,
- "source": 423,
- "pc": [
- 3215,
- 3216,
- 3217
- ]
- },
- {
- "teal": 2119,
- "source": 423,
- "pc": [
- 3218,
- 3219
- ]
- },
- {
- "teal": 2120,
- "source": 423,
- "pc": [
- 3220,
- 3221
- ]
- },
- {
- "teal": 2121,
- "source": 423,
- "pc": [
- 3222
- ]
- },
- {
- "teal": 2122,
- "source": 423,
- "pc": [
- 3223
- ]
- },
- {
- "teal": 2125,
- "source": 422,
- "pc": [
- 3224
- ]
- },
- {
- "teal": 2130,
- "source": 427,
- "pc": [
- 3225,
- 3226
- ]
- },
- {
- "teal": 2131,
- "source": 427,
- "pc": [
- 3227
- ]
- },
- {
- "teal": 2132,
- "source": 427,
- "pc": [
- 3228
- ]
- },
- {
- "teal": 2133,
- "source": 427,
- "pc": [
- 3229
- ]
- },
- {
- "teal": 2134,
- "source": 427,
- "pc": [
- 3230,
- 3231
- ]
- },
- {
- "teal": 2135,
- "source": 427,
- "pc": [
- 3232
- ]
- },
- {
- "teal": 2136,
- "source": 427,
- "pc": [
- 3233
- ]
- },
- {
- "teal": 2139,
- "source": 427,
- "errorMessage": "argument 0 (_pay1) for txnArgsMethod must be a pay transaction",
- "pc": [
- 3234
- ]
- },
- {
- "teal": 2142,
- "source": 427,
- "pc": [
- 3235,
- 3236,
- 3237
- ]
- },
- {
- "teal": 2143,
- "source": 427,
- "pc": [
- 3238
- ]
- },
- {
- "teal": 2144,
- "source": 427,
- "pc": [
- 3239
- ]
- },
- {
- "teal": 2148,
- "source": 427,
- "pc": [
- 3240,
- 3241,
- 3242
- ]
- },
- {
- "teal": 2149,
- "source": 427,
- "pc": [
- 3243
- ]
- },
- {
- "teal": 2154,
- "source": 429,
- "pc": [
- 3244,
- 3245,
- 3246
- ]
- },
- {
- "teal": 2155,
- "source": 429,
- "pc": [
- 3247
- ]
- },
- {
- "teal": 2156,
- "source": 429,
- "pc": [
- 3248
- ]
- },
- {
- "teal": 2160,
- "source": 429,
- "pc": [
- 3249,
- 3250,
- 3251
- ]
- },
- {
- "teal": 2166,
- "source": 431,
- "pc": [
- 3252
- ]
- },
- {
- "teal": 2167,
- "source": 431,
- "pc": [
- 3253
- ]
- },
- {
- "teal": 2168,
- "source": 431,
- "pc": [
- 3254,
- 3255
- ]
- },
- {
- "teal": 2172,
- "source": 431,
- "pc": [
- 3256,
- 3257
- ]
- },
- {
- "teal": 2173,
- "source": 431,
- "pc": [
- 3258,
- 3259
- ]
- },
- {
- "teal": 2177,
- "source": 431,
- "pc": [
- 3260
- ]
- },
- {
- "teal": 2178,
- "source": 431,
- "pc": [
- 3261,
- 3262
- ]
- },
- {
- "teal": 2181,
- "source": 431,
- "pc": [
- 3263
- ]
- },
- {
- "teal": 2182,
- "source": 431,
- "pc": [
- 3264,
- 3265
- ]
- },
- {
- "teal": 2183,
- "source": 430,
- "pc": [
- 3266
- ]
- },
- {
- "teal": 2184,
- "source": 430,
- "pc": [
- 3267
- ]
- },
- {
- "teal": 2185,
- "source": 430,
- "pc": [
- 3268,
- 3269
- ]
- },
- {
- "teal": 2186,
- "source": 430,
- "pc": [
- 3270,
- 3271
- ]
- },
- {
- "teal": 2187,
- "source": 430,
- "pc": [
- 3272,
- 3273
- ]
- },
- {
- "teal": 2192,
- "source": 430,
- "pc": [
- 3274
- ]
- },
- {
- "teal": 2193,
- "source": 430,
- "pc": [
- 3275,
- 3276
- ]
- },
- {
- "teal": 2196,
- "source": 430,
- "pc": [
- 3277
- ]
- },
- {
- "teal": 2197,
- "source": 429,
- "pc": [
- 3278
- ]
- },
- {
- "teal": 2202,
- "source": 435,
- "pc": [
- 3279,
- 3280,
- 3281
- ]
- },
- {
- "teal": 2203,
- "source": 435,
- "pc": [
- 3282
- ]
- },
- {
- "teal": 2204,
- "source": 435,
- "pc": [
- 3283
- ]
- },
- {
- "teal": 2205,
- "source": 435,
- "pc": [
- 3284,
- 3285
- ]
- },
- {
- "teal": 2206,
- "source": 435,
- "pc": [
- 3286
- ]
- },
- {
- "teal": 2209,
- "source": 435,
- "errorMessage": "argument 0 (x) for staticValueLen must be a uint256",
- "pc": [
- 3287
- ]
- },
- {
- "teal": 2212,
- "source": 435,
- "pc": [
- 3288,
- 3289,
- 3290
- ]
- },
- {
- "teal": 2213,
- "source": 435,
- "pc": [
- 3291
- ]
- },
- {
- "teal": 2214,
- "source": 435,
- "pc": [
- 3292
- ]
- },
- {
- "teal": 2218,
- "source": 435,
- "pc": [
- 3293,
- 3294,
- 3295
- ]
- },
- {
- "teal": 2222,
- "source": 436,
- "pc": [
- 3296,
- 3297
- ]
- },
- {
- "teal": 2223,
- "source": 436,
- "pc": [
- 3298
- ]
- },
- {
- "teal": 2224,
- "source": 435,
- "pc": [
- 3299
- ]
- },
- {
- "teal": 2229,
- "source": 439,
- "pc": [
- 3300,
- 3301,
- 3302
- ]
- },
- {
- "teal": 2230,
- "source": 439,
- "pc": [
- 3303
- ]
- },
- {
- "teal": 2231,
- "source": 439,
- "pc": [
- 3304
- ]
- },
- {
- "teal": 2235,
- "source": 439,
- "pc": [
- 3305,
- 3306,
- 3307
- ]
- },
- {
- "teal": 2239,
- "source": 440,
- "pc": [
- 3308,
- 3309
- ]
- },
- {
- "teal": 2240,
- "source": 440,
- "pc": [
- 3310
- ]
- },
- {
- "teal": 2241,
- "source": 439,
- "pc": [
- 3311
- ]
- },
- {
- "teal": 2246,
- "source": 443,
- "pc": [
- 3312,
- 3313,
- 3314
- ]
- },
- {
- "teal": 2247,
- "source": 443,
- "pc": [
- 3315
- ]
- },
- {
- "teal": 2248,
- "source": 443,
- "pc": [
- 3316
- ]
- },
- {
- "teal": 2252,
- "source": 443,
- "pc": [
- 3317,
- 3318,
- 3319
- ]
- },
- {
- "teal": 2256,
- "source": 444,
- "pc": [
- 3320
- ]
- },
- {
- "teal": 2257,
- "source": 444,
- "pc": [
- 3321,
- 3322
- ]
- },
- {
- "teal": 2258,
- "source": 444,
- "pc": [
- 3323
- ]
- },
- {
- "teal": 2262,
- "source": 445,
- "pc": [
- 3324
- ]
- },
- {
- "teal": 2263,
- "source": 445,
- "pc": [
- 3325
- ]
- },
- {
- "teal": 2264,
- "source": 445,
- "pc": [
- 3326,
- 3327
- ]
- },
- {
- "teal": 2265,
- "source": 445,
- "pc": [
- 3328
- ]
- },
- {
- "teal": 2266,
- "source": 445,
- "pc": [
- 3329
- ]
- },
- {
- "teal": 2267,
- "source": 443,
- "pc": [
- 3330
- ]
- },
- {
- "teal": 2272,
- "source": 448,
- "pc": [
- 3331,
- 3332,
- 3333
- ]
- },
- {
- "teal": 2273,
- "source": 448,
- "pc": [
- 3334
- ]
- },
- {
- "teal": 2274,
- "source": 448,
- "pc": [
- 3335
- ]
- },
- {
- "teal": 2278,
- "source": 448,
- "pc": [
- 3336,
- 3337,
- 3338
- ]
- },
- {
- "teal": 2282,
- "source": 449,
- "pc": [
- 3339,
- 3340
- ]
- },
- {
- "teal": 2283,
- "source": 449,
- "pc": [
- 3341,
- 3342
- ]
- },
- {
- "teal": 2287,
- "source": 450,
- "pc": [
- 3343,
- 3344
- ]
- },
- {
- "teal": 2288,
- "source": 450,
- "pc": [
- 3345
- ]
- },
- {
- "teal": 2289,
- "source": 450,
- "pc": [
- 3346
- ]
- },
- {
- "teal": 2290,
- "source": 450,
- "pc": [
- 3347,
- 3348
- ]
- },
- {
- "teal": 2294,
- "source": 451,
- "pc": [
- 3349,
- 3350
- ]
- },
- {
- "teal": 2295,
- "source": 451,
- "pc": [
- 3351,
- 3352
- ]
- },
- {
- "teal": 2296,
- "source": 451,
- "pc": [
- 3353
- ]
- },
- {
- "teal": 2297,
- "source": 451,
- "pc": [
- 3354
- ]
- },
- {
- "teal": 2298,
- "source": 448,
- "pc": [
- 3355
- ]
- },
- {
- "teal": 2303,
- "source": 454,
- "pc": [
- 3356,
- 3357,
- 3358
- ]
- },
- {
- "teal": 2304,
- "source": 454,
- "pc": [
- 3359
- ]
- },
- {
- "teal": 2305,
- "source": 454,
- "pc": [
- 3360
- ]
- },
- {
- "teal": 2309,
- "source": 454,
- "pc": [
- 3361,
- 3362,
- 3363
- ]
- },
- {
- "teal": 2313,
- "source": 455,
- "pc": [
- 3364
- ]
- },
- {
- "teal": 2314,
- "source": 455,
- "pc": [
- 3365,
- 3366
- ]
- },
- {
- "teal": 2315,
- "source": 455,
- "pc": [
- 3367
- ]
- },
- {
- "teal": 2319,
- "source": 456,
- "pc": [
- 3368
- ]
- },
- {
- "teal": 2320,
- "source": 456,
- "pc": [
- 3369
- ]
- },
- {
- "teal": 2321,
- "source": 456,
- "pc": [
- 3370
- ]
- },
- {
- "teal": 2322,
- "source": 456,
- "pc": [
- 3371
- ]
- },
- {
- "teal": 2323,
- "source": 456,
- "pc": [
- 3372
- ]
- },
- {
- "teal": 2324,
- "source": 456,
- "pc": [
- 3373
- ]
- },
- {
- "teal": 2325,
- "source": 456,
- "pc": [
- 3374
- ]
- },
- {
- "teal": 2329,
- "source": 457,
- "pc": [
- 3375
- ]
- },
- {
- "teal": 2330,
- "source": 457,
- "pc": [
- 3376
- ]
- },
- {
- "teal": 2331,
- "source": 457,
- "pc": [
- 3377,
- 3378
- ]
- },
- {
- "teal": 2332,
- "source": 457,
- "pc": [
- 3379
- ]
- },
- {
- "teal": 2333,
- "source": 457,
- "pc": [
- 3380
- ]
- },
- {
- "teal": 2334,
- "source": 454,
- "pc": [
- 3381
- ]
- },
- {
- "teal": 2339,
- "source": 460,
- "pc": [
- 3382,
- 3383,
- 3384
- ]
- },
- {
- "teal": 2340,
- "source": 460,
- "pc": [
- 3385
- ]
- },
- {
- "teal": 2341,
- "source": 460,
- "pc": [
- 3386
- ]
- },
- {
- "teal": 2345,
- "source": 460,
- "pc": [
- 3387,
- 3388,
- 3389
- ]
- },
- {
- "teal": 2348,
- "source": 460,
- "pc": [
- 3390
- ]
- },
- {
- "teal": 2352,
- "source": 461,
- "pc": [
- 3391,
- 3392
- ]
- },
- {
- "teal": 2353,
- "source": 461,
- "pc": [
- 3393,
- 3394
- ]
- },
- {
- "teal": 2357,
- "source": 462,
- "pc": [
- 3395,
- 3396
- ]
- },
- {
- "teal": 2358,
- "source": 462,
- "pc": [
- 3397,
- 3398
- ]
- },
- {
- "teal": 2359,
- "source": 462,
- "pc": [
- 3399
- ]
- },
- {
- "teal": 2360,
- "source": 462,
- "pc": [
- 3400
- ]
- },
- {
- "teal": 2361,
- "source": 460,
- "pc": [
- 3401
- ]
- },
- {
- "teal": 2366,
- "source": 465,
- "pc": [
- 3402
- ]
- },
- {
- "teal": 2369,
- "source": 465,
- "pc": [
- 3403,
- 3404,
- 3405
- ]
- },
- {
- "teal": 2370,
- "source": 465,
- "pc": [
- 3406
- ]
- },
- {
- "teal": 2373,
- "source": 465,
- "pc": [
- 3407,
- 3408,
- 3409
- ]
- },
- {
- "teal": 2374,
- "source": 465,
- "pc": [
- 3410
- ]
- },
- {
- "teal": 2375,
- "source": 465,
- "pc": [
- 3411
- ]
- },
- {
- "teal": 2376,
- "source": 465,
- "pc": [
- 3412
- ]
- },
- {
- "teal": 2377,
- "source": 465,
- "pc": [
- 3413
- ]
- },
- {
- "teal": 2378,
- "source": 465,
- "pc": [
- 3414
- ]
- },
- {
- "teal": 2382,
- "source": 465,
- "pc": [
- 3415,
- 3416,
- 3417
- ]
- },
- {
- "teal": 2385,
- "source": 465,
- "pc": [
- 3418
- ]
- },
- {
- "teal": 2390,
- "source": 466,
- "pc": [
- 3419,
- 3420
- ]
- },
- {
- "teal": 2391,
- "source": 466,
- "pc": [
- 3421
- ]
- },
- {
- "teal": 2392,
- "source": 466,
- "pc": [
- 3422
- ]
- },
- {
- "teal": 2393,
- "source": 466,
- "pc": [
- 3423,
- 3424,
- 3425
- ]
- },
- {
- "teal": 2398,
- "source": 467,
- "pc": [
- 3426
- ]
- },
- {
- "teal": 2399,
- "source": 467,
- "pc": [
- 3427,
- 3428,
- 3429
- ]
- },
- {
- "teal": 2404,
- "source": 469,
- "pc": [
- 3430,
- 3431
- ]
- },
- {
- "teal": 2405,
- "source": 469,
- "pc": [
- 3432
- ]
- },
- {
- "teal": 2406,
- "source": 469,
- "pc": [
- 3433
- ]
- },
- {
- "teal": 2407,
- "source": 469,
- "pc": [
- 3434,
- 3435
- ]
- },
- {
- "teal": 2411,
- "source": 470,
- "pc": [
- 3436,
- 3437
- ]
- },
- {
- "teal": 2415,
- "source": 465,
- "pc": [
- 3438,
- 3439
- ]
- },
- {
- "teal": 2416,
- "source": 465,
- "pc": [
- 3440
- ]
- },
- {
- "teal": 2421,
- "source": 473,
- "pc": [
- 3441,
- 3442,
- 3443
- ]
- },
- {
- "teal": 2422,
- "source": 473,
- "pc": [
- 3444
- ]
- },
- {
- "teal": 2423,
- "source": 473,
- "pc": [
- 3445
- ]
- },
- {
- "teal": 2427,
- "source": 473,
- "pc": [
- 3446,
- 3447,
- 3448
- ]
- },
- {
- "teal": 2434,
- "source": 474,
- "pc": [
- 3449
- ]
- },
- {
- "teal": 2435,
- "source": 474,
- "pc": [
- 3450
- ]
- },
- {
- "teal": 2436,
- "source": 474,
- "pc": [
- 3451,
- 3452
- ]
- },
- {
- "teal": 2437,
- "source": 475,
- "pc": [
- 3453,
- 3454,
- 3455,
- 3456,
- 3457,
- 3458
- ]
- },
- {
- "teal": 2438,
- "source": 475,
- "pc": [
- 3459,
- 3460
- ]
- },
- {
- "teal": 2442,
- "source": 476,
- "pc": [
- 3461
- ]
- },
- {
- "teal": 2443,
- "source": 476,
- "pc": [
- 3462,
- 3463
- ]
- },
- {
- "teal": 2444,
- "source": 476,
- "pc": [
- 3464,
- 3465,
- 3466,
- 3467,
- 3468,
- 3469,
- 3470,
- 3471,
- 3472,
- 3473
- ]
- },
- {
- "teal": 2445,
- "source": 476,
- "pc": [
- 3474,
- 3475
- ]
- },
- {
- "teal": 2448,
- "source": 474,
- "pc": [
- 3476
- ]
- },
- {
- "teal": 2449,
- "source": 474,
- "pc": [
- 3477,
- 3478
- ]
- },
- {
- "teal": 2452,
- "source": 474,
- "pc": [
- 3479
- ]
- },
- {
- "teal": 2453,
- "source": 473,
- "pc": [
- 3480
- ]
- },
- {
- "teal": 2458,
- "source": 484,
- "pc": [
- 3481,
- 3482,
- 3483
- ]
- },
- {
- "teal": 2459,
- "source": 484,
- "pc": [
- 3484
- ]
- },
- {
- "teal": 2460,
- "source": 484,
- "pc": [
- 3485
- ]
- },
- {
- "teal": 2464,
- "source": 484,
- "pc": [
- 3486,
- 3487,
- 3488
- ]
- },
- {
- "teal": 2471,
- "source": 485,
- "pc": [
- 3489
- ]
- },
- {
- "teal": 2472,
- "source": 485,
- "pc": [
- 3490
- ]
- },
- {
- "teal": 2473,
- "source": 485,
- "pc": [
- 3491,
- 3492
- ]
- },
- {
- "teal": 2477,
- "source": 486,
- "pc": [
- 3493,
- 3494
- ]
- },
- {
- "teal": 2478,
- "source": 486,
- "pc": [
- 3495
- ]
- },
- {
- "teal": 2481,
- "source": 486,
- "errorMessage": "box value does not exist: this.pageOne.value",
- "pc": [
- 3496
- ]
- },
- {
- "teal": 2482,
- "source": 486,
- "pc": [
- 3497,
- 3498
- ]
- },
- {
- "teal": 2483,
- "source": 486,
- "pc": [
- 3499,
- 3500
- ]
- },
- {
- "teal": 2484,
- "source": 486,
- "pc": [
- 3501
- ]
- },
- {
- "teal": 2487,
- "source": 486,
- "errorMessage": "box value does not exist: this.pageTwo.value",
- "pc": [
- 3502
- ]
- },
- {
- "teal": 2488,
- "source": 486,
- "pc": [
- 3503,
- 3504
- ]
- },
- {
- "teal": 2492,
- "source": 487,
- "pc": [
- 3505,
- 3506
- ]
- },
- {
- "teal": 2493,
- "source": 487,
- "pc": [
- 3507
- ]
- },
- {
- "teal": 2496,
- "source": 487,
- "errorMessage": "box value does not exist: this.pageOne.value",
- "pc": [
- 3508
- ]
- },
- {
- "teal": 2497,
- "source": 487,
- "pc": [
- 3509,
- 3510
- ]
- },
- {
- "teal": 2498,
- "source": 487,
- "pc": [
- 3511,
- 3512
- ]
- },
- {
- "teal": 2499,
- "source": 487,
- "pc": [
- 3513
- ]
- },
- {
- "teal": 2502,
- "source": 487,
- "errorMessage": "box value does not exist: this.pageTwo.value",
- "pc": [
- 3514
- ]
- },
- {
- "teal": 2503,
- "source": 487,
- "pc": [
- 3515,
- 3516
- ]
- },
- {
- "teal": 2506,
- "source": 485,
- "pc": [
- 3517
- ]
- },
- {
- "teal": 2507,
- "source": 485,
- "pc": [
- 3518,
- 3519
- ]
- },
- {
- "teal": 2510,
- "source": 485,
- "pc": [
- 3520
- ]
- },
- {
- "teal": 2511,
- "source": 484,
- "pc": [
- 3521
- ]
- },
- {
- "teal": 2516,
- "source": 491,
- "pc": [
- 3522,
- 3523,
- 3524
- ]
- },
- {
- "teal": 2517,
- "source": 491,
- "pc": [
- 3525
- ]
- },
- {
- "teal": 2518,
- "source": 491,
- "pc": [
- 3526
- ]
- },
- {
- "teal": 2522,
- "source": 491,
- "pc": [
- 3527,
- 3528,
- 3529
- ]
- },
- {
- "teal": 2526,
- "source": 492,
- "pc": [
- 3530
- ]
- },
- {
- "teal": 2529,
- "source": 492,
- "errorMessage": "this is false",
- "pc": [
- 3531
- ]
- },
- {
- "teal": 2530,
- "source": 491,
- "pc": [
- 3532
- ]
- },
- {
- "teal": 2535,
- "source": 495,
- "pc": [
- 3533,
- 3534,
- 3535
- ]
- },
- {
- "teal": 2536,
- "source": 495,
- "pc": [
- 3536
- ]
- },
- {
- "teal": 2537,
- "source": 495,
- "pc": [
- 3537
- ]
- },
- {
- "teal": 2541,
- "source": 495,
- "pc": [
- 3538,
- 3539,
- 3540
- ]
- },
- {
- "teal": 2544,
- "source": 496,
- "errorMessage": "this is an error",
- "pc": [
- 3541
- ]
- },
- {
- "teal": 2545,
- "source": 495,
- "pc": [
- 3542
- ]
- },
- {
- "teal": 2550,
- "source": 499,
- "pc": [
- 3543,
- 3544,
- 3545
- ]
- },
- {
- "teal": 2551,
- "source": 499,
- "pc": [
- 3546
- ]
- },
- {
- "teal": 2554,
- "source": 499,
- "pc": [
- 3547,
- 3548,
- 3549
- ]
- },
- {
- "teal": 2555,
- "source": 499,
- "pc": [
- 3550
- ]
- },
- {
- "teal": 2558,
- "source": 499,
- "pc": [
- 3551,
- 3552,
- 3553
- ]
- },
- {
- "teal": 2559,
- "source": 499,
- "pc": [
- 3554
- ]
- },
- {
- "teal": 2560,
- "source": 499,
- "pc": [
- 3555
- ]
- },
- {
- "teal": 2564,
- "source": 499,
- "pc": [
- 3556,
- 3557,
- 3558
- ]
- },
- {
- "teal": 2567,
- "source": 499,
- "pc": [
- 3559
- ]
- },
- {
- "teal": 2568,
- "source": 499,
- "pc": [
- 3560
- ]
- },
- {
- "teal": 2572,
- "source": 500,
- "pc": [
- 3561,
- 3562
- ]
- },
- {
- "teal": 2573,
- "source": 500,
- "pc": [
- 3563
- ]
- },
- {
- "teal": 2574,
- "source": 500,
- "pc": [
- 3564,
- 3565,
- 3566
- ]
- },
- {
- "teal": 2575,
- "source": 500,
- "pc": [
- 3567,
- 3568
- ]
- },
- {
- "teal": 2576,
- "source": 500,
- "pc": [
- 3569
- ]
- },
- {
- "teal": 2577,
- "source": 500,
- "pc": [
- 3570
- ]
- },
- {
- "teal": 2578,
- "source": 500,
- "pc": [
- 3571
- ]
- },
- {
- "teal": 2581,
- "source": 500,
- "pc": [
- 3572,
- 3573,
- 3574
- ]
- },
- {
- "teal": 2582,
- "source": 500,
- "pc": [
- 3575
- ]
- },
- {
- "teal": 2583,
- "source": 500,
- "pc": [
- 3576,
- 3577,
- 3578
- ]
- },
- {
- "teal": 2586,
- "source": 500,
- "pc": [
- 3579
- ]
- },
- {
- "teal": 2589,
- "source": 500,
- "pc": [
- 3580,
- 3581
- ]
- },
- {
- "teal": 2593,
- "source": 501,
- "pc": [
- 3582,
- 3583
- ]
- },
- {
- "teal": 2594,
- "source": 501,
- "pc": [
- 3584
- ]
- },
- {
- "teal": 2598,
- "source": 503,
- "pc": [
- 3585,
- 3586
- ]
- },
- {
- "teal": 2599,
- "source": 503,
- "pc": [
- 3587
- ]
- },
- {
- "teal": 2600,
- "source": 503,
- "pc": [
- 3588,
- 3589,
- 3590
- ]
- },
- {
- "teal": 2601,
- "source": 503,
- "pc": [
- 3591,
- 3592
- ]
- },
- {
- "teal": 2602,
- "source": 503,
- "pc": [
- 3593
- ]
- },
- {
- "teal": 2603,
- "source": 503,
- "pc": [
- 3594
- ]
- },
- {
- "teal": 2604,
- "source": 503,
- "pc": [
- 3595
- ]
- },
- {
- "teal": 2607,
- "source": 503,
- "pc": [
- 3596,
- 3597,
- 3598
- ]
- },
- {
- "teal": 2608,
- "source": 503,
- "pc": [
- 3599,
- 3600,
- 3601
- ]
- },
- {
- "teal": 2609,
- "source": 503,
- "pc": [
- 3602,
- 3603,
- 3604
- ]
- },
- {
- "teal": 2612,
- "source": 503,
- "pc": [
- 3605,
- 3606
- ]
- },
- {
- "teal": 2615,
- "source": 503,
- "pc": [
- 3607,
- 3608
- ]
- },
- {
- "teal": 2619,
- "source": 504,
- "pc": [
- 3609,
- 3610
- ]
- },
- {
- "teal": 2620,
- "source": 504,
- "pc": [
- 3611
- ]
- },
- {
- "teal": 2621,
- "source": 499,
- "pc": [
- 3612
- ]
- },
- {
- "teal": 2625,
- "source": 507,
- "pc": [
- 3613,
- 3614,
- 3615
- ]
- },
- {
- "teal": 2628,
- "source": 507,
- "pc": [
- 3616
- ]
- },
- {
- "teal": 2632,
- "source": 509,
- "pc": [
- 3617,
- 3618
- ]
- },
- {
- "teal": 2633,
- "source": 509,
- "pc": [
- 3619
- ]
- },
- {
- "teal": 2637,
- "source": 511,
- "pc": [
- 3620
- ]
- },
- {
- "teal": 2638,
- "source": 511,
- "pc": [
- 3621,
- 3622
- ]
- },
- {
- "teal": 2643,
- "source": 511,
- "pc": [
- 3623,
- 3624
- ]
- },
- {
- "teal": 2644,
- "source": 511,
- "pc": [
- 3625,
- 3626
- ]
- },
- {
- "teal": 2645,
- "source": 511,
- "pc": [
- 3627
- ]
- },
- {
- "teal": 2646,
- "source": 511,
- "pc": [
- 3628,
- 3629,
- 3630
- ]
- },
- {
- "teal": 2650,
- "source": 512,
- "pc": [
- 3631,
- 3632
- ]
- },
- {
- "teal": 2651,
- "source": 512,
- "pc": [
- 3633,
- 3634
- ]
- },
- {
- "teal": 2652,
- "source": 512,
- "pc": [
- 3635
- ]
- },
- {
- "teal": 2657,
- "source": 511,
- "pc": [
- 3636,
- 3637
- ]
- },
- {
- "teal": 2658,
- "source": 511,
- "pc": [
- 3638
- ]
- },
- {
- "teal": 2659,
- "source": 511,
- "pc": [
- 3639
- ]
- },
- {
- "teal": 2660,
- "source": 511,
- "pc": [
- 3640,
- 3641
- ]
- },
- {
- "teal": 2661,
- "source": 511,
- "pc": [
- 3642,
- 3643,
- 3644
- ]
- },
- {
- "teal": 2664,
- "source": 507,
- "pc": [
- 3645
- ]
- },
- {
- "teal": 2669,
- "source": 516,
- "pc": [
- 3646,
- 3647,
- 3648
- ]
- },
- {
- "teal": 2670,
- "source": 516,
- "pc": [
- 3649
- ]
- },
- {
- "teal": 2671,
- "source": 516,
- "pc": [
- 3650
- ]
- },
- {
- "teal": 2675,
- "source": 516,
- "pc": [
- 3651,
- 3652,
- 3653
- ]
- },
- {
- "teal": 2678,
- "source": 516,
- "pc": [
- 3654
- ]
- },
- {
- "teal": 2679,
- "source": 516,
- "pc": [
- 3655
- ]
- },
- {
- "teal": 2683,
- "source": 517,
- "pc": [
- 3656
- ]
- },
- {
- "teal": 2684,
- "source": 517,
- "pc": [
- 3657,
- 3658
- ]
- },
- {
- "teal": 2688,
- "source": 518,
- "pc": [
- 3659,
- 3660
- ]
- },
- {
- "teal": 2689,
- "source": 518,
- "pc": [
- 3661,
- 3662
- ]
- },
- {
- "teal": 2696,
- "source": 520,
- "pc": [
- 3663,
- 3664
- ]
- },
- {
- "teal": 2697,
- "source": 520,
- "pc": [
- 3665
- ]
- },
- {
- "teal": 2698,
- "source": 520,
- "pc": [
- 3666,
- 3667,
- 3668,
- 3669,
- 3670
- ]
- },
- {
- "teal": 2699,
- "source": 520,
- "pc": [
- 3671
- ]
- },
- {
- "teal": 2702,
- "source": 520,
- "errorMessage": "local state value does not exist: app.localState( addr, 'key' )",
- "pc": [
- 3672
- ]
- },
- {
- "teal": 2703,
- "source": 516,
- "pc": [
- 3673
- ]
- },
- {
- "teal": 2708,
- "source": 526,
- "pc": [
- 3674
- ]
- },
- {
- "teal": 2711,
- "source": 526,
- "pc": [
- 3675,
- 3676,
- 3677
- ]
- },
- {
- "teal": 2712,
- "source": 526,
- "pc": [
- 3678
- ]
- },
- {
- "teal": 2713,
- "source": 526,
- "pc": [
- 3679
- ]
- },
- {
- "teal": 2714,
- "source": 526,
- "pc": [
- 3680
- ]
- },
- {
- "teal": 2715,
- "source": 526,
- "pc": [
- 3681
- ]
- },
- {
- "teal": 2716,
- "source": 526,
- "pc": [
- 3682
- ]
- },
- {
- "teal": 2720,
- "source": 526,
- "pc": [
- 3683,
- 3684,
- 3685
- ]
- },
- {
- "teal": 2724,
- "source": 527,
- "pc": [
- 3686,
- 3687
- ]
- },
- {
- "teal": 2725,
- "source": 526,
- "pc": [
- 3688
- ]
- },
- {
- "teal": 2730,
- "source": 530,
- "pc": [
- 3689
- ]
- },
- {
- "teal": 2733,
- "source": 530,
- "pc": [
- 3690,
- 3691,
- 3692
- ]
- },
- {
- "teal": 2734,
- "source": 530,
- "pc": [
- 3693
- ]
- },
- {
- "teal": 2735,
- "source": 530,
- "pc": [
- 3694
- ]
- },
- {
- "teal": 2736,
- "source": 530,
- "pc": [
- 3695
- ]
- },
- {
- "teal": 2737,
- "source": 530,
- "pc": [
- 3696
- ]
- },
- {
- "teal": 2738,
- "source": 530,
- "pc": [
- 3697
- ]
- },
- {
- "teal": 2742,
- "source": 530,
- "pc": [
- 3698,
- 3699,
- 3700
- ]
- },
- {
- "teal": 2746,
- "source": 531,
- "pc": [
- 3701,
- 3702
- ]
- },
- {
- "teal": 2747,
- "source": 530,
- "pc": [
- 3703
- ]
- },
- {
- "teal": 2752,
- "source": 534,
- "pc": [
- 3704
- ]
- },
- {
- "teal": 2755,
- "source": 534,
- "pc": [
- 3705,
- 3706,
- 3707
- ]
- },
- {
- "teal": 2756,
- "source": 534,
- "pc": [
- 3708
- ]
- },
- {
- "teal": 2757,
- "source": 534,
- "pc": [
- 3709
- ]
- },
- {
- "teal": 2758,
- "source": 534,
- "pc": [
- 3710
- ]
- },
- {
- "teal": 2759,
- "source": 534,
- "pc": [
- 3711
- ]
- },
- {
- "teal": 2760,
- "source": 534,
- "pc": [
- 3712
- ]
- },
- {
- "teal": 2764,
- "source": 534,
- "pc": [
- 3713,
- 3714,
- 3715
- ]
- },
- {
- "teal": 2768,
- "source": 535,
- "pc": [
- 3716,
- 3717,
- 3718
- ]
- },
- {
- "teal": 2769,
- "source": 535,
- "pc": [
- 3719
- ]
- },
- {
- "teal": 2773,
- "source": 536,
- "pc": [
- 3720,
- 3721,
- 3722
- ]
- },
- {
- "teal": 2774,
- "source": 534,
- "pc": [
- 3723
- ]
- },
- {
- "teal": 2779,
- "source": 546,
- "pc": [
- 3724
- ]
- },
- {
- "teal": 2782,
- "source": 546,
- "pc": [
- 3725,
- 3726,
- 3727
- ]
- },
- {
- "teal": 2783,
- "source": 546,
- "pc": [
- 3728
- ]
- },
- {
- "teal": 2784,
- "source": 546,
- "pc": [
- 3729
- ]
- },
- {
- "teal": 2785,
- "source": 546,
- "pc": [
- 3730
- ]
- },
- {
- "teal": 2786,
- "source": 546,
- "pc": [
- 3731
- ]
- },
- {
- "teal": 2787,
- "source": 546,
- "pc": [
- 3732
- ]
- },
- {
- "teal": 2791,
- "source": 546,
- "pc": [
- 3733,
- 3734,
- 3735
- ]
- },
- {
- "teal": 2794,
- "source": 546,
- "pc": [
- 3736
- ]
- },
- {
- "teal": 2795,
- "source": 546,
- "pc": [
- 3737
- ]
- },
- {
- "teal": 2799,
- "source": 547,
- "pc": [
- 3738
- ]
- },
- {
- "teal": 2800,
- "source": 547,
- "pc": [
- 3739,
- 3740
- ]
- },
- {
- "teal": 2804,
- "source": 548,
- "pc": [
- 3741,
- 3742,
- 3743
- ]
- },
- {
- "teal": 2805,
- "source": 548,
- "pc": [
- 3744,
- 3745
- ]
- },
- {
- "teal": 2810,
- "source": 549,
- "pc": [
- 3746,
- 3747
- ]
- },
- {
- "teal": 2811,
- "source": 549,
- "pc": [
- 3748,
- 3749,
- 3750
- ]
- },
- {
- "teal": 2816,
- "source": 550,
- "pc": [
- 3751
- ]
- },
- {
- "teal": 2817,
- "source": 550,
- "pc": [
- 3752,
- 3753
- ]
- },
- {
- "teal": 2822,
- "source": 553,
- "pc": [
- 3754,
- 3755
- ]
- },
- {
- "teal": 2825,
- "source": 546,
- "pc": [
- 3756,
- 3757
- ]
- },
- {
- "teal": 2828,
- "source": 546,
- "pc": [
- 3758,
- 3759
- ]
- },
- {
- "teal": 2829,
- "source": 546,
- "pc": [
- 3760
- ]
- },
- {
- "teal": 2834,
- "source": 556,
- "pc": [
- 3761,
- 3762,
- 3763
- ]
- },
- {
- "teal": 2835,
- "source": 556,
- "pc": [
- 3764
- ]
- },
- {
- "teal": 2836,
- "source": 556,
- "pc": [
- 3765
- ]
- },
- {
- "teal": 2840,
- "source": 556,
- "pc": [
- 3766,
- 3767,
- 3768
- ]
- },
- {
- "teal": 2844,
- "source": 557,
- "pc": [
- 3769,
- 3770
- ]
- },
- {
- "teal": 2845,
- "source": 557,
- "pc": [
- 3771
- ]
- },
- {
- "teal": 2849,
- "source": 558,
- "pc": [
- 3772,
- 3773
- ]
- },
- {
- "teal": 2850,
- "source": 558,
- "pc": [
- 3774
- ]
- },
- {
- "teal": 2851,
- "source": 556,
- "pc": [
- 3775
- ]
- },
- {
- "teal": 2854,
- "source": 49,
- "pc": [
- 3776
- ]
- },
- {
- "teal": 2855,
- "source": 49,
- "pc": [
- 3777
- ]
- },
- {
- "teal": 2858,
- "source": 49,
- "pc": [
- 3778,
- 3779,
- 3780,
- 3781,
- 3782,
- 3783
- ]
- },
- {
- "teal": 2859,
- "source": 49,
- "pc": [
- 3784,
- 3785,
- 3786
- ]
- },
- {
- "teal": 2860,
- "source": 49,
- "pc": [
- 3787,
- 3788,
- 3789,
- 3790
- ]
- },
- {
- "teal": 2863,
- "source": 49,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 3791
- ]
- },
- {
- "teal": 2866,
- "source": 49,
- "pc": [
- 3792,
- 3793,
- 3794,
- 3795,
- 3796,
- 3797
- ]
- },
- {
- "teal": 2867,
- "source": 49,
- "pc": [
- 3798,
- 3799,
- 3800,
- 3801,
- 3802,
- 3803
- ]
- },
- {
- "teal": 2868,
- "source": 49,
- "pc": [
- 3804,
- 3805,
- 3806,
- 3807,
- 3808,
- 3809
- ]
- },
- {
- "teal": 2869,
- "source": 49,
- "pc": [
- 3810,
- 3811,
- 3812,
- 3813,
- 3814,
- 3815
- ]
- },
- {
- "teal": 2870,
- "source": 49,
- "pc": [
- 3816,
- 3817,
- 3818,
- 3819,
- 3820,
- 3821
- ]
- },
- {
- "teal": 2871,
- "source": 49,
- "pc": [
- 3822,
- 3823,
- 3824,
- 3825,
- 3826,
- 3827
- ]
- },
- {
- "teal": 2872,
- "source": 49,
- "pc": [
- 3828,
- 3829,
- 3830,
- 3831,
- 3832,
- 3833
- ]
- },
- {
- "teal": 2873,
- "source": 49,
- "pc": [
- 3834,
- 3835,
- 3836,
- 3837,
- 3838,
- 3839
- ]
- },
- {
- "teal": 2874,
- "source": 49,
- "pc": [
- 3840,
- 3841,
- 3842,
- 3843,
- 3844,
- 3845
- ]
- },
- {
- "teal": 2875,
- "source": 49,
- "pc": [
- 3846,
- 3847,
- 3848,
- 3849,
- 3850,
- 3851
- ]
- },
- {
- "teal": 2876,
- "source": 49,
- "pc": [
- 3852,
- 3853,
- 3854,
- 3855,
- 3856,
- 3857
- ]
- },
- {
- "teal": 2877,
- "source": 49,
- "pc": [
- 3858,
- 3859,
- 3860,
- 3861,
- 3862,
- 3863
- ]
- },
- {
- "teal": 2878,
- "source": 49,
- "pc": [
- 3864,
- 3865,
- 3866,
- 3867,
- 3868,
- 3869
- ]
- },
- {
- "teal": 2879,
- "source": 49,
- "pc": [
- 3870,
- 3871,
- 3872,
- 3873,
- 3874,
- 3875
- ]
- },
- {
- "teal": 2880,
- "source": 49,
- "pc": [
- 3876,
- 3877,
- 3878,
- 3879,
- 3880,
- 3881
- ]
- },
- {
- "teal": 2881,
- "source": 49,
- "pc": [
- 3882,
- 3883,
- 3884,
- 3885,
- 3886,
- 3887
- ]
- },
- {
- "teal": 2882,
- "source": 49,
- "pc": [
- 3888,
- 3889,
- 3890,
- 3891,
- 3892,
- 3893
- ]
- },
- {
- "teal": 2883,
- "source": 49,
- "pc": [
- 3894,
- 3895,
- 3896,
- 3897,
- 3898,
- 3899
- ]
- },
- {
- "teal": 2884,
- "source": 49,
- "pc": [
- 3900,
- 3901,
- 3902,
- 3903,
- 3904,
- 3905
- ]
- },
- {
- "teal": 2885,
- "source": 49,
- "pc": [
- 3906,
- 3907,
- 3908,
- 3909,
- 3910,
- 3911
- ]
- },
- {
- "teal": 2886,
- "source": 49,
- "pc": [
- 3912,
- 3913,
- 3914,
- 3915,
- 3916,
- 3917
- ]
- },
- {
- "teal": 2887,
- "source": 49,
- "pc": [
- 3918,
- 3919,
- 3920,
- 3921,
- 3922,
- 3923
- ]
- },
- {
- "teal": 2888,
- "source": 49,
- "pc": [
- 3924,
- 3925,
- 3926,
- 3927,
- 3928,
- 3929
- ]
- },
- {
- "teal": 2889,
- "source": 49,
- "pc": [
- 3930,
- 3931,
- 3932,
- 3933,
- 3934,
- 3935
- ]
- },
- {
- "teal": 2890,
- "source": 49,
- "pc": [
- 3936,
- 3937,
- 3938,
- 3939,
- 3940,
- 3941
- ]
- },
- {
- "teal": 2891,
- "source": 49,
- "pc": [
- 3942,
- 3943,
- 3944,
- 3945,
- 3946,
- 3947
- ]
- },
- {
- "teal": 2892,
- "source": 49,
- "pc": [
- 3948,
- 3949,
- 3950,
- 3951,
- 3952,
- 3953
- ]
- },
- {
- "teal": 2893,
- "source": 49,
- "pc": [
- 3954,
- 3955,
- 3956,
- 3957,
- 3958,
- 3959
- ]
- },
- {
- "teal": 2894,
- "source": 49,
- "pc": [
- 3960,
- 3961,
- 3962,
- 3963,
- 3964,
- 3965
- ]
- },
- {
- "teal": 2895,
- "source": 49,
- "pc": [
- 3966,
- 3967,
- 3968,
- 3969,
- 3970,
- 3971
- ]
- },
- {
- "teal": 2896,
- "source": 49,
- "pc": [
- 3972,
- 3973,
- 3974,
- 3975,
- 3976,
- 3977
- ]
- },
- {
- "teal": 2897,
- "source": 49,
- "pc": [
- 3978,
- 3979,
- 3980,
- 3981,
- 3982,
- 3983
- ]
- },
- {
- "teal": 2898,
- "source": 49,
- "pc": [
- 3984,
- 3985,
- 3986,
- 3987,
- 3988,
- 3989
- ]
- },
- {
- "teal": 2899,
- "source": 49,
- "pc": [
- 3990,
- 3991,
- 3992,
- 3993,
- 3994,
- 3995
- ]
- },
- {
- "teal": 2900,
- "source": 49,
- "pc": [
- 3996,
- 3997,
- 3998,
- 3999,
- 4000,
- 4001
- ]
- },
- {
- "teal": 2901,
- "source": 49,
- "pc": [
- 4002,
- 4003,
- 4004,
- 4005,
- 4006,
- 4007
- ]
- },
- {
- "teal": 2902,
- "source": 49,
- "pc": [
- 4008,
- 4009,
- 4010,
- 4011,
- 4012,
- 4013
- ]
- },
- {
- "teal": 2903,
- "source": 49,
- "pc": [
- 4014,
- 4015,
- 4016,
- 4017,
- 4018,
- 4019
- ]
- },
- {
- "teal": 2904,
- "source": 49,
- "pc": [
- 4020,
- 4021,
- 4022,
- 4023,
- 4024,
- 4025
- ]
- },
- {
- "teal": 2905,
- "source": 49,
- "pc": [
- 4026,
- 4027,
- 4028,
- 4029,
- 4030,
- 4031
- ]
- },
- {
- "teal": 2906,
- "source": 49,
- "pc": [
- 4032,
- 4033,
- 4034,
- 4035,
- 4036,
- 4037
- ]
- },
- {
- "teal": 2907,
- "source": 49,
- "pc": [
- 4038,
- 4039,
- 4040,
- 4041,
- 4042,
- 4043
- ]
- },
- {
- "teal": 2908,
- "source": 49,
- "pc": [
- 4044,
- 4045,
- 4046,
- 4047,
- 4048,
- 4049
- ]
- },
- {
- "teal": 2909,
- "source": 49,
- "pc": [
- 4050,
- 4051,
- 4052,
- 4053,
- 4054,
- 4055
- ]
- },
- {
- "teal": 2910,
- "source": 49,
- "pc": [
- 4056,
- 4057,
- 4058,
- 4059,
- 4060,
- 4061
- ]
- },
- {
- "teal": 2911,
- "source": 49,
- "pc": [
- 4062,
- 4063,
- 4064,
- 4065,
- 4066,
- 4067
- ]
- },
- {
- "teal": 2912,
- "source": 49,
- "pc": [
- 4068,
- 4069,
- 4070,
- 4071,
- 4072,
- 4073
- ]
- },
- {
- "teal": 2913,
- "source": 49,
- "pc": [
- 4074,
- 4075,
- 4076,
- 4077,
- 4078,
- 4079
- ]
- },
- {
- "teal": 2914,
- "source": 49,
- "pc": [
- 4080,
- 4081,
- 4082,
- 4083,
- 4084,
- 4085
- ]
- },
- {
- "teal": 2915,
- "source": 49,
- "pc": [
- 4086,
- 4087,
- 4088,
- 4089,
- 4090,
- 4091
- ]
- },
- {
- "teal": 2916,
- "source": 49,
- "pc": [
- 4092,
- 4093,
- 4094,
- 4095,
- 4096,
- 4097
- ]
- },
- {
- "teal": 2917,
- "source": 49,
- "pc": [
- 4098,
- 4099,
- 4100,
- 4101,
- 4102,
- 4103
- ]
- },
- {
- "teal": 2918,
- "source": 49,
- "pc": [
- 4104,
- 4105,
- 4106,
- 4107,
- 4108,
- 4109
- ]
- },
- {
- "teal": 2919,
- "source": 49,
- "pc": [
- 4110,
- 4111,
- 4112,
- 4113,
- 4114,
- 4115
- ]
- },
- {
- "teal": 2920,
- "source": 49,
- "pc": [
- 4116,
- 4117
- ]
- },
- {
- "teal": 2921,
- "source": 49,
- "pc": [
- 4118,
- 4119,
- 4120,
- 4121,
- 4122,
- 4123
- ]
- },
- {
- "teal": 2922,
- "source": 49,
- "pc": [
- 4124,
- 4125,
- 4126,
- 4127,
- 4128,
- 4129
- ]
- },
- {
- "teal": 2923,
- "source": 49,
- "pc": [
- 4130,
- 4131,
- 4132,
- 4133,
- 4134,
- 4135
- ]
- },
- {
- "teal": 2924,
- "source": 49,
- "pc": [
- 4136,
- 4137,
- 4138,
- 4139,
- 4140,
- 4141
- ]
- },
- {
- "teal": 2925,
- "source": 49,
- "pc": [
- 4142,
- 4143,
- 4144,
- 4145,
- 4146,
- 4147
- ]
- },
- {
- "teal": 2926,
- "source": 49,
- "pc": [
- 4148,
- 4149,
- 4150,
- 4151,
- 4152,
- 4153
- ]
- },
- {
- "teal": 2927,
- "source": 49,
- "pc": [
- 4154,
- 4155,
- 4156,
- 4157,
- 4158,
- 4159
- ]
- },
- {
- "teal": 2928,
- "source": 49,
- "pc": [
- 4160,
- 4161,
- 4162,
- 4163,
- 4164,
- 4165
- ]
- },
- {
- "teal": 2929,
- "source": 49,
- "pc": [
- 4166,
- 4167,
- 4168,
- 4169,
- 4170,
- 4171
- ]
- },
- {
- "teal": 2930,
- "source": 49,
- "pc": [
- 4172,
- 4173,
- 4174,
- 4175,
- 4176,
- 4177
- ]
- },
- {
- "teal": 2931,
- "source": 49,
- "pc": [
- 4178,
- 4179,
- 4180,
- 4181,
- 4182,
- 4183
- ]
- },
- {
- "teal": 2932,
- "source": 49,
- "pc": [
- 4184,
- 4185,
- 4186,
- 4187,
- 4188,
- 4189
- ]
- },
- {
- "teal": 2933,
- "source": 49,
- "pc": [
- 4190,
- 4191,
- 4192,
- 4193,
- 4194,
- 4195
- ]
- },
- {
- "teal": 2934,
- "source": 49,
- "pc": [
- 4196,
- 4197,
- 4198,
- 4199,
- 4200,
- 4201
- ]
- },
- {
- "teal": 2935,
- "source": 49,
- "pc": [
- 4202,
- 4203,
- 4204,
- 4205,
- 4206,
- 4207
- ]
- },
- {
- "teal": 2936,
- "source": 49,
- "pc": [
- 4208,
- 4209,
- 4210,
- 4211,
- 4212,
- 4213
- ]
- },
- {
- "teal": 2937,
- "source": 49,
- "pc": [
- 4214,
- 4215,
- 4216,
- 4217,
- 4218,
- 4219
- ]
- },
- {
- "teal": 2938,
- "source": 49,
- "pc": [
- 4220,
- 4221,
- 4222,
- 4223,
- 4224,
- 4225
- ]
- },
- {
- "teal": 2939,
- "source": 49,
- "pc": [
- 4226,
- 4227,
- 4228,
- 4229,
- 4230,
- 4231
- ]
- },
- {
- "teal": 2940,
- "source": 49,
- "pc": [
- 4232,
- 4233,
- 4234
- ]
- },
- {
- "teal": 2941,
- "source": 49,
- "pc": [
- 4235,
- 4236,
- 4237,
- 4238,
- 4239,
- 4240,
- 4241,
- 4242,
- 4243,
- 4244,
- 4245,
- 4246,
- 4247,
- 4248,
- 4249,
- 4250,
- 4251,
- 4252,
- 4253,
- 4254,
- 4255,
- 4256,
- 4257,
- 4258,
- 4259,
- 4260,
- 4261,
- 4262,
- 4263,
- 4264,
- 4265,
- 4266,
- 4267,
- 4268,
- 4269,
- 4270,
- 4271,
- 4272,
- 4273,
- 4274,
- 4275,
- 4276,
- 4277,
- 4278,
- 4279,
- 4280,
- 4281,
- 4282,
- 4283,
- 4284,
- 4285,
- 4286,
- 4287,
- 4288,
- 4289,
- 4290,
- 4291,
- 4292,
- 4293,
- 4294,
- 4295,
- 4296,
- 4297,
- 4298,
- 4299,
- 4300,
- 4301,
- 4302,
- 4303,
- 4304,
- 4305,
- 4306,
- 4307,
- 4308,
- 4309,
- 4310,
- 4311,
- 4312,
- 4313,
- 4314,
- 4315,
- 4316,
- 4317,
- 4318,
- 4319,
- 4320,
- 4321,
- 4322,
- 4323,
- 4324,
- 4325,
- 4326,
- 4327,
- 4328,
- 4329,
- 4330,
- 4331,
- 4332,
- 4333,
- 4334,
- 4335,
- 4336,
- 4337,
- 4338,
- 4339,
- 4340,
- 4341,
- 4342,
- 4343,
- 4344,
- 4345,
- 4346,
- 4347,
- 4348,
- 4349,
- 4350,
- 4351,
- 4352,
- 4353,
- 4354,
- 4355,
- 4356,
- 4357,
- 4358,
- 4359,
- 4360,
- 4361,
- 4362,
- 4363,
- 4364,
- 4365,
- 4366,
- 4367,
- 4368,
- 4369,
- 4370,
- 4371,
- 4372,
- 4373,
- 4374,
- 4375,
- 4376,
- 4377,
- 4378,
- 4379,
- 4380,
- 4381,
- 4382,
- 4383,
- 4384
- ]
- },
- {
- "teal": 2944,
- "source": 49,
- "pc": [
- 4385,
- 4386,
- 4387
- ]
- },
- {
- "teal": 2945,
- "source": 49,
- "pc": [
- 4388
- ]
- },
- {
- "teal": 2946,
- "source": 49,
- "pc": [
- 4389
- ]
- },
- {
- "teal": 2949,
- "source": 49,
- "pc": [
- 4390,
- 4391,
- 4392
- ]
- },
- {
- "teal": 2950,
- "source": 49,
- "pc": [
- 4393,
- 4394,
- 4395,
- 4396,
- 4397,
- 4398,
- 4399,
- 4400,
- 4401,
- 4402,
- 4403,
- 4404
- ]
- },
- {
- "teal": 2951,
- "source": 49,
- "pc": [
- 4405,
- 4406
- ]
- },
- {
- "teal": 2952,
- "source": 49,
- "pc": [
- 4407
- ]
- },
- {
- "teal": 2953,
- "source": 49,
- "pc": [
- 4408
- ]
- },
- {
- "teal": 2954,
- "source": 49,
- "pc": [
- 4409
- ]
- },
- {
- "teal": 2955,
- "source": 49
- },
- {
- "teal": 2958,
- "source": 49,
- "pc": [
- 4410,
- 4411,
- 4412
- ]
- },
- {
- "teal": 2959,
- "source": 49,
- "pc": [
- 4413,
- 4414
- ]
- },
- {
- "teal": 2960,
- "source": 49,
- "pc": [
- 4415
- ]
- },
- {
- "teal": 2961,
- "source": 49,
- "pc": [
- 4416
- ]
- },
- {
- "teal": 2962,
- "source": 49,
- "pc": [
- 4417,
- 4418,
- 4419
- ]
- },
- {
- "teal": 2963,
- "source": 49,
- "pc": [
- 4420,
- 4421
- ]
- },
- {
- "teal": 2964,
- "source": 49,
- "pc": [
- 4422
- ]
- },
- {
- "teal": 2967,
- "source": 49,
- "pc": [
- 4423,
- 4424
- ]
- },
- {
- "teal": 2968,
- "source": 49,
- "pc": [
- 4425,
- 4426
- ]
- },
- {
- "teal": 2969,
- "source": 49,
- "pc": [
- 4427
- ]
- },
- {
- "teal": 2970,
- "source": 49,
- "pc": [
- 4428
- ]
- },
- {
- "teal": 2971,
- "source": 49,
- "pc": [
- 4429
- ]
- },
- {
- "teal": 2972,
- "source": 49,
- "pc": [
- 4430,
- 4431,
- 4432
- ]
- },
- {
- "teal": 2973,
- "source": 49,
- "pc": [
- 4433,
- 4434
- ]
- },
- {
- "teal": 2974,
- "source": 49,
- "pc": [
- 4435,
- 4436
- ]
- },
- {
- "teal": 2975,
- "source": 49,
- "pc": [
- 4437
- ]
- },
- {
- "teal": 2976,
- "source": 49,
- "pc": [
- 4438,
- 4439,
- 4440
- ]
- },
- {
- "teal": 2977,
- "source": 49,
- "pc": [
- 4441,
- 4442,
- 4443
- ]
- },
- {
- "teal": 2980,
- "source": 49,
- "pc": [
- 4444
- ]
- },
- {
- "teal": 2983,
- "source": 49,
- "pc": [
- 4445,
- 4446
- ]
- },
- {
- "teal": 2984,
- "source": 49,
- "pc": [
- 4447,
- 4448
- ]
- },
- {
- "teal": 2985,
- "source": 49,
- "pc": [
- 4449
- ]
- },
- {
- "teal": 2986,
- "source": 49,
- "pc": [
- 4450,
- 4451,
- 4452
- ]
- },
- {
- "teal": 2987,
- "source": 49,
- "pc": [
- 4453
- ]
- },
- {
- "teal": 2988,
- "source": 49,
- "pc": [
- 4454
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 49,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184,
+ 185,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190,
+ 191,
+ 192,
+ 193,
+ 194,
+ 195,
+ 196,
+ 197,
+ 198,
+ 199,
+ 200,
+ 201,
+ 202,
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211,
+ 212,
+ 213,
+ 214,
+ 215,
+ 216,
+ 217,
+ 218,
+ 219,
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 49,
+ "pc": [
+ 226,
+ 227
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 49,
+ "pc": [
+ 228
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 49,
+ "pc": [
+ 229
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 49,
+ "pc": [
+ 230
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 49,
+ "pc": [
+ 231,
+ 232
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 49,
+ "pc": [
+ 233
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 49,
+ "pc": [
+ 234,
+ 235,
+ 236,
+ 237,
+ 238,
+ 239,
+ 240,
+ 241,
+ 242,
+ 243,
+ 244,
+ 245,
+ 246,
+ 247,
+ 248,
+ 249,
+ 250,
+ 251,
+ 252,
+ 253,
+ 254,
+ 255,
+ 256,
+ 257,
+ 258,
+ 259
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 49,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 60,
+ "pc": [
+ 261,
+ 262,
+ 263
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 60,
+ "pc": [
+ 264
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 60,
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 60,
+ "pc": [
+ 266,
+ 267,
+ 268
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 61,
+ "pc": [
+ 269
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 61,
+ "pc": [
+ 270,
+ 271
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 61,
+ "pc": [
+ 272
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 61,
+ "pc": [
+ 273
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 61,
+ "pc": [
+ 274
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 60,
+ "pc": [
+ 275
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 64,
+ "pc": [
+ 276,
+ 277,
+ 278
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 64,
+ "pc": [
+ 279
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 64,
+ "pc": [
+ 280
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 64,
+ "pc": [
+ 281,
+ 282,
+ 283
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 65,
+ "pc": [
+ 284,
+ 285
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 65,
+ "pc": [
+ 286
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 65,
+ "pc": [
+ 287
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 65,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 64,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 68,
+ "pc": [
+ 290,
+ 291,
+ 292
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 68,
+ "pc": [
+ 293
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 68,
+ "pc": [
+ 294
+ ]
+ },
+ {
+ "teal": 70,
+ "source": 68,
+ "pc": [
+ 295
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 68,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 68,
+ "errorMessage": "argument 0 (arg2) for asserts must be a bool",
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 68,
+ "pc": [
+ 298
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 68,
+ "pc": [
+ 299
+ ]
+ },
+ {
+ "teal": 79,
+ "source": 68,
+ "pc": [
+ 300,
+ 301,
+ 302
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 68,
+ "pc": [
+ 303
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 68,
+ "pc": [
+ 304
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 68,
+ "pc": [
+ 305
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 68,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 68,
+ "errorMessage": "argument 1 (arg1) for asserts must be a bool",
+ "pc": [
+ 307
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 68,
+ "pc": [
+ 308
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 68,
+ "pc": [
+ 309
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 68,
+ "pc": [
+ 310,
+ 311,
+ 312
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 68,
+ "pc": [
+ 313
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 68,
+ "pc": [
+ 314
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 68,
+ "pc": [
+ 315,
+ 316,
+ 317
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 69,
+ "pc": [
+ 318,
+ 319
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 69,
+ "errorMessage": "asserts failed: asserts(arg1, arg2, arg1 === arg2)",
+ "pc": [
+ 320
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 69,
+ "pc": [
+ 321,
+ 322
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 69,
+ "errorMessage": "asserts failed: asserts(arg1, arg2, arg1 === arg2)",
+ "pc": [
+ 323
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 69,
+ "pc": [
+ 324,
+ 325
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 69,
+ "pc": [
+ 326,
+ 327
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 69,
+ "pc": [
+ 328
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 69,
+ "errorMessage": "asserts failed: asserts(arg1, arg2, arg1 === arg2)",
+ "pc": [
+ 329
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 68,
+ "pc": [
+ 330
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 72,
+ "pc": [
+ 331,
+ 332
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 72,
+ "pc": [
+ 333
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 72,
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 72,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 72,
+ "pc": [
+ 336,
+ 337
+ ]
+ },
+ {
+ "teal": 125,
+ "source": 72,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 72,
+ "pc": [
+ 339
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 72,
+ "errorMessage": "argument 0 (somePay) for verifyTxnFromArg must be a pay transaction",
+ "pc": [
+ 340
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 72,
+ "pc": [
+ 341,
+ 342,
+ 343
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 72,
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 72,
+ "pc": [
+ 345
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 72,
+ "pc": [
+ 346,
+ 347,
+ 348
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 73,
+ "pc": [
+ 349,
+ 350
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 73,
+ "pc": [
+ 351,
+ 352
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 73,
+ "pc": [
+ 353,
+ 354
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 73,
+ "pc": [
+ 355
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 73,
+ "errorMessage": "transaction verification failed: {\"txn\":\"somePay\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 356
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 73,
+ "pc": [
+ 357,
+ 358
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 73,
+ "pc": [
+ 359,
+ 360
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 73,
+ "pc": [
+ 361,
+ 362
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 73,
+ "pc": [
+ 363
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 73,
+ "errorMessage": "transaction verification failed: {\"txn\":\"somePay\",\"field\":\"amount\",\"expected\":\"100_000\"}",
+ "pc": [
+ 364
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 72,
+ "pc": [
+ 365
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 76,
+ "pc": [
+ 366,
+ 367,
+ 368
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 76,
+ "pc": [
+ 369
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 76,
+ "pc": [
+ 370
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 76,
+ "pc": [
+ 371,
+ 372,
+ 373
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 77,
+ "pc": [
+ 374
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 77,
+ "pc": [
+ 375,
+ 376
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 77,
+ "pc": [
+ 377,
+ 378
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 77,
+ "pc": [
+ 379
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 77,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}",
+ "pc": [
+ 380
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 76,
+ "pc": [
+ 381
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 80,
+ "pc": [
+ 382,
+ 383,
+ 384
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 80,
+ "pc": [
+ 385
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 80,
+ "pc": [
+ 386
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 80,
+ "pc": [
+ 387,
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 82,
+ "pc": [
+ 390,
+ 391
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 82,
+ "pc": [
+ 392
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 82,
+ "pc": [
+ 393
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 82,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"applicationID\",\"condition\":\"greaterThan\",\"expected\":\">1\"}",
+ "pc": [
+ 394
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 80,
+ "pc": [
+ 395
+ ]
+ },
+ {
+ "teal": 211,
+ "source": 86,
+ "pc": [
+ 396,
+ 397,
+ 398
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 86,
+ "pc": [
+ 399
+ ]
+ },
+ {
+ "teal": 213,
+ "source": 86,
+ "pc": [
+ 400
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 86,
+ "pc": [
+ 401,
+ 402,
+ 403
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 88,
+ "pc": [
+ 404,
+ 405
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 88,
+ "pc": [
+ 406,
+ 407
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 88,
+ "pc": [
+ 408
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 88,
+ "errorMessage": "transaction verification failed: {\"txn\":{\"txnText\":\"this.txn\"},\"field\":\"sender\",\"condition\":\"includedIn\",\"expected\":\"[this.txn.sender]\"}",
+ "pc": [
+ 409
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 86,
+ "pc": [
+ 410
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 92,
+ "pc": [
+ 411,
+ 412,
+ 413
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 92,
+ "pc": [
+ 414
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 92,
+ "pc": [
+ 415
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 92,
+ "pc": [
+ 416,
+ 417,
+ 418
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 94,
+ "pc": [
+ 419,
+ 420
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 94,
+ "pc": [
+ 421,
+ 422
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 94,
+ "pc": [
+ 423
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 94,
+ "errorMessage": "transaction verification failed: {\"txn\":{\"txnText\":\"this.txn\"},\"field\":\"sender\",\"condition\":\"notIncludedIn\",\"expected\":\"[globals.zeroAddress]\"}",
+ "pc": [
+ 424
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 92,
+ "pc": [
+ 425
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 98,
+ "pc": [
+ 426,
+ 427,
+ 428
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 98,
+ "pc": [
+ 429
+ ]
+ },
+ {
+ "teal": 261,
+ "source": 98,
+ "pc": [
+ 430
+ ]
+ },
+ {
+ "teal": 265,
+ "source": 98,
+ "pc": [
+ 431,
+ 432,
+ 433
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 99,
+ "pc": [
+ 434
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 99,
+ "pc": [
+ 435
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 99,
+ "pc": [
+ 436,
+ 437
+ ]
+ },
+ {
+ "teal": 275,
+ "source": 99,
+ "pc": [
+ 438
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 99,
+ "pc": [
+ 439,
+ 440
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 99,
+ "pc": [
+ 441,
+ 442
+ ]
+ },
+ {
+ "teal": 281,
+ "source": 99,
+ "pc": [
+ 443,
+ 444
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 99,
+ "pc": [
+ 445
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 99,
+ "pc": [
+ 446,
+ 447
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 100,
+ "pc": [
+ 448
+ ]
+ },
+ {
+ "teal": 290,
+ "source": 100,
+ "pc": [
+ 449
+ ]
+ },
+ {
+ "teal": 291,
+ "source": 100,
+ "pc": [
+ 450,
+ 451
+ ]
+ },
+ {
+ "teal": 295,
+ "source": 100,
+ "pc": [
+ 452
+ ]
+ },
+ {
+ "teal": 296,
+ "source": 100,
+ "pc": [
+ 453,
+ 454
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 100,
+ "pc": [
+ 455,
+ 456
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 100,
+ "pc": [
+ 457,
+ 458
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 100,
+ "pc": [
+ 459
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 100,
+ "pc": [
+ 460,
+ 461
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 100,
+ "pc": [
+ 462
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 100,
+ "pc": [
+ 463,
+ 464
+ ]
+ },
+ {
+ "teal": 314,
+ "source": 101,
+ "pc": [
+ 465
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 98,
+ "pc": [
+ 466
+ ]
+ },
+ {
+ "teal": 320,
+ "source": 104,
+ "pc": [
+ 467,
+ 468,
+ 469
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 104,
+ "pc": [
+ 470
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 104,
+ "pc": [
+ 471
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 104,
+ "pc": [
+ 472,
+ 473,
+ 474
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 108,
+ "pc": [
+ 475
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 108,
+ "pc": [
+ 476
+ ]
+ },
+ {
+ "teal": 342,
+ "source": 108,
+ "pc": [
+ 477,
+ 478
+ ]
+ },
+ {
+ "teal": 346,
+ "source": 108,
+ "pc": [
+ 479,
+ 480
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 108,
+ "pc": [
+ 481,
+ 482
+ ]
+ },
+ {
+ "teal": 351,
+ "source": 108,
+ "pc": [
+ 483,
+ 484
+ ]
+ },
+ {
+ "teal": 352,
+ "source": 108,
+ "pc": [
+ 485,
+ 486
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 108,
+ "pc": [
+ 487
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 108,
+ "pc": [
+ 488,
+ 489
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 109,
+ "pc": [
+ 490
+ ]
+ },
+ {
+ "teal": 358,
+ "source": 109,
+ "pc": [
+ 491
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 109,
+ "pc": [
+ 492,
+ 493
+ ]
+ },
+ {
+ "teal": 360,
+ "source": 110,
+ "pc": [
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499
+ ]
+ },
+ {
+ "teal": 361,
+ "source": 110,
+ "pc": [
+ 500,
+ 501
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 111,
+ "pc": [
+ 502,
+ 503
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 111,
+ "pc": [
+ 504,
+ 505
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 112,
+ "pc": [
+ 506,
+ 507
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 112,
+ "pc": [
+ 508,
+ 509
+ ]
+ },
+ {
+ "teal": 374,
+ "source": 109,
+ "pc": [
+ 510
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 109,
+ "pc": [
+ 511,
+ 512
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 105,
+ "pc": [
+ 513
+ ]
+ },
+ {
+ "teal": 377,
+ "source": 105,
+ "pc": [
+ 514
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 105,
+ "pc": [
+ 515,
+ 516
+ ]
+ },
+ {
+ "teal": 379,
+ "source": 106,
+ "pc": [
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522
+ ]
+ },
+ {
+ "teal": 380,
+ "source": 106,
+ "pc": [
+ 523,
+ 524
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 105,
+ "pc": [
+ 525
+ ]
+ },
+ {
+ "teal": 393,
+ "source": 105,
+ "pc": [
+ 526,
+ 527
+ ]
+ },
+ {
+ "teal": 396,
+ "source": 105,
+ "pc": [
+ 528
+ ]
+ },
+ {
+ "teal": 397,
+ "source": 104,
+ "pc": [
+ 529
+ ]
+ },
+ {
+ "teal": 402,
+ "source": 118,
+ "pc": [
+ 530,
+ 531,
+ 532
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 118,
+ "pc": [
+ 533
+ ]
+ },
+ {
+ "teal": 404,
+ "source": 118,
+ "pc": [
+ 534
+ ]
+ },
+ {
+ "teal": 408,
+ "source": 118,
+ "pc": [
+ 535,
+ 536,
+ 537
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 119,
+ "pc": [
+ 538
+ ]
+ },
+ {
+ "teal": 413,
+ "source": 119,
+ "pc": [
+ 539
+ ]
+ },
+ {
+ "teal": 414,
+ "source": 119,
+ "pc": [
+ 540
+ ]
+ },
+ {
+ "teal": 415,
+ "source": 119,
+ "pc": [
+ 541,
+ 542
+ ]
+ },
+ {
+ "teal": 416,
+ "source": 119,
+ "pc": [
+ 543
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 119,
+ "pc": [
+ 544
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 120,
+ "pc": [
+ 545,
+ 546
+ ]
+ },
+ {
+ "teal": 422,
+ "source": 120,
+ "pc": [
+ 547
+ ]
+ },
+ {
+ "teal": 423,
+ "source": 120,
+ "pc": [
+ 548
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 120,
+ "pc": [
+ 549
+ ]
+ },
+ {
+ "teal": 425,
+ "source": 120,
+ "pc": [
+ 550
+ ]
+ },
+ {
+ "teal": 426,
+ "source": 120,
+ "pc": [
+ 551
+ ]
+ },
+ {
+ "teal": 427,
+ "source": 118,
+ "pc": [
+ 552
+ ]
+ },
+ {
+ "teal": 432,
+ "source": 123,
+ "pc": [
+ 553,
+ 554,
+ 555
+ ]
+ },
+ {
+ "teal": 433,
+ "source": 123,
+ "pc": [
+ 556
+ ]
+ },
+ {
+ "teal": 434,
+ "source": 123,
+ "pc": [
+ 557
+ ]
+ },
+ {
+ "teal": 438,
+ "source": 123,
+ "pc": [
+ 558,
+ 559,
+ 560
+ ]
+ },
+ {
+ "teal": 442,
+ "source": 124,
+ "pc": [
+ 561,
+ 562,
+ 563,
+ 564,
+ 565
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 124,
+ "pc": [
+ 566,
+ 567
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 124,
+ "pc": [
+ 568
+ ]
+ },
+ {
+ "teal": 445,
+ "source": 124,
+ "pc": [
+ 569
+ ]
+ },
+ {
+ "teal": 446,
+ "source": 123,
+ "pc": [
+ 570
+ ]
+ },
+ {
+ "teal": 451,
+ "source": 127,
+ "pc": [
+ 571,
+ 572,
+ 573
+ ]
+ },
+ {
+ "teal": 452,
+ "source": 127,
+ "pc": [
+ 574
+ ]
+ },
+ {
+ "teal": 453,
+ "source": 127,
+ "pc": [
+ 575
+ ]
+ },
+ {
+ "teal": 457,
+ "source": 127,
+ "pc": [
+ 576,
+ 577,
+ 578
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 128,
+ "pc": [
+ 579,
+ 580
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 128,
+ "pc": [
+ 581,
+ 582
+ ]
+ },
+ {
+ "teal": 463,
+ "source": 128,
+ "pc": [
+ 583
+ ]
+ },
+ {
+ "teal": 464,
+ "source": 128,
+ "pc": [
+ 584
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 129,
+ "pc": [
+ 585,
+ 586
+ ]
+ },
+ {
+ "teal": 469,
+ "source": 129,
+ "pc": [
+ 587,
+ 588
+ ]
+ },
+ {
+ "teal": 470,
+ "source": 129,
+ "pc": [
+ 589
+ ]
+ },
+ {
+ "teal": 471,
+ "source": 129,
+ "pc": [
+ 590
+ ]
+ },
+ {
+ "teal": 472,
+ "source": 127,
+ "pc": [
+ 591
+ ]
+ },
+ {
+ "teal": 477,
+ "source": 132,
+ "pc": [
+ 592,
+ 593,
+ 594
+ ]
+ },
+ {
+ "teal": 478,
+ "source": 132,
+ "pc": [
+ 595
+ ]
+ },
+ {
+ "teal": 479,
+ "source": 132,
+ "pc": [
+ 596
+ ]
+ },
+ {
+ "teal": 483,
+ "source": 132,
+ "pc": [
+ 597,
+ 598,
+ 599
+ ]
+ },
+ {
+ "teal": 486,
+ "source": 132,
+ "pc": [
+ 600
+ ]
+ },
+ {
+ "teal": 487,
+ "source": 132,
+ "pc": [
+ 601,
+ 602
+ ]
+ },
+ {
+ "teal": 491,
+ "source": 134,
+ "pc": [
+ 603,
+ 604
+ ]
+ },
+ {
+ "teal": 492,
+ "source": 134,
+ "pc": [
+ 605,
+ 606
+ ]
+ },
+ {
+ "teal": 496,
+ "source": 135,
+ "pc": [
+ 607
+ ]
+ },
+ {
+ "teal": 497,
+ "source": 135,
+ "pc": [
+ 608
+ ]
+ },
+ {
+ "teal": 498,
+ "source": 135,
+ "pc": [
+ 609,
+ 610
+ ]
+ },
+ {
+ "teal": 502,
+ "source": 136,
+ "pc": [
+ 611,
+ 612
+ ]
+ },
+ {
+ "teal": 503,
+ "source": 136,
+ "pc": [
+ 613,
+ 614
+ ]
+ },
+ {
+ "teal": 507,
+ "source": 137,
+ "pc": [
+ 615,
+ 616
+ ]
+ },
+ {
+ "teal": 508,
+ "source": 137,
+ "pc": [
+ 617,
+ 618
+ ]
+ },
+ {
+ "teal": 509,
+ "source": 137,
+ "pc": [
+ 619
+ ]
+ },
+ {
+ "teal": 510,
+ "source": 137,
+ "pc": [
+ 620,
+ 621
+ ]
+ },
+ {
+ "teal": 511,
+ "source": 137,
+ "pc": [
+ 622
+ ]
+ },
+ {
+ "teal": 512,
+ "source": 137,
+ "pc": [
+ 623
+ ]
+ },
+ {
+ "teal": 513,
+ "source": 137,
+ "pc": [
+ 624,
+ 625
+ ]
+ },
+ {
+ "teal": 514,
+ "source": 137,
+ "pc": [
+ 626
+ ]
+ },
+ {
+ "teal": 515,
+ "source": 137,
+ "pc": [
+ 627
+ ]
+ },
+ {
+ "teal": 516,
+ "source": 132,
+ "pc": [
+ 628
+ ]
+ },
+ {
+ "teal": 521,
+ "source": 151,
+ "pc": [
+ 629,
+ 630,
+ 631
+ ]
+ },
+ {
+ "teal": 522,
+ "source": 151,
+ "pc": [
+ 632
+ ]
+ },
+ {
+ "teal": 523,
+ "source": 151,
+ "pc": [
+ 633
+ ]
+ },
+ {
+ "teal": 527,
+ "source": 151,
+ "pc": [
+ 634,
+ 635,
+ 636
+ ]
+ },
+ {
+ "teal": 531,
+ "source": 152,
+ "pc": [
+ 637,
+ 638,
+ 639,
+ 640,
+ 641,
+ 642
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 152,
+ "pc": [
+ 643,
+ 644,
+ 645
+ ]
+ },
+ {
+ "teal": 533,
+ "source": 152,
+ "pc": [
+ 646
+ ]
+ },
+ {
+ "teal": 534,
+ "source": 152,
+ "pc": [
+ 647,
+ 648
+ ]
+ },
+ {
+ "teal": 535,
+ "source": 152,
+ "pc": [
+ 649
+ ]
+ },
+ {
+ "teal": 536,
+ "source": 152,
+ "pc": [
+ 650
+ ]
+ },
+ {
+ "teal": 537,
+ "source": 152,
+ "pc": [
+ 651
+ ]
+ },
+ {
+ "teal": 538,
+ "source": 151,
+ "pc": [
+ 652
+ ]
+ },
+ {
+ "teal": 543,
+ "source": 155,
+ "pc": [
+ 653
+ ]
+ },
+ {
+ "teal": 546,
+ "source": 155,
+ "pc": [
+ 654,
+ 655,
+ 656
+ ]
+ },
+ {
+ "teal": 547,
+ "source": 155,
+ "pc": [
+ 657,
+ 658,
+ 659
+ ]
+ },
+ {
+ "teal": 550,
+ "source": 155,
+ "pc": [
+ 660,
+ 661,
+ 662
+ ]
+ },
+ {
+ "teal": 551,
+ "source": 155,
+ "pc": [
+ 663
+ ]
+ },
+ {
+ "teal": 552,
+ "source": 155,
+ "pc": [
+ 664
+ ]
+ },
+ {
+ "teal": 553,
+ "source": 155,
+ "pc": [
+ 665,
+ 666
+ ]
+ },
+ {
+ "teal": 554,
+ "source": 155,
+ "pc": [
+ 667
+ ]
+ },
+ {
+ "teal": 555,
+ "source": 155,
+ "pc": [
+ 668
+ ]
+ },
+ {
+ "teal": 556,
+ "source": 155,
+ "pc": [
+ 669,
+ 670,
+ 671
+ ]
+ },
+ {
+ "teal": 557,
+ "source": 155,
+ "pc": [
+ 672
+ ]
+ },
+ {
+ "teal": 558,
+ "source": 155,
+ "pc": [
+ 673
+ ]
+ },
+ {
+ "teal": 559,
+ "source": 155,
+ "pc": [
+ 674
+ ]
+ },
+ {
+ "teal": 560,
+ "source": 155,
+ "pc": [
+ 675
+ ]
+ },
+ {
+ "teal": 561,
+ "source": 155,
+ "pc": [
+ 676
+ ]
+ },
+ {
+ "teal": 562,
+ "source": 155,
+ "pc": [
+ 677
+ ]
+ },
+ {
+ "teal": 566,
+ "source": 155,
+ "pc": [
+ 678,
+ 679,
+ 680
+ ]
+ },
+ {
+ "teal": 570,
+ "source": 156,
+ "pc": [
+ 681,
+ 682
+ ]
+ },
+ {
+ "teal": 571,
+ "source": 156,
+ "pc": [
+ 683,
+ 684
+ ]
+ },
+ {
+ "teal": 572,
+ "source": 156,
+ "pc": [
+ 685,
+ 686
+ ]
+ },
+ {
+ "teal": 573,
+ "source": 156,
+ "pc": [
+ 687,
+ 688,
+ 689
+ ]
+ },
+ {
+ "teal": 574,
+ "source": 156,
+ "pc": [
+ 690
+ ]
+ },
+ {
+ "teal": 575,
+ "source": 156,
+ "pc": [
+ 691
+ ]
+ },
+ {
+ "teal": 579,
+ "source": 158,
+ "pc": [
+ 692,
+ 693
+ ]
+ },
+ {
+ "teal": 580,
+ "source": 158,
+ "pc": [
+ 694,
+ 695
+ ]
+ },
+ {
+ "teal": 584,
+ "source": 160,
+ "pc": [
+ 696,
+ 697
+ ]
+ },
+ {
+ "teal": 585,
+ "source": 155,
+ "pc": [
+ 698
+ ]
+ },
+ {
+ "teal": 590,
+ "source": 163,
+ "pc": [
+ 699,
+ 700,
+ 701
+ ]
+ },
+ {
+ "teal": 591,
+ "source": 163,
+ "pc": [
+ 702
+ ]
+ },
+ {
+ "teal": 592,
+ "source": 163,
+ "pc": [
+ 703
+ ]
+ },
+ {
+ "teal": 596,
+ "source": 163,
+ "pc": [
+ 704,
+ 705,
+ 706
+ ]
+ },
+ {
+ "teal": 608,
+ "source": 164,
+ "pc": [
+ 707
+ ]
+ },
+ {
+ "teal": 609,
+ "source": 164,
+ "pc": [
+ 708
+ ]
+ },
+ {
+ "teal": 610,
+ "source": 164,
+ "pc": [
+ 709,
+ 710
+ ]
+ },
+ {
+ "teal": 614,
+ "source": 165,
+ "pc": [
+ 711
+ ]
+ },
+ {
+ "teal": 615,
+ "source": 165,
+ "pc": [
+ 712,
+ 713
+ ]
+ },
+ {
+ "teal": 619,
+ "source": 166,
+ "pc": [
+ 714,
+ 715,
+ 716,
+ 717,
+ 718,
+ 719,
+ 720,
+ 721,
+ 722,
+ 723,
+ 724,
+ 725,
+ 726,
+ 727,
+ 728,
+ 729,
+ 730,
+ 731,
+ 732,
+ 733,
+ 734,
+ 735,
+ 736,
+ 737,
+ 738,
+ 739,
+ 740,
+ 741,
+ 742,
+ 743,
+ 744,
+ 745,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 752,
+ 753,
+ 754,
+ 755,
+ 756,
+ 757,
+ 758,
+ 759,
+ 760,
+ 761,
+ 762,
+ 763,
+ 764,
+ 765,
+ 766,
+ 767,
+ 768,
+ 769
+ ]
+ },
+ {
+ "teal": 620,
+ "source": 166,
+ "pc": [
+ 770,
+ 771
+ ]
+ },
+ {
+ "teal": 624,
+ "source": 167,
+ "pc": [
+ 772,
+ 773,
+ 774
+ ]
+ },
+ {
+ "teal": 625,
+ "source": 167,
+ "pc": [
+ 775,
+ 776
+ ]
+ },
+ {
+ "teal": 629,
+ "source": 168,
+ "pc": [
+ 777
+ ]
+ },
+ {
+ "teal": 630,
+ "source": 168,
+ "pc": [
+ 778,
+ 779
+ ]
+ },
+ {
+ "teal": 634,
+ "source": 169,
+ "pc": [
+ 780
+ ]
+ },
+ {
+ "teal": 635,
+ "source": 169,
+ "pc": [
+ 781,
+ 782
+ ]
+ },
+ {
+ "teal": 639,
+ "source": 170,
+ "pc": [
+ 783
+ ]
+ },
+ {
+ "teal": 640,
+ "source": 170,
+ "pc": [
+ 784,
+ 785
+ ]
+ },
+ {
+ "teal": 644,
+ "source": 171,
+ "pc": [
+ 786
+ ]
+ },
+ {
+ "teal": 645,
+ "source": 171,
+ "pc": [
+ 787,
+ 788
+ ]
+ },
+ {
+ "teal": 648,
+ "source": 164,
+ "pc": [
+ 789
+ ]
+ },
+ {
+ "teal": 649,
+ "source": 164,
+ "pc": [
+ 790,
+ 791
+ ]
+ },
+ {
+ "teal": 652,
+ "source": 164,
+ "pc": [
+ 792
+ ]
+ },
+ {
+ "teal": 653,
+ "source": 163,
+ "pc": [
+ 793
+ ]
+ },
+ {
+ "teal": 658,
+ "source": 175,
+ "pc": [
+ 794,
+ 795,
+ 796
+ ]
+ },
+ {
+ "teal": 659,
+ "source": 175,
+ "pc": [
+ 797
+ ]
+ },
+ {
+ "teal": 660,
+ "source": 175,
+ "pc": [
+ 798
+ ]
+ },
+ {
+ "teal": 664,
+ "source": 175,
+ "pc": [
+ 799,
+ 800,
+ 801
+ ]
+ },
+ {
+ "teal": 668,
+ "source": 178,
+ "pc": [
+ 802
+ ]
+ },
+ {
+ "teal": 669,
+ "source": 178,
+ "pc": [
+ 803,
+ 804,
+ 805
+ ]
+ },
+ {
+ "teal": 670,
+ "source": 178,
+ "pc": [
+ 806,
+ 807,
+ 808
+ ]
+ },
+ {
+ "teal": 671,
+ "source": 178,
+ "pc": [
+ 809
+ ]
+ },
+ {
+ "teal": 672,
+ "source": 178,
+ "pc": [
+ 810
+ ]
+ },
+ {
+ "teal": 673,
+ "source": 175,
+ "pc": [
+ 811
+ ]
+ },
+ {
+ "teal": 678,
+ "source": 181,
+ "pc": [
+ 812,
+ 813,
+ 814
+ ]
+ },
+ {
+ "teal": 679,
+ "source": 181,
+ "pc": [
+ 815
+ ]
+ },
+ {
+ "teal": 680,
+ "source": 181,
+ "pc": [
+ 816
+ ]
+ },
+ {
+ "teal": 684,
+ "source": 181,
+ "pc": [
+ 817,
+ 818,
+ 819
+ ]
+ },
+ {
+ "teal": 688,
+ "source": 182,
+ "pc": [
+ 820,
+ 821
+ ]
+ },
+ {
+ "teal": 689,
+ "source": 182,
+ "pc": [
+ 822,
+ 823,
+ 824
+ ]
+ },
+ {
+ "teal": 690,
+ "source": 182,
+ "pc": [
+ 825,
+ 826,
+ 827
+ ]
+ },
+ {
+ "teal": 691,
+ "source": 182,
+ "pc": [
+ 828
+ ]
+ },
+ {
+ "teal": 692,
+ "source": 182,
+ "pc": [
+ 829
+ ]
+ },
+ {
+ "teal": 693,
+ "source": 181,
+ "pc": [
+ 830
+ ]
+ },
+ {
+ "teal": 698,
+ "source": 185,
+ "pc": [
+ 831,
+ 832,
+ 833
+ ]
+ },
+ {
+ "teal": 699,
+ "source": 185,
+ "pc": [
+ 834
+ ]
+ },
+ {
+ "teal": 700,
+ "source": 185,
+ "pc": [
+ 835
+ ]
+ },
+ {
+ "teal": 704,
+ "source": 185,
+ "pc": [
+ 836,
+ 837,
+ 838
+ ]
+ },
+ {
+ "teal": 708,
+ "source": 187,
+ "pc": [
+ 839,
+ 840,
+ 841,
+ 842,
+ 843,
+ 844,
+ 845,
+ 846
+ ]
+ },
+ {
+ "teal": 709,
+ "source": 187,
+ "pc": [
+ 847,
+ 848,
+ 849
+ ]
+ },
+ {
+ "teal": 710,
+ "source": 187,
+ "pc": [
+ 850,
+ 851,
+ 852,
+ 853
+ ]
+ },
+ {
+ "teal": 711,
+ "source": 187,
+ "pc": [
+ 854
+ ]
+ },
+ {
+ "teal": 712,
+ "source": 187,
+ "pc": [
+ 855
+ ]
+ },
+ {
+ "teal": 713,
+ "source": 185,
+ "pc": [
+ 856
+ ]
+ },
+ {
+ "teal": 718,
+ "source": 190,
+ "pc": [
+ 857,
+ 858,
+ 859
+ ]
+ },
+ {
+ "teal": 719,
+ "source": 190,
+ "pc": [
+ 860
+ ]
+ },
+ {
+ "teal": 720,
+ "source": 190,
+ "pc": [
+ 861
+ ]
+ },
+ {
+ "teal": 724,
+ "source": 190,
+ "pc": [
+ 862,
+ 863,
+ 864
+ ]
+ },
+ {
+ "teal": 727,
+ "source": 190,
+ "pc": [
+ 865
+ ]
+ },
+ {
+ "teal": 728,
+ "source": 190,
+ "pc": [
+ 866
+ ]
+ },
+ {
+ "teal": 732,
+ "source": 191,
+ "pc": [
+ 867
+ ]
+ },
+ {
+ "teal": 733,
+ "source": 191,
+ "pc": [
+ 868,
+ 869
+ ]
+ },
+ {
+ "teal": 737,
+ "source": 192,
+ "pc": [
+ 870
+ ]
+ },
+ {
+ "teal": 738,
+ "source": 192,
+ "pc": [
+ 871
+ ]
+ },
+ {
+ "teal": 739,
+ "source": 192,
+ "pc": [
+ 872
+ ]
+ },
+ {
+ "teal": 740,
+ "source": 192,
+ "pc": [
+ 873
+ ]
+ },
+ {
+ "teal": 744,
+ "source": 194,
+ "pc": [
+ 874
+ ]
+ },
+ {
+ "teal": 745,
+ "source": 194,
+ "pc": [
+ 875,
+ 876
+ ]
+ },
+ {
+ "teal": 749,
+ "source": 195,
+ "pc": [
+ 877
+ ]
+ },
+ {
+ "teal": 750,
+ "source": 195,
+ "pc": [
+ 878
+ ]
+ },
+ {
+ "teal": 751,
+ "source": 195,
+ "pc": [
+ 879
+ ]
+ },
+ {
+ "teal": 752,
+ "source": 195,
+ "pc": [
+ 880
+ ]
+ },
+ {
+ "teal": 753,
+ "source": 190,
+ "pc": [
+ 881
+ ]
+ },
+ {
+ "teal": 758,
+ "source": 198,
+ "pc": [
+ 882,
+ 883,
+ 884
+ ]
+ },
+ {
+ "teal": 759,
+ "source": 198,
+ "pc": [
+ 885
+ ]
+ },
+ {
+ "teal": 760,
+ "source": 198,
+ "pc": [
+ 886
+ ]
+ },
+ {
+ "teal": 764,
+ "source": 198,
+ "pc": [
+ 887,
+ 888,
+ 889
+ ]
+ },
+ {
+ "teal": 768,
+ "source": 199,
+ "pc": [
+ 890,
+ 891
+ ]
+ },
+ {
+ "teal": 769,
+ "source": 199,
+ "pc": [
+ 892,
+ 893
+ ]
+ },
+ {
+ "teal": 773,
+ "source": 200,
+ "pc": [
+ 894,
+ 895
+ ]
+ },
+ {
+ "teal": 774,
+ "source": 200,
+ "pc": [
+ 896,
+ 897
+ ]
+ },
+ {
+ "teal": 775,
+ "source": 200,
+ "pc": [
+ 898
+ ]
+ },
+ {
+ "teal": 776,
+ "source": 200,
+ "pc": [
+ 899
+ ]
+ },
+ {
+ "teal": 777,
+ "source": 198,
+ "pc": [
+ 900
+ ]
+ },
+ {
+ "teal": 782,
+ "source": 203,
+ "pc": [
+ 901,
+ 902,
+ 903
+ ]
+ },
+ {
+ "teal": 783,
+ "source": 203,
+ "pc": [
+ 904
+ ]
+ },
+ {
+ "teal": 784,
+ "source": 203,
+ "pc": [
+ 905
+ ]
+ },
+ {
+ "teal": 788,
+ "source": 203,
+ "pc": [
+ 906,
+ 907,
+ 908
+ ]
+ },
+ {
+ "teal": 791,
+ "source": 203,
+ "pc": [
+ 909
+ ]
+ },
+ {
+ "teal": 792,
+ "source": 203,
+ "pc": [
+ 910,
+ 911
+ ]
+ },
+ {
+ "teal": 796,
+ "source": 204,
+ "pc": [
+ 912,
+ 913
+ ]
+ },
+ {
+ "teal": 797,
+ "source": 204,
+ "pc": [
+ 914,
+ 915
+ ]
+ },
+ {
+ "teal": 798,
+ "source": 204,
+ "pc": [
+ 916,
+ 917
+ ]
+ },
+ {
+ "teal": 802,
+ "source": 205,
+ "pc": [
+ 918,
+ 919,
+ 920,
+ 921,
+ 922,
+ 923,
+ 924,
+ 925,
+ 926,
+ 927,
+ 928,
+ 929,
+ 930,
+ 931,
+ 932,
+ 933,
+ 934,
+ 935,
+ 936,
+ 937,
+ 938,
+ 939,
+ 940,
+ 941,
+ 942,
+ 943,
+ 944,
+ 945,
+ 946,
+ 947,
+ 948,
+ 949,
+ 950,
+ 951,
+ 952
+ ]
+ },
+ {
+ "teal": 803,
+ "source": 205,
+ "pc": [
+ 953,
+ 954
+ ]
+ },
+ {
+ "teal": 804,
+ "source": 205,
+ "pc": [
+ 955,
+ 956
+ ]
+ },
+ {
+ "teal": 805,
+ "source": 205,
+ "pc": [
+ 957,
+ 958
+ ]
+ },
+ {
+ "teal": 809,
+ "source": 206,
+ "pc": [
+ 959,
+ 960
+ ]
+ },
+ {
+ "teal": 810,
+ "source": 206,
+ "pc": [
+ 961
+ ]
+ },
+ {
+ "teal": 814,
+ "source": 207,
+ "pc": [
+ 962,
+ 963
+ ]
+ },
+ {
+ "teal": 815,
+ "source": 207,
+ "pc": [
+ 964
+ ]
+ },
+ {
+ "teal": 819,
+ "source": 209,
+ "pc": [
+ 965,
+ 966
+ ]
+ },
+ {
+ "teal": 820,
+ "source": 209,
+ "pc": [
+ 967
+ ]
+ },
+ {
+ "teal": 821,
+ "source": 209,
+ "pc": [
+ 968,
+ 969
+ ]
+ },
+ {
+ "teal": 822,
+ "source": 209,
+ "pc": [
+ 970
+ ]
+ },
+ {
+ "teal": 823,
+ "source": 209,
+ "pc": [
+ 971,
+ 972
+ ]
+ },
+ {
+ "teal": 824,
+ "source": 209,
+ "pc": [
+ 973,
+ 974
+ ]
+ },
+ {
+ "teal": 825,
+ "source": 209,
+ "pc": [
+ 975,
+ 976
+ ]
+ },
+ {
+ "teal": 829,
+ "source": 210,
+ "pc": [
+ 977,
+ 978
+ ]
+ },
+ {
+ "teal": 830,
+ "source": 210,
+ "pc": [
+ 979
+ ]
+ },
+ {
+ "teal": 834,
+ "source": 211,
+ "pc": [
+ 980,
+ 981
+ ]
+ },
+ {
+ "teal": 835,
+ "source": 211,
+ "pc": [
+ 982
+ ]
+ },
+ {
+ "teal": 836,
+ "source": 203,
+ "pc": [
+ 983
+ ]
+ },
+ {
+ "teal": 841,
+ "source": 214,
+ "pc": [
+ 984,
+ 985,
+ 986
+ ]
+ },
+ {
+ "teal": 842,
+ "source": 214,
+ "pc": [
+ 987
+ ]
+ },
+ {
+ "teal": 843,
+ "source": 214,
+ "pc": [
+ 988
+ ]
+ },
+ {
+ "teal": 847,
+ "source": 214,
+ "pc": [
+ 989,
+ 990,
+ 991
+ ]
+ },
+ {
+ "teal": 854,
+ "source": 215,
+ "pc": [
+ 992
+ ]
+ },
+ {
+ "teal": 855,
+ "source": 215,
+ "pc": [
+ 993,
+ 994
+ ]
+ },
+ {
+ "teal": 856,
+ "source": 215,
+ "pc": [
+ 995
+ ]
+ },
+ {
+ "teal": 857,
+ "source": 215,
+ "pc": [
+ 996
+ ]
+ },
+ {
+ "teal": 860,
+ "source": 215,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"typeEnum\",\"expected\":\"pay\"}",
+ "pc": [
+ 997
+ ]
+ },
+ {
+ "teal": 863,
+ "source": 215,
+ "pc": [
+ 998
+ ]
+ },
+ {
+ "teal": 864,
+ "source": 216,
+ "pc": [
+ 999,
+ 1000
+ ]
+ },
+ {
+ "teal": 865,
+ "source": 216,
+ "pc": [
+ 1001
+ ]
+ },
+ {
+ "teal": 866,
+ "source": 216,
+ "pc": [
+ 1002
+ ]
+ },
+ {
+ "teal": 869,
+ "source": 216,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"amount\",\"condition\":\"greaterThan\",\"expected\":\">0\"}",
+ "pc": [
+ 1003
+ ]
+ },
+ {
+ "teal": 882,
+ "source": 219,
+ "pc": [
+ 1004
+ ]
+ },
+ {
+ "teal": 883,
+ "source": 219,
+ "pc": [
+ 1005,
+ 1006
+ ]
+ },
+ {
+ "teal": 884,
+ "source": 219,
+ "pc": [
+ 1007
+ ]
+ },
+ {
+ "teal": 885,
+ "source": 219,
+ "pc": [
+ 1008
+ ]
+ },
+ {
+ "teal": 888,
+ "source": 219,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"typeEnum\",\"expected\":\"appl\"}",
+ "pc": [
+ 1009
+ ]
+ },
+ {
+ "teal": 891,
+ "source": 219,
+ "pc": [
+ 1010
+ ]
+ },
+ {
+ "teal": 892,
+ "source": 220,
+ "pc": [
+ 1011,
+ 1012
+ ]
+ },
+ {
+ "teal": 893,
+ "source": 220,
+ "pc": [
+ 1013
+ ]
+ },
+ {
+ "teal": 894,
+ "source": 220,
+ "pc": [
+ 1014
+ ]
+ },
+ {
+ "teal": 897,
+ "source": 220,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"applicationID\",\"expected\":\"AppID.fromUint64(0)\"}",
+ "pc": [
+ 1015
+ ]
+ },
+ {
+ "teal": 901,
+ "source": 219,
+ "pc": [
+ 1016
+ ]
+ },
+ {
+ "teal": 902,
+ "source": 222,
+ "pc": [
+ 1017,
+ 1018,
+ 1019
+ ]
+ },
+ {
+ "teal": 903,
+ "source": 222,
+ "pc": [
+ 1020
+ ]
+ },
+ {
+ "teal": 904,
+ "source": 222,
+ "pc": [
+ 1021
+ ]
+ },
+ {
+ "teal": 907,
+ "source": 222,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"applicationArgs\",\"index\":\"0\",\"expected\":\"'foo'\"}",
+ "pc": [
+ 1022
+ ]
+ },
+ {
+ "teal": 910,
+ "source": 219,
+ "pc": [
+ 1023
+ ]
+ },
+ {
+ "teal": 911,
+ "source": 221,
+ "pc": [
+ 1024,
+ 1025,
+ 1026
+ ]
+ },
+ {
+ "teal": 912,
+ "source": 224,
+ "pc": [
+ 1027,
+ 1028
+ ]
+ },
+ {
+ "teal": 913,
+ "source": 224,
+ "pc": [
+ 1029
+ ]
+ },
+ {
+ "teal": 914,
+ "source": 219,
+ "pc": [
+ 1030
+ ]
+ },
+ {
+ "teal": 915,
+ "source": 221,
+ "pc": [
+ 1031,
+ 1032,
+ 1033
+ ]
+ },
+ {
+ "teal": 916,
+ "source": 224,
+ "pc": [
+ 1034,
+ 1035,
+ 1036,
+ 1037,
+ 1038
+ ]
+ },
+ {
+ "teal": 917,
+ "source": 224,
+ "pc": [
+ 1039
+ ]
+ },
+ {
+ "teal": 918,
+ "source": 224,
+ "pc": [
+ 1040
+ ]
+ },
+ {
+ "teal": 921,
+ "source": 224,
+ "errorMessage": "transaction verification failed: {\"txn\":{\"txnText\":\"this.txnGroup[0]\"},\"field\":\"applicationArgs 1\",\"condition\":\"includedIn\",\"expected\":\"['bar', 'baz']\"}",
+ "pc": [
+ 1041
+ ]
+ },
+ {
+ "teal": 928,
+ "source": 229,
+ "pc": [
+ 1042
+ ]
+ },
+ {
+ "teal": 929,
+ "source": 229,
+ "pc": [
+ 1043,
+ 1044
+ ]
+ },
+ {
+ "teal": 930,
+ "source": 229,
+ "pc": [
+ 1045,
+ 1046
+ ]
+ },
+ {
+ "teal": 931,
+ "source": 229,
+ "pc": [
+ 1047
+ ]
+ },
+ {
+ "teal": 934,
+ "source": 229,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"typeEnum\",\"expected\":\"axfer\"}",
+ "pc": [
+ 1048
+ ]
+ },
+ {
+ "teal": 937,
+ "source": 229,
+ "pc": [
+ 1049
+ ]
+ },
+ {
+ "teal": 938,
+ "source": 230,
+ "pc": [
+ 1050,
+ 1051
+ ]
+ },
+ {
+ "teal": 939,
+ "source": 230,
+ "pc": [
+ 1052,
+ 1053
+ ]
+ },
+ {
+ "teal": 940,
+ "source": 230,
+ "pc": [
+ 1054
+ ]
+ },
+ {
+ "teal": 943,
+ "source": 230,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}",
+ "pc": [
+ 1055
+ ]
+ },
+ {
+ "teal": 950,
+ "source": 233,
+ "pc": [
+ 1056
+ ]
+ },
+ {
+ "teal": 951,
+ "source": 233,
+ "pc": [
+ 1057,
+ 1058
+ ]
+ },
+ {
+ "teal": 952,
+ "source": 233,
+ "pc": [
+ 1059,
+ 1060
+ ]
+ },
+ {
+ "teal": 953,
+ "source": 233,
+ "pc": [
+ 1061
+ ]
+ },
+ {
+ "teal": 956,
+ "source": 233,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"typeEnum\",\"expected\":\"acfg\"}",
+ "pc": [
+ 1062
+ ]
+ },
+ {
+ "teal": 959,
+ "source": 233,
+ "pc": [
+ 1063
+ ]
+ },
+ {
+ "teal": 960,
+ "source": 234,
+ "pc": [
+ 1064,
+ 1065
+ ]
+ },
+ {
+ "teal": 961,
+ "source": 234,
+ "pc": [
+ 1066
+ ]
+ },
+ {
+ "teal": 962,
+ "source": 234,
+ "pc": [
+ 1067
+ ]
+ },
+ {
+ "teal": 965,
+ "source": 234,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"configAsset\",\"expected\":\"AssetID.fromUint64(0)\"}",
+ "pc": [
+ 1068
+ ]
+ },
+ {
+ "teal": 972,
+ "source": 237,
+ "pc": [
+ 1069
+ ]
+ },
+ {
+ "teal": 973,
+ "source": 237,
+ "pc": [
+ 1070,
+ 1071
+ ]
+ },
+ {
+ "teal": 974,
+ "source": 237,
+ "pc": [
+ 1072
+ ]
+ },
+ {
+ "teal": 975,
+ "source": 237,
+ "pc": [
+ 1073
+ ]
+ },
+ {
+ "teal": 978,
+ "source": 237,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"typeEnum\",\"expected\":\"keyreg\"}",
+ "pc": [
+ 1074
+ ]
+ },
+ {
+ "teal": 981,
+ "source": 237,
+ "pc": [
+ 1075
+ ]
+ },
+ {
+ "teal": 982,
+ "source": 238,
+ "pc": [
+ 1076,
+ 1077
+ ]
+ },
+ {
+ "teal": 983,
+ "source": 238,
+ "pc": [
+ 1078,
+ 1079
+ ]
+ },
+ {
+ "teal": 984,
+ "source": 238,
+ "pc": [
+ 1080
+ ]
+ },
+ {
+ "teal": 987,
+ "source": 238,
+ "errorMessage": "transaction verification failed: {\"txn\":\"this.txnGroup[0]\",\"field\":\"voteFirst\",\"expected\":\"1337\"}",
+ "pc": [
+ 1081
+ ]
+ },
+ {
+ "teal": 988,
+ "source": 214,
+ "pc": [
+ 1082
+ ]
+ },
+ {
+ "teal": 993,
+ "source": 242,
+ "pc": [
+ 1083,
+ 1084,
+ 1085
+ ]
+ },
+ {
+ "teal": 994,
+ "source": 242,
+ "pc": [
+ 1086
+ ]
+ },
+ {
+ "teal": 995,
+ "source": 242,
+ "pc": [
+ 1087
+ ]
+ },
+ {
+ "teal": 999,
+ "source": 242,
+ "pc": [
+ 1088,
+ 1089,
+ 1090
+ ]
+ },
+ {
+ "teal": 1002,
+ "source": 242,
+ "pc": [
+ 1091
+ ]
+ },
+ {
+ "teal": 1006,
+ "source": 243,
+ "pc": [
+ 1092
+ ]
+ },
+ {
+ "teal": 1007,
+ "source": 243,
+ "pc": [
+ 1093,
+ 1094
+ ]
+ },
+ {
+ "teal": 1011,
+ "source": 244,
+ "pc": [
+ 1095,
+ 1096
+ ]
+ },
+ {
+ "teal": 1012,
+ "source": 244,
+ "pc": [
+ 1097,
+ 1098
+ ]
+ },
+ {
+ "teal": 1013,
+ "source": 244,
+ "pc": [
+ 1099
+ ]
+ },
+ {
+ "teal": 1014,
+ "source": 244,
+ "pc": [
+ 1100,
+ 1101
+ ]
+ },
+ {
+ "teal": 1018,
+ "source": 245,
+ "pc": [
+ 1102,
+ 1103
+ ]
+ },
+ {
+ "teal": 1019,
+ "source": 245,
+ "pc": [
+ 1104,
+ 1105,
+ 1106,
+ 1107,
+ 1108,
+ 1109,
+ 1110,
+ 1111
+ ]
+ },
+ {
+ "teal": 1020,
+ "source": 245,
+ "pc": [
+ 1112
+ ]
+ },
+ {
+ "teal": 1021,
+ "source": 245,
+ "pc": [
+ 1113
+ ]
+ },
+ {
+ "teal": 1022,
+ "source": 242,
+ "pc": [
+ 1114
+ ]
+ },
+ {
+ "teal": 1027,
+ "source": 248,
+ "pc": [
+ 1115
+ ]
+ },
+ {
+ "teal": 1030,
+ "source": 248,
+ "pc": [
+ 1116,
+ 1117,
+ 1118
+ ]
+ },
+ {
+ "teal": 1031,
+ "source": 248,
+ "pc": [
+ 1119
+ ]
+ },
+ {
+ "teal": 1032,
+ "source": 248,
+ "pc": [
+ 1120
+ ]
+ },
+ {
+ "teal": 1033,
+ "source": 248,
+ "pc": [
+ 1121
+ ]
+ },
+ {
+ "teal": 1034,
+ "source": 248,
+ "pc": [
+ 1122,
+ 1123,
+ 1124
+ ]
+ },
+ {
+ "teal": 1035,
+ "source": 248,
+ "pc": [
+ 1125
+ ]
+ },
+ {
+ "teal": 1036,
+ "source": 248,
+ "pc": [
+ 1126
+ ]
+ },
+ {
+ "teal": 1037,
+ "source": 248,
+ "pc": [
+ 1127
+ ]
+ },
+ {
+ "teal": 1038,
+ "source": 248,
+ "pc": [
+ 1128
+ ]
+ },
+ {
+ "teal": 1039,
+ "source": 248,
+ "pc": [
+ 1129
+ ]
+ },
+ {
+ "teal": 1040,
+ "source": 248,
+ "pc": [
+ 1130
+ ]
+ },
+ {
+ "teal": 1044,
+ "source": 248,
+ "pc": [
+ 1131,
+ 1132,
+ 1133
+ ]
+ },
+ {
+ "teal": 1048,
+ "source": 249,
+ "pc": [
+ 1134,
+ 1135,
+ 1136,
+ 1137,
+ 1138,
+ 1139,
+ 1140,
+ 1141,
+ 1142,
+ 1143,
+ 1144,
+ 1145,
+ 1146,
+ 1147,
+ 1148,
+ 1149,
+ 1150,
+ 1151,
+ 1152,
+ 1153,
+ 1154,
+ 1155,
+ 1156,
+ 1157,
+ 1158,
+ 1159,
+ 1160,
+ 1161,
+ 1162,
+ 1163,
+ 1164,
+ 1165,
+ 1166,
+ 1167,
+ 1168,
+ 1169,
+ 1170,
+ 1171,
+ 1172,
+ 1173,
+ 1174,
+ 1175,
+ 1176,
+ 1177,
+ 1178,
+ 1179,
+ 1180,
+ 1181,
+ 1182,
+ 1183,
+ 1184,
+ 1185,
+ 1186,
+ 1187,
+ 1188,
+ 1189,
+ 1190,
+ 1191,
+ 1192,
+ 1193,
+ 1194,
+ 1195,
+ 1196,
+ 1197,
+ 1198,
+ 1199,
+ 1200,
+ 1201,
+ 1202,
+ 1203,
+ 1204,
+ 1205,
+ 1206,
+ 1207,
+ 1208,
+ 1209,
+ 1210,
+ 1211,
+ 1212,
+ 1213,
+ 1214,
+ 1215,
+ 1216,
+ 1217,
+ 1218,
+ 1219,
+ 1220,
+ 1221,
+ 1222,
+ 1223,
+ 1224,
+ 1225,
+ 1226,
+ 1227,
+ 1228,
+ 1229,
+ 1230,
+ 1231,
+ 1232,
+ 1233,
+ 1234,
+ 1235,
+ 1236,
+ 1237,
+ 1238,
+ 1239,
+ 1240,
+ 1241,
+ 1242,
+ 1243,
+ 1244,
+ 1245,
+ 1246,
+ 1247,
+ 1248,
+ 1249,
+ 1250,
+ 1251,
+ 1252,
+ 1253,
+ 1254,
+ 1255,
+ 1256,
+ 1257,
+ 1258,
+ 1259,
+ 1260,
+ 1261,
+ 1262,
+ 1263,
+ 1264,
+ 1265,
+ 1266,
+ 1267,
+ 1268,
+ 1269,
+ 1270,
+ 1271,
+ 1272,
+ 1273,
+ 1274,
+ 1275,
+ 1276,
+ 1277,
+ 1278,
+ 1279,
+ 1280,
+ 1281,
+ 1282,
+ 1283,
+ 1284,
+ 1285,
+ 1286,
+ 1287,
+ 1288,
+ 1289,
+ 1290,
+ 1291,
+ 1292,
+ 1293,
+ 1294,
+ 1295,
+ 1296,
+ 1297,
+ 1298,
+ 1299,
+ 1300,
+ 1301,
+ 1302,
+ 1303,
+ 1304,
+ 1305,
+ 1306,
+ 1307,
+ 1308,
+ 1309,
+ 1310,
+ 1311,
+ 1312,
+ 1313,
+ 1314,
+ 1315,
+ 1316,
+ 1317,
+ 1318,
+ 1319,
+ 1320,
+ 1321,
+ 1322,
+ 1323,
+ 1324,
+ 1325,
+ 1326,
+ 1327,
+ 1328,
+ 1329,
+ 1330,
+ 1331,
+ 1332,
+ 1333,
+ 1334,
+ 1335,
+ 1336,
+ 1337,
+ 1338,
+ 1339,
+ 1340,
+ 1341,
+ 1342,
+ 1343,
+ 1344,
+ 1345,
+ 1346,
+ 1347,
+ 1348,
+ 1349,
+ 1350,
+ 1351,
+ 1352,
+ 1353,
+ 1354,
+ 1355,
+ 1356,
+ 1357,
+ 1358,
+ 1359,
+ 1360,
+ 1361,
+ 1362,
+ 1363,
+ 1364,
+ 1365,
+ 1366,
+ 1367,
+ 1368,
+ 1369,
+ 1370,
+ 1371,
+ 1372,
+ 1373,
+ 1374,
+ 1375,
+ 1376,
+ 1377,
+ 1378,
+ 1379,
+ 1380,
+ 1381,
+ 1382,
+ 1383,
+ 1384,
+ 1385,
+ 1386,
+ 1387,
+ 1388,
+ 1389,
+ 1390,
+ 1391,
+ 1392,
+ 1393,
+ 1394,
+ 1395,
+ 1396,
+ 1397,
+ 1398,
+ 1399,
+ 1400,
+ 1401,
+ 1402,
+ 1403,
+ 1404,
+ 1405,
+ 1406,
+ 1407,
+ 1408,
+ 1409,
+ 1410,
+ 1411,
+ 1412,
+ 1413,
+ 1414,
+ 1415,
+ 1416,
+ 1417,
+ 1418,
+ 1419,
+ 1420,
+ 1421,
+ 1422,
+ 1423,
+ 1424,
+ 1425,
+ 1426,
+ 1427,
+ 1428,
+ 1429,
+ 1430,
+ 1431,
+ 1432,
+ 1433,
+ 1434,
+ 1435,
+ 1436,
+ 1437,
+ 1438,
+ 1439,
+ 1440,
+ 1441,
+ 1442,
+ 1443,
+ 1444,
+ 1445,
+ 1446,
+ 1447,
+ 1448,
+ 1449,
+ 1450,
+ 1451,
+ 1452,
+ 1453,
+ 1454,
+ 1455,
+ 1456,
+ 1457,
+ 1458,
+ 1459,
+ 1460,
+ 1461,
+ 1462,
+ 1463,
+ 1464,
+ 1465,
+ 1466,
+ 1467,
+ 1468,
+ 1469,
+ 1470,
+ 1471,
+ 1472,
+ 1473,
+ 1474,
+ 1475,
+ 1476,
+ 1477,
+ 1478,
+ 1479,
+ 1480,
+ 1481,
+ 1482,
+ 1483,
+ 1484,
+ 1485,
+ 1486,
+ 1487,
+ 1488,
+ 1489,
+ 1490,
+ 1491,
+ 1492,
+ 1493,
+ 1494,
+ 1495,
+ 1496,
+ 1497,
+ 1498,
+ 1499,
+ 1500,
+ 1501,
+ 1502,
+ 1503,
+ 1504,
+ 1505,
+ 1506,
+ 1507,
+ 1508,
+ 1509,
+ 1510,
+ 1511,
+ 1512,
+ 1513,
+ 1514,
+ 1515,
+ 1516,
+ 1517,
+ 1518,
+ 1519,
+ 1520,
+ 1521,
+ 1522,
+ 1523,
+ 1524,
+ 1525,
+ 1526,
+ 1527,
+ 1528,
+ 1529,
+ 1530,
+ 1531,
+ 1532,
+ 1533,
+ 1534,
+ 1535,
+ 1536,
+ 1537,
+ 1538,
+ 1539,
+ 1540,
+ 1541,
+ 1542,
+ 1543,
+ 1544,
+ 1545,
+ 1546,
+ 1547,
+ 1548,
+ 1549,
+ 1550,
+ 1551,
+ 1552,
+ 1553,
+ 1554,
+ 1555,
+ 1556,
+ 1557,
+ 1558,
+ 1559,
+ 1560,
+ 1561,
+ 1562,
+ 1563,
+ 1564,
+ 1565,
+ 1566,
+ 1567,
+ 1568,
+ 1569,
+ 1570,
+ 1571,
+ 1572,
+ 1573,
+ 1574,
+ 1575,
+ 1576,
+ 1577,
+ 1578,
+ 1579,
+ 1580,
+ 1581,
+ 1582,
+ 1583,
+ 1584,
+ 1585,
+ 1586,
+ 1587,
+ 1588,
+ 1589,
+ 1590,
+ 1591,
+ 1592,
+ 1593,
+ 1594,
+ 1595,
+ 1596,
+ 1597,
+ 1598,
+ 1599,
+ 1600,
+ 1601,
+ 1602,
+ 1603,
+ 1604,
+ 1605,
+ 1606,
+ 1607,
+ 1608,
+ 1609,
+ 1610,
+ 1611,
+ 1612,
+ 1613,
+ 1614,
+ 1615,
+ 1616,
+ 1617,
+ 1618,
+ 1619,
+ 1620,
+ 1621,
+ 1622,
+ 1623,
+ 1624,
+ 1625,
+ 1626,
+ 1627,
+ 1628,
+ 1629,
+ 1630,
+ 1631,
+ 1632,
+ 1633,
+ 1634,
+ 1635,
+ 1636,
+ 1637,
+ 1638,
+ 1639,
+ 1640,
+ 1641,
+ 1642,
+ 1643,
+ 1644,
+ 1645,
+ 1646,
+ 1647,
+ 1648,
+ 1649,
+ 1650,
+ 1651,
+ 1652,
+ 1653,
+ 1654,
+ 1655,
+ 1656,
+ 1657,
+ 1658,
+ 1659,
+ 1660,
+ 1661,
+ 1662,
+ 1663,
+ 1664,
+ 1665,
+ 1666,
+ 1667,
+ 1668,
+ 1669,
+ 1670,
+ 1671,
+ 1672,
+ 1673,
+ 1674,
+ 1675,
+ 1676,
+ 1677,
+ 1678,
+ 1679,
+ 1680,
+ 1681,
+ 1682,
+ 1683,
+ 1684,
+ 1685,
+ 1686,
+ 1687,
+ 1688,
+ 1689,
+ 1690,
+ 1691,
+ 1692,
+ 1693,
+ 1694,
+ 1695,
+ 1696,
+ 1697,
+ 1698,
+ 1699,
+ 1700,
+ 1701,
+ 1702,
+ 1703,
+ 1704,
+ 1705,
+ 1706,
+ 1707,
+ 1708,
+ 1709,
+ 1710,
+ 1711,
+ 1712,
+ 1713,
+ 1714,
+ 1715,
+ 1716,
+ 1717,
+ 1718,
+ 1719,
+ 1720,
+ 1721,
+ 1722,
+ 1723,
+ 1724,
+ 1725,
+ 1726,
+ 1727,
+ 1728,
+ 1729,
+ 1730,
+ 1731,
+ 1732,
+ 1733,
+ 1734,
+ 1735,
+ 1736,
+ 1737,
+ 1738,
+ 1739,
+ 1740,
+ 1741,
+ 1742,
+ 1743,
+ 1744,
+ 1745,
+ 1746,
+ 1747,
+ 1748,
+ 1749,
+ 1750,
+ 1751,
+ 1752,
+ 1753,
+ 1754,
+ 1755,
+ 1756,
+ 1757,
+ 1758,
+ 1759,
+ 1760,
+ 1761,
+ 1762,
+ 1763,
+ 1764,
+ 1765,
+ 1766,
+ 1767,
+ 1768,
+ 1769,
+ 1770,
+ 1771,
+ 1772,
+ 1773,
+ 1774,
+ 1775,
+ 1776,
+ 1777,
+ 1778,
+ 1779,
+ 1780,
+ 1781,
+ 1782,
+ 1783,
+ 1784,
+ 1785,
+ 1786,
+ 1787,
+ 1788,
+ 1789,
+ 1790,
+ 1791,
+ 1792,
+ 1793,
+ 1794,
+ 1795,
+ 1796,
+ 1797,
+ 1798,
+ 1799,
+ 1800,
+ 1801,
+ 1802,
+ 1803,
+ 1804,
+ 1805,
+ 1806,
+ 1807,
+ 1808,
+ 1809,
+ 1810,
+ 1811,
+ 1812,
+ 1813,
+ 1814,
+ 1815,
+ 1816,
+ 1817,
+ 1818,
+ 1819,
+ 1820,
+ 1821,
+ 1822,
+ 1823,
+ 1824,
+ 1825,
+ 1826,
+ 1827,
+ 1828,
+ 1829,
+ 1830,
+ 1831,
+ 1832,
+ 1833,
+ 1834,
+ 1835,
+ 1836,
+ 1837,
+ 1838,
+ 1839,
+ 1840,
+ 1841,
+ 1842,
+ 1843,
+ 1844,
+ 1845,
+ 1846,
+ 1847,
+ 1848,
+ 1849,
+ 1850,
+ 1851,
+ 1852,
+ 1853,
+ 1854,
+ 1855,
+ 1856,
+ 1857,
+ 1858,
+ 1859,
+ 1860,
+ 1861,
+ 1862,
+ 1863,
+ 1864,
+ 1865,
+ 1866,
+ 1867,
+ 1868,
+ 1869,
+ 1870,
+ 1871,
+ 1872,
+ 1873,
+ 1874,
+ 1875,
+ 1876,
+ 1877,
+ 1878,
+ 1879,
+ 1880,
+ 1881,
+ 1882,
+ 1883,
+ 1884,
+ 1885,
+ 1886,
+ 1887,
+ 1888,
+ 1889,
+ 1890,
+ 1891,
+ 1892,
+ 1893,
+ 1894,
+ 1895,
+ 1896,
+ 1897,
+ 1898,
+ 1899,
+ 1900,
+ 1901,
+ 1902,
+ 1903,
+ 1904,
+ 1905,
+ 1906,
+ 1907,
+ 1908,
+ 1909,
+ 1910,
+ 1911,
+ 1912,
+ 1913,
+ 1914,
+ 1915,
+ 1916,
+ 1917,
+ 1918,
+ 1919,
+ 1920,
+ 1921,
+ 1922,
+ 1923,
+ 1924,
+ 1925,
+ 1926,
+ 1927,
+ 1928,
+ 1929,
+ 1930,
+ 1931,
+ 1932,
+ 1933,
+ 1934,
+ 1935,
+ 1936,
+ 1937,
+ 1938,
+ 1939,
+ 1940,
+ 1941,
+ 1942,
+ 1943,
+ 1944,
+ 1945,
+ 1946,
+ 1947,
+ 1948,
+ 1949,
+ 1950,
+ 1951,
+ 1952,
+ 1953,
+ 1954,
+ 1955,
+ 1956,
+ 1957,
+ 1958,
+ 1959,
+ 1960,
+ 1961,
+ 1962,
+ 1963,
+ 1964,
+ 1965,
+ 1966,
+ 1967,
+ 1968,
+ 1969,
+ 1970,
+ 1971,
+ 1972,
+ 1973,
+ 1974,
+ 1975,
+ 1976,
+ 1977,
+ 1978,
+ 1979,
+ 1980,
+ 1981,
+ 1982,
+ 1983,
+ 1984,
+ 1985,
+ 1986,
+ 1987,
+ 1988,
+ 1989,
+ 1990,
+ 1991,
+ 1992,
+ 1993,
+ 1994,
+ 1995,
+ 1996,
+ 1997,
+ 1998,
+ 1999,
+ 2000,
+ 2001,
+ 2002,
+ 2003,
+ 2004,
+ 2005,
+ 2006,
+ 2007,
+ 2008,
+ 2009,
+ 2010,
+ 2011,
+ 2012,
+ 2013,
+ 2014,
+ 2015,
+ 2016,
+ 2017,
+ 2018,
+ 2019,
+ 2020,
+ 2021,
+ 2022,
+ 2023,
+ 2024,
+ 2025,
+ 2026,
+ 2027,
+ 2028,
+ 2029,
+ 2030,
+ 2031,
+ 2032,
+ 2033,
+ 2034,
+ 2035,
+ 2036,
+ 2037,
+ 2038,
+ 2039,
+ 2040,
+ 2041,
+ 2042,
+ 2043,
+ 2044,
+ 2045,
+ 2046,
+ 2047,
+ 2048,
+ 2049,
+ 2050,
+ 2051,
+ 2052,
+ 2053,
+ 2054,
+ 2055,
+ 2056,
+ 2057,
+ 2058,
+ 2059,
+ 2060,
+ 2061,
+ 2062,
+ 2063,
+ 2064,
+ 2065,
+ 2066,
+ 2067,
+ 2068,
+ 2069,
+ 2070,
+ 2071,
+ 2072,
+ 2073,
+ 2074,
+ 2075,
+ 2076,
+ 2077,
+ 2078,
+ 2079,
+ 2080,
+ 2081,
+ 2082,
+ 2083,
+ 2084,
+ 2085,
+ 2086,
+ 2087,
+ 2088,
+ 2089,
+ 2090,
+ 2091,
+ 2092,
+ 2093,
+ 2094,
+ 2095,
+ 2096,
+ 2097,
+ 2098,
+ 2099,
+ 2100,
+ 2101,
+ 2102,
+ 2103,
+ 2104,
+ 2105,
+ 2106,
+ 2107,
+ 2108,
+ 2109,
+ 2110,
+ 2111,
+ 2112,
+ 2113,
+ 2114,
+ 2115,
+ 2116,
+ 2117,
+ 2118,
+ 2119,
+ 2120,
+ 2121,
+ 2122,
+ 2123,
+ 2124,
+ 2125,
+ 2126,
+ 2127,
+ 2128,
+ 2129,
+ 2130,
+ 2131,
+ 2132,
+ 2133,
+ 2134,
+ 2135,
+ 2136,
+ 2137,
+ 2138,
+ 2139,
+ 2140,
+ 2141,
+ 2142,
+ 2143,
+ 2144,
+ 2145,
+ 2146,
+ 2147,
+ 2148,
+ 2149,
+ 2150,
+ 2151,
+ 2152,
+ 2153,
+ 2154,
+ 2155,
+ 2156,
+ 2157,
+ 2158,
+ 2159,
+ 2160
+ ]
+ },
+ {
+ "teal": 1049,
+ "source": 248,
+ "pc": [
+ 2161
+ ]
+ },
+ {
+ "teal": 1054,
+ "source": 252,
+ "pc": [
+ 2162,
+ 2163,
+ 2164
+ ]
+ },
+ {
+ "teal": 1055,
+ "source": 252,
+ "pc": [
+ 2165
+ ]
+ },
+ {
+ "teal": 1056,
+ "source": 252,
+ "pc": [
+ 2166
+ ]
+ },
+ {
+ "teal": 1060,
+ "source": 252,
+ "pc": [
+ 2167,
+ 2168,
+ 2169
+ ]
+ },
+ {
+ "teal": 1064,
+ "source": 253,
+ "pc": [
+ 2170,
+ 2171,
+ 2172,
+ 2173,
+ 2174,
+ 2175,
+ 2176
+ ]
+ },
+ {
+ "teal": 1065,
+ "source": 253,
+ "pc": [
+ 2177,
+ 2178,
+ 2179
+ ]
+ },
+ {
+ "teal": 1066,
+ "source": 253,
+ "pc": [
+ 2180
+ ]
+ },
+ {
+ "teal": 1067,
+ "source": 252,
+ "pc": [
+ 2181
+ ]
+ },
+ {
+ "teal": 1071,
+ "source": 256,
+ "pc": [
+ 2182,
+ 2183,
+ 2184
+ ]
+ },
+ {
+ "teal": 1075,
+ "source": 257,
+ "pc": [
+ 2185,
+ 2186
+ ]
+ },
+ {
+ "teal": 1076,
+ "source": 256,
+ "pc": [
+ 2187
+ ]
+ },
+ {
+ "teal": 1081,
+ "source": 260,
+ "pc": [
+ 2188
+ ]
+ },
+ {
+ "teal": 1084,
+ "source": 260,
+ "pc": [
+ 2189,
+ 2190,
+ 2191
+ ]
+ },
+ {
+ "teal": 1085,
+ "source": 260,
+ "pc": [
+ 2192
+ ]
+ },
+ {
+ "teal": 1088,
+ "source": 260,
+ "pc": [
+ 2193,
+ 2194,
+ 2195
+ ]
+ },
+ {
+ "teal": 1089,
+ "source": 260,
+ "pc": [
+ 2196
+ ]
+ },
+ {
+ "teal": 1092,
+ "source": 260,
+ "pc": [
+ 2197,
+ 2198,
+ 2199
+ ]
+ },
+ {
+ "teal": 1093,
+ "source": 260,
+ "pc": [
+ 2200
+ ]
+ },
+ {
+ "teal": 1094,
+ "source": 260,
+ "pc": [
+ 2201
+ ]
+ },
+ {
+ "teal": 1095,
+ "source": 260,
+ "pc": [
+ 2202
+ ]
+ },
+ {
+ "teal": 1096,
+ "source": 260,
+ "pc": [
+ 2203
+ ]
+ },
+ {
+ "teal": 1097,
+ "source": 260,
+ "pc": [
+ 2204
+ ]
+ },
+ {
+ "teal": 1101,
+ "source": 260,
+ "pc": [
+ 2205,
+ 2206,
+ 2207
+ ]
+ },
+ {
+ "teal": 1105,
+ "source": 261,
+ "pc": [
+ 2208,
+ 2209
+ ]
+ },
+ {
+ "teal": 1106,
+ "source": 261,
+ "pc": [
+ 2210,
+ 2211
+ ]
+ },
+ {
+ "teal": 1107,
+ "source": 261,
+ "pc": [
+ 2212
+ ]
+ },
+ {
+ "teal": 1108,
+ "source": 260,
+ "pc": [
+ 2213
+ ]
+ },
+ {
+ "teal": 1113,
+ "source": 264,
+ "pc": [
+ 2214,
+ 2215,
+ 2216
+ ]
+ },
+ {
+ "teal": 1114,
+ "source": 264,
+ "pc": [
+ 2217
+ ]
+ },
+ {
+ "teal": 1115,
+ "source": 264,
+ "pc": [
+ 2218
+ ]
+ },
+ {
+ "teal": 1119,
+ "source": 264,
+ "pc": [
+ 2219,
+ 2220,
+ 2221
+ ]
+ },
+ {
+ "teal": 1123,
+ "source": 265,
+ "pc": [
+ 2222
+ ]
+ },
+ {
+ "teal": 1124,
+ "source": 265,
+ "pc": [
+ 2223
+ ]
+ },
+ {
+ "teal": 1125,
+ "source": 265,
+ "pc": [
+ 2224,
+ 2225,
+ 2226
+ ]
+ },
+ {
+ "teal": 1126,
+ "source": 265,
+ "pc": [
+ 2227,
+ 2228
+ ]
+ },
+ {
+ "teal": 1127,
+ "source": 265,
+ "pc": [
+ 2229
+ ]
+ },
+ {
+ "teal": 1128,
+ "source": 265,
+ "pc": [
+ 2230
+ ]
+ },
+ {
+ "teal": 1129,
+ "source": 264,
+ "pc": [
+ 2231
+ ]
+ },
+ {
+ "teal": 1134,
+ "source": 268,
+ "pc": [
+ 2232,
+ 2233,
+ 2234
+ ]
+ },
+ {
+ "teal": 1135,
+ "source": 268,
+ "pc": [
+ 2235
+ ]
+ },
+ {
+ "teal": 1136,
+ "source": 268,
+ "pc": [
+ 2236
+ ]
+ },
+ {
+ "teal": 1140,
+ "source": 268,
+ "pc": [
+ 2237,
+ 2238,
+ 2239
+ ]
+ },
+ {
+ "teal": 1144,
+ "source": 269,
+ "pc": [
+ 2240,
+ 2241,
+ 2242
+ ]
+ },
+ {
+ "teal": 1145,
+ "source": 269,
+ "pc": [
+ 2243
+ ]
+ },
+ {
+ "teal": 1146,
+ "source": 268,
+ "pc": [
+ 2244
+ ]
+ },
+ {
+ "teal": 1151,
+ "source": 272,
+ "pc": [
+ 2245
+ ]
+ },
+ {
+ "teal": 1154,
+ "source": 272,
+ "pc": [
+ 2246,
+ 2247,
+ 2248
+ ]
+ },
+ {
+ "teal": 1155,
+ "source": 272,
+ "pc": [
+ 2249
+ ]
+ },
+ {
+ "teal": 1156,
+ "source": 272,
+ "pc": [
+ 2250
+ ]
+ },
+ {
+ "teal": 1157,
+ "source": 272,
+ "pc": [
+ 2251,
+ 2252,
+ 2253
+ ]
+ },
+ {
+ "teal": 1158,
+ "source": 272,
+ "pc": [
+ 2254
+ ]
+ },
+ {
+ "teal": 1161,
+ "source": 272,
+ "errorMessage": "uintNWithUnderscore return value overflowed 256 bits",
+ "pc": [
+ 2255
+ ]
+ },
+ {
+ "teal": 1162,
+ "source": 272,
+ "pc": [
+ 2256,
+ 2257,
+ 2258,
+ 2259,
+ 2260,
+ 2261,
+ 2262,
+ 2263,
+ 2264,
+ 2265,
+ 2266,
+ 2267,
+ 2268,
+ 2269,
+ 2270,
+ 2271,
+ 2272,
+ 2273,
+ 2274,
+ 2275,
+ 2276,
+ 2277,
+ 2278,
+ 2279,
+ 2280,
+ 2281,
+ 2282,
+ 2283,
+ 2284,
+ 2285,
+ 2286,
+ 2287,
+ 2288,
+ 2289
+ ]
+ },
+ {
+ "teal": 1163,
+ "source": 272,
+ "pc": [
+ 2290
+ ]
+ },
+ {
+ "teal": 1164,
+ "source": 272,
+ "pc": [
+ 2291
+ ]
+ },
+ {
+ "teal": 1165,
+ "source": 272,
+ "pc": [
+ 2292
+ ]
+ },
+ {
+ "teal": 1166,
+ "source": 272,
+ "pc": [
+ 2293
+ ]
+ },
+ {
+ "teal": 1167,
+ "source": 272,
+ "pc": [
+ 2294,
+ 2295
+ ]
+ },
+ {
+ "teal": 1168,
+ "source": 272,
+ "pc": [
+ 2296
+ ]
+ },
+ {
+ "teal": 1169,
+ "source": 272,
+ "pc": [
+ 2297
+ ]
+ },
+ {
+ "teal": 1170,
+ "source": 272,
+ "pc": [
+ 2298
+ ]
+ },
+ {
+ "teal": 1171,
+ "source": 272,
+ "pc": [
+ 2299
+ ]
+ },
+ {
+ "teal": 1172,
+ "source": 272,
+ "pc": [
+ 2300
+ ]
+ },
+ {
+ "teal": 1173,
+ "source": 272,
+ "pc": [
+ 2301
+ ]
+ },
+ {
+ "teal": 1174,
+ "source": 272,
+ "pc": [
+ 2302
+ ]
+ },
+ {
+ "teal": 1178,
+ "source": 272,
+ "pc": [
+ 2303,
+ 2304,
+ 2305
+ ]
+ },
+ {
+ "teal": 1182,
+ "source": 273,
+ "pc": [
+ 2306,
+ 2307,
+ 2308,
+ 2309,
+ 2310,
+ 2311,
+ 2312,
+ 2313,
+ 2314,
+ 2315,
+ 2316,
+ 2317,
+ 2318,
+ 2319,
+ 2320,
+ 2321,
+ 2322,
+ 2323,
+ 2324,
+ 2325,
+ 2326,
+ 2327,
+ 2328,
+ 2329,
+ 2330,
+ 2331,
+ 2332,
+ 2333,
+ 2334,
+ 2335,
+ 2336,
+ 2337,
+ 2338,
+ 2339
+ ]
+ },
+ {
+ "teal": 1183,
+ "source": 272,
+ "pc": [
+ 2340
+ ]
+ },
+ {
+ "teal": 1188,
+ "source": 276,
+ "pc": [
+ 2341,
+ 2342,
+ 2343
+ ]
+ },
+ {
+ "teal": 1189,
+ "source": 276,
+ "pc": [
+ 2344
+ ]
+ },
+ {
+ "teal": 1190,
+ "source": 276,
+ "pc": [
+ 2345
+ ]
+ },
+ {
+ "teal": 1194,
+ "source": 276,
+ "pc": [
+ 2346,
+ 2347,
+ 2348
+ ]
+ },
+ {
+ "teal": 1197,
+ "source": 276,
+ "pc": [
+ 2349
+ ]
+ },
+ {
+ "teal": 1201,
+ "source": 277,
+ "pc": [
+ 2350
+ ]
+ },
+ {
+ "teal": 1202,
+ "source": 277,
+ "pc": [
+ 2351
+ ]
+ },
+ {
+ "teal": 1203,
+ "source": 277,
+ "pc": [
+ 2352,
+ 2353
+ ]
+ },
+ {
+ "teal": 1204,
+ "source": 277,
+ "pc": [
+ 2354
+ ]
+ },
+ {
+ "teal": 1205,
+ "source": 277,
+ "pc": [
+ 2355,
+ 2356
+ ]
+ },
+ {
+ "teal": 1206,
+ "source": 277,
+ "pc": [
+ 2357
+ ]
+ },
+ {
+ "teal": 1207,
+ "source": 277,
+ "pc": [
+ 2358
+ ]
+ },
+ {
+ "teal": 1208,
+ "source": 277,
+ "pc": [
+ 2359,
+ 2360
+ ]
+ },
+ {
+ "teal": 1209,
+ "source": 277,
+ "pc": [
+ 2361,
+ 2362
+ ]
+ },
+ {
+ "teal": 1210,
+ "source": 277,
+ "pc": [
+ 2363,
+ 2364
+ ]
+ },
+ {
+ "teal": 1211,
+ "source": 277,
+ "pc": [
+ 2365,
+ 2366
+ ]
+ },
+ {
+ "teal": 1212,
+ "source": 277,
+ "pc": [
+ 2367
+ ]
+ },
+ {
+ "teal": 1216,
+ "source": 278,
+ "pc": [
+ 2368
+ ]
+ },
+ {
+ "teal": 1217,
+ "source": 278,
+ "pc": [
+ 2369,
+ 2370
+ ]
+ },
+ {
+ "teal": 1222,
+ "source": 278,
+ "pc": [
+ 2371,
+ 2372
+ ]
+ },
+ {
+ "teal": 1223,
+ "source": 278,
+ "pc": [
+ 2373,
+ 2374
+ ]
+ },
+ {
+ "teal": 1224,
+ "source": 278,
+ "pc": [
+ 2375
+ ]
+ },
+ {
+ "teal": 1225,
+ "source": 278,
+ "pc": [
+ 2376,
+ 2377,
+ 2378
+ ]
+ },
+ {
+ "teal": 1229,
+ "source": 279,
+ "pc": [
+ 2379,
+ 2380
+ ]
+ },
+ {
+ "teal": 1230,
+ "source": 279,
+ "pc": [
+ 2381
+ ]
+ },
+ {
+ "teal": 1235,
+ "source": 278,
+ "pc": [
+ 2382,
+ 2383
+ ]
+ },
+ {
+ "teal": 1236,
+ "source": 278,
+ "pc": [
+ 2384
+ ]
+ },
+ {
+ "teal": 1237,
+ "source": 278,
+ "pc": [
+ 2385
+ ]
+ },
+ {
+ "teal": 1238,
+ "source": 278,
+ "pc": [
+ 2386,
+ 2387
+ ]
+ },
+ {
+ "teal": 1239,
+ "source": 278,
+ "pc": [
+ 2388,
+ 2389,
+ 2390
+ ]
+ },
+ {
+ "teal": 1242,
+ "source": 276,
+ "pc": [
+ 2391
+ ]
+ },
+ {
+ "teal": 1247,
+ "source": 283,
+ "pc": [
+ 2392
+ ]
+ },
+ {
+ "teal": 1250,
+ "source": 283,
+ "pc": [
+ 2393,
+ 2394,
+ 2395
+ ]
+ },
+ {
+ "teal": 1251,
+ "source": 283,
+ "pc": [
+ 2396
+ ]
+ },
+ {
+ "teal": 1252,
+ "source": 283,
+ "pc": [
+ 2397
+ ]
+ },
+ {
+ "teal": 1253,
+ "source": 283,
+ "pc": [
+ 2398
+ ]
+ },
+ {
+ "teal": 1254,
+ "source": 283,
+ "pc": [
+ 2399,
+ 2400,
+ 2401
+ ]
+ },
+ {
+ "teal": 1255,
+ "source": 283,
+ "pc": [
+ 2402
+ ]
+ },
+ {
+ "teal": 1256,
+ "source": 283,
+ "pc": [
+ 2403
+ ]
+ },
+ {
+ "teal": 1257,
+ "source": 283,
+ "pc": [
+ 2404
+ ]
+ },
+ {
+ "teal": 1258,
+ "source": 283,
+ "pc": [
+ 2405
+ ]
+ },
+ {
+ "teal": 1259,
+ "source": 283,
+ "pc": [
+ 2406
+ ]
+ },
+ {
+ "teal": 1260,
+ "source": 283,
+ "pc": [
+ 2407
+ ]
+ },
+ {
+ "teal": 1264,
+ "source": 283,
+ "pc": [
+ 2408,
+ 2409,
+ 2410
+ ]
+ },
+ {
+ "teal": 1267,
+ "source": 283,
+ "pc": [
+ 2411
+ ]
+ },
+ {
+ "teal": 1271,
+ "source": 284,
+ "pc": [
+ 2412,
+ 2413,
+ 2414,
+ 2415
+ ]
+ },
+ {
+ "teal": 1272,
+ "source": 284,
+ "pc": [
+ 2416,
+ 2417
+ ]
+ },
+ {
+ "teal": 1277,
+ "source": 286,
+ "pc": [
+ 2418,
+ 2419
+ ]
+ },
+ {
+ "teal": 1278,
+ "source": 286,
+ "pc": [
+ 2420,
+ 2421
+ ]
+ },
+ {
+ "teal": 1279,
+ "source": 286,
+ "pc": [
+ 2422
+ ]
+ },
+ {
+ "teal": 1280,
+ "source": 286,
+ "pc": [
+ 2423,
+ 2424,
+ 2425
+ ]
+ },
+ {
+ "teal": 1285,
+ "source": 287,
+ "pc": [
+ 2426,
+ 2427,
+ 2428,
+ 2429,
+ 2430,
+ 2431,
+ 2432,
+ 2433,
+ 2434,
+ 2435
+ ]
+ },
+ {
+ "teal": 1286,
+ "source": 287,
+ "pc": [
+ 2436,
+ 2437
+ ]
+ },
+ {
+ "teal": 1291,
+ "source": 290,
+ "pc": [
+ 2438,
+ 2439,
+ 2440,
+ 2441,
+ 2442
+ ]
+ },
+ {
+ "teal": 1292,
+ "source": 290,
+ "pc": [
+ 2443
+ ]
+ },
+ {
+ "teal": 1293,
+ "source": 290,
+ "pc": [
+ 2444,
+ 2445
+ ]
+ },
+ {
+ "teal": 1296,
+ "source": 283,
+ "pc": [
+ 2446,
+ 2447
+ ]
+ },
+ {
+ "teal": 1297,
+ "source": 283,
+ "pc": [
+ 2448
+ ]
+ },
+ {
+ "teal": 1302,
+ "source": 293,
+ "pc": [
+ 2449
+ ]
+ },
+ {
+ "teal": 1305,
+ "source": 293,
+ "pc": [
+ 2450,
+ 2451,
+ 2452
+ ]
+ },
+ {
+ "teal": 1306,
+ "source": 293,
+ "pc": [
+ 2453
+ ]
+ },
+ {
+ "teal": 1307,
+ "source": 293,
+ "pc": [
+ 2454
+ ]
+ },
+ {
+ "teal": 1308,
+ "source": 293,
+ "pc": [
+ 2455
+ ]
+ },
+ {
+ "teal": 1309,
+ "source": 293,
+ "pc": [
+ 2456
+ ]
+ },
+ {
+ "teal": 1310,
+ "source": 293,
+ "pc": [
+ 2457
+ ]
+ },
+ {
+ "teal": 1314,
+ "source": 293,
+ "pc": [
+ 2458,
+ 2459,
+ 2460
+ ]
+ },
+ {
+ "teal": 1317,
+ "source": 293,
+ "pc": [
+ 2461
+ ]
+ },
+ {
+ "teal": 1321,
+ "source": 294,
+ "pc": [
+ 2462,
+ 2463
+ ]
+ },
+ {
+ "teal": 1322,
+ "source": 294,
+ "pc": [
+ 2464,
+ 2465
+ ]
+ },
+ {
+ "teal": 1326,
+ "source": 296,
+ "pc": [
+ 2466,
+ 2467
+ ]
+ },
+ {
+ "teal": 1327,
+ "source": 296,
+ "pc": [
+ 2468
+ ]
+ },
+ {
+ "teal": 1328,
+ "source": 296,
+ "pc": [
+ 2469,
+ 2470
+ ]
+ },
+ {
+ "teal": 1329,
+ "source": 296,
+ "pc": [
+ 2471
+ ]
+ },
+ {
+ "teal": 1330,
+ "source": 296,
+ "pc": [
+ 2472,
+ 2473
+ ]
+ },
+ {
+ "teal": 1331,
+ "source": 296,
+ "pc": [
+ 2474
+ ]
+ },
+ {
+ "teal": 1332,
+ "source": 296,
+ "pc": [
+ 2475
+ ]
+ },
+ {
+ "teal": 1333,
+ "source": 296,
+ "pc": [
+ 2476,
+ 2477
+ ]
+ },
+ {
+ "teal": 1334,
+ "source": 296,
+ "pc": [
+ 2478,
+ 2479
+ ]
+ },
+ {
+ "teal": 1337,
+ "source": 293,
+ "pc": [
+ 2480,
+ 2481
+ ]
+ },
+ {
+ "teal": 1338,
+ "source": 293,
+ "pc": [
+ 2482
+ ]
+ },
+ {
+ "teal": 1343,
+ "source": 299,
+ "pc": [
+ 2483
+ ]
+ },
+ {
+ "teal": 1346,
+ "source": 299,
+ "pc": [
+ 2484,
+ 2485,
+ 2486
+ ]
+ },
+ {
+ "teal": 1347,
+ "source": 299,
+ "pc": [
+ 2487
+ ]
+ },
+ {
+ "teal": 1348,
+ "source": 299,
+ "pc": [
+ 2488
+ ]
+ },
+ {
+ "teal": 1349,
+ "source": 299,
+ "pc": [
+ 2489
+ ]
+ },
+ {
+ "teal": 1350,
+ "source": 299,
+ "pc": [
+ 2490
+ ]
+ },
+ {
+ "teal": 1351,
+ "source": 299,
+ "pc": [
+ 2491
+ ]
+ },
+ {
+ "teal": 1355,
+ "source": 299,
+ "pc": [
+ 2492,
+ 2493,
+ 2494
+ ]
+ },
+ {
+ "teal": 1359,
+ "source": 300,
+ "pc": [
+ 2495,
+ 2496
+ ]
+ },
+ {
+ "teal": 1360,
+ "source": 300,
+ "pc": [
+ 2497
+ ]
+ },
+ {
+ "teal": 1361,
+ "source": 300,
+ "pc": [
+ 2498
+ ]
+ },
+ {
+ "teal": 1365,
+ "source": 302,
+ "pc": [
+ 2499,
+ 2500
+ ]
+ },
+ {
+ "teal": 1366,
+ "source": 302,
+ "pc": [
+ 2501
+ ]
+ },
+ {
+ "teal": 1367,
+ "source": 302,
+ "pc": [
+ 2502
+ ]
+ },
+ {
+ "teal": 1368,
+ "source": 302,
+ "pc": [
+ 2503,
+ 2504
+ ]
+ },
+ {
+ "teal": 1369,
+ "source": 302,
+ "pc": [
+ 2505
+ ]
+ },
+ {
+ "teal": 1370,
+ "source": 302,
+ "pc": [
+ 2506,
+ 2507
+ ]
+ },
+ {
+ "teal": 1371,
+ "source": 299,
+ "pc": [
+ 2508
+ ]
+ },
+ {
+ "teal": 1376,
+ "source": 305,
+ "pc": [
+ 2509
+ ]
+ },
+ {
+ "teal": 1379,
+ "source": 305,
+ "pc": [
+ 2510,
+ 2511,
+ 2512
+ ]
+ },
+ {
+ "teal": 1380,
+ "source": 305,
+ "pc": [
+ 2513
+ ]
+ },
+ {
+ "teal": 1381,
+ "source": 305,
+ "pc": [
+ 2514
+ ]
+ },
+ {
+ "teal": 1382,
+ "source": 305,
+ "pc": [
+ 2515
+ ]
+ },
+ {
+ "teal": 1383,
+ "source": 305,
+ "pc": [
+ 2516
+ ]
+ },
+ {
+ "teal": 1384,
+ "source": 305,
+ "pc": [
+ 2517
+ ]
+ },
+ {
+ "teal": 1388,
+ "source": 305,
+ "pc": [
+ 2518,
+ 2519,
+ 2520
+ ]
+ },
+ {
+ "teal": 1391,
+ "source": 305,
+ "pc": [
+ 2521
+ ]
+ },
+ {
+ "teal": 1395,
+ "source": 306,
+ "pc": [
+ 2522
+ ]
+ },
+ {
+ "teal": 1396,
+ "source": 306,
+ "pc": [
+ 2523,
+ 2524
+ ]
+ },
+ {
+ "teal": 1400,
+ "source": 308,
+ "pc": [
+ 2525,
+ 2526
+ ]
+ },
+ {
+ "teal": 1401,
+ "source": 308,
+ "pc": [
+ 2527
+ ]
+ },
+ {
+ "teal": 1402,
+ "source": 308,
+ "pc": [
+ 2528
+ ]
+ },
+ {
+ "teal": 1403,
+ "source": 308,
+ "pc": [
+ 2529
+ ]
+ },
+ {
+ "teal": 1404,
+ "source": 308,
+ "pc": [
+ 2530,
+ 2531
+ ]
+ },
+ {
+ "teal": 1405,
+ "source": 308,
+ "pc": [
+ 2532,
+ 2533
+ ]
+ },
+ {
+ "teal": 1406,
+ "source": 308,
+ "pc": [
+ 2534,
+ 2535
+ ]
+ },
+ {
+ "teal": 1409,
+ "source": 305,
+ "pc": [
+ 2536,
+ 2537
+ ]
+ },
+ {
+ "teal": 1410,
+ "source": 305,
+ "pc": [
+ 2538
+ ]
+ },
+ {
+ "teal": 1415,
+ "source": 311,
+ "pc": [
+ 2539
+ ]
+ },
+ {
+ "teal": 1418,
+ "source": 311,
+ "pc": [
+ 2540,
+ 2541,
+ 2542
+ ]
+ },
+ {
+ "teal": 1419,
+ "source": 311,
+ "pc": [
+ 2543
+ ]
+ },
+ {
+ "teal": 1420,
+ "source": 311,
+ "pc": [
+ 2544
+ ]
+ },
+ {
+ "teal": 1421,
+ "source": 311,
+ "pc": [
+ 2545
+ ]
+ },
+ {
+ "teal": 1422,
+ "source": 311,
+ "pc": [
+ 2546
+ ]
+ },
+ {
+ "teal": 1423,
+ "source": 311,
+ "pc": [
+ 2547
+ ]
+ },
+ {
+ "teal": 1427,
+ "source": 311,
+ "pc": [
+ 2548,
+ 2549,
+ 2550
+ ]
+ },
+ {
+ "teal": 1430,
+ "source": 311,
+ "pc": [
+ 2551
+ ]
+ },
+ {
+ "teal": 1434,
+ "source": 312,
+ "pc": [
+ 2552,
+ 2553
+ ]
+ },
+ {
+ "teal": 1435,
+ "source": 312,
+ "pc": [
+ 2554,
+ 2555
+ ]
+ },
+ {
+ "teal": 1439,
+ "source": 314,
+ "pc": [
+ 2556,
+ 2557
+ ]
+ },
+ {
+ "teal": 1440,
+ "source": 314,
+ "pc": [
+ 2558
+ ]
+ },
+ {
+ "teal": 1441,
+ "source": 314,
+ "pc": [
+ 2559,
+ 2560
+ ]
+ },
+ {
+ "teal": 1442,
+ "source": 314,
+ "pc": [
+ 2561,
+ 2562,
+ 2563
+ ]
+ },
+ {
+ "teal": 1443,
+ "source": 314,
+ "pc": [
+ 2564
+ ]
+ },
+ {
+ "teal": 1444,
+ "source": 314,
+ "pc": [
+ 2565,
+ 2566
+ ]
+ },
+ {
+ "teal": 1445,
+ "source": 314,
+ "pc": [
+ 2567
+ ]
+ },
+ {
+ "teal": 1446,
+ "source": 314,
+ "pc": [
+ 2568
+ ]
+ },
+ {
+ "teal": 1447,
+ "source": 314,
+ "pc": [
+ 2569,
+ 2570
+ ]
+ },
+ {
+ "teal": 1448,
+ "source": 314,
+ "pc": [
+ 2571
+ ]
+ },
+ {
+ "teal": 1449,
+ "source": 314,
+ "pc": [
+ 2572
+ ]
+ },
+ {
+ "teal": 1450,
+ "source": 314,
+ "pc": [
+ 2573,
+ 2574
+ ]
+ },
+ {
+ "teal": 1451,
+ "source": 314,
+ "pc": [
+ 2575,
+ 2576
+ ]
+ },
+ {
+ "teal": 1454,
+ "source": 311,
+ "pc": [
+ 2577,
+ 2578
+ ]
+ },
+ {
+ "teal": 1455,
+ "source": 311,
+ "pc": [
+ 2579
+ ]
+ },
+ {
+ "teal": 1460,
+ "source": 317,
+ "pc": [
+ 2580
+ ]
+ },
+ {
+ "teal": 1463,
+ "source": 317,
+ "pc": [
+ 2581,
+ 2582,
+ 2583
+ ]
+ },
+ {
+ "teal": 1464,
+ "source": 317,
+ "pc": [
+ 2584
+ ]
+ },
+ {
+ "teal": 1465,
+ "source": 317,
+ "pc": [
+ 2585
+ ]
+ },
+ {
+ "teal": 1466,
+ "source": 317,
+ "pc": [
+ 2586
+ ]
+ },
+ {
+ "teal": 1467,
+ "source": 317,
+ "pc": [
+ 2587
+ ]
+ },
+ {
+ "teal": 1468,
+ "source": 317,
+ "pc": [
+ 2588
+ ]
+ },
+ {
+ "teal": 1472,
+ "source": 317,
+ "pc": [
+ 2589,
+ 2590,
+ 2591
+ ]
+ },
+ {
+ "teal": 1476,
+ "source": 318,
+ "pc": [
+ 2592,
+ 2593
+ ]
+ },
+ {
+ "teal": 1477,
+ "source": 318,
+ "pc": [
+ 2594,
+ 2595
+ ]
+ },
+ {
+ "teal": 1478,
+ "source": 318,
+ "pc": [
+ 2596
+ ]
+ },
+ {
+ "teal": 1482,
+ "source": 320,
+ "pc": [
+ 2597,
+ 2598
+ ]
+ },
+ {
+ "teal": 1483,
+ "source": 320,
+ "pc": [
+ 2599
+ ]
+ },
+ {
+ "teal": 1484,
+ "source": 320,
+ "pc": [
+ 2600
+ ]
+ },
+ {
+ "teal": 1485,
+ "source": 320,
+ "pc": [
+ 2601,
+ 2602
+ ]
+ },
+ {
+ "teal": 1486,
+ "source": 320,
+ "pc": [
+ 2603
+ ]
+ },
+ {
+ "teal": 1487,
+ "source": 320,
+ "pc": [
+ 2604,
+ 2605,
+ 2606
+ ]
+ },
+ {
+ "teal": 1488,
+ "source": 320,
+ "pc": [
+ 2607
+ ]
+ },
+ {
+ "teal": 1489,
+ "source": 320,
+ "pc": [
+ 2608,
+ 2609
+ ]
+ },
+ {
+ "teal": 1490,
+ "source": 320,
+ "pc": [
+ 2610
+ ]
+ },
+ {
+ "teal": 1491,
+ "source": 320,
+ "pc": [
+ 2611
+ ]
+ },
+ {
+ "teal": 1492,
+ "source": 320,
+ "pc": [
+ 2612,
+ 2613
+ ]
+ },
+ {
+ "teal": 1493,
+ "source": 320,
+ "pc": [
+ 2614
+ ]
+ },
+ {
+ "teal": 1494,
+ "source": 320,
+ "pc": [
+ 2615
+ ]
+ },
+ {
+ "teal": 1495,
+ "source": 320,
+ "pc": [
+ 2616,
+ 2617
+ ]
+ },
+ {
+ "teal": 1496,
+ "source": 320,
+ "pc": [
+ 2618
+ ]
+ },
+ {
+ "teal": 1497,
+ "source": 320,
+ "pc": [
+ 2619
+ ]
+ },
+ {
+ "teal": 1498,
+ "source": 320,
+ "pc": [
+ 2620,
+ 2621
+ ]
+ },
+ {
+ "teal": 1499,
+ "source": 317,
+ "pc": [
+ 2622
+ ]
+ },
+ {
+ "teal": 1504,
+ "source": 323,
+ "pc": [
+ 2623,
+ 2624,
+ 2625
+ ]
+ },
+ {
+ "teal": 1505,
+ "source": 323,
+ "pc": [
+ 2626
+ ]
+ },
+ {
+ "teal": 1506,
+ "source": 323,
+ "pc": [
+ 2627
+ ]
+ },
+ {
+ "teal": 1510,
+ "source": 323,
+ "pc": [
+ 2628,
+ 2629,
+ 2630
+ ]
+ },
+ {
+ "teal": 1514,
+ "source": 324,
+ "pc": [
+ 2631
+ ]
+ },
+ {
+ "teal": 1515,
+ "source": 324,
+ "pc": [
+ 2632
+ ]
+ },
+ {
+ "teal": 1516,
+ "source": 324,
+ "pc": [
+ 2633
+ ]
+ },
+ {
+ "teal": 1517,
+ "source": 324,
+ "pc": [
+ 2634
+ ]
+ },
+ {
+ "teal": 1521,
+ "source": 325,
+ "pc": [
+ 2635,
+ 2636
+ ]
+ },
+ {
+ "teal": 1522,
+ "source": 325,
+ "pc": [
+ 2637
+ ]
+ },
+ {
+ "teal": 1523,
+ "source": 325,
+ "pc": [
+ 2638
+ ]
+ },
+ {
+ "teal": 1524,
+ "source": 325,
+ "pc": [
+ 2639
+ ]
+ },
+ {
+ "teal": 1528,
+ "source": 326,
+ "pc": [
+ 2640,
+ 2641
+ ]
+ },
+ {
+ "teal": 1529,
+ "source": 326,
+ "pc": [
+ 2642
+ ]
+ },
+ {
+ "teal": 1530,
+ "source": 326,
+ "pc": [
+ 2643
+ ]
+ },
+ {
+ "teal": 1531,
+ "source": 326,
+ "pc": [
+ 2644
+ ]
+ },
+ {
+ "teal": 1532,
+ "source": 323,
+ "pc": [
+ 2645
+ ]
+ },
+ {
+ "teal": 1537,
+ "source": 329,
+ "pc": [
+ 2646,
+ 2647,
+ 2648
+ ]
+ },
+ {
+ "teal": 1538,
+ "source": 329,
+ "pc": [
+ 2649
+ ]
+ },
+ {
+ "teal": 1539,
+ "source": 329,
+ "pc": [
+ 2650
+ ]
+ },
+ {
+ "teal": 1543,
+ "source": 329,
+ "pc": [
+ 2651,
+ 2652,
+ 2653
+ ]
+ },
+ {
+ "teal": 1547,
+ "source": 330,
+ "pc": [
+ 2654
+ ]
+ },
+ {
+ "teal": 1550,
+ "source": 330,
+ "errorMessage": "this is false",
+ "pc": [
+ 2655
+ ]
+ },
+ {
+ "teal": 1551,
+ "source": 329,
+ "pc": [
+ 2656
+ ]
+ },
+ {
+ "teal": 1556,
+ "source": 333,
+ "pc": [
+ 2657,
+ 2658,
+ 2659
+ ]
+ },
+ {
+ "teal": 1557,
+ "source": 333,
+ "pc": [
+ 2660
+ ]
+ },
+ {
+ "teal": 1558,
+ "source": 333,
+ "pc": [
+ 2661
+ ]
+ },
+ {
+ "teal": 1562,
+ "source": 333,
+ "pc": [
+ 2662,
+ 2663,
+ 2664
+ ]
+ },
+ {
+ "teal": 1566,
+ "source": 334,
+ "pc": [
+ 2665,
+ 2666
+ ]
+ },
+ {
+ "teal": 1567,
+ "source": 334,
+ "pc": [
+ 2667
+ ]
+ },
+ {
+ "teal": 1568,
+ "source": 334,
+ "pc": [
+ 2668
+ ]
+ },
+ {
+ "teal": 1572,
+ "source": 335,
+ "pc": [
+ 2669,
+ 2670
+ ]
+ },
+ {
+ "teal": 1573,
+ "source": 335,
+ "pc": [
+ 2671
+ ]
+ },
+ {
+ "teal": 1574,
+ "source": 335,
+ "pc": [
+ 2672
+ ]
+ },
+ {
+ "teal": 1578,
+ "source": 336,
+ "pc": [
+ 2673,
+ 2674
+ ]
+ },
+ {
+ "teal": 1579,
+ "source": 336,
+ "pc": [
+ 2675
+ ]
+ },
+ {
+ "teal": 1580,
+ "source": 336,
+ "pc": [
+ 2676
+ ]
+ },
+ {
+ "teal": 1584,
+ "source": 337,
+ "pc": [
+ 2677,
+ 2678
+ ]
+ },
+ {
+ "teal": 1585,
+ "source": 337,
+ "pc": [
+ 2679
+ ]
+ },
+ {
+ "teal": 1586,
+ "source": 337,
+ "pc": [
+ 2680,
+ 2681
+ ]
+ },
+ {
+ "teal": 1587,
+ "source": 337,
+ "pc": [
+ 2682
+ ]
+ },
+ {
+ "teal": 1591,
+ "source": 338,
+ "pc": [
+ 2683,
+ 2684
+ ]
+ },
+ {
+ "teal": 1592,
+ "source": 338,
+ "pc": [
+ 2685
+ ]
+ },
+ {
+ "teal": 1593,
+ "source": 338,
+ "pc": [
+ 2686,
+ 2687
+ ]
+ },
+ {
+ "teal": 1594,
+ "source": 338,
+ "pc": [
+ 2688
+ ]
+ },
+ {
+ "teal": 1595,
+ "source": 333,
+ "pc": [
+ 2689
+ ]
+ },
+ {
+ "teal": 1600,
+ "source": 341,
+ "pc": [
+ 2690,
+ 2691,
+ 2692
+ ]
+ },
+ {
+ "teal": 1601,
+ "source": 341,
+ "pc": [
+ 2693
+ ]
+ },
+ {
+ "teal": 1602,
+ "source": 341,
+ "pc": [
+ 2694
+ ]
+ },
+ {
+ "teal": 1606,
+ "source": 341,
+ "pc": [
+ 2695,
+ 2696,
+ 2697
+ ]
+ },
+ {
+ "teal": 1609,
+ "source": 341,
+ "pc": [
+ 2698
+ ]
+ },
+ {
+ "teal": 1610,
+ "source": 341,
+ "pc": [
+ 2699
+ ]
+ },
+ {
+ "teal": 1614,
+ "source": 342,
+ "pc": [
+ 2700
+ ]
+ },
+ {
+ "teal": 1615,
+ "source": 342,
+ "pc": [
+ 2701
+ ]
+ },
+ {
+ "teal": 1616,
+ "source": 342,
+ "pc": [
+ 2702,
+ 2703
+ ]
+ },
+ {
+ "teal": 1617,
+ "source": 342,
+ "pc": [
+ 2704
+ ]
+ },
+ {
+ "teal": 1618,
+ "source": 342,
+ "pc": [
+ 2705,
+ 2706
+ ]
+ },
+ {
+ "teal": 1619,
+ "source": 342,
+ "pc": [
+ 2707
+ ]
+ },
+ {
+ "teal": 1620,
+ "source": 342,
+ "pc": [
+ 2708
+ ]
+ },
+ {
+ "teal": 1621,
+ "source": 342,
+ "pc": [
+ 2709,
+ 2710
+ ]
+ },
+ {
+ "teal": 1622,
+ "source": 342,
+ "pc": [
+ 2711,
+ 2712
+ ]
+ },
+ {
+ "teal": 1623,
+ "source": 342,
+ "pc": [
+ 2713,
+ 2714
+ ]
+ },
+ {
+ "teal": 1624,
+ "source": 342,
+ "pc": [
+ 2715,
+ 2716
+ ]
+ },
+ {
+ "teal": 1625,
+ "source": 342,
+ "pc": [
+ 2717
+ ]
+ },
+ {
+ "teal": 1629,
+ "source": 343,
+ "pc": [
+ 2718
+ ]
+ },
+ {
+ "teal": 1630,
+ "source": 343,
+ "pc": [
+ 2719
+ ]
+ },
+ {
+ "teal": 1631,
+ "source": 343,
+ "pc": [
+ 2720,
+ 2721
+ ]
+ },
+ {
+ "teal": 1632,
+ "source": 343,
+ "pc": [
+ 2722
+ ]
+ },
+ {
+ "teal": 1633,
+ "source": 343,
+ "pc": [
+ 2723,
+ 2724
+ ]
+ },
+ {
+ "teal": 1634,
+ "source": 343,
+ "pc": [
+ 2725
+ ]
+ },
+ {
+ "teal": 1635,
+ "source": 343,
+ "pc": [
+ 2726
+ ]
+ },
+ {
+ "teal": 1636,
+ "source": 343,
+ "pc": [
+ 2727,
+ 2728
+ ]
+ },
+ {
+ "teal": 1637,
+ "source": 343,
+ "pc": [
+ 2729,
+ 2730
+ ]
+ },
+ {
+ "teal": 1638,
+ "source": 343,
+ "pc": [
+ 2731,
+ 2732
+ ]
+ },
+ {
+ "teal": 1639,
+ "source": 343,
+ "pc": [
+ 2733,
+ 2734
+ ]
+ },
+ {
+ "teal": 1640,
+ "source": 343,
+ "pc": [
+ 2735
+ ]
+ },
+ {
+ "teal": 1644,
+ "source": 344,
+ "pc": [
+ 2736
+ ]
+ },
+ {
+ "teal": 1645,
+ "source": 344,
+ "pc": [
+ 2737
+ ]
+ },
+ {
+ "teal": 1646,
+ "source": 344,
+ "pc": [
+ 2738,
+ 2739
+ ]
+ },
+ {
+ "teal": 1647,
+ "source": 344,
+ "pc": [
+ 2740
+ ]
+ },
+ {
+ "teal": 1648,
+ "source": 344,
+ "pc": [
+ 2741,
+ 2742
+ ]
+ },
+ {
+ "teal": 1649,
+ "source": 344,
+ "pc": [
+ 2743
+ ]
+ },
+ {
+ "teal": 1650,
+ "source": 344,
+ "pc": [
+ 2744
+ ]
+ },
+ {
+ "teal": 1651,
+ "source": 344,
+ "pc": [
+ 2745,
+ 2746
+ ]
+ },
+ {
+ "teal": 1652,
+ "source": 344,
+ "pc": [
+ 2747,
+ 2748
+ ]
+ },
+ {
+ "teal": 1653,
+ "source": 344,
+ "pc": [
+ 2749,
+ 2750
+ ]
+ },
+ {
+ "teal": 1654,
+ "source": 344,
+ "pc": [
+ 2751,
+ 2752
+ ]
+ },
+ {
+ "teal": 1655,
+ "source": 344,
+ "pc": [
+ 2753
+ ]
+ },
+ {
+ "teal": 1659,
+ "source": 345,
+ "pc": [
+ 2754
+ ]
+ },
+ {
+ "teal": 1660,
+ "source": 345,
+ "pc": [
+ 2755
+ ]
+ },
+ {
+ "teal": 1661,
+ "source": 345,
+ "pc": [
+ 2756,
+ 2757
+ ]
+ },
+ {
+ "teal": 1662,
+ "source": 345,
+ "pc": [
+ 2758
+ ]
+ },
+ {
+ "teal": 1663,
+ "source": 345,
+ "pc": [
+ 2759,
+ 2760
+ ]
+ },
+ {
+ "teal": 1664,
+ "source": 345,
+ "pc": [
+ 2761
+ ]
+ },
+ {
+ "teal": 1665,
+ "source": 345,
+ "pc": [
+ 2762
+ ]
+ },
+ {
+ "teal": 1666,
+ "source": 345,
+ "pc": [
+ 2763,
+ 2764
+ ]
+ },
+ {
+ "teal": 1667,
+ "source": 345,
+ "pc": [
+ 2765,
+ 2766
+ ]
+ },
+ {
+ "teal": 1668,
+ "source": 345,
+ "pc": [
+ 2767,
+ 2768
+ ]
+ },
+ {
+ "teal": 1669,
+ "source": 345,
+ "pc": [
+ 2769,
+ 2770
+ ]
+ },
+ {
+ "teal": 1670,
+ "source": 345,
+ "pc": [
+ 2771
+ ]
+ },
+ {
+ "teal": 1674,
+ "source": 346,
+ "pc": [
+ 2772
+ ]
+ },
+ {
+ "teal": 1675,
+ "source": 346,
+ "pc": [
+ 2773
+ ]
+ },
+ {
+ "teal": 1676,
+ "source": 346,
+ "pc": [
+ 2774,
+ 2775
+ ]
+ },
+ {
+ "teal": 1677,
+ "source": 346,
+ "pc": [
+ 2776
+ ]
+ },
+ {
+ "teal": 1678,
+ "source": 346,
+ "pc": [
+ 2777,
+ 2778
+ ]
+ },
+ {
+ "teal": 1679,
+ "source": 346,
+ "pc": [
+ 2779
+ ]
+ },
+ {
+ "teal": 1680,
+ "source": 346,
+ "pc": [
+ 2780
+ ]
+ },
+ {
+ "teal": 1681,
+ "source": 346,
+ "pc": [
+ 2781,
+ 2782
+ ]
+ },
+ {
+ "teal": 1682,
+ "source": 346,
+ "pc": [
+ 2783,
+ 2784
+ ]
+ },
+ {
+ "teal": 1683,
+ "source": 346,
+ "pc": [
+ 2785,
+ 2786
+ ]
+ },
+ {
+ "teal": 1684,
+ "source": 346,
+ "pc": [
+ 2787,
+ 2788
+ ]
+ },
+ {
+ "teal": 1685,
+ "source": 346,
+ "pc": [
+ 2789
+ ]
+ },
+ {
+ "teal": 1689,
+ "source": 347,
+ "pc": [
+ 2790
+ ]
+ },
+ {
+ "teal": 1690,
+ "source": 347,
+ "pc": [
+ 2791
+ ]
+ },
+ {
+ "teal": 1691,
+ "source": 347,
+ "pc": [
+ 2792,
+ 2793
+ ]
+ },
+ {
+ "teal": 1692,
+ "source": 347,
+ "pc": [
+ 2794
+ ]
+ },
+ {
+ "teal": 1693,
+ "source": 347,
+ "pc": [
+ 2795,
+ 2796
+ ]
+ },
+ {
+ "teal": 1694,
+ "source": 347,
+ "pc": [
+ 2797
+ ]
+ },
+ {
+ "teal": 1695,
+ "source": 347,
+ "pc": [
+ 2798
+ ]
+ },
+ {
+ "teal": 1696,
+ "source": 347,
+ "pc": [
+ 2799,
+ 2800
+ ]
+ },
+ {
+ "teal": 1697,
+ "source": 347,
+ "pc": [
+ 2801,
+ 2802
+ ]
+ },
+ {
+ "teal": 1698,
+ "source": 347,
+ "pc": [
+ 2803,
+ 2804
+ ]
+ },
+ {
+ "teal": 1699,
+ "source": 347,
+ "pc": [
+ 2805,
+ 2806
+ ]
+ },
+ {
+ "teal": 1700,
+ "source": 347,
+ "pc": [
+ 2807
+ ]
+ },
+ {
+ "teal": 1704,
+ "source": 348,
+ "pc": [
+ 2808
+ ]
+ },
+ {
+ "teal": 1705,
+ "source": 348,
+ "pc": [
+ 2809
+ ]
+ },
+ {
+ "teal": 1706,
+ "source": 348,
+ "pc": [
+ 2810,
+ 2811
+ ]
+ },
+ {
+ "teal": 1707,
+ "source": 348,
+ "pc": [
+ 2812
+ ]
+ },
+ {
+ "teal": 1708,
+ "source": 348,
+ "pc": [
+ 2813,
+ 2814
+ ]
+ },
+ {
+ "teal": 1709,
+ "source": 348,
+ "pc": [
+ 2815
+ ]
+ },
+ {
+ "teal": 1710,
+ "source": 348,
+ "pc": [
+ 2816
+ ]
+ },
+ {
+ "teal": 1711,
+ "source": 348,
+ "pc": [
+ 2817,
+ 2818
+ ]
+ },
+ {
+ "teal": 1712,
+ "source": 348,
+ "pc": [
+ 2819,
+ 2820
+ ]
+ },
+ {
+ "teal": 1713,
+ "source": 348,
+ "pc": [
+ 2821,
+ 2822
+ ]
+ },
+ {
+ "teal": 1714,
+ "source": 348,
+ "pc": [
+ 2823,
+ 2824
+ ]
+ },
+ {
+ "teal": 1715,
+ "source": 348,
+ "pc": [
+ 2825
+ ]
+ },
+ {
+ "teal": 1719,
+ "source": 349,
+ "pc": [
+ 2826
+ ]
+ },
+ {
+ "teal": 1720,
+ "source": 349,
+ "pc": [
+ 2827
+ ]
+ },
+ {
+ "teal": 1721,
+ "source": 349,
+ "pc": [
+ 2828,
+ 2829
+ ]
+ },
+ {
+ "teal": 1722,
+ "source": 349,
+ "pc": [
+ 2830
+ ]
+ },
+ {
+ "teal": 1723,
+ "source": 349,
+ "pc": [
+ 2831,
+ 2832
+ ]
+ },
+ {
+ "teal": 1724,
+ "source": 349,
+ "pc": [
+ 2833
+ ]
+ },
+ {
+ "teal": 1725,
+ "source": 349,
+ "pc": [
+ 2834
+ ]
+ },
+ {
+ "teal": 1726,
+ "source": 349,
+ "pc": [
+ 2835,
+ 2836
+ ]
+ },
+ {
+ "teal": 1727,
+ "source": 349,
+ "pc": [
+ 2837,
+ 2838
+ ]
+ },
+ {
+ "teal": 1728,
+ "source": 349,
+ "pc": [
+ 2839,
+ 2840
+ ]
+ },
+ {
+ "teal": 1729,
+ "source": 349,
+ "pc": [
+ 2841,
+ 2842
+ ]
+ },
+ {
+ "teal": 1730,
+ "source": 349,
+ "pc": [
+ 2843
+ ]
+ },
+ {
+ "teal": 1734,
+ "source": 350,
+ "pc": [
+ 2844
+ ]
+ },
+ {
+ "teal": 1735,
+ "source": 350,
+ "pc": [
+ 2845
+ ]
+ },
+ {
+ "teal": 1736,
+ "source": 350,
+ "pc": [
+ 2846,
+ 2847
+ ]
+ },
+ {
+ "teal": 1737,
+ "source": 350,
+ "pc": [
+ 2848
+ ]
+ },
+ {
+ "teal": 1738,
+ "source": 350,
+ "pc": [
+ 2849,
+ 2850
+ ]
+ },
+ {
+ "teal": 1739,
+ "source": 350,
+ "pc": [
+ 2851
+ ]
+ },
+ {
+ "teal": 1740,
+ "source": 350,
+ "pc": [
+ 2852
+ ]
+ },
+ {
+ "teal": 1741,
+ "source": 350,
+ "pc": [
+ 2853,
+ 2854
+ ]
+ },
+ {
+ "teal": 1742,
+ "source": 350,
+ "pc": [
+ 2855,
+ 2856
+ ]
+ },
+ {
+ "teal": 1743,
+ "source": 350,
+ "pc": [
+ 2857,
+ 2858
+ ]
+ },
+ {
+ "teal": 1744,
+ "source": 350,
+ "pc": [
+ 2859,
+ 2860
+ ]
+ },
+ {
+ "teal": 1745,
+ "source": 350,
+ "pc": [
+ 2861
+ ]
+ },
+ {
+ "teal": 1749,
+ "source": 352,
+ "pc": [
+ 2862,
+ 2863
+ ]
+ },
+ {
+ "teal": 1750,
+ "source": 352,
+ "pc": [
+ 2864,
+ 2865,
+ 2866,
+ 2867,
+ 2868,
+ 2869,
+ 2870,
+ 2871,
+ 2872,
+ 2873,
+ 2874,
+ 2875,
+ 2876,
+ 2877,
+ 2878,
+ 2879,
+ 2880,
+ 2881,
+ 2882,
+ 2883,
+ 2884,
+ 2885,
+ 2886,
+ 2887,
+ 2888,
+ 2889,
+ 2890,
+ 2891,
+ 2892,
+ 2893,
+ 2894,
+ 2895,
+ 2896,
+ 2897,
+ 2898,
+ 2899,
+ 2900,
+ 2901,
+ 2902,
+ 2903,
+ 2904,
+ 2905,
+ 2906,
+ 2907,
+ 2908,
+ 2909,
+ 2910,
+ 2911,
+ 2912,
+ 2913,
+ 2914,
+ 2915,
+ 2916,
+ 2917,
+ 2918,
+ 2919,
+ 2920,
+ 2921,
+ 2922,
+ 2923,
+ 2924,
+ 2925,
+ 2926,
+ 2927,
+ 2928,
+ 2929,
+ 2930,
+ 2931,
+ 2932,
+ 2933,
+ 2934,
+ 2935,
+ 2936,
+ 2937,
+ 2938,
+ 2939,
+ 2940,
+ 2941,
+ 2942,
+ 2943,
+ 2944,
+ 2945
+ ]
+ },
+ {
+ "teal": 1751,
+ "source": 352,
+ "pc": [
+ 2946,
+ 2947
+ ]
+ },
+ {
+ "teal": 1752,
+ "source": 352,
+ "pc": [
+ 2948,
+ 2949
+ ]
+ },
+ {
+ "teal": 1753,
+ "source": 352,
+ "pc": [
+ 2950,
+ 2951
+ ]
+ },
+ {
+ "teal": 1754,
+ "source": 352,
+ "pc": [
+ 2952,
+ 2953
+ ]
+ },
+ {
+ "teal": 1758,
+ "source": 353,
+ "pc": [
+ 2954,
+ 2955
+ ]
+ },
+ {
+ "teal": 1759,
+ "source": 353,
+ "pc": [
+ 2956
+ ]
+ },
+ {
+ "teal": 1760,
+ "source": 353,
+ "pc": [
+ 2957
+ ]
+ },
+ {
+ "teal": 1764,
+ "source": 354,
+ "pc": [
+ 2958,
+ 2959
+ ]
+ },
+ {
+ "teal": 1765,
+ "source": 354,
+ "pc": [
+ 2960
+ ]
+ },
+ {
+ "teal": 1766,
+ "source": 341,
+ "pc": [
+ 2961
+ ]
+ },
+ {
+ "teal": 1771,
+ "source": 357,
+ "pc": [
+ 2962,
+ 2963,
+ 2964
+ ]
+ },
+ {
+ "teal": 1772,
+ "source": 357,
+ "pc": [
+ 2965
+ ]
+ },
+ {
+ "teal": 1773,
+ "source": 357,
+ "pc": [
+ 2966
+ ]
+ },
+ {
+ "teal": 1777,
+ "source": 357,
+ "pc": [
+ 2967,
+ 2968,
+ 2969
+ ]
+ },
+ {
+ "teal": 1780,
+ "source": 357,
+ "pc": [
+ 2970
+ ]
+ },
+ {
+ "teal": 1784,
+ "source": 358,
+ "pc": [
+ 2971
+ ]
+ },
+ {
+ "teal": 1785,
+ "source": 358,
+ "pc": [
+ 2972
+ ]
+ },
+ {
+ "teal": 1786,
+ "source": 358,
+ "pc": [
+ 2973,
+ 2974
+ ]
+ },
+ {
+ "teal": 1790,
+ "source": 359,
+ "pc": [
+ 2975
+ ]
+ },
+ {
+ "teal": 1791,
+ "source": 359,
+ "pc": [
+ 2976
+ ]
+ },
+ {
+ "teal": 1792,
+ "source": 359,
+ "pc": [
+ 2977,
+ 2978
+ ]
+ },
+ {
+ "teal": 1796,
+ "source": 360,
+ "pc": [
+ 2979,
+ 2980
+ ]
+ },
+ {
+ "teal": 1797,
+ "source": 360,
+ "pc": [
+ 2981,
+ 2982
+ ]
+ },
+ {
+ "teal": 1801,
+ "source": 361,
+ "pc": [
+ 2983
+ ]
+ },
+ {
+ "teal": 1802,
+ "source": 361,
+ "pc": [
+ 2984,
+ 2985
+ ]
+ },
+ {
+ "teal": 1803,
+ "source": 361,
+ "pc": [
+ 2986,
+ 2987
+ ]
+ },
+ {
+ "teal": 1807,
+ "source": 362,
+ "pc": [
+ 2988
+ ]
+ },
+ {
+ "teal": 1808,
+ "source": 362,
+ "pc": [
+ 2989,
+ 2990
+ ]
+ },
+ {
+ "teal": 1812,
+ "source": 363,
+ "pc": [
+ 2991
+ ]
+ },
+ {
+ "teal": 1813,
+ "source": 363,
+ "pc": [
+ 2992,
+ 2993
+ ]
+ },
+ {
+ "teal": 1817,
+ "source": 364,
+ "pc": [
+ 2994
+ ]
+ },
+ {
+ "teal": 1818,
+ "source": 364,
+ "pc": [
+ 2995
+ ]
+ },
+ {
+ "teal": 1819,
+ "source": 364,
+ "pc": [
+ 2996,
+ 2997
+ ]
+ },
+ {
+ "teal": 1820,
+ "source": 357,
+ "pc": [
+ 2998
+ ]
+ },
+ {
+ "teal": 1825,
+ "source": 367,
+ "pc": [
+ 2999,
+ 3000,
+ 3001
+ ]
+ },
+ {
+ "teal": 1826,
+ "source": 367,
+ "pc": [
+ 3002
+ ]
+ },
+ {
+ "teal": 1827,
+ "source": 367,
+ "pc": [
+ 3003
+ ]
+ },
+ {
+ "teal": 1831,
+ "source": 367,
+ "pc": [
+ 3004,
+ 3005,
+ 3006
+ ]
+ },
+ {
+ "teal": 1834,
+ "source": 367,
+ "pc": [
+ 3007
+ ]
+ },
+ {
+ "teal": 1838,
+ "source": 368,
+ "pc": [
+ 3008,
+ 3009,
+ 3010
+ ]
+ },
+ {
+ "teal": 1839,
+ "source": 368,
+ "pc": [
+ 3011
+ ]
+ },
+ {
+ "teal": 1843,
+ "source": 370,
+ "pc": [
+ 3012
+ ]
+ },
+ {
+ "teal": 1844,
+ "source": 370,
+ "pc": [
+ 3013,
+ 3014
+ ]
+ },
+ {
+ "teal": 1848,
+ "source": 372,
+ "pc": [
+ 3015,
+ 3016,
+ 3017
+ ]
+ },
+ {
+ "teal": 1849,
+ "source": 372,
+ "pc": [
+ 3018
+ ]
+ },
+ {
+ "teal": 1850,
+ "source": 367,
+ "pc": [
+ 3019
+ ]
+ },
+ {
+ "teal": 1855,
+ "source": 375,
+ "pc": [
+ 3020,
+ 3021,
+ 3022
+ ]
+ },
+ {
+ "teal": 1856,
+ "source": 375,
+ "pc": [
+ 3023
+ ]
+ },
+ {
+ "teal": 1857,
+ "source": 375,
+ "pc": [
+ 3024
+ ]
+ },
+ {
+ "teal": 1861,
+ "source": 375,
+ "pc": [
+ 3025,
+ 3026,
+ 3027
+ ]
+ },
+ {
+ "teal": 1865,
+ "source": 376,
+ "pc": [
+ 3028
+ ]
+ },
+ {
+ "teal": 1866,
+ "source": 376,
+ "pc": [
+ 3029
+ ]
+ },
+ {
+ "teal": 1867,
+ "source": 376,
+ "pc": [
+ 3030
+ ]
+ },
+ {
+ "teal": 1868,
+ "source": 376,
+ "pc": [
+ 3031
+ ]
+ },
+ {
+ "teal": 1869,
+ "source": 376,
+ "pc": [
+ 3032
+ ]
+ },
+ {
+ "teal": 1873,
+ "source": 377,
+ "pc": [
+ 3033
+ ]
+ },
+ {
+ "teal": 1874,
+ "source": 377,
+ "pc": [
+ 3034
+ ]
+ },
+ {
+ "teal": 1875,
+ "source": 377,
+ "pc": [
+ 3035
+ ]
+ },
+ {
+ "teal": 1879,
+ "source": 378,
+ "pc": [
+ 3036
+ ]
+ },
+ {
+ "teal": 1880,
+ "source": 378,
+ "pc": [
+ 3037
+ ]
+ },
+ {
+ "teal": 1881,
+ "source": 378,
+ "pc": [
+ 3038
+ ]
+ },
+ {
+ "teal": 1885,
+ "source": 379,
+ "pc": [
+ 3039
+ ]
+ },
+ {
+ "teal": 1886,
+ "source": 379,
+ "pc": [
+ 3040
+ ]
+ },
+ {
+ "teal": 1887,
+ "source": 379,
+ "pc": [
+ 3041
+ ]
+ },
+ {
+ "teal": 1888,
+ "source": 379,
+ "pc": [
+ 3042
+ ]
+ },
+ {
+ "teal": 1889,
+ "source": 375,
+ "pc": [
+ 3043
+ ]
+ },
+ {
+ "teal": 1894,
+ "source": 382,
+ "pc": [
+ 3044,
+ 3045,
+ 3046
+ ]
+ },
+ {
+ "teal": 1895,
+ "source": 382,
+ "pc": [
+ 3047
+ ]
+ },
+ {
+ "teal": 1896,
+ "source": 382,
+ "pc": [
+ 3048
+ ]
+ },
+ {
+ "teal": 1900,
+ "source": 382,
+ "pc": [
+ 3049,
+ 3050,
+ 3051
+ ]
+ },
+ {
+ "teal": 1904,
+ "source": 383,
+ "pc": [
+ 3052,
+ 3053
+ ]
+ },
+ {
+ "teal": 1905,
+ "source": 383,
+ "pc": [
+ 3054
+ ]
+ },
+ {
+ "teal": 1906,
+ "source": 383,
+ "pc": [
+ 3055
+ ]
+ },
+ {
+ "teal": 1907,
+ "source": 383,
+ "pc": [
+ 3056
+ ]
+ },
+ {
+ "teal": 1908,
+ "source": 383,
+ "pc": [
+ 3057
+ ]
+ },
+ {
+ "teal": 1912,
+ "source": 384,
+ "pc": [
+ 3058,
+ 3059
+ ]
+ },
+ {
+ "teal": 1913,
+ "source": 384,
+ "pc": [
+ 3060
+ ]
+ },
+ {
+ "teal": 1914,
+ "source": 384,
+ "pc": [
+ 3061
+ ]
+ },
+ {
+ "teal": 1915,
+ "source": 382,
+ "pc": [
+ 3062
+ ]
+ },
+ {
+ "teal": 1920,
+ "source": 387,
+ "pc": [
+ 3063,
+ 3064,
+ 3065
+ ]
+ },
+ {
+ "teal": 1921,
+ "source": 387,
+ "pc": [
+ 3066
+ ]
+ },
+ {
+ "teal": 1922,
+ "source": 387,
+ "pc": [
+ 3067
+ ]
+ },
+ {
+ "teal": 1926,
+ "source": 387,
+ "pc": [
+ 3068,
+ 3069,
+ 3070
+ ]
+ },
+ {
+ "teal": 1930,
+ "source": 388,
+ "pc": [
+ 3071,
+ 3072
+ ]
+ },
+ {
+ "teal": 1931,
+ "source": 388,
+ "pc": [
+ 3073
+ ]
+ },
+ {
+ "teal": 1932,
+ "source": 388,
+ "pc": [
+ 3074
+ ]
+ },
+ {
+ "teal": 1933,
+ "source": 388,
+ "pc": [
+ 3075,
+ 3076
+ ]
+ },
+ {
+ "teal": 1934,
+ "source": 388,
+ "pc": [
+ 3077
+ ]
+ },
+ {
+ "teal": 1938,
+ "source": 389,
+ "pc": [
+ 3078,
+ 3079
+ ]
+ },
+ {
+ "teal": 1939,
+ "source": 389,
+ "pc": [
+ 3080
+ ]
+ },
+ {
+ "teal": 1940,
+ "source": 389,
+ "pc": [
+ 3081
+ ]
+ },
+ {
+ "teal": 1941,
+ "source": 389,
+ "pc": [
+ 3082,
+ 3083
+ ]
+ },
+ {
+ "teal": 1942,
+ "source": 389,
+ "pc": [
+ 3084
+ ]
+ },
+ {
+ "teal": 1943,
+ "source": 387,
+ "pc": [
+ 3085
+ ]
+ },
+ {
+ "teal": 1948,
+ "source": 392,
+ "pc": [
+ 3086,
+ 3087,
+ 3088
+ ]
+ },
+ {
+ "teal": 1949,
+ "source": 392,
+ "pc": [
+ 3089
+ ]
+ },
+ {
+ "teal": 1950,
+ "source": 392,
+ "pc": [
+ 3090
+ ]
+ },
+ {
+ "teal": 1954,
+ "source": 392,
+ "pc": [
+ 3091,
+ 3092,
+ 3093
+ ]
+ },
+ {
+ "teal": 1958,
+ "source": 393,
+ "pc": [
+ 3094
+ ]
+ },
+ {
+ "teal": 1959,
+ "source": 393,
+ "pc": [
+ 3095,
+ 3096
+ ]
+ },
+ {
+ "teal": 1960,
+ "source": 393,
+ "pc": [
+ 3097
+ ]
+ },
+ {
+ "teal": 1961,
+ "source": 392,
+ "pc": [
+ 3098
+ ]
+ },
+ {
+ "teal": 1966,
+ "source": 396,
+ "pc": [
+ 3099,
+ 3100,
+ 3101
+ ]
+ },
+ {
+ "teal": 1967,
+ "source": 396,
+ "pc": [
+ 3102
+ ]
+ },
+ {
+ "teal": 1968,
+ "source": 396,
+ "pc": [
+ 3103
+ ]
+ },
+ {
+ "teal": 1972,
+ "source": 396,
+ "pc": [
+ 3104,
+ 3105,
+ 3106
+ ]
+ },
+ {
+ "teal": 1976,
+ "source": 397,
+ "pc": [
+ 3107
+ ]
+ },
+ {
+ "teal": 1977,
+ "source": 397,
+ "pc": [
+ 3108
+ ]
+ },
+ {
+ "teal": 1978,
+ "source": 397,
+ "pc": [
+ 3109,
+ 3110
+ ]
+ },
+ {
+ "teal": 1979,
+ "source": 397,
+ "pc": [
+ 3111
+ ]
+ },
+ {
+ "teal": 1983,
+ "source": 398,
+ "pc": [
+ 3112
+ ]
+ },
+ {
+ "teal": 1984,
+ "source": 398,
+ "pc": [
+ 3113
+ ]
+ },
+ {
+ "teal": 1985,
+ "source": 398,
+ "pc": [
+ 3114,
+ 3115
+ ]
+ },
+ {
+ "teal": 1986,
+ "source": 398,
+ "pc": [
+ 3116
+ ]
+ },
+ {
+ "teal": 1990,
+ "source": 399,
+ "pc": [
+ 3117
+ ]
+ },
+ {
+ "teal": 1991,
+ "source": 399,
+ "pc": [
+ 3118
+ ]
+ },
+ {
+ "teal": 1992,
+ "source": 399,
+ "pc": [
+ 3119,
+ 3120
+ ]
+ },
+ {
+ "teal": 1993,
+ "source": 399,
+ "pc": [
+ 3121
+ ]
+ },
+ {
+ "teal": 1994,
+ "source": 396,
+ "pc": [
+ 3122
+ ]
+ },
+ {
+ "teal": 1999,
+ "source": 402,
+ "pc": [
+ 3123,
+ 3124,
+ 3125
+ ]
+ },
+ {
+ "teal": 2000,
+ "source": 402,
+ "pc": [
+ 3126
+ ]
+ },
+ {
+ "teal": 2001,
+ "source": 402,
+ "pc": [
+ 3127
+ ]
+ },
+ {
+ "teal": 2005,
+ "source": 402,
+ "pc": [
+ 3128,
+ 3129,
+ 3130
+ ]
+ },
+ {
+ "teal": 2009,
+ "source": 403,
+ "pc": [
+ 3131,
+ 3132
+ ]
+ },
+ {
+ "teal": 2010,
+ "source": 403,
+ "pc": [
+ 3133
+ ]
+ },
+ {
+ "teal": 2014,
+ "source": 404,
+ "pc": [
+ 3134
+ ]
+ },
+ {
+ "teal": 2015,
+ "source": 404,
+ "pc": [
+ 3135
+ ]
+ },
+ {
+ "teal": 2016,
+ "source": 402,
+ "pc": [
+ 3136
+ ]
+ },
+ {
+ "teal": 2021,
+ "source": 407,
+ "pc": [
+ 3137,
+ 3138,
+ 3139
+ ]
+ },
+ {
+ "teal": 2022,
+ "source": 407,
+ "pc": [
+ 3140
+ ]
+ },
+ {
+ "teal": 2023,
+ "source": 407,
+ "pc": [
+ 3141
+ ]
+ },
+ {
+ "teal": 2027,
+ "source": 407,
+ "pc": [
+ 3142,
+ 3143,
+ 3144
+ ]
+ },
+ {
+ "teal": 2031,
+ "source": 10,
+ "pc": [
+ 3145,
+ 3146,
+ 3147
+ ]
+ },
+ {
+ "teal": 2032,
+ "source": 408,
+ "pc": [
+ 3148
+ ]
+ },
+ {
+ "teal": 2033,
+ "source": 407,
+ "pc": [
+ 3149
+ ]
+ },
+ {
+ "teal": 2038,
+ "source": 411,
+ "pc": [
+ 3150,
+ 3151,
+ 3152
+ ]
+ },
+ {
+ "teal": 2039,
+ "source": 411,
+ "pc": [
+ 3153
+ ]
+ },
+ {
+ "teal": 2040,
+ "source": 411,
+ "pc": [
+ 3154
+ ]
+ },
+ {
+ "teal": 2044,
+ "source": 411,
+ "pc": [
+ 3155,
+ 3156,
+ 3157
+ ]
+ },
+ {
+ "teal": 2048,
+ "source": 11,
+ "pc": [
+ 3158,
+ 3159,
+ 3160,
+ 3161
+ ]
+ },
+ {
+ "teal": 2049,
+ "source": 412,
+ "pc": [
+ 3162
+ ]
+ },
+ {
+ "teal": 2050,
+ "source": 411,
+ "pc": [
+ 3163
+ ]
+ },
+ {
+ "teal": 2055,
+ "source": 415,
+ "pc": [
+ 3164,
+ 3165,
+ 3166
+ ]
+ },
+ {
+ "teal": 2056,
+ "source": 415,
+ "pc": [
+ 3167
+ ]
+ },
+ {
+ "teal": 2057,
+ "source": 415,
+ "pc": [
+ 3168
+ ]
+ },
+ {
+ "teal": 2061,
+ "source": 415,
+ "pc": [
+ 3169,
+ 3170,
+ 3171
+ ]
+ },
+ {
+ "teal": 2065,
+ "source": 416,
+ "pc": [
+ 3172
+ ]
+ },
+ {
+ "teal": 2066,
+ "source": 416,
+ "pc": [
+ 3173
+ ]
+ },
+ {
+ "teal": 2067,
+ "source": 416,
+ "pc": [
+ 3174
+ ]
+ },
+ {
+ "teal": 2068,
+ "source": 416,
+ "pc": [
+ 3175
+ ]
+ },
+ {
+ "teal": 2072,
+ "source": 417,
+ "pc": [
+ 3176
+ ]
+ },
+ {
+ "teal": 2073,
+ "source": 417,
+ "pc": [
+ 3177
+ ]
+ },
+ {
+ "teal": 2074,
+ "source": 417,
+ "pc": [
+ 3178
+ ]
+ },
+ {
+ "teal": 2075,
+ "source": 417,
+ "pc": [
+ 3179
+ ]
+ },
+ {
+ "teal": 2079,
+ "source": 418,
+ "pc": [
+ 3180,
+ 3181
+ ]
+ },
+ {
+ "teal": 2080,
+ "source": 418,
+ "pc": [
+ 3182
+ ]
+ },
+ {
+ "teal": 2081,
+ "source": 418,
+ "pc": [
+ 3183
+ ]
+ },
+ {
+ "teal": 2082,
+ "source": 418,
+ "pc": [
+ 3184
+ ]
+ },
+ {
+ "teal": 2086,
+ "source": 419,
+ "pc": [
+ 3185,
+ 3186
+ ]
+ },
+ {
+ "teal": 2087,
+ "source": 419,
+ "pc": [
+ 3187
+ ]
+ },
+ {
+ "teal": 2088,
+ "source": 419,
+ "pc": [
+ 3188
+ ]
+ },
+ {
+ "teal": 2089,
+ "source": 419,
+ "pc": [
+ 3189
+ ]
+ },
+ {
+ "teal": 2090,
+ "source": 415,
+ "pc": [
+ 3190
+ ]
+ },
+ {
+ "teal": 2095,
+ "source": 422,
+ "pc": [
+ 3191
+ ]
+ },
+ {
+ "teal": 2098,
+ "source": 422,
+ "pc": [
+ 3192,
+ 3193,
+ 3194
+ ]
+ },
+ {
+ "teal": 2099,
+ "source": 422,
+ "pc": [
+ 3195,
+ 3196,
+ 3197
+ ]
+ },
+ {
+ "teal": 2100,
+ "source": 422,
+ "pc": [
+ 3198
+ ]
+ },
+ {
+ "teal": 2101,
+ "source": 422,
+ "pc": [
+ 3199,
+ 3200
+ ]
+ },
+ {
+ "teal": 2102,
+ "source": 422,
+ "pc": [
+ 3201
+ ]
+ },
+ {
+ "teal": 2103,
+ "source": 422,
+ "pc": [
+ 3202
+ ]
+ },
+ {
+ "teal": 2104,
+ "source": 422,
+ "pc": [
+ 3203
+ ]
+ },
+ {
+ "teal": 2105,
+ "source": 422,
+ "pc": [
+ 3204
+ ]
+ },
+ {
+ "teal": 2106,
+ "source": 422,
+ "pc": [
+ 3205
+ ]
+ },
+ {
+ "teal": 2110,
+ "source": 422,
+ "pc": [
+ 3206,
+ 3207,
+ 3208
+ ]
+ },
+ {
+ "teal": 2114,
+ "source": 423,
+ "pc": [
+ 3209,
+ 3210
+ ]
+ },
+ {
+ "teal": 2115,
+ "source": 423,
+ "pc": [
+ 3211,
+ 3212
+ ]
+ },
+ {
+ "teal": 2116,
+ "source": 423,
+ "pc": [
+ 3213
+ ]
+ },
+ {
+ "teal": 2117,
+ "source": 423,
+ "pc": [
+ 3214
+ ]
+ },
+ {
+ "teal": 2118,
+ "source": 423,
+ "pc": [
+ 3215,
+ 3216,
+ 3217
+ ]
+ },
+ {
+ "teal": 2119,
+ "source": 423,
+ "pc": [
+ 3218,
+ 3219
+ ]
+ },
+ {
+ "teal": 2120,
+ "source": 423,
+ "pc": [
+ 3220,
+ 3221
+ ]
+ },
+ {
+ "teal": 2121,
+ "source": 423,
+ "pc": [
+ 3222
+ ]
+ },
+ {
+ "teal": 2122,
+ "source": 423,
+ "pc": [
+ 3223
+ ]
+ },
+ {
+ "teal": 2125,
+ "source": 422,
+ "pc": [
+ 3224
+ ]
+ },
+ {
+ "teal": 2130,
+ "source": 427,
+ "pc": [
+ 3225,
+ 3226
+ ]
+ },
+ {
+ "teal": 2131,
+ "source": 427,
+ "pc": [
+ 3227
+ ]
+ },
+ {
+ "teal": 2132,
+ "source": 427,
+ "pc": [
+ 3228
+ ]
+ },
+ {
+ "teal": 2133,
+ "source": 427,
+ "pc": [
+ 3229
+ ]
+ },
+ {
+ "teal": 2134,
+ "source": 427,
+ "pc": [
+ 3230,
+ 3231
+ ]
+ },
+ {
+ "teal": 2135,
+ "source": 427,
+ "pc": [
+ 3232
+ ]
+ },
+ {
+ "teal": 2136,
+ "source": 427,
+ "pc": [
+ 3233
+ ]
+ },
+ {
+ "teal": 2139,
+ "source": 427,
+ "errorMessage": "argument 0 (_pay1) for txnArgsMethod must be a pay transaction",
+ "pc": [
+ 3234
+ ]
+ },
+ {
+ "teal": 2142,
+ "source": 427,
+ "pc": [
+ 3235,
+ 3236,
+ 3237
+ ]
+ },
+ {
+ "teal": 2143,
+ "source": 427,
+ "pc": [
+ 3238
+ ]
+ },
+ {
+ "teal": 2144,
+ "source": 427,
+ "pc": [
+ 3239
+ ]
+ },
+ {
+ "teal": 2148,
+ "source": 427,
+ "pc": [
+ 3240,
+ 3241,
+ 3242
+ ]
+ },
+ {
+ "teal": 2149,
+ "source": 427,
+ "pc": [
+ 3243
+ ]
+ },
+ {
+ "teal": 2154,
+ "source": 429,
+ "pc": [
+ 3244,
+ 3245,
+ 3246
+ ]
+ },
+ {
+ "teal": 2155,
+ "source": 429,
+ "pc": [
+ 3247
+ ]
+ },
+ {
+ "teal": 2156,
+ "source": 429,
+ "pc": [
+ 3248
+ ]
+ },
+ {
+ "teal": 2160,
+ "source": 429,
+ "pc": [
+ 3249,
+ 3250,
+ 3251
+ ]
+ },
+ {
+ "teal": 2166,
+ "source": 431,
+ "pc": [
+ 3252
+ ]
+ },
+ {
+ "teal": 2167,
+ "source": 431,
+ "pc": [
+ 3253
+ ]
+ },
+ {
+ "teal": 2168,
+ "source": 431,
+ "pc": [
+ 3254,
+ 3255
+ ]
+ },
+ {
+ "teal": 2172,
+ "source": 431,
+ "pc": [
+ 3256,
+ 3257
+ ]
+ },
+ {
+ "teal": 2173,
+ "source": 431,
+ "pc": [
+ 3258,
+ 3259
+ ]
+ },
+ {
+ "teal": 2177,
+ "source": 431,
+ "pc": [
+ 3260
+ ]
+ },
+ {
+ "teal": 2178,
+ "source": 431,
+ "pc": [
+ 3261,
+ 3262
+ ]
+ },
+ {
+ "teal": 2181,
+ "source": 431,
+ "pc": [
+ 3263
+ ]
+ },
+ {
+ "teal": 2182,
+ "source": 431,
+ "pc": [
+ 3264,
+ 3265
+ ]
+ },
+ {
+ "teal": 2183,
+ "source": 430,
+ "pc": [
+ 3266
+ ]
+ },
+ {
+ "teal": 2184,
+ "source": 430,
+ "pc": [
+ 3267
+ ]
+ },
+ {
+ "teal": 2185,
+ "source": 430,
+ "pc": [
+ 3268,
+ 3269
+ ]
+ },
+ {
+ "teal": 2186,
+ "source": 430,
+ "pc": [
+ 3270,
+ 3271
+ ]
+ },
+ {
+ "teal": 2187,
+ "source": 430,
+ "pc": [
+ 3272,
+ 3273
+ ]
+ },
+ {
+ "teal": 2192,
+ "source": 430,
+ "pc": [
+ 3274
+ ]
+ },
+ {
+ "teal": 2193,
+ "source": 430,
+ "pc": [
+ 3275,
+ 3276
+ ]
+ },
+ {
+ "teal": 2196,
+ "source": 430,
+ "pc": [
+ 3277
+ ]
+ },
+ {
+ "teal": 2197,
+ "source": 429,
+ "pc": [
+ 3278
+ ]
+ },
+ {
+ "teal": 2202,
+ "source": 435,
+ "pc": [
+ 3279,
+ 3280,
+ 3281
+ ]
+ },
+ {
+ "teal": 2203,
+ "source": 435,
+ "pc": [
+ 3282
+ ]
+ },
+ {
+ "teal": 2204,
+ "source": 435,
+ "pc": [
+ 3283
+ ]
+ },
+ {
+ "teal": 2205,
+ "source": 435,
+ "pc": [
+ 3284,
+ 3285
+ ]
+ },
+ {
+ "teal": 2206,
+ "source": 435,
+ "pc": [
+ 3286
+ ]
+ },
+ {
+ "teal": 2209,
+ "source": 435,
+ "errorMessage": "argument 0 (x) for staticValueLen must be a uint256",
+ "pc": [
+ 3287
+ ]
+ },
+ {
+ "teal": 2212,
+ "source": 435,
+ "pc": [
+ 3288,
+ 3289,
+ 3290
+ ]
+ },
+ {
+ "teal": 2213,
+ "source": 435,
+ "pc": [
+ 3291
+ ]
+ },
+ {
+ "teal": 2214,
+ "source": 435,
+ "pc": [
+ 3292
+ ]
+ },
+ {
+ "teal": 2218,
+ "source": 435,
+ "pc": [
+ 3293,
+ 3294,
+ 3295
+ ]
+ },
+ {
+ "teal": 2222,
+ "source": 436,
+ "pc": [
+ 3296,
+ 3297
+ ]
+ },
+ {
+ "teal": 2223,
+ "source": 436,
+ "pc": [
+ 3298
+ ]
+ },
+ {
+ "teal": 2224,
+ "source": 435,
+ "pc": [
+ 3299
+ ]
+ },
+ {
+ "teal": 2229,
+ "source": 439,
+ "pc": [
+ 3300,
+ 3301,
+ 3302
+ ]
+ },
+ {
+ "teal": 2230,
+ "source": 439,
+ "pc": [
+ 3303
+ ]
+ },
+ {
+ "teal": 2231,
+ "source": 439,
+ "pc": [
+ 3304
+ ]
+ },
+ {
+ "teal": 2235,
+ "source": 439,
+ "pc": [
+ 3305,
+ 3306,
+ 3307
+ ]
+ },
+ {
+ "teal": 2239,
+ "source": 440,
+ "pc": [
+ 3308,
+ 3309
+ ]
+ },
+ {
+ "teal": 2240,
+ "source": 440,
+ "pc": [
+ 3310
+ ]
+ },
+ {
+ "teal": 2241,
+ "source": 439,
+ "pc": [
+ 3311
+ ]
+ },
+ {
+ "teal": 2246,
+ "source": 443,
+ "pc": [
+ 3312,
+ 3313,
+ 3314
+ ]
+ },
+ {
+ "teal": 2247,
+ "source": 443,
+ "pc": [
+ 3315
+ ]
+ },
+ {
+ "teal": 2248,
+ "source": 443,
+ "pc": [
+ 3316
+ ]
+ },
+ {
+ "teal": 2252,
+ "source": 443,
+ "pc": [
+ 3317,
+ 3318,
+ 3319
+ ]
+ },
+ {
+ "teal": 2256,
+ "source": 444,
+ "pc": [
+ 3320
+ ]
+ },
+ {
+ "teal": 2257,
+ "source": 444,
+ "pc": [
+ 3321,
+ 3322
+ ]
+ },
+ {
+ "teal": 2258,
+ "source": 444,
+ "pc": [
+ 3323
+ ]
+ },
+ {
+ "teal": 2262,
+ "source": 445,
+ "pc": [
+ 3324
+ ]
+ },
+ {
+ "teal": 2263,
+ "source": 445,
+ "pc": [
+ 3325
+ ]
+ },
+ {
+ "teal": 2264,
+ "source": 445,
+ "pc": [
+ 3326,
+ 3327
+ ]
+ },
+ {
+ "teal": 2265,
+ "source": 445,
+ "pc": [
+ 3328
+ ]
+ },
+ {
+ "teal": 2266,
+ "source": 445,
+ "pc": [
+ 3329
+ ]
+ },
+ {
+ "teal": 2267,
+ "source": 443,
+ "pc": [
+ 3330
+ ]
+ },
+ {
+ "teal": 2272,
+ "source": 448,
+ "pc": [
+ 3331,
+ 3332,
+ 3333
+ ]
+ },
+ {
+ "teal": 2273,
+ "source": 448,
+ "pc": [
+ 3334
+ ]
+ },
+ {
+ "teal": 2274,
+ "source": 448,
+ "pc": [
+ 3335
+ ]
+ },
+ {
+ "teal": 2278,
+ "source": 448,
+ "pc": [
+ 3336,
+ 3337,
+ 3338
+ ]
+ },
+ {
+ "teal": 2282,
+ "source": 449,
+ "pc": [
+ 3339,
+ 3340
+ ]
+ },
+ {
+ "teal": 2283,
+ "source": 449,
+ "pc": [
+ 3341,
+ 3342
+ ]
+ },
+ {
+ "teal": 2287,
+ "source": 450,
+ "pc": [
+ 3343,
+ 3344
+ ]
+ },
+ {
+ "teal": 2288,
+ "source": 450,
+ "pc": [
+ 3345
+ ]
+ },
+ {
+ "teal": 2289,
+ "source": 450,
+ "pc": [
+ 3346
+ ]
+ },
+ {
+ "teal": 2290,
+ "source": 450,
+ "pc": [
+ 3347,
+ 3348
+ ]
+ },
+ {
+ "teal": 2294,
+ "source": 451,
+ "pc": [
+ 3349,
+ 3350
+ ]
+ },
+ {
+ "teal": 2295,
+ "source": 451,
+ "pc": [
+ 3351,
+ 3352
+ ]
+ },
+ {
+ "teal": 2296,
+ "source": 451,
+ "pc": [
+ 3353
+ ]
+ },
+ {
+ "teal": 2297,
+ "source": 451,
+ "pc": [
+ 3354
+ ]
+ },
+ {
+ "teal": 2298,
+ "source": 448,
+ "pc": [
+ 3355
+ ]
+ },
+ {
+ "teal": 2303,
+ "source": 454,
+ "pc": [
+ 3356,
+ 3357,
+ 3358
+ ]
+ },
+ {
+ "teal": 2304,
+ "source": 454,
+ "pc": [
+ 3359
+ ]
+ },
+ {
+ "teal": 2305,
+ "source": 454,
+ "pc": [
+ 3360
+ ]
+ },
+ {
+ "teal": 2309,
+ "source": 454,
+ "pc": [
+ 3361,
+ 3362,
+ 3363
+ ]
+ },
+ {
+ "teal": 2313,
+ "source": 455,
+ "pc": [
+ 3364
+ ]
+ },
+ {
+ "teal": 2314,
+ "source": 455,
+ "pc": [
+ 3365,
+ 3366
+ ]
+ },
+ {
+ "teal": 2315,
+ "source": 455,
+ "pc": [
+ 3367
+ ]
+ },
+ {
+ "teal": 2319,
+ "source": 456,
+ "pc": [
+ 3368
+ ]
+ },
+ {
+ "teal": 2320,
+ "source": 456,
+ "pc": [
+ 3369
+ ]
+ },
+ {
+ "teal": 2321,
+ "source": 456,
+ "pc": [
+ 3370
+ ]
+ },
+ {
+ "teal": 2322,
+ "source": 456,
+ "pc": [
+ 3371
+ ]
+ },
+ {
+ "teal": 2323,
+ "source": 456,
+ "pc": [
+ 3372
+ ]
+ },
+ {
+ "teal": 2324,
+ "source": 456,
+ "pc": [
+ 3373
+ ]
+ },
+ {
+ "teal": 2325,
+ "source": 456,
+ "pc": [
+ 3374
+ ]
+ },
+ {
+ "teal": 2329,
+ "source": 457,
+ "pc": [
+ 3375
+ ]
+ },
+ {
+ "teal": 2330,
+ "source": 457,
+ "pc": [
+ 3376
+ ]
+ },
+ {
+ "teal": 2331,
+ "source": 457,
+ "pc": [
+ 3377,
+ 3378
+ ]
+ },
+ {
+ "teal": 2332,
+ "source": 457,
+ "pc": [
+ 3379
+ ]
+ },
+ {
+ "teal": 2333,
+ "source": 457,
+ "pc": [
+ 3380
+ ]
+ },
+ {
+ "teal": 2334,
+ "source": 454,
+ "pc": [
+ 3381
+ ]
+ },
+ {
+ "teal": 2339,
+ "source": 460,
+ "pc": [
+ 3382,
+ 3383,
+ 3384
+ ]
+ },
+ {
+ "teal": 2340,
+ "source": 460,
+ "pc": [
+ 3385
+ ]
+ },
+ {
+ "teal": 2341,
+ "source": 460,
+ "pc": [
+ 3386
+ ]
+ },
+ {
+ "teal": 2345,
+ "source": 460,
+ "pc": [
+ 3387,
+ 3388,
+ 3389
+ ]
+ },
+ {
+ "teal": 2348,
+ "source": 460,
+ "pc": [
+ 3390
+ ]
+ },
+ {
+ "teal": 2352,
+ "source": 461,
+ "pc": [
+ 3391,
+ 3392
+ ]
+ },
+ {
+ "teal": 2353,
+ "source": 461,
+ "pc": [
+ 3393,
+ 3394
+ ]
+ },
+ {
+ "teal": 2357,
+ "source": 462,
+ "pc": [
+ 3395,
+ 3396
+ ]
+ },
+ {
+ "teal": 2358,
+ "source": 462,
+ "pc": [
+ 3397,
+ 3398
+ ]
+ },
+ {
+ "teal": 2359,
+ "source": 462,
+ "pc": [
+ 3399
+ ]
+ },
+ {
+ "teal": 2360,
+ "source": 462,
+ "pc": [
+ 3400
+ ]
+ },
+ {
+ "teal": 2361,
+ "source": 460,
+ "pc": [
+ 3401
+ ]
+ },
+ {
+ "teal": 2366,
+ "source": 465,
+ "pc": [
+ 3402
+ ]
+ },
+ {
+ "teal": 2369,
+ "source": 465,
+ "pc": [
+ 3403,
+ 3404,
+ 3405
+ ]
+ },
+ {
+ "teal": 2370,
+ "source": 465,
+ "pc": [
+ 3406
+ ]
+ },
+ {
+ "teal": 2373,
+ "source": 465,
+ "pc": [
+ 3407,
+ 3408,
+ 3409
+ ]
+ },
+ {
+ "teal": 2374,
+ "source": 465,
+ "pc": [
+ 3410
+ ]
+ },
+ {
+ "teal": 2375,
+ "source": 465,
+ "pc": [
+ 3411
+ ]
+ },
+ {
+ "teal": 2376,
+ "source": 465,
+ "pc": [
+ 3412
+ ]
+ },
+ {
+ "teal": 2377,
+ "source": 465,
+ "pc": [
+ 3413
+ ]
+ },
+ {
+ "teal": 2378,
+ "source": 465,
+ "pc": [
+ 3414
+ ]
+ },
+ {
+ "teal": 2382,
+ "source": 465,
+ "pc": [
+ 3415,
+ 3416,
+ 3417
+ ]
+ },
+ {
+ "teal": 2385,
+ "source": 465,
+ "pc": [
+ 3418
+ ]
+ },
+ {
+ "teal": 2390,
+ "source": 466,
+ "pc": [
+ 3419,
+ 3420
+ ]
+ },
+ {
+ "teal": 2391,
+ "source": 466,
+ "pc": [
+ 3421
+ ]
+ },
+ {
+ "teal": 2392,
+ "source": 466,
+ "pc": [
+ 3422
+ ]
+ },
+ {
+ "teal": 2393,
+ "source": 466,
+ "pc": [
+ 3423,
+ 3424,
+ 3425
+ ]
+ },
+ {
+ "teal": 2398,
+ "source": 467,
+ "pc": [
+ 3426
+ ]
+ },
+ {
+ "teal": 2399,
+ "source": 467,
+ "pc": [
+ 3427,
+ 3428,
+ 3429
+ ]
+ },
+ {
+ "teal": 2404,
+ "source": 469,
+ "pc": [
+ 3430,
+ 3431
+ ]
+ },
+ {
+ "teal": 2405,
+ "source": 469,
+ "pc": [
+ 3432
+ ]
+ },
+ {
+ "teal": 2406,
+ "source": 469,
+ "pc": [
+ 3433
+ ]
+ },
+ {
+ "teal": 2407,
+ "source": 469,
+ "pc": [
+ 3434,
+ 3435
+ ]
+ },
+ {
+ "teal": 2411,
+ "source": 470,
+ "pc": [
+ 3436,
+ 3437
+ ]
+ },
+ {
+ "teal": 2415,
+ "source": 465,
+ "pc": [
+ 3438,
+ 3439
+ ]
+ },
+ {
+ "teal": 2416,
+ "source": 465,
+ "pc": [
+ 3440
+ ]
+ },
+ {
+ "teal": 2421,
+ "source": 473,
+ "pc": [
+ 3441,
+ 3442,
+ 3443
+ ]
+ },
+ {
+ "teal": 2422,
+ "source": 473,
+ "pc": [
+ 3444
+ ]
+ },
+ {
+ "teal": 2423,
+ "source": 473,
+ "pc": [
+ 3445
+ ]
+ },
+ {
+ "teal": 2427,
+ "source": 473,
+ "pc": [
+ 3446,
+ 3447,
+ 3448
+ ]
+ },
+ {
+ "teal": 2434,
+ "source": 474,
+ "pc": [
+ 3449
+ ]
+ },
+ {
+ "teal": 2435,
+ "source": 474,
+ "pc": [
+ 3450
+ ]
+ },
+ {
+ "teal": 2436,
+ "source": 474,
+ "pc": [
+ 3451,
+ 3452
+ ]
+ },
+ {
+ "teal": 2437,
+ "source": 475,
+ "pc": [
+ 3453,
+ 3454,
+ 3455,
+ 3456,
+ 3457,
+ 3458
+ ]
+ },
+ {
+ "teal": 2438,
+ "source": 475,
+ "pc": [
+ 3459,
+ 3460
+ ]
+ },
+ {
+ "teal": 2442,
+ "source": 476,
+ "pc": [
+ 3461
+ ]
+ },
+ {
+ "teal": 2443,
+ "source": 476,
+ "pc": [
+ 3462,
+ 3463
+ ]
+ },
+ {
+ "teal": 2444,
+ "source": 476,
+ "pc": [
+ 3464,
+ 3465,
+ 3466,
+ 3467,
+ 3468,
+ 3469,
+ 3470,
+ 3471,
+ 3472,
+ 3473
+ ]
+ },
+ {
+ "teal": 2445,
+ "source": 476,
+ "pc": [
+ 3474,
+ 3475
+ ]
+ },
+ {
+ "teal": 2448,
+ "source": 474,
+ "pc": [
+ 3476
+ ]
+ },
+ {
+ "teal": 2449,
+ "source": 474,
+ "pc": [
+ 3477,
+ 3478
+ ]
+ },
+ {
+ "teal": 2452,
+ "source": 474,
+ "pc": [
+ 3479
+ ]
+ },
+ {
+ "teal": 2453,
+ "source": 473,
+ "pc": [
+ 3480
+ ]
+ },
+ {
+ "teal": 2458,
+ "source": 484,
+ "pc": [
+ 3481,
+ 3482,
+ 3483
+ ]
+ },
+ {
+ "teal": 2459,
+ "source": 484,
+ "pc": [
+ 3484
+ ]
+ },
+ {
+ "teal": 2460,
+ "source": 484,
+ "pc": [
+ 3485
+ ]
+ },
+ {
+ "teal": 2464,
+ "source": 484,
+ "pc": [
+ 3486,
+ 3487,
+ 3488
+ ]
+ },
+ {
+ "teal": 2471,
+ "source": 485,
+ "pc": [
+ 3489
+ ]
+ },
+ {
+ "teal": 2472,
+ "source": 485,
+ "pc": [
+ 3490
+ ]
+ },
+ {
+ "teal": 2473,
+ "source": 485,
+ "pc": [
+ 3491,
+ 3492
+ ]
+ },
+ {
+ "teal": 2477,
+ "source": 486,
+ "pc": [
+ 3493,
+ 3494
+ ]
+ },
+ {
+ "teal": 2478,
+ "source": 486,
+ "pc": [
+ 3495
+ ]
+ },
+ {
+ "teal": 2481,
+ "source": 486,
+ "errorMessage": "box value does not exist: this.pageOne.value",
+ "pc": [
+ 3496
+ ]
+ },
+ {
+ "teal": 2482,
+ "source": 486,
+ "pc": [
+ 3497,
+ 3498
+ ]
+ },
+ {
+ "teal": 2483,
+ "source": 486,
+ "pc": [
+ 3499,
+ 3500
+ ]
+ },
+ {
+ "teal": 2484,
+ "source": 486,
+ "pc": [
+ 3501
+ ]
+ },
+ {
+ "teal": 2487,
+ "source": 486,
+ "errorMessage": "box value does not exist: this.pageTwo.value",
+ "pc": [
+ 3502
+ ]
+ },
+ {
+ "teal": 2488,
+ "source": 486,
+ "pc": [
+ 3503,
+ 3504
+ ]
+ },
+ {
+ "teal": 2492,
+ "source": 487,
+ "pc": [
+ 3505,
+ 3506
+ ]
+ },
+ {
+ "teal": 2493,
+ "source": 487,
+ "pc": [
+ 3507
+ ]
+ },
+ {
+ "teal": 2496,
+ "source": 487,
+ "errorMessage": "box value does not exist: this.pageOne.value",
+ "pc": [
+ 3508
+ ]
+ },
+ {
+ "teal": 2497,
+ "source": 487,
+ "pc": [
+ 3509,
+ 3510
+ ]
+ },
+ {
+ "teal": 2498,
+ "source": 487,
+ "pc": [
+ 3511,
+ 3512
+ ]
+ },
+ {
+ "teal": 2499,
+ "source": 487,
+ "pc": [
+ 3513
+ ]
+ },
+ {
+ "teal": 2502,
+ "source": 487,
+ "errorMessage": "box value does not exist: this.pageTwo.value",
+ "pc": [
+ 3514
+ ]
+ },
+ {
+ "teal": 2503,
+ "source": 487,
+ "pc": [
+ 3515,
+ 3516
+ ]
+ },
+ {
+ "teal": 2506,
+ "source": 485,
+ "pc": [
+ 3517
+ ]
+ },
+ {
+ "teal": 2507,
+ "source": 485,
+ "pc": [
+ 3518,
+ 3519
+ ]
+ },
+ {
+ "teal": 2510,
+ "source": 485,
+ "pc": [
+ 3520
+ ]
+ },
+ {
+ "teal": 2511,
+ "source": 484,
+ "pc": [
+ 3521
+ ]
+ },
+ {
+ "teal": 2516,
+ "source": 491,
+ "pc": [
+ 3522,
+ 3523,
+ 3524
+ ]
+ },
+ {
+ "teal": 2517,
+ "source": 491,
+ "pc": [
+ 3525
+ ]
+ },
+ {
+ "teal": 2518,
+ "source": 491,
+ "pc": [
+ 3526
+ ]
+ },
+ {
+ "teal": 2522,
+ "source": 491,
+ "pc": [
+ 3527,
+ 3528,
+ 3529
+ ]
+ },
+ {
+ "teal": 2526,
+ "source": 492,
+ "pc": [
+ 3530
+ ]
+ },
+ {
+ "teal": 2529,
+ "source": 492,
+ "errorMessage": "this is false",
+ "pc": [
+ 3531
+ ]
+ },
+ {
+ "teal": 2530,
+ "source": 491,
+ "pc": [
+ 3532
+ ]
+ },
+ {
+ "teal": 2535,
+ "source": 495,
+ "pc": [
+ 3533,
+ 3534,
+ 3535
+ ]
+ },
+ {
+ "teal": 2536,
+ "source": 495,
+ "pc": [
+ 3536
+ ]
+ },
+ {
+ "teal": 2537,
+ "source": 495,
+ "pc": [
+ 3537
+ ]
+ },
+ {
+ "teal": 2541,
+ "source": 495,
+ "pc": [
+ 3538,
+ 3539,
+ 3540
+ ]
+ },
+ {
+ "teal": 2544,
+ "source": 496,
+ "errorMessage": "this is an error",
+ "pc": [
+ 3541
+ ]
+ },
+ {
+ "teal": 2545,
+ "source": 495,
+ "pc": [
+ 3542
+ ]
+ },
+ {
+ "teal": 2550,
+ "source": 499,
+ "pc": [
+ 3543,
+ 3544,
+ 3545
+ ]
+ },
+ {
+ "teal": 2551,
+ "source": 499,
+ "pc": [
+ 3546
+ ]
+ },
+ {
+ "teal": 2554,
+ "source": 499,
+ "pc": [
+ 3547,
+ 3548,
+ 3549
+ ]
+ },
+ {
+ "teal": 2555,
+ "source": 499,
+ "pc": [
+ 3550
+ ]
+ },
+ {
+ "teal": 2558,
+ "source": 499,
+ "pc": [
+ 3551,
+ 3552,
+ 3553
+ ]
+ },
+ {
+ "teal": 2559,
+ "source": 499,
+ "pc": [
+ 3554
+ ]
+ },
+ {
+ "teal": 2560,
+ "source": 499,
+ "pc": [
+ 3555
+ ]
+ },
+ {
+ "teal": 2564,
+ "source": 499,
+ "pc": [
+ 3556,
+ 3557,
+ 3558
+ ]
+ },
+ {
+ "teal": 2567,
+ "source": 499,
+ "pc": [
+ 3559
+ ]
+ },
+ {
+ "teal": 2568,
+ "source": 499,
+ "pc": [
+ 3560
+ ]
+ },
+ {
+ "teal": 2572,
+ "source": 500,
+ "pc": [
+ 3561,
+ 3562
+ ]
+ },
+ {
+ "teal": 2573,
+ "source": 500,
+ "pc": [
+ 3563
+ ]
+ },
+ {
+ "teal": 2574,
+ "source": 500,
+ "pc": [
+ 3564,
+ 3565,
+ 3566
+ ]
+ },
+ {
+ "teal": 2575,
+ "source": 500,
+ "pc": [
+ 3567,
+ 3568
+ ]
+ },
+ {
+ "teal": 2576,
+ "source": 500,
+ "pc": [
+ 3569
+ ]
+ },
+ {
+ "teal": 2577,
+ "source": 500,
+ "pc": [
+ 3570
+ ]
+ },
+ {
+ "teal": 2578,
+ "source": 500,
+ "pc": [
+ 3571
+ ]
+ },
+ {
+ "teal": 2581,
+ "source": 500,
+ "pc": [
+ 3572,
+ 3573,
+ 3574
+ ]
+ },
+ {
+ "teal": 2582,
+ "source": 500,
+ "pc": [
+ 3575
+ ]
+ },
+ {
+ "teal": 2583,
+ "source": 500,
+ "pc": [
+ 3576,
+ 3577,
+ 3578
+ ]
+ },
+ {
+ "teal": 2586,
+ "source": 500,
+ "pc": [
+ 3579
+ ]
+ },
+ {
+ "teal": 2589,
+ "source": 500,
+ "pc": [
+ 3580,
+ 3581
+ ]
+ },
+ {
+ "teal": 2593,
+ "source": 501,
+ "pc": [
+ 3582,
+ 3583
+ ]
+ },
+ {
+ "teal": 2594,
+ "source": 501,
+ "pc": [
+ 3584
+ ]
+ },
+ {
+ "teal": 2598,
+ "source": 503,
+ "pc": [
+ 3585,
+ 3586
+ ]
+ },
+ {
+ "teal": 2599,
+ "source": 503,
+ "pc": [
+ 3587
+ ]
+ },
+ {
+ "teal": 2600,
+ "source": 503,
+ "pc": [
+ 3588,
+ 3589,
+ 3590
+ ]
+ },
+ {
+ "teal": 2601,
+ "source": 503,
+ "pc": [
+ 3591,
+ 3592
+ ]
+ },
+ {
+ "teal": 2602,
+ "source": 503,
+ "pc": [
+ 3593
+ ]
+ },
+ {
+ "teal": 2603,
+ "source": 503,
+ "pc": [
+ 3594
+ ]
+ },
+ {
+ "teal": 2604,
+ "source": 503,
+ "pc": [
+ 3595
+ ]
+ },
+ {
+ "teal": 2607,
+ "source": 503,
+ "pc": [
+ 3596,
+ 3597,
+ 3598
+ ]
+ },
+ {
+ "teal": 2608,
+ "source": 503,
+ "pc": [
+ 3599,
+ 3600,
+ 3601
+ ]
+ },
+ {
+ "teal": 2609,
+ "source": 503,
+ "pc": [
+ 3602,
+ 3603,
+ 3604
+ ]
+ },
+ {
+ "teal": 2612,
+ "source": 503,
+ "pc": [
+ 3605,
+ 3606
+ ]
+ },
+ {
+ "teal": 2615,
+ "source": 503,
+ "pc": [
+ 3607,
+ 3608
+ ]
+ },
+ {
+ "teal": 2619,
+ "source": 504,
+ "pc": [
+ 3609,
+ 3610
+ ]
+ },
+ {
+ "teal": 2620,
+ "source": 504,
+ "pc": [
+ 3611
+ ]
+ },
+ {
+ "teal": 2621,
+ "source": 499,
+ "pc": [
+ 3612
+ ]
+ },
+ {
+ "teal": 2625,
+ "source": 507,
+ "pc": [
+ 3613,
+ 3614,
+ 3615
+ ]
+ },
+ {
+ "teal": 2628,
+ "source": 507,
+ "pc": [
+ 3616
+ ]
+ },
+ {
+ "teal": 2632,
+ "source": 509,
+ "pc": [
+ 3617,
+ 3618
+ ]
+ },
+ {
+ "teal": 2633,
+ "source": 509,
+ "pc": [
+ 3619
+ ]
+ },
+ {
+ "teal": 2637,
+ "source": 511,
+ "pc": [
+ 3620
+ ]
+ },
+ {
+ "teal": 2638,
+ "source": 511,
+ "pc": [
+ 3621,
+ 3622
+ ]
+ },
+ {
+ "teal": 2643,
+ "source": 511,
+ "pc": [
+ 3623,
+ 3624
+ ]
+ },
+ {
+ "teal": 2644,
+ "source": 511,
+ "pc": [
+ 3625,
+ 3626
+ ]
+ },
+ {
+ "teal": 2645,
+ "source": 511,
+ "pc": [
+ 3627
+ ]
+ },
+ {
+ "teal": 2646,
+ "source": 511,
+ "pc": [
+ 3628,
+ 3629,
+ 3630
+ ]
+ },
+ {
+ "teal": 2650,
+ "source": 512,
+ "pc": [
+ 3631,
+ 3632
+ ]
+ },
+ {
+ "teal": 2651,
+ "source": 512,
+ "pc": [
+ 3633,
+ 3634
+ ]
+ },
+ {
+ "teal": 2652,
+ "source": 512,
+ "pc": [
+ 3635
+ ]
+ },
+ {
+ "teal": 2657,
+ "source": 511,
+ "pc": [
+ 3636,
+ 3637
+ ]
+ },
+ {
+ "teal": 2658,
+ "source": 511,
+ "pc": [
+ 3638
+ ]
+ },
+ {
+ "teal": 2659,
+ "source": 511,
+ "pc": [
+ 3639
+ ]
+ },
+ {
+ "teal": 2660,
+ "source": 511,
+ "pc": [
+ 3640,
+ 3641
+ ]
+ },
+ {
+ "teal": 2661,
+ "source": 511,
+ "pc": [
+ 3642,
+ 3643,
+ 3644
+ ]
+ },
+ {
+ "teal": 2664,
+ "source": 507,
+ "pc": [
+ 3645
+ ]
+ },
+ {
+ "teal": 2669,
+ "source": 516,
+ "pc": [
+ 3646,
+ 3647,
+ 3648
+ ]
+ },
+ {
+ "teal": 2670,
+ "source": 516,
+ "pc": [
+ 3649
+ ]
+ },
+ {
+ "teal": 2671,
+ "source": 516,
+ "pc": [
+ 3650
+ ]
+ },
+ {
+ "teal": 2675,
+ "source": 516,
+ "pc": [
+ 3651,
+ 3652,
+ 3653
+ ]
+ },
+ {
+ "teal": 2678,
+ "source": 516,
+ "pc": [
+ 3654
+ ]
+ },
+ {
+ "teal": 2679,
+ "source": 516,
+ "pc": [
+ 3655
+ ]
+ },
+ {
+ "teal": 2683,
+ "source": 517,
+ "pc": [
+ 3656
+ ]
+ },
+ {
+ "teal": 2684,
+ "source": 517,
+ "pc": [
+ 3657,
+ 3658
+ ]
+ },
+ {
+ "teal": 2688,
+ "source": 518,
+ "pc": [
+ 3659,
+ 3660
+ ]
+ },
+ {
+ "teal": 2689,
+ "source": 518,
+ "pc": [
+ 3661,
+ 3662
+ ]
+ },
+ {
+ "teal": 2696,
+ "source": 520,
+ "pc": [
+ 3663,
+ 3664
+ ]
+ },
+ {
+ "teal": 2697,
+ "source": 520,
+ "pc": [
+ 3665
+ ]
+ },
+ {
+ "teal": 2698,
+ "source": 520,
+ "pc": [
+ 3666,
+ 3667,
+ 3668,
+ 3669,
+ 3670
+ ]
+ },
+ {
+ "teal": 2699,
+ "source": 520,
+ "pc": [
+ 3671
+ ]
+ },
+ {
+ "teal": 2702,
+ "source": 520,
+ "errorMessage": "local state value does not exist: app.localState( addr, 'key' )",
+ "pc": [
+ 3672
+ ]
+ },
+ {
+ "teal": 2703,
+ "source": 516,
+ "pc": [
+ 3673
+ ]
+ },
+ {
+ "teal": 2708,
+ "source": 526,
+ "pc": [
+ 3674
+ ]
+ },
+ {
+ "teal": 2711,
+ "source": 526,
+ "pc": [
+ 3675,
+ 3676,
+ 3677
+ ]
+ },
+ {
+ "teal": 2712,
+ "source": 526,
+ "pc": [
+ 3678
+ ]
+ },
+ {
+ "teal": 2713,
+ "source": 526,
+ "pc": [
+ 3679
+ ]
+ },
+ {
+ "teal": 2714,
+ "source": 526,
+ "pc": [
+ 3680
+ ]
+ },
+ {
+ "teal": 2715,
+ "source": 526,
+ "pc": [
+ 3681
+ ]
+ },
+ {
+ "teal": 2716,
+ "source": 526,
+ "pc": [
+ 3682
+ ]
+ },
+ {
+ "teal": 2720,
+ "source": 526,
+ "pc": [
+ 3683,
+ 3684,
+ 3685
+ ]
+ },
+ {
+ "teal": 2724,
+ "source": 527,
+ "pc": [
+ 3686,
+ 3687
+ ]
+ },
+ {
+ "teal": 2725,
+ "source": 526,
+ "pc": [
+ 3688
+ ]
+ },
+ {
+ "teal": 2730,
+ "source": 530,
+ "pc": [
+ 3689
+ ]
+ },
+ {
+ "teal": 2733,
+ "source": 530,
+ "pc": [
+ 3690,
+ 3691,
+ 3692
+ ]
+ },
+ {
+ "teal": 2734,
+ "source": 530,
+ "pc": [
+ 3693
+ ]
+ },
+ {
+ "teal": 2735,
+ "source": 530,
+ "pc": [
+ 3694
+ ]
+ },
+ {
+ "teal": 2736,
+ "source": 530,
+ "pc": [
+ 3695
+ ]
+ },
+ {
+ "teal": 2737,
+ "source": 530,
+ "pc": [
+ 3696
+ ]
+ },
+ {
+ "teal": 2738,
+ "source": 530,
+ "pc": [
+ 3697
+ ]
+ },
+ {
+ "teal": 2742,
+ "source": 530,
+ "pc": [
+ 3698,
+ 3699,
+ 3700
+ ]
+ },
+ {
+ "teal": 2746,
+ "source": 531,
+ "pc": [
+ 3701,
+ 3702
+ ]
+ },
+ {
+ "teal": 2747,
+ "source": 530,
+ "pc": [
+ 3703
+ ]
+ },
+ {
+ "teal": 2752,
+ "source": 534,
+ "pc": [
+ 3704
+ ]
+ },
+ {
+ "teal": 2755,
+ "source": 534,
+ "pc": [
+ 3705,
+ 3706,
+ 3707
+ ]
+ },
+ {
+ "teal": 2756,
+ "source": 534,
+ "pc": [
+ 3708
+ ]
+ },
+ {
+ "teal": 2757,
+ "source": 534,
+ "pc": [
+ 3709
+ ]
+ },
+ {
+ "teal": 2758,
+ "source": 534,
+ "pc": [
+ 3710
+ ]
+ },
+ {
+ "teal": 2759,
+ "source": 534,
+ "pc": [
+ 3711
+ ]
+ },
+ {
+ "teal": 2760,
+ "source": 534,
+ "pc": [
+ 3712
+ ]
+ },
+ {
+ "teal": 2764,
+ "source": 534,
+ "pc": [
+ 3713,
+ 3714,
+ 3715
+ ]
+ },
+ {
+ "teal": 2768,
+ "source": 535,
+ "pc": [
+ 3716,
+ 3717,
+ 3718
+ ]
+ },
+ {
+ "teal": 2769,
+ "source": 535,
+ "pc": [
+ 3719
+ ]
+ },
+ {
+ "teal": 2773,
+ "source": 536,
+ "pc": [
+ 3720,
+ 3721,
+ 3722
+ ]
+ },
+ {
+ "teal": 2774,
+ "source": 534,
+ "pc": [
+ 3723
+ ]
+ },
+ {
+ "teal": 2779,
+ "source": 546,
+ "pc": [
+ 3724
+ ]
+ },
+ {
+ "teal": 2782,
+ "source": 546,
+ "pc": [
+ 3725,
+ 3726,
+ 3727
+ ]
+ },
+ {
+ "teal": 2783,
+ "source": 546,
+ "pc": [
+ 3728
+ ]
+ },
+ {
+ "teal": 2784,
+ "source": 546,
+ "pc": [
+ 3729
+ ]
+ },
+ {
+ "teal": 2785,
+ "source": 546,
+ "pc": [
+ 3730
+ ]
+ },
+ {
+ "teal": 2786,
+ "source": 546,
+ "pc": [
+ 3731
+ ]
+ },
+ {
+ "teal": 2787,
+ "source": 546,
+ "pc": [
+ 3732
+ ]
+ },
+ {
+ "teal": 2791,
+ "source": 546,
+ "pc": [
+ 3733,
+ 3734,
+ 3735
+ ]
+ },
+ {
+ "teal": 2794,
+ "source": 546,
+ "pc": [
+ 3736
+ ]
+ },
+ {
+ "teal": 2795,
+ "source": 546,
+ "pc": [
+ 3737
+ ]
+ },
+ {
+ "teal": 2799,
+ "source": 547,
+ "pc": [
+ 3738
+ ]
+ },
+ {
+ "teal": 2800,
+ "source": 547,
+ "pc": [
+ 3739,
+ 3740
+ ]
+ },
+ {
+ "teal": 2804,
+ "source": 548,
+ "pc": [
+ 3741,
+ 3742,
+ 3743
+ ]
+ },
+ {
+ "teal": 2805,
+ "source": 548,
+ "pc": [
+ 3744,
+ 3745
+ ]
+ },
+ {
+ "teal": 2810,
+ "source": 549,
+ "pc": [
+ 3746,
+ 3747
+ ]
+ },
+ {
+ "teal": 2811,
+ "source": 549,
+ "pc": [
+ 3748,
+ 3749,
+ 3750
+ ]
+ },
+ {
+ "teal": 2816,
+ "source": 550,
+ "pc": [
+ 3751
+ ]
+ },
+ {
+ "teal": 2817,
+ "source": 550,
+ "pc": [
+ 3752,
+ 3753
+ ]
+ },
+ {
+ "teal": 2822,
+ "source": 553,
+ "pc": [
+ 3754,
+ 3755
+ ]
+ },
+ {
+ "teal": 2825,
+ "source": 546,
+ "pc": [
+ 3756,
+ 3757
+ ]
+ },
+ {
+ "teal": 2828,
+ "source": 546,
+ "pc": [
+ 3758,
+ 3759
+ ]
+ },
+ {
+ "teal": 2829,
+ "source": 546,
+ "pc": [
+ 3760
+ ]
+ },
+ {
+ "teal": 2834,
+ "source": 556,
+ "pc": [
+ 3761,
+ 3762,
+ 3763
+ ]
+ },
+ {
+ "teal": 2835,
+ "source": 556,
+ "pc": [
+ 3764
+ ]
+ },
+ {
+ "teal": 2836,
+ "source": 556,
+ "pc": [
+ 3765
+ ]
+ },
+ {
+ "teal": 2840,
+ "source": 556,
+ "pc": [
+ 3766,
+ 3767,
+ 3768
+ ]
+ },
+ {
+ "teal": 2844,
+ "source": 557,
+ "pc": [
+ 3769,
+ 3770
+ ]
+ },
+ {
+ "teal": 2845,
+ "source": 557,
+ "pc": [
+ 3771
+ ]
+ },
+ {
+ "teal": 2849,
+ "source": 558,
+ "pc": [
+ 3772,
+ 3773
+ ]
+ },
+ {
+ "teal": 2850,
+ "source": 558,
+ "pc": [
+ 3774
+ ]
+ },
+ {
+ "teal": 2851,
+ "source": 556,
+ "pc": [
+ 3775
+ ]
+ },
+ {
+ "teal": 2854,
+ "source": 49,
+ "pc": [
+ 3776
+ ]
+ },
+ {
+ "teal": 2855,
+ "source": 49,
+ "pc": [
+ 3777
+ ]
+ },
+ {
+ "teal": 2858,
+ "source": 49,
+ "pc": [
+ 3778,
+ 3779,
+ 3780,
+ 3781,
+ 3782,
+ 3783
+ ]
+ },
+ {
+ "teal": 2859,
+ "source": 49,
+ "pc": [
+ 3784,
+ 3785,
+ 3786
+ ]
+ },
+ {
+ "teal": 2860,
+ "source": 49,
+ "pc": [
+ 3787,
+ 3788,
+ 3789,
+ 3790
+ ]
+ },
+ {
+ "teal": 2863,
+ "source": 49,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 3791
+ ]
+ },
+ {
+ "teal": 2866,
+ "source": 49,
+ "pc": [
+ 3792,
+ 3793,
+ 3794,
+ 3795,
+ 3796,
+ 3797
+ ]
+ },
+ {
+ "teal": 2867,
+ "source": 49,
+ "pc": [
+ 3798,
+ 3799,
+ 3800,
+ 3801,
+ 3802,
+ 3803
+ ]
+ },
+ {
+ "teal": 2868,
+ "source": 49,
+ "pc": [
+ 3804,
+ 3805,
+ 3806,
+ 3807,
+ 3808,
+ 3809
+ ]
+ },
+ {
+ "teal": 2869,
+ "source": 49,
+ "pc": [
+ 3810,
+ 3811,
+ 3812,
+ 3813,
+ 3814,
+ 3815
+ ]
+ },
+ {
+ "teal": 2870,
+ "source": 49,
+ "pc": [
+ 3816,
+ 3817,
+ 3818,
+ 3819,
+ 3820,
+ 3821
+ ]
+ },
+ {
+ "teal": 2871,
+ "source": 49,
+ "pc": [
+ 3822,
+ 3823,
+ 3824,
+ 3825,
+ 3826,
+ 3827
+ ]
+ },
+ {
+ "teal": 2872,
+ "source": 49,
+ "pc": [
+ 3828,
+ 3829,
+ 3830,
+ 3831,
+ 3832,
+ 3833
+ ]
+ },
+ {
+ "teal": 2873,
+ "source": 49,
+ "pc": [
+ 3834,
+ 3835,
+ 3836,
+ 3837,
+ 3838,
+ 3839
+ ]
+ },
+ {
+ "teal": 2874,
+ "source": 49,
+ "pc": [
+ 3840,
+ 3841,
+ 3842,
+ 3843,
+ 3844,
+ 3845
+ ]
+ },
+ {
+ "teal": 2875,
+ "source": 49,
+ "pc": [
+ 3846,
+ 3847,
+ 3848,
+ 3849,
+ 3850,
+ 3851
+ ]
+ },
+ {
+ "teal": 2876,
+ "source": 49,
+ "pc": [
+ 3852,
+ 3853,
+ 3854,
+ 3855,
+ 3856,
+ 3857
+ ]
+ },
+ {
+ "teal": 2877,
+ "source": 49,
+ "pc": [
+ 3858,
+ 3859,
+ 3860,
+ 3861,
+ 3862,
+ 3863
+ ]
+ },
+ {
+ "teal": 2878,
+ "source": 49,
+ "pc": [
+ 3864,
+ 3865,
+ 3866,
+ 3867,
+ 3868,
+ 3869
+ ]
+ },
+ {
+ "teal": 2879,
+ "source": 49,
+ "pc": [
+ 3870,
+ 3871,
+ 3872,
+ 3873,
+ 3874,
+ 3875
+ ]
+ },
+ {
+ "teal": 2880,
+ "source": 49,
+ "pc": [
+ 3876,
+ 3877,
+ 3878,
+ 3879,
+ 3880,
+ 3881
+ ]
+ },
+ {
+ "teal": 2881,
+ "source": 49,
+ "pc": [
+ 3882,
+ 3883,
+ 3884,
+ 3885,
+ 3886,
+ 3887
+ ]
+ },
+ {
+ "teal": 2882,
+ "source": 49,
+ "pc": [
+ 3888,
+ 3889,
+ 3890,
+ 3891,
+ 3892,
+ 3893
+ ]
+ },
+ {
+ "teal": 2883,
+ "source": 49,
+ "pc": [
+ 3894,
+ 3895,
+ 3896,
+ 3897,
+ 3898,
+ 3899
+ ]
+ },
+ {
+ "teal": 2884,
+ "source": 49,
+ "pc": [
+ 3900,
+ 3901,
+ 3902,
+ 3903,
+ 3904,
+ 3905
+ ]
+ },
+ {
+ "teal": 2885,
+ "source": 49,
+ "pc": [
+ 3906,
+ 3907,
+ 3908,
+ 3909,
+ 3910,
+ 3911
+ ]
+ },
+ {
+ "teal": 2886,
+ "source": 49,
+ "pc": [
+ 3912,
+ 3913,
+ 3914,
+ 3915,
+ 3916,
+ 3917
+ ]
+ },
+ {
+ "teal": 2887,
+ "source": 49,
+ "pc": [
+ 3918,
+ 3919,
+ 3920,
+ 3921,
+ 3922,
+ 3923
+ ]
+ },
+ {
+ "teal": 2888,
+ "source": 49,
+ "pc": [
+ 3924,
+ 3925,
+ 3926,
+ 3927,
+ 3928,
+ 3929
+ ]
+ },
+ {
+ "teal": 2889,
+ "source": 49,
+ "pc": [
+ 3930,
+ 3931,
+ 3932,
+ 3933,
+ 3934,
+ 3935
+ ]
+ },
+ {
+ "teal": 2890,
+ "source": 49,
+ "pc": [
+ 3936,
+ 3937,
+ 3938,
+ 3939,
+ 3940,
+ 3941
+ ]
+ },
+ {
+ "teal": 2891,
+ "source": 49,
+ "pc": [
+ 3942,
+ 3943,
+ 3944,
+ 3945,
+ 3946,
+ 3947
+ ]
+ },
+ {
+ "teal": 2892,
+ "source": 49,
+ "pc": [
+ 3948,
+ 3949,
+ 3950,
+ 3951,
+ 3952,
+ 3953
+ ]
+ },
+ {
+ "teal": 2893,
+ "source": 49,
+ "pc": [
+ 3954,
+ 3955,
+ 3956,
+ 3957,
+ 3958,
+ 3959
+ ]
+ },
+ {
+ "teal": 2894,
+ "source": 49,
+ "pc": [
+ 3960,
+ 3961,
+ 3962,
+ 3963,
+ 3964,
+ 3965
+ ]
+ },
+ {
+ "teal": 2895,
+ "source": 49,
+ "pc": [
+ 3966,
+ 3967,
+ 3968,
+ 3969,
+ 3970,
+ 3971
+ ]
+ },
+ {
+ "teal": 2896,
+ "source": 49,
+ "pc": [
+ 3972,
+ 3973,
+ 3974,
+ 3975,
+ 3976,
+ 3977
+ ]
+ },
+ {
+ "teal": 2897,
+ "source": 49,
+ "pc": [
+ 3978,
+ 3979,
+ 3980,
+ 3981,
+ 3982,
+ 3983
+ ]
+ },
+ {
+ "teal": 2898,
+ "source": 49,
+ "pc": [
+ 3984,
+ 3985,
+ 3986,
+ 3987,
+ 3988,
+ 3989
+ ]
+ },
+ {
+ "teal": 2899,
+ "source": 49,
+ "pc": [
+ 3990,
+ 3991,
+ 3992,
+ 3993,
+ 3994,
+ 3995
+ ]
+ },
+ {
+ "teal": 2900,
+ "source": 49,
+ "pc": [
+ 3996,
+ 3997,
+ 3998,
+ 3999,
+ 4000,
+ 4001
+ ]
+ },
+ {
+ "teal": 2901,
+ "source": 49,
+ "pc": [
+ 4002,
+ 4003,
+ 4004,
+ 4005,
+ 4006,
+ 4007
+ ]
+ },
+ {
+ "teal": 2902,
+ "source": 49,
+ "pc": [
+ 4008,
+ 4009,
+ 4010,
+ 4011,
+ 4012,
+ 4013
+ ]
+ },
+ {
+ "teal": 2903,
+ "source": 49,
+ "pc": [
+ 4014,
+ 4015,
+ 4016,
+ 4017,
+ 4018,
+ 4019
+ ]
+ },
+ {
+ "teal": 2904,
+ "source": 49,
+ "pc": [
+ 4020,
+ 4021,
+ 4022,
+ 4023,
+ 4024,
+ 4025
+ ]
+ },
+ {
+ "teal": 2905,
+ "source": 49,
+ "pc": [
+ 4026,
+ 4027,
+ 4028,
+ 4029,
+ 4030,
+ 4031
+ ]
+ },
+ {
+ "teal": 2906,
+ "source": 49,
+ "pc": [
+ 4032,
+ 4033,
+ 4034,
+ 4035,
+ 4036,
+ 4037
+ ]
+ },
+ {
+ "teal": 2907,
+ "source": 49,
+ "pc": [
+ 4038,
+ 4039,
+ 4040,
+ 4041,
+ 4042,
+ 4043
+ ]
+ },
+ {
+ "teal": 2908,
+ "source": 49,
+ "pc": [
+ 4044,
+ 4045,
+ 4046,
+ 4047,
+ 4048,
+ 4049
+ ]
+ },
+ {
+ "teal": 2909,
+ "source": 49,
+ "pc": [
+ 4050,
+ 4051,
+ 4052,
+ 4053,
+ 4054,
+ 4055
+ ]
+ },
+ {
+ "teal": 2910,
+ "source": 49,
+ "pc": [
+ 4056,
+ 4057,
+ 4058,
+ 4059,
+ 4060,
+ 4061
+ ]
+ },
+ {
+ "teal": 2911,
+ "source": 49,
+ "pc": [
+ 4062,
+ 4063,
+ 4064,
+ 4065,
+ 4066,
+ 4067
+ ]
+ },
+ {
+ "teal": 2912,
+ "source": 49,
+ "pc": [
+ 4068,
+ 4069,
+ 4070,
+ 4071,
+ 4072,
+ 4073
+ ]
+ },
+ {
+ "teal": 2913,
+ "source": 49,
+ "pc": [
+ 4074,
+ 4075,
+ 4076,
+ 4077,
+ 4078,
+ 4079
+ ]
+ },
+ {
+ "teal": 2914,
+ "source": 49,
+ "pc": [
+ 4080,
+ 4081,
+ 4082,
+ 4083,
+ 4084,
+ 4085
+ ]
+ },
+ {
+ "teal": 2915,
+ "source": 49,
+ "pc": [
+ 4086,
+ 4087,
+ 4088,
+ 4089,
+ 4090,
+ 4091
+ ]
+ },
+ {
+ "teal": 2916,
+ "source": 49,
+ "pc": [
+ 4092,
+ 4093,
+ 4094,
+ 4095,
+ 4096,
+ 4097
+ ]
+ },
+ {
+ "teal": 2917,
+ "source": 49,
+ "pc": [
+ 4098,
+ 4099,
+ 4100,
+ 4101,
+ 4102,
+ 4103
+ ]
+ },
+ {
+ "teal": 2918,
+ "source": 49,
+ "pc": [
+ 4104,
+ 4105,
+ 4106,
+ 4107,
+ 4108,
+ 4109
+ ]
+ },
+ {
+ "teal": 2919,
+ "source": 49,
+ "pc": [
+ 4110,
+ 4111,
+ 4112,
+ 4113,
+ 4114,
+ 4115
+ ]
+ },
+ {
+ "teal": 2920,
+ "source": 49,
+ "pc": [
+ 4116,
+ 4117
+ ]
+ },
+ {
+ "teal": 2921,
+ "source": 49,
+ "pc": [
+ 4118,
+ 4119,
+ 4120,
+ 4121,
+ 4122,
+ 4123
+ ]
+ },
+ {
+ "teal": 2922,
+ "source": 49,
+ "pc": [
+ 4124,
+ 4125,
+ 4126,
+ 4127,
+ 4128,
+ 4129
+ ]
+ },
+ {
+ "teal": 2923,
+ "source": 49,
+ "pc": [
+ 4130,
+ 4131,
+ 4132,
+ 4133,
+ 4134,
+ 4135
+ ]
+ },
+ {
+ "teal": 2924,
+ "source": 49,
+ "pc": [
+ 4136,
+ 4137,
+ 4138,
+ 4139,
+ 4140,
+ 4141
+ ]
+ },
+ {
+ "teal": 2925,
+ "source": 49,
+ "pc": [
+ 4142,
+ 4143,
+ 4144,
+ 4145,
+ 4146,
+ 4147
+ ]
+ },
+ {
+ "teal": 2926,
+ "source": 49,
+ "pc": [
+ 4148,
+ 4149,
+ 4150,
+ 4151,
+ 4152,
+ 4153
+ ]
+ },
+ {
+ "teal": 2927,
+ "source": 49,
+ "pc": [
+ 4154,
+ 4155,
+ 4156,
+ 4157,
+ 4158,
+ 4159
+ ]
+ },
+ {
+ "teal": 2928,
+ "source": 49,
+ "pc": [
+ 4160,
+ 4161,
+ 4162,
+ 4163,
+ 4164,
+ 4165
+ ]
+ },
+ {
+ "teal": 2929,
+ "source": 49,
+ "pc": [
+ 4166,
+ 4167,
+ 4168,
+ 4169,
+ 4170,
+ 4171
+ ]
+ },
+ {
+ "teal": 2930,
+ "source": 49,
+ "pc": [
+ 4172,
+ 4173,
+ 4174,
+ 4175,
+ 4176,
+ 4177
+ ]
+ },
+ {
+ "teal": 2931,
+ "source": 49,
+ "pc": [
+ 4178,
+ 4179,
+ 4180,
+ 4181,
+ 4182,
+ 4183
+ ]
+ },
+ {
+ "teal": 2932,
+ "source": 49,
+ "pc": [
+ 4184,
+ 4185,
+ 4186,
+ 4187,
+ 4188,
+ 4189
+ ]
+ },
+ {
+ "teal": 2933,
+ "source": 49,
+ "pc": [
+ 4190,
+ 4191,
+ 4192,
+ 4193,
+ 4194,
+ 4195
+ ]
+ },
+ {
+ "teal": 2934,
+ "source": 49,
+ "pc": [
+ 4196,
+ 4197,
+ 4198,
+ 4199,
+ 4200,
+ 4201
+ ]
+ },
+ {
+ "teal": 2935,
+ "source": 49,
+ "pc": [
+ 4202,
+ 4203,
+ 4204,
+ 4205,
+ 4206,
+ 4207
+ ]
+ },
+ {
+ "teal": 2936,
+ "source": 49,
+ "pc": [
+ 4208,
+ 4209,
+ 4210,
+ 4211,
+ 4212,
+ 4213
+ ]
+ },
+ {
+ "teal": 2937,
+ "source": 49,
+ "pc": [
+ 4214,
+ 4215,
+ 4216,
+ 4217,
+ 4218,
+ 4219
+ ]
+ },
+ {
+ "teal": 2938,
+ "source": 49,
+ "pc": [
+ 4220,
+ 4221,
+ 4222,
+ 4223,
+ 4224,
+ 4225
+ ]
+ },
+ {
+ "teal": 2939,
+ "source": 49,
+ "pc": [
+ 4226,
+ 4227,
+ 4228,
+ 4229,
+ 4230,
+ 4231
+ ]
+ },
+ {
+ "teal": 2940,
+ "source": 49,
+ "pc": [
+ 4232,
+ 4233,
+ 4234
+ ]
+ },
+ {
+ "teal": 2941,
+ "source": 49,
+ "pc": [
+ 4235,
+ 4236,
+ 4237,
+ 4238,
+ 4239,
+ 4240,
+ 4241,
+ 4242,
+ 4243,
+ 4244,
+ 4245,
+ 4246,
+ 4247,
+ 4248,
+ 4249,
+ 4250,
+ 4251,
+ 4252,
+ 4253,
+ 4254,
+ 4255,
+ 4256,
+ 4257,
+ 4258,
+ 4259,
+ 4260,
+ 4261,
+ 4262,
+ 4263,
+ 4264,
+ 4265,
+ 4266,
+ 4267,
+ 4268,
+ 4269,
+ 4270,
+ 4271,
+ 4272,
+ 4273,
+ 4274,
+ 4275,
+ 4276,
+ 4277,
+ 4278,
+ 4279,
+ 4280,
+ 4281,
+ 4282,
+ 4283,
+ 4284,
+ 4285,
+ 4286,
+ 4287,
+ 4288,
+ 4289,
+ 4290,
+ 4291,
+ 4292,
+ 4293,
+ 4294,
+ 4295,
+ 4296,
+ 4297,
+ 4298,
+ 4299,
+ 4300,
+ 4301,
+ 4302,
+ 4303,
+ 4304,
+ 4305,
+ 4306,
+ 4307,
+ 4308,
+ 4309,
+ 4310,
+ 4311,
+ 4312,
+ 4313,
+ 4314,
+ 4315,
+ 4316,
+ 4317,
+ 4318,
+ 4319,
+ 4320,
+ 4321,
+ 4322,
+ 4323,
+ 4324,
+ 4325,
+ 4326,
+ 4327,
+ 4328,
+ 4329,
+ 4330,
+ 4331,
+ 4332,
+ 4333,
+ 4334,
+ 4335,
+ 4336,
+ 4337,
+ 4338,
+ 4339,
+ 4340,
+ 4341,
+ 4342,
+ 4343,
+ 4344,
+ 4345,
+ 4346,
+ 4347,
+ 4348,
+ 4349,
+ 4350,
+ 4351,
+ 4352,
+ 4353,
+ 4354,
+ 4355,
+ 4356,
+ 4357,
+ 4358,
+ 4359,
+ 4360,
+ 4361,
+ 4362,
+ 4363,
+ 4364,
+ 4365,
+ 4366,
+ 4367,
+ 4368,
+ 4369,
+ 4370,
+ 4371,
+ 4372,
+ 4373,
+ 4374,
+ 4375,
+ 4376,
+ 4377,
+ 4378,
+ 4379,
+ 4380,
+ 4381,
+ 4382,
+ 4383,
+ 4384
+ ]
+ },
+ {
+ "teal": 2944,
+ "source": 49,
+ "pc": [
+ 4385,
+ 4386,
+ 4387
+ ]
+ },
+ {
+ "teal": 2945,
+ "source": 49,
+ "pc": [
+ 4388
+ ]
+ },
+ {
+ "teal": 2946,
+ "source": 49,
+ "pc": [
+ 4389
+ ]
+ },
+ {
+ "teal": 2949,
+ "source": 49,
+ "pc": [
+ 4390,
+ 4391,
+ 4392
+ ]
+ },
+ {
+ "teal": 2950,
+ "source": 49,
+ "pc": [
+ 4393,
+ 4394,
+ 4395,
+ 4396,
+ 4397,
+ 4398,
+ 4399,
+ 4400,
+ 4401,
+ 4402,
+ 4403,
+ 4404
+ ]
+ },
+ {
+ "teal": 2951,
+ "source": 49,
+ "pc": [
+ 4405,
+ 4406
+ ]
+ },
+ {
+ "teal": 2952,
+ "source": 49,
+ "pc": [
+ 4407
+ ]
+ },
+ {
+ "teal": 2953,
+ "source": 49,
+ "pc": [
+ 4408
+ ]
+ },
+ {
+ "teal": 2954,
+ "source": 49,
+ "pc": [
+ 4409
+ ]
+ },
+ {
+ "teal": 2955,
+ "source": 49
+ },
+ {
+ "teal": 2958,
+ "source": 49,
+ "pc": [
+ 4410,
+ 4411,
+ 4412
+ ]
+ },
+ {
+ "teal": 2959,
+ "source": 49,
+ "pc": [
+ 4413,
+ 4414
+ ]
+ },
+ {
+ "teal": 2960,
+ "source": 49,
+ "pc": [
+ 4415
+ ]
+ },
+ {
+ "teal": 2961,
+ "source": 49,
+ "pc": [
+ 4416
+ ]
+ },
+ {
+ "teal": 2962,
+ "source": 49,
+ "pc": [
+ 4417,
+ 4418,
+ 4419
+ ]
+ },
+ {
+ "teal": 2963,
+ "source": 49,
+ "pc": [
+ 4420,
+ 4421
+ ]
+ },
+ {
+ "teal": 2964,
+ "source": 49,
+ "pc": [
+ 4422
+ ]
+ },
+ {
+ "teal": 2967,
+ "source": 49,
+ "pc": [
+ 4423,
+ 4424
+ ]
+ },
+ {
+ "teal": 2968,
+ "source": 49,
+ "pc": [
+ 4425,
+ 4426
+ ]
+ },
+ {
+ "teal": 2969,
+ "source": 49,
+ "pc": [
+ 4427
+ ]
+ },
+ {
+ "teal": 2970,
+ "source": 49,
+ "pc": [
+ 4428
+ ]
+ },
+ {
+ "teal": 2971,
+ "source": 49,
+ "pc": [
+ 4429
+ ]
+ },
+ {
+ "teal": 2972,
+ "source": 49,
+ "pc": [
+ 4430,
+ 4431,
+ 4432
+ ]
+ },
+ {
+ "teal": 2973,
+ "source": 49,
+ "pc": [
+ 4433,
+ 4434
+ ]
+ },
+ {
+ "teal": 2974,
+ "source": 49,
+ "pc": [
+ 4435,
+ 4436
+ ]
+ },
+ {
+ "teal": 2975,
+ "source": 49,
+ "pc": [
+ 4437
+ ]
+ },
+ {
+ "teal": 2976,
+ "source": 49,
+ "pc": [
+ 4438,
+ 4439,
+ 4440
+ ]
+ },
+ {
+ "teal": 2977,
+ "source": 49,
+ "pc": [
+ 4441,
+ 4442,
+ 4443
+ ]
+ },
+ {
+ "teal": 2980,
+ "source": 49,
+ "pc": [
+ 4444
+ ]
+ },
+ {
+ "teal": 2983,
+ "source": 49,
+ "pc": [
+ 4445,
+ 4446
+ ]
+ },
+ {
+ "teal": 2984,
+ "source": 49,
+ "pc": [
+ 4447,
+ 4448
+ ]
+ },
+ {
+ "teal": 2985,
+ "source": 49,
+ "pc": [
+ 4449
+ ]
+ },
+ {
+ "teal": 2986,
+ "source": 49,
+ "pc": [
+ 4450,
+ 4451,
+ 4452
+ ]
+ },
+ {
+ "teal": 2987,
+ "source": 49,
+ "pc": [
+ 4453
+ ]
+ },
+ {
+ "teal": 2988,
+ "source": 49,
+ "pc": [
+ 4454
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gISEhISBXQVJOSU5HOiBUaGlzIGNvbnRyYWN0IGlzICpOT1QqIEFSQzQgY29tcGxpYW50LiBJdCBtYXkgY29udGFpbiBBQkkgbWV0aG9kcywgYnV0IGl0IGFsc28gYWxsb3dzIGFwcCBjYWxscyB3aGVyZSB0aGUgZmlyc3QgYXJndW1lbnQgZG9lcyBOT1QgbWF0Y2ggYW4gQUJJIHNlbGVjdG9yCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eG5UeXBlRW51bSgpdm9pZAoqYWJpX3JvdXRlX3R4blR5cGVFbnVtOgoJLy8gZXhlY3V0ZSB0eG5UeXBlRW51bSgpdm9pZAoJY2FsbHN1YiB0eG5UeXBlRW51bQoJaW50IDEKCXJldHVybgoKLy8gdHhuVHlwZUVudW0oKTogdm9pZAp0eG5UeXBlRW51bToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NjEKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwWzBdLnR5cGVFbnVtID09PSBUcmFuc2FjdGlvblR5cGUuQXBwbGljYXRpb25DYWxsKQoJaW50IDAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXBwbAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyB0eG5Hcm91cExlbmd0aCgpdm9pZAoqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoOgoJLy8gZXhlY3V0ZSB0eG5Hcm91cExlbmd0aCgpdm9pZAoJY2FsbHN1YiB0eG5Hcm91cExlbmd0aAoJaW50IDEKCXJldHVybgoKLy8gdHhuR3JvdXBMZW5ndGgoKTogdm9pZAp0eG5Hcm91cExlbmd0aDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NjUKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwLmxlbmd0aCA9PT0gMSkKCWdsb2JhbCBHcm91cFNpemUKCWludCAxCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydHMoYm9vbCxib29sKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRzOgoJLy8gYXJnMjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzIpIGZvciBhc3NlcnRzIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMSkgZm9yIGFzc2VydHMgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgYXNzZXJ0cyhib29sLGJvb2wpdm9pZAoJY2FsbHN1YiBhc3NlcnRzCglpbnQgMQoJcmV0dXJuCgovLyBhc3NlcnRzKGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiB2b2lkCmFzc2VydHM6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjY5CgkvLyBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglmcmFtZV9kaWcgLTEgLy8gYXJnMTogYm9vbGVhbgoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoYXJnMSwgYXJnMiwgYXJnMSA9PT0gYXJnMikKCWFzc2VydAoJZnJhbWVfZGlnIC0xIC8vIGFyZzE6IGJvb2xlYW4KCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgk9PQoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21Bcmc6CgkvLyBzb21lUGF5OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChzb21lUGF5KSBmb3IgdmVyaWZ5VHhuRnJvbUFyZyBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHZlcmlmeVR4bkZyb21BcmcocGF5KXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuRnJvbUFyZwoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhzb21lUGF5OiBQYXlUeG4pOiB2b2lkCnZlcmlmeVR4bkZyb21Bcmc6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjczCgkvLyB2ZXJpZnlUeG4oc29tZVBheSwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiAxMDBfMDAwIH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzb21lUGF5OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNvbWVQYXkiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzb21lUGF5OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaW50IDEwMF8wMDAKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzb21lUGF5IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6IjEwMF8wMDAifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHZlcmlmeVR4bkZyb21UeG5Hcm91cCgpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21UeG5Hcm91cDoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkZyb21UeG5Hcm91cAoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCk6IHZvaWQKdmVyaWZ5VHhuRnJvbVR4bkdyb3VwOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo3NwoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuR3JvdXBbMF0sIHsgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWludCAwCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuQ29uZGl0aW9uKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuQ29uZGl0aW9uOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuQ29uZGl0aW9uCglpbnQgMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Db25kaXRpb24oKTogdm9pZAp2ZXJpZnlUeG5Db25kaXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjgxCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHsgZ3JlYXRlclRoYW46IDEgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFwcGxpY2F0aW9uSUQKCXR4biBBcHBsaWNhdGlvbklECglpbnQgMQoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6ImFwcGxpY2F0aW9uSUQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjEifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5JbmNsdWRlZEluKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkluY2x1ZGVkSW4KCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkluY2x1ZGVkSW4oKTogdm9pZAp2ZXJpZnlUeG5JbmNsdWRlZEluOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo4NwoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7CgkvLyAgICAgICBzZW5kZXI6IHsgaW5jbHVkZWRJbjogW3RoaXMudHhuLnNlbmRlcl0gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6eyJ0eG5UZXh0IjoidGhpcy50eG4ifSwiZmllbGQiOiJzZW5kZXIiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbdGhpcy50eG4uc2VuZGVyXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bk5vdEluY2x1ZGVkSW46CgkvLyBleGVjdXRlIHZlcmlmeVR4bk5vdEluY2x1ZGVkSW4oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuTm90SW5jbHVkZWRJbgoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpOiB2b2lkCnZlcmlmeVR4bk5vdEluY2x1ZGVkSW46Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjkzCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBub3RJbmNsdWRlZEluOiBbZ2xvYmFscy56ZXJvQWRkcmVzc10gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6Im5vdEluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IltnbG9iYWxzLnplcm9BZGRyZXNzXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkCiphYmlfcm91dGVfc3VibWl0UGVuZGluZ0dyb3VwOgoJLy8gZXhlY3V0ZSBzdWJtaXRQZW5kaW5nR3JvdXAoKXZvaWQKCWNhbGxzdWIgc3VibWl0UGVuZGluZ0dyb3VwCglpbnQgMQoJcmV0dXJuCgovLyBzdWJtaXRQZW5kaW5nR3JvdXAoKTogdm9pZApzdWJtaXRQZW5kaW5nR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjk5CgkvLyB0aGlzLnBlbmRpbmdHcm91cC5hZGRQYXltZW50KHsgYW1vdW50OiAwLCByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgaXNGaXJzdFR4bjogdHJ1ZSB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6OTkKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo5OQoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIHRoaXMucGVuZGluZ0dyb3VwLmFkZFBheW1lbnQoeyBhbW91bnQ6IDAsIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBub3RlOiAnZm9vJyB9KQoJaXR4bl9uZXh0CglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTAwCgkvLyBub3RlOiAnZm9vJwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDEKCS8vIHRoaXMucGVuZGluZ0dyb3VwLnN1Ym1pdCgpCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzOgoJLy8gZXhlY3V0ZSBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoJY2FsbHN1YiBtZXRob2RXaXRoVHhuQXJncwoJaW50IDEKCXJldHVybgoKLy8gbWV0aG9kV2l0aFR4bkFyZ3MoKTogdm9pZAptZXRob2RXaXRoVHhuQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTA1CgkvLyBzZW5kTWV0aG9kQ2FsbDxbUGF5VHhuLCBNZXRob2RDYWxsPFt1aW50NjRdLCB2b2lkPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogWwoJLy8gICAgICAgICB7IGFtb3VudDogMTAwXzAwMCwgcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlciB9LAoJLy8gICAgICAgICB7CgkvLyAgICAgICAgICAgbmFtZTogJ2JhcicsCgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbMV0sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIGFtb3VudDogMTAwXzAwMAoJaW50IDEwMF8wMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiYmFyKHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExMQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KQoJaW50IDEzMzcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTEyCgkvLyBtZXRob2RBcmdzOiBbMV0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJmb28ocGF5LGFwcGwpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBhbW91bnQ6IDEwMF8wMDAsIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIgfSwKCS8vICAgICAgICAgewoJLy8gICAgICAgICAgIG5hbWU6ICdiYXInLAoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQoMTMzNyksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogWzFdLAoJLy8gICAgICAgICB9LAoJLy8gICAgICAgXQoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBzaGlmdCgpdm9pZAoqYWJpX3JvdXRlX3NoaWZ0OgoJLy8gZXhlY3V0ZSBzaGlmdCgpdm9pZAoJY2FsbHN1YiBzaGlmdAoJaW50IDEKCXJldHVybgoKLy8gc2hpZnQoKTogdm9pZApzaGlmdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE5CgkvLyBhc3NlcnQoMSA8PCAyID09PSA0KQoJaW50IDEKCWludCAyCglzaGwKCWludCA0Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMjAKCS8vIGFzc2VydCg0ID4+IDEgPT09IDIpCglpbnQgNAoJaW50IDEKCXNocgoJaW50IDIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZnJvbUJ5dGVzKCl2b2lkCiphYmlfcm91dGVfZnJvbUJ5dGVzOgoJLy8gZXhlY3V0ZSBmcm9tQnl0ZXMoKXZvaWQKCWNhbGxzdWIgZnJvbUJ5dGVzCglpbnQgMQoJcmV0dXJuCgovLyBmcm9tQnl0ZXMoKTogdm9pZApmcm9tQnl0ZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEyNAoJLy8gYXNzZXJ0KEFkZHJlc3MuZnJvbUJ5dGVzKCdhYmMnKS5taW5CYWxhbmNlKQoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBmcm9tVWludDY0KCl2b2lkCiphYmlfcm91dGVfZnJvbVVpbnQ2NDoKCS8vIGV4ZWN1dGUgZnJvbVVpbnQ2NCgpdm9pZAoJY2FsbHN1YiBmcm9tVWludDY0CglpbnQgMQoJcmV0dXJuCgovLyBmcm9tVWludDY0KCk6IHZvaWQKZnJvbVVpbnQ2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI4CgkvLyBsb2coQXBwSUQuZnJvbVVpbnQ2NCgxMjMpLmNyZWF0b3IpCglpbnQgMTIzCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI5CgkvLyBsb2coQXNzZXRJRC5mcm9tVWludDY0KDEyMykuY3JlYXRvcikKCWludCAxMjMKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWxvZwoJcmV0c3ViCgovLyBiemVyb0Z1bmN0aW9uKCl2b2lkCiphYmlfcm91dGVfYnplcm9GdW5jdGlvbjoKCS8vIGV4ZWN1dGUgYnplcm9GdW5jdGlvbigpdm9pZAoJY2FsbHN1YiBiemVyb0Z1bmN0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBiemVyb0Z1bmN0aW9uKCk6IHZvaWQKYnplcm9GdW5jdGlvbjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEzNAoJLy8geDogYnl0ZXMgPSBiemVybygyKQoJYnl0ZSAweDAwMDAKCWZyYW1lX2J1cnkgMCAvLyB4OiBieXRlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM1CgkvLyB5OiBieXRlcyA9IGJ6ZXJvKG4pCglpbnQgMQoJYnplcm8KCWZyYW1lX2J1cnkgMSAvLyB5OiBieXRlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM2CgkvLyB6OiBbdWludDY0LCB1aW50PDg+XSA9IGJ6ZXJvPFt1aW50NjQsIHVpbnQ8OD5dPigpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwCglmcmFtZV9idXJ5IDIgLy8gejogW3VpbnQ2NCwgdWludDw4Pl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEzNwoJLy8gYXNzZXJ0KGxlbih4ICsgeSArIHopID09PSAxMikKCWJ5dGUgMHgwMDAwIC8vIHg6IGJ5dGVzCglmcmFtZV9kaWcgMSAvLyB5OiBieXRlcwoJY29uY2F0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwIC8vIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgljb25jYXQKCWxlbgoJaW50IDEyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGV2ZW50cygpdm9pZAoqYWJpX3JvdXRlX2V2ZW50czoKCS8vIGV4ZWN1dGUgZXZlbnRzKCl2b2lkCgljYWxsc3ViIGV2ZW50cwoJaW50IDEKCXJldHVybgoKLy8gZXZlbnRzKCk6IHZvaWQKZXZlbnRzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNTIKCS8vIHRoaXMubXlFdmVudC5sb2coeyBhcHA6IHRoaXMuYXBwLCBudW06IDEgfSkKCWJ5dGUgMHg4NzUyODE5NiAvLyBteUV2ZW50KHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY29uY2F0Cgljb25jYXQKCWxvZwoJcmV0c3ViCgovLyBsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10KKmFiaV9yb3V0ZV9sZXRPcHRpbWl6YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgbGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdCgljYWxsc3ViIGxldE9wdGltaXphdGlvbgoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbGV0T3B0aW1pemF0aW9uKGE6IHVpbnQ2NFtdKTogdWludDY0W10KbGV0T3B0aW1pemF0aW9uOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNTYKCS8vIGFzc2VydChhWzBdKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTU4CgkvLyBiID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IC0xIC8vIGI6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjAKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglyZXRzdWIKCi8vIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZAoqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllczoKCS8vIGV4ZWN1dGUgc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzKCl2b2lkCgljYWxsc3ViIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzKCk6IHZvaWQKc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IER1bW15Q29udHJhY3QuYXBwcm92YWxQcm9ncmFtKCksCgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogRHVtbXlDb250cmFjdC5jbGVhclByb2dyYW0oKSwKCS8vICAgICAgIGxvY2FsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1CeXRlU2xpY2UsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IER1bW15Q29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IER1bW15Q29udHJhY3Quc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NQoJLy8gb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcAoJaW50IDAgLy8gTm9PcAoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NgoJLy8gYXBwcm92YWxQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmFwcHJvdmFsUHJvZ3JhbSgpCglieXRlIGI2NCBDakVZRklFR0N6RVpDSTBNQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBSUVCUTRBRXVFUjdOallhQUk0Qi8vQUEKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjcKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjgKCS8vIGxvY2FsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1CeXRlU2xpY2UKCWludCAwCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjkKCS8vIGxvY2FsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEubG9jYWwubnVtVWludAoJaW50IDAKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZQoJaW50IDAKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzEKCS8vIGdsb2JhbE51bVVpbnQ6IER1bW15Q29udHJhY3Quc2NoZW1hLmdsb2JhbC5udW1VaW50CglpbnQgMAoJaXR4bl9maWVsZCBHbG9iYWxOdW1VaW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBudW1iZXJUb1N0cmluZygpdm9pZAoqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nOgoJLy8gZXhlY3V0ZSBudW1iZXJUb1N0cmluZygpdm9pZAoJY2FsbHN1YiBudW1iZXJUb1N0cmluZwoJaW50IDEKCXJldHVybgoKLy8gbnVtYmVyVG9TdHJpbmcoKTogdm9pZApudW1iZXJUb1N0cmluZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTc4CgkvLyBhc3NlcnQobi50b1N0cmluZygpID09PSBzKQoJaW50IDEKCWNhbGxzdWIgKml0b2EKCWJ5dGUgIjEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIG1ldGhvZE9uUGFyZW5zKCl2b2lkCiphYmlfcm91dGVfbWV0aG9kT25QYXJlbnM6CgkvLyBleGVjdXRlIG1ldGhvZE9uUGFyZW5zKCl2b2lkCgljYWxsc3ViIG1ldGhvZE9uUGFyZW5zCglpbnQgMQoJcmV0dXJuCgovLyBtZXRob2RPblBhcmVucygpOiB2b2lkCm1ldGhvZE9uUGFyZW5zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODIKCS8vIGFzc2VydCgoMSArIDIpLnRvU3RyaW5nKCkgPT09ICczJykKCWludCAzCgljYWxsc3ViICppdG9hCglieXRlIDB4MzMgLy8gIjMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1N1YnN0cmluZygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1N1YnN0cmluZzoKCS8vIGV4ZWN1dGUgc3RyaW5nU3Vic3RyaW5nKCl2b2lkCgljYWxsc3ViIHN0cmluZ1N1YnN0cmluZwoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nU3Vic3RyaW5nKCk6IHZvaWQKc3RyaW5nU3Vic3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODcKCS8vIGFzc2VydChzLnN1YnN0cmluZygxLCAzKSA9PT0gJ2JjJykKCWJ5dGUgImFiY2RlZiIKCXN1YnN0cmluZyAxIDMKCWJ5dGUgMHg2MjYzIC8vICJiYyIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gaWRQcm9wZXJ0eSgpdm9pZAoqYWJpX3JvdXRlX2lkUHJvcGVydHk6CgkvLyBleGVjdXRlIGlkUHJvcGVydHkoKXZvaWQKCWNhbGxzdWIgaWRQcm9wZXJ0eQoJaW50IDEKCXJldHVybgoKLy8gaWRQcm9wZXJ0eSgpOiB2b2lkCmlkUHJvcGVydHk6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTEKCS8vIGFwcCA9IEFwcElELnplcm9JbmRleAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBhcHA6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTkyCgkvLyBhc3NlcnQoQXBwSUQuZnJvbVVpbnQ2NChhcHAuaWQpID09PSBhcHApCglpbnQgMCAvLyBhcHA6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTQKCS8vIGFzYSA9IEFzc2V0SUQuemVyb0luZGV4CglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGFzYTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTUKCS8vIGFzc2VydChBc3NldElELmZyb21VaW50NjQoYXNhLmlkKSA9PT0gYXNhKQoJaW50IDAgLy8gYXNhOiB1aW50NjQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBzY3JhdGNoU2xvdCgpdm9pZAoqYWJpX3JvdXRlX3NjcmF0Y2hTbG90OgoJLy8gZXhlY3V0ZSBzY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBzY3JhdGNoU2xvdAoJaW50IDEKCXJldHVybgoKLy8gc2NyYXRjaFNsb3QoKTogdm9pZApzY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTk5CgkvLyB0aGlzLnNjcmF0Y2gudmFsdWUgPSAxMzM3CglpbnQgMTMzNwoJc3RvcmUgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjAwCgkvLyBhc3NlcnQodGhpcy5zY3JhdGNoLnZhbHVlID09PSAxMzM3KQoJbG9hZCAwCglpbnQgMTMzNwoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBlY2RzYSgpdm9pZAoqYWJpX3JvdXRlX2VjZHNhOgoJLy8gZXhlY3V0ZSBlY2RzYSgpdm9pZAoJY2FsbHN1YiBlY2RzYQoJaW50IDEKCXJldHVybgoKLy8gZWNkc2EoKTogdm9pZAplY2RzYToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwNAoJLy8gZWNkc2FWZXJpZnkoJ1NlY3AyNTZrMScsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJZHVwbiA0CgllY2RzYV92ZXJpZnkgU2VjcDI1NmsxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDUKCS8vIGQgPSBlY2RzYVBrRGVjb21wcmVzcygnU2VjcDI1NmsxJywgJycgYXMgYnl0ZXM8MzM+KQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJZWNkc2FfcGtfZGVjb21wcmVzcyBTZWNwMjU2azEKCWZyYW1lX2J1cnkgMCAvLyBkIHkgY29tcG9uZW50OiBieXRlW10KCWZyYW1lX2J1cnkgMSAvLyBkIHggY29tcG9uZW50OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwNgoJLy8gbG9nKGQueSkKCWZyYW1lX2RpZyAwIC8vIGQgeSBjb21wb25lbnQ6IGJ5dGVbXQoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDcKCS8vIGxvZyhkLngpCglmcmFtZV9kaWcgMSAvLyBkIHggY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjA5CgkvLyByID0gZWNkc2FQa1JlY292ZXIoJ1NlY3AyNTZrMScsICcnIGFzIGJ5dGVzMzIsIDEsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJaW50IDEKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIC8vICIiCglkdXAKCWVjZHNhX3BrX3JlY292ZXIgU2VjcDI1NmsxCglmcmFtZV9idXJ5IDIgLy8gciB5IGNvbXBvbmVudDogYnl0ZVtdCglmcmFtZV9idXJ5IDMgLy8gciB4IGNvbXBvbmVudDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTAKCS8vIGxvZyhyLnkpCglmcmFtZV9kaWcgMiAvLyByIHkgY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjExCgkvLyBsb2coci54KQoJZnJhbWVfZGlnIDMgLy8gciB4IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCXJldHN1YgoKLy8gdmVyaWZ5VHhuVHlwZXMoKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5UeXBlczoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuVHlwZXMoKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuVHlwZXMKCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeVR4blR5cGVzKCk6IHZvaWQKdmVyaWZ5VHhuVHlwZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxNQoJLy8gdmVyaWZ5UGF5VHhuKHRoaXMudHhuR3JvdXBbMF0sIHsKCS8vICAgICAgIGFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgcGF5CglpbnQgMAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoicGF5In0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWludCAwCglndHhucyBBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTkKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG5Hcm91cFswXSwgewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogewoJLy8gICAgICAgICAwOiAnZm9vJywKCS8vICAgICAgICAgMTogewoJLy8gICAgICAgICAgIGluY2x1ZGVkSW46IFsnYmFyJywgJ2JheiddLAoJLy8gICAgICAgICB9LAoJLy8gICAgICAgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFwcGwKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGFwcGwKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYXBwbCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJaW50IDAKCWd0eG5zIEFwcGxpY2F0aW9uSUQKCWludCAwCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCgwKSJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzIDAKCWludCAwCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImFwcGxpY2F0aW9uQXJncyIsImluZGV4IjoiMCIsImV4cGVjdGVkIjoiJ2ZvbycifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFwcGxpY2F0aW9uQXJncyAxCglpbnQgMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCT09CglpbnQgMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCWJ5dGUgMHg2MjYxN2EgLy8gImJheiIKCT09Cgl8fAoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4bkdyb3VwWzBdIn0sImZpZWxkIjoiYXBwbGljYXRpb25BcmdzIDEiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbJ2JhcicsICdiYXonXSJ9Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIyOQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXhmZXIKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImF4ZmVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglpbnQgMAoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjMzCgkvLyB2ZXJpZnlBc3NldENvbmZpZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KDApLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYWNmZwoJaW50IDAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYWNmZwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJhY2ZnIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBjb25maWdBc3NldAoJaW50IDAKCWd0eG5zIENvbmZpZ0Fzc2V0CglpbnQgMAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImNvbmZpZ0Fzc2V0IiwiZXhwZWN0ZWQiOiJBc3NldElELmZyb21VaW50NjQoMCkifQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMzcKCS8vIHZlcmlmeUtleVJlZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICB2b3RlRmlyc3Q6IDEzMzcsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBrZXlyZWcKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGtleXJlZwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJrZXlyZWcifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHZvdGVGaXJzdAoJaW50IDAKCWd0eG5zIFZvdGVGaXJzdAoJaW50IDEzMzcKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ2b3RlRmlyc3QiLCJleHBlY3RlZCI6IjEzMzcifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1BsdXNFcXVhbHMoKXZvaWQKKmFiaV9yb3V0ZV9zdHJpbmdQbHVzRXF1YWxzOgoJLy8gZXhlY3V0ZSBzdHJpbmdQbHVzRXF1YWxzKCl2b2lkCgljYWxsc3ViIHN0cmluZ1BsdXNFcXVhbHMKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ1BsdXNFcXVhbHMoKTogdm9pZApzdHJpbmdQbHVzRXF1YWxzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI0MwoJLy8gcyA9ICdmb28nCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNDQKCS8vIHMgKz0gJ2JhcicKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNDUKCS8vIGFzc2VydChzID09PSAnZm9vYmFyJykKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZSAweDY2NmY2ZjYyNjE3MiAvLyAiZm9vYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXQoqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXQoJY2FsbHN1YiBpbXBvcnRlZFByb2dyYW0KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaW1wb3J0ZWRQcm9ncmFtKCk6IGJ5dGVzCmltcG9ydGVkUHJvZ3JhbToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQ5CgkvLyByZXR1cm4gSWZUZXN0LmFwcHJvdmFsUHJvZ3JhbSgpOwoJYnl0ZSBiNjQgQ2lBRUFRQUNJQ1lKQkJVZmZIVUNhV1lFWld4elpRTmxibVFBQTJadmJ3ZGxiSE5sSUdsbUNXVnNjMlVnYVdZZ01RbGxiSE5sSUdsbUlESXhHQlNCQmdzeEdRaU5EQU1rQUFBQUFBQUFBQUFBQUFNV0FBQUFBQUFBQUFBQUFBQW9OaG9CU1JVaUVrUWpVNGdBREVrVkZsY0dBa3hRVUxBaVE0b0JBWXYvUVFBQ0tZa3JpU2cyR2dGSkZTSVNSQ05UaUFBTVNSVVdWd1lDVEZCUXNDSkRpZ0VCaS85QkFBVXBpVUlBQWlxSmlTZzJHZ0pKRlNJU1JDTlROaG9CU1JVaUVrUWpVNGdBREVrVkZsY0dBa3hRVUxBaVE0b0NBWXYvUVFBRktZbENBQWlML2tFQUF5Y0dpU3VKS0RZYUFra1ZJaEpFSTFNMkdnRkpGU0lTUkNOVGlBQU1TUlVXVndZQ1RGQlFzQ0pEaWdJQmkvOUJBQVVwaVVJQURZditRUUFHSndhSlFnQUNLb21KS0RZYUEwa1ZJaEpFSTFNMkdnSkpGU0lTUkNOVE5ob0JTUlVpRWtRalU0Z0FERWtWRmxjR0FreFFVTEFpUTRvREFZdi9RUUFGS1lsQ0FCT0wva0VBQmljSGlVSUFDSXY5UVFBREp3aUpLNGtvTmhvRFNSVWlFa1FqVXpZYUFra1ZJaEpFSTFNMkdnRkpGU0lTUkNOVGlBQU1TUlVXVndZQ1RGQlFzQ0pEaWdNQmkvOUJBQVVwaVVJQUdJditRUUFHSndlSlFnQU5pLzFCQUFZbkNJbENBQUlxaVlrb05ob0NTUlVpRWtRalV6WWFBVWtWSWhKRUkxT0lBQXhKRlJaWEJnSk1VRkN3SWtPS0FnR0wvMEVBRm92K1FRQU1nQWx1WlhOMFpXUWdhV2FKS1lsQ0FBSXFpWWtvTmhvQlNSVWlFa1FqVTRnQURFa1ZGbGNHQWt4UVVMQWlRNG9CQVl2L1FRQUZLWWxDQUFJcWlZa29OaG9DU1JVaUVrUWpVellhQVVrVkloSkVJMU9JQUFVV1VMQWlRNG9DQVl2L1FRQUVJa0lBQzR2K1FRQUVKRUlBQW9FRGlTZzJHZ0ZYQWdDSUFBVVdVTEFpUTRvQkFZdi9Kd1NwUVFBQ0lva2tpU2cyR2dGWEFnQ0lBQVVXVUxBaVE0b0JBWXYvSndTcFFRQUVJa0lBQVNTSk5ob0JTUlVrRWtRWGlBQUNJa09LQVFDTC95Y0VxVUVBQXljRnNJazJHZ0pKRlNRU1JCYzJHZ0ZKRlNRU1JCZUlBQUlpUTRvQ0FJdi9pLzRPUVFBREp3V3dpVFlhQWtrVkpSSkVOaG9CU1JVbEVrU0lBQUlpUTRvQ0FJdi9pLzZtUVFBREp3V3dpU2cyR2dKSkZTSVNSQ05UTmhvQlNSVWlFa1FqVTRnQURFa1ZGbGNHQWt4UVVMQWlRNG9DQVl2L1FRQVppLzVCQUEyQUIyRWdZVzVrSUdLSlFnQUVnQUZoaVVJQUZvditRUUFIZ0FGaWlVSUFDb0FIYm1WcGRHaGxjb21KSWtPQUJMaEVlelkyR2dDT0FmL3hBSUFFUTI3QndvQUVISG9OWG9BRVhnKzJ6NEFFWGh4c1VJQUVXTkM2a29BRVhTOVBBb0FFaEZjcDJZQUVqK2RzcUlBRUdqeDRlSUFFZEx6SWFJQUVRaEw1QllBRWxkMnV2NEFFTVVlNFpvQUVRb2wvWVlBRVUwdml0ellhQUk0UC9HRDhodnl3L092OUt2MTYvYzcrRS80OS9uTCtrUDZ3L3MzKzgvOFhBQT09CglyZXRzdWIKCi8vIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCiphYmlfcm91dGVfY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXI6CgkvLyBleGVjdXRlIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCgljYWxsc3ViIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpOiB2b2lkCmNhbGxQcml2YXRlRGVmaW5lZExhdGVyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNTMKCS8vIGxvZyh0aGlzLnByaXZhdGVNZXRob2QoJ2hlbGxvJykpCglieXRlIDB4Njg2NTZjNmM2ZiAvLyAiaGVsbG8iCgljYWxsc3ViIHByaXZhdGVNZXRob2QKCWxvZwoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKG1zZzogc3RyaW5nKTogc3RyaW5nCnByaXZhdGVNZXRob2Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1NwoJLy8gcmV0dXJuIG1zZzsKCWZyYW1lX2RpZyAtMSAvLyBtc2c6IHN0cmluZwoJcmV0c3ViCgovLyBpbnRlcmFsUHVibGljTWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbnRlcmFsUHVibGljTWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGludGVyYWxQdWJsaWNNZXRob2QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBpbnRlcmFsUHVibGljTWV0aG9kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmludGVyYWxQdWJsaWNNZXRob2Q6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI2MQoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBjYWxsSW50ZXJuYWxQdWJsaWNNZXRob2QoKXZvaWQKKmFiaV9yb3V0ZV9jYWxsSW50ZXJuYWxQdWJsaWNNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZAoJY2FsbHN1YiBjYWxsSW50ZXJuYWxQdWJsaWNNZXRob2QKCWludCAxCglyZXR1cm4KCi8vIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpOiB2b2lkCmNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY1CgkvLyBhc3NlcnQodGhpcy5pbnRlcmFsUHVibGljTWV0aG9kKDEsIDIpID09PSAzKQoJaW50IDIKCWludCAxCgljYWxsc3ViIGludGVyYWxQdWJsaWNNZXRob2QKCWludCAzCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFwcExvYWRTY3JhdGNoKCl2b2lkCiphYmlfcm91dGVfYXBwTG9hZFNjcmF0Y2g6CgkvLyBleGVjdXRlIGFwcExvYWRTY3JhdGNoKCl2b2lkCgljYWxsc3ViIGFwcExvYWRTY3JhdGNoCglpbnQgMQoJcmV0dXJuCgovLyBhcHBMb2FkU2NyYXRjaCgpOiB2b2lkCmFwcExvYWRTY3JhdGNoOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNjkKCS8vIGxvZyh0aGlzLnR4bkdyb3VwWzFdLmxvYWRTY3JhdGNoKDIpIGFzIGJ5dGVzKQoJZ2xvYWQgMSAyCglsb2cKCXJldHN1YgoKLy8gdWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NgoqYWJpX3JvdXRlX3VpbnROV2l0aFVuZGVyc2NvcmU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NgoJY2FsbHN1YiB1aW50TldpdGhVbmRlcnNjb3JlCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1aW50TldpdGhVbmRlcnNjb3JlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludE5XaXRoVW5kZXJzY29yZSgpOiB1aW50MjU2CnVpbnROV2l0aFVuZGVyc2NvcmU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3MwoJLy8gcmV0dXJuIDx1aW50MjU2PjEyM180NTY7CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTI0MAoJcmV0c3ViCgovLyBvcFVwKCl2b2lkCiphYmlfcm91dGVfb3BVcDoKCS8vIGV4ZWN1dGUgb3BVcCgpdm9pZAoJY2FsbHN1YiBvcFVwCglpbnQgMQoJcmV0dXJuCgovLyBvcFVwKCk6IHZvaWQKb3BVcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3OAoJLy8gZm9yIChsZXQgaSA9IDE7IGkgPCA3NTsgaSArPSAxKQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjc4CgkvLyBpIDwgNzUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDc1Cgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzkKCS8vIGFzc2VydChpKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0Cglhc3NlcnQKCipmb3JfMF9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjc4CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJcmV0c3ViCgovLyByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpc3RyaW5nCiphYmlfcm91dGVfcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQoKXN0cmluZwoJY2FsbHN1YiByZXR1cm5WYWx1ZU9uQXNzaWdubWVudAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpOiBzdHJpbmcKcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjg0CgkvLyBtZXNzYWdlID0gJ2hpJwoJYnl0ZSAweDY4NjkgLy8gImhpIgoJZnJhbWVfYnVyeSAwIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLmFwcC5hZGRyZXNzCgl0eG4gU2VuZGVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NwoJLy8gbWVzc2FnZSA9ICdpbiBibG9jaycKCWJ5dGUgMHg2OTZlMjA2MjZjNmY2MzZiIC8vICJpbiBibG9jayIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTAKCS8vIHJldHVybiAobWVzc2FnZSA9ICdieWUnKTsKCWJ5dGUgMHg2Mjc5NjUgLy8gImJ5ZSIKCWR1cAoJZnJhbWVfYnVyeSAwIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9yZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTYKCS8vIHJldHVybiAoYVswXSA9IDQpOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJaW50IDAKCWludCA0CglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWxvYWQgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKCWNhbGxzdWIgcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCk6IHVpbnQ2NApyZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQ6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwMAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gMQoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJaW50IDEKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMDIKCS8vIHJldHVybiAodGhpcy5nS2V5LnZhbHVlID0gMik7CglieXRlIDB4Njc0YjY1NzkgLy8gImdLZXkiCglpbnQgMgoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJYXBwX2dsb2JhbF9wdXQKCWxvYWQgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCXJldHN1YgoKLy8gcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCl1aW50NjQKCWNhbGxzdWIgcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSgpOiB1aW50NjQKcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzA2CgkvLyBhID0gMQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwOAoJLy8gcmV0dXJuIChhICs9IDIpOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0CglpbnQgMgoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKTogdWludDY0CnJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTIKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTQKCS8vIHJldHVybiAoYVswXSArPSA0KTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWludCAwCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDAgOAoJYnRvaQoJaW50IDQKCSsKCWR1cAoJc3RvcmUgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKTogdWludDY0CnJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzE4CgkvLyB0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZSA9IFsxLCAyLCAzXQoJYnl0ZSAweDczNzQ2ZjcyNjE2NzY1NDE3MjcyNjE3OSAvLyAic3RvcmFnZUFycmF5IgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMAoJLy8gcmV0dXJuICh0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZVswXSArPSA0KTsKCWJ5dGUgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgLy8gInN0b3JhZ2VBcnJheSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMAoJYnl0ZSAweDczNzQ2ZjcyNjE2NzY1NDE3MjcyNjE3OSAvLyAic3RvcmFnZUFycmF5IgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgMCA4CglidG9pCglpbnQgNAoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJaXRvYgoJcmVwbGFjZTMKCWJ5dGUgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgLy8gInN0b3JhZ2VBcnJheSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglyZXRzdWIKCi8vIGNvbnN0cygpdm9pZAoqYWJpX3JvdXRlX2NvbnN0czoKCS8vIGV4ZWN1dGUgY29uc3RzKCl2b2lkCgljYWxsc3ViIGNvbnN0cwoJaW50IDEKCXJldHVybgoKLy8gY29uc3RzKCk6IHZvaWQKY29uc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMjQKCS8vIGFzc2VydChTVFJJTkdfQ09OU1QgPT09ICdmb28nKQoJYnl0ZSAiZm9vIgoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzI1CgkvLyBhc3NlcnQoTlVNX0NPTlNUID09PSAxMjMpCglpbnQgMTIzCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyNgoJLy8gYXNzZXJ0KE5FU1RFRF9DT05TVCA9PT0gMTIzKQoJaW50IDEyMwoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCiphYmlfcm91dGVfYXNzZXJ0V2l0aE1lc3NhZ2U6CgkvLyBleGVjdXRlIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCgljYWxsc3ViIGFzc2VydFdpdGhNZXNzYWdlCglpbnQgMQoJcmV0dXJuCgovLyBhc3NlcnRXaXRoTWVzc2FnZSgpOiB2b2lkCmFzc2VydFdpdGhNZXNzYWdlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzAKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50IDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gb3Bjb2RlQWxpYXNlcygpdm9pZAoqYWJpX3JvdXRlX29wY29kZUFsaWFzZXM6CgkvLyBleGVjdXRlIG9wY29kZUFsaWFzZXMoKXZvaWQKCWNhbGxzdWIgb3Bjb2RlQWxpYXNlcwoJaW50IDEKCXJldHVybgoKLy8gb3Bjb2RlQWxpYXNlcygpOiB2b2lkCm9wY29kZUFsaWFzZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNAoJLy8gZXh0cmFjdFVpbnQxNihiemVybyg2NCksIDApCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWludCAwCglleHRyYWN0X3VpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzM1CgkvLyBleHRyYWN0VWludDMyKGJ6ZXJvKDY0KSwgMCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJaW50IDAKCWV4dHJhY3RfdWludDMyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzYKCS8vIGV4dHJhY3RVaW50NjQoYnplcm8oNjQpLCAwKQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglpbnQgMAoJZXh0cmFjdF91aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNwoJLy8gZWQyNTUxOVZlcmlmeUJhcmUoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeV9iYXJlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzgKCS8vIGVkMjU1MTlWZXJpZnkoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeQoJcmV0c3ViCgovLyB2cmZWZXJpZnlPcCgpdm9pZAoqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wOgoJLy8gZXhlY3V0ZSB2cmZWZXJpZnlPcCgpdm9pZAoJY2FsbHN1YiB2cmZWZXJpZnlPcAoJaW50IDEKCXJldHVybgoKLy8gdnJmVmVyaWZ5T3AoKTogdm9pZAp2cmZWZXJpZnlPcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0MgoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQzCgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDQKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0NQoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQ2CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQ5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MgoJLy8gciA9IHZyZlZlZmlyeSgnVnJmQWxnb3JhbmQnLCBiemVybygzMikgYXMgYnl0ZXMsIGJ6ZXJvKDgwKSwgYnplcm8oMzIpKQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJdnJmX3ZlcmlmeSBWcmZBbGdvcmFuZAoJZnJhbWVfYnVyeSAwIC8vIHIgdmVyaWZpZWQ6IGJvb2wKCWZyYW1lX2J1cnkgMSAvLyByIG91dHB1dDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTMKCS8vIGFzc2VydCghci52ZXJpZmllZCkKCWZyYW1lX2RpZyAwIC8vIHIgdmVyaWZpZWQ6IGJvb2wKCSEKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU0CgkvLyBsb2coci5vdXRwdXQpCglmcmFtZV9kaWcgMSAvLyByIG91dHB1dDogYnl0ZVtdCglsb2cKCXJldHN1YgoKLy8gZWNNYXRoKCl2b2lkCiphYmlfcm91dGVfZWNNYXRoOgoJLy8gZXhlY3V0ZSBlY01hdGgoKXZvaWQKCWNhbGxzdWIgZWNNYXRoCglpbnQgMQoJcmV0dXJuCgovLyBlY01hdGgoKTogdm9pZAplY01hdGg6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU4CgkvLyBlY1NjYWxhck11bCgnQk4yNTRnMScsICcnLCAnJykKCWJ5dGUgMHggLy8gIiIKCWR1cAoJZWNfc2NhbGFyX211bCBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTkKCS8vIGVjUGFpcmluZ0NoZWNrKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZSAweCAvLyAiIgoJZHVwCgllY19wYWlyaW5nX2NoZWNrIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MAoJLy8gc2NhbGFyczogYnl0ZXMzMltdID0gW2J6ZXJvKDMyKSwgYnplcm8oMzIpXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglmcmFtZV9idXJ5IDAgLy8gc2NhbGFyczogYnl0ZXMzMltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjEKCS8vIGVjTXVsdGlTY2FsYXJNdWwoJ0JOMjU0ZzEnLCAnJywgc2NhbGFycykKCWJ5dGUgMHggLy8gIiIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyBzY2FsYXJzOiBieXRlczMyW10KCWVjX211bHRpX3NjYWxhcl9tdWwgQk4yNTRnMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzYyCgkvLyBlY1N1Ymdyb3VwQ2hlY2soJ0JOMjU0ZzEnLCAnJykKCWJ5dGUgMHggLy8gIiIKCWVjX3N1Ymdyb3VwX2NoZWNrIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MwoJLy8gZWNNYXBUbygnQk4yNTRnMScsICcnKQoJYnl0ZSAweCAvLyAiIgoJZWNfbWFwX3RvIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2NAoJLy8gZWNBZGQoJ0JOMjU0ZzEnLCAnJywgJycpCglieXRlIDB4IC8vICIiCglkdXAKCWVjX2FkZCBCTjI1NGcxCglyZXRzdWIKCi8vIGdpdHhuKCl2b2lkCiphYmlfcm91dGVfZ2l0eG46CgkvLyBleGVjdXRlIGdpdHhuKCl2b2lkCgljYWxsc3ViIGdpdHhuCglpbnQgMQoJcmV0dXJuCgovLyBnaXR4bigpOiB2b2lkCmdpdHhuOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2OAoJLy8gbG9nKHRoaXMubGFzdElubmVyR3JvdXBbMF0uc2VuZGVyKQoJZ2l0eG4gMCBTZW5kZXIKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcwCgkvLyBhbm90aGVyVHhuID0gdGhpcy5sYXN0SW5uZXJHcm91cFsxXQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhbm90aGVyVHhuOiBnaXR4bgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcyCgkvLyBsb2coYW5vdGhlclR4bi5zZW5kZXIpCglnaXR4biAxIFNlbmRlcgoJbG9nCglyZXRzdWIKCi8vIGdldFNldEJ5dGVzKCl2b2lkCiphYmlfcm91dGVfZ2V0U2V0Qnl0ZXM6CgkvLyBleGVjdXRlIGdldFNldEJ5dGVzKCl2b2lkCgljYWxsc3ViIGdldFNldEJ5dGVzCglpbnQgMQoJcmV0dXJuCgovLyBnZXRTZXRCeXRlcygpOiB2b2lkCmdldFNldEJ5dGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzYKCS8vIGxvZyhzZXRiaXQoJ2ZvbycsIDAsIHRydWUpKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAxCglzZXRiaXQKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzc3CgkvLyBnZXRiaXQoJ2ZvbycsIDApCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJZ2V0Yml0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzgKCS8vIGdldGJ5dGUoJ2ZvbycsIDApCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJZ2V0Ynl0ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzc5CgkvLyBzZXRieXRlKCdmb28nLCAwLCAxKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAxCglzZXRieXRlCglyZXRzdWIKCi8vIGdldFNldFVpbnQ2NCgpdm9pZAoqYWJpX3JvdXRlX2dldFNldFVpbnQ2NDoKCS8vIGV4ZWN1dGUgZ2V0U2V0VWludDY0KCl2b2lkCgljYWxsc3ViIGdldFNldFVpbnQ2NAoJaW50IDEKCXJldHVybgoKLy8gZ2V0U2V0VWludDY0KCk6IHZvaWQKZ2V0U2V0VWludDY0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODMKCS8vIGFzc2VydChzZXRiaXQoMTIzLCAwLCB0cnVlKSkKCWludCAxMjMKCWludCAwCglpbnQgMQoJc2V0Yml0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4NAoJLy8gZ2V0Yml0KDEyMywgMCkKCWludCAxMjMKCWludCAwCglnZXRiaXQKCXJldHN1YgoKLy8gYmxvY2tPcCgpdm9pZAoqYWJpX3JvdXRlX2Jsb2NrT3A6CgkvLyBleGVjdXRlIGJsb2NrT3AoKXZvaWQKCWNhbGxzdWIgYmxvY2tPcAoJaW50IDEKCXJldHVybgoKLy8gYmxvY2tPcCgpOiB2b2lkCmJsb2NrT3A6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4OAoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uc2VlZCkKCWdsb2JhbCBSb3VuZAoJaW50IDEKCS0KCWJsb2NrIEJsa1NlZWQKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzg5CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS50aW1lc3RhbXApCglnbG9iYWwgUm91bmQKCWludCAxCgktCglibG9jayBCbGtUaW1lc3RhbXAKCWFzc2VydAoJcmV0c3ViCgovLyBiNjQoKXZvaWQKKmFiaV9yb3V0ZV9iNjQ6CgkvLyBleGVjdXRlIGI2NCgpdm9pZAoJY2FsbHN1YiBiNjQKCWludCAxCglyZXR1cm4KCi8vIGI2NCgpOiB2b2lkCmI2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzkzCgkvLyBsb2coYmFzZTY0RGVjb2RlKCdTdGRFbmNvZGluZycsICcnKSkKCWJ5dGUgMHggLy8gIiIKCWJhc2U2NF9kZWNvZGUgU3RkRW5jb2RpbmcKCWxvZwoJcmV0c3ViCgovLyBqc29uKCl2b2lkCiphYmlfcm91dGVfanNvbjoKCS8vIGV4ZWN1dGUganNvbigpdm9pZAoJY2FsbHN1YiBqc29uCglpbnQgMQoJcmV0dXJuCgovLyBqc29uKCk6IHZvaWQKanNvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk3CgkvLyBsb2coanNvblJlZignSlNPTk9iamVjdCcsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05PYmplY3QKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk4CgkvLyBsb2coanNvblJlZignSlNPTlN0cmluZycsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05TdHJpbmcKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk5CgkvLyBhc3NlcnQoanNvblJlZignSlNPTlVpbnQ2NCcsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05VaW50NjQKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRsZW5PcCgpdm9pZAoqYWJpX3JvdXRlX2JpdGxlbk9wOgoJLy8gZXhlY3V0ZSBiaXRsZW5PcCgpdm9pZAoJY2FsbHN1YiBiaXRsZW5PcAoJaW50IDEKCXJldHVybgoKLy8gYml0bGVuT3AoKTogdm9pZApiaXRsZW5PcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDAzCgkvLyBiaXRsZW4oMTIzKQoJaW50IDEyMwoJYml0bGVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDQKCS8vIGJpdGxlbignZm9vJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJpdGxlbgoJcmV0c3ViCgovLyBjb21wdXRlZENvbnN0KCl2b2lkCiphYmlfcm91dGVfY29tcHV0ZWRDb25zdDoKCS8vIGV4ZWN1dGUgY29tcHV0ZWRDb25zdCgpdm9pZAoJY2FsbHN1YiBjb21wdXRlZENvbnN0CglpbnQgMQoJcmV0dXJuCgovLyBjb21wdXRlZENvbnN0KCk6IHZvaWQKY29tcHV0ZWRDb25zdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDA4CgkvLyBhc3NlcnQoQ09NUFVURURfQ09OU1QpCglpbnQgMjQ2Cglhc3NlcnQKCXJldHN1YgoKLy8gbXVsdGlDb21wdXRlZENvbnN0KCl2b2lkCiphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0OgoJLy8gZXhlY3V0ZSBtdWx0aUNvbXB1dGVkQ29uc3QoKXZvaWQKCWNhbGxzdWIgbXVsdGlDb21wdXRlZENvbnN0CglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aUNvbXB1dGVkQ29uc3QoKTogdm9pZAptdWx0aUNvbXB1dGVkQ29uc3Q6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxMgoJLy8gYXNzZXJ0KE1VVExJX0NPTVBVVEVEX0NPTlNUKQoJaW50IDMwMzgxCglhc3NlcnQKCXJldHN1YgoKLy8gcmVhZFNjaGVtYSgpdm9pZAoqYWJpX3JvdXRlX3JlYWRTY2hlbWE6CgkvLyBleGVjdXRlIHJlYWRTY2hlbWEoKXZvaWQKCWNhbGxzdWIgcmVhZFNjaGVtYQoJaW50IDEKCXJldHVybgoKLy8gcmVhZFNjaGVtYSgpOiB2b2lkCnJlYWRTY2hlbWE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNgoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCA9PT0gMSkKCWludCAxCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNwoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlID09PSAyKQoJaW50IDIKCWR1cAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDE4CgkvLyBhc3NlcnQoU2NoZW1hQ29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQgPT09IDMpCglpbnQgMwoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MTkKCS8vIGFzc2VydChTY2hlbWFDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlID09PSA0KQoJaW50IDQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBjb21wYXJpc29uT3IoKWJvb2wKKmFiaV9yb3V0ZV9jb21wYXJpc29uT3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29tcGFyaXNvbk9yKClib29sCgljYWxsc3ViIGNvbXBhcmlzb25PcgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjb21wYXJpc29uT3IoKTogYm9vbGVhbgpjb21wYXJpc29uT3I6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyMwoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlciA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzcyB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IGdsb2JhbHMuemVyb0FkZHJlc3M7Cgl0eG4gU2VuZGVyCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCXx8Cgoqc2tpcF9vcjA6CglyZXRzdWIKCi8vIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKKmFiaV9yb3V0ZV90eG5BcmdzTWV0aG9kOgoJLy8gX3BheTE6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKF9wYXkxKSBmb3IgdHhuQXJnc01ldGhvZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKCWNhbGxzdWIgdHhuQXJnc01ldGhvZAoJaW50IDEKCXJldHVybgoKLy8gdHhuQXJnc01ldGhvZChfcGF5MTogUGF5VHhuKTogdm9pZAp0eG5BcmdzTWV0aG9kOgoJcHJvdG8gMSAwCglyZXRzdWIKCi8vIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCiphYmlfcm91dGVfY2FsbFR4bkFyZ3NNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxUeG5BcmdzTWV0aG9kCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsVHhuQXJnc01ldGhvZCgpOiB2b2lkCmNhbGxUeG5BcmdzTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzAKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBHZW5lcmFsVGVzdC5wcm90b3R5cGUudHhuQXJnc01ldGhvZD4oewoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMCB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDMxCgkvLyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQzMQoJLy8gYW1vdW50OiAwCglpbnQgMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAidHhuQXJnc01ldGhvZChwYXkpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzEKCS8vIG1ldGhvZEFyZ3M6IFt7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IDAgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkCiphYmlfcm91dGVfc3RhdGljVmFsdWVMZW46CgkvLyB4OiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBzdGF0aWNWYWx1ZUxlbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNWYWx1ZUxlbih1aW50MjU2KXZvaWQKCWNhbGxzdWIgc3RhdGljVmFsdWVMZW4KCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY1ZhbHVlTGVuKHg6IHVpbnQyNTYpOiB2b2lkCnN0YXRpY1ZhbHVlTGVuOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzYKCS8vIGFzc2VydChsZW4oeCkpCglpbnQgMzIKCWFzc2VydAoJcmV0c3ViCgovLyBzdGF0aWNUeXBlTGVuKCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUxlbjoKCS8vIGV4ZWN1dGUgc3RhdGljVHlwZUxlbigpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlTGVuCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlTGVuKCk6IHZvaWQKc3RhdGljVHlwZUxlbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQwCgkvLyBhc3NlcnQobGVuPHVpbnQyNTY+KCkpCglpbnQgMzIKCWFzc2VydAoJcmV0c3ViCgovLyBkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9keW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGR5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBkeW5hbWljU2NyYXRjaFNsb3QKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmR5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQ0CgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDEpLnZhbHVlID0gMTMzNwoJaW50IDEKCWludCAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ0NQoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMSkudmFsdWUgPT09IDEzMzcpCglpbnQgMQoJbG9hZHMKCWludCAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfaW5jcmVtZW50U2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudFNjcmF0Y2hTbG90CglpbnQgMQoJcmV0dXJuCgovLyBpbmNyZW1lbnRTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudFNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NDkKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludCAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTAKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSArPSAxCglsb2FkIDAKCWludCAxCgkrCglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTEKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzgpCglsb2FkIDAKCWludCAxMzM4Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoqYWJpX3JvdXRlX2luY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdDoKCS8vIGV4ZWN1dGUgaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdAoJaW50IDEKCXJldHVybgoKLy8gaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90KCk6IHZvaWQKaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTUKCS8vIHRoaXMuZHluYW1pY1NjcmF0Y2goMikudmFsdWUgPSAxMzM3CglpbnQgMgoJaW50IDEzMzcKCXN0b3JlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDU2CgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlICs9IDEKCWludCAyCglsb2FkcwoJaW50IDEKCSsKCWludCAyCglzd2FwCglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ1NwoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMikudmFsdWUgPT09IDEzMzgpCglpbnQgMgoJbG9hZHMKCWludCAxMzM4Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGZyb21BZGRyZXNzKCl2b2lkCiphYmlfcm91dGVfZnJvbUFkZHJlc3M6CgkvLyBleGVjdXRlIGZyb21BZGRyZXNzKCl2b2lkCgljYWxsc3ViIGZyb21BZGRyZXNzCglpbnQgMQoJcmV0dXJuCgovLyBmcm9tQWRkcmVzcygpOiB2b2lkCmZyb21BZGRyZXNzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2MQoJLy8gYSA9IEFkZHJlc3MuZnJvbUFkZHJlc3MoJ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFZNUhGS1EnKQoJYWRkciBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWTVIRktRCglmcmFtZV9idXJ5IDAgLy8gYTogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDYyCgkvLyBhc3NlcnQoYSA9PT0gQWRkcmVzcy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAwIC8vIGE6IGFkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBlYXJseVJldHVybih1aW50NjQpdWludDY0CiphYmlfcm91dGVfZWFybHlSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZWFybHlSZXR1cm4odWludDY0KXVpbnQ2NAoJY2FsbHN1YiBlYXJseVJldHVybgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGVhcmx5UmV0dXJuKGE6IHVpbnQ2NCk6IHVpbnQ2NAplYXJseVJldHVybjoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY2CgkvLyBhID09PSAxCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpbnQgMQoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2NwoJLy8gcmV0dXJuIDI7CglpbnQgMgoJYiAqZWFybHlSZXR1cm4qcmV0dXJuCgoqaWYxX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY5CgkvLyBiID0gYSArIDEKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzAKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIDAgLy8gYjogdWludDY0CgoqZWFybHlSZXR1cm4qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGFzc2V0TWV0aG9kQXJncygpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJnczoKCS8vIGV4ZWN1dGUgYXNzZXRNZXRob2RBcmdzKCl2b2lkCgljYWxsc3ViIGFzc2V0TWV0aG9kQXJncwoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRNZXRob2RBcmdzKCk6IHZvaWQKYXNzZXRNZXRob2RBcmdzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzQKCS8vIHNlbmRNZXRob2RDYWxsPFtBc3NldFJlZmVyZW5jZV0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW0Fzc2V0SUQuZnJvbVVpbnQ2NCgxKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImZvbyhhc3NldCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NgoJLy8gbWV0aG9kQXJnczogW0Fzc2V0SUQuZnJvbVVpbnQ2NCgxKV0KCWludCAxCglpdHhuX2ZpZWxkIEFzc2V0cwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtdWx0aXBsZVByb2dyYW1QYWdlcygpdm9pZAoqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzOgoJLy8gZXhlY3V0ZSBtdWx0aXBsZVByb2dyYW1QYWdlcygpdm9pZAoJY2FsbHN1YiBtdWx0aXBsZVByb2dyYW1QYWdlcwoJaW50IDEKCXJldHVybgoKLy8gbXVsdGlwbGVQcm9ncmFtUGFnZXMoKTogdm9pZAptdWx0aXBsZVByb2dyYW1QYWdlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDg1CgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0sCgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogW3RoaXMucGFnZU9uZS52YWx1ZSwgdGhpcy5wYWdlVHdvLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ4NgoJLy8gYXBwcm92YWxQcm9ncmFtOiBbdGhpcy5wYWdlT25lLnZhbHVlLCB0aGlzLnBhZ2VUd28udmFsdWVdCglieXRlIDB4NzA2MTY3NjU0ZjZlNjUgLy8gInBhZ2VPbmUiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBhZ2VPbmUudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZSAweDcwNjE2NzY1NTQ3NzZmIC8vICJwYWdlVHdvIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlVHdvLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ4NwoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0KCWJ5dGUgMHg3MDYxNjc2NTRmNmU2NSAvLyAicGFnZU9uZSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZU9uZS52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtUGFnZXMKCWJ5dGUgMHg3MDYxNjc2NTU0Nzc2ZiAvLyAicGFnZVR3byIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZVR3by52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtUGFnZXMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFzc2VydENvbW1lbnQoKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRDb21tZW50OgoJLy8gZXhlY3V0ZSBhc3NlcnRDb21tZW50KCl2b2lkCgljYWxsc3ViIGFzc2VydENvbW1lbnQKCWludCAxCglyZXR1cm4KCi8vIGFzc2VydENvbW1lbnQoKTogdm9pZAphc3NlcnRDb21tZW50OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0OTIKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50IDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gdGhyb3dFcnJvck1lc3NhZ2UoKXZvaWQKKmFiaV9yb3V0ZV90aHJvd0Vycm9yTWVzc2FnZToKCS8vIGV4ZWN1dGUgdGhyb3dFcnJvck1lc3NhZ2UoKXZvaWQKCWNhbGxzdWIgdGhyb3dFcnJvck1lc3NhZ2UKCWludCAxCglyZXR1cm4KCi8vIHRocm93RXJyb3JNZXNzYWdlKCk6IHZvaWQKdGhyb3dFcnJvck1lc3NhZ2U6Cglwcm90byAwIDAKCgkvLyB0aGlzIGlzIGFuIGVycm9yCgllcnIKCXJldHN1YgoKLy8gb3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vckxpdGVyYWxUeXBlOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvckxpdGVyYWxUeXBlKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBvckxpdGVyYWxUeXBlCglpbnQgMQoJcmV0dXJuCgovLyBvckxpdGVyYWxUeXBlKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApvckxpdGVyYWxUeXBlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAwCgkvLyBmb28gPSBhICYmIGIgPT09IDEgPyAyIDogMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpbnQgMQoJPT0KCSYmCgoqc2tpcF9hbmQwOgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnQgMgoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnQgMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMCAvLyBmb286IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAxCgkvLyBhc3NlcnQoZm9vKQoJZnJhbWVfZGlnIDAgLy8gZm9vOiB1aW50NjQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAzCgkvLyBiYXIgPSBhICYmIGIgPT09IDAgPyAnMicgOiAnMCcKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJaW50IDAKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJYnl0ZSAweDMyIC8vICIyIgoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglieXRlIDB4MzAgLy8gIjAiCgoqdGVybmFyeTFfZW5kOgoJZnJhbWVfYnVyeSAxIC8vIGJhcjogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDQKCS8vIGxvZyhiYXIpCglmcmFtZV9kaWcgMSAvLyBiYXI6IGJ5dGVbXQoJbG9nCglyZXRzdWIKCi8vIG5vbkFiaSgpOiB2b2lkCm5vbkFiaToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDkKCS8vIGFzc2VydCh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhLmxlbmd0aCkKCXR4biBOdW1BcHBBcmdzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhLmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipmb3JfMToKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTExCgkvLyBpIDwgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJdHhuIE51bUFwcEFyZ3MKCTwKCWJ6ICpmb3JfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMgoJLy8gbG9nKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbaV0pCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXR4bmFzIEFwcGxpY2F0aW9uQXJncwoJbG9nCgoqZm9yXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCXJldHN1YgoKLy8gbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCl2b2lkCiphYmlfcm91dGVfbXVsdGlsaW5lRnVuY3Rpb25DYWxsOgoJLy8gZXhlY3V0ZSBtdWx0aWxpbmVGdW5jdGlvbkNhbGwoKXZvaWQKCWNhbGxzdWIgbXVsdGlsaW5lRnVuY3Rpb25DYWxsCglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aWxpbmVGdW5jdGlvbkNhbGwoKTogdm9pZAptdWx0aWxpbmVGdW5jdGlvbkNhbGw6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTcKCS8vIGFwcCA9IEFwcElELnplcm9JbmRleAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBhcHA6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTE4CgkvLyBhZGRyID0gQWRkcmVzcy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9idXJ5IDEgLy8gYWRkcjogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTIwCgkvLyBhcHAubG9jYWxTdGF0ZSgKCS8vICAgICAgIGFkZHIsCgkvLyAgICAgICAna2V5JwoJLy8gICAgICkKCWZyYW1lX2RpZyAxIC8vIGFkZHI6IGFkZHJlc3MKCWludCAwIC8vIGFwcDogdWludDY0CglieXRlIDB4NmI2NTc5IC8vICJrZXkiCglhcHBfbG9jYWxfZ2V0X2V4CgoJLy8gbG9jYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IGFwcC5sb2NhbFN0YXRlKCBhZGRyLCAna2V5JyApCglhc3NlcnQKCXJldHN1YgoKLy8gYSgpdWludDY0CiphYmlfcm91dGVfYToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhKCl1aW50NjQKCWNhbGxzdWIgYQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGEoKTogdWludDY0CmE6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyNwoJLy8gcmV0dXJuIDM7CglpbnQgMwoJcmV0c3ViCgovLyBiKCl1aW50NjQKKmFiaV9yb3V0ZV9iOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGIoKXVpbnQ2NAoJY2FsbHN1YiBiCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYigpOiB1aW50NjQKYjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTMxCgkvLyByZXR1cm4gNTsKCWludCA1CglyZXRzdWIKCi8vIHVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQKKmFiaV9yb3V0ZV91bnVzZWRNZXRob2RWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1bnVzZWRNZXRob2RWYWx1ZSgpdWludDY0CgljYWxsc3ViIHVudXNlZE1ldGhvZFZhbHVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdW51c2VkTWV0aG9kVmFsdWUoKTogdWludDY0CnVudXNlZE1ldGhvZFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MzUKCS8vIHRoaXMuYSgpCgljYWxsc3ViIGEKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTM2CgkvLyByZXR1cm4gdGhpcy5iKCk7CgljYWxsc3ViIGIKCXJldHN1YgoKLy8gcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCl1aW50NjQKKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCl1aW50NjQKCWNhbGxzdWIgcmVhc3NpZ25lZE5vbkZpcnN0VmFyCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCk6IHVpbnQ2NApyZWFzc2lnbmVkTm9uRmlyc3RWYXI6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NDcKCS8vIGEgPSAxIGFzIHVpbnQ2NAoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU0OAoJLy8gYiA9IHRoaXMuYXBwLmlkCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglmcmFtZV9idXJ5IDEgLy8gYjogdWludDY0CgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTQ5CgkvLyBhCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjQKCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1MAoJLy8gYiA9IDIKCWludCAyCglmcmFtZV9idXJ5IDEgLy8gYjogdWludDY0CgoqaWYyX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTUzCgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAxIC8vIGI6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZnZMdigpdm9pZAoqYWJpX3JvdXRlX2Z2THY6CgkvLyBleGVjdXRlIGZ2THYoKXZvaWQKCWNhbGxzdWIgZnZMdgoJaW50IDEKCXJldHVybgoKLy8gZnZMdigpOiB2b2lkCmZ2THY6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1NwoJLy8gYXNzZXJ0KHRoaXMudHhuLmZpcnN0VmFsaWQpCgl0eG4gRmlyc3RWYWxpZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NTgKCS8vIGFzc2VydCh0aGlzLnR4bi5sYXN0VmFsaWQpCgl0eG4gTGFzdFZhbGlkCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR4blR5cGVFbnVtKCl2b2lkIgoJbWV0aG9kICJ0eG5Hcm91cExlbmd0aCgpdm9pZCIKCW1ldGhvZCAiYXNzZXJ0cyhib29sLGJvb2wpdm9pZCIKCW1ldGhvZCAidmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZCIKCW1ldGhvZCAidmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQiCgltZXRob2QgInZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQiCgltZXRob2QgInZlcmlmeVR4bk5vdEluY2x1ZGVkSW4oKXZvaWQiCgltZXRob2QgInN1Ym1pdFBlbmRpbmdHcm91cCgpdm9pZCIKCW1ldGhvZCAibWV0aG9kV2l0aFR4bkFyZ3MoKXZvaWQiCgltZXRob2QgInNoaWZ0KCl2b2lkIgoJbWV0aG9kICJmcm9tQnl0ZXMoKXZvaWQiCgltZXRob2QgImZyb21VaW50NjQoKXZvaWQiCgltZXRob2QgImJ6ZXJvRnVuY3Rpb24oKXZvaWQiCgltZXRob2QgImV2ZW50cygpdm9pZCIKCW1ldGhvZCAibGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdIgoJbWV0aG9kICJzdGF0aWNDb250cmFjdFByb3BlcnRpZXMoKXZvaWQiCgltZXRob2QgIm51bWJlclRvU3RyaW5nKCl2b2lkIgoJbWV0aG9kICJtZXRob2RPblBhcmVucygpdm9pZCIKCW1ldGhvZCAic3RyaW5nU3Vic3RyaW5nKCl2b2lkIgoJbWV0aG9kICJpZFByb3BlcnR5KCl2b2lkIgoJbWV0aG9kICJzY3JhdGNoU2xvdCgpdm9pZCIKCW1ldGhvZCAiZWNkc2EoKXZvaWQiCgltZXRob2QgInZlcmlmeVR4blR5cGVzKCl2b2lkIgoJbWV0aG9kICJzdHJpbmdQbHVzRXF1YWxzKCl2b2lkIgoJbWV0aG9kICJpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXSIKCW1ldGhvZCAiY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXIoKXZvaWQiCgltZXRob2QgImludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZCIKCW1ldGhvZCAiYXBwTG9hZFNjcmF0Y2goKXZvaWQiCgltZXRob2QgInVpbnROV2l0aFVuZGVyc2NvcmUoKXVpbnQyNTYiCgltZXRob2QgIm9wVXAoKXZvaWQiCgltZXRob2QgInJldHVyblZhbHVlT25Bc3NpZ25tZW50KClzdHJpbmciCgltZXRob2QgInJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NCIKCW1ldGhvZCAicmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQiCgltZXRob2QgInJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCl1aW50NjQiCgltZXRob2QgInJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0IgoJbWV0aG9kICJyZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NCIKCW1ldGhvZCAiY29uc3RzKCl2b2lkIgoJbWV0aG9kICJhc3NlcnRXaXRoTWVzc2FnZSgpdm9pZCIKCW1ldGhvZCAib3Bjb2RlQWxpYXNlcygpdm9pZCIKCW1ldGhvZCAidnJmVmVyaWZ5T3AoKXZvaWQiCgltZXRob2QgImVjTWF0aCgpdm9pZCIKCW1ldGhvZCAiZ2l0eG4oKXZvaWQiCgltZXRob2QgImdldFNldEJ5dGVzKCl2b2lkIgoJbWV0aG9kICJnZXRTZXRVaW50NjQoKXZvaWQiCgltZXRob2QgImJsb2NrT3AoKXZvaWQiCgltZXRob2QgImI2NCgpdm9pZCIKCW1ldGhvZCAianNvbigpdm9pZCIKCW1ldGhvZCAiYml0bGVuT3AoKXZvaWQiCgltZXRob2QgImNvbXB1dGVkQ29uc3QoKXZvaWQiCgltZXRob2QgIm11bHRpQ29tcHV0ZWRDb25zdCgpdm9pZCIKCW1ldGhvZCAicmVhZFNjaGVtYSgpdm9pZCIKCW1ldGhvZCAiY29tcGFyaXNvbk9yKClib29sIgoJbWV0aG9kICJ0eG5BcmdzTWV0aG9kKHBheSl2b2lkIgoJbWV0aG9kICJjYWxsVHhuQXJnc01ldGhvZCgpdm9pZCIKCW1ldGhvZCAic3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkIgoJbWV0aG9kICJzdGF0aWNUeXBlTGVuKCl2b2lkIgoJbWV0aG9kICJkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCgltZXRob2QgImluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkIgoJbWV0aG9kICJpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCgltZXRob2QgImZyb21BZGRyZXNzKCl2b2lkIgoJbWV0aG9kICJlYXJseVJldHVybih1aW50NjQpdWludDY0IgoJbWV0aG9kICJhc3NldE1ldGhvZEFyZ3MoKXZvaWQiCgltZXRob2QgIm11bHRpcGxlUHJvZ3JhbVBhZ2VzKCl2b2lkIgoJbWV0aG9kICJhc3NlcnRDb21tZW50KCl2b2lkIgoJbWV0aG9kICJ0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZCIKCW1ldGhvZCAib3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgIm11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZCIKCW1ldGhvZCAiYSgpdWludDY0IgoJbWV0aG9kICJiKCl1aW50NjQiCgltZXRob2QgInVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQiCgltZXRob2QgInJlYXNzaWduZWROb25GaXJzdFZhcigpdWludDY0IgoJbWV0aG9kICJmdkx2KCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlRW51bSAqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoICphYmlfcm91dGVfYXNzZXJ0cyAqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21BcmcgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Gcm9tVHhuR3JvdXAgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb24gKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluICphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbiAqYWJpX3JvdXRlX3N1Ym1pdFBlbmRpbmdHcm91cCAqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzICphYmlfcm91dGVfc2hpZnQgKmFiaV9yb3V0ZV9mcm9tQnl0ZXMgKmFiaV9yb3V0ZV9mcm9tVWludDY0ICphYmlfcm91dGVfYnplcm9GdW5jdGlvbiAqYWJpX3JvdXRlX2V2ZW50cyAqYWJpX3JvdXRlX2xldE9wdGltaXphdGlvbiAqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllcyAqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nICphYmlfcm91dGVfbWV0aG9kT25QYXJlbnMgKmFiaV9yb3V0ZV9zdHJpbmdTdWJzdHJpbmcgKmFiaV9yb3V0ZV9pZFByb3BlcnR5ICphYmlfcm91dGVfc2NyYXRjaFNsb3QgKmFiaV9yb3V0ZV9lY2RzYSAqYWJpX3JvdXRlX3ZlcmlmeVR4blR5cGVzICphYmlfcm91dGVfc3RyaW5nUGx1c0VxdWFscyAqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbSAqYWJpX3JvdXRlX2NhbGxQcml2YXRlRGVmaW5lZExhdGVyICphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2FwcExvYWRTY3JhdGNoICphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZSAqYWJpX3JvdXRlX29wVXAgKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX2NvbnN0cyAqYWJpX3JvdXRlX2Fzc2VydFdpdGhNZXNzYWdlICphYmlfcm91dGVfb3Bjb2RlQWxpYXNlcyAqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wICphYmlfcm91dGVfZWNNYXRoICphYmlfcm91dGVfZ2l0eG4gKmFiaV9yb3V0ZV9nZXRTZXRCeXRlcyAqYWJpX3JvdXRlX2dldFNldFVpbnQ2NCAqYWJpX3JvdXRlX2Jsb2NrT3AgKmFiaV9yb3V0ZV9iNjQgKmFiaV9yb3V0ZV9qc29uICphYmlfcm91dGVfYml0bGVuT3AgKmFiaV9yb3V0ZV9jb21wdXRlZENvbnN0ICphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0ICphYmlfcm91dGVfcmVhZFNjaGVtYSAqYWJpX3JvdXRlX2NvbXBhcmlzb25PciAqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2QgKmFiaV9yb3V0ZV9jYWxsVHhuQXJnc01ldGhvZCAqYWJpX3JvdXRlX3N0YXRpY1ZhbHVlTGVuICphYmlfcm91dGVfc3RhdGljVHlwZUxlbiAqYWJpX3JvdXRlX2R5bmFtaWNTY3JhdGNoU2xvdCAqYWJpX3JvdXRlX2luY3JlbWVudFNjcmF0Y2hTbG90ICphYmlfcm91dGVfaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90ICphYmlfcm91dGVfZnJvbUFkZHJlc3MgKmFiaV9yb3V0ZV9lYXJseVJldHVybiAqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJncyAqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzICphYmlfcm91dGVfYXNzZXJ0Q29tbWVudCAqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlICphYmlfcm91dGVfb3JMaXRlcmFsVHlwZSAqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfdW51c2VkTWV0aG9kVmFsdWUgKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXIgKmFiaV9yb3V0ZV9mdkx2CgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpCglpbnQgMQoJcmV0dXJuCgoqaW50VG9Bc2NpaToKCXByb3RvIDEgMQoJYnl0ZSAweDMwMzEzMjMzMzQzNTM2MzczODM5IC8vICIwMTIzNDU2Nzg5IgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEKCWV4dHJhY3QzCglyZXRzdWIKCQoKKml0b2E6Cglwcm90byAxIDEKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludCAwCgk9PQoJYnogKml0b2FfaWZfZW5kCglieXRlIDB4MzAKCXJldHN1YgoKKml0b2FfaWZfZW5kOgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgkvCglpbnQgMAoJPgoJYnogKml0b2FfdGVybmFyeV9mYWxzZQoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgkvCgljYWxsc3ViICppdG9hCgliICppdG9hX3Rlcm5hcnlfZW5kCgoqaXRvYV90ZXJuYXJ5X2ZhbHNlOgoJYnl0ZSAweCAvLyAiIgoKKml0b2FfdGVybmFyeV9lbmQ6CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMTAKCSUKCWNhbGxzdWIgKmludFRvQXNjaWkKCWNvbmNhdAoJcmV0c3Vi",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gISEhISBXQVJOSU5HOiBUaGlzIGNvbnRyYWN0IGlzICpOT1QqIEFSQzQgY29tcGxpYW50LiBJdCBtYXkgY29udGFpbiBBQkkgbWV0aG9kcywgYnV0IGl0IGFsc28gYWxsb3dzIGFwcCBjYWxscyB3aGVyZSB0aGUgZmlyc3QgYXJndW1lbnQgZG9lcyBOT1QgbWF0Y2ggYW4gQUJJIHNlbGVjdG9yCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eG5UeXBlRW51bSgpdm9pZAoqYWJpX3JvdXRlX3R4blR5cGVFbnVtOgoJLy8gZXhlY3V0ZSB0eG5UeXBlRW51bSgpdm9pZAoJY2FsbHN1YiB0eG5UeXBlRW51bQoJaW50IDEKCXJldHVybgoKLy8gdHhuVHlwZUVudW0oKTogdm9pZAp0eG5UeXBlRW51bToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NjEKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwWzBdLnR5cGVFbnVtID09PSBUcmFuc2FjdGlvblR5cGUuQXBwbGljYXRpb25DYWxsKQoJaW50IDAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYXBwbAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyB0eG5Hcm91cExlbmd0aCgpdm9pZAoqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoOgoJLy8gZXhlY3V0ZSB0eG5Hcm91cExlbmd0aCgpdm9pZAoJY2FsbHN1YiB0eG5Hcm91cExlbmd0aAoJaW50IDEKCXJldHVybgoKLy8gdHhuR3JvdXBMZW5ndGgoKTogdm9pZAp0eG5Hcm91cExlbmd0aDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NjUKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwLmxlbmd0aCA9PT0gMSkKCWdsb2JhbCBHcm91cFNpemUKCWludCAxCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydHMoYm9vbCxib29sKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRzOgoJLy8gYXJnMjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzIpIGZvciBhc3NlcnRzIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMSkgZm9yIGFzc2VydHMgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgYXNzZXJ0cyhib29sLGJvb2wpdm9pZAoJY2FsbHN1YiBhc3NlcnRzCglpbnQgMQoJcmV0dXJuCgovLyBhc3NlcnRzKGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiB2b2lkCmFzc2VydHM6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjY5CgkvLyBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglmcmFtZV9kaWcgLTEgLy8gYXJnMTogYm9vbGVhbgoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoYXJnMSwgYXJnMiwgYXJnMSA9PT0gYXJnMikKCWFzc2VydAoJZnJhbWVfZGlnIC0xIC8vIGFyZzE6IGJvb2xlYW4KCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgk9PQoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21Bcmc6CgkvLyBzb21lUGF5OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnQgMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50IHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChzb21lUGF5KSBmb3IgdmVyaWZ5VHhuRnJvbUFyZyBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHZlcmlmeVR4bkZyb21BcmcocGF5KXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuRnJvbUFyZwoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhzb21lUGF5OiBQYXlUeG4pOiB2b2lkCnZlcmlmeVR4bkZyb21Bcmc6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjczCgkvLyB2ZXJpZnlUeG4oc29tZVBheSwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiAxMDBfMDAwIH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzb21lUGF5OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNvbWVQYXkiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzb21lUGF5OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaW50IDEwMF8wMDAKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzb21lUGF5IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6IjEwMF8wMDAifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHZlcmlmeVR4bkZyb21UeG5Hcm91cCgpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21UeG5Hcm91cDoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkZyb21UeG5Hcm91cAoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCk6IHZvaWQKdmVyaWZ5VHhuRnJvbVR4bkdyb3VwOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo3NwoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuR3JvdXBbMF0sIHsgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWludCAwCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuQ29uZGl0aW9uKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuQ29uZGl0aW9uOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuQ29uZGl0aW9uCglpbnQgMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Db25kaXRpb24oKTogdm9pZAp2ZXJpZnlUeG5Db25kaXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjgxCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHsgZ3JlYXRlclRoYW46IDEgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFwcGxpY2F0aW9uSUQKCXR4biBBcHBsaWNhdGlvbklECglpbnQgMQoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6ImFwcGxpY2F0aW9uSUQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjEifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5JbmNsdWRlZEluKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkluY2x1ZGVkSW4KCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkluY2x1ZGVkSW4oKTogdm9pZAp2ZXJpZnlUeG5JbmNsdWRlZEluOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo4NwoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7CgkvLyAgICAgICBzZW5kZXI6IHsgaW5jbHVkZWRJbjogW3RoaXMudHhuLnNlbmRlcl0gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6eyJ0eG5UZXh0IjoidGhpcy50eG4ifSwiZmllbGQiOiJzZW5kZXIiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbdGhpcy50eG4uc2VuZGVyXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bk5vdEluY2x1ZGVkSW46CgkvLyBleGVjdXRlIHZlcmlmeVR4bk5vdEluY2x1ZGVkSW4oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuTm90SW5jbHVkZWRJbgoJaW50IDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpOiB2b2lkCnZlcmlmeVR4bk5vdEluY2x1ZGVkSW46Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjkzCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBub3RJbmNsdWRlZEluOiBbZ2xvYmFscy56ZXJvQWRkcmVzc10gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6Im5vdEluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IltnbG9iYWxzLnplcm9BZGRyZXNzXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkCiphYmlfcm91dGVfc3VibWl0UGVuZGluZ0dyb3VwOgoJLy8gZXhlY3V0ZSBzdWJtaXRQZW5kaW5nR3JvdXAoKXZvaWQKCWNhbGxzdWIgc3VibWl0UGVuZGluZ0dyb3VwCglpbnQgMQoJcmV0dXJuCgovLyBzdWJtaXRQZW5kaW5nR3JvdXAoKTogdm9pZApzdWJtaXRQZW5kaW5nR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjk5CgkvLyB0aGlzLnBlbmRpbmdHcm91cC5hZGRQYXltZW50KHsgYW1vdW50OiAwLCByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgaXNGaXJzdFR4bjogdHJ1ZSB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6OTkKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo5OQoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIHRoaXMucGVuZGluZ0dyb3VwLmFkZFBheW1lbnQoeyBhbW91bnQ6IDAsIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBub3RlOiAnZm9vJyB9KQoJaXR4bl9uZXh0CglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIGFtb3VudDogMAoJaW50IDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDAKCS8vIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTAwCgkvLyBub3RlOiAnZm9vJwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDEKCS8vIHRoaXMucGVuZGluZ0dyb3VwLnN1Ym1pdCgpCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzOgoJLy8gZXhlY3V0ZSBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoJY2FsbHN1YiBtZXRob2RXaXRoVHhuQXJncwoJaW50IDEKCXJldHVybgoKLy8gbWV0aG9kV2l0aFR4bkFyZ3MoKTogdm9pZAptZXRob2RXaXRoVHhuQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTA1CgkvLyBzZW5kTWV0aG9kQ2FsbDxbUGF5VHhuLCBNZXRob2RDYWxsPFt1aW50NjRdLCB2b2lkPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogWwoJLy8gICAgICAgICB7IGFtb3VudDogMTAwXzAwMCwgcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlciB9LAoJLy8gICAgICAgICB7CgkvLyAgICAgICAgICAgbmFtZTogJ2JhcicsCgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbMV0sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIGFtb3VudDogMTAwXzAwMAoJaW50IDEwMF8wMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiYmFyKHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExMQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KQoJaW50IDEzMzcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTEyCgkvLyBtZXRob2RBcmdzOiBbMV0KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJmb28ocGF5LGFwcGwpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgeyBhbW91bnQ6IDEwMF8wMDAsIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIgfSwKCS8vICAgICAgICAgewoJLy8gICAgICAgICAgIG5hbWU6ICdiYXInLAoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQoMTMzNyksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogWzFdLAoJLy8gICAgICAgICB9LAoJLy8gICAgICAgXQoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBzaGlmdCgpdm9pZAoqYWJpX3JvdXRlX3NoaWZ0OgoJLy8gZXhlY3V0ZSBzaGlmdCgpdm9pZAoJY2FsbHN1YiBzaGlmdAoJaW50IDEKCXJldHVybgoKLy8gc2hpZnQoKTogdm9pZApzaGlmdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE5CgkvLyBhc3NlcnQoMSA8PCAyID09PSA0KQoJaW50IDEKCWludCAyCglzaGwKCWludCA0Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMjAKCS8vIGFzc2VydCg0ID4+IDEgPT09IDIpCglpbnQgNAoJaW50IDEKCXNocgoJaW50IDIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZnJvbUJ5dGVzKCl2b2lkCiphYmlfcm91dGVfZnJvbUJ5dGVzOgoJLy8gZXhlY3V0ZSBmcm9tQnl0ZXMoKXZvaWQKCWNhbGxzdWIgZnJvbUJ5dGVzCglpbnQgMQoJcmV0dXJuCgovLyBmcm9tQnl0ZXMoKTogdm9pZApmcm9tQnl0ZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEyNAoJLy8gYXNzZXJ0KEFkZHJlc3MuZnJvbUJ5dGVzKCdhYmMnKS5taW5CYWxhbmNlKQoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBmcm9tVWludDY0KCl2b2lkCiphYmlfcm91dGVfZnJvbVVpbnQ2NDoKCS8vIGV4ZWN1dGUgZnJvbVVpbnQ2NCgpdm9pZAoJY2FsbHN1YiBmcm9tVWludDY0CglpbnQgMQoJcmV0dXJuCgovLyBmcm9tVWludDY0KCk6IHZvaWQKZnJvbVVpbnQ2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI4CgkvLyBsb2coQXBwSUQuZnJvbVVpbnQ2NCgxMjMpLmNyZWF0b3IpCglpbnQgMTIzCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI5CgkvLyBsb2coQXNzZXRJRC5mcm9tVWludDY0KDEyMykuY3JlYXRvcikKCWludCAxMjMKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWxvZwoJcmV0c3ViCgovLyBiemVyb0Z1bmN0aW9uKCl2b2lkCiphYmlfcm91dGVfYnplcm9GdW5jdGlvbjoKCS8vIGV4ZWN1dGUgYnplcm9GdW5jdGlvbigpdm9pZAoJY2FsbHN1YiBiemVyb0Z1bmN0aW9uCglpbnQgMQoJcmV0dXJuCgovLyBiemVyb0Z1bmN0aW9uKCk6IHZvaWQKYnplcm9GdW5jdGlvbjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEzNAoJLy8geDogYnl0ZXMgPSBiemVybygyKQoJYnl0ZSAweDAwMDAKCWZyYW1lX2J1cnkgMCAvLyB4OiBieXRlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM1CgkvLyB5OiBieXRlcyA9IGJ6ZXJvKG4pCglpbnQgMQoJYnplcm8KCWZyYW1lX2J1cnkgMSAvLyB5OiBieXRlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM2CgkvLyB6OiBbdWludDY0LCB1aW50PDg+XSA9IGJ6ZXJvPFt1aW50NjQsIHVpbnQ8OD5dPigpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwCglmcmFtZV9idXJ5IDIgLy8gejogW3VpbnQ2NCwgdWludDw4Pl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEzNwoJLy8gYXNzZXJ0KGxlbih4ICsgeSArIHopID09PSAxMikKCWJ5dGUgMHgwMDAwIC8vIHg6IGJ5dGVzCglmcmFtZV9kaWcgMSAvLyB5OiBieXRlcwoJY29uY2F0CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwIC8vIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgljb25jYXQKCWxlbgoJaW50IDEyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGV2ZW50cygpdm9pZAoqYWJpX3JvdXRlX2V2ZW50czoKCS8vIGV4ZWN1dGUgZXZlbnRzKCl2b2lkCgljYWxsc3ViIGV2ZW50cwoJaW50IDEKCXJldHVybgoKLy8gZXZlbnRzKCk6IHZvaWQKZXZlbnRzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNTIKCS8vIHRoaXMubXlFdmVudC5sb2coeyBhcHA6IHRoaXMuYXBwLCBudW06IDEgfSkKCWJ5dGUgMHg4NzUyODE5NiAvLyBteUV2ZW50KHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMQoJY29uY2F0Cgljb25jYXQKCWxvZwoJcmV0c3ViCgovLyBsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10KKmFiaV9yb3V0ZV9sZXRPcHRpbWl6YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgbGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdCgljYWxsc3ViIGxldE9wdGltaXphdGlvbgoJZHVwCglsZW4KCWludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbGV0T3B0aW1pemF0aW9uKGE6IHVpbnQ2NFtdKTogdWludDY0W10KbGV0T3B0aW1pemF0aW9uOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNTYKCS8vIGFzc2VydChhWzBdKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTU4CgkvLyBiID0gWzEsIDIsIDNdCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IC0xIC8vIGI6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjAKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglyZXRzdWIKCi8vIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZAoqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllczoKCS8vIGV4ZWN1dGUgc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzKCl2b2lkCgljYWxsc3ViIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcwoJaW50IDEKCXJldHVybgoKLy8gc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzKCk6IHZvaWQKc3RhdGljQ29udHJhY3RQcm9wZXJ0aWVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IER1bW15Q29udHJhY3QuYXBwcm92YWxQcm9ncmFtKCksCgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogRHVtbXlDb250cmFjdC5jbGVhclByb2dyYW0oKSwKCS8vICAgICAgIGxvY2FsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1CeXRlU2xpY2UsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IER1bW15Q29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IER1bW15Q29udHJhY3Quc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NQoJLy8gb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcAoJaW50IDAgLy8gTm9PcAoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NgoJLy8gYXBwcm92YWxQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmFwcHJvdmFsUHJvZ3JhbSgpCglieXRlIGI2NCBDakVZRklFR0N6RVpDSTBNQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBSUVCUTRBRXVFUjdOallhQUk0Qi8vQUEKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjcKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmNsZWFyUHJvZ3JhbSgpCglieXRlIGI2NCBDZz09CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjgKCS8vIGxvY2FsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1CeXRlU2xpY2UKCWludCAwCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNjkKCS8vIGxvY2FsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEubG9jYWwubnVtVWludAoJaW50IDAKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZQoJaW50IDAKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzEKCS8vIGdsb2JhbE51bVVpbnQ6IER1bW15Q29udHJhY3Quc2NoZW1hLmdsb2JhbC5udW1VaW50CglpbnQgMAoJaXR4bl9maWVsZCBHbG9iYWxOdW1VaW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBudW1iZXJUb1N0cmluZygpdm9pZAoqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nOgoJLy8gZXhlY3V0ZSBudW1iZXJUb1N0cmluZygpdm9pZAoJY2FsbHN1YiBudW1iZXJUb1N0cmluZwoJaW50IDEKCXJldHVybgoKLy8gbnVtYmVyVG9TdHJpbmcoKTogdm9pZApudW1iZXJUb1N0cmluZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTc4CgkvLyBhc3NlcnQobi50b1N0cmluZygpID09PSBzKQoJaW50IDEKCWNhbGxzdWIgKml0b2EKCWJ5dGUgIjEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIG1ldGhvZE9uUGFyZW5zKCl2b2lkCiphYmlfcm91dGVfbWV0aG9kT25QYXJlbnM6CgkvLyBleGVjdXRlIG1ldGhvZE9uUGFyZW5zKCl2b2lkCgljYWxsc3ViIG1ldGhvZE9uUGFyZW5zCglpbnQgMQoJcmV0dXJuCgovLyBtZXRob2RPblBhcmVucygpOiB2b2lkCm1ldGhvZE9uUGFyZW5zOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODIKCS8vIGFzc2VydCgoMSArIDIpLnRvU3RyaW5nKCkgPT09ICczJykKCWludCAzCgljYWxsc3ViICppdG9hCglieXRlIDB4MzMgLy8gIjMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1N1YnN0cmluZygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1N1YnN0cmluZzoKCS8vIGV4ZWN1dGUgc3RyaW5nU3Vic3RyaW5nKCl2b2lkCgljYWxsc3ViIHN0cmluZ1N1YnN0cmluZwoJaW50IDEKCXJldHVybgoKLy8gc3RyaW5nU3Vic3RyaW5nKCk6IHZvaWQKc3RyaW5nU3Vic3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODcKCS8vIGFzc2VydChzLnN1YnN0cmluZygxLCAzKSA9PT0gJ2JjJykKCWJ5dGUgImFiY2RlZiIKCXN1YnN0cmluZyAxIDMKCWJ5dGUgMHg2MjYzIC8vICJiYyIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gaWRQcm9wZXJ0eSgpdm9pZAoqYWJpX3JvdXRlX2lkUHJvcGVydHk6CgkvLyBleGVjdXRlIGlkUHJvcGVydHkoKXZvaWQKCWNhbGxzdWIgaWRQcm9wZXJ0eQoJaW50IDEKCXJldHVybgoKLy8gaWRQcm9wZXJ0eSgpOiB2b2lkCmlkUHJvcGVydHk6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTEKCS8vIGFwcCA9IEFwcElELnplcm9JbmRleAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBhcHA6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTkyCgkvLyBhc3NlcnQoQXBwSUQuZnJvbVVpbnQ2NChhcHAuaWQpID09PSBhcHApCglpbnQgMCAvLyBhcHA6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTQKCS8vIGFzYSA9IEFzc2V0SUQuemVyb0luZGV4CglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGFzYTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTUKCS8vIGFzc2VydChBc3NldElELmZyb21VaW50NjQoYXNhLmlkKSA9PT0gYXNhKQoJaW50IDAgLy8gYXNhOiB1aW50NjQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBzY3JhdGNoU2xvdCgpdm9pZAoqYWJpX3JvdXRlX3NjcmF0Y2hTbG90OgoJLy8gZXhlY3V0ZSBzY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBzY3JhdGNoU2xvdAoJaW50IDEKCXJldHVybgoKLy8gc2NyYXRjaFNsb3QoKTogdm9pZApzY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTk5CgkvLyB0aGlzLnNjcmF0Y2gudmFsdWUgPSAxMzM3CglpbnQgMTMzNwoJc3RvcmUgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjAwCgkvLyBhc3NlcnQodGhpcy5zY3JhdGNoLnZhbHVlID09PSAxMzM3KQoJbG9hZCAwCglpbnQgMTMzNwoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBlY2RzYSgpdm9pZAoqYWJpX3JvdXRlX2VjZHNhOgoJLy8gZXhlY3V0ZSBlY2RzYSgpdm9pZAoJY2FsbHN1YiBlY2RzYQoJaW50IDEKCXJldHVybgoKLy8gZWNkc2EoKTogdm9pZAplY2RzYToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXBuIDMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwNAoJLy8gZWNkc2FWZXJpZnkoJ1NlY3AyNTZrMScsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJZHVwbiA0CgllY2RzYV92ZXJpZnkgU2VjcDI1NmsxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDUKCS8vIGQgPSBlY2RzYVBrRGVjb21wcmVzcygnU2VjcDI1NmsxJywgJycgYXMgYnl0ZXM8MzM+KQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJZWNkc2FfcGtfZGVjb21wcmVzcyBTZWNwMjU2azEKCWZyYW1lX2J1cnkgMCAvLyBkIHkgY29tcG9uZW50OiBieXRlW10KCWZyYW1lX2J1cnkgMSAvLyBkIHggY29tcG9uZW50OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwNgoJLy8gbG9nKGQueSkKCWZyYW1lX2RpZyAwIC8vIGQgeSBjb21wb25lbnQ6IGJ5dGVbXQoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDcKCS8vIGxvZyhkLngpCglmcmFtZV9kaWcgMSAvLyBkIHggY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjA5CgkvLyByID0gZWNkc2FQa1JlY292ZXIoJ1NlY3AyNTZrMScsICcnIGFzIGJ5dGVzMzIsIDEsICcnIGFzIGJ5dGVzMzIsICcnIGFzIGJ5dGVzMzIpCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiIgoJaW50IDEKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIC8vICIiCglkdXAKCWVjZHNhX3BrX3JlY292ZXIgU2VjcDI1NmsxCglmcmFtZV9idXJ5IDIgLy8gciB5IGNvbXBvbmVudDogYnl0ZVtdCglmcmFtZV9idXJ5IDMgLy8gciB4IGNvbXBvbmVudDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTAKCS8vIGxvZyhyLnkpCglmcmFtZV9kaWcgMiAvLyByIHkgY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjExCgkvLyBsb2coci54KQoJZnJhbWVfZGlnIDMgLy8gciB4IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCXJldHN1YgoKLy8gdmVyaWZ5VHhuVHlwZXMoKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5UeXBlczoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuVHlwZXMoKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuVHlwZXMKCWludCAxCglyZXR1cm4KCi8vIHZlcmlmeVR4blR5cGVzKCk6IHZvaWQKdmVyaWZ5VHhuVHlwZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxNQoJLy8gdmVyaWZ5UGF5VHhuKHRoaXMudHhuR3JvdXBbMF0sIHsKCS8vICAgICAgIGFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgcGF5CglpbnQgMAoJZ3R4bnMgVHlwZUVudW0KCWludCBwYXkKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoicGF5In0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWludCAwCglndHhucyBBbW91bnQKCWludCAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTkKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG5Hcm91cFswXSwgewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgwKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogewoJLy8gICAgICAgICAwOiAnZm9vJywKCS8vICAgICAgICAgMTogewoJLy8gICAgICAgICAgIGluY2x1ZGVkSW46IFsnYmFyJywgJ2JheiddLAoJLy8gICAgICAgICB9LAoJLy8gICAgICAgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFwcGwKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGFwcGwKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYXBwbCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJaW50IDAKCWd0eG5zIEFwcGxpY2F0aW9uSUQKCWludCAwCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCgwKSJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzIDAKCWludCAwCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImFwcGxpY2F0aW9uQXJncyIsImluZGV4IjoiMCIsImV4cGVjdGVkIjoiJ2ZvbycifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFwcGxpY2F0aW9uQXJncyAxCglpbnQgMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCT09CglpbnQgMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCWJ5dGUgMHg2MjYxN2EgLy8gImJheiIKCT09Cgl8fAoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4bkdyb3VwWzBdIn0sImZpZWxkIjoiYXBwbGljYXRpb25BcmdzIDEiLCJjb25kaXRpb24iOiJpbmNsdWRlZEluIiwiZXhwZWN0ZWQiOiJbJ2JhcicsICdiYXonXSJ9Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIyOQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXhmZXIKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGF4ZmVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImF4ZmVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglpbnQgMAoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjMzCgkvLyB2ZXJpZnlBc3NldENvbmZpZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KDApLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYWNmZwoJaW50IDAKCWd0eG5zIFR5cGVFbnVtCglpbnQgYWNmZwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJhY2ZnIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBjb25maWdBc3NldAoJaW50IDAKCWd0eG5zIENvbmZpZ0Fzc2V0CglpbnQgMAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImNvbmZpZ0Fzc2V0IiwiZXhwZWN0ZWQiOiJBc3NldElELmZyb21VaW50NjQoMCkifQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMzcKCS8vIHZlcmlmeUtleVJlZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICB2b3RlRmlyc3Q6IDEzMzcsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBrZXlyZWcKCWludCAwCglndHhucyBUeXBlRW51bQoJaW50IGtleXJlZwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJrZXlyZWcifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHZvdGVGaXJzdAoJaW50IDAKCWd0eG5zIFZvdGVGaXJzdAoJaW50IDEzMzcKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ2b3RlRmlyc3QiLCJleHBlY3RlZCI6IjEzMzcifQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1BsdXNFcXVhbHMoKXZvaWQKKmFiaV9yb3V0ZV9zdHJpbmdQbHVzRXF1YWxzOgoJLy8gZXhlY3V0ZSBzdHJpbmdQbHVzRXF1YWxzKCl2b2lkCgljYWxsc3ViIHN0cmluZ1BsdXNFcXVhbHMKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ1BsdXNFcXVhbHMoKTogdm9pZApzdHJpbmdQbHVzRXF1YWxzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI0MwoJLy8gcyA9ICdmb28nCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNDQKCS8vIHMgKz0gJ2JhcicKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNDUKCS8vIGFzc2VydChzID09PSAnZm9vYmFyJykKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZSAweDY2NmY2ZjYyNjE3MiAvLyAiZm9vYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXQoqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXQoJY2FsbHN1YiBpbXBvcnRlZFByb2dyYW0KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaW1wb3J0ZWRQcm9ncmFtKCk6IGJ5dGVzCmltcG9ydGVkUHJvZ3JhbToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQ5CgkvLyByZXR1cm4gSWZUZXN0LmFwcHJvdmFsUHJvZ3JhbSgpOwoJYnl0ZSBiNjQgQ2lBRUFRQUNJQ1lKQkJVZmZIVUNhV1lFWld4elpRTmxibVFBQTJadmJ3ZGxiSE5sSUdsbUNXVnNjMlVnYVdZZ01RbGxiSE5sSUdsbUlESXhHQlNCQmdzeEdRaU5EQU1rQUFBQUFBQUFBQUFBQUFNV0FBQUFBQUFBQUFBQUFBQW9OaG9CU1JVaUVrUWpVNGdBREVrVkZsY0dBa3hRVUxBaVE0b0JBWXYvUVFBQ0tZa3JpU2cyR2dGSkZTSVNSQ05UaUFBTVNSVVdWd1lDVEZCUXNDSkRpZ0VCaS85QkFBVXBpVUlBQWlxSmlTZzJHZ0pKRlNJU1JDTlROaG9CU1JVaUVrUWpVNGdBREVrVkZsY0dBa3hRVUxBaVE0b0NBWXYvUVFBRktZbENBQWlML2tFQUF5Y0dpU3VKS0RZYUFra1ZJaEpFSTFNMkdnRkpGU0lTUkNOVGlBQU1TUlVXVndZQ1RGQlFzQ0pEaWdJQmkvOUJBQVVwaVVJQURZditRUUFHSndhSlFnQUNLb21KS0RZYUEwa1ZJaEpFSTFNMkdnSkpGU0lTUkNOVE5ob0JTUlVpRWtRalU0Z0FERWtWRmxjR0FreFFVTEFpUTRvREFZdi9RUUFGS1lsQ0FCT0wva0VBQmljSGlVSUFDSXY5UVFBREp3aUpLNGtvTmhvRFNSVWlFa1FqVXpZYUFra1ZJaEpFSTFNMkdnRkpGU0lTUkNOVGlBQU1TUlVXVndZQ1RGQlFzQ0pEaWdNQmkvOUJBQVVwaVVJQUdJditRUUFHSndlSlFnQU5pLzFCQUFZbkNJbENBQUlxaVlrb05ob0NTUlVpRWtRalV6WWFBVWtWSWhKRUkxT0lBQXhKRlJaWEJnSk1VRkN3SWtPS0FnR0wvMEVBRm92K1FRQU1nQWx1WlhOMFpXUWdhV2FKS1lsQ0FBSXFpWWtvTmhvQlNSVWlFa1FqVTRnQURFa1ZGbGNHQWt4UVVMQWlRNG9CQVl2L1FRQUZLWWxDQUFJcWlZa29OaG9DU1JVaUVrUWpVellhQVVrVkloSkVJMU9JQUFVV1VMQWlRNG9DQVl2L1FRQUVJa0lBQzR2K1FRQUVKRUlBQW9FRGlTZzJHZ0ZYQWdDSUFBVVdVTEFpUTRvQkFZdi9Kd1NwUVFBQ0lva2tpU2cyR2dGWEFnQ0lBQVVXVUxBaVE0b0JBWXYvSndTcFFRQUVJa0lBQVNTSk5ob0JTUlVrRWtRWGlBQUNJa09LQVFDTC95Y0VxVUVBQXljRnNJazJHZ0pKRlNRU1JCYzJHZ0ZKRlNRU1JCZUlBQUlpUTRvQ0FJdi9pLzRPUVFBREp3V3dpVFlhQWtrVkpSSkVOaG9CU1JVbEVrU0lBQUlpUTRvQ0FJdi9pLzZtUVFBREp3V3dpU2cyR2dKSkZTSVNSQ05UTmhvQlNSVWlFa1FqVTRnQURFa1ZGbGNHQWt4UVVMQWlRNG9DQVl2L1FRQVppLzVCQUEyQUIyRWdZVzVrSUdLSlFnQUVnQUZoaVVJQUZvditRUUFIZ0FGaWlVSUFDb0FIYm1WcGRHaGxjb21KSWtPQUJMaEVlelkyR2dDT0FmL3hBSUFFUTI3QndvQUVISG9OWG9BRVhnKzJ6NEFFWGh4c1VJQUVXTkM2a29BRVhTOVBBb0FFaEZjcDJZQUVqK2RzcUlBRUdqeDRlSUFFZEx6SWFJQUVRaEw1QllBRWxkMnV2NEFFTVVlNFpvQUVRb2wvWVlBRVUwdml0ellhQUk0UC9HRDhodnl3L092OUt2MTYvYzcrRS80OS9uTCtrUDZ3L3MzKzgvOFhBQT09CglyZXRzdWIKCi8vIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCiphYmlfcm91dGVfY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXI6CgkvLyBleGVjdXRlIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCgljYWxsc3ViIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpOiB2b2lkCmNhbGxQcml2YXRlRGVmaW5lZExhdGVyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNTMKCS8vIGxvZyh0aGlzLnByaXZhdGVNZXRob2QoJ2hlbGxvJykpCglieXRlIDB4Njg2NTZjNmM2ZiAvLyAiaGVsbG8iCgljYWxsc3ViIHByaXZhdGVNZXRob2QKCWxvZwoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKG1zZzogc3RyaW5nKTogc3RyaW5nCnByaXZhdGVNZXRob2Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1NwoJLy8gcmV0dXJuIG1zZzsKCWZyYW1lX2RpZyAtMSAvLyBtc2c6IHN0cmluZwoJcmV0c3ViCgovLyBpbnRlcmFsUHVibGljTWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbnRlcmFsUHVibGljTWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGludGVyYWxQdWJsaWNNZXRob2QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBpbnRlcmFsUHVibGljTWV0aG9kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmludGVyYWxQdWJsaWNNZXRob2Q6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI2MQoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJKwoJcmV0c3ViCgovLyBjYWxsSW50ZXJuYWxQdWJsaWNNZXRob2QoKXZvaWQKKmFiaV9yb3V0ZV9jYWxsSW50ZXJuYWxQdWJsaWNNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZAoJY2FsbHN1YiBjYWxsSW50ZXJuYWxQdWJsaWNNZXRob2QKCWludCAxCglyZXR1cm4KCi8vIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpOiB2b2lkCmNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY1CgkvLyBhc3NlcnQodGhpcy5pbnRlcmFsUHVibGljTWV0aG9kKDEsIDIpID09PSAzKQoJaW50IDIKCWludCAxCgljYWxsc3ViIGludGVyYWxQdWJsaWNNZXRob2QKCWludCAzCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFwcExvYWRTY3JhdGNoKCl2b2lkCiphYmlfcm91dGVfYXBwTG9hZFNjcmF0Y2g6CgkvLyBleGVjdXRlIGFwcExvYWRTY3JhdGNoKCl2b2lkCgljYWxsc3ViIGFwcExvYWRTY3JhdGNoCglpbnQgMQoJcmV0dXJuCgovLyBhcHBMb2FkU2NyYXRjaCgpOiB2b2lkCmFwcExvYWRTY3JhdGNoOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNjkKCS8vIGxvZyh0aGlzLnR4bkdyb3VwWzFdLmxvYWRTY3JhdGNoKDIpIGFzIGJ5dGVzKQoJZ2xvYWQgMSAyCglsb2cKCXJldHN1YgoKLy8gdWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NgoqYWJpX3JvdXRlX3VpbnROV2l0aFVuZGVyc2NvcmU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NgoJY2FsbHN1YiB1aW50TldpdGhVbmRlcnNjb3JlCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1aW50TldpdGhVbmRlcnNjb3JlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludE5XaXRoVW5kZXJzY29yZSgpOiB1aW50MjU2CnVpbnROV2l0aFVuZGVyc2NvcmU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3MwoJLy8gcmV0dXJuIDx1aW50MjU2PjEyM180NTY7CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTI0MAoJcmV0c3ViCgovLyBvcFVwKCl2b2lkCiphYmlfcm91dGVfb3BVcDoKCS8vIGV4ZWN1dGUgb3BVcCgpdm9pZAoJY2FsbHN1YiBvcFVwCglpbnQgMQoJcmV0dXJuCgovLyBvcFVwKCk6IHZvaWQKb3BVcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3OAoJLy8gZm9yIChsZXQgaSA9IDE7IGkgPCA3NTsgaSArPSAxKQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjc4CgkvLyBpIDwgNzUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDc1Cgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzkKCS8vIGFzc2VydChpKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0Cglhc3NlcnQKCipmb3JfMF9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjc4CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJcmV0c3ViCgovLyByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpc3RyaW5nCiphYmlfcm91dGVfcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQoKXN0cmluZwoJY2FsbHN1YiByZXR1cm5WYWx1ZU9uQXNzaWdubWVudAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpOiBzdHJpbmcKcmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjg0CgkvLyBtZXNzYWdlID0gJ2hpJwoJYnl0ZSAweDY4NjkgLy8gImhpIgoJZnJhbWVfYnVyeSAwIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLmFwcC5hZGRyZXNzCgl0eG4gU2VuZGVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NwoJLy8gbWVzc2FnZSA9ICdpbiBibG9jaycKCWJ5dGUgMHg2OTZlMjA2MjZjNmY2MzZiIC8vICJpbiBibG9jayIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTAKCS8vIHJldHVybiAobWVzc2FnZSA9ICdieWUnKTsKCWJ5dGUgMHg2Mjc5NjUgLy8gImJ5ZSIKCWR1cAoJZnJhbWVfYnVyeSAwIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9yZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTYKCS8vIHJldHVybiAoYVswXSA9IDQpOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJaW50IDAKCWludCA0CglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWxvYWQgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQKCWNhbGxzdWIgcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCk6IHVpbnQ2NApyZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQ6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwMAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gMQoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJaW50IDEKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMDIKCS8vIHJldHVybiAodGhpcy5nS2V5LnZhbHVlID0gMik7CglieXRlIDB4Njc0YjY1NzkgLy8gImdLZXkiCglpbnQgMgoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJYXBwX2dsb2JhbF9wdXQKCWxvYWQgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCXJldHN1YgoKLy8gcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCl1aW50NjQKCWNhbGxzdWIgcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSgpOiB1aW50NjQKcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzA2CgkvLyBhID0gMQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwOAoJLy8gcmV0dXJuIChhICs9IDIpOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0CglpbnQgMgoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKTogdWludDY0CnJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTIKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMSwgMiwgM10KCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTQKCS8vIHJldHVybiAoYVswXSArPSA0KTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWludCAwCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDAgOAoJYnRvaQoJaW50IDQKCSsKCWR1cAoJc3RvcmUgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKTogdWludDY0CnJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzE4CgkvLyB0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZSA9IFsxLCAyLCAzXQoJYnl0ZSAweDczNzQ2ZjcyNjE2NzY1NDE3MjcyNjE3OSAvLyAic3RvcmFnZUFycmF5IgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMAoJLy8gcmV0dXJuICh0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZVswXSArPSA0KTsKCWJ5dGUgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgLy8gInN0b3JhZ2VBcnJheSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMAoJYnl0ZSAweDczNzQ2ZjcyNjE2NzY1NDE3MjcyNjE3OSAvLyAic3RvcmFnZUFycmF5IgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgMCA4CglidG9pCglpbnQgNAoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJaXRvYgoJcmVwbGFjZTMKCWJ5dGUgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgLy8gInN0b3JhZ2VBcnJheSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglyZXRzdWIKCi8vIGNvbnN0cygpdm9pZAoqYWJpX3JvdXRlX2NvbnN0czoKCS8vIGV4ZWN1dGUgY29uc3RzKCl2b2lkCgljYWxsc3ViIGNvbnN0cwoJaW50IDEKCXJldHVybgoKLy8gY29uc3RzKCk6IHZvaWQKY29uc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMjQKCS8vIGFzc2VydChTVFJJTkdfQ09OU1QgPT09ICdmb28nKQoJYnl0ZSAiZm9vIgoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzI1CgkvLyBhc3NlcnQoTlVNX0NPTlNUID09PSAxMjMpCglpbnQgMTIzCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyNgoJLy8gYXNzZXJ0KE5FU1RFRF9DT05TVCA9PT0gMTIzKQoJaW50IDEyMwoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCiphYmlfcm91dGVfYXNzZXJ0V2l0aE1lc3NhZ2U6CgkvLyBleGVjdXRlIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCgljYWxsc3ViIGFzc2VydFdpdGhNZXNzYWdlCglpbnQgMQoJcmV0dXJuCgovLyBhc3NlcnRXaXRoTWVzc2FnZSgpOiB2b2lkCmFzc2VydFdpdGhNZXNzYWdlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzAKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50IDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gb3Bjb2RlQWxpYXNlcygpdm9pZAoqYWJpX3JvdXRlX29wY29kZUFsaWFzZXM6CgkvLyBleGVjdXRlIG9wY29kZUFsaWFzZXMoKXZvaWQKCWNhbGxzdWIgb3Bjb2RlQWxpYXNlcwoJaW50IDEKCXJldHVybgoKLy8gb3Bjb2RlQWxpYXNlcygpOiB2b2lkCm9wY29kZUFsaWFzZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNAoJLy8gZXh0cmFjdFVpbnQxNihiemVybyg2NCksIDApCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWludCAwCglleHRyYWN0X3VpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzM1CgkvLyBleHRyYWN0VWludDMyKGJ6ZXJvKDY0KSwgMCkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJaW50IDAKCWV4dHJhY3RfdWludDMyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzYKCS8vIGV4dHJhY3RVaW50NjQoYnplcm8oNjQpLCAwKQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglpbnQgMAoJZXh0cmFjdF91aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNwoJLy8gZWQyNTUxOVZlcmlmeUJhcmUoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeV9iYXJlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzgKCS8vIGVkMjU1MTlWZXJpZnkoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeQoJcmV0c3ViCgovLyB2cmZWZXJpZnlPcCgpdm9pZAoqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wOgoJLy8gZXhlY3V0ZSB2cmZWZXJpZnlPcCgpdm9pZAoJY2FsbHN1YiB2cmZWZXJpZnlPcAoJaW50IDEKCXJldHVybgoKLy8gdnJmVmVyaWZ5T3AoKTogdm9pZAp2cmZWZXJpZnlPcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0MgoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQzCgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDQKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0NQoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQ2CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0OAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludCAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZSBiNjQgQ29FQiAvLyAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnQgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQ5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlIGI2NCBDb0VCIC8vICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludCBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGUgYjY0IENvRUIgLy8gI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50IERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MgoJLy8gciA9IHZyZlZlZmlyeSgnVnJmQWxnb3JhbmQnLCBiemVybygzMikgYXMgYnl0ZXMsIGJ6ZXJvKDgwKSwgYnplcm8oMzIpKQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJdnJmX3ZlcmlmeSBWcmZBbGdvcmFuZAoJZnJhbWVfYnVyeSAwIC8vIHIgdmVyaWZpZWQ6IGJvb2wKCWZyYW1lX2J1cnkgMSAvLyByIG91dHB1dDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTMKCS8vIGFzc2VydCghci52ZXJpZmllZCkKCWZyYW1lX2RpZyAwIC8vIHIgdmVyaWZpZWQ6IGJvb2wKCSEKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU0CgkvLyBsb2coci5vdXRwdXQpCglmcmFtZV9kaWcgMSAvLyByIG91dHB1dDogYnl0ZVtdCglsb2cKCXJldHN1YgoKLy8gZWNNYXRoKCl2b2lkCiphYmlfcm91dGVfZWNNYXRoOgoJLy8gZXhlY3V0ZSBlY01hdGgoKXZvaWQKCWNhbGxzdWIgZWNNYXRoCglpbnQgMQoJcmV0dXJuCgovLyBlY01hdGgoKTogdm9pZAplY01hdGg6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU4CgkvLyBlY1NjYWxhck11bCgnQk4yNTRnMScsICcnLCAnJykKCWJ5dGUgMHggLy8gIiIKCWR1cAoJZWNfc2NhbGFyX211bCBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTkKCS8vIGVjUGFpcmluZ0NoZWNrKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZSAweCAvLyAiIgoJZHVwCgllY19wYWlyaW5nX2NoZWNrIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MAoJLy8gc2NhbGFyczogYnl0ZXMzMltdID0gW2J6ZXJvKDMyKSwgYnplcm8oMzIpXQoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglmcmFtZV9idXJ5IDAgLy8gc2NhbGFyczogYnl0ZXMzMltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjEKCS8vIGVjTXVsdGlTY2FsYXJNdWwoJ0JOMjU0ZzEnLCAnJywgc2NhbGFycykKCWJ5dGUgMHggLy8gIiIKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyBzY2FsYXJzOiBieXRlczMyW10KCWVjX211bHRpX3NjYWxhcl9tdWwgQk4yNTRnMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzYyCgkvLyBlY1N1Ymdyb3VwQ2hlY2soJ0JOMjU0ZzEnLCAnJykKCWJ5dGUgMHggLy8gIiIKCWVjX3N1Ymdyb3VwX2NoZWNrIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MwoJLy8gZWNNYXBUbygnQk4yNTRnMScsICcnKQoJYnl0ZSAweCAvLyAiIgoJZWNfbWFwX3RvIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2NAoJLy8gZWNBZGQoJ0JOMjU0ZzEnLCAnJywgJycpCglieXRlIDB4IC8vICIiCglkdXAKCWVjX2FkZCBCTjI1NGcxCglyZXRzdWIKCi8vIGdpdHhuKCl2b2lkCiphYmlfcm91dGVfZ2l0eG46CgkvLyBleGVjdXRlIGdpdHhuKCl2b2lkCgljYWxsc3ViIGdpdHhuCglpbnQgMQoJcmV0dXJuCgovLyBnaXR4bigpOiB2b2lkCmdpdHhuOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2OAoJLy8gbG9nKHRoaXMubGFzdElubmVyR3JvdXBbMF0uc2VuZGVyKQoJZ2l0eG4gMCBTZW5kZXIKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcwCgkvLyBhbm90aGVyVHhuID0gdGhpcy5sYXN0SW5uZXJHcm91cFsxXQoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhbm90aGVyVHhuOiBnaXR4bgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcyCgkvLyBsb2coYW5vdGhlclR4bi5zZW5kZXIpCglnaXR4biAxIFNlbmRlcgoJbG9nCglyZXRzdWIKCi8vIGdldFNldEJ5dGVzKCl2b2lkCiphYmlfcm91dGVfZ2V0U2V0Qnl0ZXM6CgkvLyBleGVjdXRlIGdldFNldEJ5dGVzKCl2b2lkCgljYWxsc3ViIGdldFNldEJ5dGVzCglpbnQgMQoJcmV0dXJuCgovLyBnZXRTZXRCeXRlcygpOiB2b2lkCmdldFNldEJ5dGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzYKCS8vIGxvZyhzZXRiaXQoJ2ZvbycsIDAsIHRydWUpKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAxCglzZXRiaXQKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzc3CgkvLyBnZXRiaXQoJ2ZvbycsIDApCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJZ2V0Yml0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzgKCS8vIGdldGJ5dGUoJ2ZvbycsIDApCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJZ2V0Ynl0ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzc5CgkvLyBzZXRieXRlKCdmb28nLCAwLCAxKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAxCglzZXRieXRlCglyZXRzdWIKCi8vIGdldFNldFVpbnQ2NCgpdm9pZAoqYWJpX3JvdXRlX2dldFNldFVpbnQ2NDoKCS8vIGV4ZWN1dGUgZ2V0U2V0VWludDY0KCl2b2lkCgljYWxsc3ViIGdldFNldFVpbnQ2NAoJaW50IDEKCXJldHVybgoKLy8gZ2V0U2V0VWludDY0KCk6IHZvaWQKZ2V0U2V0VWludDY0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODMKCS8vIGFzc2VydChzZXRiaXQoMTIzLCAwLCB0cnVlKSkKCWludCAxMjMKCWludCAwCglpbnQgMQoJc2V0Yml0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4NAoJLy8gZ2V0Yml0KDEyMywgMCkKCWludCAxMjMKCWludCAwCglnZXRiaXQKCXJldHN1YgoKLy8gYmxvY2tPcCgpdm9pZAoqYWJpX3JvdXRlX2Jsb2NrT3A6CgkvLyBleGVjdXRlIGJsb2NrT3AoKXZvaWQKCWNhbGxzdWIgYmxvY2tPcAoJaW50IDEKCXJldHVybgoKLy8gYmxvY2tPcCgpOiB2b2lkCmJsb2NrT3A6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4OAoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uc2VlZCkKCWdsb2JhbCBSb3VuZAoJaW50IDEKCS0KCWJsb2NrIEJsa1NlZWQKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzg5CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS50aW1lc3RhbXApCglnbG9iYWwgUm91bmQKCWludCAxCgktCglibG9jayBCbGtUaW1lc3RhbXAKCWFzc2VydAoJcmV0c3ViCgovLyBiNjQoKXZvaWQKKmFiaV9yb3V0ZV9iNjQ6CgkvLyBleGVjdXRlIGI2NCgpdm9pZAoJY2FsbHN1YiBiNjQKCWludCAxCglyZXR1cm4KCi8vIGI2NCgpOiB2b2lkCmI2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzkzCgkvLyBsb2coYmFzZTY0RGVjb2RlKCdTdGRFbmNvZGluZycsICcnKSkKCWJ5dGUgMHggLy8gIiIKCWJhc2U2NF9kZWNvZGUgU3RkRW5jb2RpbmcKCWxvZwoJcmV0c3ViCgovLyBqc29uKCl2b2lkCiphYmlfcm91dGVfanNvbjoKCS8vIGV4ZWN1dGUganNvbigpdm9pZAoJY2FsbHN1YiBqc29uCglpbnQgMQoJcmV0dXJuCgovLyBqc29uKCk6IHZvaWQKanNvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk3CgkvLyBsb2coanNvblJlZignSlNPTk9iamVjdCcsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05PYmplY3QKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk4CgkvLyBsb2coanNvblJlZignSlNPTlN0cmluZycsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05TdHJpbmcKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk5CgkvLyBhc3NlcnQoanNvblJlZignSlNPTlVpbnQ2NCcsICcnLCAnJykpCglieXRlIDB4IC8vICIiCglkdXAKCWpzb25fcmVmIEpTT05VaW50NjQKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRsZW5PcCgpdm9pZAoqYWJpX3JvdXRlX2JpdGxlbk9wOgoJLy8gZXhlY3V0ZSBiaXRsZW5PcCgpdm9pZAoJY2FsbHN1YiBiaXRsZW5PcAoJaW50IDEKCXJldHVybgoKLy8gYml0bGVuT3AoKTogdm9pZApiaXRsZW5PcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDAzCgkvLyBiaXRsZW4oMTIzKQoJaW50IDEyMwoJYml0bGVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDQKCS8vIGJpdGxlbignZm9vJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJpdGxlbgoJcmV0c3ViCgovLyBjb21wdXRlZENvbnN0KCl2b2lkCiphYmlfcm91dGVfY29tcHV0ZWRDb25zdDoKCS8vIGV4ZWN1dGUgY29tcHV0ZWRDb25zdCgpdm9pZAoJY2FsbHN1YiBjb21wdXRlZENvbnN0CglpbnQgMQoJcmV0dXJuCgovLyBjb21wdXRlZENvbnN0KCk6IHZvaWQKY29tcHV0ZWRDb25zdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDA4CgkvLyBhc3NlcnQoQ09NUFVURURfQ09OU1QpCglpbnQgMjQ2Cglhc3NlcnQKCXJldHN1YgoKLy8gbXVsdGlDb21wdXRlZENvbnN0KCl2b2lkCiphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0OgoJLy8gZXhlY3V0ZSBtdWx0aUNvbXB1dGVkQ29uc3QoKXZvaWQKCWNhbGxzdWIgbXVsdGlDb21wdXRlZENvbnN0CglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aUNvbXB1dGVkQ29uc3QoKTogdm9pZAptdWx0aUNvbXB1dGVkQ29uc3Q6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxMgoJLy8gYXNzZXJ0KE1VVExJX0NPTVBVVEVEX0NPTlNUKQoJaW50IDMwMzgxCglhc3NlcnQKCXJldHN1YgoKLy8gcmVhZFNjaGVtYSgpdm9pZAoqYWJpX3JvdXRlX3JlYWRTY2hlbWE6CgkvLyBleGVjdXRlIHJlYWRTY2hlbWEoKXZvaWQKCWNhbGxzdWIgcmVhZFNjaGVtYQoJaW50IDEKCXJldHVybgoKLy8gcmVhZFNjaGVtYSgpOiB2b2lkCnJlYWRTY2hlbWE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNgoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCA9PT0gMSkKCWludCAxCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNwoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlID09PSAyKQoJaW50IDIKCWR1cAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDE4CgkvLyBhc3NlcnQoU2NoZW1hQ29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQgPT09IDMpCglpbnQgMwoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MTkKCS8vIGFzc2VydChTY2hlbWFDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlID09PSA0KQoJaW50IDQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBjb21wYXJpc29uT3IoKWJvb2wKKmFiaV9yb3V0ZV9jb21wYXJpc29uT3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29tcGFyaXNvbk9yKClib29sCgljYWxsc3ViIGNvbXBhcmlzb25PcgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjb21wYXJpc29uT3IoKTogYm9vbGVhbgpjb21wYXJpc29uT3I6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyMwoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlciA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzcyB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IGdsb2JhbHMuemVyb0FkZHJlc3M7Cgl0eG4gU2VuZGVyCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCXx8Cgoqc2tpcF9vcjA6CglyZXRzdWIKCi8vIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKKmFiaV9yb3V0ZV90eG5BcmdzTWV0aG9kOgoJLy8gX3BheTE6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludCAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnQgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKF9wYXkxKSBmb3IgdHhuQXJnc01ldGhvZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKCWNhbGxzdWIgdHhuQXJnc01ldGhvZAoJaW50IDEKCXJldHVybgoKLy8gdHhuQXJnc01ldGhvZChfcGF5MTogUGF5VHhuKTogdm9pZAp0eG5BcmdzTWV0aG9kOgoJcHJvdG8gMSAwCglyZXRzdWIKCi8vIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCiphYmlfcm91dGVfY2FsbFR4bkFyZ3NNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxUeG5BcmdzTWV0aG9kCglpbnQgMQoJcmV0dXJuCgovLyBjYWxsVHhuQXJnc01ldGhvZCgpOiB2b2lkCmNhbGxUeG5BcmdzTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzAKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBHZW5lcmFsVGVzdC5wcm90b3R5cGUudHhuQXJnc01ldGhvZD4oewoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMCB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDMxCgkvLyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQzMQoJLy8gYW1vdW50OiAwCglpbnQgMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAidHhuQXJnc01ldGhvZChwYXkpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzEKCS8vIG1ldGhvZEFyZ3M6IFt7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IDAgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkCiphYmlfcm91dGVfc3RhdGljVmFsdWVMZW46CgkvLyB4OiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBzdGF0aWNWYWx1ZUxlbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNWYWx1ZUxlbih1aW50MjU2KXZvaWQKCWNhbGxzdWIgc3RhdGljVmFsdWVMZW4KCWludCAxCglyZXR1cm4KCi8vIHN0YXRpY1ZhbHVlTGVuKHg6IHVpbnQyNTYpOiB2b2lkCnN0YXRpY1ZhbHVlTGVuOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzYKCS8vIGFzc2VydChsZW4oeCkpCglpbnQgMzIKCWFzc2VydAoJcmV0c3ViCgovLyBzdGF0aWNUeXBlTGVuKCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUxlbjoKCS8vIGV4ZWN1dGUgc3RhdGljVHlwZUxlbigpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlTGVuCglpbnQgMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlTGVuKCk6IHZvaWQKc3RhdGljVHlwZUxlbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQwCgkvLyBhc3NlcnQobGVuPHVpbnQyNTY+KCkpCglpbnQgMzIKCWFzc2VydAoJcmV0c3ViCgovLyBkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9keW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGR5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBkeW5hbWljU2NyYXRjaFNsb3QKCWludCAxCglyZXR1cm4KCi8vIGR5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmR5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQ0CgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDEpLnZhbHVlID0gMTMzNwoJaW50IDEKCWludCAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ0NQoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMSkudmFsdWUgPT09IDEzMzcpCglpbnQgMQoJbG9hZHMKCWludCAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfaW5jcmVtZW50U2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudFNjcmF0Y2hTbG90CglpbnQgMQoJcmV0dXJuCgovLyBpbmNyZW1lbnRTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudFNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NDkKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludCAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTAKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSArPSAxCglsb2FkIDAKCWludCAxCgkrCglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTEKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzgpCglsb2FkIDAKCWludCAxMzM4Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoqYWJpX3JvdXRlX2luY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdDoKCS8vIGV4ZWN1dGUgaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdAoJaW50IDEKCXJldHVybgoKLy8gaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90KCk6IHZvaWQKaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTUKCS8vIHRoaXMuZHluYW1pY1NjcmF0Y2goMikudmFsdWUgPSAxMzM3CglpbnQgMgoJaW50IDEzMzcKCXN0b3JlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDU2CgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlICs9IDEKCWludCAyCglsb2FkcwoJaW50IDEKCSsKCWludCAyCglzd2FwCglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ1NwoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMikudmFsdWUgPT09IDEzMzgpCglpbnQgMgoJbG9hZHMKCWludCAxMzM4Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGZyb21BZGRyZXNzKCl2b2lkCiphYmlfcm91dGVfZnJvbUFkZHJlc3M6CgkvLyBleGVjdXRlIGZyb21BZGRyZXNzKCl2b2lkCgljYWxsc3ViIGZyb21BZGRyZXNzCglpbnQgMQoJcmV0dXJuCgovLyBmcm9tQWRkcmVzcygpOiB2b2lkCmZyb21BZGRyZXNzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2MQoJLy8gYSA9IEFkZHJlc3MuZnJvbUFkZHJlc3MoJ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFZNUhGS1EnKQoJYWRkciBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWTVIRktRCglmcmFtZV9idXJ5IDAgLy8gYTogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDYyCgkvLyBhc3NlcnQoYSA9PT0gQWRkcmVzcy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAwIC8vIGE6IGFkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBlYXJseVJldHVybih1aW50NjQpdWludDY0CiphYmlfcm91dGVfZWFybHlSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZWFybHlSZXR1cm4odWludDY0KXVpbnQ2NAoJY2FsbHN1YiBlYXJseVJldHVybgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGVhcmx5UmV0dXJuKGE6IHVpbnQ2NCk6IHVpbnQ2NAplYXJseVJldHVybjoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY2CgkvLyBhID09PSAxCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpbnQgMQoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2NwoJLy8gcmV0dXJuIDI7CglpbnQgMgoJYiAqZWFybHlSZXR1cm4qcmV0dXJuCgoqaWYxX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY5CgkvLyBiID0gYSArIDEKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzAKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIDAgLy8gYjogdWludDY0CgoqZWFybHlSZXR1cm4qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGFzc2V0TWV0aG9kQXJncygpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJnczoKCS8vIGV4ZWN1dGUgYXNzZXRNZXRob2RBcmdzKCl2b2lkCgljYWxsc3ViIGFzc2V0TWV0aG9kQXJncwoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRNZXRob2RBcmdzKCk6IHZvaWQKYXNzZXRNZXRob2RBcmdzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzQKCS8vIHNlbmRNZXRob2RDYWxsPFtBc3NldFJlZmVyZW5jZV0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW0Fzc2V0SUQuZnJvbVVpbnQ2NCgxKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgltZXRob2QgImZvbyhhc3NldCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NgoJLy8gbWV0aG9kQXJnczogW0Fzc2V0SUQuZnJvbVVpbnQ2NCgxKV0KCWludCAxCglpdHhuX2ZpZWxkIEFzc2V0cwoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtdWx0aXBsZVByb2dyYW1QYWdlcygpdm9pZAoqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzOgoJLy8gZXhlY3V0ZSBtdWx0aXBsZVByb2dyYW1QYWdlcygpdm9pZAoJY2FsbHN1YiBtdWx0aXBsZVByb2dyYW1QYWdlcwoJaW50IDEKCXJldHVybgoKLy8gbXVsdGlwbGVQcm9ncmFtUGFnZXMoKTogdm9pZAptdWx0aXBsZVByb2dyYW1QYWdlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDg1CgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0sCgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogW3RoaXMucGFnZU9uZS52YWx1ZSwgdGhpcy5wYWdlVHdvLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ4NgoJLy8gYXBwcm92YWxQcm9ncmFtOiBbdGhpcy5wYWdlT25lLnZhbHVlLCB0aGlzLnBhZ2VUd28udmFsdWVdCglieXRlIDB4NzA2MTY3NjU0ZjZlNjUgLy8gInBhZ2VPbmUiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBhZ2VPbmUudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZSAweDcwNjE2NzY1NTQ3NzZmIC8vICJwYWdlVHdvIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlVHdvLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ4NwoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0KCWJ5dGUgMHg3MDYxNjc2NTRmNmU2NSAvLyAicGFnZU9uZSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZU9uZS52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtUGFnZXMKCWJ5dGUgMHg3MDYxNjc2NTU0Nzc2ZiAvLyAicGFnZVR3byIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZVR3by52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtUGFnZXMKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFzc2VydENvbW1lbnQoKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRDb21tZW50OgoJLy8gZXhlY3V0ZSBhc3NlcnRDb21tZW50KCl2b2lkCgljYWxsc3ViIGFzc2VydENvbW1lbnQKCWludCAxCglyZXR1cm4KCi8vIGFzc2VydENvbW1lbnQoKTogdm9pZAphc3NlcnRDb21tZW50OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0OTIKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50IDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gdGhyb3dFcnJvck1lc3NhZ2UoKXZvaWQKKmFiaV9yb3V0ZV90aHJvd0Vycm9yTWVzc2FnZToKCS8vIGV4ZWN1dGUgdGhyb3dFcnJvck1lc3NhZ2UoKXZvaWQKCWNhbGxzdWIgdGhyb3dFcnJvck1lc3NhZ2UKCWludCAxCglyZXR1cm4KCi8vIHRocm93RXJyb3JNZXNzYWdlKCk6IHZvaWQKdGhyb3dFcnJvck1lc3NhZ2U6Cglwcm90byAwIDAKCgkvLyB0aGlzIGlzIGFuIGVycm9yCgllcnIKCXJldHN1YgoKLy8gb3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vckxpdGVyYWxUeXBlOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvckxpdGVyYWxUeXBlKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBvckxpdGVyYWxUeXBlCglpbnQgMQoJcmV0dXJuCgovLyBvckxpdGVyYWxUeXBlKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApvckxpdGVyYWxUeXBlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAwCgkvLyBmb28gPSBhICYmIGIgPT09IDEgPyAyIDogMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpbnQgMQoJPT0KCSYmCgoqc2tpcF9hbmQwOgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnQgMgoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnQgMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMCAvLyBmb286IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAxCgkvLyBhc3NlcnQoZm9vKQoJZnJhbWVfZGlnIDAgLy8gZm9vOiB1aW50NjQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTAzCgkvLyBiYXIgPSBhICYmIGIgPT09IDAgPyAnMicgOiAnMCcKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJaW50IDAKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJYnl0ZSAweDMyIC8vICIyIgoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglieXRlIDB4MzAgLy8gIjAiCgoqdGVybmFyeTFfZW5kOgoJZnJhbWVfYnVyeSAxIC8vIGJhcjogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDQKCS8vIGxvZyhiYXIpCglmcmFtZV9kaWcgMSAvLyBiYXI6IGJ5dGVbXQoJbG9nCglyZXRzdWIKCi8vIG5vbkFiaSgpOiB2b2lkCm5vbkFiaToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDkKCS8vIGFzc2VydCh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhLmxlbmd0aCkKCXR4biBOdW1BcHBBcmdzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhLmxlbmd0aDsgaSArPSAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipmb3JfMToKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTExCgkvLyBpIDwgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJdHhuIE51bUFwcEFyZ3MKCTwKCWJ6ICpmb3JfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMgoJLy8gbG9nKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbaV0pCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXR4bmFzIEFwcGxpY2F0aW9uQXJncwoJbG9nCgoqZm9yXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxMQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCXJldHN1YgoKLy8gbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCl2b2lkCiphYmlfcm91dGVfbXVsdGlsaW5lRnVuY3Rpb25DYWxsOgoJLy8gZXhlY3V0ZSBtdWx0aWxpbmVGdW5jdGlvbkNhbGwoKXZvaWQKCWNhbGxzdWIgbXVsdGlsaW5lRnVuY3Rpb25DYWxsCglpbnQgMQoJcmV0dXJuCgovLyBtdWx0aWxpbmVGdW5jdGlvbkNhbGwoKTogdm9pZAptdWx0aWxpbmVGdW5jdGlvbkNhbGw6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTcKCS8vIGFwcCA9IEFwcElELnplcm9JbmRleAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBhcHA6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTE4CgkvLyBhZGRyID0gQWRkcmVzcy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9idXJ5IDEgLy8gYWRkcjogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTIwCgkvLyBhcHAubG9jYWxTdGF0ZSgKCS8vICAgICAgIGFkZHIsCgkvLyAgICAgICAna2V5JwoJLy8gICAgICkKCWZyYW1lX2RpZyAxIC8vIGFkZHI6IGFkZHJlc3MKCWludCAwIC8vIGFwcDogdWludDY0CglieXRlIDB4NmI2NTc5IC8vICJrZXkiCglhcHBfbG9jYWxfZ2V0X2V4CgoJLy8gbG9jYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IGFwcC5sb2NhbFN0YXRlKCBhZGRyLCAna2V5JyApCglhc3NlcnQKCXJldHN1YgoKLy8gYSgpdWludDY0CiphYmlfcm91dGVfYToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhKCl1aW50NjQKCWNhbGxzdWIgYQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGEoKTogdWludDY0CmE6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyNwoJLy8gcmV0dXJuIDM7CglpbnQgMwoJcmV0c3ViCgovLyBiKCl1aW50NjQKKmFiaV9yb3V0ZV9iOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGIoKXVpbnQ2NAoJY2FsbHN1YiBiCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYigpOiB1aW50NjQKYjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTMxCgkvLyByZXR1cm4gNTsKCWludCA1CglyZXRzdWIKCi8vIHVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQKKmFiaV9yb3V0ZV91bnVzZWRNZXRob2RWYWx1ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1bnVzZWRNZXRob2RWYWx1ZSgpdWludDY0CgljYWxsc3ViIHVudXNlZE1ldGhvZFZhbHVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdW51c2VkTWV0aG9kVmFsdWUoKTogdWludDY0CnVudXNlZE1ldGhvZFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MzUKCS8vIHRoaXMuYSgpCgljYWxsc3ViIGEKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTM2CgkvLyByZXR1cm4gdGhpcy5iKCk7CgljYWxsc3ViIGIKCXJldHN1YgoKLy8gcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCl1aW50NjQKKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCl1aW50NjQKCWNhbGxzdWIgcmVhc3NpZ25lZE5vbkZpcnN0VmFyCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcmVhc3NpZ25lZE5vbkZpcnN0VmFyKCk6IHVpbnQ2NApyZWFzc2lnbmVkTm9uRmlyc3RWYXI6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NDcKCS8vIGEgPSAxIGFzIHVpbnQ2NAoJaW50IDEKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU0OAoJLy8gYiA9IHRoaXMuYXBwLmlkCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglmcmFtZV9idXJ5IDEgLy8gYjogdWludDY0CgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTQ5CgkvLyBhCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjQKCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1MAoJLy8gYiA9IDIKCWludCAyCglmcmFtZV9idXJ5IDEgLy8gYjogdWludDY0CgoqaWYyX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTUzCgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAxIC8vIGI6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZnZMdigpdm9pZAoqYWJpX3JvdXRlX2Z2THY6CgkvLyBleGVjdXRlIGZ2THYoKXZvaWQKCWNhbGxzdWIgZnZMdgoJaW50IDEKCXJldHVybgoKLy8gZnZMdigpOiB2b2lkCmZ2THY6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1NwoJLy8gYXNzZXJ0KHRoaXMudHhuLmZpcnN0VmFsaWQpCgl0eG4gRmlyc3RWYWxpZAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NTgKCS8vIGFzc2VydCh0aGlzLnR4bi5sYXN0VmFsaWQpCgl0eG4gTGFzdFZhbGlkCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInR4blR5cGVFbnVtKCl2b2lkIgoJbWV0aG9kICJ0eG5Hcm91cExlbmd0aCgpdm9pZCIKCW1ldGhvZCAiYXNzZXJ0cyhib29sLGJvb2wpdm9pZCIKCW1ldGhvZCAidmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZCIKCW1ldGhvZCAidmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkIgoJbWV0aG9kICJ2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQiCgltZXRob2QgInZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQiCgltZXRob2QgInZlcmlmeVR4bk5vdEluY2x1ZGVkSW4oKXZvaWQiCgltZXRob2QgInN1Ym1pdFBlbmRpbmdHcm91cCgpdm9pZCIKCW1ldGhvZCAibWV0aG9kV2l0aFR4bkFyZ3MoKXZvaWQiCgltZXRob2QgInNoaWZ0KCl2b2lkIgoJbWV0aG9kICJmcm9tQnl0ZXMoKXZvaWQiCgltZXRob2QgImZyb21VaW50NjQoKXZvaWQiCgltZXRob2QgImJ6ZXJvRnVuY3Rpb24oKXZvaWQiCgltZXRob2QgImV2ZW50cygpdm9pZCIKCW1ldGhvZCAibGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdIgoJbWV0aG9kICJzdGF0aWNDb250cmFjdFByb3BlcnRpZXMoKXZvaWQiCgltZXRob2QgIm51bWJlclRvU3RyaW5nKCl2b2lkIgoJbWV0aG9kICJtZXRob2RPblBhcmVucygpdm9pZCIKCW1ldGhvZCAic3RyaW5nU3Vic3RyaW5nKCl2b2lkIgoJbWV0aG9kICJpZFByb3BlcnR5KCl2b2lkIgoJbWV0aG9kICJzY3JhdGNoU2xvdCgpdm9pZCIKCW1ldGhvZCAiZWNkc2EoKXZvaWQiCgltZXRob2QgInZlcmlmeVR4blR5cGVzKCl2b2lkIgoJbWV0aG9kICJzdHJpbmdQbHVzRXF1YWxzKCl2b2lkIgoJbWV0aG9kICJpbXBvcnRlZFByb2dyYW0oKWJ5dGVbXSIKCW1ldGhvZCAiY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXIoKXZvaWQiCgltZXRob2QgImludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZCIKCW1ldGhvZCAiYXBwTG9hZFNjcmF0Y2goKXZvaWQiCgltZXRob2QgInVpbnROV2l0aFVuZGVyc2NvcmUoKXVpbnQyNTYiCgltZXRob2QgIm9wVXAoKXZvaWQiCgltZXRob2QgInJldHVyblZhbHVlT25Bc3NpZ25tZW50KClzdHJpbmciCgltZXRob2QgInJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NCIKCW1ldGhvZCAicmV0dXJuU3RvcmFnZVZhbHVlT25Bc3NpZ25tZW50KCl1aW50NjQiCgltZXRob2QgInJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCl1aW50NjQiCgltZXRob2QgInJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0IgoJbWV0aG9kICJyZXR1cm5BcnJheUluU3RvcmFnZVZhbHVlT25PcGVyYXRvckFzc2lnbm1lbnQoKXVpbnQ2NCIKCW1ldGhvZCAiY29uc3RzKCl2b2lkIgoJbWV0aG9kICJhc3NlcnRXaXRoTWVzc2FnZSgpdm9pZCIKCW1ldGhvZCAib3Bjb2RlQWxpYXNlcygpdm9pZCIKCW1ldGhvZCAidnJmVmVyaWZ5T3AoKXZvaWQiCgltZXRob2QgImVjTWF0aCgpdm9pZCIKCW1ldGhvZCAiZ2l0eG4oKXZvaWQiCgltZXRob2QgImdldFNldEJ5dGVzKCl2b2lkIgoJbWV0aG9kICJnZXRTZXRVaW50NjQoKXZvaWQiCgltZXRob2QgImJsb2NrT3AoKXZvaWQiCgltZXRob2QgImI2NCgpdm9pZCIKCW1ldGhvZCAianNvbigpdm9pZCIKCW1ldGhvZCAiYml0bGVuT3AoKXZvaWQiCgltZXRob2QgImNvbXB1dGVkQ29uc3QoKXZvaWQiCgltZXRob2QgIm11bHRpQ29tcHV0ZWRDb25zdCgpdm9pZCIKCW1ldGhvZCAicmVhZFNjaGVtYSgpdm9pZCIKCW1ldGhvZCAiY29tcGFyaXNvbk9yKClib29sIgoJbWV0aG9kICJ0eG5BcmdzTWV0aG9kKHBheSl2b2lkIgoJbWV0aG9kICJjYWxsVHhuQXJnc01ldGhvZCgpdm9pZCIKCW1ldGhvZCAic3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkIgoJbWV0aG9kICJzdGF0aWNUeXBlTGVuKCl2b2lkIgoJbWV0aG9kICJkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCgltZXRob2QgImluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkIgoJbWV0aG9kICJpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCgltZXRob2QgImZyb21BZGRyZXNzKCl2b2lkIgoJbWV0aG9kICJlYXJseVJldHVybih1aW50NjQpdWludDY0IgoJbWV0aG9kICJhc3NldE1ldGhvZEFyZ3MoKXZvaWQiCgltZXRob2QgIm11bHRpcGxlUHJvZ3JhbVBhZ2VzKCl2b2lkIgoJbWV0aG9kICJhc3NlcnRDb21tZW50KCl2b2lkIgoJbWV0aG9kICJ0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZCIKCW1ldGhvZCAib3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQiCgltZXRob2QgIm11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZCIKCW1ldGhvZCAiYSgpdWludDY0IgoJbWV0aG9kICJiKCl1aW50NjQiCgltZXRob2QgInVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQiCgltZXRob2QgInJlYXNzaWduZWROb25GaXJzdFZhcigpdWludDY0IgoJbWV0aG9kICJmdkx2KCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlRW51bSAqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoICphYmlfcm91dGVfYXNzZXJ0cyAqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21BcmcgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Gcm9tVHhuR3JvdXAgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb24gKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluICphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbiAqYWJpX3JvdXRlX3N1Ym1pdFBlbmRpbmdHcm91cCAqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzICphYmlfcm91dGVfc2hpZnQgKmFiaV9yb3V0ZV9mcm9tQnl0ZXMgKmFiaV9yb3V0ZV9mcm9tVWludDY0ICphYmlfcm91dGVfYnplcm9GdW5jdGlvbiAqYWJpX3JvdXRlX2V2ZW50cyAqYWJpX3JvdXRlX2xldE9wdGltaXphdGlvbiAqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllcyAqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nICphYmlfcm91dGVfbWV0aG9kT25QYXJlbnMgKmFiaV9yb3V0ZV9zdHJpbmdTdWJzdHJpbmcgKmFiaV9yb3V0ZV9pZFByb3BlcnR5ICphYmlfcm91dGVfc2NyYXRjaFNsb3QgKmFiaV9yb3V0ZV9lY2RzYSAqYWJpX3JvdXRlX3ZlcmlmeVR4blR5cGVzICphYmlfcm91dGVfc3RyaW5nUGx1c0VxdWFscyAqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbSAqYWJpX3JvdXRlX2NhbGxQcml2YXRlRGVmaW5lZExhdGVyICphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2FwcExvYWRTY3JhdGNoICphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZSAqYWJpX3JvdXRlX29wVXAgKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX2NvbnN0cyAqYWJpX3JvdXRlX2Fzc2VydFdpdGhNZXNzYWdlICphYmlfcm91dGVfb3Bjb2RlQWxpYXNlcyAqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wICphYmlfcm91dGVfZWNNYXRoICphYmlfcm91dGVfZ2l0eG4gKmFiaV9yb3V0ZV9nZXRTZXRCeXRlcyAqYWJpX3JvdXRlX2dldFNldFVpbnQ2NCAqYWJpX3JvdXRlX2Jsb2NrT3AgKmFiaV9yb3V0ZV9iNjQgKmFiaV9yb3V0ZV9qc29uICphYmlfcm91dGVfYml0bGVuT3AgKmFiaV9yb3V0ZV9jb21wdXRlZENvbnN0ICphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0ICphYmlfcm91dGVfcmVhZFNjaGVtYSAqYWJpX3JvdXRlX2NvbXBhcmlzb25PciAqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2QgKmFiaV9yb3V0ZV9jYWxsVHhuQXJnc01ldGhvZCAqYWJpX3JvdXRlX3N0YXRpY1ZhbHVlTGVuICphYmlfcm91dGVfc3RhdGljVHlwZUxlbiAqYWJpX3JvdXRlX2R5bmFtaWNTY3JhdGNoU2xvdCAqYWJpX3JvdXRlX2luY3JlbWVudFNjcmF0Y2hTbG90ICphYmlfcm91dGVfaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90ICphYmlfcm91dGVfZnJvbUFkZHJlc3MgKmFiaV9yb3V0ZV9lYXJseVJldHVybiAqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJncyAqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzICphYmlfcm91dGVfYXNzZXJ0Q29tbWVudCAqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlICphYmlfcm91dGVfb3JMaXRlcmFsVHlwZSAqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfdW51c2VkTWV0aG9kVmFsdWUgKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXIgKmFiaV9yb3V0ZV9mdkx2CgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpCglpbnQgMQoJcmV0dXJuCgoqaW50VG9Bc2NpaToKCXByb3RvIDEgMQoJYnl0ZSAweDMwMzEzMjMzMzQzNTM2MzczODM5IC8vICIwMTIzNDU2Nzg5IgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEKCWV4dHJhY3QzCglyZXRzdWIKCQoKKml0b2E6Cglwcm90byAxIDEKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludCAwCgk9PQoJYnogKml0b2FfaWZfZW5kCglieXRlIDB4MzAKCXJldHN1YgoKKml0b2FfaWZfZW5kOgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgkvCglpbnQgMAoJPgoJYnogKml0b2FfdGVybmFyeV9mYWxzZQoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgkvCgljYWxsc3ViICppdG9hCgliICppdG9hX3Rlcm5hcnlfZW5kCgoqaXRvYV90ZXJuYXJ5X2ZhbHNlOgoJYnl0ZSAweCAvLyAiIgoKKml0b2FfdGVybmFyeV9lbmQ6CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMTAKCSUKCWNhbGxzdWIgKmludFRvQXNjaWkKCWNvbmNhdAoJcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"scratchVariables": {
diff --git a/tests/contracts/artifacts/IfTest.approval.teal b/tests/contracts/artifacts/IfTest.approval.teal
index 033e86434..6995135ad 100644
--- a/tests/contracts/artifacts/IfTest.approval.teal
+++ b/tests/contracts/artifacts/IfTest.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/IfTest.arc32.json b/tests/contracts/artifacts/IfTest.arc32.json
index 6cb465410..2a2044ffc 100644
--- a/tests/contracts/artifacts/IfTest.arc32.json
+++ b/tests/contracts/artifacts/IfTest.arc32.json
@@ -109,7 +109,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaW5nbGVJZihib29sKXN0cmluZwoqYWJpX3JvdXRlX3NpbmdsZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMCkgZm9yIHNpbmdsZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIHNpbmdsZUlmKGJvb2wpc3RyaW5nCgljYWxsc3ViIHNpbmdsZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNpbmdsZUlmKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKc2luZ2xlSWY6Cglwcm90byAxIDEKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoKKmlmMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMQoJLy8gcmV0dXJuICdlbmQnOwoJYnl0ZSAweDY1NmU2NCAvLyAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3IgaWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE1CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMV9lbHNlCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxNgoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX2lmRWxzZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMSkgZm9yIGlmRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIGlmRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlSWYoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwppZkVsc2VJZjoKCXByb3RvIDIgMQoKCS8vICppZjJfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoyMwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjJfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI0CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoJYiAqaWYyX2VuZAoKKmlmMl9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI1CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjYKCS8vIHJldHVybiAnZWxzZSBpZic7CglieXRlIDB4NjU2YzczNjUyMDY5NjYgLy8gImVsc2UgaWYiCglyZXRzdWIKCippZjJfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjkKCS8vIHJldHVybiAnZW5kJzsKCWJ5dGUgMHg2NTZlNjQgLy8gImVuZCIKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlKGJvb2wsYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2VJZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIGlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBpZkVsc2VJZkVsc2UoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2VJZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlSWZFbHNlKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlOgoJcHJvdG8gMiAxCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjMzCgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmM19lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzQKCS8vIHJldHVybiAnaWYnOwoJYnl0ZSAweDY5NjYgLy8gImlmIgoJcmV0c3ViCgliICppZjNfZW5kCgoqaWYzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzUKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWYzX2Vsc2UKCgkvLyAqaWYzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzYKCS8vIHJldHVybiAnZWxzZSBpZic7CglieXRlIDB4NjU2YzczNjUyMDY5NjYgLy8gImVsc2UgaWYiCglyZXRzdWIKCWIgKmlmM19lbmQKCippZjNfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjM4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWYzX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzI6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcyKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlSWY6Cglwcm90byAzIDEKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY0X2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NAoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjRfZWxzZWlmMl9jb25kaXRpb24KCgkvLyAqaWY0X2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDYKCS8vIHJldHVybiAnZWxzZSBpZiAxJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzEgLy8gImVsc2UgaWYgMSIKCXJldHN1YgoJYiAqaWY0X2VuZAoKKmlmNF9lbHNlaWYyX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjQ3CgkvLyBhcmcyCglmcmFtZV9kaWcgLTMgLy8gYXJnMjogYm9vbGVhbgoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2Vsc2VpZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDgKCS8vIHJldHVybiAnZWxzZSBpZiAyJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzIgLy8gImVsc2UgaWYgMiIKCXJldHN1YgoKKmlmNF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1MQoJLy8gcmV0dXJuICdlbmQnOwoJYnl0ZSAweDY1NmU2NCAvLyAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2VJZkVsc2UoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcyOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMikgZm9yIGlmRWxzZUlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWZFbHNlSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmRWxzZShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuLCBhcmcyOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmRWxzZUlmRWxzZToKCXByb3RvIDMgMQoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1NQoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjVfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU2CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU3CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmNV9lbHNlaWYyX2NvbmRpdGlvbgoKCS8vICppZjVfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1OAoJLy8gcmV0dXJuICdlbHNlIGlmIDEnOwoJYnl0ZSAweDY1NmM3MzY1MjA2OTY2MjAzMSAvLyAiZWxzZSBpZiAxIgoJcmV0c3ViCgliICppZjVfZW5kCgoqaWY1X2Vsc2VpZjJfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NTkKCS8vIGFyZzIKCWZyYW1lX2RpZyAtMyAvLyBhcmcyOiBib29sZWFuCglieiAqaWY1X2Vsc2UKCgkvLyAqaWY1X2Vsc2VpZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjAKCS8vIHJldHVybiAnZWxzZSBpZiAyJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzIgLy8gImVsc2UgaWYgMiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjIKCS8vIHJldHVybiAnZWxzZSc7CglieXRlIDB4NjU2YzczNjUgLy8gImVsc2UiCglyZXRzdWIKCippZjVfZW5kOgoJcmV0c3ViCgovLyBuZXN0ZWRJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfbmVzdGVkSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgbmVzdGVkSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgbmVzdGVkSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkSWYoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBuZXN0ZWRJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRJZihhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogc3RyaW5nCm5lc3RlZElmOgoJcHJvdG8gMiAxCgoJLy8gKmlmNl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY3CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmNl9lbHNlCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyAqaWY3X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjgKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWY3X2VuZAoKCS8vICppZjdfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjkKCS8vIHJldHVybiAnbmVzdGVkIGlmJzsKCWJ5dGUgMHg2ZTY1NzM3NDY1NjQyMDY5NjYgLy8gIm5lc3RlZCBpZiIKCXJldHN1YgoKKmlmN19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3MQoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmNl9lbmQKCippZjZfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjczCgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWY2X2VuZDoKCXJldHN1YgoKLy8gYnJhY2tldGxlc3NJZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9icmFja2V0bGVzc0lmRWxzZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzApIGZvciBicmFja2V0bGVzc0lmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBicmFja2V0bGVzc0lmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBicmFja2V0bGVzc0lmRWxzZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBicmFja2V0bGVzc0lmRWxzZShhcmcwOiBib29sZWFuKTogc3RyaW5nCmJyYWNrZXRsZXNzSWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmOF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc4CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmOF9lbHNlCgoJLy8gKmlmOF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3OAoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmOF9lbmQKCippZjhfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc5CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWY4X2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkVGVybmFyeShib29sLGJvb2wpdWludDY0CiphYmlfcm91dGVfbmVzdGVkVGVybmFyeToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzEpIGZvciBuZXN0ZWRUZXJuYXJ5IG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIG5lc3RlZFRlcm5hcnkgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkVGVybmFyeShib29sLGJvb2wpdWludDY0CgljYWxsc3ViIG5lc3RlZFRlcm5hcnkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRUZXJuYXJ5KGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4pOiB1aW50NjQKbmVzdGVkVGVybmFyeToKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjg0CgkvLyByZXR1cm4gYXJnMCA/IDEgOiBhcmcxID8gMiA6IDM7CglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnQgMQoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKnRlcm5hcnkxX2ZhbHNlCglpbnQgMgoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglpbnQgMwoKKnRlcm5hcnkxX2VuZDoKCip0ZXJuYXJ5MF9lbmQ6CglyZXRzdWIKCi8vIHN0cmluZ0lmKHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdJZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMDogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RyaW5nSWYoc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdJZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ0lmKGFyZzA6IHN0cmluZyk6IHVpbnQ2NApzdHJpbmdJZjoKCXByb3RvIDEgMQoKCS8vICppZjlfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4OAoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IHN0cmluZwoJYnl0ZSAweAoJYiE9CglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6ODkKCS8vIHJldHVybiAxOwoJaW50IDEKCXJldHN1YgoKKmlmOV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo5MgoJLy8gcmV0dXJuIDI7CglpbnQgMgoJcmV0c3ViCgovLyBzdHJpbmdUZXJuYXJ5KHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdUZXJuYXJ5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdUZXJuYXJ5KHN0cmluZyl1aW50NjQKCWNhbGxzdWIgc3RyaW5nVGVybmFyeQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ1Rlcm5hcnkoYXJnMDogc3RyaW5nKTogdWludDY0CnN0cmluZ1Rlcm5hcnk6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo5NgoJLy8gcmV0dXJuIGFyZzAgPyAxIDogMjsKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBzdHJpbmcKCWJ5dGUgMHgKCWIhPQoJYnogKnRlcm5hcnkyX2ZhbHNlCglpbnQgMQoJYiAqdGVybmFyeTJfZW5kCgoqdGVybmFyeTJfZmFsc2U6CglpbnQgMgoKKnRlcm5hcnkyX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQKKmFiaV9yb3V0ZV9zbWFsbFVpbnRDb25kaXRpb25hbDoKCS8vIGE6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBzbWFsbFVpbnRDb25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbmRpdGlvbmFsKHVpbnQxNil2b2lkCgljYWxsc3ViIHNtYWxsVWludENvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb25kaXRpb25hbChhOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbmRpdGlvbmFsOgoJcHJvdG8gMSAwCgoJLy8gKmlmMTBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDAKCS8vIGEKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWJ5dGUgMHgKCWIhPQoJYnogKmlmMTBfZW5kCgoJLy8gKmlmMTBfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTAxCgkvLyBsb2coJ2ZvbycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglsb2cKCippZjEwX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwoYTogdWludDE2LCBiOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCXByb3RvIDIgMAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTA2CgkvLyBhIDw9IGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MTYKCTw9CglieiAqaWYxMV9lbmQKCgkvLyAqaWYxMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDcKCS8vIGxvZygnZm9vJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWxvZwoKKmlmMTFfZW5kOgoJcmV0c3ViCgovLyB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsKHVpbnQyNTYsdWludDI1Nil2b2lkCiphYmlfcm91dGVfdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB2b2lkCnVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWw6Cglwcm90byAyIDAKCgkvLyAqaWYxMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExMgoJLy8gYSA8PSBiCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWI8PQoJYnogKmlmMTJfZW5kCgoJLy8gKmlmMTJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTEzCgkvLyBsb2coJ2ZvbycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglsb2cKCippZjEyX2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfbmVzdGVkSWZJbkVsc2VJZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBuZXN0ZWRJZkluRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIG5lc3RlZElmSW5FbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIG5lc3RlZElmSW5FbHNlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkSWZJbkVsc2VJZihhOiBib29sZWFuLCBiOiBib29sZWFuKTogc3RyaW5nCm5lc3RlZElmSW5FbHNlSWY6Cglwcm90byAyIDEKCgkvLyAqaWYxM19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExOAoJLy8gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IGJvb2xlYW4KCWJ6ICppZjEzX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmMTNfY29uc2VxdWVudAoJLy8gKmlmMTRfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMTkKCS8vIGIKCWZyYW1lX2RpZyAtMiAvLyBiOiBib29sZWFuCglieiAqaWYxNF9lbHNlCgoJLy8gKmlmMTRfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTIwCgkvLyByZXR1cm4gJ2EgYW5kIGInOwoJYnl0ZSAweDYxMjA2MTZlNjQyMDYyIC8vICJhIGFuZCBiIgoJcmV0c3ViCgliICppZjE0X2VuZAoKKmlmMTRfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEyMgoJLy8gcmV0dXJuICdhJzsKCWJ5dGUgMHg2MSAvLyAiYSIKCXJldHN1YgoKKmlmMTRfZW5kOgoJYiAqaWYxM19lbmQKCippZjEzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI0CgkvLyBiCglmcmFtZV9kaWcgLTIgLy8gYjogYm9vbGVhbgoJYnogKmlmMTNfZWxzZQoKCS8vICppZjEzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI1CgkvLyByZXR1cm4gJ2InOwoJYnl0ZSAweDYyIC8vICJiIgoJcmV0c3ViCgliICppZjEzX2VuZAoKKmlmMTNfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEyNwoJLy8gcmV0dXJuICduZWl0aGVyJzsKCWJ5dGUgMHg2ZTY1Njk3NDY4NjU3MiAvLyAibmVpdGhlciIKCXJldHN1YgoKKmlmMTNfZW5kOgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2luZ2xlSWYoYm9vbClzdHJpbmciCgltZXRob2QgImlmRWxzZShib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWZFbHNlKGJvb2wsYm9vbClzdHJpbmciCgltZXRob2QgImlmRWxzZUlmRWxzZUlmKGJvb2wsYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWZFbHNlSWZFbHNlKGJvb2wsYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAibmVzdGVkSWYoYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiYnJhY2tldGxlc3NJZkVsc2UoYm9vbClzdHJpbmciCgltZXRob2QgIm5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NCIKCW1ldGhvZCAic3RyaW5nSWYoc3RyaW5nKXVpbnQ2NCIKCW1ldGhvZCAic3RyaW5nVGVybmFyeShzdHJpbmcpdWludDY0IgoJbWV0aG9kICJzbWFsbFVpbnRDb25kaXRpb25hbCh1aW50MTYpdm9pZCIKCW1ldGhvZCAic21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZCIKCW1ldGhvZCAidWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZCIKCW1ldGhvZCAibmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zaW5nbGVJZiAqYWJpX3JvdXRlX2lmRWxzZSAqYWJpX3JvdXRlX2lmRWxzZUlmICphYmlfcm91dGVfaWZFbHNlSWZFbHNlICphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWYgKmFiaV9yb3V0ZV9pZkVsc2VJZkVsc2VJZkVsc2UgKmFiaV9yb3V0ZV9uZXN0ZWRJZiAqYWJpX3JvdXRlX2JyYWNrZXRsZXNzSWZFbHNlICphYmlfcm91dGVfbmVzdGVkVGVybmFyeSAqYWJpX3JvdXRlX3N0cmluZ0lmICphYmlfcm91dGVfc3RyaW5nVGVybmFyeSAqYWJpX3JvdXRlX3NtYWxsVWludENvbmRpdGlvbmFsICphYmlfcm91dGVfc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsICphYmlfcm91dGVfdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCAqYWJpX3JvdXRlX25lc3RlZElmSW5FbHNlSWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaW5nbGVJZihib29sKXN0cmluZwoqYWJpX3JvdXRlX3NpbmdsZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMCkgZm9yIHNpbmdsZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIHNpbmdsZUlmKGJvb2wpc3RyaW5nCgljYWxsc3ViIHNpbmdsZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNpbmdsZUlmKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKc2luZ2xlSWY6Cglwcm90byAxIDEKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoKKmlmMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMQoJLy8gcmV0dXJuICdlbmQnOwoJYnl0ZSAweDY1NmU2NCAvLyAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3IgaWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE1CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMV9lbHNlCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxNgoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX2lmRWxzZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMSkgZm9yIGlmRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIGlmRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlSWYoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwppZkVsc2VJZjoKCXByb3RvIDIgMQoKCS8vICppZjJfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoyMwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjJfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI0CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoJYiAqaWYyX2VuZAoKKmlmMl9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI1CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjYKCS8vIHJldHVybiAnZWxzZSBpZic7CglieXRlIDB4NjU2YzczNjUyMDY5NjYgLy8gImVsc2UgaWYiCglyZXRzdWIKCippZjJfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjkKCS8vIHJldHVybiAnZW5kJzsKCWJ5dGUgMHg2NTZlNjQgLy8gImVuZCIKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlKGJvb2wsYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2VJZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIGlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBpZkVsc2VJZkVsc2UoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2VJZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlSWZFbHNlKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlOgoJcHJvdG8gMiAxCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjMzCgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmM19lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzQKCS8vIHJldHVybiAnaWYnOwoJYnl0ZSAweDY5NjYgLy8gImlmIgoJcmV0c3ViCgliICppZjNfZW5kCgoqaWYzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzUKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWYzX2Vsc2UKCgkvLyAqaWYzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzYKCS8vIHJldHVybiAnZWxzZSBpZic7CglieXRlIDB4NjU2YzczNjUyMDY5NjYgLy8gImVsc2UgaWYiCglyZXRzdWIKCWIgKmlmM19lbmQKCippZjNfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjM4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWYzX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzI6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcyKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlSWY6Cglwcm90byAzIDEKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY0X2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NAoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjRfZWxzZWlmMl9jb25kaXRpb24KCgkvLyAqaWY0X2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDYKCS8vIHJldHVybiAnZWxzZSBpZiAxJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzEgLy8gImVsc2UgaWYgMSIKCXJldHN1YgoJYiAqaWY0X2VuZAoKKmlmNF9lbHNlaWYyX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjQ3CgkvLyBhcmcyCglmcmFtZV9kaWcgLTMgLy8gYXJnMjogYm9vbGVhbgoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2Vsc2VpZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDgKCS8vIHJldHVybiAnZWxzZSBpZiAyJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzIgLy8gImVsc2UgaWYgMiIKCXJldHN1YgoKKmlmNF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1MQoJLy8gcmV0dXJuICdlbmQnOwoJYnl0ZSAweDY1NmU2NCAvLyAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2VJZkVsc2UoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcyOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMikgZm9yIGlmRWxzZUlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWZFbHNlSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmRWxzZShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuLCBhcmcyOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmRWxzZUlmRWxzZToKCXByb3RvIDMgMQoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1NQoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjVfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU2CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU3CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmNV9lbHNlaWYyX2NvbmRpdGlvbgoKCS8vICppZjVfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1OAoJLy8gcmV0dXJuICdlbHNlIGlmIDEnOwoJYnl0ZSAweDY1NmM3MzY1MjA2OTY2MjAzMSAvLyAiZWxzZSBpZiAxIgoJcmV0c3ViCgliICppZjVfZW5kCgoqaWY1X2Vsc2VpZjJfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NTkKCS8vIGFyZzIKCWZyYW1lX2RpZyAtMyAvLyBhcmcyOiBib29sZWFuCglieiAqaWY1X2Vsc2UKCgkvLyAqaWY1X2Vsc2VpZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjAKCS8vIHJldHVybiAnZWxzZSBpZiAyJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzIgLy8gImVsc2UgaWYgMiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjIKCS8vIHJldHVybiAnZWxzZSc7CglieXRlIDB4NjU2YzczNjUgLy8gImVsc2UiCglyZXRzdWIKCippZjVfZW5kOgoJcmV0c3ViCgovLyBuZXN0ZWRJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfbmVzdGVkSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgbmVzdGVkSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgbmVzdGVkSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkSWYoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBuZXN0ZWRJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRJZihhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogc3RyaW5nCm5lc3RlZElmOgoJcHJvdG8gMiAxCgoJLy8gKmlmNl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY3CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmNl9lbHNlCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyAqaWY3X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjgKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWY3X2VuZAoKCS8vICppZjdfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjkKCS8vIHJldHVybiAnbmVzdGVkIGlmJzsKCWJ5dGUgMHg2ZTY1NzM3NDY1NjQyMDY5NjYgLy8gIm5lc3RlZCBpZiIKCXJldHN1YgoKKmlmN19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3MQoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmNl9lbmQKCippZjZfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjczCgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWY2X2VuZDoKCXJldHN1YgoKLy8gYnJhY2tldGxlc3NJZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9icmFja2V0bGVzc0lmRWxzZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzApIGZvciBicmFja2V0bGVzc0lmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBicmFja2V0bGVzc0lmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBicmFja2V0bGVzc0lmRWxzZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBicmFja2V0bGVzc0lmRWxzZShhcmcwOiBib29sZWFuKTogc3RyaW5nCmJyYWNrZXRsZXNzSWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmOF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc4CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmOF9lbHNlCgoJLy8gKmlmOF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3OAoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmOF9lbmQKCippZjhfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc5CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWY4X2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkVGVybmFyeShib29sLGJvb2wpdWludDY0CiphYmlfcm91dGVfbmVzdGVkVGVybmFyeToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzEpIGZvciBuZXN0ZWRUZXJuYXJ5IG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIG5lc3RlZFRlcm5hcnkgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkVGVybmFyeShib29sLGJvb2wpdWludDY0CgljYWxsc3ViIG5lc3RlZFRlcm5hcnkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRUZXJuYXJ5KGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4pOiB1aW50NjQKbmVzdGVkVGVybmFyeToKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjg0CgkvLyByZXR1cm4gYXJnMCA/IDEgOiBhcmcxID8gMiA6IDM7CglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnQgMQoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKnRlcm5hcnkxX2ZhbHNlCglpbnQgMgoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglpbnQgMwoKKnRlcm5hcnkxX2VuZDoKCip0ZXJuYXJ5MF9lbmQ6CglyZXRzdWIKCi8vIHN0cmluZ0lmKHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdJZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMDogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RyaW5nSWYoc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdJZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ0lmKGFyZzA6IHN0cmluZyk6IHVpbnQ2NApzdHJpbmdJZjoKCXByb3RvIDEgMQoKCS8vICppZjlfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4OAoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IHN0cmluZwoJYnl0ZSAweAoJYiE9CglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6ODkKCS8vIHJldHVybiAxOwoJaW50IDEKCXJldHN1YgoKKmlmOV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo5MgoJLy8gcmV0dXJuIDI7CglpbnQgMgoJcmV0c3ViCgovLyBzdHJpbmdUZXJuYXJ5KHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdUZXJuYXJ5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdUZXJuYXJ5KHN0cmluZyl1aW50NjQKCWNhbGxzdWIgc3RyaW5nVGVybmFyeQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ1Rlcm5hcnkoYXJnMDogc3RyaW5nKTogdWludDY0CnN0cmluZ1Rlcm5hcnk6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo5NgoJLy8gcmV0dXJuIGFyZzAgPyAxIDogMjsKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBzdHJpbmcKCWJ5dGUgMHgKCWIhPQoJYnogKnRlcm5hcnkyX2ZhbHNlCglpbnQgMQoJYiAqdGVybmFyeTJfZW5kCgoqdGVybmFyeTJfZmFsc2U6CglpbnQgMgoKKnRlcm5hcnkyX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQKKmFiaV9yb3V0ZV9zbWFsbFVpbnRDb25kaXRpb25hbDoKCS8vIGE6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBzbWFsbFVpbnRDb25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbmRpdGlvbmFsKHVpbnQxNil2b2lkCgljYWxsc3ViIHNtYWxsVWludENvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb25kaXRpb25hbChhOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbmRpdGlvbmFsOgoJcHJvdG8gMSAwCgoJLy8gKmlmMTBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDAKCS8vIGEKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWJ5dGUgMHgKCWIhPQoJYnogKmlmMTBfZW5kCgoJLy8gKmlmMTBfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTAxCgkvLyBsb2coJ2ZvbycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglsb2cKCippZjEwX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwoYTogdWludDE2LCBiOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCXByb3RvIDIgMAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTA2CgkvLyBhIDw9IGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MTYKCTw9CglieiAqaWYxMV9lbmQKCgkvLyAqaWYxMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDcKCS8vIGxvZygnZm9vJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWxvZwoKKmlmMTFfZW5kOgoJcmV0c3ViCgovLyB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsKHVpbnQyNTYsdWludDI1Nil2b2lkCiphYmlfcm91dGVfdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB2b2lkCnVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWw6Cglwcm90byAyIDAKCgkvLyAqaWYxMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExMgoJLy8gYSA8PSBiCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWI8PQoJYnogKmlmMTJfZW5kCgoJLy8gKmlmMTJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTEzCgkvLyBsb2coJ2ZvbycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglsb2cKCippZjEyX2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfbmVzdGVkSWZJbkVsc2VJZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBuZXN0ZWRJZkluRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIG5lc3RlZElmSW5FbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIG5lc3RlZElmSW5FbHNlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkSWZJbkVsc2VJZihhOiBib29sZWFuLCBiOiBib29sZWFuKTogc3RyaW5nCm5lc3RlZElmSW5FbHNlSWY6Cglwcm90byAyIDEKCgkvLyAqaWYxM19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExOAoJLy8gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IGJvb2xlYW4KCWJ6ICppZjEzX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmMTNfY29uc2VxdWVudAoJLy8gKmlmMTRfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMTkKCS8vIGIKCWZyYW1lX2RpZyAtMiAvLyBiOiBib29sZWFuCglieiAqaWYxNF9lbHNlCgoJLy8gKmlmMTRfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTIwCgkvLyByZXR1cm4gJ2EgYW5kIGInOwoJYnl0ZSAweDYxMjA2MTZlNjQyMDYyIC8vICJhIGFuZCBiIgoJcmV0c3ViCgliICppZjE0X2VuZAoKKmlmMTRfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEyMgoJLy8gcmV0dXJuICdhJzsKCWJ5dGUgMHg2MSAvLyAiYSIKCXJldHN1YgoKKmlmMTRfZW5kOgoJYiAqaWYxM19lbmQKCippZjEzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI0CgkvLyBiCglmcmFtZV9kaWcgLTIgLy8gYjogYm9vbGVhbgoJYnogKmlmMTNfZWxzZQoKCS8vICppZjEzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI1CgkvLyByZXR1cm4gJ2InOwoJYnl0ZSAweDYyIC8vICJiIgoJcmV0c3ViCgliICppZjEzX2VuZAoKKmlmMTNfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEyNwoJLy8gcmV0dXJuICduZWl0aGVyJzsKCWJ5dGUgMHg2ZTY1Njk3NDY4NjU3MiAvLyAibmVpdGhlciIKCXJldHN1YgoKKmlmMTNfZW5kOgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2luZ2xlSWYoYm9vbClzdHJpbmciCgltZXRob2QgImlmRWxzZShib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWZFbHNlKGJvb2wsYm9vbClzdHJpbmciCgltZXRob2QgImlmRWxzZUlmRWxzZUlmKGJvb2wsYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWZFbHNlSWZFbHNlKGJvb2wsYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAibmVzdGVkSWYoYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiYnJhY2tldGxlc3NJZkVsc2UoYm9vbClzdHJpbmciCgltZXRob2QgIm5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NCIKCW1ldGhvZCAic3RyaW5nSWYoc3RyaW5nKXVpbnQ2NCIKCW1ldGhvZCAic3RyaW5nVGVybmFyeShzdHJpbmcpdWludDY0IgoJbWV0aG9kICJzbWFsbFVpbnRDb25kaXRpb25hbCh1aW50MTYpdm9pZCIKCW1ldGhvZCAic21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZCIKCW1ldGhvZCAidWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZCIKCW1ldGhvZCAibmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zaW5nbGVJZiAqYWJpX3JvdXRlX2lmRWxzZSAqYWJpX3JvdXRlX2lmRWxzZUlmICphYmlfcm91dGVfaWZFbHNlSWZFbHNlICphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWYgKmFiaV9yb3V0ZV9pZkVsc2VJZkVsc2VJZkVsc2UgKmFiaV9yb3V0ZV9uZXN0ZWRJZiAqYWJpX3JvdXRlX2JyYWNrZXRsZXNzSWZFbHNlICphYmlfcm91dGVfbmVzdGVkVGVybmFyeSAqYWJpX3JvdXRlX3N0cmluZ0lmICphYmlfcm91dGVfc3RyaW5nVGVybmFyeSAqYWJpX3JvdXRlX3NtYWxsVWludENvbmRpdGlvbmFsICphYmlfcm91dGVfc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsICphYmlfcm91dGVfdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCAqYWJpX3JvdXRlX25lc3RlZElmSW5FbHNlSWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/IfTest.arc56_draft.json b/tests/contracts/artifacts/IfTest.arc56_draft.json
index 399d4f23c..0547b5dbd 100644
--- a/tests/contracts/artifacts/IfTest.arc56_draft.json
+++ b/tests/contracts/artifacts/IfTest.arc56_draft.json
@@ -361,4253 +361,4256 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 5,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 13,
- "source": 5,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 14,
- "source": 5,
- "pc": [
- 61
- ]
- },
- {
- "teal": 15,
- "source": 5,
- "pc": [
- 62,
- 63
- ]
- },
- {
- "teal": 16,
- "source": 5,
- "pc": [
- 64
- ]
- },
- {
- "teal": 17,
- "source": 5,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 18,
- "source": 5,
- "pc": [
- 67
- ]
- },
- {
- "teal": 19,
- "source": 5,
- "pc": [
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 23,
- "source": 5,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 94
- ]
- },
- {
- "teal": 28,
- "source": 6,
- "pc": [
- 95
- ]
- },
- {
- "teal": 31,
- "source": 6,
- "pc": [
- 96,
- 97,
- 98
- ]
- },
- {
- "teal": 32,
- "source": 6,
- "pc": [
- 99
- ]
- },
- {
- "teal": 33,
- "source": 6,
- "pc": [
- 100
- ]
- },
- {
- "teal": 34,
- "source": 6,
- "pc": [
- 101
- ]
- },
- {
- "teal": 35,
- "source": 6,
- "pc": [
- 102
- ]
- },
- {
- "teal": 38,
- "source": 6,
- "errorMessage": "argument 0 (arg0) for singleIf must be a bool",
- "pc": [
- 103
- ]
- },
- {
- "teal": 39,
- "source": 6,
- "pc": [
- 104
- ]
- },
- {
- "teal": 40,
- "source": 6,
- "pc": [
- 105
- ]
- },
- {
- "teal": 43,
- "source": 6,
- "pc": [
- 106,
- 107,
- 108
- ]
- },
- {
- "teal": 44,
- "source": 6,
- "pc": [
- 109
- ]
- },
- {
- "teal": 45,
- "source": 6,
- "pc": [
- 110
- ]
- },
- {
- "teal": 46,
- "source": 6,
- "pc": [
- 111
- ]
- },
- {
- "teal": 47,
- "source": 6,
- "pc": [
- 112,
- 113,
- 114
- ]
- },
- {
- "teal": 48,
- "source": 6,
- "pc": [
- 115
- ]
- },
- {
- "teal": 49,
- "source": 6,
- "pc": [
- 116
- ]
- },
- {
- "teal": 50,
- "source": 6,
- "pc": [
- 117
- ]
- },
- {
- "teal": 51,
- "source": 6,
- "pc": [
- 118
- ]
- },
- {
- "teal": 52,
- "source": 6,
- "pc": [
- 119
- ]
- },
- {
- "teal": 53,
- "source": 6,
- "pc": [
- 120
- ]
- },
- {
- "teal": 57,
- "source": 6,
- "pc": [
- 121,
- 122,
- 123
- ]
- },
- {
- "teal": 62,
- "source": 7,
- "pc": [
- 124,
- 125
- ]
- },
- {
- "teal": 63,
- "source": 7,
- "pc": [
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 68,
- "source": 8,
- "pc": [
- 129
- ]
- },
- {
- "teal": 69,
- "source": 8,
- "pc": [
- 130
- ]
- },
- {
- "teal": 74,
- "source": 11,
- "pc": [
- 131
- ]
- },
- {
- "teal": 75,
- "source": 6,
- "pc": [
- 132
- ]
- },
- {
- "teal": 80,
- "source": 14,
- "pc": [
- 133
- ]
- },
- {
- "teal": 83,
- "source": 14,
- "pc": [
- 134,
- 135,
- 136
- ]
- },
- {
- "teal": 84,
- "source": 14,
- "pc": [
- 137
- ]
- },
- {
- "teal": 85,
- "source": 14,
- "pc": [
- 138
- ]
- },
- {
- "teal": 86,
- "source": 14,
- "pc": [
- 139
- ]
- },
- {
- "teal": 87,
- "source": 14,
- "pc": [
- 140
- ]
- },
- {
- "teal": 90,
- "source": 14,
- "errorMessage": "argument 0 (arg0) for ifElse must be a bool",
- "pc": [
- 141
- ]
- },
- {
- "teal": 91,
- "source": 14,
- "pc": [
- 142
- ]
- },
- {
- "teal": 92,
- "source": 14,
- "pc": [
- 143
- ]
- },
- {
- "teal": 95,
- "source": 14,
- "pc": [
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 96,
- "source": 14,
- "pc": [
- 147
- ]
- },
- {
- "teal": 97,
- "source": 14,
- "pc": [
- 148
- ]
- },
- {
- "teal": 98,
- "source": 14,
- "pc": [
- 149
- ]
- },
- {
- "teal": 99,
- "source": 14,
- "pc": [
- 150,
- 151,
- 152
- ]
- },
- {
- "teal": 100,
- "source": 14,
- "pc": [
- 153
- ]
- },
- {
- "teal": 101,
- "source": 14,
- "pc": [
- 154
- ]
- },
- {
- "teal": 102,
- "source": 14,
- "pc": [
- 155
- ]
- },
- {
- "teal": 103,
- "source": 14,
- "pc": [
- 156
- ]
- },
- {
- "teal": 104,
- "source": 14,
- "pc": [
- 157
- ]
- },
- {
- "teal": 105,
- "source": 14,
- "pc": [
- 158
- ]
- },
- {
- "teal": 109,
- "source": 14,
- "pc": [
- 159,
- 160,
- 161
- ]
- },
- {
- "teal": 114,
- "source": 15,
- "pc": [
- 162,
- 163
- ]
- },
- {
- "teal": 115,
- "source": 15,
- "pc": [
- 164,
- 165,
- 166
- ]
- },
- {
- "teal": 120,
- "source": 16,
- "pc": [
- 167
- ]
- },
- {
- "teal": 121,
- "source": 16,
- "pc": [
- 168
- ]
- },
- {
- "teal": 122,
- "source": 15,
- "pc": [
- 169,
- 170,
- 171
- ]
- },
- {
- "teal": 127,
- "source": 18,
- "pc": [
- 172
- ]
- },
- {
- "teal": 128,
- "source": 18,
- "pc": [
- 173
- ]
- },
- {
- "teal": 131,
- "source": 14,
- "pc": [
- 174
- ]
- },
- {
- "teal": 136,
- "source": 22,
- "pc": [
- 175
- ]
- },
- {
- "teal": 139,
- "source": 22,
- "pc": [
- 176,
- 177,
- 178
- ]
- },
- {
- "teal": 140,
- "source": 22,
- "pc": [
- 179
- ]
- },
- {
- "teal": 141,
- "source": 22,
- "pc": [
- 180
- ]
- },
- {
- "teal": 142,
- "source": 22,
- "pc": [
- 181
- ]
- },
- {
- "teal": 143,
- "source": 22,
- "pc": [
- 182
- ]
- },
- {
- "teal": 146,
- "source": 22,
- "errorMessage": "argument 0 (arg1) for ifElseIf must be a bool",
- "pc": [
- 183
- ]
- },
- {
- "teal": 147,
- "source": 22,
- "pc": [
- 184
- ]
- },
- {
- "teal": 148,
- "source": 22,
- "pc": [
- 185
- ]
- },
- {
- "teal": 151,
- "source": 22,
- "pc": [
- 186,
- 187,
- 188
- ]
- },
- {
- "teal": 152,
- "source": 22,
- "pc": [
- 189
- ]
- },
- {
- "teal": 153,
- "source": 22,
- "pc": [
- 190
- ]
- },
- {
- "teal": 154,
- "source": 22,
- "pc": [
- 191
- ]
- },
- {
- "teal": 155,
- "source": 22,
- "pc": [
- 192
- ]
- },
- {
- "teal": 158,
- "source": 22,
- "errorMessage": "argument 1 (arg0) for ifElseIf must be a bool",
- "pc": [
- 193
- ]
- },
- {
- "teal": 159,
- "source": 22,
- "pc": [
- 194
- ]
- },
- {
- "teal": 160,
- "source": 22,
- "pc": [
- 195
- ]
- },
- {
- "teal": 163,
- "source": 22,
- "pc": [
- 196,
- 197,
- 198
- ]
- },
- {
- "teal": 164,
- "source": 22,
- "pc": [
- 199
- ]
- },
- {
- "teal": 165,
- "source": 22,
- "pc": [
- 200
- ]
- },
- {
- "teal": 166,
- "source": 22,
- "pc": [
- 201
- ]
- },
- {
- "teal": 167,
- "source": 22,
- "pc": [
- 202,
- 203,
- 204
- ]
- },
- {
- "teal": 168,
- "source": 22,
- "pc": [
- 205
- ]
- },
- {
- "teal": 169,
- "source": 22,
- "pc": [
- 206
- ]
- },
- {
- "teal": 170,
- "source": 22,
- "pc": [
- 207
- ]
- },
- {
- "teal": 171,
- "source": 22,
- "pc": [
- 208
- ]
- },
- {
- "teal": 172,
- "source": 22,
- "pc": [
- 209
- ]
- },
- {
- "teal": 173,
- "source": 22,
- "pc": [
- 210
- ]
- },
- {
- "teal": 177,
- "source": 22,
- "pc": [
- 211,
- 212,
- 213
- ]
- },
- {
- "teal": 182,
- "source": 23,
- "pc": [
- 214,
- 215
- ]
- },
- {
- "teal": 183,
- "source": 23,
- "pc": [
- 216,
- 217,
- 218
- ]
- },
- {
- "teal": 188,
- "source": 24,
- "pc": [
- 219
- ]
- },
- {
- "teal": 189,
- "source": 24,
- "pc": [
- 220
- ]
- },
- {
- "teal": 190,
- "source": 23,
- "pc": [
- 221,
- 222,
- 223
- ]
- },
- {
- "teal": 195,
- "source": 25,
- "pc": [
- 224,
- 225
- ]
- },
- {
- "teal": 196,
- "source": 25,
- "pc": [
- 226,
- 227,
- 228
- ]
- },
- {
- "teal": 201,
- "source": 26,
- "pc": [
- 229,
- 230
- ]
- },
- {
- "teal": 202,
- "source": 26,
- "pc": [
- 231
- ]
- },
- {
- "teal": 207,
- "source": 29,
- "pc": [
- 232
- ]
- },
- {
- "teal": 208,
- "source": 22,
- "pc": [
- 233
- ]
- },
- {
- "teal": 213,
- "source": 32,
- "pc": [
- 234
- ]
- },
- {
- "teal": 216,
- "source": 32,
- "pc": [
- 235,
- 236,
- 237
- ]
- },
- {
- "teal": 217,
- "source": 32,
- "pc": [
- 238
- ]
- },
- {
- "teal": 218,
- "source": 32,
- "pc": [
- 239
- ]
- },
- {
- "teal": 219,
- "source": 32,
- "pc": [
- 240
- ]
- },
- {
- "teal": 220,
- "source": 32,
- "pc": [
- 241
- ]
- },
- {
- "teal": 223,
- "source": 32,
- "errorMessage": "argument 0 (arg1) for ifElseIfElse must be a bool",
- "pc": [
- 242
- ]
- },
- {
- "teal": 224,
- "source": 32,
- "pc": [
- 243
- ]
- },
- {
- "teal": 225,
- "source": 32,
- "pc": [
- 244
- ]
- },
- {
- "teal": 228,
- "source": 32,
- "pc": [
- 245,
- 246,
- 247
- ]
- },
- {
- "teal": 229,
- "source": 32,
- "pc": [
- 248
- ]
- },
- {
- "teal": 230,
- "source": 32,
- "pc": [
- 249
- ]
- },
- {
- "teal": 231,
- "source": 32,
- "pc": [
- 250
- ]
- },
- {
- "teal": 232,
- "source": 32,
- "pc": [
- 251
- ]
- },
- {
- "teal": 235,
- "source": 32,
- "errorMessage": "argument 1 (arg0) for ifElseIfElse must be a bool",
- "pc": [
- 252
- ]
- },
- {
- "teal": 236,
- "source": 32,
- "pc": [
- 253
- ]
- },
- {
- "teal": 237,
- "source": 32,
- "pc": [
- 254
- ]
- },
- {
- "teal": 240,
- "source": 32,
- "pc": [
- 255,
- 256,
- 257
- ]
- },
- {
- "teal": 241,
- "source": 32,
- "pc": [
- 258
- ]
- },
- {
- "teal": 242,
- "source": 32,
- "pc": [
- 259
- ]
- },
- {
- "teal": 243,
- "source": 32,
- "pc": [
- 260
- ]
- },
- {
- "teal": 244,
- "source": 32,
- "pc": [
- 261,
- 262,
- 263
- ]
- },
- {
- "teal": 245,
- "source": 32,
- "pc": [
- 264
- ]
- },
- {
- "teal": 246,
- "source": 32,
- "pc": [
- 265
- ]
- },
- {
- "teal": 247,
- "source": 32,
- "pc": [
- 266
- ]
- },
- {
- "teal": 248,
- "source": 32,
- "pc": [
- 267
- ]
- },
- {
- "teal": 249,
- "source": 32,
- "pc": [
- 268
- ]
- },
- {
- "teal": 250,
- "source": 32,
- "pc": [
- 269
- ]
- },
- {
- "teal": 254,
- "source": 32,
- "pc": [
- 270,
- 271,
- 272
- ]
- },
- {
- "teal": 259,
- "source": 33,
- "pc": [
- 273,
- 274
- ]
- },
- {
- "teal": 260,
- "source": 33,
- "pc": [
- 275,
- 276,
- 277
- ]
- },
- {
- "teal": 265,
- "source": 34,
- "pc": [
- 278
- ]
- },
- {
- "teal": 266,
- "source": 34,
- "pc": [
- 279
- ]
- },
- {
- "teal": 267,
- "source": 33,
- "pc": [
- 280,
- 281,
- 282
- ]
- },
- {
- "teal": 272,
- "source": 35,
- "pc": [
- 283,
- 284
- ]
- },
- {
- "teal": 273,
- "source": 35,
- "pc": [
- 285,
- 286,
- 287
- ]
- },
- {
- "teal": 278,
- "source": 36,
- "pc": [
- 288,
- 289
- ]
- },
- {
- "teal": 279,
- "source": 36,
- "pc": [
- 290
- ]
- },
- {
- "teal": 280,
- "source": 35,
- "pc": [
- 291,
- 292,
- 293
- ]
- },
- {
- "teal": 285,
- "source": 38,
- "pc": [
- 294
- ]
- },
- {
- "teal": 286,
- "source": 38,
- "pc": [
- 295
- ]
- },
- {
- "teal": 289,
- "source": 32,
- "pc": [
- 296
- ]
- },
- {
- "teal": 294,
- "source": 42,
- "pc": [
- 297
- ]
- },
- {
- "teal": 297,
- "source": 42,
- "pc": [
- 298,
- 299,
- 300
- ]
- },
- {
- "teal": 298,
- "source": 42,
- "pc": [
- 301
- ]
- },
- {
- "teal": 299,
- "source": 42,
- "pc": [
- 302
- ]
- },
- {
- "teal": 300,
- "source": 42,
- "pc": [
- 303
- ]
- },
- {
- "teal": 301,
- "source": 42,
- "pc": [
- 304
- ]
- },
- {
- "teal": 304,
- "source": 42,
- "errorMessage": "argument 0 (arg2) for ifElseIfElseIf must be a bool",
- "pc": [
- 305
- ]
- },
- {
- "teal": 305,
- "source": 42,
- "pc": [
- 306
- ]
- },
- {
- "teal": 306,
- "source": 42,
- "pc": [
- 307
- ]
- },
- {
- "teal": 309,
- "source": 42,
- "pc": [
- 308,
- 309,
- 310
- ]
- },
- {
- "teal": 310,
- "source": 42,
- "pc": [
- 311
- ]
- },
- {
- "teal": 311,
- "source": 42,
- "pc": [
- 312
- ]
- },
- {
- "teal": 312,
- "source": 42,
- "pc": [
- 313
- ]
- },
- {
- "teal": 313,
- "source": 42,
- "pc": [
- 314
- ]
- },
- {
- "teal": 316,
- "source": 42,
- "errorMessage": "argument 1 (arg1) for ifElseIfElseIf must be a bool",
- "pc": [
- 315
- ]
- },
- {
- "teal": 317,
- "source": 42,
- "pc": [
- 316
- ]
- },
- {
- "teal": 318,
- "source": 42,
- "pc": [
- 317
- ]
- },
- {
- "teal": 321,
- "source": 42,
- "pc": [
- 318,
- 319,
- 320
- ]
- },
- {
- "teal": 322,
- "source": 42,
- "pc": [
- 321
- ]
- },
- {
- "teal": 323,
- "source": 42,
- "pc": [
- 322
- ]
- },
- {
- "teal": 324,
- "source": 42,
- "pc": [
- 323
- ]
- },
- {
- "teal": 325,
- "source": 42,
- "pc": [
- 324
- ]
- },
- {
- "teal": 328,
- "source": 42,
- "errorMessage": "argument 2 (arg0) for ifElseIfElseIf must be a bool",
- "pc": [
- 325
- ]
- },
- {
- "teal": 329,
- "source": 42,
- "pc": [
- 326
- ]
- },
- {
- "teal": 330,
- "source": 42,
- "pc": [
- 327
- ]
- },
- {
- "teal": 333,
- "source": 42,
- "pc": [
- 328,
- 329,
- 330
- ]
- },
- {
- "teal": 334,
- "source": 42,
- "pc": [
- 331
- ]
- },
- {
- "teal": 335,
- "source": 42,
- "pc": [
- 332
- ]
- },
- {
- "teal": 336,
- "source": 42,
- "pc": [
- 333
- ]
- },
- {
- "teal": 337,
- "source": 42,
- "pc": [
- 334,
- 335,
- 336
- ]
- },
- {
- "teal": 338,
- "source": 42,
- "pc": [
- 337
- ]
- },
- {
- "teal": 339,
- "source": 42,
- "pc": [
- 338
- ]
- },
- {
- "teal": 340,
- "source": 42,
- "pc": [
- 339
- ]
- },
- {
- "teal": 341,
- "source": 42,
- "pc": [
- 340
- ]
- },
- {
- "teal": 342,
- "source": 42,
- "pc": [
- 341
- ]
- },
- {
- "teal": 343,
- "source": 42,
- "pc": [
- 342
- ]
- },
- {
- "teal": 347,
- "source": 42,
- "pc": [
- 343,
- 344,
- 345
- ]
- },
- {
- "teal": 352,
- "source": 43,
- "pc": [
- 346,
- 347
- ]
- },
- {
- "teal": 353,
- "source": 43,
- "pc": [
- 348,
- 349,
- 350
- ]
- },
- {
- "teal": 358,
- "source": 44,
- "pc": [
- 351
- ]
- },
- {
- "teal": 359,
- "source": 44,
- "pc": [
- 352
- ]
- },
- {
- "teal": 360,
- "source": 43,
- "pc": [
- 353,
- 354,
- 355
- ]
- },
- {
- "teal": 365,
- "source": 45,
- "pc": [
- 356,
- 357
- ]
- },
- {
- "teal": 366,
- "source": 45,
- "pc": [
- 358,
- 359,
- 360
- ]
- },
- {
- "teal": 371,
- "source": 46,
- "pc": [
- 361,
- 362
- ]
- },
- {
- "teal": 372,
- "source": 46,
- "pc": [
- 363
- ]
- },
- {
- "teal": 373,
- "source": 45,
- "pc": [
- 364,
- 365,
- 366
- ]
- },
- {
- "teal": 378,
- "source": 47,
- "pc": [
- 367,
- 368
- ]
- },
- {
- "teal": 379,
- "source": 47,
- "pc": [
- 369,
- 370,
- 371
- ]
- },
- {
- "teal": 384,
- "source": 48,
- "pc": [
- 372,
- 373
- ]
- },
- {
- "teal": 385,
- "source": 48,
- "pc": [
- 374
- ]
- },
- {
- "teal": 390,
- "source": 51,
- "pc": [
- 375
- ]
- },
- {
- "teal": 391,
- "source": 42,
- "pc": [
- 376
- ]
- },
- {
- "teal": 396,
- "source": 54,
- "pc": [
- 377
- ]
- },
- {
- "teal": 399,
- "source": 54,
- "pc": [
- 378,
- 379,
- 380
- ]
- },
- {
- "teal": 400,
- "source": 54,
- "pc": [
- 381
- ]
- },
- {
- "teal": 401,
- "source": 54,
- "pc": [
- 382
- ]
- },
- {
- "teal": 402,
- "source": 54,
- "pc": [
- 383
- ]
- },
- {
- "teal": 403,
- "source": 54,
- "pc": [
- 384
- ]
- },
- {
- "teal": 406,
- "source": 54,
- "errorMessage": "argument 0 (arg2) for ifElseIfElseIfElse must be a bool",
- "pc": [
- 385
- ]
- },
- {
- "teal": 407,
- "source": 54,
- "pc": [
- 386
- ]
- },
- {
- "teal": 408,
- "source": 54,
- "pc": [
- 387
- ]
- },
- {
- "teal": 411,
- "source": 54,
- "pc": [
- 388,
- 389,
- 390
- ]
- },
- {
- "teal": 412,
- "source": 54,
- "pc": [
- 391
- ]
- },
- {
- "teal": 413,
- "source": 54,
- "pc": [
- 392
- ]
- },
- {
- "teal": 414,
- "source": 54,
- "pc": [
- 393
- ]
- },
- {
- "teal": 415,
- "source": 54,
- "pc": [
- 394
- ]
- },
- {
- "teal": 418,
- "source": 54,
- "errorMessage": "argument 1 (arg1) for ifElseIfElseIfElse must be a bool",
- "pc": [
- 395
- ]
- },
- {
- "teal": 419,
- "source": 54,
- "pc": [
- 396
- ]
- },
- {
- "teal": 420,
- "source": 54,
- "pc": [
- 397
- ]
- },
- {
- "teal": 423,
- "source": 54,
- "pc": [
- 398,
- 399,
- 400
- ]
- },
- {
- "teal": 424,
- "source": 54,
- "pc": [
- 401
- ]
- },
- {
- "teal": 425,
- "source": 54,
- "pc": [
- 402
- ]
- },
- {
- "teal": 426,
- "source": 54,
- "pc": [
- 403
- ]
- },
- {
- "teal": 427,
- "source": 54,
- "pc": [
- 404
- ]
- },
- {
- "teal": 430,
- "source": 54,
- "errorMessage": "argument 2 (arg0) for ifElseIfElseIfElse must be a bool",
- "pc": [
- 405
- ]
- },
- {
- "teal": 431,
- "source": 54,
- "pc": [
- 406
- ]
- },
- {
- "teal": 432,
- "source": 54,
- "pc": [
- 407
- ]
- },
- {
- "teal": 435,
- "source": 54,
- "pc": [
- 408,
- 409,
- 410
- ]
- },
- {
- "teal": 436,
- "source": 54,
- "pc": [
- 411
- ]
- },
- {
- "teal": 437,
- "source": 54,
- "pc": [
- 412
- ]
- },
- {
- "teal": 438,
- "source": 54,
- "pc": [
- 413
- ]
- },
- {
- "teal": 439,
- "source": 54,
- "pc": [
- 414,
- 415,
- 416
- ]
- },
- {
- "teal": 440,
- "source": 54,
- "pc": [
- 417
- ]
- },
- {
- "teal": 441,
- "source": 54,
- "pc": [
- 418
- ]
- },
- {
- "teal": 442,
- "source": 54,
- "pc": [
- 419
- ]
- },
- {
- "teal": 443,
- "source": 54,
- "pc": [
- 420
- ]
- },
- {
- "teal": 444,
- "source": 54,
- "pc": [
- 421
- ]
- },
- {
- "teal": 445,
- "source": 54,
- "pc": [
- 422
- ]
- },
- {
- "teal": 449,
- "source": 54,
- "pc": [
- 423,
- 424,
- 425
- ]
- },
- {
- "teal": 454,
- "source": 55,
- "pc": [
- 426,
- 427
- ]
- },
- {
- "teal": 455,
- "source": 55,
- "pc": [
- 428,
- 429,
- 430
- ]
- },
- {
- "teal": 460,
- "source": 56,
- "pc": [
- 431
- ]
- },
- {
- "teal": 461,
- "source": 56,
- "pc": [
- 432
- ]
- },
- {
- "teal": 462,
- "source": 55,
- "pc": [
- 433,
- 434,
- 435
- ]
- },
- {
- "teal": 467,
- "source": 57,
- "pc": [
- 436,
- 437
- ]
- },
- {
- "teal": 468,
- "source": 57,
- "pc": [
- 438,
- 439,
- 440
- ]
- },
- {
- "teal": 473,
- "source": 58,
- "pc": [
- 441,
- 442
- ]
- },
- {
- "teal": 474,
- "source": 58,
- "pc": [
- 443
- ]
- },
- {
- "teal": 475,
- "source": 57,
- "pc": [
- 444,
- 445,
- 446
- ]
- },
- {
- "teal": 480,
- "source": 59,
- "pc": [
- 447,
- 448
- ]
- },
- {
- "teal": 481,
- "source": 59,
- "pc": [
- 449,
- 450,
- 451
- ]
- },
- {
- "teal": 486,
- "source": 60,
- "pc": [
- 452,
- 453
- ]
- },
- {
- "teal": 487,
- "source": 60,
- "pc": [
- 454
- ]
- },
- {
- "teal": 488,
- "source": 59,
- "pc": [
- 455,
- 456,
- 457
- ]
- },
- {
- "teal": 493,
- "source": 62,
- "pc": [
- 458
- ]
- },
- {
- "teal": 494,
- "source": 62,
- "pc": [
- 459
- ]
- },
- {
- "teal": 497,
- "source": 54,
- "pc": [
- 460
- ]
- },
- {
- "teal": 502,
- "source": 66,
- "pc": [
- 461
- ]
- },
- {
- "teal": 505,
- "source": 66,
- "pc": [
- 462,
- 463,
- 464
- ]
- },
- {
- "teal": 506,
- "source": 66,
- "pc": [
- 465
- ]
- },
- {
- "teal": 507,
- "source": 66,
- "pc": [
- 466
- ]
- },
- {
- "teal": 508,
- "source": 66,
- "pc": [
- 467
- ]
- },
- {
- "teal": 509,
- "source": 66,
- "pc": [
- 468
- ]
- },
- {
- "teal": 512,
- "source": 66,
- "errorMessage": "argument 0 (arg1) for nestedIf must be a bool",
- "pc": [
- 469
- ]
- },
- {
- "teal": 513,
- "source": 66,
- "pc": [
- 470
- ]
- },
- {
- "teal": 514,
- "source": 66,
- "pc": [
- 471
- ]
- },
- {
- "teal": 517,
- "source": 66,
- "pc": [
- 472,
- 473,
- 474
- ]
- },
- {
- "teal": 518,
- "source": 66,
- "pc": [
- 475
- ]
- },
- {
- "teal": 519,
- "source": 66,
- "pc": [
- 476
- ]
- },
- {
- "teal": 520,
- "source": 66,
- "pc": [
- 477
- ]
- },
- {
- "teal": 521,
- "source": 66,
- "pc": [
- 478
- ]
- },
- {
- "teal": 524,
- "source": 66,
- "errorMessage": "argument 1 (arg0) for nestedIf must be a bool",
- "pc": [
- 479
- ]
- },
- {
- "teal": 525,
- "source": 66,
- "pc": [
- 480
- ]
- },
- {
- "teal": 526,
- "source": 66,
- "pc": [
- 481
- ]
- },
- {
- "teal": 529,
- "source": 66,
- "pc": [
- 482,
- 483,
- 484
- ]
- },
- {
- "teal": 530,
- "source": 66,
- "pc": [
- 485
- ]
- },
- {
- "teal": 531,
- "source": 66,
- "pc": [
- 486
- ]
- },
- {
- "teal": 532,
- "source": 66,
- "pc": [
- 487
- ]
- },
- {
- "teal": 533,
- "source": 66,
- "pc": [
- 488,
- 489,
- 490
- ]
- },
- {
- "teal": 534,
- "source": 66,
- "pc": [
- 491
- ]
- },
- {
- "teal": 535,
- "source": 66,
- "pc": [
- 492
- ]
- },
- {
- "teal": 536,
- "source": 66,
- "pc": [
- 493
- ]
- },
- {
- "teal": 537,
- "source": 66,
- "pc": [
- 494
- ]
- },
- {
- "teal": 538,
- "source": 66,
- "pc": [
- 495
- ]
- },
- {
- "teal": 539,
- "source": 66,
- "pc": [
- 496
- ]
- },
- {
- "teal": 543,
- "source": 66,
- "pc": [
- 497,
- 498,
- 499
- ]
- },
- {
- "teal": 548,
- "source": 67,
- "pc": [
- 500,
- 501
- ]
- },
- {
- "teal": 549,
- "source": 67,
- "pc": [
- 502,
- 503,
- 504
- ]
- },
- {
- "teal": 555,
- "source": 68,
- "pc": [
- 505,
- 506
- ]
- },
- {
- "teal": 556,
- "source": 68,
- "pc": [
- 507,
- 508,
- 509
- ]
- },
- {
- "teal": 561,
- "source": 69,
- "pc": [
- 510,
- 511,
- 512,
- 513,
- 514,
- 515,
- 516,
- 517,
- 518,
- 519,
- 520
- ]
- },
- {
- "teal": 562,
- "source": 69,
- "pc": [
- 521
- ]
- },
- {
- "teal": 567,
- "source": 71,
- "pc": [
- 522
- ]
- },
- {
- "teal": 568,
- "source": 71,
- "pc": [
- 523
- ]
- },
- {
- "teal": 569,
- "source": 67,
- "pc": [
- 524,
- 525,
- 526
- ]
- },
- {
- "teal": 574,
- "source": 73,
- "pc": [
- 527
- ]
- },
- {
- "teal": 575,
- "source": 73,
- "pc": [
- 528
- ]
- },
- {
- "teal": 578,
- "source": 66,
- "pc": [
- 529
- ]
- },
- {
- "teal": 583,
- "source": 77,
- "pc": [
- 530
- ]
- },
- {
- "teal": 586,
- "source": 77,
- "pc": [
- 531,
- 532,
- 533
- ]
- },
- {
- "teal": 587,
- "source": 77,
- "pc": [
- 534
- ]
- },
- {
- "teal": 588,
- "source": 77,
- "pc": [
- 535
- ]
- },
- {
- "teal": 589,
- "source": 77,
- "pc": [
- 536
- ]
- },
- {
- "teal": 590,
- "source": 77,
- "pc": [
- 537
- ]
- },
- {
- "teal": 593,
- "source": 77,
- "errorMessage": "argument 0 (arg0) for bracketlessIfElse must be a bool",
- "pc": [
- 538
- ]
- },
- {
- "teal": 594,
- "source": 77,
- "pc": [
- 539
- ]
- },
- {
- "teal": 595,
- "source": 77,
- "pc": [
- 540
- ]
- },
- {
- "teal": 598,
- "source": 77,
- "pc": [
- 541,
- 542,
- 543
- ]
- },
- {
- "teal": 599,
- "source": 77,
- "pc": [
- 544
- ]
- },
- {
- "teal": 600,
- "source": 77,
- "pc": [
- 545
- ]
- },
- {
- "teal": 601,
- "source": 77,
- "pc": [
- 546
- ]
- },
- {
- "teal": 602,
- "source": 77,
- "pc": [
- 547,
- 548,
- 549
- ]
- },
- {
- "teal": 603,
- "source": 77,
- "pc": [
- 550
- ]
- },
- {
- "teal": 604,
- "source": 77,
- "pc": [
- 551
- ]
- },
- {
- "teal": 605,
- "source": 77,
- "pc": [
- 552
- ]
- },
- {
- "teal": 606,
- "source": 77,
- "pc": [
- 553
- ]
- },
- {
- "teal": 607,
- "source": 77,
- "pc": [
- 554
- ]
- },
- {
- "teal": 608,
- "source": 77,
- "pc": [
- 555
- ]
- },
- {
- "teal": 612,
- "source": 77,
- "pc": [
- 556,
- 557,
- 558
- ]
- },
- {
- "teal": 617,
- "source": 78,
- "pc": [
- 559,
- 560
- ]
- },
- {
- "teal": 618,
- "source": 78,
- "pc": [
- 561,
- 562,
- 563
- ]
- },
- {
- "teal": 623,
- "source": 78,
- "pc": [
- 564
- ]
- },
- {
- "teal": 624,
- "source": 78,
- "pc": [
- 565
- ]
- },
- {
- "teal": 625,
- "source": 78,
- "pc": [
- 566,
- 567,
- 568
- ]
- },
- {
- "teal": 630,
- "source": 79,
- "pc": [
- 569
- ]
- },
- {
- "teal": 631,
- "source": 79,
- "pc": [
- 570
- ]
- },
- {
- "teal": 634,
- "source": 77,
- "pc": [
- 571
- ]
- },
- {
- "teal": 639,
- "source": 82,
- "pc": [
- 572
- ]
- },
- {
- "teal": 642,
- "source": 82,
- "pc": [
- 573,
- 574,
- 575
- ]
- },
- {
- "teal": 643,
- "source": 82,
- "pc": [
- 576
- ]
- },
- {
- "teal": 644,
- "source": 82,
- "pc": [
- 577
- ]
- },
- {
- "teal": 645,
- "source": 82,
- "pc": [
- 578
- ]
- },
- {
- "teal": 646,
- "source": 82,
- "pc": [
- 579
- ]
- },
- {
- "teal": 649,
- "source": 82,
- "errorMessage": "argument 0 (arg1) for nestedTernary must be a bool",
- "pc": [
- 580
- ]
- },
- {
- "teal": 650,
- "source": 82,
- "pc": [
- 581
- ]
- },
- {
- "teal": 651,
- "source": 82,
- "pc": [
- 582
- ]
- },
- {
- "teal": 654,
- "source": 82,
- "pc": [
- 583,
- 584,
- 585
- ]
- },
- {
- "teal": 655,
- "source": 82,
- "pc": [
- 586
- ]
- },
- {
- "teal": 656,
- "source": 82,
- "pc": [
- 587
- ]
- },
- {
- "teal": 657,
- "source": 82,
- "pc": [
- 588
- ]
- },
- {
- "teal": 658,
- "source": 82,
- "pc": [
- 589
- ]
- },
- {
- "teal": 661,
- "source": 82,
- "errorMessage": "argument 1 (arg0) for nestedTernary must be a bool",
- "pc": [
- 590
- ]
- },
- {
- "teal": 662,
- "source": 82,
- "pc": [
- 591
- ]
- },
- {
- "teal": 663,
- "source": 82,
- "pc": [
- 592
- ]
- },
- {
- "teal": 666,
- "source": 82,
- "pc": [
- 593,
- 594,
- 595
- ]
- },
- {
- "teal": 667,
- "source": 82,
- "pc": [
- 596
- ]
- },
- {
- "teal": 668,
- "source": 82,
- "pc": [
- 597
- ]
- },
- {
- "teal": 669,
- "source": 82,
- "pc": [
- 598
- ]
- },
- {
- "teal": 670,
- "source": 82,
- "pc": [
- 599
- ]
- },
- {
- "teal": 671,
- "source": 82,
- "pc": [
- 600
- ]
- },
- {
- "teal": 675,
- "source": 82,
- "pc": [
- 601,
- 602,
- 603
- ]
- },
- {
- "teal": 679,
- "source": 84,
- "pc": [
- 604,
- 605
- ]
- },
- {
- "teal": 680,
- "source": 84,
- "pc": [
- 606,
- 607,
- 608
- ]
- },
- {
- "teal": 681,
- "source": 84,
- "pc": [
- 609
- ]
- },
- {
- "teal": 682,
- "source": 84,
- "pc": [
- 610,
- 611,
- 612
- ]
- },
- {
- "teal": 685,
- "source": 84,
- "pc": [
- 613,
- 614
- ]
- },
- {
- "teal": 686,
- "source": 84,
- "pc": [
- 615,
- 616,
- 617
- ]
- },
- {
- "teal": 687,
- "source": 84,
- "pc": [
- 618
- ]
- },
- {
- "teal": 688,
- "source": 84,
- "pc": [
- 619,
- 620,
- 621
- ]
- },
- {
- "teal": 691,
- "source": 84,
- "pc": [
- 622,
- 623
- ]
- },
- {
- "teal": 696,
- "source": 82,
- "pc": [
- 624
- ]
- },
- {
- "teal": 701,
- "source": 87,
- "pc": [
- 625
- ]
- },
- {
- "teal": 704,
- "source": 87,
- "pc": [
- 626,
- 627,
- 628
- ]
- },
- {
- "teal": 705,
- "source": 87,
- "pc": [
- 629,
- 630,
- 631
- ]
- },
- {
- "teal": 708,
- "source": 87,
- "pc": [
- 632,
- 633,
- 634
- ]
- },
- {
- "teal": 709,
- "source": 87,
- "pc": [
- 635
- ]
- },
- {
- "teal": 710,
- "source": 87,
- "pc": [
- 636
- ]
- },
- {
- "teal": 711,
- "source": 87,
- "pc": [
- 637
- ]
- },
- {
- "teal": 712,
- "source": 87,
- "pc": [
- 638
- ]
- },
- {
- "teal": 713,
- "source": 87,
- "pc": [
- 639
- ]
- },
- {
- "teal": 717,
- "source": 87,
- "pc": [
- 640,
- 641,
- 642
- ]
- },
- {
- "teal": 722,
- "source": 88,
- "pc": [
- 643,
- 644
- ]
- },
- {
- "teal": 723,
- "source": 88,
- "pc": [
- 645,
- 646
- ]
- },
- {
- "teal": 724,
- "source": 88,
- "pc": [
- 647
- ]
- },
- {
- "teal": 725,
- "source": 88,
- "pc": [
- 648,
- 649,
- 650
- ]
- },
- {
- "teal": 730,
- "source": 89,
- "pc": [
- 651
- ]
- },
- {
- "teal": 731,
- "source": 89,
- "pc": [
- 652
- ]
- },
- {
- "teal": 736,
- "source": 92,
- "pc": [
- 653
- ]
- },
- {
- "teal": 737,
- "source": 87,
- "pc": [
- 654
- ]
- },
- {
- "teal": 742,
- "source": 95,
- "pc": [
- 655
- ]
- },
- {
- "teal": 745,
- "source": 95,
- "pc": [
- 656,
- 657,
- 658
- ]
- },
- {
- "teal": 746,
- "source": 95,
- "pc": [
- 659,
- 660,
- 661
- ]
- },
- {
- "teal": 749,
- "source": 95,
- "pc": [
- 662,
- 663,
- 664
- ]
- },
- {
- "teal": 750,
- "source": 95,
- "pc": [
- 665
- ]
- },
- {
- "teal": 751,
- "source": 95,
- "pc": [
- 666
- ]
- },
- {
- "teal": 752,
- "source": 95,
- "pc": [
- 667
- ]
- },
- {
- "teal": 753,
- "source": 95,
- "pc": [
- 668
- ]
- },
- {
- "teal": 754,
- "source": 95,
- "pc": [
- 669
- ]
- },
- {
- "teal": 758,
- "source": 95,
- "pc": [
- 670,
- 671,
- 672
- ]
- },
- {
- "teal": 762,
- "source": 96,
- "pc": [
- 673,
- 674
- ]
- },
- {
- "teal": 763,
- "source": 96,
- "pc": [
- 675,
- 676
- ]
- },
- {
- "teal": 764,
- "source": 96,
- "pc": [
- 677
- ]
- },
- {
- "teal": 765,
- "source": 96,
- "pc": [
- 678,
- 679,
- 680
- ]
- },
- {
- "teal": 766,
- "source": 96,
- "pc": [
- 681
- ]
- },
- {
- "teal": 767,
- "source": 96,
- "pc": [
- 682,
- 683,
- 684
- ]
- },
- {
- "teal": 770,
- "source": 96,
- "pc": [
- 685
- ]
- },
- {
- "teal": 773,
- "source": 95,
- "pc": [
- 686
- ]
- },
- {
- "teal": 778,
- "source": 99,
- "pc": [
- 687,
- 688,
- 689
- ]
- },
- {
- "teal": 779,
- "source": 99,
- "pc": [
- 690
- ]
- },
- {
- "teal": 780,
- "source": 99,
- "pc": [
- 691
- ]
- },
- {
- "teal": 781,
- "source": 99,
- "pc": [
- 692
- ]
- },
- {
- "teal": 782,
- "source": 99,
- "pc": [
- 693
- ]
- },
- {
- "teal": 785,
- "source": 99,
- "errorMessage": "argument 0 (a) for smallUintConditional must be a uint16",
- "pc": [
- 694
- ]
- },
- {
- "teal": 786,
- "source": 99,
- "pc": [
- 695
- ]
- },
- {
- "teal": 789,
- "source": 99,
- "pc": [
- 696,
- 697,
- 698
- ]
- },
- {
- "teal": 790,
- "source": 99,
- "pc": [
- 699
- ]
- },
- {
- "teal": 791,
- "source": 99,
- "pc": [
- 700
- ]
- },
- {
- "teal": 795,
- "source": 99,
- "pc": [
- 701,
- 702,
- 703
- ]
- },
- {
- "teal": 800,
- "source": 100,
- "pc": [
- 704,
- 705
- ]
- },
- {
- "teal": 801,
- "source": 100,
- "pc": [
- 706,
- 707
- ]
- },
- {
- "teal": 802,
- "source": 100,
- "pc": [
- 708
- ]
- },
- {
- "teal": 803,
- "source": 100,
- "pc": [
- 709,
- 710,
- 711
- ]
- },
- {
- "teal": 808,
- "source": 101,
- "pc": [
- 712,
- 713
- ]
- },
- {
- "teal": 809,
- "source": 101,
- "pc": [
- 714
- ]
- },
- {
- "teal": 812,
- "source": 99,
- "pc": [
- 715
- ]
- },
- {
- "teal": 817,
- "source": 105,
- "pc": [
- 716,
- 717,
- 718
- ]
- },
- {
- "teal": 818,
- "source": 105,
- "pc": [
- 719
- ]
- },
- {
- "teal": 819,
- "source": 105,
- "pc": [
- 720
- ]
- },
- {
- "teal": 820,
- "source": 105,
- "pc": [
- 721
- ]
- },
- {
- "teal": 821,
- "source": 105,
- "pc": [
- 722
- ]
- },
- {
- "teal": 824,
- "source": 105,
- "errorMessage": "argument 0 (b) for smallUintComparisonConditional must be a uint16",
- "pc": [
- 723
- ]
- },
- {
- "teal": 825,
- "source": 105,
- "pc": [
- 724
- ]
- },
- {
- "teal": 828,
- "source": 105,
- "pc": [
- 725,
- 726,
- 727
- ]
- },
- {
- "teal": 829,
- "source": 105,
- "pc": [
- 728
- ]
- },
- {
- "teal": 830,
- "source": 105,
- "pc": [
- 729
- ]
- },
- {
- "teal": 831,
- "source": 105,
- "pc": [
- 730
- ]
- },
- {
- "teal": 832,
- "source": 105,
- "pc": [
- 731
- ]
- },
- {
- "teal": 835,
- "source": 105,
- "errorMessage": "argument 1 (a) for smallUintComparisonConditional must be a uint16",
- "pc": [
- 732
- ]
- },
- {
- "teal": 836,
- "source": 105,
- "pc": [
- 733
- ]
- },
- {
- "teal": 839,
- "source": 105,
- "pc": [
- 734,
- 735,
- 736
- ]
- },
- {
- "teal": 840,
- "source": 105,
- "pc": [
- 737
- ]
- },
- {
- "teal": 841,
- "source": 105,
- "pc": [
- 738
- ]
- },
- {
- "teal": 845,
- "source": 105,
- "pc": [
- 739,
- 740,
- 741
- ]
- },
- {
- "teal": 850,
- "source": 106,
- "pc": [
- 742,
- 743
- ]
- },
- {
- "teal": 851,
- "source": 106,
- "pc": [
- 744,
- 745
- ]
- },
- {
- "teal": 852,
- "source": 106,
- "pc": [
- 746
- ]
- },
- {
- "teal": 853,
- "source": 106,
- "pc": [
- 747,
- 748,
- 749
- ]
- },
- {
- "teal": 858,
- "source": 107,
- "pc": [
- 750,
- 751
- ]
- },
- {
- "teal": 859,
- "source": 107,
- "pc": [
- 752
- ]
- },
- {
- "teal": 862,
- "source": 105,
- "pc": [
- 753
- ]
- },
- {
- "teal": 867,
- "source": 111,
- "pc": [
- 754,
- 755,
- 756
- ]
- },
- {
- "teal": 868,
- "source": 111,
- "pc": [
- 757
- ]
- },
- {
- "teal": 869,
- "source": 111,
- "pc": [
- 758
- ]
- },
- {
- "teal": 870,
- "source": 111,
- "pc": [
- 759
- ]
- },
- {
- "teal": 871,
- "source": 111,
- "pc": [
- 760
- ]
- },
- {
- "teal": 874,
- "source": 111,
- "errorMessage": "argument 0 (b) for uint256ComparsionConditional must be a uint256",
- "pc": [
- 761
- ]
- },
- {
- "teal": 877,
- "source": 111,
- "pc": [
- 762,
- 763,
- 764
- ]
- },
- {
- "teal": 878,
- "source": 111,
- "pc": [
- 765
- ]
- },
- {
- "teal": 879,
- "source": 111,
- "pc": [
- 766
- ]
- },
- {
- "teal": 880,
- "source": 111,
- "pc": [
- 767
- ]
- },
- {
- "teal": 881,
- "source": 111,
- "pc": [
- 768
- ]
- },
- {
- "teal": 884,
- "source": 111,
- "errorMessage": "argument 1 (a) for uint256ComparsionConditional must be a uint256",
- "pc": [
- 769
- ]
- },
- {
- "teal": 887,
- "source": 111,
- "pc": [
- 770,
- 771,
- 772
- ]
- },
- {
- "teal": 888,
- "source": 111,
- "pc": [
- 773
- ]
- },
- {
- "teal": 889,
- "source": 111,
- "pc": [
- 774
- ]
- },
- {
- "teal": 893,
- "source": 111,
- "pc": [
- 775,
- 776,
- 777
- ]
- },
- {
- "teal": 898,
- "source": 112,
- "pc": [
- 778,
- 779
- ]
- },
- {
- "teal": 899,
- "source": 112,
- "pc": [
- 780,
- 781
- ]
- },
- {
- "teal": 900,
- "source": 112,
- "pc": [
- 782
- ]
- },
- {
- "teal": 901,
- "source": 112,
- "pc": [
- 783,
- 784,
- 785
- ]
- },
- {
- "teal": 906,
- "source": 113,
- "pc": [
- 786,
- 787
- ]
- },
- {
- "teal": 907,
- "source": 113,
- "pc": [
- 788
- ]
- },
- {
- "teal": 910,
- "source": 111,
- "pc": [
- 789
- ]
- },
- {
- "teal": 915,
- "source": 117,
- "pc": [
- 790
- ]
- },
- {
- "teal": 918,
- "source": 117,
- "pc": [
- 791,
- 792,
- 793
- ]
- },
- {
- "teal": 919,
- "source": 117,
- "pc": [
- 794
- ]
- },
- {
- "teal": 920,
- "source": 117,
- "pc": [
- 795
- ]
- },
- {
- "teal": 921,
- "source": 117,
- "pc": [
- 796
- ]
- },
- {
- "teal": 922,
- "source": 117,
- "pc": [
- 797
- ]
- },
- {
- "teal": 925,
- "source": 117,
- "errorMessage": "argument 0 (b) for nestedIfInElseIf must be a bool",
- "pc": [
- 798
- ]
- },
- {
- "teal": 926,
- "source": 117,
- "pc": [
- 799
- ]
- },
- {
- "teal": 927,
- "source": 117,
- "pc": [
- 800
- ]
- },
- {
- "teal": 930,
- "source": 117,
- "pc": [
- 801,
- 802,
- 803
- ]
- },
- {
- "teal": 931,
- "source": 117,
- "pc": [
- 804
- ]
- },
- {
- "teal": 932,
- "source": 117,
- "pc": [
- 805
- ]
- },
- {
- "teal": 933,
- "source": 117,
- "pc": [
- 806
- ]
- },
- {
- "teal": 934,
- "source": 117,
- "pc": [
- 807
- ]
- },
- {
- "teal": 937,
- "source": 117,
- "errorMessage": "argument 1 (a) for nestedIfInElseIf must be a bool",
- "pc": [
- 808
- ]
- },
- {
- "teal": 938,
- "source": 117,
- "pc": [
- 809
- ]
- },
- {
- "teal": 939,
- "source": 117,
- "pc": [
- 810
- ]
- },
- {
- "teal": 942,
- "source": 117,
- "pc": [
- 811,
- 812,
- 813
- ]
- },
- {
- "teal": 943,
- "source": 117,
- "pc": [
- 814
- ]
- },
- {
- "teal": 944,
- "source": 117,
- "pc": [
- 815
- ]
- },
- {
- "teal": 945,
- "source": 117,
- "pc": [
- 816
- ]
- },
- {
- "teal": 946,
- "source": 117,
- "pc": [
- 817,
- 818,
- 819
- ]
- },
- {
- "teal": 947,
- "source": 117,
- "pc": [
- 820
- ]
- },
- {
- "teal": 948,
- "source": 117,
- "pc": [
- 821
- ]
- },
- {
- "teal": 949,
- "source": 117,
- "pc": [
- 822
- ]
- },
- {
- "teal": 950,
- "source": 117,
- "pc": [
- 823
- ]
- },
- {
- "teal": 951,
- "source": 117,
- "pc": [
- 824
- ]
- },
- {
- "teal": 952,
- "source": 117,
- "pc": [
- 825
- ]
- },
- {
- "teal": 956,
- "source": 117,
- "pc": [
- 826,
- 827,
- 828
- ]
- },
- {
- "teal": 961,
- "source": 118,
- "pc": [
- 829,
- 830
- ]
- },
- {
- "teal": 962,
- "source": 118,
- "pc": [
- 831,
- 832,
- 833
- ]
- },
- {
- "teal": 968,
- "source": 119,
- "pc": [
- 834,
- 835
- ]
- },
- {
- "teal": 969,
- "source": 119,
- "pc": [
- 836,
- 837,
- 838
- ]
- },
- {
- "teal": 974,
- "source": 120,
- "pc": [
- 839,
- 840,
- 841,
- 842,
- 843,
- 844,
- 845,
- 846,
- 847
- ]
- },
- {
- "teal": 975,
- "source": 120,
- "pc": [
- 848
- ]
- },
- {
- "teal": 976,
- "source": 119,
- "pc": [
- 849,
- 850,
- 851
- ]
- },
- {
- "teal": 981,
- "source": 122,
- "pc": [
- 852,
- 853,
- 854
- ]
- },
- {
- "teal": 982,
- "source": 122,
- "pc": [
- 855
- ]
- },
- {
- "teal": 985,
- "source": 118,
- "pc": [
- 856,
- 857,
- 858
- ]
- },
- {
- "teal": 990,
- "source": 124,
- "pc": [
- 859,
- 860
- ]
- },
- {
- "teal": 991,
- "source": 124,
- "pc": [
- 861,
- 862,
- 863
- ]
- },
- {
- "teal": 996,
- "source": 125,
- "pc": [
- 864,
- 865,
- 866
- ]
- },
- {
- "teal": 997,
- "source": 125,
- "pc": [
- 867
- ]
- },
- {
- "teal": 998,
- "source": 124,
- "pc": [
- 868,
- 869,
- 870
- ]
- },
- {
- "teal": 1003,
- "source": 127,
- "pc": [
- 871,
- 872,
- 873,
- 874,
- 875,
- 876,
- 877,
- 878,
- 879
- ]
- },
- {
- "teal": 1004,
- "source": 127,
- "pc": [
- 880
- ]
- },
- {
- "teal": 1007,
- "source": 117,
- "pc": [
- 881
- ]
- },
- {
- "teal": 1010,
- "source": 5,
- "pc": [
- 882
- ]
- },
- {
- "teal": 1011,
- "source": 5,
- "pc": [
- 883
- ]
- },
- {
- "teal": 1014,
- "source": 5,
- "pc": [
- 884,
- 885,
- 886,
- 887,
- 888,
- 889
- ]
- },
- {
- "teal": 1015,
- "source": 5,
- "pc": [
- 890,
- 891,
- 892
- ]
- },
- {
- "teal": 1016,
- "source": 5,
- "pc": [
- 893,
- 894,
- 895,
- 896
- ]
- },
- {
- "teal": 1019,
- "source": 5,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 897
- ]
- },
- {
- "teal": 1022,
- "source": 5,
- "pc": [
- 898,
- 899,
- 900,
- 901,
- 902,
- 903
- ]
- },
- {
- "teal": 1023,
- "source": 5,
- "pc": [
- 904,
- 905,
- 906,
- 907,
- 908,
- 909
- ]
- },
- {
- "teal": 1024,
- "source": 5,
- "pc": [
- 910,
- 911,
- 912,
- 913,
- 914,
- 915
- ]
- },
- {
- "teal": 1025,
- "source": 5,
- "pc": [
- 916,
- 917,
- 918,
- 919,
- 920,
- 921
- ]
- },
- {
- "teal": 1026,
- "source": 5,
- "pc": [
- 922,
- 923,
- 924,
- 925,
- 926,
- 927
- ]
- },
- {
- "teal": 1027,
- "source": 5,
- "pc": [
- 928,
- 929,
- 930,
- 931,
- 932,
- 933
- ]
- },
- {
- "teal": 1028,
- "source": 5,
- "pc": [
- 934,
- 935,
- 936,
- 937,
- 938,
- 939
- ]
- },
- {
- "teal": 1029,
- "source": 5,
- "pc": [
- 940,
- 941,
- 942,
- 943,
- 944,
- 945
- ]
- },
- {
- "teal": 1030,
- "source": 5,
- "pc": [
- 946,
- 947,
- 948,
- 949,
- 950,
- 951
- ]
- },
- {
- "teal": 1031,
- "source": 5,
- "pc": [
- 952,
- 953,
- 954,
- 955,
- 956,
- 957
- ]
- },
- {
- "teal": 1032,
- "source": 5,
- "pc": [
- 958,
- 959,
- 960,
- 961,
- 962,
- 963
- ]
- },
- {
- "teal": 1033,
- "source": 5,
- "pc": [
- 964,
- 965,
- 966,
- 967,
- 968,
- 969
- ]
- },
- {
- "teal": 1034,
- "source": 5,
- "pc": [
- 970,
- 971,
- 972,
- 973,
- 974,
- 975
- ]
- },
- {
- "teal": 1035,
- "source": 5,
- "pc": [
- 976,
- 977,
- 978,
- 979,
- 980,
- 981
- ]
- },
- {
- "teal": 1036,
- "source": 5,
- "pc": [
- 982,
- 983,
- 984,
- 985,
- 986,
- 987
- ]
- },
- {
- "teal": 1037,
- "source": 5,
- "pc": [
- 988,
- 989,
- 990
- ]
- },
- {
- "teal": 1038,
- "source": 5,
- "pc": [
- 991,
- 992,
- 993,
- 994,
- 995,
- 996,
- 997,
- 998,
- 999,
- 1000,
- 1001,
- 1002,
- 1003,
- 1004,
- 1005,
- 1006,
- 1007,
- 1008,
- 1009,
- 1010,
- 1011,
- 1012,
- 1013,
- 1014,
- 1015,
- 1016,
- 1017,
- 1018,
- 1019,
- 1020,
- 1021,
- 1022
- ]
- },
- {
- "teal": 1041,
- "source": 5,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 1023
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 5,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 5,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 5,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 5,
+ "pc": [
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 5,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 5,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 5,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 5,
+ "pc": [
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 5,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 6,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 6,
+ "pc": [
+ 96,
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 6,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 6,
+ "pc": [
+ 100
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 6,
+ "pc": [
+ 101
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 6,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 6,
+ "errorMessage": "argument 0 (arg0) for singleIf must be a bool",
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 6,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 6,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 6,
+ "pc": [
+ 106,
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 6,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 6,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 6,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 6,
+ "pc": [
+ 112,
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 6,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 6,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 50,
+ "source": 6,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 6,
+ "pc": [
+ 118
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 6,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 6,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 6,
+ "pc": [
+ 121,
+ 122,
+ 123
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 7,
+ "pc": [
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 7,
+ "pc": [
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 8,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 69,
+ "source": 8,
+ "pc": [
+ 130
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 11,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 6,
+ "pc": [
+ 132
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 14,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 14,
+ "pc": [
+ 134,
+ 135,
+ 136
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 14,
+ "pc": [
+ 137
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 14,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 14,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 14,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 14,
+ "errorMessage": "argument 0 (arg0) for ifElse must be a bool",
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 14,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 14,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 14,
+ "pc": [
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 14,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 14,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 14,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 14,
+ "pc": [
+ 150,
+ 151,
+ 152
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 14,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 14,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 14,
+ "pc": [
+ 155
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 14,
+ "pc": [
+ 156
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 14,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 14,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 14,
+ "pc": [
+ 159,
+ 160,
+ 161
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 15,
+ "pc": [
+ 162,
+ 163
+ ]
+ },
+ {
+ "teal": 115,
+ "source": 15,
+ "pc": [
+ 164,
+ 165,
+ 166
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 16,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 16,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 122,
+ "source": 15,
+ "pc": [
+ 169,
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 18,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 18,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 14,
+ "pc": [
+ 174
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 22,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 22,
+ "pc": [
+ 176,
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 22,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 22,
+ "pc": [
+ 180
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 22,
+ "pc": [
+ 181
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 22,
+ "pc": [
+ 182
+ ]
+ },
+ {
+ "teal": 146,
+ "source": 22,
+ "errorMessage": "argument 0 (arg1) for ifElseIf must be a bool",
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 22,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 22,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 22,
+ "pc": [
+ 186,
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 22,
+ "pc": [
+ 189
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 22,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 22,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 22,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 22,
+ "errorMessage": "argument 1 (arg0) for ifElseIf must be a bool",
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 22,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 22,
+ "pc": [
+ 195
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 22,
+ "pc": [
+ 196,
+ 197,
+ 198
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 22,
+ "pc": [
+ 199
+ ]
+ },
+ {
+ "teal": 165,
+ "source": 22,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 22,
+ "pc": [
+ 201
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 22,
+ "pc": [
+ 202,
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 22,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 22,
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 22,
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 22,
+ "pc": [
+ 208
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 22,
+ "pc": [
+ 209
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 22,
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 22,
+ "pc": [
+ 211,
+ 212,
+ 213
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 23,
+ "pc": [
+ 214,
+ 215
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 23,
+ "pc": [
+ 216,
+ 217,
+ 218
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 24,
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 24,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 23,
+ "pc": [
+ 221,
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 25,
+ "pc": [
+ 224,
+ 225
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 25,
+ "pc": [
+ 226,
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 26,
+ "pc": [
+ 229,
+ 230
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 26,
+ "pc": [
+ 231
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 29,
+ "pc": [
+ 232
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 22,
+ "pc": [
+ 233
+ ]
+ },
+ {
+ "teal": 213,
+ "source": 32,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 216,
+ "source": 32,
+ "pc": [
+ 235,
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 32,
+ "pc": [
+ 238
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 32,
+ "pc": [
+ 239
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 32,
+ "pc": [
+ 240
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 32,
+ "pc": [
+ 241
+ ]
+ },
+ {
+ "teal": 223,
+ "source": 32,
+ "errorMessage": "argument 0 (arg1) for ifElseIfElse must be a bool",
+ "pc": [
+ 242
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 32,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 32,
+ "pc": [
+ 244
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 32,
+ "pc": [
+ 245,
+ 246,
+ 247
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 32,
+ "pc": [
+ 248
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 32,
+ "pc": [
+ 249
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 32,
+ "pc": [
+ 250
+ ]
+ },
+ {
+ "teal": 232,
+ "source": 32,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 32,
+ "errorMessage": "argument 1 (arg0) for ifElseIfElse must be a bool",
+ "pc": [
+ 252
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 32,
+ "pc": [
+ 253
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 32,
+ "pc": [
+ 254
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 32,
+ "pc": [
+ 255,
+ 256,
+ 257
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 32,
+ "pc": [
+ 258
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 32,
+ "pc": [
+ 259
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 32,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 32,
+ "pc": [
+ 261,
+ 262,
+ 263
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 32,
+ "pc": [
+ 264
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 32,
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 32,
+ "pc": [
+ 266
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 32,
+ "pc": [
+ 267
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 32,
+ "pc": [
+ 268
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 32,
+ "pc": [
+ 269
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 32,
+ "pc": [
+ 270,
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 33,
+ "pc": [
+ 273,
+ 274
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 33,
+ "pc": [
+ 275,
+ 276,
+ 277
+ ]
+ },
+ {
+ "teal": 265,
+ "source": 34,
+ "pc": [
+ 278
+ ]
+ },
+ {
+ "teal": 266,
+ "source": 34,
+ "pc": [
+ 279
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 33,
+ "pc": [
+ 280,
+ 281,
+ 282
+ ]
+ },
+ {
+ "teal": 272,
+ "source": 35,
+ "pc": [
+ 283,
+ 284
+ ]
+ },
+ {
+ "teal": 273,
+ "source": 35,
+ "pc": [
+ 285,
+ 286,
+ 287
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 36,
+ "pc": [
+ 288,
+ 289
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 36,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 35,
+ "pc": [
+ 291,
+ 292,
+ 293
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 38,
+ "pc": [
+ 294
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 38,
+ "pc": [
+ 295
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 32,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 42,
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 42,
+ "pc": [
+ 298,
+ 299,
+ 300
+ ]
+ },
+ {
+ "teal": 298,
+ "source": 42,
+ "pc": [
+ 301
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 42,
+ "pc": [
+ 302
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 42,
+ "pc": [
+ 303
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 42,
+ "pc": [
+ 304
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 42,
+ "errorMessage": "argument 0 (arg2) for ifElseIfElseIf must be a bool",
+ "pc": [
+ 305
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 42,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 42,
+ "pc": [
+ 307
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 42,
+ "pc": [
+ 308,
+ 309,
+ 310
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 42,
+ "pc": [
+ 311
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 42,
+ "pc": [
+ 312
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 42,
+ "pc": [
+ 313
+ ]
+ },
+ {
+ "teal": 313,
+ "source": 42,
+ "pc": [
+ 314
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 42,
+ "errorMessage": "argument 1 (arg1) for ifElseIfElseIf must be a bool",
+ "pc": [
+ 315
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 42,
+ "pc": [
+ 316
+ ]
+ },
+ {
+ "teal": 318,
+ "source": 42,
+ "pc": [
+ 317
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 42,
+ "pc": [
+ 318,
+ 319,
+ 320
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 42,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 42,
+ "pc": [
+ 322
+ ]
+ },
+ {
+ "teal": 324,
+ "source": 42,
+ "pc": [
+ 323
+ ]
+ },
+ {
+ "teal": 325,
+ "source": 42,
+ "pc": [
+ 324
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 42,
+ "errorMessage": "argument 2 (arg0) for ifElseIfElseIf must be a bool",
+ "pc": [
+ 325
+ ]
+ },
+ {
+ "teal": 329,
+ "source": 42,
+ "pc": [
+ 326
+ ]
+ },
+ {
+ "teal": 330,
+ "source": 42,
+ "pc": [
+ 327
+ ]
+ },
+ {
+ "teal": 333,
+ "source": 42,
+ "pc": [
+ 328,
+ 329,
+ 330
+ ]
+ },
+ {
+ "teal": 334,
+ "source": 42,
+ "pc": [
+ 331
+ ]
+ },
+ {
+ "teal": 335,
+ "source": 42,
+ "pc": [
+ 332
+ ]
+ },
+ {
+ "teal": 336,
+ "source": 42,
+ "pc": [
+ 333
+ ]
+ },
+ {
+ "teal": 337,
+ "source": 42,
+ "pc": [
+ 334,
+ 335,
+ 336
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 42,
+ "pc": [
+ 337
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 42,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 42,
+ "pc": [
+ 339
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 42,
+ "pc": [
+ 340
+ ]
+ },
+ {
+ "teal": 342,
+ "source": 42,
+ "pc": [
+ 341
+ ]
+ },
+ {
+ "teal": 343,
+ "source": 42,
+ "pc": [
+ 342
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 42,
+ "pc": [
+ 343,
+ 344,
+ 345
+ ]
+ },
+ {
+ "teal": 352,
+ "source": 43,
+ "pc": [
+ 346,
+ 347
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 43,
+ "pc": [
+ 348,
+ 349,
+ 350
+ ]
+ },
+ {
+ "teal": 358,
+ "source": 44,
+ "pc": [
+ 351
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 44,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 360,
+ "source": 43,
+ "pc": [
+ 353,
+ 354,
+ 355
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 45,
+ "pc": [
+ 356,
+ 357
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 45,
+ "pc": [
+ 358,
+ 359,
+ 360
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 46,
+ "pc": [
+ 361,
+ 362
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 46,
+ "pc": [
+ 363
+ ]
+ },
+ {
+ "teal": 373,
+ "source": 45,
+ "pc": [
+ 364,
+ 365,
+ 366
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 47,
+ "pc": [
+ 367,
+ 368
+ ]
+ },
+ {
+ "teal": 379,
+ "source": 47,
+ "pc": [
+ 369,
+ 370,
+ 371
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 48,
+ "pc": [
+ 372,
+ 373
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 48,
+ "pc": [
+ 374
+ ]
+ },
+ {
+ "teal": 390,
+ "source": 51,
+ "pc": [
+ 375
+ ]
+ },
+ {
+ "teal": 391,
+ "source": 42,
+ "pc": [
+ 376
+ ]
+ },
+ {
+ "teal": 396,
+ "source": 54,
+ "pc": [
+ 377
+ ]
+ },
+ {
+ "teal": 399,
+ "source": 54,
+ "pc": [
+ 378,
+ 379,
+ 380
+ ]
+ },
+ {
+ "teal": 400,
+ "source": 54,
+ "pc": [
+ 381
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 54,
+ "pc": [
+ 382
+ ]
+ },
+ {
+ "teal": 402,
+ "source": 54,
+ "pc": [
+ 383
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 54,
+ "pc": [
+ 384
+ ]
+ },
+ {
+ "teal": 406,
+ "source": 54,
+ "errorMessage": "argument 0 (arg2) for ifElseIfElseIfElse must be a bool",
+ "pc": [
+ 385
+ ]
+ },
+ {
+ "teal": 407,
+ "source": 54,
+ "pc": [
+ 386
+ ]
+ },
+ {
+ "teal": 408,
+ "source": 54,
+ "pc": [
+ 387
+ ]
+ },
+ {
+ "teal": 411,
+ "source": 54,
+ "pc": [
+ 388,
+ 389,
+ 390
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 54,
+ "pc": [
+ 391
+ ]
+ },
+ {
+ "teal": 413,
+ "source": 54,
+ "pc": [
+ 392
+ ]
+ },
+ {
+ "teal": 414,
+ "source": 54,
+ "pc": [
+ 393
+ ]
+ },
+ {
+ "teal": 415,
+ "source": 54,
+ "pc": [
+ 394
+ ]
+ },
+ {
+ "teal": 418,
+ "source": 54,
+ "errorMessage": "argument 1 (arg1) for ifElseIfElseIfElse must be a bool",
+ "pc": [
+ 395
+ ]
+ },
+ {
+ "teal": 419,
+ "source": 54,
+ "pc": [
+ 396
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 54,
+ "pc": [
+ 397
+ ]
+ },
+ {
+ "teal": 423,
+ "source": 54,
+ "pc": [
+ 398,
+ 399,
+ 400
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 54,
+ "pc": [
+ 401
+ ]
+ },
+ {
+ "teal": 425,
+ "source": 54,
+ "pc": [
+ 402
+ ]
+ },
+ {
+ "teal": 426,
+ "source": 54,
+ "pc": [
+ 403
+ ]
+ },
+ {
+ "teal": 427,
+ "source": 54,
+ "pc": [
+ 404
+ ]
+ },
+ {
+ "teal": 430,
+ "source": 54,
+ "errorMessage": "argument 2 (arg0) for ifElseIfElseIfElse must be a bool",
+ "pc": [
+ 405
+ ]
+ },
+ {
+ "teal": 431,
+ "source": 54,
+ "pc": [
+ 406
+ ]
+ },
+ {
+ "teal": 432,
+ "source": 54,
+ "pc": [
+ 407
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 54,
+ "pc": [
+ 408,
+ 409,
+ 410
+ ]
+ },
+ {
+ "teal": 436,
+ "source": 54,
+ "pc": [
+ 411
+ ]
+ },
+ {
+ "teal": 437,
+ "source": 54,
+ "pc": [
+ 412
+ ]
+ },
+ {
+ "teal": 438,
+ "source": 54,
+ "pc": [
+ 413
+ ]
+ },
+ {
+ "teal": 439,
+ "source": 54,
+ "pc": [
+ 414,
+ 415,
+ 416
+ ]
+ },
+ {
+ "teal": 440,
+ "source": 54,
+ "pc": [
+ 417
+ ]
+ },
+ {
+ "teal": 441,
+ "source": 54,
+ "pc": [
+ 418
+ ]
+ },
+ {
+ "teal": 442,
+ "source": 54,
+ "pc": [
+ 419
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 54,
+ "pc": [
+ 420
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 54,
+ "pc": [
+ 421
+ ]
+ },
+ {
+ "teal": 445,
+ "source": 54,
+ "pc": [
+ 422
+ ]
+ },
+ {
+ "teal": 449,
+ "source": 54,
+ "pc": [
+ 423,
+ 424,
+ 425
+ ]
+ },
+ {
+ "teal": 454,
+ "source": 55,
+ "pc": [
+ 426,
+ 427
+ ]
+ },
+ {
+ "teal": 455,
+ "source": 55,
+ "pc": [
+ 428,
+ 429,
+ 430
+ ]
+ },
+ {
+ "teal": 460,
+ "source": 56,
+ "pc": [
+ 431
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 56,
+ "pc": [
+ 432
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 55,
+ "pc": [
+ 433,
+ 434,
+ 435
+ ]
+ },
+ {
+ "teal": 467,
+ "source": 57,
+ "pc": [
+ 436,
+ 437
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 57,
+ "pc": [
+ 438,
+ 439,
+ 440
+ ]
+ },
+ {
+ "teal": 473,
+ "source": 58,
+ "pc": [
+ 441,
+ 442
+ ]
+ },
+ {
+ "teal": 474,
+ "source": 58,
+ "pc": [
+ 443
+ ]
+ },
+ {
+ "teal": 475,
+ "source": 57,
+ "pc": [
+ 444,
+ 445,
+ 446
+ ]
+ },
+ {
+ "teal": 480,
+ "source": 59,
+ "pc": [
+ 447,
+ 448
+ ]
+ },
+ {
+ "teal": 481,
+ "source": 59,
+ "pc": [
+ 449,
+ 450,
+ 451
+ ]
+ },
+ {
+ "teal": 486,
+ "source": 60,
+ "pc": [
+ 452,
+ 453
+ ]
+ },
+ {
+ "teal": 487,
+ "source": 60,
+ "pc": [
+ 454
+ ]
+ },
+ {
+ "teal": 488,
+ "source": 59,
+ "pc": [
+ 455,
+ 456,
+ 457
+ ]
+ },
+ {
+ "teal": 493,
+ "source": 62,
+ "pc": [
+ 458
+ ]
+ },
+ {
+ "teal": 494,
+ "source": 62,
+ "pc": [
+ 459
+ ]
+ },
+ {
+ "teal": 497,
+ "source": 54,
+ "pc": [
+ 460
+ ]
+ },
+ {
+ "teal": 502,
+ "source": 66,
+ "pc": [
+ 461
+ ]
+ },
+ {
+ "teal": 505,
+ "source": 66,
+ "pc": [
+ 462,
+ 463,
+ 464
+ ]
+ },
+ {
+ "teal": 506,
+ "source": 66,
+ "pc": [
+ 465
+ ]
+ },
+ {
+ "teal": 507,
+ "source": 66,
+ "pc": [
+ 466
+ ]
+ },
+ {
+ "teal": 508,
+ "source": 66,
+ "pc": [
+ 467
+ ]
+ },
+ {
+ "teal": 509,
+ "source": 66,
+ "pc": [
+ 468
+ ]
+ },
+ {
+ "teal": 512,
+ "source": 66,
+ "errorMessage": "argument 0 (arg1) for nestedIf must be a bool",
+ "pc": [
+ 469
+ ]
+ },
+ {
+ "teal": 513,
+ "source": 66,
+ "pc": [
+ 470
+ ]
+ },
+ {
+ "teal": 514,
+ "source": 66,
+ "pc": [
+ 471
+ ]
+ },
+ {
+ "teal": 517,
+ "source": 66,
+ "pc": [
+ 472,
+ 473,
+ 474
+ ]
+ },
+ {
+ "teal": 518,
+ "source": 66,
+ "pc": [
+ 475
+ ]
+ },
+ {
+ "teal": 519,
+ "source": 66,
+ "pc": [
+ 476
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 66,
+ "pc": [
+ 477
+ ]
+ },
+ {
+ "teal": 521,
+ "source": 66,
+ "pc": [
+ 478
+ ]
+ },
+ {
+ "teal": 524,
+ "source": 66,
+ "errorMessage": "argument 1 (arg0) for nestedIf must be a bool",
+ "pc": [
+ 479
+ ]
+ },
+ {
+ "teal": 525,
+ "source": 66,
+ "pc": [
+ 480
+ ]
+ },
+ {
+ "teal": 526,
+ "source": 66,
+ "pc": [
+ 481
+ ]
+ },
+ {
+ "teal": 529,
+ "source": 66,
+ "pc": [
+ 482,
+ 483,
+ 484
+ ]
+ },
+ {
+ "teal": 530,
+ "source": 66,
+ "pc": [
+ 485
+ ]
+ },
+ {
+ "teal": 531,
+ "source": 66,
+ "pc": [
+ 486
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 66,
+ "pc": [
+ 487
+ ]
+ },
+ {
+ "teal": 533,
+ "source": 66,
+ "pc": [
+ 488,
+ 489,
+ 490
+ ]
+ },
+ {
+ "teal": 534,
+ "source": 66,
+ "pc": [
+ 491
+ ]
+ },
+ {
+ "teal": 535,
+ "source": 66,
+ "pc": [
+ 492
+ ]
+ },
+ {
+ "teal": 536,
+ "source": 66,
+ "pc": [
+ 493
+ ]
+ },
+ {
+ "teal": 537,
+ "source": 66,
+ "pc": [
+ 494
+ ]
+ },
+ {
+ "teal": 538,
+ "source": 66,
+ "pc": [
+ 495
+ ]
+ },
+ {
+ "teal": 539,
+ "source": 66,
+ "pc": [
+ 496
+ ]
+ },
+ {
+ "teal": 543,
+ "source": 66,
+ "pc": [
+ 497,
+ 498,
+ 499
+ ]
+ },
+ {
+ "teal": 548,
+ "source": 67,
+ "pc": [
+ 500,
+ 501
+ ]
+ },
+ {
+ "teal": 549,
+ "source": 67,
+ "pc": [
+ 502,
+ 503,
+ 504
+ ]
+ },
+ {
+ "teal": 555,
+ "source": 68,
+ "pc": [
+ 505,
+ 506
+ ]
+ },
+ {
+ "teal": 556,
+ "source": 68,
+ "pc": [
+ 507,
+ 508,
+ 509
+ ]
+ },
+ {
+ "teal": 561,
+ "source": 69,
+ "pc": [
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520
+ ]
+ },
+ {
+ "teal": 562,
+ "source": 69,
+ "pc": [
+ 521
+ ]
+ },
+ {
+ "teal": 567,
+ "source": 71,
+ "pc": [
+ 522
+ ]
+ },
+ {
+ "teal": 568,
+ "source": 71,
+ "pc": [
+ 523
+ ]
+ },
+ {
+ "teal": 569,
+ "source": 67,
+ "pc": [
+ 524,
+ 525,
+ 526
+ ]
+ },
+ {
+ "teal": 574,
+ "source": 73,
+ "pc": [
+ 527
+ ]
+ },
+ {
+ "teal": 575,
+ "source": 73,
+ "pc": [
+ 528
+ ]
+ },
+ {
+ "teal": 578,
+ "source": 66,
+ "pc": [
+ 529
+ ]
+ },
+ {
+ "teal": 583,
+ "source": 77,
+ "pc": [
+ 530
+ ]
+ },
+ {
+ "teal": 586,
+ "source": 77,
+ "pc": [
+ 531,
+ 532,
+ 533
+ ]
+ },
+ {
+ "teal": 587,
+ "source": 77,
+ "pc": [
+ 534
+ ]
+ },
+ {
+ "teal": 588,
+ "source": 77,
+ "pc": [
+ 535
+ ]
+ },
+ {
+ "teal": 589,
+ "source": 77,
+ "pc": [
+ 536
+ ]
+ },
+ {
+ "teal": 590,
+ "source": 77,
+ "pc": [
+ 537
+ ]
+ },
+ {
+ "teal": 593,
+ "source": 77,
+ "errorMessage": "argument 0 (arg0) for bracketlessIfElse must be a bool",
+ "pc": [
+ 538
+ ]
+ },
+ {
+ "teal": 594,
+ "source": 77,
+ "pc": [
+ 539
+ ]
+ },
+ {
+ "teal": 595,
+ "source": 77,
+ "pc": [
+ 540
+ ]
+ },
+ {
+ "teal": 598,
+ "source": 77,
+ "pc": [
+ 541,
+ 542,
+ 543
+ ]
+ },
+ {
+ "teal": 599,
+ "source": 77,
+ "pc": [
+ 544
+ ]
+ },
+ {
+ "teal": 600,
+ "source": 77,
+ "pc": [
+ 545
+ ]
+ },
+ {
+ "teal": 601,
+ "source": 77,
+ "pc": [
+ 546
+ ]
+ },
+ {
+ "teal": 602,
+ "source": 77,
+ "pc": [
+ 547,
+ 548,
+ 549
+ ]
+ },
+ {
+ "teal": 603,
+ "source": 77,
+ "pc": [
+ 550
+ ]
+ },
+ {
+ "teal": 604,
+ "source": 77,
+ "pc": [
+ 551
+ ]
+ },
+ {
+ "teal": 605,
+ "source": 77,
+ "pc": [
+ 552
+ ]
+ },
+ {
+ "teal": 606,
+ "source": 77,
+ "pc": [
+ 553
+ ]
+ },
+ {
+ "teal": 607,
+ "source": 77,
+ "pc": [
+ 554
+ ]
+ },
+ {
+ "teal": 608,
+ "source": 77,
+ "pc": [
+ 555
+ ]
+ },
+ {
+ "teal": 612,
+ "source": 77,
+ "pc": [
+ 556,
+ 557,
+ 558
+ ]
+ },
+ {
+ "teal": 617,
+ "source": 78,
+ "pc": [
+ 559,
+ 560
+ ]
+ },
+ {
+ "teal": 618,
+ "source": 78,
+ "pc": [
+ 561,
+ 562,
+ 563
+ ]
+ },
+ {
+ "teal": 623,
+ "source": 78,
+ "pc": [
+ 564
+ ]
+ },
+ {
+ "teal": 624,
+ "source": 78,
+ "pc": [
+ 565
+ ]
+ },
+ {
+ "teal": 625,
+ "source": 78,
+ "pc": [
+ 566,
+ 567,
+ 568
+ ]
+ },
+ {
+ "teal": 630,
+ "source": 79,
+ "pc": [
+ 569
+ ]
+ },
+ {
+ "teal": 631,
+ "source": 79,
+ "pc": [
+ 570
+ ]
+ },
+ {
+ "teal": 634,
+ "source": 77,
+ "pc": [
+ 571
+ ]
+ },
+ {
+ "teal": 639,
+ "source": 82,
+ "pc": [
+ 572
+ ]
+ },
+ {
+ "teal": 642,
+ "source": 82,
+ "pc": [
+ 573,
+ 574,
+ 575
+ ]
+ },
+ {
+ "teal": 643,
+ "source": 82,
+ "pc": [
+ 576
+ ]
+ },
+ {
+ "teal": 644,
+ "source": 82,
+ "pc": [
+ 577
+ ]
+ },
+ {
+ "teal": 645,
+ "source": 82,
+ "pc": [
+ 578
+ ]
+ },
+ {
+ "teal": 646,
+ "source": 82,
+ "pc": [
+ 579
+ ]
+ },
+ {
+ "teal": 649,
+ "source": 82,
+ "errorMessage": "argument 0 (arg1) for nestedTernary must be a bool",
+ "pc": [
+ 580
+ ]
+ },
+ {
+ "teal": 650,
+ "source": 82,
+ "pc": [
+ 581
+ ]
+ },
+ {
+ "teal": 651,
+ "source": 82,
+ "pc": [
+ 582
+ ]
+ },
+ {
+ "teal": 654,
+ "source": 82,
+ "pc": [
+ 583,
+ 584,
+ 585
+ ]
+ },
+ {
+ "teal": 655,
+ "source": 82,
+ "pc": [
+ 586
+ ]
+ },
+ {
+ "teal": 656,
+ "source": 82,
+ "pc": [
+ 587
+ ]
+ },
+ {
+ "teal": 657,
+ "source": 82,
+ "pc": [
+ 588
+ ]
+ },
+ {
+ "teal": 658,
+ "source": 82,
+ "pc": [
+ 589
+ ]
+ },
+ {
+ "teal": 661,
+ "source": 82,
+ "errorMessage": "argument 1 (arg0) for nestedTernary must be a bool",
+ "pc": [
+ 590
+ ]
+ },
+ {
+ "teal": 662,
+ "source": 82,
+ "pc": [
+ 591
+ ]
+ },
+ {
+ "teal": 663,
+ "source": 82,
+ "pc": [
+ 592
+ ]
+ },
+ {
+ "teal": 666,
+ "source": 82,
+ "pc": [
+ 593,
+ 594,
+ 595
+ ]
+ },
+ {
+ "teal": 667,
+ "source": 82,
+ "pc": [
+ 596
+ ]
+ },
+ {
+ "teal": 668,
+ "source": 82,
+ "pc": [
+ 597
+ ]
+ },
+ {
+ "teal": 669,
+ "source": 82,
+ "pc": [
+ 598
+ ]
+ },
+ {
+ "teal": 670,
+ "source": 82,
+ "pc": [
+ 599
+ ]
+ },
+ {
+ "teal": 671,
+ "source": 82,
+ "pc": [
+ 600
+ ]
+ },
+ {
+ "teal": 675,
+ "source": 82,
+ "pc": [
+ 601,
+ 602,
+ 603
+ ]
+ },
+ {
+ "teal": 679,
+ "source": 84,
+ "pc": [
+ 604,
+ 605
+ ]
+ },
+ {
+ "teal": 680,
+ "source": 84,
+ "pc": [
+ 606,
+ 607,
+ 608
+ ]
+ },
+ {
+ "teal": 681,
+ "source": 84,
+ "pc": [
+ 609
+ ]
+ },
+ {
+ "teal": 682,
+ "source": 84,
+ "pc": [
+ 610,
+ 611,
+ 612
+ ]
+ },
+ {
+ "teal": 685,
+ "source": 84,
+ "pc": [
+ 613,
+ 614
+ ]
+ },
+ {
+ "teal": 686,
+ "source": 84,
+ "pc": [
+ 615,
+ 616,
+ 617
+ ]
+ },
+ {
+ "teal": 687,
+ "source": 84,
+ "pc": [
+ 618
+ ]
+ },
+ {
+ "teal": 688,
+ "source": 84,
+ "pc": [
+ 619,
+ 620,
+ 621
+ ]
+ },
+ {
+ "teal": 691,
+ "source": 84,
+ "pc": [
+ 622,
+ 623
+ ]
+ },
+ {
+ "teal": 696,
+ "source": 82,
+ "pc": [
+ 624
+ ]
+ },
+ {
+ "teal": 701,
+ "source": 87,
+ "pc": [
+ 625
+ ]
+ },
+ {
+ "teal": 704,
+ "source": 87,
+ "pc": [
+ 626,
+ 627,
+ 628
+ ]
+ },
+ {
+ "teal": 705,
+ "source": 87,
+ "pc": [
+ 629,
+ 630,
+ 631
+ ]
+ },
+ {
+ "teal": 708,
+ "source": 87,
+ "pc": [
+ 632,
+ 633,
+ 634
+ ]
+ },
+ {
+ "teal": 709,
+ "source": 87,
+ "pc": [
+ 635
+ ]
+ },
+ {
+ "teal": 710,
+ "source": 87,
+ "pc": [
+ 636
+ ]
+ },
+ {
+ "teal": 711,
+ "source": 87,
+ "pc": [
+ 637
+ ]
+ },
+ {
+ "teal": 712,
+ "source": 87,
+ "pc": [
+ 638
+ ]
+ },
+ {
+ "teal": 713,
+ "source": 87,
+ "pc": [
+ 639
+ ]
+ },
+ {
+ "teal": 717,
+ "source": 87,
+ "pc": [
+ 640,
+ 641,
+ 642
+ ]
+ },
+ {
+ "teal": 722,
+ "source": 88,
+ "pc": [
+ 643,
+ 644
+ ]
+ },
+ {
+ "teal": 723,
+ "source": 88,
+ "pc": [
+ 645,
+ 646
+ ]
+ },
+ {
+ "teal": 724,
+ "source": 88,
+ "pc": [
+ 647
+ ]
+ },
+ {
+ "teal": 725,
+ "source": 88,
+ "pc": [
+ 648,
+ 649,
+ 650
+ ]
+ },
+ {
+ "teal": 730,
+ "source": 89,
+ "pc": [
+ 651
+ ]
+ },
+ {
+ "teal": 731,
+ "source": 89,
+ "pc": [
+ 652
+ ]
+ },
+ {
+ "teal": 736,
+ "source": 92,
+ "pc": [
+ 653
+ ]
+ },
+ {
+ "teal": 737,
+ "source": 87,
+ "pc": [
+ 654
+ ]
+ },
+ {
+ "teal": 742,
+ "source": 95,
+ "pc": [
+ 655
+ ]
+ },
+ {
+ "teal": 745,
+ "source": 95,
+ "pc": [
+ 656,
+ 657,
+ 658
+ ]
+ },
+ {
+ "teal": 746,
+ "source": 95,
+ "pc": [
+ 659,
+ 660,
+ 661
+ ]
+ },
+ {
+ "teal": 749,
+ "source": 95,
+ "pc": [
+ 662,
+ 663,
+ 664
+ ]
+ },
+ {
+ "teal": 750,
+ "source": 95,
+ "pc": [
+ 665
+ ]
+ },
+ {
+ "teal": 751,
+ "source": 95,
+ "pc": [
+ 666
+ ]
+ },
+ {
+ "teal": 752,
+ "source": 95,
+ "pc": [
+ 667
+ ]
+ },
+ {
+ "teal": 753,
+ "source": 95,
+ "pc": [
+ 668
+ ]
+ },
+ {
+ "teal": 754,
+ "source": 95,
+ "pc": [
+ 669
+ ]
+ },
+ {
+ "teal": 758,
+ "source": 95,
+ "pc": [
+ 670,
+ 671,
+ 672
+ ]
+ },
+ {
+ "teal": 762,
+ "source": 96,
+ "pc": [
+ 673,
+ 674
+ ]
+ },
+ {
+ "teal": 763,
+ "source": 96,
+ "pc": [
+ 675,
+ 676
+ ]
+ },
+ {
+ "teal": 764,
+ "source": 96,
+ "pc": [
+ 677
+ ]
+ },
+ {
+ "teal": 765,
+ "source": 96,
+ "pc": [
+ 678,
+ 679,
+ 680
+ ]
+ },
+ {
+ "teal": 766,
+ "source": 96,
+ "pc": [
+ 681
+ ]
+ },
+ {
+ "teal": 767,
+ "source": 96,
+ "pc": [
+ 682,
+ 683,
+ 684
+ ]
+ },
+ {
+ "teal": 770,
+ "source": 96,
+ "pc": [
+ 685
+ ]
+ },
+ {
+ "teal": 773,
+ "source": 95,
+ "pc": [
+ 686
+ ]
+ },
+ {
+ "teal": 778,
+ "source": 99,
+ "pc": [
+ 687,
+ 688,
+ 689
+ ]
+ },
+ {
+ "teal": 779,
+ "source": 99,
+ "pc": [
+ 690
+ ]
+ },
+ {
+ "teal": 780,
+ "source": 99,
+ "pc": [
+ 691
+ ]
+ },
+ {
+ "teal": 781,
+ "source": 99,
+ "pc": [
+ 692
+ ]
+ },
+ {
+ "teal": 782,
+ "source": 99,
+ "pc": [
+ 693
+ ]
+ },
+ {
+ "teal": 785,
+ "source": 99,
+ "errorMessage": "argument 0 (a) for smallUintConditional must be a uint16",
+ "pc": [
+ 694
+ ]
+ },
+ {
+ "teal": 786,
+ "source": 99,
+ "pc": [
+ 695
+ ]
+ },
+ {
+ "teal": 789,
+ "source": 99,
+ "pc": [
+ 696,
+ 697,
+ 698
+ ]
+ },
+ {
+ "teal": 790,
+ "source": 99,
+ "pc": [
+ 699
+ ]
+ },
+ {
+ "teal": 791,
+ "source": 99,
+ "pc": [
+ 700
+ ]
+ },
+ {
+ "teal": 795,
+ "source": 99,
+ "pc": [
+ 701,
+ 702,
+ 703
+ ]
+ },
+ {
+ "teal": 800,
+ "source": 100,
+ "pc": [
+ 704,
+ 705
+ ]
+ },
+ {
+ "teal": 801,
+ "source": 100,
+ "pc": [
+ 706,
+ 707
+ ]
+ },
+ {
+ "teal": 802,
+ "source": 100,
+ "pc": [
+ 708
+ ]
+ },
+ {
+ "teal": 803,
+ "source": 100,
+ "pc": [
+ 709,
+ 710,
+ 711
+ ]
+ },
+ {
+ "teal": 808,
+ "source": 101,
+ "pc": [
+ 712,
+ 713
+ ]
+ },
+ {
+ "teal": 809,
+ "source": 101,
+ "pc": [
+ 714
+ ]
+ },
+ {
+ "teal": 812,
+ "source": 99,
+ "pc": [
+ 715
+ ]
+ },
+ {
+ "teal": 817,
+ "source": 105,
+ "pc": [
+ 716,
+ 717,
+ 718
+ ]
+ },
+ {
+ "teal": 818,
+ "source": 105,
+ "pc": [
+ 719
+ ]
+ },
+ {
+ "teal": 819,
+ "source": 105,
+ "pc": [
+ 720
+ ]
+ },
+ {
+ "teal": 820,
+ "source": 105,
+ "pc": [
+ 721
+ ]
+ },
+ {
+ "teal": 821,
+ "source": 105,
+ "pc": [
+ 722
+ ]
+ },
+ {
+ "teal": 824,
+ "source": 105,
+ "errorMessage": "argument 0 (b) for smallUintComparisonConditional must be a uint16",
+ "pc": [
+ 723
+ ]
+ },
+ {
+ "teal": 825,
+ "source": 105,
+ "pc": [
+ 724
+ ]
+ },
+ {
+ "teal": 828,
+ "source": 105,
+ "pc": [
+ 725,
+ 726,
+ 727
+ ]
+ },
+ {
+ "teal": 829,
+ "source": 105,
+ "pc": [
+ 728
+ ]
+ },
+ {
+ "teal": 830,
+ "source": 105,
+ "pc": [
+ 729
+ ]
+ },
+ {
+ "teal": 831,
+ "source": 105,
+ "pc": [
+ 730
+ ]
+ },
+ {
+ "teal": 832,
+ "source": 105,
+ "pc": [
+ 731
+ ]
+ },
+ {
+ "teal": 835,
+ "source": 105,
+ "errorMessage": "argument 1 (a) for smallUintComparisonConditional must be a uint16",
+ "pc": [
+ 732
+ ]
+ },
+ {
+ "teal": 836,
+ "source": 105,
+ "pc": [
+ 733
+ ]
+ },
+ {
+ "teal": 839,
+ "source": 105,
+ "pc": [
+ 734,
+ 735,
+ 736
+ ]
+ },
+ {
+ "teal": 840,
+ "source": 105,
+ "pc": [
+ 737
+ ]
+ },
+ {
+ "teal": 841,
+ "source": 105,
+ "pc": [
+ 738
+ ]
+ },
+ {
+ "teal": 845,
+ "source": 105,
+ "pc": [
+ 739,
+ 740,
+ 741
+ ]
+ },
+ {
+ "teal": 850,
+ "source": 106,
+ "pc": [
+ 742,
+ 743
+ ]
+ },
+ {
+ "teal": 851,
+ "source": 106,
+ "pc": [
+ 744,
+ 745
+ ]
+ },
+ {
+ "teal": 852,
+ "source": 106,
+ "pc": [
+ 746
+ ]
+ },
+ {
+ "teal": 853,
+ "source": 106,
+ "pc": [
+ 747,
+ 748,
+ 749
+ ]
+ },
+ {
+ "teal": 858,
+ "source": 107,
+ "pc": [
+ 750,
+ 751
+ ]
+ },
+ {
+ "teal": 859,
+ "source": 107,
+ "pc": [
+ 752
+ ]
+ },
+ {
+ "teal": 862,
+ "source": 105,
+ "pc": [
+ 753
+ ]
+ },
+ {
+ "teal": 867,
+ "source": 111,
+ "pc": [
+ 754,
+ 755,
+ 756
+ ]
+ },
+ {
+ "teal": 868,
+ "source": 111,
+ "pc": [
+ 757
+ ]
+ },
+ {
+ "teal": 869,
+ "source": 111,
+ "pc": [
+ 758
+ ]
+ },
+ {
+ "teal": 870,
+ "source": 111,
+ "pc": [
+ 759
+ ]
+ },
+ {
+ "teal": 871,
+ "source": 111,
+ "pc": [
+ 760
+ ]
+ },
+ {
+ "teal": 874,
+ "source": 111,
+ "errorMessage": "argument 0 (b) for uint256ComparsionConditional must be a uint256",
+ "pc": [
+ 761
+ ]
+ },
+ {
+ "teal": 877,
+ "source": 111,
+ "pc": [
+ 762,
+ 763,
+ 764
+ ]
+ },
+ {
+ "teal": 878,
+ "source": 111,
+ "pc": [
+ 765
+ ]
+ },
+ {
+ "teal": 879,
+ "source": 111,
+ "pc": [
+ 766
+ ]
+ },
+ {
+ "teal": 880,
+ "source": 111,
+ "pc": [
+ 767
+ ]
+ },
+ {
+ "teal": 881,
+ "source": 111,
+ "pc": [
+ 768
+ ]
+ },
+ {
+ "teal": 884,
+ "source": 111,
+ "errorMessage": "argument 1 (a) for uint256ComparsionConditional must be a uint256",
+ "pc": [
+ 769
+ ]
+ },
+ {
+ "teal": 887,
+ "source": 111,
+ "pc": [
+ 770,
+ 771,
+ 772
+ ]
+ },
+ {
+ "teal": 888,
+ "source": 111,
+ "pc": [
+ 773
+ ]
+ },
+ {
+ "teal": 889,
+ "source": 111,
+ "pc": [
+ 774
+ ]
+ },
+ {
+ "teal": 893,
+ "source": 111,
+ "pc": [
+ 775,
+ 776,
+ 777
+ ]
+ },
+ {
+ "teal": 898,
+ "source": 112,
+ "pc": [
+ 778,
+ 779
+ ]
+ },
+ {
+ "teal": 899,
+ "source": 112,
+ "pc": [
+ 780,
+ 781
+ ]
+ },
+ {
+ "teal": 900,
+ "source": 112,
+ "pc": [
+ 782
+ ]
+ },
+ {
+ "teal": 901,
+ "source": 112,
+ "pc": [
+ 783,
+ 784,
+ 785
+ ]
+ },
+ {
+ "teal": 906,
+ "source": 113,
+ "pc": [
+ 786,
+ 787
+ ]
+ },
+ {
+ "teal": 907,
+ "source": 113,
+ "pc": [
+ 788
+ ]
+ },
+ {
+ "teal": 910,
+ "source": 111,
+ "pc": [
+ 789
+ ]
+ },
+ {
+ "teal": 915,
+ "source": 117,
+ "pc": [
+ 790
+ ]
+ },
+ {
+ "teal": 918,
+ "source": 117,
+ "pc": [
+ 791,
+ 792,
+ 793
+ ]
+ },
+ {
+ "teal": 919,
+ "source": 117,
+ "pc": [
+ 794
+ ]
+ },
+ {
+ "teal": 920,
+ "source": 117,
+ "pc": [
+ 795
+ ]
+ },
+ {
+ "teal": 921,
+ "source": 117,
+ "pc": [
+ 796
+ ]
+ },
+ {
+ "teal": 922,
+ "source": 117,
+ "pc": [
+ 797
+ ]
+ },
+ {
+ "teal": 925,
+ "source": 117,
+ "errorMessage": "argument 0 (b) for nestedIfInElseIf must be a bool",
+ "pc": [
+ 798
+ ]
+ },
+ {
+ "teal": 926,
+ "source": 117,
+ "pc": [
+ 799
+ ]
+ },
+ {
+ "teal": 927,
+ "source": 117,
+ "pc": [
+ 800
+ ]
+ },
+ {
+ "teal": 930,
+ "source": 117,
+ "pc": [
+ 801,
+ 802,
+ 803
+ ]
+ },
+ {
+ "teal": 931,
+ "source": 117,
+ "pc": [
+ 804
+ ]
+ },
+ {
+ "teal": 932,
+ "source": 117,
+ "pc": [
+ 805
+ ]
+ },
+ {
+ "teal": 933,
+ "source": 117,
+ "pc": [
+ 806
+ ]
+ },
+ {
+ "teal": 934,
+ "source": 117,
+ "pc": [
+ 807
+ ]
+ },
+ {
+ "teal": 937,
+ "source": 117,
+ "errorMessage": "argument 1 (a) for nestedIfInElseIf must be a bool",
+ "pc": [
+ 808
+ ]
+ },
+ {
+ "teal": 938,
+ "source": 117,
+ "pc": [
+ 809
+ ]
+ },
+ {
+ "teal": 939,
+ "source": 117,
+ "pc": [
+ 810
+ ]
+ },
+ {
+ "teal": 942,
+ "source": 117,
+ "pc": [
+ 811,
+ 812,
+ 813
+ ]
+ },
+ {
+ "teal": 943,
+ "source": 117,
+ "pc": [
+ 814
+ ]
+ },
+ {
+ "teal": 944,
+ "source": 117,
+ "pc": [
+ 815
+ ]
+ },
+ {
+ "teal": 945,
+ "source": 117,
+ "pc": [
+ 816
+ ]
+ },
+ {
+ "teal": 946,
+ "source": 117,
+ "pc": [
+ 817,
+ 818,
+ 819
+ ]
+ },
+ {
+ "teal": 947,
+ "source": 117,
+ "pc": [
+ 820
+ ]
+ },
+ {
+ "teal": 948,
+ "source": 117,
+ "pc": [
+ 821
+ ]
+ },
+ {
+ "teal": 949,
+ "source": 117,
+ "pc": [
+ 822
+ ]
+ },
+ {
+ "teal": 950,
+ "source": 117,
+ "pc": [
+ 823
+ ]
+ },
+ {
+ "teal": 951,
+ "source": 117,
+ "pc": [
+ 824
+ ]
+ },
+ {
+ "teal": 952,
+ "source": 117,
+ "pc": [
+ 825
+ ]
+ },
+ {
+ "teal": 956,
+ "source": 117,
+ "pc": [
+ 826,
+ 827,
+ 828
+ ]
+ },
+ {
+ "teal": 961,
+ "source": 118,
+ "pc": [
+ 829,
+ 830
+ ]
+ },
+ {
+ "teal": 962,
+ "source": 118,
+ "pc": [
+ 831,
+ 832,
+ 833
+ ]
+ },
+ {
+ "teal": 968,
+ "source": 119,
+ "pc": [
+ 834,
+ 835
+ ]
+ },
+ {
+ "teal": 969,
+ "source": 119,
+ "pc": [
+ 836,
+ 837,
+ 838
+ ]
+ },
+ {
+ "teal": 974,
+ "source": 120,
+ "pc": [
+ 839,
+ 840,
+ 841,
+ 842,
+ 843,
+ 844,
+ 845,
+ 846,
+ 847
+ ]
+ },
+ {
+ "teal": 975,
+ "source": 120,
+ "pc": [
+ 848
+ ]
+ },
+ {
+ "teal": 976,
+ "source": 119,
+ "pc": [
+ 849,
+ 850,
+ 851
+ ]
+ },
+ {
+ "teal": 981,
+ "source": 122,
+ "pc": [
+ 852,
+ 853,
+ 854
+ ]
+ },
+ {
+ "teal": 982,
+ "source": 122,
+ "pc": [
+ 855
+ ]
+ },
+ {
+ "teal": 985,
+ "source": 118,
+ "pc": [
+ 856,
+ 857,
+ 858
+ ]
+ },
+ {
+ "teal": 990,
+ "source": 124,
+ "pc": [
+ 859,
+ 860
+ ]
+ },
+ {
+ "teal": 991,
+ "source": 124,
+ "pc": [
+ 861,
+ 862,
+ 863
+ ]
+ },
+ {
+ "teal": 996,
+ "source": 125,
+ "pc": [
+ 864,
+ 865,
+ 866
+ ]
+ },
+ {
+ "teal": 997,
+ "source": 125,
+ "pc": [
+ 867
+ ]
+ },
+ {
+ "teal": 998,
+ "source": 124,
+ "pc": [
+ 868,
+ 869,
+ 870
+ ]
+ },
+ {
+ "teal": 1003,
+ "source": 127,
+ "pc": [
+ 871,
+ 872,
+ 873,
+ 874,
+ 875,
+ 876,
+ 877,
+ 878,
+ 879
+ ]
+ },
+ {
+ "teal": 1004,
+ "source": 127,
+ "pc": [
+ 880
+ ]
+ },
+ {
+ "teal": 1007,
+ "source": 117,
+ "pc": [
+ 881
+ ]
+ },
+ {
+ "teal": 1010,
+ "source": 5,
+ "pc": [
+ 882
+ ]
+ },
+ {
+ "teal": 1011,
+ "source": 5,
+ "pc": [
+ 883
+ ]
+ },
+ {
+ "teal": 1014,
+ "source": 5,
+ "pc": [
+ 884,
+ 885,
+ 886,
+ 887,
+ 888,
+ 889
+ ]
+ },
+ {
+ "teal": 1015,
+ "source": 5,
+ "pc": [
+ 890,
+ 891,
+ 892
+ ]
+ },
+ {
+ "teal": 1016,
+ "source": 5,
+ "pc": [
+ 893,
+ 894,
+ 895,
+ 896
+ ]
+ },
+ {
+ "teal": 1019,
+ "source": 5,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 897
+ ]
+ },
+ {
+ "teal": 1022,
+ "source": 5,
+ "pc": [
+ 898,
+ 899,
+ 900,
+ 901,
+ 902,
+ 903
+ ]
+ },
+ {
+ "teal": 1023,
+ "source": 5,
+ "pc": [
+ 904,
+ 905,
+ 906,
+ 907,
+ 908,
+ 909
+ ]
+ },
+ {
+ "teal": 1024,
+ "source": 5,
+ "pc": [
+ 910,
+ 911,
+ 912,
+ 913,
+ 914,
+ 915
+ ]
+ },
+ {
+ "teal": 1025,
+ "source": 5,
+ "pc": [
+ 916,
+ 917,
+ 918,
+ 919,
+ 920,
+ 921
+ ]
+ },
+ {
+ "teal": 1026,
+ "source": 5,
+ "pc": [
+ 922,
+ 923,
+ 924,
+ 925,
+ 926,
+ 927
+ ]
+ },
+ {
+ "teal": 1027,
+ "source": 5,
+ "pc": [
+ 928,
+ 929,
+ 930,
+ 931,
+ 932,
+ 933
+ ]
+ },
+ {
+ "teal": 1028,
+ "source": 5,
+ "pc": [
+ 934,
+ 935,
+ 936,
+ 937,
+ 938,
+ 939
+ ]
+ },
+ {
+ "teal": 1029,
+ "source": 5,
+ "pc": [
+ 940,
+ 941,
+ 942,
+ 943,
+ 944,
+ 945
+ ]
+ },
+ {
+ "teal": 1030,
+ "source": 5,
+ "pc": [
+ 946,
+ 947,
+ 948,
+ 949,
+ 950,
+ 951
+ ]
+ },
+ {
+ "teal": 1031,
+ "source": 5,
+ "pc": [
+ 952,
+ 953,
+ 954,
+ 955,
+ 956,
+ 957
+ ]
+ },
+ {
+ "teal": 1032,
+ "source": 5,
+ "pc": [
+ 958,
+ 959,
+ 960,
+ 961,
+ 962,
+ 963
+ ]
+ },
+ {
+ "teal": 1033,
+ "source": 5,
+ "pc": [
+ 964,
+ 965,
+ 966,
+ 967,
+ 968,
+ 969
+ ]
+ },
+ {
+ "teal": 1034,
+ "source": 5,
+ "pc": [
+ 970,
+ 971,
+ 972,
+ 973,
+ 974,
+ 975
+ ]
+ },
+ {
+ "teal": 1035,
+ "source": 5,
+ "pc": [
+ 976,
+ 977,
+ 978,
+ 979,
+ 980,
+ 981
+ ]
+ },
+ {
+ "teal": 1036,
+ "source": 5,
+ "pc": [
+ 982,
+ 983,
+ 984,
+ 985,
+ 986,
+ 987
+ ]
+ },
+ {
+ "teal": 1037,
+ "source": 5,
+ "pc": [
+ 988,
+ 989,
+ 990
+ ]
+ },
+ {
+ "teal": 1038,
+ "source": 5,
+ "pc": [
+ 991,
+ 992,
+ 993,
+ 994,
+ 995,
+ 996,
+ 997,
+ 998,
+ 999,
+ 1000,
+ 1001,
+ 1002,
+ 1003,
+ 1004,
+ 1005,
+ 1006,
+ 1007,
+ 1008,
+ 1009,
+ 1010,
+ 1011,
+ 1012,
+ 1013,
+ 1014,
+ 1015,
+ 1016,
+ 1017,
+ 1018,
+ 1019,
+ 1020,
+ 1021,
+ 1022
+ ]
+ },
+ {
+ "teal": 1041,
+ "source": 5,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 1023
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaW5nbGVJZihib29sKXN0cmluZwoqYWJpX3JvdXRlX3NpbmdsZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMCkgZm9yIHNpbmdsZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIHNpbmdsZUlmKGJvb2wpc3RyaW5nCgljYWxsc3ViIHNpbmdsZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNpbmdsZUlmKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKc2luZ2xlSWY6Cglwcm90byAxIDEKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoKKmlmMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMQoJLy8gcmV0dXJuICdlbmQnOwoJYnl0ZSAweDY1NmU2NCAvLyAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3IgaWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE1CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMV9lbHNlCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxNgoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX2lmRWxzZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMSkgZm9yIGlmRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIGlmRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlSWYoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwppZkVsc2VJZjoKCXByb3RvIDIgMQoKCS8vICppZjJfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoyMwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjJfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI0CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoJYiAqaWYyX2VuZAoKKmlmMl9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI1CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjYKCS8vIHJldHVybiAnZWxzZSBpZic7CglieXRlIDB4NjU2YzczNjUyMDY5NjYgLy8gImVsc2UgaWYiCglyZXRzdWIKCippZjJfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjkKCS8vIHJldHVybiAnZW5kJzsKCWJ5dGUgMHg2NTZlNjQgLy8gImVuZCIKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlKGJvb2wsYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2VJZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIGlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBpZkVsc2VJZkVsc2UoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2VJZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlSWZFbHNlKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlOgoJcHJvdG8gMiAxCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjMzCgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmM19lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzQKCS8vIHJldHVybiAnaWYnOwoJYnl0ZSAweDY5NjYgLy8gImlmIgoJcmV0c3ViCgliICppZjNfZW5kCgoqaWYzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzUKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWYzX2Vsc2UKCgkvLyAqaWYzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzYKCS8vIHJldHVybiAnZWxzZSBpZic7CglieXRlIDB4NjU2YzczNjUyMDY5NjYgLy8gImVsc2UgaWYiCglyZXRzdWIKCWIgKmlmM19lbmQKCippZjNfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjM4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWYzX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzI6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcyKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlSWY6Cglwcm90byAzIDEKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY0X2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NAoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjRfZWxzZWlmMl9jb25kaXRpb24KCgkvLyAqaWY0X2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDYKCS8vIHJldHVybiAnZWxzZSBpZiAxJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzEgLy8gImVsc2UgaWYgMSIKCXJldHN1YgoJYiAqaWY0X2VuZAoKKmlmNF9lbHNlaWYyX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjQ3CgkvLyBhcmcyCglmcmFtZV9kaWcgLTMgLy8gYXJnMjogYm9vbGVhbgoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2Vsc2VpZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDgKCS8vIHJldHVybiAnZWxzZSBpZiAyJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzIgLy8gImVsc2UgaWYgMiIKCXJldHN1YgoKKmlmNF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1MQoJLy8gcmV0dXJuICdlbmQnOwoJYnl0ZSAweDY1NmU2NCAvLyAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2VJZkVsc2UoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcyOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMikgZm9yIGlmRWxzZUlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWZFbHNlSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmRWxzZShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuLCBhcmcyOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmRWxzZUlmRWxzZToKCXByb3RvIDMgMQoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1NQoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjVfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU2CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU3CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmNV9lbHNlaWYyX2NvbmRpdGlvbgoKCS8vICppZjVfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1OAoJLy8gcmV0dXJuICdlbHNlIGlmIDEnOwoJYnl0ZSAweDY1NmM3MzY1MjA2OTY2MjAzMSAvLyAiZWxzZSBpZiAxIgoJcmV0c3ViCgliICppZjVfZW5kCgoqaWY1X2Vsc2VpZjJfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NTkKCS8vIGFyZzIKCWZyYW1lX2RpZyAtMyAvLyBhcmcyOiBib29sZWFuCglieiAqaWY1X2Vsc2UKCgkvLyAqaWY1X2Vsc2VpZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjAKCS8vIHJldHVybiAnZWxzZSBpZiAyJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzIgLy8gImVsc2UgaWYgMiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjIKCS8vIHJldHVybiAnZWxzZSc7CglieXRlIDB4NjU2YzczNjUgLy8gImVsc2UiCglyZXRzdWIKCippZjVfZW5kOgoJcmV0c3ViCgovLyBuZXN0ZWRJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfbmVzdGVkSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgbmVzdGVkSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgbmVzdGVkSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkSWYoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBuZXN0ZWRJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRJZihhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogc3RyaW5nCm5lc3RlZElmOgoJcHJvdG8gMiAxCgoJLy8gKmlmNl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY3CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmNl9lbHNlCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyAqaWY3X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjgKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWY3X2VuZAoKCS8vICppZjdfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjkKCS8vIHJldHVybiAnbmVzdGVkIGlmJzsKCWJ5dGUgMHg2ZTY1NzM3NDY1NjQyMDY5NjYgLy8gIm5lc3RlZCBpZiIKCXJldHN1YgoKKmlmN19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3MQoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmNl9lbmQKCippZjZfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjczCgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWY2X2VuZDoKCXJldHN1YgoKLy8gYnJhY2tldGxlc3NJZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9icmFja2V0bGVzc0lmRWxzZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzApIGZvciBicmFja2V0bGVzc0lmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBicmFja2V0bGVzc0lmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBicmFja2V0bGVzc0lmRWxzZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBicmFja2V0bGVzc0lmRWxzZShhcmcwOiBib29sZWFuKTogc3RyaW5nCmJyYWNrZXRsZXNzSWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmOF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc4CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmOF9lbHNlCgoJLy8gKmlmOF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3OAoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmOF9lbmQKCippZjhfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc5CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWY4X2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkVGVybmFyeShib29sLGJvb2wpdWludDY0CiphYmlfcm91dGVfbmVzdGVkVGVybmFyeToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzEpIGZvciBuZXN0ZWRUZXJuYXJ5IG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIG5lc3RlZFRlcm5hcnkgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkVGVybmFyeShib29sLGJvb2wpdWludDY0CgljYWxsc3ViIG5lc3RlZFRlcm5hcnkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRUZXJuYXJ5KGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4pOiB1aW50NjQKbmVzdGVkVGVybmFyeToKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjg0CgkvLyByZXR1cm4gYXJnMCA/IDEgOiBhcmcxID8gMiA6IDM7CglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnQgMQoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKnRlcm5hcnkxX2ZhbHNlCglpbnQgMgoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglpbnQgMwoKKnRlcm5hcnkxX2VuZDoKCip0ZXJuYXJ5MF9lbmQ6CglyZXRzdWIKCi8vIHN0cmluZ0lmKHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdJZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMDogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RyaW5nSWYoc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdJZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ0lmKGFyZzA6IHN0cmluZyk6IHVpbnQ2NApzdHJpbmdJZjoKCXByb3RvIDEgMQoKCS8vICppZjlfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4OAoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IHN0cmluZwoJYnl0ZSAweAoJYiE9CglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6ODkKCS8vIHJldHVybiAxOwoJaW50IDEKCXJldHN1YgoKKmlmOV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo5MgoJLy8gcmV0dXJuIDI7CglpbnQgMgoJcmV0c3ViCgovLyBzdHJpbmdUZXJuYXJ5KHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdUZXJuYXJ5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdUZXJuYXJ5KHN0cmluZyl1aW50NjQKCWNhbGxzdWIgc3RyaW5nVGVybmFyeQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ1Rlcm5hcnkoYXJnMDogc3RyaW5nKTogdWludDY0CnN0cmluZ1Rlcm5hcnk6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo5NgoJLy8gcmV0dXJuIGFyZzAgPyAxIDogMjsKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBzdHJpbmcKCWJ5dGUgMHgKCWIhPQoJYnogKnRlcm5hcnkyX2ZhbHNlCglpbnQgMQoJYiAqdGVybmFyeTJfZW5kCgoqdGVybmFyeTJfZmFsc2U6CglpbnQgMgoKKnRlcm5hcnkyX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQKKmFiaV9yb3V0ZV9zbWFsbFVpbnRDb25kaXRpb25hbDoKCS8vIGE6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBzbWFsbFVpbnRDb25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbmRpdGlvbmFsKHVpbnQxNil2b2lkCgljYWxsc3ViIHNtYWxsVWludENvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb25kaXRpb25hbChhOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbmRpdGlvbmFsOgoJcHJvdG8gMSAwCgoJLy8gKmlmMTBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDAKCS8vIGEKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWJ5dGUgMHgKCWIhPQoJYnogKmlmMTBfZW5kCgoJLy8gKmlmMTBfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTAxCgkvLyBsb2coJ2ZvbycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglsb2cKCippZjEwX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwoYTogdWludDE2LCBiOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCXByb3RvIDIgMAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTA2CgkvLyBhIDw9IGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MTYKCTw9CglieiAqaWYxMV9lbmQKCgkvLyAqaWYxMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDcKCS8vIGxvZygnZm9vJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWxvZwoKKmlmMTFfZW5kOgoJcmV0c3ViCgovLyB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsKHVpbnQyNTYsdWludDI1Nil2b2lkCiphYmlfcm91dGVfdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB2b2lkCnVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWw6Cglwcm90byAyIDAKCgkvLyAqaWYxMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExMgoJLy8gYSA8PSBiCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWI8PQoJYnogKmlmMTJfZW5kCgoJLy8gKmlmMTJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTEzCgkvLyBsb2coJ2ZvbycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglsb2cKCippZjEyX2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfbmVzdGVkSWZJbkVsc2VJZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBuZXN0ZWRJZkluRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIG5lc3RlZElmSW5FbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIG5lc3RlZElmSW5FbHNlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkSWZJbkVsc2VJZihhOiBib29sZWFuLCBiOiBib29sZWFuKTogc3RyaW5nCm5lc3RlZElmSW5FbHNlSWY6Cglwcm90byAyIDEKCgkvLyAqaWYxM19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExOAoJLy8gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IGJvb2xlYW4KCWJ6ICppZjEzX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmMTNfY29uc2VxdWVudAoJLy8gKmlmMTRfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMTkKCS8vIGIKCWZyYW1lX2RpZyAtMiAvLyBiOiBib29sZWFuCglieiAqaWYxNF9lbHNlCgoJLy8gKmlmMTRfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTIwCgkvLyByZXR1cm4gJ2EgYW5kIGInOwoJYnl0ZSAweDYxMjA2MTZlNjQyMDYyIC8vICJhIGFuZCBiIgoJcmV0c3ViCgliICppZjE0X2VuZAoKKmlmMTRfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEyMgoJLy8gcmV0dXJuICdhJzsKCWJ5dGUgMHg2MSAvLyAiYSIKCXJldHN1YgoKKmlmMTRfZW5kOgoJYiAqaWYxM19lbmQKCippZjEzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI0CgkvLyBiCglmcmFtZV9kaWcgLTIgLy8gYjogYm9vbGVhbgoJYnogKmlmMTNfZWxzZQoKCS8vICppZjEzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI1CgkvLyByZXR1cm4gJ2InOwoJYnl0ZSAweDYyIC8vICJiIgoJcmV0c3ViCgliICppZjEzX2VuZAoKKmlmMTNfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEyNwoJLy8gcmV0dXJuICduZWl0aGVyJzsKCWJ5dGUgMHg2ZTY1Njk3NDY4NjU3MiAvLyAibmVpdGhlciIKCXJldHN1YgoKKmlmMTNfZW5kOgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2luZ2xlSWYoYm9vbClzdHJpbmciCgltZXRob2QgImlmRWxzZShib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWZFbHNlKGJvb2wsYm9vbClzdHJpbmciCgltZXRob2QgImlmRWxzZUlmRWxzZUlmKGJvb2wsYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWZFbHNlSWZFbHNlKGJvb2wsYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAibmVzdGVkSWYoYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiYnJhY2tldGxlc3NJZkVsc2UoYm9vbClzdHJpbmciCgltZXRob2QgIm5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NCIKCW1ldGhvZCAic3RyaW5nSWYoc3RyaW5nKXVpbnQ2NCIKCW1ldGhvZCAic3RyaW5nVGVybmFyeShzdHJpbmcpdWludDY0IgoJbWV0aG9kICJzbWFsbFVpbnRDb25kaXRpb25hbCh1aW50MTYpdm9pZCIKCW1ldGhvZCAic21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZCIKCW1ldGhvZCAidWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZCIKCW1ldGhvZCAibmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zaW5nbGVJZiAqYWJpX3JvdXRlX2lmRWxzZSAqYWJpX3JvdXRlX2lmRWxzZUlmICphYmlfcm91dGVfaWZFbHNlSWZFbHNlICphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWYgKmFiaV9yb3V0ZV9pZkVsc2VJZkVsc2VJZkVsc2UgKmFiaV9yb3V0ZV9uZXN0ZWRJZiAqYWJpX3JvdXRlX2JyYWNrZXRsZXNzSWZFbHNlICphYmlfcm91dGVfbmVzdGVkVGVybmFyeSAqYWJpX3JvdXRlX3N0cmluZ0lmICphYmlfcm91dGVfc3RyaW5nVGVybmFyeSAqYWJpX3JvdXRlX3NtYWxsVWludENvbmRpdGlvbmFsICphYmlfcm91dGVfc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsICphYmlfcm91dGVfdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCAqYWJpX3JvdXRlX25lc3RlZElmSW5FbHNlSWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaW5nbGVJZihib29sKXN0cmluZwoqYWJpX3JvdXRlX3NpbmdsZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMCkgZm9yIHNpbmdsZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIHNpbmdsZUlmKGJvb2wpc3RyaW5nCgljYWxsc3ViIHNpbmdsZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHNpbmdsZUlmKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKc2luZ2xlSWY6Cglwcm90byAxIDEKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoKKmlmMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMQoJLy8gcmV0dXJuICdlbmQnOwoJYnl0ZSAweDY1NmU2NCAvLyAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3IgaWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE1CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMV9lbHNlCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxNgoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX2lmRWxzZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMSkgZm9yIGlmRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIGlmRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlSWYoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwppZkVsc2VJZjoKCXByb3RvIDIgMQoKCS8vICppZjJfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoyMwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjJfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI0CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoJYiAqaWYyX2VuZAoKKmlmMl9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI1CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjYKCS8vIHJldHVybiAnZWxzZSBpZic7CglieXRlIDB4NjU2YzczNjUyMDY5NjYgLy8gImVsc2UgaWYiCglyZXRzdWIKCippZjJfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjkKCS8vIHJldHVybiAnZW5kJzsKCWJ5dGUgMHg2NTZlNjQgLy8gImVuZCIKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlKGJvb2wsYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2VJZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIGlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBpZkVsc2VJZkVsc2UoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2VJZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gaWZFbHNlSWZFbHNlKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlOgoJcHJvdG8gMiAxCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjMzCgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmM19lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzQKCS8vIHJldHVybiAnaWYnOwoJYnl0ZSAweDY5NjYgLy8gImlmIgoJcmV0c3ViCgliICppZjNfZW5kCgoqaWYzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzUKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWYzX2Vsc2UKCgkvLyAqaWYzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzYKCS8vIHJldHVybiAnZWxzZSBpZic7CglieXRlIDB4NjU2YzczNjUyMDY5NjYgLy8gImVsc2UgaWYiCglyZXRzdWIKCWIgKmlmM19lbmQKCippZjNfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjM4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWYzX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzI6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcyKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlSWY6Cglwcm90byAzIDEKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY0X2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NAoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjRfZWxzZWlmMl9jb25kaXRpb24KCgkvLyAqaWY0X2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDYKCS8vIHJldHVybiAnZWxzZSBpZiAxJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzEgLy8gImVsc2UgaWYgMSIKCXJldHN1YgoJYiAqaWY0X2VuZAoKKmlmNF9lbHNlaWYyX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjQ3CgkvLyBhcmcyCglmcmFtZV9kaWcgLTMgLy8gYXJnMjogYm9vbGVhbgoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2Vsc2VpZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDgKCS8vIHJldHVybiAnZWxzZSBpZiAyJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzIgLy8gImVsc2UgaWYgMiIKCXJldHN1YgoKKmlmNF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1MQoJLy8gcmV0dXJuICdlbmQnOwoJYnl0ZSAweDY1NmU2NCAvLyAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2VJZkVsc2UoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcyOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMikgZm9yIGlmRWxzZUlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWZFbHNlSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmRWxzZShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuLCBhcmcyOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmRWxzZUlmRWxzZToKCXByb3RvIDMgMQoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1NQoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjVfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU2CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGUgMHg2OTY2IC8vICJpZiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU3CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmNV9lbHNlaWYyX2NvbmRpdGlvbgoKCS8vICppZjVfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1OAoJLy8gcmV0dXJuICdlbHNlIGlmIDEnOwoJYnl0ZSAweDY1NmM3MzY1MjA2OTY2MjAzMSAvLyAiZWxzZSBpZiAxIgoJcmV0c3ViCgliICppZjVfZW5kCgoqaWY1X2Vsc2VpZjJfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NTkKCS8vIGFyZzIKCWZyYW1lX2RpZyAtMyAvLyBhcmcyOiBib29sZWFuCglieiAqaWY1X2Vsc2UKCgkvLyAqaWY1X2Vsc2VpZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjAKCS8vIHJldHVybiAnZWxzZSBpZiAyJzsKCWJ5dGUgMHg2NTZjNzM2NTIwNjk2NjIwMzIgLy8gImVsc2UgaWYgMiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjIKCS8vIHJldHVybiAnZWxzZSc7CglieXRlIDB4NjU2YzczNjUgLy8gImVsc2UiCglyZXRzdWIKCippZjVfZW5kOgoJcmV0c3ViCgovLyBuZXN0ZWRJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfbmVzdGVkSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgbmVzdGVkSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgbmVzdGVkSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkSWYoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBuZXN0ZWRJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRJZihhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogc3RyaW5nCm5lc3RlZElmOgoJcHJvdG8gMiAxCgoJLy8gKmlmNl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY3CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmNl9lbHNlCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyAqaWY3X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjgKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWY3X2VuZAoKCS8vICppZjdfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NjkKCS8vIHJldHVybiAnbmVzdGVkIGlmJzsKCWJ5dGUgMHg2ZTY1NzM3NDY1NjQyMDY5NjYgLy8gIm5lc3RlZCBpZiIKCXJldHN1YgoKKmlmN19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3MQoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmNl9lbmQKCippZjZfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjczCgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWY2X2VuZDoKCXJldHN1YgoKLy8gYnJhY2tldGxlc3NJZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9icmFja2V0bGVzc0lmRWxzZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzApIGZvciBicmFja2V0bGVzc0lmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnQgMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBicmFja2V0bGVzc0lmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBicmFja2V0bGVzc0lmRWxzZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBicmFja2V0bGVzc0lmRWxzZShhcmcwOiBib29sZWFuKTogc3RyaW5nCmJyYWNrZXRsZXNzSWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmOF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc4CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmOF9lbHNlCgoJLy8gKmlmOF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3OAoJLy8gcmV0dXJuICdpZic7CglieXRlIDB4Njk2NiAvLyAiaWYiCglyZXRzdWIKCWIgKmlmOF9lbmQKCippZjhfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc5CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZSAweDY1NmM3MzY1IC8vICJlbHNlIgoJcmV0c3ViCgoqaWY4X2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkVGVybmFyeShib29sLGJvb2wpdWludDY0CiphYmlfcm91dGVfbmVzdGVkVGVybmFyeToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzEpIGZvciBuZXN0ZWRUZXJuYXJ5IG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIG5lc3RlZFRlcm5hcnkgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkVGVybmFyeShib29sLGJvb2wpdWludDY0CgljYWxsc3ViIG5lc3RlZFRlcm5hcnkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBuZXN0ZWRUZXJuYXJ5KGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4pOiB1aW50NjQKbmVzdGVkVGVybmFyeToKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjg0CgkvLyByZXR1cm4gYXJnMCA/IDEgOiBhcmcxID8gMiA6IDM7CglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnQgMQoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKnRlcm5hcnkxX2ZhbHNlCglpbnQgMgoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglpbnQgMwoKKnRlcm5hcnkxX2VuZDoKCip0ZXJuYXJ5MF9lbmQ6CglyZXRzdWIKCi8vIHN0cmluZ0lmKHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdJZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYXJnMDogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RyaW5nSWYoc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdJZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ0lmKGFyZzA6IHN0cmluZyk6IHVpbnQ2NApzdHJpbmdJZjoKCXByb3RvIDEgMQoKCS8vICppZjlfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4OAoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IHN0cmluZwoJYnl0ZSAweAoJYiE9CglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6ODkKCS8vIHJldHVybiAxOwoJaW50IDEKCXJldHN1YgoKKmlmOV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo5MgoJLy8gcmV0dXJuIDI7CglpbnQgMgoJcmV0c3ViCgovLyBzdHJpbmdUZXJuYXJ5KHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdUZXJuYXJ5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdUZXJuYXJ5KHN0cmluZyl1aW50NjQKCWNhbGxzdWIgc3RyaW5nVGVybmFyeQoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHN0cmluZ1Rlcm5hcnkoYXJnMDogc3RyaW5nKTogdWludDY0CnN0cmluZ1Rlcm5hcnk6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo5NgoJLy8gcmV0dXJuIGFyZzAgPyAxIDogMjsKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBzdHJpbmcKCWJ5dGUgMHgKCWIhPQoJYnogKnRlcm5hcnkyX2ZhbHNlCglpbnQgMQoJYiAqdGVybmFyeTJfZW5kCgoqdGVybmFyeTJfZmFsc2U6CglpbnQgMgoKKnRlcm5hcnkyX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQKKmFiaV9yb3V0ZV9zbWFsbFVpbnRDb25kaXRpb25hbDoKCS8vIGE6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBzbWFsbFVpbnRDb25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbmRpdGlvbmFsKHVpbnQxNil2b2lkCgljYWxsc3ViIHNtYWxsVWludENvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb25kaXRpb25hbChhOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbmRpdGlvbmFsOgoJcHJvdG8gMSAwCgoJLy8gKmlmMTBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDAKCS8vIGEKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWJ5dGUgMHgKCWIhPQoJYnogKmlmMTBfZW5kCgoJLy8gKmlmMTBfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTAxCgkvLyBsb2coJ2ZvbycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglsb2cKCippZjEwX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwoYTogdWludDE2LCBiOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCXByb3RvIDIgMAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTA2CgkvLyBhIDw9IGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MTYKCTw9CglieiAqaWYxMV9lbmQKCgkvLyAqaWYxMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDcKCS8vIGxvZygnZm9vJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWxvZwoKKmlmMTFfZW5kOgoJcmV0c3ViCgovLyB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsKHVpbnQyNTYsdWludDI1Nil2b2lkCiphYmlfcm91dGVfdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsCglpbnQgMQoJcmV0dXJuCgovLyB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB2b2lkCnVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWw6Cglwcm90byAyIDAKCgkvLyAqaWYxMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExMgoJLy8gYSA8PSBiCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWI8PQoJYnogKmlmMTJfZW5kCgoJLy8gKmlmMTJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTEzCgkvLyBsb2coJ2ZvbycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglsb2cKCippZjEyX2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfbmVzdGVkSWZJbkVsc2VJZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBuZXN0ZWRJZkluRWxzZUlmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludCAwCglnZXRiaXQKCgkvLyBhOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIG5lc3RlZElmSW5FbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50IDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgbmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIG5lc3RlZElmSW5FbHNlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbmVzdGVkSWZJbkVsc2VJZihhOiBib29sZWFuLCBiOiBib29sZWFuKTogc3RyaW5nCm5lc3RlZElmSW5FbHNlSWY6Cglwcm90byAyIDEKCgkvLyAqaWYxM19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExOAoJLy8gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IGJvb2xlYW4KCWJ6ICppZjEzX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmMTNfY29uc2VxdWVudAoJLy8gKmlmMTRfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMTkKCS8vIGIKCWZyYW1lX2RpZyAtMiAvLyBiOiBib29sZWFuCglieiAqaWYxNF9lbHNlCgoJLy8gKmlmMTRfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTIwCgkvLyByZXR1cm4gJ2EgYW5kIGInOwoJYnl0ZSAweDYxMjA2MTZlNjQyMDYyIC8vICJhIGFuZCBiIgoJcmV0c3ViCgliICppZjE0X2VuZAoKKmlmMTRfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEyMgoJLy8gcmV0dXJuICdhJzsKCWJ5dGUgMHg2MSAvLyAiYSIKCXJldHN1YgoKKmlmMTRfZW5kOgoJYiAqaWYxM19lbmQKCippZjEzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI0CgkvLyBiCglmcmFtZV9kaWcgLTIgLy8gYjogYm9vbGVhbgoJYnogKmlmMTNfZWxzZQoKCS8vICppZjEzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI1CgkvLyByZXR1cm4gJ2InOwoJYnl0ZSAweDYyIC8vICJiIgoJcmV0c3ViCgliICppZjEzX2VuZAoKKmlmMTNfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEyNwoJLy8gcmV0dXJuICduZWl0aGVyJzsKCWJ5dGUgMHg2ZTY1Njk3NDY4NjU3MiAvLyAibmVpdGhlciIKCXJldHN1YgoKKmlmMTNfZW5kOgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAic2luZ2xlSWYoYm9vbClzdHJpbmciCgltZXRob2QgImlmRWxzZShib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWZFbHNlKGJvb2wsYm9vbClzdHJpbmciCgltZXRob2QgImlmRWxzZUlmRWxzZUlmKGJvb2wsYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiaWZFbHNlSWZFbHNlSWZFbHNlKGJvb2wsYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAibmVzdGVkSWYoYm9vbCxib29sKXN0cmluZyIKCW1ldGhvZCAiYnJhY2tldGxlc3NJZkVsc2UoYm9vbClzdHJpbmciCgltZXRob2QgIm5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NCIKCW1ldGhvZCAic3RyaW5nSWYoc3RyaW5nKXVpbnQ2NCIKCW1ldGhvZCAic3RyaW5nVGVybmFyeShzdHJpbmcpdWludDY0IgoJbWV0aG9kICJzbWFsbFVpbnRDb25kaXRpb25hbCh1aW50MTYpdm9pZCIKCW1ldGhvZCAic21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZCIKCW1ldGhvZCAidWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZCIKCW1ldGhvZCAibmVzdGVkSWZJbkVsc2VJZihib29sLGJvb2wpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zaW5nbGVJZiAqYWJpX3JvdXRlX2lmRWxzZSAqYWJpX3JvdXRlX2lmRWxzZUlmICphYmlfcm91dGVfaWZFbHNlSWZFbHNlICphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWYgKmFiaV9yb3V0ZV9pZkVsc2VJZkVsc2VJZkVsc2UgKmFiaV9yb3V0ZV9uZXN0ZWRJZiAqYWJpX3JvdXRlX2JyYWNrZXRsZXNzSWZFbHNlICphYmlfcm91dGVfbmVzdGVkVGVybmFyeSAqYWJpX3JvdXRlX3N0cmluZ0lmICphYmlfcm91dGVfc3RyaW5nVGVybmFyeSAqYWJpX3JvdXRlX3NtYWxsVWludENvbmRpdGlvbmFsICphYmlfcm91dGVfc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsICphYmlfcm91dGVfdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCAqYWJpX3JvdXRlX25lc3RlZElmSW5FbHNlSWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ItxnsTest.approval.teal b/tests/contracts/artifacts/ItxnsTest.approval.teal
index bfb8245a5..5732681a8 100644
--- a/tests/contracts/artifacts/ItxnsTest.approval.teal
+++ b/tests/contracts/artifacts/ItxnsTest.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ItxnsTest.arc32.json b/tests/contracts/artifacts/ItxnsTest.arc32.json
index e5e7f5b8f..42964a36b 100644
--- a/tests/contracts/artifacts/ItxnsTest.arc32.json
+++ b/tests/contracts/artifacts/ItxnsTest.arc32.json
@@ -84,7 +84,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXltZW50KCl2b2lkCiphYmlfcm91dGVfcGF5bWVudDoKCS8vIGV4ZWN1dGUgcGF5bWVudCgpdm9pZAoJY2FsbHN1YiBwYXltZW50CglpbnQgMQoJcmV0dXJuCgovLyBwYXltZW50KCk6IHZvaWQKcGF5bWVudDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIGFtb3VudDogMTAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjbG9zZVJlbWFpbmRlclRvOiBnbG9iYWxzLnplcm9BZGRyZXNzLAoJLy8gICAgICAgc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcywKCS8vICAgICAgIG5vdGU6ICdIZWxsbyBXb3JsZCEnLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NwoJLy8gYW1vdW50OiAxMDAKCWludCAxMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OQoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMAoJLy8gc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMQoJLy8gcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIFJla2V5VG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMgoJLy8gbm90ZTogJ0hlbGxvIFdvcmxkIScKCWJ5dGUgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gYXNzZXRDcmVhdGlvbigpdWludDY0CiphYmlfcm91dGVfYXNzZXRDcmVhdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhc3NldENyZWF0aW9uKCl1aW50NjQKCWNhbGxzdWIgYXNzZXRDcmVhdGlvbgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFzc2V0Q3JlYXRpb24oKTogQXNzZXRJRAphc3NldENyZWF0aW9uOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTcKCS8vIHJldHVybiBzZW5kQXNzZXRDcmVhdGlvbih7CgkvLyAgICAgICBjb25maWdBc3NldE5hbWU6ICduYW1lJywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICd1bml0JywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VG90YWw6IDEsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0Q2xhd2JhY2s6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldERlZmF1bHRGcm96ZW46IDAsCgkvLyAgICAgICBjb25maWdBc3NldFVSTDogJ3VybCcsCgkvLyAgICAgICBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJywKCS8vICAgICB9KTsKCWl0eG5fYmVnaW4KCWludCBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTgKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnCglieXRlIDB4NmU2MTZkNjUgLy8gIm5hbWUiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0TmFtZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjE5CgkvLyBjb25maWdBc3NldFVuaXROYW1lOiAndW5pdCcKCWJ5dGUgMHg3NTZlNjk3NCAvLyAidW5pdCIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIwCgkvLyBjb25maWdBc3NldFRvdGFsOiAxCglpbnQgMQoJaXR4bl9maWVsZCBDb25maWdBc3NldFRvdGFsCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjUKCS8vIGNvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbjogMAoJaW50IDAKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXREZWZhdWx0RnJvemVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjYKCS8vIGNvbmZpZ0Fzc2V0VVJMOiAndXJsJwoJYnl0ZSAweDc1NzI2YyAvLyAidXJsIgoJaXR4bl9maWVsZCBDb25maWdBc3NldFVSTAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZSAweDYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjEgLy8gImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBDb25maWdBc3NldE1ldGFkYXRhSGFzaAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gYXBwQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FwcENhbGw6CgkvLyBleGVjdXRlIGFwcENhbGwoKXZvaWQKCWNhbGxzdWIgYXBwQ2FsbAoJaW50IDEKCXJldHVybgoKLy8gYXBwQ2FsbCgpOiB2b2lkCmFwcENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYWNjb3VudHM6IFt0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwLAoJLy8gICAgICAgYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiAnYXBwcm92YWwnLAoJLy8gICAgICAgYXNzZXRzOiBbQXNzZXRJRC56ZXJvSW5kZXhdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06ICdjbGVhcicsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiAxLAoJLy8gICAgICAgbG9jYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IDEsCgkvLyAgICAgICBub3RlOiAnbm90ZScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzMKCS8vIGFjY291bnRzOiBbdGhpcy5hcHAuYWRkcmVzc10KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFjY291bnRzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzQKCS8vIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXQoJYnl0ZSAweDYxNzI2NzMxIC8vICJhcmcxIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHg2MTcyNjczMiAvLyAiYXJnMiIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzUKCS8vIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozNgoJLy8gYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM3CgkvLyBhcHByb3ZhbFByb2dyYW06ICdhcHByb3ZhbCcKCWJ5dGUgMHg2MTcwNzA3MjZmNzY2MTZjIC8vICJhcHByb3ZhbCIKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzgKCS8vIGFzc2V0czogW0Fzc2V0SUQuemVyb0luZGV4XQoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzkKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiAnY2xlYXInCglieXRlIDB4NjM2YzY1NjE3MiAvLyAiY2xlYXIiCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogMQoJaW50IDEKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDEKCS8vIGdsb2JhbE51bVVpbnQ6IDEKCWludCAxCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo0MgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IDEKCWludCAxCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDMKCS8vIGxvY2FsTnVtVWludDogMQoJaW50IDEKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDQKCS8vIG5vdGU6ICdub3RlJwoJYnl0ZSAweDZlNmY3NDY1IC8vICJub3RlIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldENvbmZpZygpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0Q29uZmlnOgoJLy8gZXhlY3V0ZSBhc3NldENvbmZpZygpdm9pZAoJY2FsbHN1YiBhc3NldENvbmZpZwoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRDb25maWcoKTogdm9pZAphc3NldENvbmZpZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjQ5CgkvLyBzZW5kQXNzZXRDb25maWcoewoJLy8gICAgICAgY29uZmlnQXNzZXQ6IEFzc2V0SUQuemVyb0luZGV4LAoJLy8gICAgICAgY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRSZXNlcnZlOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRGcmVlemU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjUwCgkvLyBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludCAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldEZyZWV6ZSgpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJlZXplOgoJLy8gZXhlY3V0ZSBhc3NldEZyZWV6ZSgpdm9pZAoJY2FsbHN1YiBhc3NldEZyZWV6ZQoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRGcmVlemUoKTogdm9pZAphc3NldEZyZWV6ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU5CgkvLyBzZW5kQXNzZXRGcmVlemUoewoJLy8gICAgICAgZnJlZXplQXNzZXRGcm96ZW46IHRydWUsCgkvLyAgICAgICBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhZnJ6CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NjAKCS8vIGZyZWV6ZUFzc2V0RnJvemVuOiB0cnVlCglpbnQgMQoJaXR4bl9maWVsZCBGcmVlemVBc3NldEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYxCgkvLyBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0QWNjb3VudAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYyCgkvLyBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludCAwCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldFRyYW5zZmVyKCl2b2lkCiphYmlfcm91dGVfYXNzZXRUcmFuc2ZlcjoKCS8vIGV4ZWN1dGUgYXNzZXRUcmFuc2Zlcigpdm9pZAoJY2FsbHN1YiBhc3NldFRyYW5zZmVyCglpbnQgMQoJcmV0dXJuCgovLyBhc3NldFRyYW5zZmVyKCk6IHZvaWQKYXNzZXRUcmFuc2ZlcjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldEFtb3VudDogMSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY4CgkvLyBhc3NldEFtb3VudDogMQoJaW50IDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2OQoJLy8gYXNzZXRDbG9zZVRvOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldENsb3NlVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjcxCgkvLyBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MgoJLy8geGZlckFzc2V0OiBBc3NldElELnplcm9JbmRleAoJaW50IDAKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RDYWxsKCl1aW50NjQKKmFiaV9yb3V0ZV9tZXRob2RDYWxsOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1ldGhvZENhbGwoKXVpbnQ2NAoJY2FsbHN1YiBtZXRob2RDYWxsCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbWV0aG9kQ2FsbCgpOiBBc3NldElECm1ldGhvZENhbGw6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3NwoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPFtBcHBJRCwgQXNzZXRJRF0sIEFzc2V0SUQ+KHsKCS8vICAgICAgIG5hbWU6ICdtZXRob2QnLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJtZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjc5CgkvLyBtZXRob2RBcmdzOiBbdGhpcy5hcHAsIEFzc2V0SUQuemVyb0luZGV4XQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJcmV0c3ViCgovLyBvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoJY2FsbHN1YiBvbmxpbmVLZXlSZWdpc3RyYXRpb24KCWludCAxCglyZXR1cm4KCi8vIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9ubGluZUtleVJlZ2lzdHJhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg0CgkvLyBzZW5kT25saW5lS2V5UmVnaXN0cmF0aW9uKHsKCS8vICAgICAgIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgdm90ZUZpcnN0OiAxLAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiAxLAoJLy8gICAgICAgdm90ZUxhc3Q6IDEsCgkvLyAgICAgICB2b3RlUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBrZXlyZWcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NQoJLy8gc2VsZWN0aW9uUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScKCWJ5dGUgMHg2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxIC8vICJhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSIKCWl0eG5fZmllbGQgU2VsZWN0aW9uUEsKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NgoJLy8gc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlIDB4NjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MSAvLyAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFN0YXRlUHJvb2ZQSwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg3CgkvLyB2b3RlRmlyc3Q6IDEKCWludCAxCglpdHhuX2ZpZWxkIFZvdGVGaXJzdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg4CgkvLyB2b3RlS2V5RGlsdXRpb246IDEKCWludCAxCglpdHhuX2ZpZWxkIFZvdGVLZXlEaWx1dGlvbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg5CgkvLyB2b3RlTGFzdDogMQoJaW50IDEKCWl0eG5fZmllbGQgVm90ZUxhc3QKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo5MAoJLy8gdm90ZVBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlIDB4NjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MSAvLyAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFZvdGVQSwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gb2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoqYWJpX3JvdXRlX29mZmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKCWNhbGxzdWIgb2ZmbGluZUtleVJlZ2lzdHJhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gb2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9mZmxpbmVLZXlSZWdpc3RyYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo5NQoJLy8gc2VuZE9mZmxpbmVLZXlSZWdpc3RyYXRpb24oe30pCglpdHhuX2JlZ2luCglpbnQga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBpbm5lckdlbmVyaWMoKXZvaWQKKmFiaV9yb3V0ZV9pbm5lckdlbmVyaWM6CgkvLyBleGVjdXRlIGlubmVyR2VuZXJpYygpdm9pZAoJY2FsbHN1YiBpbm5lckdlbmVyaWMKCWludCAxCglyZXR1cm4KCi8vIGlubmVyR2VuZXJpYygpOiB2b2lkCmlubmVyR2VuZXJpYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjk5CgkvLyBzZW5kTWV0aG9kQ2FsbDxbSW5uZXJUeG48SW5uZXJBc3NldENyZWF0aW9uPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgY29uZmlnQXNzZXRUb3RhbDogMSB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IDEKCWludCAxCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZm9vKHR4bil2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIG1ldGhvZEFyZ3M6IFt7IGNvbmZpZ0Fzc2V0VG90YWw6IDEgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInBheW1lbnQoKXZvaWQiCgltZXRob2QgImFzc2V0Q3JlYXRpb24oKXVpbnQ2NCIKCW1ldGhvZCAiYXBwQ2FsbCgpdm9pZCIKCW1ldGhvZCAiYXNzZXRDb25maWcoKXZvaWQiCgltZXRob2QgImFzc2V0RnJlZXplKCl2b2lkIgoJbWV0aG9kICJhc3NldFRyYW5zZmVyKCl2b2lkIgoJbWV0aG9kICJtZXRob2RDYWxsKCl1aW50NjQiCgltZXRob2QgIm9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZCIKCW1ldGhvZCAib2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZCIKCW1ldGhvZCAiaW5uZXJHZW5lcmljKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wYXltZW50ICphYmlfcm91dGVfYXNzZXRDcmVhdGlvbiAqYWJpX3JvdXRlX2FwcENhbGwgKmFiaV9yb3V0ZV9hc3NldENvbmZpZyAqYWJpX3JvdXRlX2Fzc2V0RnJlZXplICphYmlfcm91dGVfYXNzZXRUcmFuc2ZlciAqYWJpX3JvdXRlX21ldGhvZENhbGwgKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb24gKmFiaV9yb3V0ZV9vZmZsaW5lS2V5UmVnaXN0cmF0aW9uICphYmlfcm91dGVfaW5uZXJHZW5lcmljCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXltZW50KCl2b2lkCiphYmlfcm91dGVfcGF5bWVudDoKCS8vIGV4ZWN1dGUgcGF5bWVudCgpdm9pZAoJY2FsbHN1YiBwYXltZW50CglpbnQgMQoJcmV0dXJuCgovLyBwYXltZW50KCk6IHZvaWQKcGF5bWVudDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIGFtb3VudDogMTAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjbG9zZVJlbWFpbmRlclRvOiBnbG9iYWxzLnplcm9BZGRyZXNzLAoJLy8gICAgICAgc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcywKCS8vICAgICAgIG5vdGU6ICdIZWxsbyBXb3JsZCEnLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NwoJLy8gYW1vdW50OiAxMDAKCWludCAxMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OQoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMAoJLy8gc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMQoJLy8gcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIFJla2V5VG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMgoJLy8gbm90ZTogJ0hlbGxvIFdvcmxkIScKCWJ5dGUgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gYXNzZXRDcmVhdGlvbigpdWludDY0CiphYmlfcm91dGVfYXNzZXRDcmVhdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhc3NldENyZWF0aW9uKCl1aW50NjQKCWNhbGxzdWIgYXNzZXRDcmVhdGlvbgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFzc2V0Q3JlYXRpb24oKTogQXNzZXRJRAphc3NldENyZWF0aW9uOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTcKCS8vIHJldHVybiBzZW5kQXNzZXRDcmVhdGlvbih7CgkvLyAgICAgICBjb25maWdBc3NldE5hbWU6ICduYW1lJywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICd1bml0JywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VG90YWw6IDEsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0Q2xhd2JhY2s6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldERlZmF1bHRGcm96ZW46IDAsCgkvLyAgICAgICBjb25maWdBc3NldFVSTDogJ3VybCcsCgkvLyAgICAgICBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJywKCS8vICAgICB9KTsKCWl0eG5fYmVnaW4KCWludCBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTgKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnCglieXRlIDB4NmU2MTZkNjUgLy8gIm5hbWUiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0TmFtZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjE5CgkvLyBjb25maWdBc3NldFVuaXROYW1lOiAndW5pdCcKCWJ5dGUgMHg3NTZlNjk3NCAvLyAidW5pdCIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIwCgkvLyBjb25maWdBc3NldFRvdGFsOiAxCglpbnQgMQoJaXR4bl9maWVsZCBDb25maWdBc3NldFRvdGFsCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjUKCS8vIGNvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbjogMAoJaW50IDAKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXREZWZhdWx0RnJvemVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjYKCS8vIGNvbmZpZ0Fzc2V0VVJMOiAndXJsJwoJYnl0ZSAweDc1NzI2YyAvLyAidXJsIgoJaXR4bl9maWVsZCBDb25maWdBc3NldFVSTAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZSAweDYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjEgLy8gImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBDb25maWdBc3NldE1ldGFkYXRhSGFzaAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gYXBwQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FwcENhbGw6CgkvLyBleGVjdXRlIGFwcENhbGwoKXZvaWQKCWNhbGxzdWIgYXBwQ2FsbAoJaW50IDEKCXJldHVybgoKLy8gYXBwQ2FsbCgpOiB2b2lkCmFwcENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYWNjb3VudHM6IFt0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwLAoJLy8gICAgICAgYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiAnYXBwcm92YWwnLAoJLy8gICAgICAgYXNzZXRzOiBbQXNzZXRJRC56ZXJvSW5kZXhdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06ICdjbGVhcicsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiAxLAoJLy8gICAgICAgbG9jYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IDEsCgkvLyAgICAgICBub3RlOiAnbm90ZScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzMKCS8vIGFjY291bnRzOiBbdGhpcy5hcHAuYWRkcmVzc10KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFjY291bnRzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzQKCS8vIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXQoJYnl0ZSAweDYxNzI2NzMxIC8vICJhcmcxIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHg2MTcyNjczMiAvLyAiYXJnMiIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzUKCS8vIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozNgoJLy8gYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM3CgkvLyBhcHByb3ZhbFByb2dyYW06ICdhcHByb3ZhbCcKCWJ5dGUgMHg2MTcwNzA3MjZmNzY2MTZjIC8vICJhcHByb3ZhbCIKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzgKCS8vIGFzc2V0czogW0Fzc2V0SUQuemVyb0luZGV4XQoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzkKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiAnY2xlYXInCglieXRlIDB4NjM2YzY1NjE3MiAvLyAiY2xlYXIiCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogMQoJaW50IDEKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDEKCS8vIGdsb2JhbE51bVVpbnQ6IDEKCWludCAxCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo0MgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IDEKCWludCAxCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDMKCS8vIGxvY2FsTnVtVWludDogMQoJaW50IDEKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDQKCS8vIG5vdGU6ICdub3RlJwoJYnl0ZSAweDZlNmY3NDY1IC8vICJub3RlIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldENvbmZpZygpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0Q29uZmlnOgoJLy8gZXhlY3V0ZSBhc3NldENvbmZpZygpdm9pZAoJY2FsbHN1YiBhc3NldENvbmZpZwoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRDb25maWcoKTogdm9pZAphc3NldENvbmZpZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjQ5CgkvLyBzZW5kQXNzZXRDb25maWcoewoJLy8gICAgICAgY29uZmlnQXNzZXQ6IEFzc2V0SUQuemVyb0luZGV4LAoJLy8gICAgICAgY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRSZXNlcnZlOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRGcmVlemU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjUwCgkvLyBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludCAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldEZyZWV6ZSgpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJlZXplOgoJLy8gZXhlY3V0ZSBhc3NldEZyZWV6ZSgpdm9pZAoJY2FsbHN1YiBhc3NldEZyZWV6ZQoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRGcmVlemUoKTogdm9pZAphc3NldEZyZWV6ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU5CgkvLyBzZW5kQXNzZXRGcmVlemUoewoJLy8gICAgICAgZnJlZXplQXNzZXRGcm96ZW46IHRydWUsCgkvLyAgICAgICBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhZnJ6CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NjAKCS8vIGZyZWV6ZUFzc2V0RnJvemVuOiB0cnVlCglpbnQgMQoJaXR4bl9maWVsZCBGcmVlemVBc3NldEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYxCgkvLyBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0QWNjb3VudAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYyCgkvLyBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludCAwCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldFRyYW5zZmVyKCl2b2lkCiphYmlfcm91dGVfYXNzZXRUcmFuc2ZlcjoKCS8vIGV4ZWN1dGUgYXNzZXRUcmFuc2Zlcigpdm9pZAoJY2FsbHN1YiBhc3NldFRyYW5zZmVyCglpbnQgMQoJcmV0dXJuCgovLyBhc3NldFRyYW5zZmVyKCk6IHZvaWQKYXNzZXRUcmFuc2ZlcjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldEFtb3VudDogMSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY4CgkvLyBhc3NldEFtb3VudDogMQoJaW50IDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2OQoJLy8gYXNzZXRDbG9zZVRvOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldENsb3NlVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjcxCgkvLyBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MgoJLy8geGZlckFzc2V0OiBBc3NldElELnplcm9JbmRleAoJaW50IDAKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RDYWxsKCl1aW50NjQKKmFiaV9yb3V0ZV9tZXRob2RDYWxsOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1ldGhvZENhbGwoKXVpbnQ2NAoJY2FsbHN1YiBtZXRob2RDYWxsCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbWV0aG9kQ2FsbCgpOiBBc3NldElECm1ldGhvZENhbGw6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3NwoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPFtBcHBJRCwgQXNzZXRJRF0sIEFzc2V0SUQ+KHsKCS8vICAgICAgIG5hbWU6ICdtZXRob2QnLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJtZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjc5CgkvLyBtZXRob2RBcmdzOiBbdGhpcy5hcHAsIEFzc2V0SUQuemVyb0luZGV4XQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJcmV0c3ViCgovLyBvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoJY2FsbHN1YiBvbmxpbmVLZXlSZWdpc3RyYXRpb24KCWludCAxCglyZXR1cm4KCi8vIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9ubGluZUtleVJlZ2lzdHJhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg0CgkvLyBzZW5kT25saW5lS2V5UmVnaXN0cmF0aW9uKHsKCS8vICAgICAgIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgdm90ZUZpcnN0OiAxLAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiAxLAoJLy8gICAgICAgdm90ZUxhc3Q6IDEsCgkvLyAgICAgICB2b3RlUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBrZXlyZWcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NQoJLy8gc2VsZWN0aW9uUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScKCWJ5dGUgMHg2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxIC8vICJhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSIKCWl0eG5fZmllbGQgU2VsZWN0aW9uUEsKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NgoJLy8gc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlIDB4NjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MSAvLyAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFN0YXRlUHJvb2ZQSwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg3CgkvLyB2b3RlRmlyc3Q6IDEKCWludCAxCglpdHhuX2ZpZWxkIFZvdGVGaXJzdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg4CgkvLyB2b3RlS2V5RGlsdXRpb246IDEKCWludCAxCglpdHhuX2ZpZWxkIFZvdGVLZXlEaWx1dGlvbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg5CgkvLyB2b3RlTGFzdDogMQoJaW50IDEKCWl0eG5fZmllbGQgVm90ZUxhc3QKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo5MAoJLy8gdm90ZVBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlIDB4NjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MSAvLyAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFZvdGVQSwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gb2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoqYWJpX3JvdXRlX29mZmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKCWNhbGxzdWIgb2ZmbGluZUtleVJlZ2lzdHJhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gb2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9mZmxpbmVLZXlSZWdpc3RyYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo5NQoJLy8gc2VuZE9mZmxpbmVLZXlSZWdpc3RyYXRpb24oe30pCglpdHhuX2JlZ2luCglpbnQga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBpbm5lckdlbmVyaWMoKXZvaWQKKmFiaV9yb3V0ZV9pbm5lckdlbmVyaWM6CgkvLyBleGVjdXRlIGlubmVyR2VuZXJpYygpdm9pZAoJY2FsbHN1YiBpbm5lckdlbmVyaWMKCWludCAxCglyZXR1cm4KCi8vIGlubmVyR2VuZXJpYygpOiB2b2lkCmlubmVyR2VuZXJpYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjk5CgkvLyBzZW5kTWV0aG9kQ2FsbDxbSW5uZXJUeG48SW5uZXJBc3NldENyZWF0aW9uPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgY29uZmlnQXNzZXRUb3RhbDogMSB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IDEKCWludCAxCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZm9vKHR4bil2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIG1ldGhvZEFyZ3M6IFt7IGNvbmZpZ0Fzc2V0VG90YWw6IDEgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInBheW1lbnQoKXZvaWQiCgltZXRob2QgImFzc2V0Q3JlYXRpb24oKXVpbnQ2NCIKCW1ldGhvZCAiYXBwQ2FsbCgpdm9pZCIKCW1ldGhvZCAiYXNzZXRDb25maWcoKXZvaWQiCgltZXRob2QgImFzc2V0RnJlZXplKCl2b2lkIgoJbWV0aG9kICJhc3NldFRyYW5zZmVyKCl2b2lkIgoJbWV0aG9kICJtZXRob2RDYWxsKCl1aW50NjQiCgltZXRob2QgIm9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZCIKCW1ldGhvZCAib2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZCIKCW1ldGhvZCAiaW5uZXJHZW5lcmljKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wYXltZW50ICphYmlfcm91dGVfYXNzZXRDcmVhdGlvbiAqYWJpX3JvdXRlX2FwcENhbGwgKmFiaV9yb3V0ZV9hc3NldENvbmZpZyAqYWJpX3JvdXRlX2Fzc2V0RnJlZXplICphYmlfcm91dGVfYXNzZXRUcmFuc2ZlciAqYWJpX3JvdXRlX21ldGhvZENhbGwgKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb24gKmFiaV9yb3V0ZV9vZmZsaW5lS2V5UmVnaXN0cmF0aW9uICphYmlfcm91dGVfaW5uZXJHZW5lcmljCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/ItxnsTest.arc56_draft.json b/tests/contracts/artifacts/ItxnsTest.arc56_draft.json
index 7c08a8ddf..4d8143f41 100644
--- a/tests/contracts/artifacts/ItxnsTest.arc56_draft.json
+++ b/tests/contracts/artifacts/ItxnsTest.arc56_draft.json
@@ -177,2249 +177,2252 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 4,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 13,
- "source": 4,
- "pc": [
- 48,
- 49
- ]
- },
- {
- "teal": 14,
- "source": 4,
- "pc": [
- 50
- ]
- },
- {
- "teal": 15,
- "source": 4,
- "pc": [
- 51
- ]
- },
- {
- "teal": 16,
- "source": 4,
- "pc": [
- 52
- ]
- },
- {
- "teal": 17,
- "source": 4,
- "pc": [
- 53,
- 54
- ]
- },
- {
- "teal": 18,
- "source": 4,
- "pc": [
- 55
- ]
- },
- {
- "teal": 19,
- "source": 4,
- "pc": [
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81
- ]
- },
- {
- "teal": 23,
- "source": 4,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 82
- ]
- },
- {
- "teal": 28,
- "source": 5,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 29,
- "source": 5,
- "pc": [
- 86
- ]
- },
- {
- "teal": 30,
- "source": 5,
- "pc": [
- 87
- ]
- },
- {
- "teal": 34,
- "source": 5,
- "pc": [
- 88,
- 89,
- 90
- ]
- },
- {
- "teal": 45,
- "source": 6,
- "pc": [
- 91
- ]
- },
- {
- "teal": 46,
- "source": 6,
- "pc": [
- 92
- ]
- },
- {
- "teal": 47,
- "source": 6,
- "pc": [
- 93,
- 94
- ]
- },
- {
- "teal": 51,
- "source": 7,
- "pc": [
- 95,
- 96
- ]
- },
- {
- "teal": 52,
- "source": 7,
- "pc": [
- 97,
- 98
- ]
- },
- {
- "teal": 56,
- "source": 8,
- "pc": [
- 99,
- 100
- ]
- },
- {
- "teal": 57,
- "source": 8,
- "pc": [
- 101,
- 102
- ]
- },
- {
- "teal": 61,
- "source": 9,
- "pc": [
- 103,
- 104
- ]
- },
- {
- "teal": 62,
- "source": 9,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 66,
- "source": 10,
- "pc": [
- 107,
- 108
- ]
- },
- {
- "teal": 67,
- "source": 10,
- "pc": [
- 109,
- 110
- ]
- },
- {
- "teal": 71,
- "source": 11,
- "pc": [
- 111,
- 112
- ]
- },
- {
- "teal": 72,
- "source": 11,
- "pc": [
- 113,
- 114
- ]
- },
- {
- "teal": 76,
- "source": 12,
- "pc": [
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128
- ]
- },
- {
- "teal": 77,
- "source": 12,
- "pc": [
- 129,
- 130
- ]
- },
- {
- "teal": 80,
- "source": 6,
- "pc": [
- 131
- ]
- },
- {
- "teal": 81,
- "source": 6,
- "pc": [
- 132,
- 133
- ]
- },
- {
- "teal": 84,
- "source": 6,
- "pc": [
- 134
- ]
- },
- {
- "teal": 85,
- "source": 5,
- "pc": [
- 135
- ]
- },
- {
- "teal": 90,
- "source": 16,
- "pc": [
- 136
- ]
- },
- {
- "teal": 93,
- "source": 16,
- "pc": [
- 137,
- 138,
- 139
- ]
- },
- {
- "teal": 94,
- "source": 16,
- "pc": [
- 140
- ]
- },
- {
- "teal": 95,
- "source": 16,
- "pc": [
- 141
- ]
- },
- {
- "teal": 96,
- "source": 16,
- "pc": [
- 142
- ]
- },
- {
- "teal": 97,
- "source": 16,
- "pc": [
- 143
- ]
- },
- {
- "teal": 98,
- "source": 16,
- "pc": [
- 144
- ]
- },
- {
- "teal": 102,
- "source": 16,
- "pc": [
- 145,
- 146,
- 147
- ]
- },
- {
- "teal": 117,
- "source": 17,
- "pc": [
- 148
- ]
- },
- {
- "teal": 118,
- "source": 17,
- "pc": [
- 149
- ]
- },
- {
- "teal": 119,
- "source": 17,
- "pc": [
- 150,
- 151
- ]
- },
- {
- "teal": 123,
- "source": 18,
- "pc": [
- 152,
- 153,
- 154,
- 155,
- 156,
- 157
- ]
- },
- {
- "teal": 124,
- "source": 18,
- "pc": [
- 158,
- 159
- ]
- },
- {
- "teal": 128,
- "source": 19,
- "pc": [
- 160,
- 161,
- 162,
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 129,
- "source": 19,
- "pc": [
- 166,
- 167
- ]
- },
- {
- "teal": 133,
- "source": 20,
- "pc": [
- 168
- ]
- },
- {
- "teal": 134,
- "source": 20,
- "pc": [
- 169,
- 170
- ]
- },
- {
- "teal": 138,
- "source": 21,
- "pc": [
- 171,
- 172
- ]
- },
- {
- "teal": 139,
- "source": 21,
- "pc": [
- 173,
- 174
- ]
- },
- {
- "teal": 143,
- "source": 22,
- "pc": [
- 175,
- 176
- ]
- },
- {
- "teal": 144,
- "source": 22,
- "pc": [
- 177,
- 178
- ]
- },
- {
- "teal": 148,
- "source": 23,
- "pc": [
- 179,
- 180
- ]
- },
- {
- "teal": 149,
- "source": 23,
- "pc": [
- 181,
- 182
- ]
- },
- {
- "teal": 153,
- "source": 24,
- "pc": [
- 183,
- 184
- ]
- },
- {
- "teal": 154,
- "source": 24,
- "pc": [
- 185,
- 186
- ]
- },
- {
- "teal": 158,
- "source": 25,
- "pc": [
- 187
- ]
- },
- {
- "teal": 159,
- "source": 25,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 163,
- "source": 26,
- "pc": [
- 190,
- 191,
- 192,
- 193,
- 194
- ]
- },
- {
- "teal": 164,
- "source": 26,
- "pc": [
- 195,
- 196
- ]
- },
- {
- "teal": 168,
- "source": 27,
- "pc": [
- 197
- ]
- },
- {
- "teal": 169,
- "source": 27,
- "pc": [
- 198,
- 199
- ]
- },
- {
- "teal": 172,
- "source": 17,
- "pc": [
- 200
- ]
- },
- {
- "teal": 173,
- "source": 17,
- "pc": [
- 201,
- 202
- ]
- },
- {
- "teal": 176,
- "source": 17,
- "pc": [
- 203
- ]
- },
- {
- "teal": 177,
- "source": 17,
- "pc": [
- 204,
- 205
- ]
- },
- {
- "teal": 178,
- "source": 16,
- "pc": [
- 206
- ]
- },
- {
- "teal": 183,
- "source": 31,
- "pc": [
- 207,
- 208,
- 209
- ]
- },
- {
- "teal": 184,
- "source": 31,
- "pc": [
- 210
- ]
- },
- {
- "teal": 185,
- "source": 31,
- "pc": [
- 211
- ]
- },
- {
- "teal": 189,
- "source": 31,
- "pc": [
- 212,
- 213,
- 214
- ]
- },
- {
- "teal": 206,
- "source": 32,
- "pc": [
- 215
- ]
- },
- {
- "teal": 207,
- "source": 32,
- "pc": [
- 216
- ]
- },
- {
- "teal": 208,
- "source": 32,
- "pc": [
- 217,
- 218
- ]
- },
- {
- "teal": 212,
- "source": 33,
- "pc": [
- 219,
- 220
- ]
- },
- {
- "teal": 213,
- "source": 33,
- "pc": [
- 221,
- 222
- ]
- },
- {
- "teal": 217,
- "source": 34,
- "pc": [
- 223,
- 224,
- 225,
- 226,
- 227,
- 228
- ]
- },
- {
- "teal": 218,
- "source": 34,
- "pc": [
- 229,
- 230
- ]
- },
- {
- "teal": 219,
- "source": 34,
- "pc": [
- 231,
- 232,
- 233,
- 234,
- 235,
- 236
- ]
- },
- {
- "teal": 220,
- "source": 34,
- "pc": [
- 237,
- 238
- ]
- },
- {
- "teal": 224,
- "source": 35,
- "pc": [
- 239,
- 240,
- 241
- ]
- },
- {
- "teal": 225,
- "source": 35,
- "pc": [
- 242,
- 243
- ]
- },
- {
- "teal": 229,
- "source": 36,
- "pc": [
- 244,
- 245,
- 246
- ]
- },
- {
- "teal": 230,
- "source": 36,
- "pc": [
- 247,
- 248
- ]
- },
- {
- "teal": 234,
- "source": 37,
- "pc": [
- 249,
- 250,
- 251,
- 252,
- 253,
- 254,
- 255,
- 256,
- 257,
- 258
- ]
- },
- {
- "teal": 235,
- "source": 37,
- "pc": [
- 259,
- 260
- ]
- },
- {
- "teal": 239,
- "source": 38,
- "pc": [
- 261
- ]
- },
- {
- "teal": 240,
- "source": 38,
- "pc": [
- 262,
- 263
- ]
- },
- {
- "teal": 244,
- "source": 39,
- "pc": [
- 264,
- 265,
- 266,
- 267,
- 268,
- 269,
- 270
- ]
- },
- {
- "teal": 245,
- "source": 39,
- "pc": [
- 271,
- 272
- ]
- },
- {
- "teal": 249,
- "source": 40,
- "pc": [
- 273
- ]
- },
- {
- "teal": 250,
- "source": 40,
- "pc": [
- 274,
- 275
- ]
- },
- {
- "teal": 254,
- "source": 41,
- "pc": [
- 276
- ]
- },
- {
- "teal": 255,
- "source": 41,
- "pc": [
- 277,
- 278
- ]
- },
- {
- "teal": 259,
- "source": 42,
- "pc": [
- 279
- ]
- },
- {
- "teal": 260,
- "source": 42,
- "pc": [
- 280,
- 281
- ]
- },
- {
- "teal": 264,
- "source": 43,
- "pc": [
- 282
- ]
- },
- {
- "teal": 265,
- "source": 43,
- "pc": [
- 283,
- 284
- ]
- },
- {
- "teal": 269,
- "source": 44,
- "pc": [
- 285,
- 286,
- 287,
- 288,
- 289,
- 290
- ]
- },
- {
- "teal": 270,
- "source": 44,
- "pc": [
- 291,
- 292
- ]
- },
- {
- "teal": 273,
- "source": 32,
- "pc": [
- 293
- ]
- },
- {
- "teal": 274,
- "source": 32,
- "pc": [
- 294,
- 295
- ]
- },
- {
- "teal": 277,
- "source": 32,
- "pc": [
- 296
- ]
- },
- {
- "teal": 278,
- "source": 31,
- "pc": [
- 297
- ]
- },
- {
- "teal": 283,
- "source": 48,
- "pc": [
- 298,
- 299,
- 300
- ]
- },
- {
- "teal": 284,
- "source": 48,
- "pc": [
- 301
- ]
- },
- {
- "teal": 285,
- "source": 48,
- "pc": [
- 302
- ]
- },
- {
- "teal": 289,
- "source": 48,
- "pc": [
- 303,
- 304,
- 305
- ]
- },
- {
- "teal": 299,
- "source": 49,
- "pc": [
- 306
- ]
- },
- {
- "teal": 300,
- "source": 49,
- "pc": [
- 307
- ]
- },
- {
- "teal": 301,
- "source": 49,
- "pc": [
- 308,
- 309
- ]
- },
- {
- "teal": 305,
- "source": 50,
- "pc": [
- 310
- ]
- },
- {
- "teal": 306,
- "source": 50,
- "pc": [
- 311,
- 312
- ]
- },
- {
- "teal": 310,
- "source": 51,
- "pc": [
- 313,
- 314
- ]
- },
- {
- "teal": 311,
- "source": 51,
- "pc": [
- 315,
- 316
- ]
- },
- {
- "teal": 315,
- "source": 52,
- "pc": [
- 317,
- 318
- ]
- },
- {
- "teal": 316,
- "source": 52,
- "pc": [
- 319,
- 320
- ]
- },
- {
- "teal": 320,
- "source": 53,
- "pc": [
- 321,
- 322
- ]
- },
- {
- "teal": 321,
- "source": 53,
- "pc": [
- 323,
- 324
- ]
- },
- {
- "teal": 325,
- "source": 54,
- "pc": [
- 325,
- 326
- ]
- },
- {
- "teal": 326,
- "source": 54,
- "pc": [
- 327,
- 328
- ]
- },
- {
- "teal": 329,
- "source": 49,
- "pc": [
- 329
- ]
- },
- {
- "teal": 330,
- "source": 49,
- "pc": [
- 330,
- 331
- ]
- },
- {
- "teal": 333,
- "source": 49,
- "pc": [
- 332
- ]
- },
- {
- "teal": 334,
- "source": 48,
- "pc": [
- 333
- ]
- },
- {
- "teal": 339,
- "source": 58,
- "pc": [
- 334,
- 335,
- 336
- ]
- },
- {
- "teal": 340,
- "source": 58,
- "pc": [
- 337
- ]
- },
- {
- "teal": 341,
- "source": 58,
- "pc": [
- 338
- ]
- },
- {
- "teal": 345,
- "source": 58,
- "pc": [
- 339,
- 340,
- 341
- ]
- },
- {
- "teal": 353,
- "source": 59,
- "pc": [
- 342
- ]
- },
- {
- "teal": 354,
- "source": 59,
- "pc": [
- 343,
- 344
- ]
- },
- {
- "teal": 355,
- "source": 59,
- "pc": [
- 345,
- 346
- ]
- },
- {
- "teal": 359,
- "source": 60,
- "pc": [
- 347
- ]
- },
- {
- "teal": 360,
- "source": 60,
- "pc": [
- 348,
- 349
- ]
- },
- {
- "teal": 364,
- "source": 61,
- "pc": [
- 350,
- 351
- ]
- },
- {
- "teal": 365,
- "source": 61,
- "pc": [
- 352,
- 353
- ]
- },
- {
- "teal": 369,
- "source": 62,
- "pc": [
- 354
- ]
- },
- {
- "teal": 370,
- "source": 62,
- "pc": [
- 355,
- 356
- ]
- },
- {
- "teal": 373,
- "source": 59,
- "pc": [
- 357
- ]
- },
- {
- "teal": 374,
- "source": 59,
- "pc": [
- 358,
- 359
- ]
- },
- {
- "teal": 377,
- "source": 59,
- "pc": [
- 360
- ]
- },
- {
- "teal": 378,
- "source": 58,
- "pc": [
- 361
- ]
- },
- {
- "teal": 383,
- "source": 66,
- "pc": [
- 362,
- 363,
- 364
- ]
- },
- {
- "teal": 384,
- "source": 66,
- "pc": [
- 365
- ]
- },
- {
- "teal": 385,
- "source": 66,
- "pc": [
- 366
- ]
- },
- {
- "teal": 389,
- "source": 66,
- "pc": [
- 367,
- 368,
- 369
- ]
- },
- {
- "teal": 399,
- "source": 67,
- "pc": [
- 370
- ]
- },
- {
- "teal": 400,
- "source": 67,
- "pc": [
- 371,
- 372
- ]
- },
- {
- "teal": 401,
- "source": 67,
- "pc": [
- 373,
- 374
- ]
- },
- {
- "teal": 405,
- "source": 68,
- "pc": [
- 375
- ]
- },
- {
- "teal": 406,
- "source": 68,
- "pc": [
- 376,
- 377
- ]
- },
- {
- "teal": 410,
- "source": 69,
- "pc": [
- 378,
- 379
- ]
- },
- {
- "teal": 411,
- "source": 69,
- "pc": [
- 380,
- 381
- ]
- },
- {
- "teal": 415,
- "source": 70,
- "pc": [
- 382,
- 383
- ]
- },
- {
- "teal": 416,
- "source": 70,
- "pc": [
- 384,
- 385
- ]
- },
- {
- "teal": 420,
- "source": 71,
- "pc": [
- 386,
- 387
- ]
- },
- {
- "teal": 421,
- "source": 71,
- "pc": [
- 388,
- 389
- ]
- },
- {
- "teal": 425,
- "source": 72,
- "pc": [
- 390
- ]
- },
- {
- "teal": 426,
- "source": 72,
- "pc": [
- 391,
- 392
- ]
- },
- {
- "teal": 429,
- "source": 67,
- "pc": [
- 393
- ]
- },
- {
- "teal": 430,
- "source": 67,
- "pc": [
- 394,
- 395
- ]
- },
- {
- "teal": 433,
- "source": 67,
- "pc": [
- 396
- ]
- },
- {
- "teal": 434,
- "source": 66,
- "pc": [
- 397
- ]
- },
- {
- "teal": 439,
- "source": 76,
- "pc": [
- 398
- ]
- },
- {
- "teal": 442,
- "source": 76,
- "pc": [
- 399,
- 400,
- 401
- ]
- },
- {
- "teal": 443,
- "source": 76,
- "pc": [
- 402
- ]
- },
- {
- "teal": 444,
- "source": 76,
- "pc": [
- 403
- ]
- },
- {
- "teal": 445,
- "source": 76,
- "pc": [
- 404
- ]
- },
- {
- "teal": 446,
- "source": 76,
- "pc": [
- 405
- ]
- },
- {
- "teal": 447,
- "source": 76,
- "pc": [
- 406
- ]
- },
- {
- "teal": 451,
- "source": 76,
- "pc": [
- 407,
- 408,
- 409
- ]
- },
- {
- "teal": 458,
- "source": 77,
- "pc": [
- 410
- ]
- },
- {
- "teal": 459,
- "source": 77,
- "pc": [
- 411
- ]
- },
- {
- "teal": 460,
- "source": 77,
- "pc": [
- 412,
- 413
- ]
- },
- {
- "teal": 461,
- "source": 78,
- "pc": [
- 414,
- 415,
- 416,
- 417,
- 418,
- 419
- ]
- },
- {
- "teal": 462,
- "source": 78,
- "pc": [
- 420,
- 421
- ]
- },
- {
- "teal": 466,
- "source": 79,
- "pc": [
- 422,
- 423,
- 424
- ]
- },
- {
- "teal": 467,
- "source": 79,
- "pc": [
- 425
- ]
- },
- {
- "teal": 468,
- "source": 79,
- "pc": [
- 426,
- 427
- ]
- },
- {
- "teal": 469,
- "source": 79,
- "pc": [
- 428,
- 429,
- 430,
- 431,
- 432,
- 433,
- 434,
- 435,
- 436,
- 437
- ]
- },
- {
- "teal": 470,
- "source": 79,
- "pc": [
- 438,
- 439
- ]
- },
- {
- "teal": 473,
- "source": 77,
- "pc": [
- 440
- ]
- },
- {
- "teal": 474,
- "source": 77,
- "pc": [
- 441,
- 442
- ]
- },
- {
- "teal": 477,
- "source": 77,
- "pc": [
- 443
- ]
- },
- {
- "teal": 478,
- "source": 77,
- "pc": [
- 444,
- 445
- ]
- },
- {
- "teal": 479,
- "source": 77,
- "pc": [
- 446
- ]
- },
- {
- "teal": 480,
- "source": 77,
- "pc": [
- 447
- ]
- },
- {
- "teal": 481,
- "source": 77,
- "pc": [
- 448,
- 449
- ]
- },
- {
- "teal": 482,
- "source": 77,
- "pc": [
- 450,
- 451,
- 452
- ]
- },
- {
- "teal": 483,
- "source": 77,
- "pc": [
- 453
- ]
- },
- {
- "teal": 484,
- "source": 76,
- "pc": [
- 454
- ]
- },
- {
- "teal": 489,
- "source": 83,
- "pc": [
- 455,
- 456,
- 457
- ]
- },
- {
- "teal": 490,
- "source": 83,
- "pc": [
- 458
- ]
- },
- {
- "teal": 491,
- "source": 83,
- "pc": [
- 459
- ]
- },
- {
- "teal": 495,
- "source": 83,
- "pc": [
- 460,
- 461,
- 462
- ]
- },
- {
- "teal": 506,
- "source": 84,
- "pc": [
- 463
- ]
- },
- {
- "teal": 507,
- "source": 84,
- "pc": [
- 464,
- 465
- ]
- },
- {
- "teal": 508,
- "source": 84,
- "pc": [
- 466,
- 467
- ]
- },
- {
- "teal": 512,
- "source": 85,
- "pc": [
- 468
- ]
- },
- {
- "teal": 513,
- "source": 85,
- "pc": [
- 469,
- 470
- ]
- },
- {
- "teal": 517,
- "source": 86,
- "pc": [
- 471
- ]
- },
- {
- "teal": 518,
- "source": 86,
- "pc": [
- 472,
- 473
- ]
- },
- {
- "teal": 522,
- "source": 87,
- "pc": [
- 474
- ]
- },
- {
- "teal": 523,
- "source": 87,
- "pc": [
- 475,
- 476
- ]
- },
- {
- "teal": 527,
- "source": 88,
- "pc": [
- 477
- ]
- },
- {
- "teal": 528,
- "source": 88,
- "pc": [
- 478,
- 479
- ]
- },
- {
- "teal": 532,
- "source": 89,
- "pc": [
- 480
- ]
- },
- {
- "teal": 533,
- "source": 89,
- "pc": [
- 481,
- 482
- ]
- },
- {
- "teal": 537,
- "source": 90,
- "pc": [
- 483
- ]
- },
- {
- "teal": 538,
- "source": 90,
- "pc": [
- 484,
- 485
- ]
- },
- {
- "teal": 541,
- "source": 84,
- "pc": [
- 486
- ]
- },
- {
- "teal": 542,
- "source": 84,
- "pc": [
- 487,
- 488
- ]
- },
- {
- "teal": 545,
- "source": 84,
- "pc": [
- 489
- ]
- },
- {
- "teal": 546,
- "source": 83,
- "pc": [
- 490
- ]
- },
- {
- "teal": 551,
- "source": 94,
- "pc": [
- 491,
- 492,
- 493
- ]
- },
- {
- "teal": 552,
- "source": 94,
- "pc": [
- 494
- ]
- },
- {
- "teal": 553,
- "source": 94,
- "pc": [
- 495
- ]
- },
- {
- "teal": 557,
- "source": 94,
- "pc": [
- 496,
- 497,
- 498
- ]
- },
- {
- "teal": 561,
- "source": 95,
- "pc": [
- 499
- ]
- },
- {
- "teal": 562,
- "source": 95,
- "pc": [
- 500,
- 501
- ]
- },
- {
- "teal": 563,
- "source": 95,
- "pc": [
- 502,
- 503
- ]
- },
- {
- "teal": 566,
- "source": 95,
- "pc": [
- 504
- ]
- },
- {
- "teal": 567,
- "source": 95,
- "pc": [
- 505,
- 506
- ]
- },
- {
- "teal": 570,
- "source": 95,
- "pc": [
- 507
- ]
- },
- {
- "teal": 571,
- "source": 94,
- "pc": [
- 508
- ]
- },
- {
- "teal": 576,
- "source": 98,
- "pc": [
- 509,
- 510,
- 511
- ]
- },
- {
- "teal": 577,
- "source": 98,
- "pc": [
- 512
- ]
- },
- {
- "teal": 578,
- "source": 98,
- "pc": [
- 513
- ]
- },
- {
- "teal": 582,
- "source": 98,
- "pc": [
- 514,
- 515,
- 516
- ]
- },
- {
- "teal": 589,
- "source": 101,
- "pc": [
- 517
- ]
- },
- {
- "teal": 590,
- "source": 101,
- "pc": [
- 518
- ]
- },
- {
- "teal": 591,
- "source": 101,
- "pc": [
- 519,
- 520
- ]
- },
- {
- "teal": 595,
- "source": 101,
- "pc": [
- 521
- ]
- },
- {
- "teal": 596,
- "source": 101,
- "pc": [
- 522,
- 523
- ]
- },
- {
- "teal": 599,
- "source": 101,
- "pc": [
- 524
- ]
- },
- {
- "teal": 600,
- "source": 101,
- "pc": [
- 525,
- 526
- ]
- },
- {
- "teal": 601,
- "source": 99,
- "pc": [
- 527
- ]
- },
- {
- "teal": 602,
- "source": 99,
- "pc": [
- 528
- ]
- },
- {
- "teal": 603,
- "source": 99,
- "pc": [
- 529,
- 530
- ]
- },
- {
- "teal": 604,
- "source": 100,
- "pc": [
- 531,
- 532,
- 533,
- 534,
- 535,
- 536
- ]
- },
- {
- "teal": 605,
- "source": 100,
- "pc": [
- 537,
- 538
- ]
- },
- {
- "teal": 610,
- "source": 99,
- "pc": [
- 539
- ]
- },
- {
- "teal": 611,
- "source": 99,
- "pc": [
- 540,
- 541
- ]
- },
- {
- "teal": 614,
- "source": 99,
- "pc": [
- 542
- ]
- },
- {
- "teal": 615,
- "source": 98,
- "pc": [
- 543
- ]
- },
- {
- "teal": 618,
- "source": 4,
- "pc": [
- 544
- ]
- },
- {
- "teal": 619,
- "source": 4,
- "pc": [
- 545
- ]
- },
- {
- "teal": 622,
- "source": 4,
- "pc": [
- 546,
- 547,
- 548,
- 549,
- 550,
- 551
- ]
- },
- {
- "teal": 623,
- "source": 4,
- "pc": [
- 552,
- 553,
- 554
- ]
- },
- {
- "teal": 624,
- "source": 4,
- "pc": [
- 555,
- 556,
- 557,
- 558
- ]
- },
- {
- "teal": 627,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 559
- ]
- },
- {
- "teal": 630,
- "source": 4,
- "pc": [
- 560,
- 561,
- 562,
- 563,
- 564,
- 565
- ]
- },
- {
- "teal": 631,
- "source": 4,
- "pc": [
- 566,
- 567,
- 568,
- 569,
- 570,
- 571
- ]
- },
- {
- "teal": 632,
- "source": 4,
- "pc": [
- 572,
- 573,
- 574,
- 575,
- 576,
- 577
- ]
- },
- {
- "teal": 633,
- "source": 4,
- "pc": [
- 578,
- 579,
- 580,
- 581,
- 582,
- 583
- ]
- },
- {
- "teal": 634,
- "source": 4,
- "pc": [
- 584,
- 585,
- 586,
- 587,
- 588,
- 589
- ]
- },
- {
- "teal": 635,
- "source": 4,
- "pc": [
- 590,
- 591,
- 592,
- 593,
- 594,
- 595
- ]
- },
- {
- "teal": 636,
- "source": 4,
- "pc": [
- 596,
- 597,
- 598,
- 599,
- 600,
- 601
- ]
- },
- {
- "teal": 637,
- "source": 4,
- "pc": [
- 602,
- 603,
- 604,
- 605,
- 606,
- 607
- ]
- },
- {
- "teal": 638,
- "source": 4,
- "pc": [
- 608,
- 609,
- 610,
- 611,
- 612,
- 613
- ]
- },
- {
- "teal": 639,
- "source": 4,
- "pc": [
- 614,
- 615,
- 616,
- 617,
- 618,
- 619
- ]
- },
- {
- "teal": 640,
- "source": 4,
- "pc": [
- 620,
- 621,
- 622
- ]
- },
- {
- "teal": 641,
- "source": 4,
- "pc": [
- 623,
- 624,
- 625,
- 626,
- 627,
- 628,
- 629,
- 630,
- 631,
- 632,
- 633,
- 634,
- 635,
- 636,
- 637,
- 638,
- 639,
- 640,
- 641,
- 642,
- 643,
- 644
- ]
- },
- {
- "teal": 644,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 645
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 4,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 4,
+ "pc": [
+ 48,
+ 49
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 4,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 4,
+ "pc": [
+ 51
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 4,
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 4,
+ "pc": [
+ 53,
+ 54
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 4,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 4,
+ "pc": [
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 4,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 5,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 5,
+ "pc": [
+ 86
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 5,
+ "pc": [
+ 87
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 5,
+ "pc": [
+ 88,
+ 89,
+ 90
+ ]
+ },
+ {
+ "teal": 45,
+ "source": 6,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 6,
+ "pc": [
+ 92
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 6,
+ "pc": [
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 51,
+ "source": 7,
+ "pc": [
+ 95,
+ 96
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 7,
+ "pc": [
+ 97,
+ 98
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 8,
+ "pc": [
+ 99,
+ 100
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 8,
+ "pc": [
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 61,
+ "source": 9,
+ "pc": [
+ 103,
+ 104
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 9,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 10,
+ "pc": [
+ 107,
+ 108
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 10,
+ "pc": [
+ 109,
+ 110
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 11,
+ "pc": [
+ 111,
+ 112
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 11,
+ "pc": [
+ 113,
+ 114
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 12,
+ "pc": [
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 77,
+ "source": 12,
+ "pc": [
+ 129,
+ 130
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 6,
+ "pc": [
+ 131
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 6,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 6,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 5,
+ "pc": [
+ 135
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 16,
+ "pc": [
+ 136
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 16,
+ "pc": [
+ 137,
+ 138,
+ 139
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 16,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 16,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 16,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 97,
+ "source": 16,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 98,
+ "source": 16,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 16,
+ "pc": [
+ 145,
+ 146,
+ 147
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 17,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 17,
+ "pc": [
+ 149
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 17,
+ "pc": [
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 18,
+ "pc": [
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 18,
+ "pc": [
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 19,
+ "pc": [
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 19,
+ "pc": [
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 20,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 134,
+ "source": 20,
+ "pc": [
+ 169,
+ 170
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 21,
+ "pc": [
+ 171,
+ 172
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 21,
+ "pc": [
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 143,
+ "source": 22,
+ "pc": [
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 22,
+ "pc": [
+ 177,
+ 178
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 23,
+ "pc": [
+ 179,
+ 180
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 23,
+ "pc": [
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 24,
+ "pc": [
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 24,
+ "pc": [
+ 185,
+ 186
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 25,
+ "pc": [
+ 187
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 25,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 26,
+ "pc": [
+ 190,
+ 191,
+ 192,
+ 193,
+ 194
+ ]
+ },
+ {
+ "teal": 164,
+ "source": 26,
+ "pc": [
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 27,
+ "pc": [
+ 197
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 27,
+ "pc": [
+ 198,
+ 199
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 17,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 17,
+ "pc": [
+ 201,
+ 202
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 17,
+ "pc": [
+ 203
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 17,
+ "pc": [
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 16,
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 31,
+ "pc": [
+ 207,
+ 208,
+ 209
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 31,
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 31,
+ "pc": [
+ 211
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 31,
+ "pc": [
+ 212,
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 32,
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 32,
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 32,
+ "pc": [
+ 217,
+ 218
+ ]
+ },
+ {
+ "teal": 212,
+ "source": 33,
+ "pc": [
+ 219,
+ 220
+ ]
+ },
+ {
+ "teal": 213,
+ "source": 33,
+ "pc": [
+ 221,
+ 222
+ ]
+ },
+ {
+ "teal": 217,
+ "source": 34,
+ "pc": [
+ 223,
+ 224,
+ 225,
+ 226,
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 34,
+ "pc": [
+ 229,
+ 230
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 34,
+ "pc": [
+ 231,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 34,
+ "pc": [
+ 237,
+ 238
+ ]
+ },
+ {
+ "teal": 224,
+ "source": 35,
+ "pc": [
+ 239,
+ 240,
+ 241
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 35,
+ "pc": [
+ 242,
+ 243
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 36,
+ "pc": [
+ 244,
+ 245,
+ 246
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 36,
+ "pc": [
+ 247,
+ 248
+ ]
+ },
+ {
+ "teal": 234,
+ "source": 37,
+ "pc": [
+ 249,
+ 250,
+ 251,
+ 252,
+ 253,
+ 254,
+ 255,
+ 256,
+ 257,
+ 258
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 37,
+ "pc": [
+ 259,
+ 260
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 38,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 38,
+ "pc": [
+ 262,
+ 263
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 39,
+ "pc": [
+ 264,
+ 265,
+ 266,
+ 267,
+ 268,
+ 269,
+ 270
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 39,
+ "pc": [
+ 271,
+ 272
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 40,
+ "pc": [
+ 273
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 40,
+ "pc": [
+ 274,
+ 275
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 41,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 255,
+ "source": 41,
+ "pc": [
+ 277,
+ 278
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 42,
+ "pc": [
+ 279
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 42,
+ "pc": [
+ 280,
+ 281
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 43,
+ "pc": [
+ 282
+ ]
+ },
+ {
+ "teal": 265,
+ "source": 43,
+ "pc": [
+ 283,
+ 284
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 44,
+ "pc": [
+ 285,
+ 286,
+ 287,
+ 288,
+ 289,
+ 290
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 44,
+ "pc": [
+ 291,
+ 292
+ ]
+ },
+ {
+ "teal": 273,
+ "source": 32,
+ "pc": [
+ 293
+ ]
+ },
+ {
+ "teal": 274,
+ "source": 32,
+ "pc": [
+ 294,
+ 295
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 32,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 31,
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 48,
+ "pc": [
+ 298,
+ 299,
+ 300
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 48,
+ "pc": [
+ 301
+ ]
+ },
+ {
+ "teal": 285,
+ "source": 48,
+ "pc": [
+ 302
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 48,
+ "pc": [
+ 303,
+ 304,
+ 305
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 49,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 49,
+ "pc": [
+ 307
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 49,
+ "pc": [
+ 308,
+ 309
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 50,
+ "pc": [
+ 310
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 50,
+ "pc": [
+ 311,
+ 312
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 51,
+ "pc": [
+ 313,
+ 314
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 51,
+ "pc": [
+ 315,
+ 316
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 52,
+ "pc": [
+ 317,
+ 318
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 52,
+ "pc": [
+ 319,
+ 320
+ ]
+ },
+ {
+ "teal": 320,
+ "source": 53,
+ "pc": [
+ 321,
+ 322
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 53,
+ "pc": [
+ 323,
+ 324
+ ]
+ },
+ {
+ "teal": 325,
+ "source": 54,
+ "pc": [
+ 325,
+ 326
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 54,
+ "pc": [
+ 327,
+ 328
+ ]
+ },
+ {
+ "teal": 329,
+ "source": 49,
+ "pc": [
+ 329
+ ]
+ },
+ {
+ "teal": 330,
+ "source": 49,
+ "pc": [
+ 330,
+ 331
+ ]
+ },
+ {
+ "teal": 333,
+ "source": 49,
+ "pc": [
+ 332
+ ]
+ },
+ {
+ "teal": 334,
+ "source": 48,
+ "pc": [
+ 333
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 58,
+ "pc": [
+ 334,
+ 335,
+ 336
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 58,
+ "pc": [
+ 337
+ ]
+ },
+ {
+ "teal": 341,
+ "source": 58,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 345,
+ "source": 58,
+ "pc": [
+ 339,
+ 340,
+ 341
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 59,
+ "pc": [
+ 342
+ ]
+ },
+ {
+ "teal": 354,
+ "source": 59,
+ "pc": [
+ 343,
+ 344
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 59,
+ "pc": [
+ 345,
+ 346
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 60,
+ "pc": [
+ 347
+ ]
+ },
+ {
+ "teal": 360,
+ "source": 60,
+ "pc": [
+ 348,
+ 349
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 61,
+ "pc": [
+ 350,
+ 351
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 61,
+ "pc": [
+ 352,
+ 353
+ ]
+ },
+ {
+ "teal": 369,
+ "source": 62,
+ "pc": [
+ 354
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 62,
+ "pc": [
+ 355,
+ 356
+ ]
+ },
+ {
+ "teal": 373,
+ "source": 59,
+ "pc": [
+ 357
+ ]
+ },
+ {
+ "teal": 374,
+ "source": 59,
+ "pc": [
+ 358,
+ 359
+ ]
+ },
+ {
+ "teal": 377,
+ "source": 59,
+ "pc": [
+ 360
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 58,
+ "pc": [
+ 361
+ ]
+ },
+ {
+ "teal": 383,
+ "source": 66,
+ "pc": [
+ 362,
+ 363,
+ 364
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 66,
+ "pc": [
+ 365
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 66,
+ "pc": [
+ 366
+ ]
+ },
+ {
+ "teal": 389,
+ "source": 66,
+ "pc": [
+ 367,
+ 368,
+ 369
+ ]
+ },
+ {
+ "teal": 399,
+ "source": 67,
+ "pc": [
+ 370
+ ]
+ },
+ {
+ "teal": 400,
+ "source": 67,
+ "pc": [
+ 371,
+ 372
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 67,
+ "pc": [
+ 373,
+ 374
+ ]
+ },
+ {
+ "teal": 405,
+ "source": 68,
+ "pc": [
+ 375
+ ]
+ },
+ {
+ "teal": 406,
+ "source": 68,
+ "pc": [
+ 376,
+ 377
+ ]
+ },
+ {
+ "teal": 410,
+ "source": 69,
+ "pc": [
+ 378,
+ 379
+ ]
+ },
+ {
+ "teal": 411,
+ "source": 69,
+ "pc": [
+ 380,
+ 381
+ ]
+ },
+ {
+ "teal": 415,
+ "source": 70,
+ "pc": [
+ 382,
+ 383
+ ]
+ },
+ {
+ "teal": 416,
+ "source": 70,
+ "pc": [
+ 384,
+ 385
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 71,
+ "pc": [
+ 386,
+ 387
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 71,
+ "pc": [
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 425,
+ "source": 72,
+ "pc": [
+ 390
+ ]
+ },
+ {
+ "teal": 426,
+ "source": 72,
+ "pc": [
+ 391,
+ 392
+ ]
+ },
+ {
+ "teal": 429,
+ "source": 67,
+ "pc": [
+ 393
+ ]
+ },
+ {
+ "teal": 430,
+ "source": 67,
+ "pc": [
+ 394,
+ 395
+ ]
+ },
+ {
+ "teal": 433,
+ "source": 67,
+ "pc": [
+ 396
+ ]
+ },
+ {
+ "teal": 434,
+ "source": 66,
+ "pc": [
+ 397
+ ]
+ },
+ {
+ "teal": 439,
+ "source": 76,
+ "pc": [
+ 398
+ ]
+ },
+ {
+ "teal": 442,
+ "source": 76,
+ "pc": [
+ 399,
+ 400,
+ 401
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 76,
+ "pc": [
+ 402
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 76,
+ "pc": [
+ 403
+ ]
+ },
+ {
+ "teal": 445,
+ "source": 76,
+ "pc": [
+ 404
+ ]
+ },
+ {
+ "teal": 446,
+ "source": 76,
+ "pc": [
+ 405
+ ]
+ },
+ {
+ "teal": 447,
+ "source": 76,
+ "pc": [
+ 406
+ ]
+ },
+ {
+ "teal": 451,
+ "source": 76,
+ "pc": [
+ 407,
+ 408,
+ 409
+ ]
+ },
+ {
+ "teal": 458,
+ "source": 77,
+ "pc": [
+ 410
+ ]
+ },
+ {
+ "teal": 459,
+ "source": 77,
+ "pc": [
+ 411
+ ]
+ },
+ {
+ "teal": 460,
+ "source": 77,
+ "pc": [
+ 412,
+ 413
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 78,
+ "pc": [
+ 414,
+ 415,
+ 416,
+ 417,
+ 418,
+ 419
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 78,
+ "pc": [
+ 420,
+ 421
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 79,
+ "pc": [
+ 422,
+ 423,
+ 424
+ ]
+ },
+ {
+ "teal": 467,
+ "source": 79,
+ "pc": [
+ 425
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 79,
+ "pc": [
+ 426,
+ 427
+ ]
+ },
+ {
+ "teal": 469,
+ "source": 79,
+ "pc": [
+ 428,
+ 429,
+ 430,
+ 431,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436,
+ 437
+ ]
+ },
+ {
+ "teal": 470,
+ "source": 79,
+ "pc": [
+ 438,
+ 439
+ ]
+ },
+ {
+ "teal": 473,
+ "source": 77,
+ "pc": [
+ 440
+ ]
+ },
+ {
+ "teal": 474,
+ "source": 77,
+ "pc": [
+ 441,
+ 442
+ ]
+ },
+ {
+ "teal": 477,
+ "source": 77,
+ "pc": [
+ 443
+ ]
+ },
+ {
+ "teal": 478,
+ "source": 77,
+ "pc": [
+ 444,
+ 445
+ ]
+ },
+ {
+ "teal": 479,
+ "source": 77,
+ "pc": [
+ 446
+ ]
+ },
+ {
+ "teal": 480,
+ "source": 77,
+ "pc": [
+ 447
+ ]
+ },
+ {
+ "teal": 481,
+ "source": 77,
+ "pc": [
+ 448,
+ 449
+ ]
+ },
+ {
+ "teal": 482,
+ "source": 77,
+ "pc": [
+ 450,
+ 451,
+ 452
+ ]
+ },
+ {
+ "teal": 483,
+ "source": 77,
+ "pc": [
+ 453
+ ]
+ },
+ {
+ "teal": 484,
+ "source": 76,
+ "pc": [
+ 454
+ ]
+ },
+ {
+ "teal": 489,
+ "source": 83,
+ "pc": [
+ 455,
+ 456,
+ 457
+ ]
+ },
+ {
+ "teal": 490,
+ "source": 83,
+ "pc": [
+ 458
+ ]
+ },
+ {
+ "teal": 491,
+ "source": 83,
+ "pc": [
+ 459
+ ]
+ },
+ {
+ "teal": 495,
+ "source": 83,
+ "pc": [
+ 460,
+ 461,
+ 462
+ ]
+ },
+ {
+ "teal": 506,
+ "source": 84,
+ "pc": [
+ 463
+ ]
+ },
+ {
+ "teal": 507,
+ "source": 84,
+ "pc": [
+ 464,
+ 465
+ ]
+ },
+ {
+ "teal": 508,
+ "source": 84,
+ "pc": [
+ 466,
+ 467
+ ]
+ },
+ {
+ "teal": 512,
+ "source": 85,
+ "pc": [
+ 468
+ ]
+ },
+ {
+ "teal": 513,
+ "source": 85,
+ "pc": [
+ 469,
+ 470
+ ]
+ },
+ {
+ "teal": 517,
+ "source": 86,
+ "pc": [
+ 471
+ ]
+ },
+ {
+ "teal": 518,
+ "source": 86,
+ "pc": [
+ 472,
+ 473
+ ]
+ },
+ {
+ "teal": 522,
+ "source": 87,
+ "pc": [
+ 474
+ ]
+ },
+ {
+ "teal": 523,
+ "source": 87,
+ "pc": [
+ 475,
+ 476
+ ]
+ },
+ {
+ "teal": 527,
+ "source": 88,
+ "pc": [
+ 477
+ ]
+ },
+ {
+ "teal": 528,
+ "source": 88,
+ "pc": [
+ 478,
+ 479
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 89,
+ "pc": [
+ 480
+ ]
+ },
+ {
+ "teal": 533,
+ "source": 89,
+ "pc": [
+ 481,
+ 482
+ ]
+ },
+ {
+ "teal": 537,
+ "source": 90,
+ "pc": [
+ 483
+ ]
+ },
+ {
+ "teal": 538,
+ "source": 90,
+ "pc": [
+ 484,
+ 485
+ ]
+ },
+ {
+ "teal": 541,
+ "source": 84,
+ "pc": [
+ 486
+ ]
+ },
+ {
+ "teal": 542,
+ "source": 84,
+ "pc": [
+ 487,
+ 488
+ ]
+ },
+ {
+ "teal": 545,
+ "source": 84,
+ "pc": [
+ 489
+ ]
+ },
+ {
+ "teal": 546,
+ "source": 83,
+ "pc": [
+ 490
+ ]
+ },
+ {
+ "teal": 551,
+ "source": 94,
+ "pc": [
+ 491,
+ 492,
+ 493
+ ]
+ },
+ {
+ "teal": 552,
+ "source": 94,
+ "pc": [
+ 494
+ ]
+ },
+ {
+ "teal": 553,
+ "source": 94,
+ "pc": [
+ 495
+ ]
+ },
+ {
+ "teal": 557,
+ "source": 94,
+ "pc": [
+ 496,
+ 497,
+ 498
+ ]
+ },
+ {
+ "teal": 561,
+ "source": 95,
+ "pc": [
+ 499
+ ]
+ },
+ {
+ "teal": 562,
+ "source": 95,
+ "pc": [
+ 500,
+ 501
+ ]
+ },
+ {
+ "teal": 563,
+ "source": 95,
+ "pc": [
+ 502,
+ 503
+ ]
+ },
+ {
+ "teal": 566,
+ "source": 95,
+ "pc": [
+ 504
+ ]
+ },
+ {
+ "teal": 567,
+ "source": 95,
+ "pc": [
+ 505,
+ 506
+ ]
+ },
+ {
+ "teal": 570,
+ "source": 95,
+ "pc": [
+ 507
+ ]
+ },
+ {
+ "teal": 571,
+ "source": 94,
+ "pc": [
+ 508
+ ]
+ },
+ {
+ "teal": 576,
+ "source": 98,
+ "pc": [
+ 509,
+ 510,
+ 511
+ ]
+ },
+ {
+ "teal": 577,
+ "source": 98,
+ "pc": [
+ 512
+ ]
+ },
+ {
+ "teal": 578,
+ "source": 98,
+ "pc": [
+ 513
+ ]
+ },
+ {
+ "teal": 582,
+ "source": 98,
+ "pc": [
+ 514,
+ 515,
+ 516
+ ]
+ },
+ {
+ "teal": 589,
+ "source": 101,
+ "pc": [
+ 517
+ ]
+ },
+ {
+ "teal": 590,
+ "source": 101,
+ "pc": [
+ 518
+ ]
+ },
+ {
+ "teal": 591,
+ "source": 101,
+ "pc": [
+ 519,
+ 520
+ ]
+ },
+ {
+ "teal": 595,
+ "source": 101,
+ "pc": [
+ 521
+ ]
+ },
+ {
+ "teal": 596,
+ "source": 101,
+ "pc": [
+ 522,
+ 523
+ ]
+ },
+ {
+ "teal": 599,
+ "source": 101,
+ "pc": [
+ 524
+ ]
+ },
+ {
+ "teal": 600,
+ "source": 101,
+ "pc": [
+ 525,
+ 526
+ ]
+ },
+ {
+ "teal": 601,
+ "source": 99,
+ "pc": [
+ 527
+ ]
+ },
+ {
+ "teal": 602,
+ "source": 99,
+ "pc": [
+ 528
+ ]
+ },
+ {
+ "teal": 603,
+ "source": 99,
+ "pc": [
+ 529,
+ 530
+ ]
+ },
+ {
+ "teal": 604,
+ "source": 100,
+ "pc": [
+ 531,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536
+ ]
+ },
+ {
+ "teal": 605,
+ "source": 100,
+ "pc": [
+ 537,
+ 538
+ ]
+ },
+ {
+ "teal": 610,
+ "source": 99,
+ "pc": [
+ 539
+ ]
+ },
+ {
+ "teal": 611,
+ "source": 99,
+ "pc": [
+ 540,
+ 541
+ ]
+ },
+ {
+ "teal": 614,
+ "source": 99,
+ "pc": [
+ 542
+ ]
+ },
+ {
+ "teal": 615,
+ "source": 98,
+ "pc": [
+ 543
+ ]
+ },
+ {
+ "teal": 618,
+ "source": 4,
+ "pc": [
+ 544
+ ]
+ },
+ {
+ "teal": 619,
+ "source": 4,
+ "pc": [
+ 545
+ ]
+ },
+ {
+ "teal": 622,
+ "source": 4,
+ "pc": [
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551
+ ]
+ },
+ {
+ "teal": 623,
+ "source": 4,
+ "pc": [
+ 552,
+ 553,
+ 554
+ ]
+ },
+ {
+ "teal": 624,
+ "source": 4,
+ "pc": [
+ 555,
+ 556,
+ 557,
+ 558
+ ]
+ },
+ {
+ "teal": 627,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 559
+ ]
+ },
+ {
+ "teal": 630,
+ "source": 4,
+ "pc": [
+ 560,
+ 561,
+ 562,
+ 563,
+ 564,
+ 565
+ ]
+ },
+ {
+ "teal": 631,
+ "source": 4,
+ "pc": [
+ 566,
+ 567,
+ 568,
+ 569,
+ 570,
+ 571
+ ]
+ },
+ {
+ "teal": 632,
+ "source": 4,
+ "pc": [
+ 572,
+ 573,
+ 574,
+ 575,
+ 576,
+ 577
+ ]
+ },
+ {
+ "teal": 633,
+ "source": 4,
+ "pc": [
+ 578,
+ 579,
+ 580,
+ 581,
+ 582,
+ 583
+ ]
+ },
+ {
+ "teal": 634,
+ "source": 4,
+ "pc": [
+ 584,
+ 585,
+ 586,
+ 587,
+ 588,
+ 589
+ ]
+ },
+ {
+ "teal": 635,
+ "source": 4,
+ "pc": [
+ 590,
+ 591,
+ 592,
+ 593,
+ 594,
+ 595
+ ]
+ },
+ {
+ "teal": 636,
+ "source": 4,
+ "pc": [
+ 596,
+ 597,
+ 598,
+ 599,
+ 600,
+ 601
+ ]
+ },
+ {
+ "teal": 637,
+ "source": 4,
+ "pc": [
+ 602,
+ 603,
+ 604,
+ 605,
+ 606,
+ 607
+ ]
+ },
+ {
+ "teal": 638,
+ "source": 4,
+ "pc": [
+ 608,
+ 609,
+ 610,
+ 611,
+ 612,
+ 613
+ ]
+ },
+ {
+ "teal": 639,
+ "source": 4,
+ "pc": [
+ 614,
+ 615,
+ 616,
+ 617,
+ 618,
+ 619
+ ]
+ },
+ {
+ "teal": 640,
+ "source": 4,
+ "pc": [
+ 620,
+ 621,
+ 622
+ ]
+ },
+ {
+ "teal": 641,
+ "source": 4,
+ "pc": [
+ 623,
+ 624,
+ 625,
+ 626,
+ 627,
+ 628,
+ 629,
+ 630,
+ 631,
+ 632,
+ 633,
+ 634,
+ 635,
+ 636,
+ 637,
+ 638,
+ 639,
+ 640,
+ 641,
+ 642,
+ 643,
+ 644
+ ]
+ },
+ {
+ "teal": 644,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 645
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXltZW50KCl2b2lkCiphYmlfcm91dGVfcGF5bWVudDoKCS8vIGV4ZWN1dGUgcGF5bWVudCgpdm9pZAoJY2FsbHN1YiBwYXltZW50CglpbnQgMQoJcmV0dXJuCgovLyBwYXltZW50KCk6IHZvaWQKcGF5bWVudDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIGFtb3VudDogMTAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjbG9zZVJlbWFpbmRlclRvOiBnbG9iYWxzLnplcm9BZGRyZXNzLAoJLy8gICAgICAgc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcywKCS8vICAgICAgIG5vdGU6ICdIZWxsbyBXb3JsZCEnLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NwoJLy8gYW1vdW50OiAxMDAKCWludCAxMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OQoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMAoJLy8gc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMQoJLy8gcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIFJla2V5VG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMgoJLy8gbm90ZTogJ0hlbGxvIFdvcmxkIScKCWJ5dGUgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gYXNzZXRDcmVhdGlvbigpdWludDY0CiphYmlfcm91dGVfYXNzZXRDcmVhdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhc3NldENyZWF0aW9uKCl1aW50NjQKCWNhbGxzdWIgYXNzZXRDcmVhdGlvbgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFzc2V0Q3JlYXRpb24oKTogQXNzZXRJRAphc3NldENyZWF0aW9uOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTcKCS8vIHJldHVybiBzZW5kQXNzZXRDcmVhdGlvbih7CgkvLyAgICAgICBjb25maWdBc3NldE5hbWU6ICduYW1lJywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICd1bml0JywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VG90YWw6IDEsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0Q2xhd2JhY2s6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldERlZmF1bHRGcm96ZW46IDAsCgkvLyAgICAgICBjb25maWdBc3NldFVSTDogJ3VybCcsCgkvLyAgICAgICBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJywKCS8vICAgICB9KTsKCWl0eG5fYmVnaW4KCWludCBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTgKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnCglieXRlIDB4NmU2MTZkNjUgLy8gIm5hbWUiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0TmFtZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjE5CgkvLyBjb25maWdBc3NldFVuaXROYW1lOiAndW5pdCcKCWJ5dGUgMHg3NTZlNjk3NCAvLyAidW5pdCIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIwCgkvLyBjb25maWdBc3NldFRvdGFsOiAxCglpbnQgMQoJaXR4bl9maWVsZCBDb25maWdBc3NldFRvdGFsCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjUKCS8vIGNvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbjogMAoJaW50IDAKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXREZWZhdWx0RnJvemVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjYKCS8vIGNvbmZpZ0Fzc2V0VVJMOiAndXJsJwoJYnl0ZSAweDc1NzI2YyAvLyAidXJsIgoJaXR4bl9maWVsZCBDb25maWdBc3NldFVSTAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZSAweDYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjEgLy8gImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBDb25maWdBc3NldE1ldGFkYXRhSGFzaAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gYXBwQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FwcENhbGw6CgkvLyBleGVjdXRlIGFwcENhbGwoKXZvaWQKCWNhbGxzdWIgYXBwQ2FsbAoJaW50IDEKCXJldHVybgoKLy8gYXBwQ2FsbCgpOiB2b2lkCmFwcENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYWNjb3VudHM6IFt0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwLAoJLy8gICAgICAgYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiAnYXBwcm92YWwnLAoJLy8gICAgICAgYXNzZXRzOiBbQXNzZXRJRC56ZXJvSW5kZXhdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06ICdjbGVhcicsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiAxLAoJLy8gICAgICAgbG9jYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IDEsCgkvLyAgICAgICBub3RlOiAnbm90ZScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzMKCS8vIGFjY291bnRzOiBbdGhpcy5hcHAuYWRkcmVzc10KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFjY291bnRzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzQKCS8vIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXQoJYnl0ZSAweDYxNzI2NzMxIC8vICJhcmcxIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHg2MTcyNjczMiAvLyAiYXJnMiIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzUKCS8vIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozNgoJLy8gYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM3CgkvLyBhcHByb3ZhbFByb2dyYW06ICdhcHByb3ZhbCcKCWJ5dGUgMHg2MTcwNzA3MjZmNzY2MTZjIC8vICJhcHByb3ZhbCIKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzgKCS8vIGFzc2V0czogW0Fzc2V0SUQuemVyb0luZGV4XQoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzkKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiAnY2xlYXInCglieXRlIDB4NjM2YzY1NjE3MiAvLyAiY2xlYXIiCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogMQoJaW50IDEKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDEKCS8vIGdsb2JhbE51bVVpbnQ6IDEKCWludCAxCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo0MgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IDEKCWludCAxCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDMKCS8vIGxvY2FsTnVtVWludDogMQoJaW50IDEKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDQKCS8vIG5vdGU6ICdub3RlJwoJYnl0ZSAweDZlNmY3NDY1IC8vICJub3RlIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldENvbmZpZygpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0Q29uZmlnOgoJLy8gZXhlY3V0ZSBhc3NldENvbmZpZygpdm9pZAoJY2FsbHN1YiBhc3NldENvbmZpZwoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRDb25maWcoKTogdm9pZAphc3NldENvbmZpZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjQ5CgkvLyBzZW5kQXNzZXRDb25maWcoewoJLy8gICAgICAgY29uZmlnQXNzZXQ6IEFzc2V0SUQuemVyb0luZGV4LAoJLy8gICAgICAgY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRSZXNlcnZlOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRGcmVlemU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjUwCgkvLyBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludCAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldEZyZWV6ZSgpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJlZXplOgoJLy8gZXhlY3V0ZSBhc3NldEZyZWV6ZSgpdm9pZAoJY2FsbHN1YiBhc3NldEZyZWV6ZQoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRGcmVlemUoKTogdm9pZAphc3NldEZyZWV6ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU5CgkvLyBzZW5kQXNzZXRGcmVlemUoewoJLy8gICAgICAgZnJlZXplQXNzZXRGcm96ZW46IHRydWUsCgkvLyAgICAgICBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhZnJ6CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NjAKCS8vIGZyZWV6ZUFzc2V0RnJvemVuOiB0cnVlCglpbnQgMQoJaXR4bl9maWVsZCBGcmVlemVBc3NldEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYxCgkvLyBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0QWNjb3VudAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYyCgkvLyBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludCAwCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldFRyYW5zZmVyKCl2b2lkCiphYmlfcm91dGVfYXNzZXRUcmFuc2ZlcjoKCS8vIGV4ZWN1dGUgYXNzZXRUcmFuc2Zlcigpdm9pZAoJY2FsbHN1YiBhc3NldFRyYW5zZmVyCglpbnQgMQoJcmV0dXJuCgovLyBhc3NldFRyYW5zZmVyKCk6IHZvaWQKYXNzZXRUcmFuc2ZlcjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldEFtb3VudDogMSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY4CgkvLyBhc3NldEFtb3VudDogMQoJaW50IDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2OQoJLy8gYXNzZXRDbG9zZVRvOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldENsb3NlVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjcxCgkvLyBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MgoJLy8geGZlckFzc2V0OiBBc3NldElELnplcm9JbmRleAoJaW50IDAKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RDYWxsKCl1aW50NjQKKmFiaV9yb3V0ZV9tZXRob2RDYWxsOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1ldGhvZENhbGwoKXVpbnQ2NAoJY2FsbHN1YiBtZXRob2RDYWxsCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbWV0aG9kQ2FsbCgpOiBBc3NldElECm1ldGhvZENhbGw6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3NwoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPFtBcHBJRCwgQXNzZXRJRF0sIEFzc2V0SUQ+KHsKCS8vICAgICAgIG5hbWU6ICdtZXRob2QnLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJtZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjc5CgkvLyBtZXRob2RBcmdzOiBbdGhpcy5hcHAsIEFzc2V0SUQuemVyb0luZGV4XQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJcmV0c3ViCgovLyBvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoJY2FsbHN1YiBvbmxpbmVLZXlSZWdpc3RyYXRpb24KCWludCAxCglyZXR1cm4KCi8vIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9ubGluZUtleVJlZ2lzdHJhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg0CgkvLyBzZW5kT25saW5lS2V5UmVnaXN0cmF0aW9uKHsKCS8vICAgICAgIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgdm90ZUZpcnN0OiAxLAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiAxLAoJLy8gICAgICAgdm90ZUxhc3Q6IDEsCgkvLyAgICAgICB2b3RlUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBrZXlyZWcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NQoJLy8gc2VsZWN0aW9uUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScKCWJ5dGUgMHg2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxIC8vICJhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSIKCWl0eG5fZmllbGQgU2VsZWN0aW9uUEsKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NgoJLy8gc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlIDB4NjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MSAvLyAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFN0YXRlUHJvb2ZQSwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg3CgkvLyB2b3RlRmlyc3Q6IDEKCWludCAxCglpdHhuX2ZpZWxkIFZvdGVGaXJzdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg4CgkvLyB2b3RlS2V5RGlsdXRpb246IDEKCWludCAxCglpdHhuX2ZpZWxkIFZvdGVLZXlEaWx1dGlvbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg5CgkvLyB2b3RlTGFzdDogMQoJaW50IDEKCWl0eG5fZmllbGQgVm90ZUxhc3QKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo5MAoJLy8gdm90ZVBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlIDB4NjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MSAvLyAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFZvdGVQSwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gb2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoqYWJpX3JvdXRlX29mZmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKCWNhbGxzdWIgb2ZmbGluZUtleVJlZ2lzdHJhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gb2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9mZmxpbmVLZXlSZWdpc3RyYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo5NQoJLy8gc2VuZE9mZmxpbmVLZXlSZWdpc3RyYXRpb24oe30pCglpdHhuX2JlZ2luCglpbnQga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBpbm5lckdlbmVyaWMoKXZvaWQKKmFiaV9yb3V0ZV9pbm5lckdlbmVyaWM6CgkvLyBleGVjdXRlIGlubmVyR2VuZXJpYygpdm9pZAoJY2FsbHN1YiBpbm5lckdlbmVyaWMKCWludCAxCglyZXR1cm4KCi8vIGlubmVyR2VuZXJpYygpOiB2b2lkCmlubmVyR2VuZXJpYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjk5CgkvLyBzZW5kTWV0aG9kQ2FsbDxbSW5uZXJUeG48SW5uZXJBc3NldENyZWF0aW9uPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgY29uZmlnQXNzZXRUb3RhbDogMSB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IDEKCWludCAxCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZm9vKHR4bil2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIG1ldGhvZEFyZ3M6IFt7IGNvbmZpZ0Fzc2V0VG90YWw6IDEgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInBheW1lbnQoKXZvaWQiCgltZXRob2QgImFzc2V0Q3JlYXRpb24oKXVpbnQ2NCIKCW1ldGhvZCAiYXBwQ2FsbCgpdm9pZCIKCW1ldGhvZCAiYXNzZXRDb25maWcoKXZvaWQiCgltZXRob2QgImFzc2V0RnJlZXplKCl2b2lkIgoJbWV0aG9kICJhc3NldFRyYW5zZmVyKCl2b2lkIgoJbWV0aG9kICJtZXRob2RDYWxsKCl1aW50NjQiCgltZXRob2QgIm9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZCIKCW1ldGhvZCAib2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZCIKCW1ldGhvZCAiaW5uZXJHZW5lcmljKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wYXltZW50ICphYmlfcm91dGVfYXNzZXRDcmVhdGlvbiAqYWJpX3JvdXRlX2FwcENhbGwgKmFiaV9yb3V0ZV9hc3NldENvbmZpZyAqYWJpX3JvdXRlX2Fzc2V0RnJlZXplICphYmlfcm91dGVfYXNzZXRUcmFuc2ZlciAqYWJpX3JvdXRlX21ldGhvZENhbGwgKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb24gKmFiaV9yb3V0ZV9vZmZsaW5lS2V5UmVnaXN0cmF0aW9uICphYmlfcm91dGVfaW5uZXJHZW5lcmljCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwYXltZW50KCl2b2lkCiphYmlfcm91dGVfcGF5bWVudDoKCS8vIGV4ZWN1dGUgcGF5bWVudCgpdm9pZAoJY2FsbHN1YiBwYXltZW50CglpbnQgMQoJcmV0dXJuCgovLyBwYXltZW50KCk6IHZvaWQKcGF5bWVudDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIGFtb3VudDogMTAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjbG9zZVJlbWFpbmRlclRvOiBnbG9iYWxzLnplcm9BZGRyZXNzLAoJLy8gICAgICAgc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcywKCS8vICAgICAgIG5vdGU6ICdIZWxsbyBXb3JsZCEnLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NwoJLy8gYW1vdW50OiAxMDAKCWludCAxMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OQoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMAoJLy8gc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMQoJLy8gcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIFJla2V5VG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMgoJLy8gbm90ZTogJ0hlbGxvIFdvcmxkIScKCWJ5dGUgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gYXNzZXRDcmVhdGlvbigpdWludDY0CiphYmlfcm91dGVfYXNzZXRDcmVhdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhc3NldENyZWF0aW9uKCl1aW50NjQKCWNhbGxzdWIgYXNzZXRDcmVhdGlvbgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFzc2V0Q3JlYXRpb24oKTogQXNzZXRJRAphc3NldENyZWF0aW9uOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTcKCS8vIHJldHVybiBzZW5kQXNzZXRDcmVhdGlvbih7CgkvLyAgICAgICBjb25maWdBc3NldE5hbWU6ICduYW1lJywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICd1bml0JywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VG90YWw6IDEsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0Q2xhd2JhY2s6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldERlZmF1bHRGcm96ZW46IDAsCgkvLyAgICAgICBjb25maWdBc3NldFVSTDogJ3VybCcsCgkvLyAgICAgICBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJywKCS8vICAgICB9KTsKCWl0eG5fYmVnaW4KCWludCBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTgKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnCglieXRlIDB4NmU2MTZkNjUgLy8gIm5hbWUiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0TmFtZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjE5CgkvLyBjb25maWdBc3NldFVuaXROYW1lOiAndW5pdCcKCWJ5dGUgMHg3NTZlNjk3NCAvLyAidW5pdCIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIwCgkvLyBjb25maWdBc3NldFRvdGFsOiAxCglpbnQgMQoJaXR4bl9maWVsZCBDb25maWdBc3NldFRvdGFsCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjUKCS8vIGNvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbjogMAoJaW50IDAKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXREZWZhdWx0RnJvemVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MjYKCS8vIGNvbmZpZ0Fzc2V0VVJMOiAndXJsJwoJYnl0ZSAweDc1NzI2YyAvLyAidXJsIgoJaXR4bl9maWVsZCBDb25maWdBc3NldFVSTAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZSAweDYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjEgLy8gImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBDb25maWdBc3NldE1ldGFkYXRhSGFzaAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gYXBwQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FwcENhbGw6CgkvLyBleGVjdXRlIGFwcENhbGwoKXZvaWQKCWNhbGxzdWIgYXBwQ2FsbAoJaW50IDEKCXJldHVybgoKLy8gYXBwQ2FsbCgpOiB2b2lkCmFwcENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYWNjb3VudHM6IFt0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwLAoJLy8gICAgICAgYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiAnYXBwcm92YWwnLAoJLy8gICAgICAgYXNzZXRzOiBbQXNzZXRJRC56ZXJvSW5kZXhdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06ICdjbGVhcicsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiAxLAoJLy8gICAgICAgbG9jYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IDEsCgkvLyAgICAgICBub3RlOiAnbm90ZScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzMKCS8vIGFjY291bnRzOiBbdGhpcy5hcHAuYWRkcmVzc10KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFjY291bnRzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzQKCS8vIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXQoJYnl0ZSAweDYxNzI2NzMxIC8vICJhcmcxIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHg2MTcyNjczMiAvLyAiYXJnMiIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzUKCS8vIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozNgoJLy8gYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM3CgkvLyBhcHByb3ZhbFByb2dyYW06ICdhcHByb3ZhbCcKCWJ5dGUgMHg2MTcwNzA3MjZmNzY2MTZjIC8vICJhcHByb3ZhbCIKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzgKCS8vIGFzc2V0czogW0Fzc2V0SUQuemVyb0luZGV4XQoJaW50IDAKCWl0eG5fZmllbGQgQXNzZXRzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzkKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiAnY2xlYXInCglieXRlIDB4NjM2YzY1NjE3MiAvLyAiY2xlYXIiCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogMQoJaW50IDEKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDEKCS8vIGdsb2JhbE51bVVpbnQ6IDEKCWludCAxCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo0MgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IDEKCWludCAxCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDMKCS8vIGxvY2FsTnVtVWludDogMQoJaW50IDEKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDQKCS8vIG5vdGU6ICdub3RlJwoJYnl0ZSAweDZlNmY3NDY1IC8vICJub3RlIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldENvbmZpZygpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0Q29uZmlnOgoJLy8gZXhlY3V0ZSBhc3NldENvbmZpZygpdm9pZAoJY2FsbHN1YiBhc3NldENvbmZpZwoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRDb25maWcoKTogdm9pZAphc3NldENvbmZpZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjQ5CgkvLyBzZW5kQXNzZXRDb25maWcoewoJLy8gICAgICAgY29uZmlnQXNzZXQ6IEFzc2V0SUQuemVyb0luZGV4LAoJLy8gICAgICAgY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRSZXNlcnZlOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRGcmVlemU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnQgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjUwCgkvLyBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludCAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldEZyZWV6ZSgpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJlZXplOgoJLy8gZXhlY3V0ZSBhc3NldEZyZWV6ZSgpdm9pZAoJY2FsbHN1YiBhc3NldEZyZWV6ZQoJaW50IDEKCXJldHVybgoKLy8gYXNzZXRGcmVlemUoKTogdm9pZAphc3NldEZyZWV6ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU5CgkvLyBzZW5kQXNzZXRGcmVlemUoewoJLy8gICAgICAgZnJlZXplQXNzZXRGcm96ZW46IHRydWUsCgkvLyAgICAgICBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBhZnJ6CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NjAKCS8vIGZyZWV6ZUFzc2V0RnJvemVuOiB0cnVlCglpbnQgMQoJaXR4bl9maWVsZCBGcmVlemVBc3NldEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYxCgkvLyBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0QWNjb3VudAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYyCgkvLyBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludCAwCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldFRyYW5zZmVyKCl2b2lkCiphYmlfcm91dGVfYXNzZXRUcmFuc2ZlcjoKCS8vIGV4ZWN1dGUgYXNzZXRUcmFuc2Zlcigpdm9pZAoJY2FsbHN1YiBhc3NldFRyYW5zZmVyCglpbnQgMQoJcmV0dXJuCgovLyBhc3NldFRyYW5zZmVyKCk6IHZvaWQKYXNzZXRUcmFuc2ZlcjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldEFtb3VudDogMSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY4CgkvLyBhc3NldEFtb3VudDogMQoJaW50IDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2OQoJLy8gYXNzZXRDbG9zZVRvOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldENsb3NlVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjcxCgkvLyBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MgoJLy8geGZlckFzc2V0OiBBc3NldElELnplcm9JbmRleAoJaW50IDAKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RDYWxsKCl1aW50NjQKKmFiaV9yb3V0ZV9tZXRob2RDYWxsOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1ldGhvZENhbGwoKXVpbnQ2NAoJY2FsbHN1YiBtZXRob2RDYWxsCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbWV0aG9kQ2FsbCgpOiBBc3NldElECm1ldGhvZENhbGw6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3NwoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPFtBcHBJRCwgQXNzZXRJRF0sIEFzc2V0SUQ+KHsKCS8vICAgICAgIG5hbWU6ICdtZXRob2QnLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnQgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJbWV0aG9kICJtZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjc5CgkvLyBtZXRob2RBcmdzOiBbdGhpcy5hcHAsIEFzc2V0SUQuemVyb0luZGV4XQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50IDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJcmV0c3ViCgovLyBvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoJY2FsbHN1YiBvbmxpbmVLZXlSZWdpc3RyYXRpb24KCWludCAxCglyZXR1cm4KCi8vIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9ubGluZUtleVJlZ2lzdHJhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg0CgkvLyBzZW5kT25saW5lS2V5UmVnaXN0cmF0aW9uKHsKCS8vICAgICAgIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgdm90ZUZpcnN0OiAxLAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiAxLAoJLy8gICAgICAgdm90ZUxhc3Q6IDEsCgkvLyAgICAgICB2b3RlUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludCBrZXlyZWcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NQoJLy8gc2VsZWN0aW9uUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScKCWJ5dGUgMHg2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxIC8vICJhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSIKCWl0eG5fZmllbGQgU2VsZWN0aW9uUEsKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NgoJLy8gc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlIDB4NjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MSAvLyAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFN0YXRlUHJvb2ZQSwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg3CgkvLyB2b3RlRmlyc3Q6IDEKCWludCAxCglpdHhuX2ZpZWxkIFZvdGVGaXJzdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg4CgkvLyB2b3RlS2V5RGlsdXRpb246IDEKCWludCAxCglpdHhuX2ZpZWxkIFZvdGVLZXlEaWx1dGlvbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg5CgkvLyB2b3RlTGFzdDogMQoJaW50IDEKCWl0eG5fZmllbGQgVm90ZUxhc3QKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo5MAoJLy8gdm90ZVBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlIDB4NjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MSAvLyAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFZvdGVQSwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gb2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoqYWJpX3JvdXRlX29mZmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKCWNhbGxzdWIgb2ZmbGluZUtleVJlZ2lzdHJhdGlvbgoJaW50IDEKCXJldHVybgoKLy8gb2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9mZmxpbmVLZXlSZWdpc3RyYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo5NQoJLy8gc2VuZE9mZmxpbmVLZXlSZWdpc3RyYXRpb24oe30pCglpdHhuX2JlZ2luCglpbnQga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50IDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBpbm5lckdlbmVyaWMoKXZvaWQKKmFiaV9yb3V0ZV9pbm5lckdlbmVyaWM6CgkvLyBleGVjdXRlIGlubmVyR2VuZXJpYygpdm9pZAoJY2FsbHN1YiBpbm5lckdlbmVyaWMKCWludCAxCglyZXR1cm4KCi8vIGlubmVyR2VuZXJpYygpOiB2b2lkCmlubmVyR2VuZXJpYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjk5CgkvLyBzZW5kTWV0aG9kQ2FsbDxbSW5uZXJUeG48SW5uZXJBc3NldENyZWF0aW9uPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgY29uZmlnQXNzZXRUb3RhbDogMSB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50IGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IDEKCWludCAxCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnQgMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50IGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCW1ldGhvZCAiZm9vKHR4bil2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIG1ldGhvZEFyZ3M6IFt7IGNvbmZpZ0Fzc2V0VG90YWw6IDEgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludCAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInBheW1lbnQoKXZvaWQiCgltZXRob2QgImFzc2V0Q3JlYXRpb24oKXVpbnQ2NCIKCW1ldGhvZCAiYXBwQ2FsbCgpdm9pZCIKCW1ldGhvZCAiYXNzZXRDb25maWcoKXZvaWQiCgltZXRob2QgImFzc2V0RnJlZXplKCl2b2lkIgoJbWV0aG9kICJhc3NldFRyYW5zZmVyKCl2b2lkIgoJbWV0aG9kICJtZXRob2RDYWxsKCl1aW50NjQiCgltZXRob2QgIm9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZCIKCW1ldGhvZCAib2ZmbGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZCIKCW1ldGhvZCAiaW5uZXJHZW5lcmljKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wYXltZW50ICphYmlfcm91dGVfYXNzZXRDcmVhdGlvbiAqYWJpX3JvdXRlX2FwcENhbGwgKmFiaV9yb3V0ZV9hc3NldENvbmZpZyAqYWJpX3JvdXRlX2Fzc2V0RnJlZXplICphYmlfcm91dGVfYXNzZXRUcmFuc2ZlciAqYWJpX3JvdXRlX21ldGhvZENhbGwgKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb24gKmFiaV9yb3V0ZV9vZmZsaW5lS2V5UmVnaXN0cmF0aW9uICphYmlfcm91dGVfaW5uZXJHZW5lcmljCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/LoopsTest.approval.teal b/tests/contracts/artifacts/LoopsTest.approval.teal
index 664da93d7..37dfd6578 100644
--- a/tests/contracts/artifacts/LoopsTest.approval.teal
+++ b/tests/contracts/artifacts/LoopsTest.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/LoopsTest.arc32.json b/tests/contracts/artifacts/LoopsTest.arc32.json
index 8016727cf..218fdde12 100644
--- a/tests/contracts/artifacts/LoopsTest.arc32.json
+++ b/tests/contracts/artifacts/LoopsTest.arc32.json
@@ -79,7 +79,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB3aGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX3doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB3aGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiB3aGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB3aGlsZUxvb3AoKTogdWludDY0CndoaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMDoKCip3aGlsZV8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OQoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxMAoJPAoJYnogKndoaWxlXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqd2hpbGVfMAoKKndoaWxlXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTMKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGZvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2Zvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZm9yTG9vcCgpdWludDY0CgljYWxsc3ViIGZvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBmb3JMb29wKCk6IHVpbnQ2NApmb3JMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE3CgkvLyBpID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxOQoJLy8gZm9yIChsZXQgaiA9IDA7IGogPCAxMDsgaiA9IGogKyAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBqOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE5CgkvLyBqIDwgMTAKCWZyYW1lX2RpZyAxIC8vIGo6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MjAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTkKCS8vIGogPSBqICsgMQoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyMwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGRvV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9kb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGRvV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZG9XaGlsZUxvb3AoKTogdWludDY0CmRvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyNwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMF9zdGF0ZW1lbnQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMDoKCipkb193aGlsZV8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzEKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMTAKCTwKCWJueiAqZG9fd2hpbGVfMF9zdGF0ZW1lbnQKCipkb193aGlsZV8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjMzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBicmVha1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfYnJlYWtXaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtXaGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBicmVha1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJyZWFrV2hpbGVMb29wKCk6IHVpbnQ2NApicmVha1doaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzcKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKndoaWxlXzE6Cgoqd2hpbGVfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjM5CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqd2hpbGVfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo0MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKndoaWxlXzFfZW5kCgoqaWYwX2VuZDoKCWIgKndoaWxlXzEKCip3aGlsZV8xX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQ0CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBjb250aW51ZVdoaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfY29udGludWVXaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVXaGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBjb250aW51ZVdoaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGNvbnRpbnVlV2hpbGVMb29wKCk6IHVpbnQ2NApjb250aW51ZVdoaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDgKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKndoaWxlXzI6Cgoqd2hpbGVfMl9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjUwCgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqd2hpbGVfMl9lbmQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDUKCT09CglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTIKCS8vIGkgPSAxMzM3CglpbnQgMTMzNwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqd2hpbGVfMl9jb250aW51ZQoKKmlmMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1NQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8yCgoqd2hpbGVfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1OAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gYnJlYWtGb3JMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9icmVha0Zvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtGb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgYnJlYWtGb3JMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYnJlYWtGb3JMb29wKCk6IHVpbnQ2NApicmVha0Zvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjIKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY0CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjQKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMTAKCTwKCWJ6ICpmb3JfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY2CgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCWIgKmZvcl8xX2VuZAoKKmlmMl9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NAoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY5CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gY29udGludWVGb3JMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9jb250aW51ZUZvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVGb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgY29udGludWVGb3JMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY29udGludWVGb3JMb29wKCk6IHVpbnQ2NApjb250aW51ZUZvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzMKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjc1CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMTAKCTwKCWJ6ICpmb3JfMl9lbmQKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzYKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDUKCT09CglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzcKCS8vIGkgPSAxMzM3CglpbnQgMTMzNwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzJfY29udGludWUKCippZjNfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6ODAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGogPSBqICsgMQoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4MwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGJyZWFrRG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2JyZWFrRG9XaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtEb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGJyZWFrRG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBicmVha0RvV2hpbGVMb29wKCk6IHVpbnQ2NApicmVha0RvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4NwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMV9zdGF0ZW1lbnQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2NvbnNlcXVlbnQKCWIgKmRvX3doaWxlXzFfZW5kCgoqaWY0X2VuZDoKCipkb193aGlsZV8xOgoKKmRvX3doaWxlXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5MgoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxMAoJPAoJYm56ICpkb193aGlsZV8xX3N0YXRlbWVudAoKKmRvX3doaWxlXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OTQKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGNvbnRpbnVlRG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2NvbnRpbnVlRG9XaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVEb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGNvbnRpbnVlRG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjb250aW51ZURvV2hpbGVMb29wKCk6IHVpbnQ2NApjb250aW51ZURvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5OAoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMl9zdGF0ZW1lbnQ6CgkvLyAqaWY1X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwMgoJLy8gaSA9IDEzMzcKCWludCAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpkb193aGlsZV8yX2NvbnRpbnVlCgoqaWY1X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwNQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMjoKCipkb193aGlsZV8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTA2CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglibnogKmRvX3doaWxlXzJfc3RhdGVtZW50CgoqZG9fd2hpbGVfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDgKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ3aGlsZUxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiZm9yTG9vcCgpdWludDY0IgoJbWV0aG9kICJkb1doaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJicmVha1doaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJjb250aW51ZVdoaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJicmVha0Zvckxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiY29udGludWVGb3JMb29wKCl1aW50NjQiCgltZXRob2QgImJyZWFrRG9XaGlsZUxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiY29udGludWVEb1doaWxlTG9vcCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV93aGlsZUxvb3AgKmFiaV9yb3V0ZV9mb3JMb29wICphYmlfcm91dGVfZG9XaGlsZUxvb3AgKmFiaV9yb3V0ZV9icmVha1doaWxlTG9vcCAqYWJpX3JvdXRlX2NvbnRpbnVlV2hpbGVMb29wICphYmlfcm91dGVfYnJlYWtGb3JMb29wICphYmlfcm91dGVfY29udGludWVGb3JMb29wICphYmlfcm91dGVfYnJlYWtEb1doaWxlTG9vcCAqYWJpX3JvdXRlX2NvbnRpbnVlRG9XaGlsZUxvb3AKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB3aGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX3doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB3aGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiB3aGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB3aGlsZUxvb3AoKTogdWludDY0CndoaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMDoKCip3aGlsZV8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OQoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxMAoJPAoJYnogKndoaWxlXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqd2hpbGVfMAoKKndoaWxlXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTMKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGZvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2Zvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZm9yTG9vcCgpdWludDY0CgljYWxsc3ViIGZvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBmb3JMb29wKCk6IHVpbnQ2NApmb3JMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE3CgkvLyBpID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxOQoJLy8gZm9yIChsZXQgaiA9IDA7IGogPCAxMDsgaiA9IGogKyAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBqOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE5CgkvLyBqIDwgMTAKCWZyYW1lX2RpZyAxIC8vIGo6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MjAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTkKCS8vIGogPSBqICsgMQoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyMwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGRvV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9kb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGRvV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZG9XaGlsZUxvb3AoKTogdWludDY0CmRvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyNwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMF9zdGF0ZW1lbnQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMDoKCipkb193aGlsZV8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzEKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMTAKCTwKCWJueiAqZG9fd2hpbGVfMF9zdGF0ZW1lbnQKCipkb193aGlsZV8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjMzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBicmVha1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfYnJlYWtXaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtXaGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBicmVha1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJyZWFrV2hpbGVMb29wKCk6IHVpbnQ2NApicmVha1doaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzcKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKndoaWxlXzE6Cgoqd2hpbGVfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjM5CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqd2hpbGVfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo0MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKndoaWxlXzFfZW5kCgoqaWYwX2VuZDoKCWIgKndoaWxlXzEKCip3aGlsZV8xX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQ0CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBjb250aW51ZVdoaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfY29udGludWVXaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVXaGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBjb250aW51ZVdoaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGNvbnRpbnVlV2hpbGVMb29wKCk6IHVpbnQ2NApjb250aW51ZVdoaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDgKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKndoaWxlXzI6Cgoqd2hpbGVfMl9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjUwCgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqd2hpbGVfMl9lbmQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDUKCT09CglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTIKCS8vIGkgPSAxMzM3CglpbnQgMTMzNwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqd2hpbGVfMl9jb250aW51ZQoKKmlmMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1NQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8yCgoqd2hpbGVfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1OAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gYnJlYWtGb3JMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9icmVha0Zvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtGb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgYnJlYWtGb3JMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYnJlYWtGb3JMb29wKCk6IHVpbnQ2NApicmVha0Zvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjIKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY0CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjQKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMTAKCTwKCWJ6ICpmb3JfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY2CgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCWIgKmZvcl8xX2VuZAoKKmlmMl9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NAoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY5CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gY29udGludWVGb3JMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9jb250aW51ZUZvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVGb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgY29udGludWVGb3JMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY29udGludWVGb3JMb29wKCk6IHVpbnQ2NApjb250aW51ZUZvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzMKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjc1CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMTAKCTwKCWJ6ICpmb3JfMl9lbmQKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzYKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDUKCT09CglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzcKCS8vIGkgPSAxMzM3CglpbnQgMTMzNwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzJfY29udGludWUKCippZjNfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6ODAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGogPSBqICsgMQoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4MwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGJyZWFrRG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2JyZWFrRG9XaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtEb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGJyZWFrRG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBicmVha0RvV2hpbGVMb29wKCk6IHVpbnQ2NApicmVha0RvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4NwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMV9zdGF0ZW1lbnQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2NvbnNlcXVlbnQKCWIgKmRvX3doaWxlXzFfZW5kCgoqaWY0X2VuZDoKCipkb193aGlsZV8xOgoKKmRvX3doaWxlXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5MgoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxMAoJPAoJYm56ICpkb193aGlsZV8xX3N0YXRlbWVudAoKKmRvX3doaWxlXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OTQKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGNvbnRpbnVlRG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2NvbnRpbnVlRG9XaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVEb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGNvbnRpbnVlRG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjb250aW51ZURvV2hpbGVMb29wKCk6IHVpbnQ2NApjb250aW51ZURvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5OAoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMl9zdGF0ZW1lbnQ6CgkvLyAqaWY1X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwMgoJLy8gaSA9IDEzMzcKCWludCAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpkb193aGlsZV8yX2NvbnRpbnVlCgoqaWY1X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwNQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMjoKCipkb193aGlsZV8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTA2CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglibnogKmRvX3doaWxlXzJfc3RhdGVtZW50CgoqZG9fd2hpbGVfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDgKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ3aGlsZUxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiZm9yTG9vcCgpdWludDY0IgoJbWV0aG9kICJkb1doaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJicmVha1doaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJjb250aW51ZVdoaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJicmVha0Zvckxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiY29udGludWVGb3JMb29wKCl1aW50NjQiCgltZXRob2QgImJyZWFrRG9XaGlsZUxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiY29udGludWVEb1doaWxlTG9vcCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV93aGlsZUxvb3AgKmFiaV9yb3V0ZV9mb3JMb29wICphYmlfcm91dGVfZG9XaGlsZUxvb3AgKmFiaV9yb3V0ZV9icmVha1doaWxlTG9vcCAqYWJpX3JvdXRlX2NvbnRpbnVlV2hpbGVMb29wICphYmlfcm91dGVfYnJlYWtGb3JMb29wICphYmlfcm91dGVfY29udGludWVGb3JMb29wICphYmlfcm91dGVfYnJlYWtEb1doaWxlTG9vcCAqYWJpX3JvdXRlX2NvbnRpbnVlRG9XaGlsZUxvb3AKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/LoopsTest.arc56_draft.json b/tests/contracts/artifacts/LoopsTest.arc56_draft.json
index 16d92697b..03f4cff38 100644
--- a/tests/contracts/artifacts/LoopsTest.arc56_draft.json
+++ b/tests/contracts/artifacts/LoopsTest.arc56_draft.json
@@ -164,2338 +164,2341 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 5,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16
- ]
- },
- {
- "teal": 13,
- "source": 5,
- "pc": [
- 17,
- 18
- ]
- },
- {
- "teal": 14,
- "source": 5,
- "pc": [
- 19
- ]
- },
- {
- "teal": 15,
- "source": 5,
- "pc": [
- 20,
- 21
- ]
- },
- {
- "teal": 16,
- "source": 5,
- "pc": [
- 22
- ]
- },
- {
- "teal": 17,
- "source": 5,
- "pc": [
- 23,
- 24
- ]
- },
- {
- "teal": 18,
- "source": 5,
- "pc": [
- 25
- ]
- },
- {
- "teal": 19,
- "source": 5,
- "pc": [
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51
- ]
- },
- {
- "teal": 23,
- "source": 5,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 52
- ]
- },
- {
- "teal": 28,
- "source": 6,
- "pc": [
- 53
- ]
- },
- {
- "teal": 31,
- "source": 6,
- "pc": [
- 54,
- 55,
- 56
- ]
- },
- {
- "teal": 32,
- "source": 6,
- "pc": [
- 57
- ]
- },
- {
- "teal": 33,
- "source": 6,
- "pc": [
- 58
- ]
- },
- {
- "teal": 34,
- "source": 6,
- "pc": [
- 59
- ]
- },
- {
- "teal": 35,
- "source": 6,
- "pc": [
- 60
- ]
- },
- {
- "teal": 36,
- "source": 6,
- "pc": [
- 61
- ]
- },
- {
- "teal": 40,
- "source": 6,
- "pc": [
- 62,
- 63,
- 64
- ]
- },
- {
- "teal": 43,
- "source": 6,
- "pc": [
- 65
- ]
- },
- {
- "teal": 47,
- "source": 7,
- "pc": [
- 66
- ]
- },
- {
- "teal": 48,
- "source": 7,
- "pc": [
- 67,
- 68
- ]
- },
- {
- "teal": 55,
- "source": 9,
- "pc": [
- 69,
- 70
- ]
- },
- {
- "teal": 56,
- "source": 9,
- "pc": [
- 71
- ]
- },
- {
- "teal": 57,
- "source": 9,
- "pc": [
- 72
- ]
- },
- {
- "teal": 58,
- "source": 9,
- "pc": [
- 73,
- 74,
- 75
- ]
- },
- {
- "teal": 62,
- "source": 10,
- "pc": [
- 76,
- 77
- ]
- },
- {
- "teal": 63,
- "source": 10,
- "pc": [
- 78
- ]
- },
- {
- "teal": 64,
- "source": 10,
- "pc": [
- 79
- ]
- },
- {
- "teal": 65,
- "source": 10,
- "pc": [
- 80,
- 81
- ]
- },
- {
- "teal": 66,
- "source": 9,
- "pc": [
- 82,
- 83,
- 84
- ]
- },
- {
- "teal": 71,
- "source": 13,
- "pc": [
- 85,
- 86
- ]
- },
- {
- "teal": 74,
- "source": 6,
- "pc": [
- 87,
- 88
- ]
- },
- {
- "teal": 75,
- "source": 6,
- "pc": [
- 89
- ]
- },
- {
- "teal": 80,
- "source": 16,
- "pc": [
- 90
- ]
- },
- {
- "teal": 83,
- "source": 16,
- "pc": [
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 84,
- "source": 16,
- "pc": [
- 94
- ]
- },
- {
- "teal": 85,
- "source": 16,
- "pc": [
- 95
- ]
- },
- {
- "teal": 86,
- "source": 16,
- "pc": [
- 96
- ]
- },
- {
- "teal": 87,
- "source": 16,
- "pc": [
- 97
- ]
- },
- {
- "teal": 88,
- "source": 16,
- "pc": [
- 98
- ]
- },
- {
- "teal": 92,
- "source": 16,
- "pc": [
- 99,
- 100,
- 101
- ]
- },
- {
- "teal": 95,
- "source": 16,
- "pc": [
- 102
- ]
- },
- {
- "teal": 96,
- "source": 16,
- "pc": [
- 103
- ]
- },
- {
- "teal": 100,
- "source": 17,
- "pc": [
- 104
- ]
- },
- {
- "teal": 101,
- "source": 17,
- "pc": [
- 105,
- 106
- ]
- },
- {
- "teal": 105,
- "source": 19,
- "pc": [
- 107
- ]
- },
- {
- "teal": 106,
- "source": 19,
- "pc": [
- 108,
- 109
- ]
- },
- {
- "teal": 111,
- "source": 19,
- "pc": [
- 110,
- 111
- ]
- },
- {
- "teal": 112,
- "source": 19,
- "pc": [
- 112
- ]
- },
- {
- "teal": 113,
- "source": 19,
- "pc": [
- 113
- ]
- },
- {
- "teal": 114,
- "source": 19,
- "pc": [
- 114,
- 115,
- 116
- ]
- },
- {
- "teal": 118,
- "source": 20,
- "pc": [
- 117,
- 118
- ]
- },
- {
- "teal": 119,
- "source": 20,
- "pc": [
- 119
- ]
- },
- {
- "teal": 120,
- "source": 20,
- "pc": [
- 120
- ]
- },
- {
- "teal": 121,
- "source": 20,
- "pc": [
- 121,
- 122
- ]
- },
- {
- "teal": 126,
- "source": 19,
- "pc": [
- 123,
- 124
- ]
- },
- {
- "teal": 127,
- "source": 19,
- "pc": [
- 125
- ]
- },
- {
- "teal": 128,
- "source": 19,
- "pc": [
- 126
- ]
- },
- {
- "teal": 129,
- "source": 19,
- "pc": [
- 127,
- 128
- ]
- },
- {
- "teal": 130,
- "source": 19,
- "pc": [
- 129,
- 130,
- 131
- ]
- },
- {
- "teal": 135,
- "source": 23,
- "pc": [
- 132,
- 133
- ]
- },
- {
- "teal": 138,
- "source": 16,
- "pc": [
- 134,
- 135
- ]
- },
- {
- "teal": 141,
- "source": 16,
- "pc": [
- 136,
- 137
- ]
- },
- {
- "teal": 142,
- "source": 16,
- "pc": [
- 138
- ]
- },
- {
- "teal": 147,
- "source": 26,
- "pc": [
- 139
- ]
- },
- {
- "teal": 150,
- "source": 26,
- "pc": [
- 140,
- 141,
- 142
- ]
- },
- {
- "teal": 151,
- "source": 26,
- "pc": [
- 143
- ]
- },
- {
- "teal": 152,
- "source": 26,
- "pc": [
- 144
- ]
- },
- {
- "teal": 153,
- "source": 26,
- "pc": [
- 145
- ]
- },
- {
- "teal": 154,
- "source": 26,
- "pc": [
- 146
- ]
- },
- {
- "teal": 155,
- "source": 26,
- "pc": [
- 147
- ]
- },
- {
- "teal": 159,
- "source": 26,
- "pc": [
- 148,
- 149,
- 150
- ]
- },
- {
- "teal": 162,
- "source": 26,
- "pc": [
- 151
- ]
- },
- {
- "teal": 166,
- "source": 27,
- "pc": [
- 152
- ]
- },
- {
- "teal": 167,
- "source": 27,
- "pc": [
- 153,
- 154
- ]
- },
- {
- "teal": 172,
- "source": 30,
- "pc": [
- 155,
- 156
- ]
- },
- {
- "teal": 173,
- "source": 30,
- "pc": [
- 157
- ]
- },
- {
- "teal": 174,
- "source": 30,
- "pc": [
- 158
- ]
- },
- {
- "teal": 175,
- "source": 30,
- "pc": [
- 159,
- 160
- ]
- },
- {
- "teal": 182,
- "source": 31,
- "pc": [
- 161,
- 162
- ]
- },
- {
- "teal": 183,
- "source": 31,
- "pc": [
- 163
- ]
- },
- {
- "teal": 184,
- "source": 31,
- "pc": [
- 164
- ]
- },
- {
- "teal": 185,
- "source": 29,
- "pc": [
- 165,
- 166,
- 167
- ]
- },
- {
- "teal": 190,
- "source": 33,
- "pc": [
- 168,
- 169
- ]
- },
- {
- "teal": 193,
- "source": 26,
- "pc": [
- 170,
- 171
- ]
- },
- {
- "teal": 194,
- "source": 26,
- "pc": [
- 172
- ]
- },
- {
- "teal": 199,
- "source": 36,
- "pc": [
- 173
- ]
- },
- {
- "teal": 202,
- "source": 36,
- "pc": [
- 174,
- 175,
- 176
- ]
- },
- {
- "teal": 203,
- "source": 36,
- "pc": [
- 177
- ]
- },
- {
- "teal": 204,
- "source": 36,
- "pc": [
- 178
- ]
- },
- {
- "teal": 205,
- "source": 36,
- "pc": [
- 179
- ]
- },
- {
- "teal": 206,
- "source": 36,
- "pc": [
- 180
- ]
- },
- {
- "teal": 207,
- "source": 36,
- "pc": [
- 181
- ]
- },
- {
- "teal": 211,
- "source": 36,
- "pc": [
- 182,
- 183,
- 184
- ]
- },
- {
- "teal": 214,
- "source": 36,
- "pc": [
- 185
- ]
- },
- {
- "teal": 218,
- "source": 37,
- "pc": [
- 186
- ]
- },
- {
- "teal": 219,
- "source": 37,
- "pc": [
- 187,
- 188
- ]
- },
- {
- "teal": 226,
- "source": 39,
- "pc": [
- 189,
- 190
- ]
- },
- {
- "teal": 227,
- "source": 39,
- "pc": [
- 191
- ]
- },
- {
- "teal": 228,
- "source": 39,
- "pc": [
- 192
- ]
- },
- {
- "teal": 229,
- "source": 39,
- "pc": [
- 193,
- 194,
- 195
- ]
- },
- {
- "teal": 233,
- "source": 40,
- "pc": [
- 196,
- 197
- ]
- },
- {
- "teal": 234,
- "source": 40,
- "pc": [
- 198
- ]
- },
- {
- "teal": 235,
- "source": 40,
- "pc": [
- 199
- ]
- },
- {
- "teal": 236,
- "source": 40,
- "pc": [
- 200,
- 201
- ]
- },
- {
- "teal": 241,
- "source": 41,
- "pc": [
- 202,
- 203
- ]
- },
- {
- "teal": 242,
- "source": 41,
- "pc": [
- 204
- ]
- },
- {
- "teal": 243,
- "source": 41,
- "pc": [
- 205
- ]
- },
- {
- "teal": 244,
- "source": 41,
- "pc": [
- 206,
- 207,
- 208
- ]
- },
- {
- "teal": 247,
- "source": 41,
- "pc": [
- 209,
- 210,
- 211
- ]
- },
- {
- "teal": 250,
- "source": 39,
- "pc": [
- 212,
- 213,
- 214
- ]
- },
- {
- "teal": 255,
- "source": 44,
- "pc": [
- 215,
- 216
- ]
- },
- {
- "teal": 258,
- "source": 36,
- "pc": [
- 217,
- 218
- ]
- },
- {
- "teal": 259,
- "source": 36,
- "pc": [
- 219
- ]
- },
- {
- "teal": 264,
- "source": 47,
- "pc": [
- 220
- ]
- },
- {
- "teal": 267,
- "source": 47,
- "pc": [
- 221,
- 222,
- 223
- ]
- },
- {
- "teal": 268,
- "source": 47,
- "pc": [
- 224
- ]
- },
- {
- "teal": 269,
- "source": 47,
- "pc": [
- 225
- ]
- },
- {
- "teal": 270,
- "source": 47,
- "pc": [
- 226
- ]
- },
- {
- "teal": 271,
- "source": 47,
- "pc": [
- 227
- ]
- },
- {
- "teal": 272,
- "source": 47,
- "pc": [
- 228
- ]
- },
- {
- "teal": 276,
- "source": 47,
- "pc": [
- 229,
- 230,
- 231
- ]
- },
- {
- "teal": 279,
- "source": 47,
- "pc": [
- 232
- ]
- },
- {
- "teal": 283,
- "source": 48,
- "pc": [
- 233
- ]
- },
- {
- "teal": 284,
- "source": 48,
- "pc": [
- 234,
- 235
- ]
- },
- {
- "teal": 291,
- "source": 50,
- "pc": [
- 236,
- 237
- ]
- },
- {
- "teal": 292,
- "source": 50,
- "pc": [
- 238
- ]
- },
- {
- "teal": 293,
- "source": 50,
- "pc": [
- 239
- ]
- },
- {
- "teal": 294,
- "source": 50,
- "pc": [
- 240,
- 241,
- 242
- ]
- },
- {
- "teal": 299,
- "source": 51,
- "pc": [
- 243,
- 244
- ]
- },
- {
- "teal": 300,
- "source": 51,
- "pc": [
- 245
- ]
- },
- {
- "teal": 301,
- "source": 51,
- "pc": [
- 246
- ]
- },
- {
- "teal": 302,
- "source": 51,
- "pc": [
- 247,
- 248,
- 249
- ]
- },
- {
- "teal": 307,
- "source": 52,
- "pc": [
- 250,
- 251
- ]
- },
- {
- "teal": 308,
- "source": 52,
- "pc": [
- 252,
- 253
- ]
- },
- {
- "teal": 309,
- "source": 53,
- "pc": [
- 254,
- 255,
- 256
- ]
- },
- {
- "teal": 314,
- "source": 55,
- "pc": [
- 257,
- 258
- ]
- },
- {
- "teal": 315,
- "source": 55,
- "pc": [
- 259
- ]
- },
- {
- "teal": 316,
- "source": 55,
- "pc": [
- 260
- ]
- },
- {
- "teal": 317,
- "source": 55,
- "pc": [
- 261,
- 262
- ]
- },
- {
- "teal": 318,
- "source": 50,
- "pc": [
- 263,
- 264,
- 265
- ]
- },
- {
- "teal": 323,
- "source": 58,
- "pc": [
- 266,
- 267
- ]
- },
- {
- "teal": 326,
- "source": 47,
- "pc": [
- 268,
- 269
- ]
- },
- {
- "teal": 327,
- "source": 47,
- "pc": [
- 270
- ]
- },
- {
- "teal": 332,
- "source": 61,
- "pc": [
- 271
- ]
- },
- {
- "teal": 335,
- "source": 61,
- "pc": [
- 272,
- 273,
- 274
- ]
- },
- {
- "teal": 336,
- "source": 61,
- "pc": [
- 275
- ]
- },
- {
- "teal": 337,
- "source": 61,
- "pc": [
- 276
- ]
- },
- {
- "teal": 338,
- "source": 61,
- "pc": [
- 277
- ]
- },
- {
- "teal": 339,
- "source": 61,
- "pc": [
- 278
- ]
- },
- {
- "teal": 340,
- "source": 61,
- "pc": [
- 279
- ]
- },
- {
- "teal": 344,
- "source": 61,
- "pc": [
- 280,
- 281,
- 282
- ]
- },
- {
- "teal": 347,
- "source": 61,
- "pc": [
- 283
- ]
- },
- {
- "teal": 348,
- "source": 61,
- "pc": [
- 284
- ]
- },
- {
- "teal": 352,
- "source": 62,
- "pc": [
- 285
- ]
- },
- {
- "teal": 353,
- "source": 62,
- "pc": [
- 286,
- 287
- ]
- },
- {
- "teal": 357,
- "source": 64,
- "pc": [
- 288
- ]
- },
- {
- "teal": 358,
- "source": 64,
- "pc": [
- 289,
- 290
- ]
- },
- {
- "teal": 363,
- "source": 64,
- "pc": [
- 291,
- 292
- ]
- },
- {
- "teal": 364,
- "source": 64,
- "pc": [
- 293
- ]
- },
- {
- "teal": 365,
- "source": 64,
- "pc": [
- 294
- ]
- },
- {
- "teal": 366,
- "source": 64,
- "pc": [
- 295,
- 296,
- 297
- ]
- },
- {
- "teal": 370,
- "source": 65,
- "pc": [
- 298,
- 299
- ]
- },
- {
- "teal": 371,
- "source": 65,
- "pc": [
- 300
- ]
- },
- {
- "teal": 372,
- "source": 65,
- "pc": [
- 301
- ]
- },
- {
- "teal": 373,
- "source": 65,
- "pc": [
- 302,
- 303
- ]
- },
- {
- "teal": 378,
- "source": 66,
- "pc": [
- 304,
- 305
- ]
- },
- {
- "teal": 379,
- "source": 66,
- "pc": [
- 306
- ]
- },
- {
- "teal": 380,
- "source": 66,
- "pc": [
- 307
- ]
- },
- {
- "teal": 381,
- "source": 66,
- "pc": [
- 308,
- 309,
- 310
- ]
- },
- {
- "teal": 384,
- "source": 66,
- "pc": [
- 311,
- 312,
- 313
- ]
- },
- {
- "teal": 391,
- "source": 64,
- "pc": [
- 314,
- 315
- ]
- },
- {
- "teal": 392,
- "source": 64,
- "pc": [
- 316
- ]
- },
- {
- "teal": 393,
- "source": 64,
- "pc": [
- 317
- ]
- },
- {
- "teal": 394,
- "source": 64,
- "pc": [
- 318,
- 319
- ]
- },
- {
- "teal": 395,
- "source": 64,
- "pc": [
- 320,
- 321,
- 322
- ]
- },
- {
- "teal": 400,
- "source": 69,
- "pc": [
- 323,
- 324
- ]
- },
- {
- "teal": 403,
- "source": 61,
- "pc": [
- 325,
- 326
- ]
- },
- {
- "teal": 406,
- "source": 61,
- "pc": [
- 327,
- 328
- ]
- },
- {
- "teal": 407,
- "source": 61,
- "pc": [
- 329
- ]
- },
- {
- "teal": 412,
- "source": 72,
- "pc": [
- 330
- ]
- },
- {
- "teal": 415,
- "source": 72,
- "pc": [
- 331,
- 332,
- 333
- ]
- },
- {
- "teal": 416,
- "source": 72,
- "pc": [
- 334
- ]
- },
- {
- "teal": 417,
- "source": 72,
- "pc": [
- 335
- ]
- },
- {
- "teal": 418,
- "source": 72,
- "pc": [
- 336
- ]
- },
- {
- "teal": 419,
- "source": 72,
- "pc": [
- 337
- ]
- },
- {
- "teal": 420,
- "source": 72,
- "pc": [
- 338
- ]
- },
- {
- "teal": 424,
- "source": 72,
- "pc": [
- 339,
- 340,
- 341
- ]
- },
- {
- "teal": 427,
- "source": 72,
- "pc": [
- 342
- ]
- },
- {
- "teal": 428,
- "source": 72,
- "pc": [
- 343
- ]
- },
- {
- "teal": 432,
- "source": 73,
- "pc": [
- 344
- ]
- },
- {
- "teal": 433,
- "source": 73,
- "pc": [
- 345,
- 346
- ]
- },
- {
- "teal": 437,
- "source": 75,
- "pc": [
- 347
- ]
- },
- {
- "teal": 438,
- "source": 75,
- "pc": [
- 348,
- 349
- ]
- },
- {
- "teal": 443,
- "source": 75,
- "pc": [
- 350,
- 351
- ]
- },
- {
- "teal": 444,
- "source": 75,
- "pc": [
- 352
- ]
- },
- {
- "teal": 445,
- "source": 75,
- "pc": [
- 353
- ]
- },
- {
- "teal": 446,
- "source": 75,
- "pc": [
- 354,
- 355,
- 356
- ]
- },
- {
- "teal": 451,
- "source": 76,
- "pc": [
- 357,
- 358
- ]
- },
- {
- "teal": 452,
- "source": 76,
- "pc": [
- 359
- ]
- },
- {
- "teal": 453,
- "source": 76,
- "pc": [
- 360
- ]
- },
- {
- "teal": 454,
- "source": 76,
- "pc": [
- 361,
- 362,
- 363
- ]
- },
- {
- "teal": 459,
- "source": 77,
- "pc": [
- 364,
- 365
- ]
- },
- {
- "teal": 460,
- "source": 77,
- "pc": [
- 366,
- 367
- ]
- },
- {
- "teal": 461,
- "source": 78,
- "pc": [
- 368,
- 369,
- 370
- ]
- },
- {
- "teal": 466,
- "source": 80,
- "pc": [
- 371,
- 372
- ]
- },
- {
- "teal": 467,
- "source": 80,
- "pc": [
- 373
- ]
- },
- {
- "teal": 468,
- "source": 80,
- "pc": [
- 374
- ]
- },
- {
- "teal": 469,
- "source": 80,
- "pc": [
- 375,
- 376
- ]
- },
- {
- "teal": 474,
- "source": 75,
- "pc": [
- 377,
- 378
- ]
- },
- {
- "teal": 475,
- "source": 75,
- "pc": [
- 379
- ]
- },
- {
- "teal": 476,
- "source": 75,
- "pc": [
- 380
- ]
- },
- {
- "teal": 477,
- "source": 75,
- "pc": [
- 381,
- 382
- ]
- },
- {
- "teal": 478,
- "source": 75,
- "pc": [
- 383,
- 384,
- 385
- ]
- },
- {
- "teal": 483,
- "source": 83,
- "pc": [
- 386,
- 387
- ]
- },
- {
- "teal": 486,
- "source": 72,
- "pc": [
- 388,
- 389
- ]
- },
- {
- "teal": 489,
- "source": 72,
- "pc": [
- 390,
- 391
- ]
- },
- {
- "teal": 490,
- "source": 72,
- "pc": [
- 392
- ]
- },
- {
- "teal": 495,
- "source": 86,
- "pc": [
- 393
- ]
- },
- {
- "teal": 498,
- "source": 86,
- "pc": [
- 394,
- 395,
- 396
- ]
- },
- {
- "teal": 499,
- "source": 86,
- "pc": [
- 397
- ]
- },
- {
- "teal": 500,
- "source": 86,
- "pc": [
- 398
- ]
- },
- {
- "teal": 501,
- "source": 86,
- "pc": [
- 399
- ]
- },
- {
- "teal": 502,
- "source": 86,
- "pc": [
- 400
- ]
- },
- {
- "teal": 503,
- "source": 86,
- "pc": [
- 401
- ]
- },
- {
- "teal": 507,
- "source": 86,
- "pc": [
- 402,
- 403,
- 404
- ]
- },
- {
- "teal": 510,
- "source": 86,
- "pc": [
- 405
- ]
- },
- {
- "teal": 514,
- "source": 87,
- "pc": [
- 406
- ]
- },
- {
- "teal": 515,
- "source": 87,
- "pc": [
- 407,
- 408
- ]
- },
- {
- "teal": 520,
- "source": 90,
- "pc": [
- 409,
- 410
- ]
- },
- {
- "teal": 521,
- "source": 90,
- "pc": [
- 411
- ]
- },
- {
- "teal": 522,
- "source": 90,
- "pc": [
- 412
- ]
- },
- {
- "teal": 523,
- "source": 90,
- "pc": [
- 413,
- 414
- ]
- },
- {
- "teal": 528,
- "source": 91,
- "pc": [
- 415,
- 416
- ]
- },
- {
- "teal": 529,
- "source": 91,
- "pc": [
- 417
- ]
- },
- {
- "teal": 530,
- "source": 91,
- "pc": [
- 418
- ]
- },
- {
- "teal": 531,
- "source": 91,
- "pc": [
- 419,
- 420,
- 421
- ]
- },
- {
- "teal": 534,
- "source": 91,
- "pc": [
- 422,
- 423,
- 424
- ]
- },
- {
- "teal": 543,
- "source": 92,
- "pc": [
- 425,
- 426
- ]
- },
- {
- "teal": 544,
- "source": 92,
- "pc": [
- 427
- ]
- },
- {
- "teal": 545,
- "source": 92,
- "pc": [
- 428
- ]
- },
- {
- "teal": 546,
- "source": 89,
- "pc": [
- 429,
- 430,
- 431
- ]
- },
- {
- "teal": 551,
- "source": 94,
- "pc": [
- 432,
- 433
- ]
- },
- {
- "teal": 554,
- "source": 86,
- "pc": [
- 434,
- 435
- ]
- },
- {
- "teal": 555,
- "source": 86,
- "pc": [
- 436
- ]
- },
- {
- "teal": 560,
- "source": 97,
- "pc": [
- 437
- ]
- },
- {
- "teal": 563,
- "source": 97,
- "pc": [
- 438,
- 439,
- 440
- ]
- },
- {
- "teal": 564,
- "source": 97,
- "pc": [
- 441
- ]
- },
- {
- "teal": 565,
- "source": 97,
- "pc": [
- 442
- ]
- },
- {
- "teal": 566,
- "source": 97,
- "pc": [
- 443
- ]
- },
- {
- "teal": 567,
- "source": 97,
- "pc": [
- 444
- ]
- },
- {
- "teal": 568,
- "source": 97,
- "pc": [
- 445
- ]
- },
- {
- "teal": 572,
- "source": 97,
- "pc": [
- 446,
- 447,
- 448
- ]
- },
- {
- "teal": 575,
- "source": 97,
- "pc": [
- 449
- ]
- },
- {
- "teal": 579,
- "source": 98,
- "pc": [
- 450
- ]
- },
- {
- "teal": 580,
- "source": 98,
- "pc": [
- 451,
- 452
- ]
- },
- {
- "teal": 586,
- "source": 101,
- "pc": [
- 453,
- 454
- ]
- },
- {
- "teal": 587,
- "source": 101,
- "pc": [
- 455
- ]
- },
- {
- "teal": 588,
- "source": 101,
- "pc": [
- 456
- ]
- },
- {
- "teal": 589,
- "source": 101,
- "pc": [
- 457,
- 458,
- 459
- ]
- },
- {
- "teal": 594,
- "source": 102,
- "pc": [
- 460,
- 461
- ]
- },
- {
- "teal": 595,
- "source": 102,
- "pc": [
- 462,
- 463
- ]
- },
- {
- "teal": 596,
- "source": 103,
- "pc": [
- 464,
- 465,
- 466
- ]
- },
- {
- "teal": 601,
- "source": 105,
- "pc": [
- 467,
- 468
- ]
- },
- {
- "teal": 602,
- "source": 105,
- "pc": [
- 469
- ]
- },
- {
- "teal": 603,
- "source": 105,
- "pc": [
- 470
- ]
- },
- {
- "teal": 604,
- "source": 105,
- "pc": [
- 471,
- 472
- ]
- },
- {
- "teal": 611,
- "source": 106,
- "pc": [
- 473,
- 474
- ]
- },
- {
- "teal": 612,
- "source": 106,
- "pc": [
- 475
- ]
- },
- {
- "teal": 613,
- "source": 106,
- "pc": [
- 476
- ]
- },
- {
- "teal": 614,
- "source": 100,
- "pc": [
- 477,
- 478,
- 479
- ]
- },
- {
- "teal": 619,
- "source": 108,
- "pc": [
- 480,
- 481
- ]
- },
- {
- "teal": 622,
- "source": 97,
- "pc": [
- 482,
- 483
- ]
- },
- {
- "teal": 623,
- "source": 97,
- "pc": [
- 484
- ]
- },
- {
- "teal": 626,
- "source": 5,
- "pc": [
- 485
- ]
- },
- {
- "teal": 627,
- "source": 5,
- "pc": [
- 486
- ]
- },
- {
- "teal": 630,
- "source": 5,
- "pc": [
- 487,
- 488,
- 489,
- 490,
- 491,
- 492
- ]
- },
- {
- "teal": 631,
- "source": 5,
- "pc": [
- 493,
- 494,
- 495
- ]
- },
- {
- "teal": 632,
- "source": 5,
- "pc": [
- 496,
- 497,
- 498,
- 499
- ]
- },
- {
- "teal": 635,
- "source": 5,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 500
- ]
- },
- {
- "teal": 638,
- "source": 5,
- "pc": [
- 501,
- 502,
- 503,
- 504,
- 505,
- 506
- ]
- },
- {
- "teal": 639,
- "source": 5,
- "pc": [
- 507,
- 508,
- 509,
- 510,
- 511,
- 512
- ]
- },
- {
- "teal": 640,
- "source": 5,
- "pc": [
- 513,
- 514,
- 515,
- 516,
- 517,
- 518
- ]
- },
- {
- "teal": 641,
- "source": 5,
- "pc": [
- 519,
- 520,
- 521,
- 522,
- 523,
- 524
- ]
- },
- {
- "teal": 642,
- "source": 5,
- "pc": [
- 525,
- 526,
- 527,
- 528,
- 529,
- 530
- ]
- },
- {
- "teal": 643,
- "source": 5,
- "pc": [
- 531,
- 532,
- 533,
- 534,
- 535,
- 536
- ]
- },
- {
- "teal": 644,
- "source": 5,
- "pc": [
- 537,
- 538,
- 539,
- 540,
- 541,
- 542
- ]
- },
- {
- "teal": 645,
- "source": 5,
- "pc": [
- 543,
- 544,
- 545,
- 546,
- 547,
- 548
- ]
- },
- {
- "teal": 646,
- "source": 5,
- "pc": [
- 549,
- 550,
- 551,
- 552,
- 553,
- 554
- ]
- },
- {
- "teal": 647,
- "source": 5,
- "pc": [
- 555,
- 556,
- 557
- ]
- },
- {
- "teal": 648,
- "source": 5,
- "pc": [
- 558,
- 559,
- 560,
- 561,
- 562,
- 563,
- 564,
- 565,
- 566,
- 567,
- 568,
- 569,
- 570,
- 571,
- 572,
- 573,
- 574,
- 575,
- 576,
- 577
- ]
- },
- {
- "teal": 651,
- "source": 5,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 578
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 5,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 5,
+ "pc": [
+ 17,
+ 18
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 5,
+ "pc": [
+ 19
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 5,
+ "pc": [
+ 20,
+ 21
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 5,
+ "pc": [
+ 22
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 5,
+ "pc": [
+ 23,
+ 24
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 5,
+ "pc": [
+ 25
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 5,
+ "pc": [
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 5,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 52
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 6,
+ "pc": [
+ 53
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 6,
+ "pc": [
+ 54,
+ 55,
+ 56
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 6,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 33,
+ "source": 6,
+ "pc": [
+ 58
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 6,
+ "pc": [
+ 59
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 6,
+ "pc": [
+ 60
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 6,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 6,
+ "pc": [
+ 62,
+ 63,
+ 64
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 6,
+ "pc": [
+ 65
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 7,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 7,
+ "pc": [
+ 67,
+ 68
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 9,
+ "pc": [
+ 69,
+ 70
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 9,
+ "pc": [
+ 71
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 9,
+ "pc": [
+ 72
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 9,
+ "pc": [
+ 73,
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 10,
+ "pc": [
+ 76,
+ 77
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 10,
+ "pc": [
+ 78
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 10,
+ "pc": [
+ 79
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 10,
+ "pc": [
+ 80,
+ 81
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 9,
+ "pc": [
+ 82,
+ 83,
+ 84
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 13,
+ "pc": [
+ 85,
+ 86
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 6,
+ "pc": [
+ 87,
+ 88
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 6,
+ "pc": [
+ 89
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 16,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 16,
+ "pc": [
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 16,
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 16,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 16,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 16,
+ "pc": [
+ 97
+ ]
+ },
+ {
+ "teal": 88,
+ "source": 16,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 16,
+ "pc": [
+ 99,
+ 100,
+ 101
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 16,
+ "pc": [
+ 102
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 16,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 17,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 17,
+ "pc": [
+ 105,
+ 106
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 19,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 19,
+ "pc": [
+ 108,
+ 109
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 19,
+ "pc": [
+ 110,
+ 111
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 19,
+ "pc": [
+ 112
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 19,
+ "pc": [
+ 113
+ ]
+ },
+ {
+ "teal": 114,
+ "source": 19,
+ "pc": [
+ 114,
+ 115,
+ 116
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 20,
+ "pc": [
+ 117,
+ 118
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 20,
+ "pc": [
+ 119
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 20,
+ "pc": [
+ 120
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 20,
+ "pc": [
+ 121,
+ 122
+ ]
+ },
+ {
+ "teal": 126,
+ "source": 19,
+ "pc": [
+ 123,
+ 124
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 19,
+ "pc": [
+ 125
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 19,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 19,
+ "pc": [
+ 127,
+ 128
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 19,
+ "pc": [
+ 129,
+ 130,
+ 131
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 23,
+ "pc": [
+ 132,
+ 133
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 16,
+ "pc": [
+ 134,
+ 135
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 16,
+ "pc": [
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 16,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 147,
+ "source": 26,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 26,
+ "pc": [
+ 140,
+ 141,
+ 142
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 26,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 152,
+ "source": 26,
+ "pc": [
+ 144
+ ]
+ },
+ {
+ "teal": 153,
+ "source": 26,
+ "pc": [
+ 145
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 26,
+ "pc": [
+ 146
+ ]
+ },
+ {
+ "teal": 155,
+ "source": 26,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 26,
+ "pc": [
+ 148,
+ 149,
+ 150
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 26,
+ "pc": [
+ 151
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 27,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 27,
+ "pc": [
+ 153,
+ 154
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 30,
+ "pc": [
+ 155,
+ 156
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 30,
+ "pc": [
+ 157
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 30,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 175,
+ "source": 30,
+ "pc": [
+ 159,
+ 160
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 31,
+ "pc": [
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 31,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 184,
+ "source": 31,
+ "pc": [
+ 164
+ ]
+ },
+ {
+ "teal": 185,
+ "source": 29,
+ "pc": [
+ 165,
+ 166,
+ 167
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 33,
+ "pc": [
+ 168,
+ 169
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 26,
+ "pc": [
+ 170,
+ 171
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 26,
+ "pc": [
+ 172
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 36,
+ "pc": [
+ 173
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 36,
+ "pc": [
+ 174,
+ 175,
+ 176
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 36,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 204,
+ "source": 36,
+ "pc": [
+ 178
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 36,
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 206,
+ "source": 36,
+ "pc": [
+ 180
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 36,
+ "pc": [
+ 181
+ ]
+ },
+ {
+ "teal": 211,
+ "source": 36,
+ "pc": [
+ 182,
+ 183,
+ 184
+ ]
+ },
+ {
+ "teal": 214,
+ "source": 36,
+ "pc": [
+ 185
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 37,
+ "pc": [
+ 186
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 37,
+ "pc": [
+ 187,
+ 188
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 39,
+ "pc": [
+ 189,
+ 190
+ ]
+ },
+ {
+ "teal": 227,
+ "source": 39,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 39,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 39,
+ "pc": [
+ 193,
+ 194,
+ 195
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 40,
+ "pc": [
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 234,
+ "source": 40,
+ "pc": [
+ 198
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 40,
+ "pc": [
+ 199
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 40,
+ "pc": [
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 41,
+ "pc": [
+ 202,
+ 203
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 41,
+ "pc": [
+ 204
+ ]
+ },
+ {
+ "teal": 243,
+ "source": 41,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 244,
+ "source": 41,
+ "pc": [
+ 206,
+ 207,
+ 208
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 41,
+ "pc": [
+ 209,
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 39,
+ "pc": [
+ 212,
+ 213,
+ 214
+ ]
+ },
+ {
+ "teal": 255,
+ "source": 44,
+ "pc": [
+ 215,
+ 216
+ ]
+ },
+ {
+ "teal": 258,
+ "source": 36,
+ "pc": [
+ 217,
+ 218
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 36,
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 47,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 47,
+ "pc": [
+ 221,
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 47,
+ "pc": [
+ 224
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 47,
+ "pc": [
+ 225
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 47,
+ "pc": [
+ 226
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 47,
+ "pc": [
+ 227
+ ]
+ },
+ {
+ "teal": 272,
+ "source": 47,
+ "pc": [
+ 228
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 47,
+ "pc": [
+ 229,
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 47,
+ "pc": [
+ 232
+ ]
+ },
+ {
+ "teal": 283,
+ "source": 48,
+ "pc": [
+ 233
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 48,
+ "pc": [
+ 234,
+ 235
+ ]
+ },
+ {
+ "teal": 291,
+ "source": 50,
+ "pc": [
+ 236,
+ 237
+ ]
+ },
+ {
+ "teal": 292,
+ "source": 50,
+ "pc": [
+ 238
+ ]
+ },
+ {
+ "teal": 293,
+ "source": 50,
+ "pc": [
+ 239
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 50,
+ "pc": [
+ 240,
+ 241,
+ 242
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 51,
+ "pc": [
+ 243,
+ 244
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 51,
+ "pc": [
+ 245
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 51,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 302,
+ "source": 51,
+ "pc": [
+ 247,
+ 248,
+ 249
+ ]
+ },
+ {
+ "teal": 307,
+ "source": 52,
+ "pc": [
+ 250,
+ 251
+ ]
+ },
+ {
+ "teal": 308,
+ "source": 52,
+ "pc": [
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 53,
+ "pc": [
+ 254,
+ 255,
+ 256
+ ]
+ },
+ {
+ "teal": 314,
+ "source": 55,
+ "pc": [
+ 257,
+ 258
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 55,
+ "pc": [
+ 259
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 55,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 55,
+ "pc": [
+ 261,
+ 262
+ ]
+ },
+ {
+ "teal": 318,
+ "source": 50,
+ "pc": [
+ 263,
+ 264,
+ 265
+ ]
+ },
+ {
+ "teal": 323,
+ "source": 58,
+ "pc": [
+ 266,
+ 267
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 47,
+ "pc": [
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 47,
+ "pc": [
+ 270
+ ]
+ },
+ {
+ "teal": 332,
+ "source": 61,
+ "pc": [
+ 271
+ ]
+ },
+ {
+ "teal": 335,
+ "source": 61,
+ "pc": [
+ 272,
+ 273,
+ 274
+ ]
+ },
+ {
+ "teal": 336,
+ "source": 61,
+ "pc": [
+ 275
+ ]
+ },
+ {
+ "teal": 337,
+ "source": 61,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 61,
+ "pc": [
+ 277
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 61,
+ "pc": [
+ 278
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 61,
+ "pc": [
+ 279
+ ]
+ },
+ {
+ "teal": 344,
+ "source": 61,
+ "pc": [
+ 280,
+ 281,
+ 282
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 61,
+ "pc": [
+ 283
+ ]
+ },
+ {
+ "teal": 348,
+ "source": 61,
+ "pc": [
+ 284
+ ]
+ },
+ {
+ "teal": 352,
+ "source": 62,
+ "pc": [
+ 285
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 62,
+ "pc": [
+ 286,
+ 287
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 64,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 358,
+ "source": 64,
+ "pc": [
+ 289,
+ 290
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 64,
+ "pc": [
+ 291,
+ 292
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 64,
+ "pc": [
+ 293
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 64,
+ "pc": [
+ 294
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 64,
+ "pc": [
+ 295,
+ 296,
+ 297
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 65,
+ "pc": [
+ 298,
+ 299
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 65,
+ "pc": [
+ 300
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 65,
+ "pc": [
+ 301
+ ]
+ },
+ {
+ "teal": 373,
+ "source": 65,
+ "pc": [
+ 302,
+ 303
+ ]
+ },
+ {
+ "teal": 378,
+ "source": 66,
+ "pc": [
+ 304,
+ 305
+ ]
+ },
+ {
+ "teal": 379,
+ "source": 66,
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 380,
+ "source": 66,
+ "pc": [
+ 307
+ ]
+ },
+ {
+ "teal": 381,
+ "source": 66,
+ "pc": [
+ 308,
+ 309,
+ 310
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 66,
+ "pc": [
+ 311,
+ 312,
+ 313
+ ]
+ },
+ {
+ "teal": 391,
+ "source": 64,
+ "pc": [
+ 314,
+ 315
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 64,
+ "pc": [
+ 316
+ ]
+ },
+ {
+ "teal": 393,
+ "source": 64,
+ "pc": [
+ 317
+ ]
+ },
+ {
+ "teal": 394,
+ "source": 64,
+ "pc": [
+ 318,
+ 319
+ ]
+ },
+ {
+ "teal": 395,
+ "source": 64,
+ "pc": [
+ 320,
+ 321,
+ 322
+ ]
+ },
+ {
+ "teal": 400,
+ "source": 69,
+ "pc": [
+ 323,
+ 324
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 61,
+ "pc": [
+ 325,
+ 326
+ ]
+ },
+ {
+ "teal": 406,
+ "source": 61,
+ "pc": [
+ 327,
+ 328
+ ]
+ },
+ {
+ "teal": 407,
+ "source": 61,
+ "pc": [
+ 329
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 72,
+ "pc": [
+ 330
+ ]
+ },
+ {
+ "teal": 415,
+ "source": 72,
+ "pc": [
+ 331,
+ 332,
+ 333
+ ]
+ },
+ {
+ "teal": 416,
+ "source": 72,
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 72,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 418,
+ "source": 72,
+ "pc": [
+ 336
+ ]
+ },
+ {
+ "teal": 419,
+ "source": 72,
+ "pc": [
+ 337
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 72,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 72,
+ "pc": [
+ 339,
+ 340,
+ 341
+ ]
+ },
+ {
+ "teal": 427,
+ "source": 72,
+ "pc": [
+ 342
+ ]
+ },
+ {
+ "teal": 428,
+ "source": 72,
+ "pc": [
+ 343
+ ]
+ },
+ {
+ "teal": 432,
+ "source": 73,
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 433,
+ "source": 73,
+ "pc": [
+ 345,
+ 346
+ ]
+ },
+ {
+ "teal": 437,
+ "source": 75,
+ "pc": [
+ 347
+ ]
+ },
+ {
+ "teal": 438,
+ "source": 75,
+ "pc": [
+ 348,
+ 349
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 75,
+ "pc": [
+ 350,
+ 351
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 75,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 445,
+ "source": 75,
+ "pc": [
+ 353
+ ]
+ },
+ {
+ "teal": 446,
+ "source": 75,
+ "pc": [
+ 354,
+ 355,
+ 356
+ ]
+ },
+ {
+ "teal": 451,
+ "source": 76,
+ "pc": [
+ 357,
+ 358
+ ]
+ },
+ {
+ "teal": 452,
+ "source": 76,
+ "pc": [
+ 359
+ ]
+ },
+ {
+ "teal": 453,
+ "source": 76,
+ "pc": [
+ 360
+ ]
+ },
+ {
+ "teal": 454,
+ "source": 76,
+ "pc": [
+ 361,
+ 362,
+ 363
+ ]
+ },
+ {
+ "teal": 459,
+ "source": 77,
+ "pc": [
+ 364,
+ 365
+ ]
+ },
+ {
+ "teal": 460,
+ "source": 77,
+ "pc": [
+ 366,
+ 367
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 78,
+ "pc": [
+ 368,
+ 369,
+ 370
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 80,
+ "pc": [
+ 371,
+ 372
+ ]
+ },
+ {
+ "teal": 467,
+ "source": 80,
+ "pc": [
+ 373
+ ]
+ },
+ {
+ "teal": 468,
+ "source": 80,
+ "pc": [
+ 374
+ ]
+ },
+ {
+ "teal": 469,
+ "source": 80,
+ "pc": [
+ 375,
+ 376
+ ]
+ },
+ {
+ "teal": 474,
+ "source": 75,
+ "pc": [
+ 377,
+ 378
+ ]
+ },
+ {
+ "teal": 475,
+ "source": 75,
+ "pc": [
+ 379
+ ]
+ },
+ {
+ "teal": 476,
+ "source": 75,
+ "pc": [
+ 380
+ ]
+ },
+ {
+ "teal": 477,
+ "source": 75,
+ "pc": [
+ 381,
+ 382
+ ]
+ },
+ {
+ "teal": 478,
+ "source": 75,
+ "pc": [
+ 383,
+ 384,
+ 385
+ ]
+ },
+ {
+ "teal": 483,
+ "source": 83,
+ "pc": [
+ 386,
+ 387
+ ]
+ },
+ {
+ "teal": 486,
+ "source": 72,
+ "pc": [
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 489,
+ "source": 72,
+ "pc": [
+ 390,
+ 391
+ ]
+ },
+ {
+ "teal": 490,
+ "source": 72,
+ "pc": [
+ 392
+ ]
+ },
+ {
+ "teal": 495,
+ "source": 86,
+ "pc": [
+ 393
+ ]
+ },
+ {
+ "teal": 498,
+ "source": 86,
+ "pc": [
+ 394,
+ 395,
+ 396
+ ]
+ },
+ {
+ "teal": 499,
+ "source": 86,
+ "pc": [
+ 397
+ ]
+ },
+ {
+ "teal": 500,
+ "source": 86,
+ "pc": [
+ 398
+ ]
+ },
+ {
+ "teal": 501,
+ "source": 86,
+ "pc": [
+ 399
+ ]
+ },
+ {
+ "teal": 502,
+ "source": 86,
+ "pc": [
+ 400
+ ]
+ },
+ {
+ "teal": 503,
+ "source": 86,
+ "pc": [
+ 401
+ ]
+ },
+ {
+ "teal": 507,
+ "source": 86,
+ "pc": [
+ 402,
+ 403,
+ 404
+ ]
+ },
+ {
+ "teal": 510,
+ "source": 86,
+ "pc": [
+ 405
+ ]
+ },
+ {
+ "teal": 514,
+ "source": 87,
+ "pc": [
+ 406
+ ]
+ },
+ {
+ "teal": 515,
+ "source": 87,
+ "pc": [
+ 407,
+ 408
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 90,
+ "pc": [
+ 409,
+ 410
+ ]
+ },
+ {
+ "teal": 521,
+ "source": 90,
+ "pc": [
+ 411
+ ]
+ },
+ {
+ "teal": 522,
+ "source": 90,
+ "pc": [
+ 412
+ ]
+ },
+ {
+ "teal": 523,
+ "source": 90,
+ "pc": [
+ 413,
+ 414
+ ]
+ },
+ {
+ "teal": 528,
+ "source": 91,
+ "pc": [
+ 415,
+ 416
+ ]
+ },
+ {
+ "teal": 529,
+ "source": 91,
+ "pc": [
+ 417
+ ]
+ },
+ {
+ "teal": 530,
+ "source": 91,
+ "pc": [
+ 418
+ ]
+ },
+ {
+ "teal": 531,
+ "source": 91,
+ "pc": [
+ 419,
+ 420,
+ 421
+ ]
+ },
+ {
+ "teal": 534,
+ "source": 91,
+ "pc": [
+ 422,
+ 423,
+ 424
+ ]
+ },
+ {
+ "teal": 543,
+ "source": 92,
+ "pc": [
+ 425,
+ 426
+ ]
+ },
+ {
+ "teal": 544,
+ "source": 92,
+ "pc": [
+ 427
+ ]
+ },
+ {
+ "teal": 545,
+ "source": 92,
+ "pc": [
+ 428
+ ]
+ },
+ {
+ "teal": 546,
+ "source": 89,
+ "pc": [
+ 429,
+ 430,
+ 431
+ ]
+ },
+ {
+ "teal": 551,
+ "source": 94,
+ "pc": [
+ 432,
+ 433
+ ]
+ },
+ {
+ "teal": 554,
+ "source": 86,
+ "pc": [
+ 434,
+ 435
+ ]
+ },
+ {
+ "teal": 555,
+ "source": 86,
+ "pc": [
+ 436
+ ]
+ },
+ {
+ "teal": 560,
+ "source": 97,
+ "pc": [
+ 437
+ ]
+ },
+ {
+ "teal": 563,
+ "source": 97,
+ "pc": [
+ 438,
+ 439,
+ 440
+ ]
+ },
+ {
+ "teal": 564,
+ "source": 97,
+ "pc": [
+ 441
+ ]
+ },
+ {
+ "teal": 565,
+ "source": 97,
+ "pc": [
+ 442
+ ]
+ },
+ {
+ "teal": 566,
+ "source": 97,
+ "pc": [
+ 443
+ ]
+ },
+ {
+ "teal": 567,
+ "source": 97,
+ "pc": [
+ 444
+ ]
+ },
+ {
+ "teal": 568,
+ "source": 97,
+ "pc": [
+ 445
+ ]
+ },
+ {
+ "teal": 572,
+ "source": 97,
+ "pc": [
+ 446,
+ 447,
+ 448
+ ]
+ },
+ {
+ "teal": 575,
+ "source": 97,
+ "pc": [
+ 449
+ ]
+ },
+ {
+ "teal": 579,
+ "source": 98,
+ "pc": [
+ 450
+ ]
+ },
+ {
+ "teal": 580,
+ "source": 98,
+ "pc": [
+ 451,
+ 452
+ ]
+ },
+ {
+ "teal": 586,
+ "source": 101,
+ "pc": [
+ 453,
+ 454
+ ]
+ },
+ {
+ "teal": 587,
+ "source": 101,
+ "pc": [
+ 455
+ ]
+ },
+ {
+ "teal": 588,
+ "source": 101,
+ "pc": [
+ 456
+ ]
+ },
+ {
+ "teal": 589,
+ "source": 101,
+ "pc": [
+ 457,
+ 458,
+ 459
+ ]
+ },
+ {
+ "teal": 594,
+ "source": 102,
+ "pc": [
+ 460,
+ 461
+ ]
+ },
+ {
+ "teal": 595,
+ "source": 102,
+ "pc": [
+ 462,
+ 463
+ ]
+ },
+ {
+ "teal": 596,
+ "source": 103,
+ "pc": [
+ 464,
+ 465,
+ 466
+ ]
+ },
+ {
+ "teal": 601,
+ "source": 105,
+ "pc": [
+ 467,
+ 468
+ ]
+ },
+ {
+ "teal": 602,
+ "source": 105,
+ "pc": [
+ 469
+ ]
+ },
+ {
+ "teal": 603,
+ "source": 105,
+ "pc": [
+ 470
+ ]
+ },
+ {
+ "teal": 604,
+ "source": 105,
+ "pc": [
+ 471,
+ 472
+ ]
+ },
+ {
+ "teal": 611,
+ "source": 106,
+ "pc": [
+ 473,
+ 474
+ ]
+ },
+ {
+ "teal": 612,
+ "source": 106,
+ "pc": [
+ 475
+ ]
+ },
+ {
+ "teal": 613,
+ "source": 106,
+ "pc": [
+ 476
+ ]
+ },
+ {
+ "teal": 614,
+ "source": 100,
+ "pc": [
+ 477,
+ 478,
+ 479
+ ]
+ },
+ {
+ "teal": 619,
+ "source": 108,
+ "pc": [
+ 480,
+ 481
+ ]
+ },
+ {
+ "teal": 622,
+ "source": 97,
+ "pc": [
+ 482,
+ 483
+ ]
+ },
+ {
+ "teal": 623,
+ "source": 97,
+ "pc": [
+ 484
+ ]
+ },
+ {
+ "teal": 626,
+ "source": 5,
+ "pc": [
+ 485
+ ]
+ },
+ {
+ "teal": 627,
+ "source": 5,
+ "pc": [
+ 486
+ ]
+ },
+ {
+ "teal": 630,
+ "source": 5,
+ "pc": [
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492
+ ]
+ },
+ {
+ "teal": 631,
+ "source": 5,
+ "pc": [
+ 493,
+ 494,
+ 495
+ ]
+ },
+ {
+ "teal": 632,
+ "source": 5,
+ "pc": [
+ 496,
+ 497,
+ 498,
+ 499
+ ]
+ },
+ {
+ "teal": 635,
+ "source": 5,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 500
+ ]
+ },
+ {
+ "teal": 638,
+ "source": 5,
+ "pc": [
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506
+ ]
+ },
+ {
+ "teal": 639,
+ "source": 5,
+ "pc": [
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512
+ ]
+ },
+ {
+ "teal": 640,
+ "source": 5,
+ "pc": [
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518
+ ]
+ },
+ {
+ "teal": 641,
+ "source": 5,
+ "pc": [
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524
+ ]
+ },
+ {
+ "teal": 642,
+ "source": 5,
+ "pc": [
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530
+ ]
+ },
+ {
+ "teal": 643,
+ "source": 5,
+ "pc": [
+ 531,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536
+ ]
+ },
+ {
+ "teal": 644,
+ "source": 5,
+ "pc": [
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542
+ ]
+ },
+ {
+ "teal": 645,
+ "source": 5,
+ "pc": [
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548
+ ]
+ },
+ {
+ "teal": 646,
+ "source": 5,
+ "pc": [
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554
+ ]
+ },
+ {
+ "teal": 647,
+ "source": 5,
+ "pc": [
+ 555,
+ 556,
+ 557
+ ]
+ },
+ {
+ "teal": 648,
+ "source": 5,
+ "pc": [
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ 564,
+ 565,
+ 566,
+ 567,
+ 568,
+ 569,
+ 570,
+ 571,
+ 572,
+ 573,
+ 574,
+ 575,
+ 576,
+ 577
+ ]
+ },
+ {
+ "teal": 651,
+ "source": 5,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 578
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB3aGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX3doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB3aGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiB3aGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB3aGlsZUxvb3AoKTogdWludDY0CndoaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMDoKCip3aGlsZV8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OQoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxMAoJPAoJYnogKndoaWxlXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqd2hpbGVfMAoKKndoaWxlXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTMKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGZvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2Zvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZm9yTG9vcCgpdWludDY0CgljYWxsc3ViIGZvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBmb3JMb29wKCk6IHVpbnQ2NApmb3JMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE3CgkvLyBpID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxOQoJLy8gZm9yIChsZXQgaiA9IDA7IGogPCAxMDsgaiA9IGogKyAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBqOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE5CgkvLyBqIDwgMTAKCWZyYW1lX2RpZyAxIC8vIGo6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MjAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTkKCS8vIGogPSBqICsgMQoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyMwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGRvV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9kb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGRvV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZG9XaGlsZUxvb3AoKTogdWludDY0CmRvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyNwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMF9zdGF0ZW1lbnQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMDoKCipkb193aGlsZV8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzEKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMTAKCTwKCWJueiAqZG9fd2hpbGVfMF9zdGF0ZW1lbnQKCipkb193aGlsZV8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjMzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBicmVha1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfYnJlYWtXaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtXaGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBicmVha1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJyZWFrV2hpbGVMb29wKCk6IHVpbnQ2NApicmVha1doaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzcKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKndoaWxlXzE6Cgoqd2hpbGVfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjM5CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqd2hpbGVfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo0MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKndoaWxlXzFfZW5kCgoqaWYwX2VuZDoKCWIgKndoaWxlXzEKCip3aGlsZV8xX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQ0CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBjb250aW51ZVdoaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfY29udGludWVXaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVXaGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBjb250aW51ZVdoaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGNvbnRpbnVlV2hpbGVMb29wKCk6IHVpbnQ2NApjb250aW51ZVdoaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDgKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKndoaWxlXzI6Cgoqd2hpbGVfMl9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjUwCgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqd2hpbGVfMl9lbmQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDUKCT09CglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTIKCS8vIGkgPSAxMzM3CglpbnQgMTMzNwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqd2hpbGVfMl9jb250aW51ZQoKKmlmMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1NQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8yCgoqd2hpbGVfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1OAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gYnJlYWtGb3JMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9icmVha0Zvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtGb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgYnJlYWtGb3JMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYnJlYWtGb3JMb29wKCk6IHVpbnQ2NApicmVha0Zvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjIKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY0CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjQKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMTAKCTwKCWJ6ICpmb3JfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY2CgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCWIgKmZvcl8xX2VuZAoKKmlmMl9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NAoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY5CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gY29udGludWVGb3JMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9jb250aW51ZUZvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVGb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgY29udGludWVGb3JMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY29udGludWVGb3JMb29wKCk6IHVpbnQ2NApjb250aW51ZUZvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzMKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjc1CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMTAKCTwKCWJ6ICpmb3JfMl9lbmQKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzYKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDUKCT09CglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzcKCS8vIGkgPSAxMzM3CglpbnQgMTMzNwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzJfY29udGludWUKCippZjNfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6ODAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGogPSBqICsgMQoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4MwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGJyZWFrRG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2JyZWFrRG9XaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtEb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGJyZWFrRG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBicmVha0RvV2hpbGVMb29wKCk6IHVpbnQ2NApicmVha0RvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4NwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMV9zdGF0ZW1lbnQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2NvbnNlcXVlbnQKCWIgKmRvX3doaWxlXzFfZW5kCgoqaWY0X2VuZDoKCipkb193aGlsZV8xOgoKKmRvX3doaWxlXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5MgoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxMAoJPAoJYm56ICpkb193aGlsZV8xX3N0YXRlbWVudAoKKmRvX3doaWxlXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OTQKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGNvbnRpbnVlRG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2NvbnRpbnVlRG9XaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVEb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGNvbnRpbnVlRG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjb250aW51ZURvV2hpbGVMb29wKCk6IHVpbnQ2NApjb250aW51ZURvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5OAoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMl9zdGF0ZW1lbnQ6CgkvLyAqaWY1X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwMgoJLy8gaSA9IDEzMzcKCWludCAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpkb193aGlsZV8yX2NvbnRpbnVlCgoqaWY1X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwNQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMjoKCipkb193aGlsZV8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTA2CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglibnogKmRvX3doaWxlXzJfc3RhdGVtZW50CgoqZG9fd2hpbGVfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDgKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ3aGlsZUxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiZm9yTG9vcCgpdWludDY0IgoJbWV0aG9kICJkb1doaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJicmVha1doaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJjb250aW51ZVdoaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJicmVha0Zvckxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiY29udGludWVGb3JMb29wKCl1aW50NjQiCgltZXRob2QgImJyZWFrRG9XaGlsZUxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiY29udGludWVEb1doaWxlTG9vcCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV93aGlsZUxvb3AgKmFiaV9yb3V0ZV9mb3JMb29wICphYmlfcm91dGVfZG9XaGlsZUxvb3AgKmFiaV9yb3V0ZV9icmVha1doaWxlTG9vcCAqYWJpX3JvdXRlX2NvbnRpbnVlV2hpbGVMb29wICphYmlfcm91dGVfYnJlYWtGb3JMb29wICphYmlfcm91dGVfY29udGludWVGb3JMb29wICphYmlfcm91dGVfYnJlYWtEb1doaWxlTG9vcCAqYWJpX3JvdXRlX2NvbnRpbnVlRG9XaGlsZUxvb3AKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB3aGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX3doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB3aGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiB3aGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB3aGlsZUxvb3AoKTogdWludDY0CndoaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMDoKCip3aGlsZV8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OQoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxMAoJPAoJYnogKndoaWxlXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqd2hpbGVfMAoKKndoaWxlXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTMKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGZvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2Zvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZm9yTG9vcCgpdWludDY0CgljYWxsc3ViIGZvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBmb3JMb29wKCk6IHVpbnQ2NApmb3JMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE3CgkvLyBpID0gMAoJaW50IDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxOQoJLy8gZm9yIChsZXQgaiA9IDA7IGogPCAxMDsgaiA9IGogKyAxKQoJaW50IDAKCWZyYW1lX2J1cnkgMSAvLyBqOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE5CgkvLyBqIDwgMTAKCWZyYW1lX2RpZyAxIC8vIGo6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MjAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTkKCS8vIGogPSBqICsgMQoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyMwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGRvV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9kb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGRvV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZG9XaGlsZUxvb3AoKTogdWludDY0CmRvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyNwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMF9zdGF0ZW1lbnQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMDoKCipkb193aGlsZV8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzEKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMTAKCTwKCWJueiAqZG9fd2hpbGVfMF9zdGF0ZW1lbnQKCipkb193aGlsZV8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjMzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBicmVha1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfYnJlYWtXaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtXaGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBicmVha1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJyZWFrV2hpbGVMb29wKCk6IHVpbnQ2NApicmVha1doaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzcKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKndoaWxlXzE6Cgoqd2hpbGVfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjM5CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqd2hpbGVfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo0MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKndoaWxlXzFfZW5kCgoqaWYwX2VuZDoKCWIgKndoaWxlXzEKCip3aGlsZV8xX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQ0CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBjb250aW51ZVdoaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfY29udGludWVXaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVXaGlsZUxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBjb250aW51ZVdoaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGNvbnRpbnVlV2hpbGVMb29wKCk6IHVpbnQ2NApjb250aW51ZVdoaWxlTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDgKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKndoaWxlXzI6Cgoqd2hpbGVfMl9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjUwCgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglieiAqd2hpbGVfMl9lbmQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDUKCT09CglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTIKCS8vIGkgPSAxMzM3CglpbnQgMTMzNwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqd2hpbGVfMl9jb250aW51ZQoKKmlmMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1NQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8yCgoqd2hpbGVfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1OAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gYnJlYWtGb3JMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9icmVha0Zvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtGb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgYnJlYWtGb3JMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYnJlYWtGb3JMb29wKCk6IHVpbnQ2NApicmVha0Zvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjIKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY0CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjQKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMTAKCTwKCWJ6ICpmb3JfMV9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY2CgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCWIgKmZvcl8xX2VuZAoKKmlmMl9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NAoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY5CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gY29udGludWVGb3JMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9jb250aW51ZUZvckxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVGb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgY29udGludWVGb3JMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gY29udGludWVGb3JMb29wKCk6IHVpbnQ2NApjb250aW51ZUZvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzMKCS8vIGkgPSAwCglpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjc1CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnQgMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMTAKCTwKCWJ6ICpmb3JfMl9lbmQKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzYKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDUKCT09CglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzcKCS8vIGkgPSAxMzM3CglpbnQgMTMzNwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzJfY29udGludWUKCippZjNfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6ODAKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGogPSBqICsgMQoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnQgMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4MwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGJyZWFrRG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2JyZWFrRG9XaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnJlYWtEb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGJyZWFrRG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBicmVha0RvV2hpbGVMb29wKCk6IHVpbnQ2NApicmVha0RvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4NwoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMV9zdGF0ZW1lbnQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2NvbnNlcXVlbnQKCWIgKmRvX3doaWxlXzFfZW5kCgoqaWY0X2VuZDoKCipkb193aGlsZV8xOgoKKmRvX3doaWxlXzFfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5MgoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxMAoJPAoJYm56ICpkb193aGlsZV8xX3N0YXRlbWVudAoKKmRvX3doaWxlXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OTQKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGNvbnRpbnVlRG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2NvbnRpbnVlRG9XaGlsZUxvb3A6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29udGludWVEb1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGNvbnRpbnVlRG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBjb250aW51ZURvV2hpbGVMb29wKCk6IHVpbnQ2NApjb250aW51ZURvV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5OAoJLy8gaSA9IDAKCWludCAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMl9zdGF0ZW1lbnQ6CgkvLyAqaWY1X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAxCgkvLyBpID09PSA1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCA1Cgk9PQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwMgoJLy8gaSA9IDEzMzcKCWludCAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpkb193aGlsZV8yX2NvbnRpbnVlCgoqaWY1X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwNQoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludCAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZG9fd2hpbGVfMjoKCipkb193aGlsZV8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTA2CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50IDEwCgk8CglibnogKmRvX3doaWxlXzJfc3RhdGVtZW50CgoqZG9fd2hpbGVfMl9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDgKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ3aGlsZUxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiZm9yTG9vcCgpdWludDY0IgoJbWV0aG9kICJkb1doaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJicmVha1doaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJjb250aW51ZVdoaWxlTG9vcCgpdWludDY0IgoJbWV0aG9kICJicmVha0Zvckxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiY29udGludWVGb3JMb29wKCl1aW50NjQiCgltZXRob2QgImJyZWFrRG9XaGlsZUxvb3AoKXVpbnQ2NCIKCW1ldGhvZCAiY29udGludWVEb1doaWxlTG9vcCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV93aGlsZUxvb3AgKmFiaV9yb3V0ZV9mb3JMb29wICphYmlfcm91dGVfZG9XaGlsZUxvb3AgKmFiaV9yb3V0ZV9icmVha1doaWxlTG9vcCAqYWJpX3JvdXRlX2NvbnRpbnVlV2hpbGVMb29wICphYmlfcm91dGVfYnJlYWtGb3JMb29wICphYmlfcm91dGVfY29udGludWVGb3JMb29wICphYmlfcm91dGVfYnJlYWtEb1doaWxlTG9vcCAqYWJpX3JvdXRlX2NvbnRpbnVlRG9XaGlsZUxvb3AKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/LsigWithArgs.lsig.teal b/tests/contracts/artifacts/LsigWithArgs.lsig.teal
index e886d96c4..6ce4759fd 100644
--- a/tests/contracts/artifacts/LsigWithArgs.lsig.teal
+++ b/tests/contracts/artifacts/LsigWithArgs.lsig.teal
@@ -1,7 +1,7 @@
#pragma version 10
//#pragma mode logicsig
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// The address of this logic signature is W6DDEFBKZB2HZYJ6WYJ3S3RSK57IRNV4LACOOLBGVDEWJ524RQWF5EBMTU
diff --git a/tests/contracts/artifacts/LsigWithPrivateMethod.lsig.teal b/tests/contracts/artifacts/LsigWithPrivateMethod.lsig.teal
index cd0453037..1bd82dfd3 100644
--- a/tests/contracts/artifacts/LsigWithPrivateMethod.lsig.teal
+++ b/tests/contracts/artifacts/LsigWithPrivateMethod.lsig.teal
@@ -1,7 +1,7 @@
#pragma version 10
//#pragma mode logicsig
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// The address of this logic signature is 2G7X6ZCAOFJOVGTOAGVL2ZKKJSLUSV2XFG4SKH3JRUIZ7EY7JWY3T7EQGI
diff --git a/tests/contracts/artifacts/MathTest.approval.teal b/tests/contracts/artifacts/MathTest.approval.teal
index 4bb8725be..e3df959e6 100644
--- a/tests/contracts/artifacts/MathTest.approval.teal
+++ b/tests/contracts/artifacts/MathTest.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/MathTest.arc32.json b/tests/contracts/artifacts/MathTest.arc32.json
index 5be911b9c..cd4c25c4a 100644
--- a/tests/contracts/artifacts/MathTest.arc32.json
+++ b/tests/contracts/artifacts/MathTest.arc32.json
@@ -244,7 +244,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfdTY0cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NHBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1NjRwbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NHBsdXM6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjgKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gdTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiB1NjRtaW51cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NG1pbnVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NG1pbnVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMgoJLy8gcmV0dXJuIGEgLSBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJcmV0c3ViCgovLyB1NjRtdWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtdWw6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NG11bAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NG11bChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAp1NjRtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2CgkvLyByZXR1cm4gYSAqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkqCglyZXRzdWIKCi8vIHU2NGRpdih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3U2NGRpdjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgdTY0ZGl2CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTY0ZGl2KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NGRpdjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAKCS8vIHJldHVybiBhIC8gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCS8KCXJldHN1YgoKLy8gdTI1NnBsdXModWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV91MjU2cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1NnBsdXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZwbHVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZwbHVzCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1MjU2cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHUyNTZwbHVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyNAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIrCglyZXRzdWIKCi8vIHUyNTZtaW51cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm1pbnVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1MjU2bWludXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtaW51cwoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gdTI1Nm1pbnVzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTI1Nm1pbnVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtaW51czoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjgKCS8vIHJldHVybiA8dWludDI1Nj4oYSAtIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJcmV0c3ViCgovLyB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfdTI1Nm11bDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtdWwKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHUyNTZtdWwgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1MjU2bXVsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjMyCgkvLyByZXR1cm4gPHVpbnQyNTY+KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYioKCXJldHN1YgoKLy8gdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZkaXY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1MjU2ZGl2CglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1MjU2ZGl2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTI1NmRpdihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1MjU2ZGl2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czozNgoJLy8gcmV0dXJuIDx1aW50MjU2PihhIC8gYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIvCglyZXRzdWIKCi8vIHU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYKKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0UmV0dXJuMjU2KHVpbnQ2NCx1aW50NjQpdWludDI1NgoJY2FsbHN1YiB1NjRSZXR1cm4yNTYKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHU2NFJldHVybjI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NFJldHVybjI1NihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQyNTYKdTY0UmV0dXJuMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0MAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglpdG9iCglyZXRzdWIKCi8vIG1heFU2NCgpdWludDY0CiphYmlfcm91dGVfbWF4VTY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1heFU2NCgpdWludDY0CgljYWxsc3ViIG1heFU2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG1heFU2NCgpOiB1aW50NjQKbWF4VTY0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0NAoJLy8gcmV0dXJuIFVpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpOwoJaW50IDE4NDQ2NzQ0MDczNzA5NTUxNjE1CglyZXRzdWIKCi8vIGV4cG9uZW50KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwb25lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZXhwb25lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHBvbmVudChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHBvbmVudDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NDgKCS8vIHJldHVybiBhICoqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHAKCXJldHN1YgoKLy8gdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKKmFiaV9yb3V0ZV92YXJpYWJsZVR5cGVIaW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHkpIGZvciB2YXJpYWJsZVR5cGVIaW50IG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8geDogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdmFyaWFibGVUeXBlSGludCBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKCWNhbGxzdWIgdmFyaWFibGVUeXBlSGludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyB2YXJpYWJsZVR5cGVIaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB2YXJpYWJsZVR5cGVIaW50KHg6IHVpbnQ8OD4sIHk6IHVpbnQ8OD4pOiB1aW50MTYKdmFyaWFibGVUeXBlSGludDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1MgoJLy8geiA9IDx1aW50MTY+KHggKyB5KQoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50PDg+CgkrCglmcmFtZV9idXJ5IDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NTQKCS8vIHJldHVybiB6OwoJZnJhbWVfZGlnIDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyB1aW50OHBsdXModWludDgsdWludDgpdWludDgKKmFiaV9yb3V0ZV91aW50OHBsdXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdWludDhwbHVzKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4cGx1cwoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIHVpbnQ4cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1aW50OHBsdXMoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1OAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CgkrCglyZXRzdWIKCi8vIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CiphYmlfcm91dGVfdWludDhleHA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4ZXhwIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDhleHAgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4ZXhwCglpdG9iCglkdXAKCWJpdGxlbgoJaW50IDgKCTw9CgoJLy8gdWludDhleHAgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludDhleHAoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhleHA6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjYyCgkvLyByZXR1cm4gYSAqKiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CglleHAKCXJldHN1YgoKLy8gcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3BsdXNFcXVhbHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcGx1c0VxdWFscyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwbHVzRXF1YWxzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjY2CgkvLyB4ID0gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NjgKCS8vIHggKz0gYgoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3MAoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGx1c0VxdWFsc0Zyb21HbG9iYWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzRnJvbUdsb2JhbAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNGcm9tR2xvYmFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBsdXNFcXVhbHNGcm9tR2xvYmFsOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3NAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gYQoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjc2CgkvLyB0aGlzLmdLZXkudmFsdWUgKz0gYgoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3OAoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCi8vIGJveFRlc3QoKXVpbnQyNTYKKmFiaV9yb3V0ZV9ib3hUZXN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveFRlc3QoKXVpbnQyNTYKCWNhbGxzdWIgYm94VGVzdAoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYm94VGVzdCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJveFRlc3QoKTogdWludDI1Ngpib3hUZXN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo4NAoJLy8gdGhpcy5ib3hLZXkudmFsdWUgPSA8dWludDI1Nj4xCglieXRlIDB4NjI2Zjc4NGI2NTc5IC8vICJib3hLZXkiCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODUKCS8vIHRoaXMuYm94S2V5LnZhbHVlICs9IDEKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCgliKwoJYnl0ZSAweDYyNmY3ODRiNjU3OSAvLyAiYm94S2V5IgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gdGhpcy5ib3hLZXkudmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODcKCS8vIHJldHVybiB0aGlzLmJveEtleS52YWx1ZTsKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCXJldHN1YgoKLy8gZm9vKHg6IHVpbnQyNTYpOiB1aW50MjU2CmZvbzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTEKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCXJldHN1YgoKLy8gdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1bnNhZmVNZXRob2RBcmdzCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1bnNhZmVNZXRob2RBcmdzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdW5zYWZlTWV0aG9kQXJncyhhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1bnNhZmVNZXRob2RBcmdzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjk1CgkvLyBjID0gYSArIGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCWZyYW1lX2J1cnkgMCAvLyBjOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLmZvbyhjKTsKCWZyYW1lX2RpZyAwIC8vIGM6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyBjIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNhbGxzdWIgZm9vCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJpc29uVHlwZToKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJpc29uVHlwZSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDI1NkNvbXBhcmlzb25UeXBlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyaXNvblR5cGUKCWludCAxCglyZXR1cm4KCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZShhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyaXNvblR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAxCgkvLyBzZW5kZXJCYWxhbmNlQWZ0ZXIgPSBhIC0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJZnJhbWVfYnVyeSAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDIKCS8vIHNlbmRlckJhbGFuY2VBZnRlciA+IDx1aW50MjU2PjAKCWZyYW1lX2RpZyAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliPgoJYnogKmlmMF9lbHNlCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEwMwoJLy8gbG9nKCdub25aZXJvJykKCWJ5dGUgMHg2ZTZmNmU1YTY1NzI2ZiAvLyAibm9uWmVybyIKCWxvZwoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDUKCS8vIGxvZygnemVybycpCglieXRlIDB4N2E2NTcyNmYgLy8gInplcm8iCglsb2cKCippZjBfZW5kOgoJcmV0c3ViCgovLyBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3F1YXJlUm9vdDI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHNxdWFyZVJvb3QyNTYKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHNxdWFyZVJvb3QyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcXVhcmVSb290MjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnNxdWFyZVJvb3QyNTY6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExMAoJLy8gcmV0dXJuIHNxcnQoYSAqIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKgoJYnNxcnQKCXJldHN1YgoKLy8gc3F1YXJlUm9vdDY0KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfc3F1YXJlUm9vdDY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBzcXVhcmVSb290NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcXVhcmVSb290NjQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKc3F1YXJlUm9vdDY0OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMTQKCS8vIHJldHVybiBzcXJ0KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbAoqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyKSBmb3IgYWRkcmVzc1RvQmlnSW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wKCWNhbGxzdWIgYWRkcmVzc1RvQmlnSW50CglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZHJlc3NUb0JpZ0ludChhZGRyOiBBZGRyZXNzKTogYm9vbGVhbgphZGRyZXNzVG9CaWdJbnQ6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExOAoJLy8gcmV0dXJuIGJ0b2JpZ2ludChhZGRyKSA+IGJ0b2JpZ2ludCh0aGlzLnR4bi5zZW5kZXIpOwoJZnJhbWVfZGlnIC0xIC8vIGFkZHI6IEFkZHJlc3MKCXR4biBTZW5kZXIKCWI+CglyZXRzdWIKCi8vIHU4VG91NjQoKXVpbnQ2NAoqYWJpX3JvdXRlX3U4VG91NjQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdThUb3U2NCgpdWludDY0CgljYWxsc3ViIHU4VG91NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1OFRvdTY0KCk6IHVpbnQ2NAp1OFRvdTY0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEyMgoJLy8geDogdWludDggPSA3CglpbnQgNwoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjMKCS8vIHJldHVybiA8dWludDY0Png7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBwcml2YXRlRnVuY05hbWUoeDogdWludDgsIHk6IHVpbnQ2NCk6IHZvaWQKcHJpdmF0ZUZ1bmNOYW1lOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjcKCS8vIGFzc2VydCg8dWludDg+eSA+IHgpCglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDgKCT4KCWFzc2VydAoJcmV0c3ViCgovLyBmdW5jTmFtZSh1aW50MjU2KXZvaWQKKmFiaV9yb3V0ZV9mdW5jTmFtZToKCS8vIHg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZ1bmNOYW1lIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGZ1bmNOYW1lKHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBmdW5jTmFtZQoJaW50IDEKCXJldHVybgoKLy8gZnVuY05hbWUoeDogdWludDI1Nik6IHZvaWQKZnVuY05hbWU6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzMQoJLy8gdGhpcy5wcml2YXRlRnVuY05hbWUoPHVpbnQ4PngsIDEzMzcpCglpbnQgMTMzNwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyA8dWludDg+eCBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDMxIDEKCWJ0b2kKCWNhbGxzdWIgcHJpdmF0ZUZ1bmNOYW1lCglyZXRzdWIKCi8vIGJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaWdpbnRQbHVzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYmlnaW50UGx1cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpZ2ludFBsdXMoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYmlnaW50UGx1czoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNQoJLy8geCA9IGl0b2IoYSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMCAvLyB4OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNgoJLy8geSA9IGl0b2IoYikKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyB5OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNwoJLy8gcmV0dXJuIChidG9iaWdpbnQoeCkgKyBidG9iaWdpbnQoeSkpIGFzIHVpbnQ2NDsKCWZyYW1lX2RpZyAwIC8vIHg6IGJ5dGVbXQoJZnJhbWVfZGlnIDEgLy8geTogYnl0ZVtdCgliKwoJZHVwCgliaXRsZW4KCWludCA2NAoJPD0KCgkvLyAoYnRvYmlnaW50KHgpICsgYnRvYmlnaW50KHkpKSBhcyB1aW50NjQgb3ZlcmZsb3dlZCA2NCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VPcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXR3aXNlT3IodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZU9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYml0d2lzZU9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmJpdHdpc2VPcjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQxCgkvLyByZXR1cm4gYSB8IGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgl8CglyZXRzdWIKCi8vIGJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaXR3aXNlQW5kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZUFuZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VBbmQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZUFuZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQ1CgkvLyByZXR1cm4gYSAmIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkmCglyZXRzdWIKCi8vIGJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaXR3aXNlWG9yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZVhvcgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VYb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZVhvcjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQ5CgkvLyByZXR1cm4gYSBeIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgleCglyZXRzdWIKCi8vIGJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlT3JVMjU2OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBiaXR3aXNlT3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlT3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKCWNhbGxzdWIgYml0d2lzZU9yVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZU9yVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VPclUyNTYoYTogdWludDI1NiwgYjogdWludDI1Nik6IHVpbnQyNTYKYml0d2lzZU9yVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTUzCgkvLyByZXR1cm4gYSB8IGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWJ8CglyZXRzdWIKCi8vIGJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZUFuZFUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VBbmRVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlQW5kVTI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaXR3aXNlQW5kVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlQW5kVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZUFuZFUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlQW5kVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlQW5kVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTU3CgkvLyByZXR1cm4gYSAmIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWImCglyZXRzdWIKCi8vIGJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZVhvclUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VYb3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlWG9yVTI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaXR3aXNlWG9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlWG9yVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZVhvclUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlWG9yVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlWG9yVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTYxCgkvLyByZXR1cm4gYSBeIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWJeCglyZXRzdWIKCi8vIGJpdHdpc2VOb3QodWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VOb3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZU5vdCh1aW50NjQpdWludDY0CgljYWxsc3ViIGJpdHdpc2VOb3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlTm90KGE6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlTm90OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjUKCS8vIHJldHVybiB+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCX4KCXJldHN1YgoKLy8gYml0d2lzZU5vdFUyNTYodWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZU5vdFUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGJpdHdpc2VOb3RVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VOb3RVMjU2KHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlTm90VTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZU5vdFUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlTm90VTI1NihhOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlTm90VTI1NjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTY5CgkvLyByZXR1cm4gfmE7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJYn4KCXJldHN1YgoKLy8gbXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX211bHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBtdWx3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbXVsdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAptdWx3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTczCgkvLyBwID0gbXVsdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTc3CgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2FkZHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhZGR3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAphZGR3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTgxCgkvLyBwID0gYWRkdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJYWRkdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTg1CgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2V4cHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBleHB3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZXhwdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHB3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTg5CgkvLyBwID0gZXhwdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZXhwdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTkzCgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Rpdnc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBkaXZ3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGl2dyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApkaXZ3OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxOTcKCS8vIHJldHVybiBkaXZ3KDAsIGEsIGIpOwoJaW50IDAKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWRpdncKCXJldHN1YgoKLy8gZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Rpdm1vZHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBkaXZtb2R3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGl2bW9kdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApkaXZtb2R3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAxCgkvLyBwID0gZGl2bW9kdygwLCBhLCAwLCBiKQoJaW50IDAKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWludCAwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglkaXZtb2R3CglmcmFtZV9idXJ5IDAgLy8gcCByZW1haW5kZXJMb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgcmVtYWluZGVySGlnaDogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gcCBxdW90aWVudExvdzogdWludDY0CglmcmFtZV9idXJ5IDMgLy8gcCBxdW90aWVudEhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjA1CgkvLyByZXR1cm4gcDIucXVvdGllbnRMb3c7CglmcmFtZV9kaWcgMiAvLyBwIHF1b3RpZW50TG93OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCi8vIHVuc2FmZVZhcmlhYmxlcygpdWludDY0CiphYmlfcm91dGVfdW5zYWZlVmFyaWFibGVzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVuc2FmZVZhcmlhYmxlcygpdWludDY0CgljYWxsc3ViIHVuc2FmZVZhcmlhYmxlcwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVuc2FmZVZhcmlhYmxlcygpOiB1aW50NjQKdW5zYWZlVmFyaWFibGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjA5CgkvLyBBID0gPHVpbnQyNTY+MjUwMDAwMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZWU2YjI4MAoJZnJhbWVfYnVyeSAwIC8vIEE6IHVuc2FmZSB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTAKCS8vIEIgPSA8dWludDI1Nj4xMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNlOAoJZnJhbWVfYnVyeSAxIC8vIEI6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxMgoJLy8gQSA9IEEgLyBCCglmcmFtZV9kaWcgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTggLy8gQjogdWludDI1NgoJYi8KCWZyYW1lX2J1cnkgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjE0CgkvLyBjID0gQSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIEE6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50IDY0Cgk8PQoKCS8vIEEgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCglidG9pCglmcmFtZV9idXJ5IDIgLy8gYzogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTYKCS8vIHJldHVybiBjOwoJZnJhbWVfZGlnIDIgLy8gYzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBmb29iYXIodWludDEyOCl1aW50MTI4CiphYmlfcm91dGVfZm9vYmFyOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB4OiB1aW50MTI4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDE2Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBmb29iYXIgbXVzdCBiZSBhIHVpbnQxMjgKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZm9vYmFyKHVpbnQxMjgpdWludDEyOAoJY2FsbHN1YiBmb29iYXIKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIGZvb2JhciByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBmb29iYXIoeDogdWludDEyOCk6IHVpbnQxMjgKZm9vYmFyOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIyMAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB4IC8gKDMwMDAwIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTEgLy8geDogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NTMwCgliLwoJZHVwCgliaXRsZW4KCWludCAxMjgKCTw9CgoJLy8geCAvICgzMDAwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMjIKCS8vIHJldHVybiBhdmdTdGFrZTsKCWZyYW1lX2RpZyAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnRGcm9tSGV4KCl1aW50MjU2CiphYmlfcm91dGVfdWludEZyb21IZXg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludEZyb21IZXgoKXVpbnQyNTYKCWNhbGxzdWIgdWludEZyb21IZXgKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHVpbnRGcm9tSGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludEZyb21IZXgoKTogdWludDI1Ngp1aW50RnJvbUhleDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjI2CgkvLyByZXR1cm4gVWludDwyNTY+KCcweEZGJyk7CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidTY0cGx1cyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAidTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInU2NG11bCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAidTY0ZGl2KHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJ1MjU2cGx1cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAidTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1MjU2ZGl2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1NjRSZXR1cm4yNTYodWludDY0LHVpbnQ2NCl1aW50MjU2IgoJbWV0aG9kICJtYXhVNjQoKXVpbnQ2NCIKCW1ldGhvZCAiZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInZhcmlhYmxlVHlwZUhpbnQodWludDgsdWludDgpdWludDE2IgoJbWV0aG9kICJ1aW50OHBsdXModWludDgsdWludDgpdWludDgiCgltZXRob2QgInVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4IgoJbWV0aG9kICJwbHVzRXF1YWxzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAiYm94VGVzdCgpdWludDI1NiIKCW1ldGhvZCAidW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAidWludDI1NkNvbXBhcmlzb25UeXBlKHVpbnQyNTYsdWludDI1Nil2b2lkIgoJbWV0aG9kICJzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJzcXVhcmVSb290NjQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wiCgltZXRob2QgInU4VG91NjQoKXVpbnQ2NCIKCW1ldGhvZCAiZnVuY05hbWUodWludDI1Nil2b2lkIgoJbWV0aG9kICJiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJiaXR3aXNlT3IodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCgltZXRob2QgImJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJiaXR3aXNlWG9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAiYml0d2lzZU5vdCh1aW50NjQpdWludDY0IgoJbWV0aG9kICJiaXR3aXNlTm90VTI1Nih1aW50MjU2KXVpbnQyNTYiCgltZXRob2QgIm11bHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImFkZHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImV4cHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRpdncodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRpdm1vZHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInVuc2FmZVZhcmlhYmxlcygpdWludDY0IgoJbWV0aG9kICJmb29iYXIodWludDEyOCl1aW50MTI4IgoJbWV0aG9kICJ1aW50RnJvbUhleCgpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdTY0cGx1cyAqYWJpX3JvdXRlX3U2NG1pbnVzICphYmlfcm91dGVfdTY0bXVsICphYmlfcm91dGVfdTY0ZGl2ICphYmlfcm91dGVfdTI1NnBsdXMgKmFiaV9yb3V0ZV91MjU2bWludXMgKmFiaV9yb3V0ZV91MjU2bXVsICphYmlfcm91dGVfdTI1NmRpdiAqYWJpX3JvdXRlX3U2NFJldHVybjI1NiAqYWJpX3JvdXRlX21heFU2NCAqYWJpX3JvdXRlX2V4cG9uZW50ICphYmlfcm91dGVfdmFyaWFibGVUeXBlSGludCAqYWJpX3JvdXRlX3VpbnQ4cGx1cyAqYWJpX3JvdXRlX3VpbnQ4ZXhwICphYmlfcm91dGVfcGx1c0VxdWFscyAqYWJpX3JvdXRlX3BsdXNFcXVhbHNGcm9tR2xvYmFsICphYmlfcm91dGVfYm94VGVzdCAqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3MgKmFiaV9yb3V0ZV91aW50MjU2Q29tcGFyaXNvblR5cGUgKmFiaV9yb3V0ZV9zcXVhcmVSb290MjU2ICphYmlfcm91dGVfc3F1YXJlUm9vdDY0ICphYmlfcm91dGVfYWRkcmVzc1RvQmlnSW50ICphYmlfcm91dGVfdThUb3U2NCAqYWJpX3JvdXRlX2Z1bmNOYW1lICphYmlfcm91dGVfYmlnaW50UGx1cyAqYWJpX3JvdXRlX2JpdHdpc2VPciAqYWJpX3JvdXRlX2JpdHdpc2VBbmQgKmFiaV9yb3V0ZV9iaXR3aXNlWG9yICphYmlfcm91dGVfYml0d2lzZU9yVTI1NiAqYWJpX3JvdXRlX2JpdHdpc2VBbmRVMjU2ICphYmlfcm91dGVfYml0d2lzZVhvclUyNTYgKmFiaV9yb3V0ZV9iaXR3aXNlTm90ICphYmlfcm91dGVfYml0d2lzZU5vdFUyNTYgKmFiaV9yb3V0ZV9tdWx3ICphYmlfcm91dGVfYWRkdyAqYWJpX3JvdXRlX2V4cHcgKmFiaV9yb3V0ZV9kaXZ3ICphYmlfcm91dGVfZGl2bW9kdyAqYWJpX3JvdXRlX3Vuc2FmZVZhcmlhYmxlcyAqYWJpX3JvdXRlX2Zvb2JhciAqYWJpX3JvdXRlX3VpbnRGcm9tSGV4CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfdTY0cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NHBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1NjRwbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NHBsdXM6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjgKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gdTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiB1NjRtaW51cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NG1pbnVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NG1pbnVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMgoJLy8gcmV0dXJuIGEgLSBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJcmV0c3ViCgovLyB1NjRtdWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtdWw6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NG11bAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NG11bChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAp1NjRtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2CgkvLyByZXR1cm4gYSAqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkqCglyZXRzdWIKCi8vIHU2NGRpdih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3U2NGRpdjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgdTY0ZGl2CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTY0ZGl2KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NGRpdjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAKCS8vIHJldHVybiBhIC8gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCS8KCXJldHN1YgoKLy8gdTI1NnBsdXModWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV91MjU2cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1NnBsdXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZwbHVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZwbHVzCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1MjU2cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHUyNTZwbHVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyNAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIrCglyZXRzdWIKCi8vIHUyNTZtaW51cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm1pbnVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1MjU2bWludXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtaW51cwoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gdTI1Nm1pbnVzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTI1Nm1pbnVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtaW51czoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjgKCS8vIHJldHVybiA8dWludDI1Nj4oYSAtIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJcmV0c3ViCgovLyB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfdTI1Nm11bDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtdWwKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHUyNTZtdWwgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1MjU2bXVsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjMyCgkvLyByZXR1cm4gPHVpbnQyNTY+KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYioKCXJldHN1YgoKLy8gdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZkaXY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1MjU2ZGl2CglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1MjU2ZGl2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTI1NmRpdihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1MjU2ZGl2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czozNgoJLy8gcmV0dXJuIDx1aW50MjU2PihhIC8gYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIvCglyZXRzdWIKCi8vIHU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYKKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0UmV0dXJuMjU2KHVpbnQ2NCx1aW50NjQpdWludDI1NgoJY2FsbHN1YiB1NjRSZXR1cm4yNTYKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHU2NFJldHVybjI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NFJldHVybjI1NihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQyNTYKdTY0UmV0dXJuMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0MAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglpdG9iCglyZXRzdWIKCi8vIG1heFU2NCgpdWludDY0CiphYmlfcm91dGVfbWF4VTY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1heFU2NCgpdWludDY0CgljYWxsc3ViIG1heFU2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG1heFU2NCgpOiB1aW50NjQKbWF4VTY0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0NAoJLy8gcmV0dXJuIFVpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpOwoJaW50IDE4NDQ2NzQ0MDczNzA5NTUxNjE1CglyZXRzdWIKCi8vIGV4cG9uZW50KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwb25lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZXhwb25lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHBvbmVudChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHBvbmVudDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NDgKCS8vIHJldHVybiBhICoqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHAKCXJldHN1YgoKLy8gdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKKmFiaV9yb3V0ZV92YXJpYWJsZVR5cGVIaW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHkpIGZvciB2YXJpYWJsZVR5cGVIaW50IG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8geDogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdmFyaWFibGVUeXBlSGludCBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKCWNhbGxzdWIgdmFyaWFibGVUeXBlSGludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyB2YXJpYWJsZVR5cGVIaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB2YXJpYWJsZVR5cGVIaW50KHg6IHVpbnQ8OD4sIHk6IHVpbnQ8OD4pOiB1aW50MTYKdmFyaWFibGVUeXBlSGludDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1MgoJLy8geiA9IDx1aW50MTY+KHggKyB5KQoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50PDg+CgkrCglmcmFtZV9idXJ5IDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NTQKCS8vIHJldHVybiB6OwoJZnJhbWVfZGlnIDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyB1aW50OHBsdXModWludDgsdWludDgpdWludDgKKmFiaV9yb3V0ZV91aW50OHBsdXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdWludDhwbHVzKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4cGx1cwoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIHVpbnQ4cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1aW50OHBsdXMoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1OAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CgkrCglyZXRzdWIKCi8vIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CiphYmlfcm91dGVfdWludDhleHA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4ZXhwIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDhleHAgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4ZXhwCglpdG9iCglkdXAKCWJpdGxlbgoJaW50IDgKCTw9CgoJLy8gdWludDhleHAgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludDhleHAoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhleHA6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjYyCgkvLyByZXR1cm4gYSAqKiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CglleHAKCXJldHN1YgoKLy8gcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3BsdXNFcXVhbHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcGx1c0VxdWFscyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwbHVzRXF1YWxzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjY2CgkvLyB4ID0gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NjgKCS8vIHggKz0gYgoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3MAoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGx1c0VxdWFsc0Zyb21HbG9iYWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzRnJvbUdsb2JhbAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNGcm9tR2xvYmFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBsdXNFcXVhbHNGcm9tR2xvYmFsOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3NAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gYQoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjc2CgkvLyB0aGlzLmdLZXkudmFsdWUgKz0gYgoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3OAoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCi8vIGJveFRlc3QoKXVpbnQyNTYKKmFiaV9yb3V0ZV9ib3hUZXN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveFRlc3QoKXVpbnQyNTYKCWNhbGxzdWIgYm94VGVzdAoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYm94VGVzdCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJveFRlc3QoKTogdWludDI1Ngpib3hUZXN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo4NAoJLy8gdGhpcy5ib3hLZXkudmFsdWUgPSA8dWludDI1Nj4xCglieXRlIDB4NjI2Zjc4NGI2NTc5IC8vICJib3hLZXkiCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODUKCS8vIHRoaXMuYm94S2V5LnZhbHVlICs9IDEKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCgliKwoJYnl0ZSAweDYyNmY3ODRiNjU3OSAvLyAiYm94S2V5IgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gdGhpcy5ib3hLZXkudmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODcKCS8vIHJldHVybiB0aGlzLmJveEtleS52YWx1ZTsKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCXJldHN1YgoKLy8gZm9vKHg6IHVpbnQyNTYpOiB1aW50MjU2CmZvbzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTEKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCXJldHN1YgoKLy8gdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1bnNhZmVNZXRob2RBcmdzCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1bnNhZmVNZXRob2RBcmdzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdW5zYWZlTWV0aG9kQXJncyhhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1bnNhZmVNZXRob2RBcmdzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjk1CgkvLyBjID0gYSArIGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCWZyYW1lX2J1cnkgMCAvLyBjOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLmZvbyhjKTsKCWZyYW1lX2RpZyAwIC8vIGM6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyBjIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNhbGxzdWIgZm9vCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJpc29uVHlwZToKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJpc29uVHlwZSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDI1NkNvbXBhcmlzb25UeXBlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyaXNvblR5cGUKCWludCAxCglyZXR1cm4KCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZShhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyaXNvblR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAxCgkvLyBzZW5kZXJCYWxhbmNlQWZ0ZXIgPSBhIC0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJZnJhbWVfYnVyeSAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDIKCS8vIHNlbmRlckJhbGFuY2VBZnRlciA+IDx1aW50MjU2PjAKCWZyYW1lX2RpZyAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliPgoJYnogKmlmMF9lbHNlCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEwMwoJLy8gbG9nKCdub25aZXJvJykKCWJ5dGUgMHg2ZTZmNmU1YTY1NzI2ZiAvLyAibm9uWmVybyIKCWxvZwoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDUKCS8vIGxvZygnemVybycpCglieXRlIDB4N2E2NTcyNmYgLy8gInplcm8iCglsb2cKCippZjBfZW5kOgoJcmV0c3ViCgovLyBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3F1YXJlUm9vdDI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHNxdWFyZVJvb3QyNTYKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHNxdWFyZVJvb3QyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcXVhcmVSb290MjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnNxdWFyZVJvb3QyNTY6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExMAoJLy8gcmV0dXJuIHNxcnQoYSAqIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKgoJYnNxcnQKCXJldHN1YgoKLy8gc3F1YXJlUm9vdDY0KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfc3F1YXJlUm9vdDY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBzcXVhcmVSb290NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcXVhcmVSb290NjQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKc3F1YXJlUm9vdDY0OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMTQKCS8vIHJldHVybiBzcXJ0KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbAoqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyKSBmb3IgYWRkcmVzc1RvQmlnSW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wKCWNhbGxzdWIgYWRkcmVzc1RvQmlnSW50CglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZHJlc3NUb0JpZ0ludChhZGRyOiBBZGRyZXNzKTogYm9vbGVhbgphZGRyZXNzVG9CaWdJbnQ6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExOAoJLy8gcmV0dXJuIGJ0b2JpZ2ludChhZGRyKSA+IGJ0b2JpZ2ludCh0aGlzLnR4bi5zZW5kZXIpOwoJZnJhbWVfZGlnIC0xIC8vIGFkZHI6IEFkZHJlc3MKCXR4biBTZW5kZXIKCWI+CglyZXRzdWIKCi8vIHU4VG91NjQoKXVpbnQ2NAoqYWJpX3JvdXRlX3U4VG91NjQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdThUb3U2NCgpdWludDY0CgljYWxsc3ViIHU4VG91NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1OFRvdTY0KCk6IHVpbnQ2NAp1OFRvdTY0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEyMgoJLy8geDogdWludDggPSA3CglpbnQgNwoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjMKCS8vIHJldHVybiA8dWludDY0Png7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBwcml2YXRlRnVuY05hbWUoeDogdWludDgsIHk6IHVpbnQ2NCk6IHZvaWQKcHJpdmF0ZUZ1bmNOYW1lOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjcKCS8vIGFzc2VydCg8dWludDg+eSA+IHgpCglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDgKCT4KCWFzc2VydAoJcmV0c3ViCgovLyBmdW5jTmFtZSh1aW50MjU2KXZvaWQKKmFiaV9yb3V0ZV9mdW5jTmFtZToKCS8vIHg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZ1bmNOYW1lIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGZ1bmNOYW1lKHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBmdW5jTmFtZQoJaW50IDEKCXJldHVybgoKLy8gZnVuY05hbWUoeDogdWludDI1Nik6IHZvaWQKZnVuY05hbWU6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzMQoJLy8gdGhpcy5wcml2YXRlRnVuY05hbWUoPHVpbnQ4PngsIDEzMzcpCglpbnQgMTMzNwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyA8dWludDg+eCBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDMxIDEKCWJ0b2kKCWNhbGxzdWIgcHJpdmF0ZUZ1bmNOYW1lCglyZXRzdWIKCi8vIGJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaWdpbnRQbHVzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYmlnaW50UGx1cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpZ2ludFBsdXMoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYmlnaW50UGx1czoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNQoJLy8geCA9IGl0b2IoYSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMCAvLyB4OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNgoJLy8geSA9IGl0b2IoYikKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyB5OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNwoJLy8gcmV0dXJuIChidG9iaWdpbnQoeCkgKyBidG9iaWdpbnQoeSkpIGFzIHVpbnQ2NDsKCWZyYW1lX2RpZyAwIC8vIHg6IGJ5dGVbXQoJZnJhbWVfZGlnIDEgLy8geTogYnl0ZVtdCgliKwoJZHVwCgliaXRsZW4KCWludCA2NAoJPD0KCgkvLyAoYnRvYmlnaW50KHgpICsgYnRvYmlnaW50KHkpKSBhcyB1aW50NjQgb3ZlcmZsb3dlZCA2NCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VPcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXR3aXNlT3IodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZU9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYml0d2lzZU9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmJpdHdpc2VPcjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQxCgkvLyByZXR1cm4gYSB8IGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgl8CglyZXRzdWIKCi8vIGJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaXR3aXNlQW5kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZUFuZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VBbmQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZUFuZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQ1CgkvLyByZXR1cm4gYSAmIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkmCglyZXRzdWIKCi8vIGJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaXR3aXNlWG9yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZVhvcgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VYb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZVhvcjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQ5CgkvLyByZXR1cm4gYSBeIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgleCglyZXRzdWIKCi8vIGJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlT3JVMjU2OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBiaXR3aXNlT3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlT3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKCWNhbGxzdWIgYml0d2lzZU9yVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZU9yVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VPclUyNTYoYTogdWludDI1NiwgYjogdWludDI1Nik6IHVpbnQyNTYKYml0d2lzZU9yVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTUzCgkvLyByZXR1cm4gYSB8IGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWJ8CglyZXRzdWIKCi8vIGJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZUFuZFUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VBbmRVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlQW5kVTI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaXR3aXNlQW5kVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlQW5kVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZUFuZFUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlQW5kVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlQW5kVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTU3CgkvLyByZXR1cm4gYSAmIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWImCglyZXRzdWIKCi8vIGJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZVhvclUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VYb3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlWG9yVTI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaXR3aXNlWG9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlWG9yVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZVhvclUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlWG9yVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlWG9yVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTYxCgkvLyByZXR1cm4gYSBeIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWJeCglyZXRzdWIKCi8vIGJpdHdpc2VOb3QodWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VOb3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZU5vdCh1aW50NjQpdWludDY0CgljYWxsc3ViIGJpdHdpc2VOb3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlTm90KGE6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlTm90OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjUKCS8vIHJldHVybiB+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCX4KCXJldHN1YgoKLy8gYml0d2lzZU5vdFUyNTYodWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZU5vdFUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGJpdHdpc2VOb3RVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VOb3RVMjU2KHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlTm90VTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZU5vdFUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlTm90VTI1NihhOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlTm90VTI1NjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTY5CgkvLyByZXR1cm4gfmE7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJYn4KCXJldHN1YgoKLy8gbXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX211bHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBtdWx3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbXVsdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAptdWx3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTczCgkvLyBwID0gbXVsdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTc3CgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2FkZHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhZGR3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAphZGR3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTgxCgkvLyBwID0gYWRkdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJYWRkdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTg1CgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2V4cHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBleHB3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZXhwdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHB3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTg5CgkvLyBwID0gZXhwdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZXhwdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTkzCgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Rpdnc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBkaXZ3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGl2dyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApkaXZ3OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxOTcKCS8vIHJldHVybiBkaXZ3KDAsIGEsIGIpOwoJaW50IDAKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWRpdncKCXJldHN1YgoKLy8gZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Rpdm1vZHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBkaXZtb2R3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGl2bW9kdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApkaXZtb2R3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAxCgkvLyBwID0gZGl2bW9kdygwLCBhLCAwLCBiKQoJaW50IDAKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWludCAwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglkaXZtb2R3CglmcmFtZV9idXJ5IDAgLy8gcCByZW1haW5kZXJMb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgcmVtYWluZGVySGlnaDogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gcCBxdW90aWVudExvdzogdWludDY0CglmcmFtZV9idXJ5IDMgLy8gcCBxdW90aWVudEhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjA1CgkvLyByZXR1cm4gcDIucXVvdGllbnRMb3c7CglmcmFtZV9kaWcgMiAvLyBwIHF1b3RpZW50TG93OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCi8vIHVuc2FmZVZhcmlhYmxlcygpdWludDY0CiphYmlfcm91dGVfdW5zYWZlVmFyaWFibGVzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVuc2FmZVZhcmlhYmxlcygpdWludDY0CgljYWxsc3ViIHVuc2FmZVZhcmlhYmxlcwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVuc2FmZVZhcmlhYmxlcygpOiB1aW50NjQKdW5zYWZlVmFyaWFibGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjA5CgkvLyBBID0gPHVpbnQyNTY+MjUwMDAwMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZWU2YjI4MAoJZnJhbWVfYnVyeSAwIC8vIEE6IHVuc2FmZSB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTAKCS8vIEIgPSA8dWludDI1Nj4xMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNlOAoJZnJhbWVfYnVyeSAxIC8vIEI6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxMgoJLy8gQSA9IEEgLyBCCglmcmFtZV9kaWcgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTggLy8gQjogdWludDI1NgoJYi8KCWZyYW1lX2J1cnkgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjE0CgkvLyBjID0gQSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIEE6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50IDY0Cgk8PQoKCS8vIEEgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCglidG9pCglmcmFtZV9idXJ5IDIgLy8gYzogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTYKCS8vIHJldHVybiBjOwoJZnJhbWVfZGlnIDIgLy8gYzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBmb29iYXIodWludDEyOCl1aW50MTI4CiphYmlfcm91dGVfZm9vYmFyOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB4OiB1aW50MTI4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDE2Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBmb29iYXIgbXVzdCBiZSBhIHVpbnQxMjgKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZm9vYmFyKHVpbnQxMjgpdWludDEyOAoJY2FsbHN1YiBmb29iYXIKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIGZvb2JhciByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBmb29iYXIoeDogdWludDEyOCk6IHVpbnQxMjgKZm9vYmFyOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIyMAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB4IC8gKDMwMDAwIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTEgLy8geDogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NTMwCgliLwoJZHVwCgliaXRsZW4KCWludCAxMjgKCTw9CgoJLy8geCAvICgzMDAwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMjIKCS8vIHJldHVybiBhdmdTdGFrZTsKCWZyYW1lX2RpZyAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnRGcm9tSGV4KCl1aW50MjU2CiphYmlfcm91dGVfdWludEZyb21IZXg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludEZyb21IZXgoKXVpbnQyNTYKCWNhbGxzdWIgdWludEZyb21IZXgKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHVpbnRGcm9tSGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludEZyb21IZXgoKTogdWludDI1Ngp1aW50RnJvbUhleDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjI2CgkvLyByZXR1cm4gVWludDwyNTY+KCcweEZGJyk7CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidTY0cGx1cyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAidTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInU2NG11bCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAidTY0ZGl2KHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJ1MjU2cGx1cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAidTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1MjU2ZGl2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1NjRSZXR1cm4yNTYodWludDY0LHVpbnQ2NCl1aW50MjU2IgoJbWV0aG9kICJtYXhVNjQoKXVpbnQ2NCIKCW1ldGhvZCAiZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInZhcmlhYmxlVHlwZUhpbnQodWludDgsdWludDgpdWludDE2IgoJbWV0aG9kICJ1aW50OHBsdXModWludDgsdWludDgpdWludDgiCgltZXRob2QgInVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4IgoJbWV0aG9kICJwbHVzRXF1YWxzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAiYm94VGVzdCgpdWludDI1NiIKCW1ldGhvZCAidW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAidWludDI1NkNvbXBhcmlzb25UeXBlKHVpbnQyNTYsdWludDI1Nil2b2lkIgoJbWV0aG9kICJzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJzcXVhcmVSb290NjQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wiCgltZXRob2QgInU4VG91NjQoKXVpbnQ2NCIKCW1ldGhvZCAiZnVuY05hbWUodWludDI1Nil2b2lkIgoJbWV0aG9kICJiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJiaXR3aXNlT3IodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCgltZXRob2QgImJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJiaXR3aXNlWG9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAiYml0d2lzZU5vdCh1aW50NjQpdWludDY0IgoJbWV0aG9kICJiaXR3aXNlTm90VTI1Nih1aW50MjU2KXVpbnQyNTYiCgltZXRob2QgIm11bHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImFkZHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImV4cHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRpdncodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRpdm1vZHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInVuc2FmZVZhcmlhYmxlcygpdWludDY0IgoJbWV0aG9kICJmb29iYXIodWludDEyOCl1aW50MTI4IgoJbWV0aG9kICJ1aW50RnJvbUhleCgpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdTY0cGx1cyAqYWJpX3JvdXRlX3U2NG1pbnVzICphYmlfcm91dGVfdTY0bXVsICphYmlfcm91dGVfdTY0ZGl2ICphYmlfcm91dGVfdTI1NnBsdXMgKmFiaV9yb3V0ZV91MjU2bWludXMgKmFiaV9yb3V0ZV91MjU2bXVsICphYmlfcm91dGVfdTI1NmRpdiAqYWJpX3JvdXRlX3U2NFJldHVybjI1NiAqYWJpX3JvdXRlX21heFU2NCAqYWJpX3JvdXRlX2V4cG9uZW50ICphYmlfcm91dGVfdmFyaWFibGVUeXBlSGludCAqYWJpX3JvdXRlX3VpbnQ4cGx1cyAqYWJpX3JvdXRlX3VpbnQ4ZXhwICphYmlfcm91dGVfcGx1c0VxdWFscyAqYWJpX3JvdXRlX3BsdXNFcXVhbHNGcm9tR2xvYmFsICphYmlfcm91dGVfYm94VGVzdCAqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3MgKmFiaV9yb3V0ZV91aW50MjU2Q29tcGFyaXNvblR5cGUgKmFiaV9yb3V0ZV9zcXVhcmVSb290MjU2ICphYmlfcm91dGVfc3F1YXJlUm9vdDY0ICphYmlfcm91dGVfYWRkcmVzc1RvQmlnSW50ICphYmlfcm91dGVfdThUb3U2NCAqYWJpX3JvdXRlX2Z1bmNOYW1lICphYmlfcm91dGVfYmlnaW50UGx1cyAqYWJpX3JvdXRlX2JpdHdpc2VPciAqYWJpX3JvdXRlX2JpdHdpc2VBbmQgKmFiaV9yb3V0ZV9iaXR3aXNlWG9yICphYmlfcm91dGVfYml0d2lzZU9yVTI1NiAqYWJpX3JvdXRlX2JpdHdpc2VBbmRVMjU2ICphYmlfcm91dGVfYml0d2lzZVhvclUyNTYgKmFiaV9yb3V0ZV9iaXR3aXNlTm90ICphYmlfcm91dGVfYml0d2lzZU5vdFUyNTYgKmFiaV9yb3V0ZV9tdWx3ICphYmlfcm91dGVfYWRkdyAqYWJpX3JvdXRlX2V4cHcgKmFiaV9yb3V0ZV9kaXZ3ICphYmlfcm91dGVfZGl2bW9kdyAqYWJpX3JvdXRlX3Vuc2FmZVZhcmlhYmxlcyAqYWJpX3JvdXRlX2Zvb2JhciAqYWJpX3JvdXRlX3VpbnRGcm9tSGV4CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/MathTest.arc56_draft.json b/tests/contracts/artifacts/MathTest.arc56_draft.json
index d4456ddb1..a58ae2b61 100644
--- a/tests/contracts/artifacts/MathTest.arc56_draft.json
+++ b/tests/contracts/artifacts/MathTest.arc56_draft.json
@@ -896,9555 +896,9558 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 4,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157
- ]
- },
- {
- "teal": 13,
- "source": 4,
- "pc": [
- 158,
- 159
- ]
- },
- {
- "teal": 14,
- "source": 4,
- "pc": [
- 160
- ]
- },
- {
- "teal": 15,
- "source": 4,
- "pc": [
- 161,
- 162
- ]
- },
- {
- "teal": 16,
- "source": 4,
- "pc": [
- 163
- ]
- },
- {
- "teal": 17,
- "source": 4,
- "pc": [
- 164,
- 165
- ]
- },
- {
- "teal": 18,
- "source": 4,
- "pc": [
- 166
- ]
- },
- {
- "teal": 19,
- "source": 4,
- "pc": [
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191,
- 192
- ]
- },
- {
- "teal": 23,
- "source": 4,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 193
- ]
- },
- {
- "teal": 28,
- "source": 7,
- "pc": [
- 194
- ]
- },
- {
- "teal": 31,
- "source": 7,
- "pc": [
- 195,
- 196,
- 197
- ]
- },
- {
- "teal": 32,
- "source": 7,
- "pc": [
- 198
- ]
- },
- {
- "teal": 35,
- "source": 7,
- "pc": [
- 199,
- 200,
- 201
- ]
- },
- {
- "teal": 36,
- "source": 7,
- "pc": [
- 202
- ]
- },
- {
- "teal": 39,
- "source": 7,
- "pc": [
- 203,
- 204,
- 205
- ]
- },
- {
- "teal": 40,
- "source": 7,
- "pc": [
- 206
- ]
- },
- {
- "teal": 41,
- "source": 7,
- "pc": [
- 207
- ]
- },
- {
- "teal": 42,
- "source": 7,
- "pc": [
- 208
- ]
- },
- {
- "teal": 43,
- "source": 7,
- "pc": [
- 209
- ]
- },
- {
- "teal": 44,
- "source": 7,
- "pc": [
- 210
- ]
- },
- {
- "teal": 48,
- "source": 7,
- "pc": [
- 211,
- 212,
- 213
- ]
- },
- {
- "teal": 52,
- "source": 8,
- "pc": [
- 214,
- 215
- ]
- },
- {
- "teal": 53,
- "source": 8,
- "pc": [
- 216,
- 217
- ]
- },
- {
- "teal": 54,
- "source": 8,
- "pc": [
- 218
- ]
- },
- {
- "teal": 55,
- "source": 7,
- "pc": [
- 219
- ]
- },
- {
- "teal": 60,
- "source": 11,
- "pc": [
- 220
- ]
- },
- {
- "teal": 63,
- "source": 11,
- "pc": [
- 221,
- 222,
- 223
- ]
- },
- {
- "teal": 64,
- "source": 11,
- "pc": [
- 224
- ]
- },
- {
- "teal": 67,
- "source": 11,
- "pc": [
- 225,
- 226,
- 227
- ]
- },
- {
- "teal": 68,
- "source": 11,
- "pc": [
- 228
- ]
- },
- {
- "teal": 71,
- "source": 11,
- "pc": [
- 229,
- 230,
- 231
- ]
- },
- {
- "teal": 72,
- "source": 11,
- "pc": [
- 232
- ]
- },
- {
- "teal": 73,
- "source": 11,
- "pc": [
- 233
- ]
- },
- {
- "teal": 74,
- "source": 11,
- "pc": [
- 234
- ]
- },
- {
- "teal": 75,
- "source": 11,
- "pc": [
- 235
- ]
- },
- {
- "teal": 76,
- "source": 11,
- "pc": [
- 236
- ]
- },
- {
- "teal": 80,
- "source": 11,
- "pc": [
- 237,
- 238,
- 239
- ]
- },
- {
- "teal": 84,
- "source": 12,
- "pc": [
- 240,
- 241
- ]
- },
- {
- "teal": 85,
- "source": 12,
- "pc": [
- 242,
- 243
- ]
- },
- {
- "teal": 86,
- "source": 12,
- "pc": [
- 244
- ]
- },
- {
- "teal": 87,
- "source": 11,
- "pc": [
- 245
- ]
- },
- {
- "teal": 92,
- "source": 15,
- "pc": [
- 246
- ]
- },
- {
- "teal": 95,
- "source": 15,
- "pc": [
- 247,
- 248,
- 249
- ]
- },
- {
- "teal": 96,
- "source": 15,
- "pc": [
- 250
- ]
- },
- {
- "teal": 99,
- "source": 15,
- "pc": [
- 251,
- 252,
- 253
- ]
- },
- {
- "teal": 100,
- "source": 15,
- "pc": [
- 254
- ]
- },
- {
- "teal": 103,
- "source": 15,
- "pc": [
- 255,
- 256,
- 257
- ]
- },
- {
- "teal": 104,
- "source": 15,
- "pc": [
- 258
- ]
- },
- {
- "teal": 105,
- "source": 15,
- "pc": [
- 259
- ]
- },
- {
- "teal": 106,
- "source": 15,
- "pc": [
- 260
- ]
- },
- {
- "teal": 107,
- "source": 15,
- "pc": [
- 261
- ]
- },
- {
- "teal": 108,
- "source": 15,
- "pc": [
- 262
- ]
- },
- {
- "teal": 112,
- "source": 15,
- "pc": [
- 263,
- 264,
- 265
- ]
- },
- {
- "teal": 116,
- "source": 16,
- "pc": [
- 266,
- 267
- ]
- },
- {
- "teal": 117,
- "source": 16,
- "pc": [
- 268,
- 269
- ]
- },
- {
- "teal": 118,
- "source": 16,
- "pc": [
- 270
- ]
- },
- {
- "teal": 119,
- "source": 15,
- "pc": [
- 271
- ]
- },
- {
- "teal": 124,
- "source": 19,
- "pc": [
- 272
- ]
- },
- {
- "teal": 127,
- "source": 19,
- "pc": [
- 273,
- 274,
- 275
- ]
- },
- {
- "teal": 128,
- "source": 19,
- "pc": [
- 276
- ]
- },
- {
- "teal": 131,
- "source": 19,
- "pc": [
- 277,
- 278,
- 279
- ]
- },
- {
- "teal": 132,
- "source": 19,
- "pc": [
- 280
- ]
- },
- {
- "teal": 135,
- "source": 19,
- "pc": [
- 281,
- 282,
- 283
- ]
- },
- {
- "teal": 136,
- "source": 19,
- "pc": [
- 284
- ]
- },
- {
- "teal": 137,
- "source": 19,
- "pc": [
- 285
- ]
- },
- {
- "teal": 138,
- "source": 19,
- "pc": [
- 286
- ]
- },
- {
- "teal": 139,
- "source": 19,
- "pc": [
- 287
- ]
- },
- {
- "teal": 140,
- "source": 19,
- "pc": [
- 288
- ]
- },
- {
- "teal": 144,
- "source": 19,
- "pc": [
- 289,
- 290,
- 291
- ]
- },
- {
- "teal": 148,
- "source": 20,
- "pc": [
- 292,
- 293
- ]
- },
- {
- "teal": 149,
- "source": 20,
- "pc": [
- 294,
- 295
- ]
- },
- {
- "teal": 150,
- "source": 20,
- "pc": [
- 296
- ]
- },
- {
- "teal": 151,
- "source": 19,
- "pc": [
- 297
- ]
- },
- {
- "teal": 156,
- "source": 23,
- "pc": [
- 298
- ]
- },
- {
- "teal": 159,
- "source": 23,
- "pc": [
- 299,
- 300,
- 301
- ]
- },
- {
- "teal": 160,
- "source": 23,
- "pc": [
- 302
- ]
- },
- {
- "teal": 161,
- "source": 23,
- "pc": [
- 303
- ]
- },
- {
- "teal": 162,
- "source": 23,
- "pc": [
- 304
- ]
- },
- {
- "teal": 163,
- "source": 23,
- "pc": [
- 305
- ]
- },
- {
- "teal": 166,
- "source": 23,
- "errorMessage": "argument 0 (b) for u256plus must be a uint256",
- "pc": [
- 306
- ]
- },
- {
- "teal": 169,
- "source": 23,
- "pc": [
- 307,
- 308,
- 309
- ]
- },
- {
- "teal": 170,
- "source": 23,
- "pc": [
- 310
- ]
- },
- {
- "teal": 171,
- "source": 23,
- "pc": [
- 311
- ]
- },
- {
- "teal": 172,
- "source": 23,
- "pc": [
- 312
- ]
- },
- {
- "teal": 173,
- "source": 23,
- "pc": [
- 313
- ]
- },
- {
- "teal": 176,
- "source": 23,
- "errorMessage": "argument 1 (a) for u256plus must be a uint256",
- "pc": [
- 314
- ]
- },
- {
- "teal": 179,
- "source": 23,
- "pc": [
- 315,
- 316,
- 317
- ]
- },
- {
- "teal": 180,
- "source": 23,
- "pc": [
- 318
- ]
- },
- {
- "teal": 181,
- "source": 23,
- "pc": [
- 319
- ]
- },
- {
- "teal": 182,
- "source": 23,
- "pc": [
- 320
- ]
- },
- {
- "teal": 183,
- "source": 23,
- "pc": [
- 321
- ]
- },
- {
- "teal": 186,
- "source": 23,
- "errorMessage": "u256plus return value overflowed 256 bits",
- "pc": [
- 322
- ]
- },
- {
- "teal": 187,
- "source": 23,
- "pc": [
- 323
- ]
- },
- {
- "teal": 188,
- "source": 23,
- "pc": [
- 324
- ]
- },
- {
- "teal": 189,
- "source": 23,
- "pc": [
- 325
- ]
- },
- {
- "teal": 190,
- "source": 23,
- "pc": [
- 326
- ]
- },
- {
- "teal": 191,
- "source": 23,
- "pc": [
- 327
- ]
- },
- {
- "teal": 192,
- "source": 23,
- "pc": [
- 328
- ]
- },
- {
- "teal": 193,
- "source": 23,
- "pc": [
- 329
- ]
- },
- {
- "teal": 194,
- "source": 23,
- "pc": [
- 330
- ]
- },
- {
- "teal": 195,
- "source": 23,
- "pc": [
- 331
- ]
- },
- {
- "teal": 196,
- "source": 23,
- "pc": [
- 332
- ]
- },
- {
- "teal": 197,
- "source": 23,
- "pc": [
- 333
- ]
- },
- {
- "teal": 198,
- "source": 23,
- "pc": [
- 334
- ]
- },
- {
- "teal": 199,
- "source": 23,
- "pc": [
- 335
- ]
- },
- {
- "teal": 203,
- "source": 23,
- "pc": [
- 336,
- 337,
- 338
- ]
- },
- {
- "teal": 207,
- "source": 24,
- "pc": [
- 339,
- 340
- ]
- },
- {
- "teal": 208,
- "source": 24,
- "pc": [
- 341,
- 342
- ]
- },
- {
- "teal": 209,
- "source": 24,
- "pc": [
- 343
- ]
- },
- {
- "teal": 210,
- "source": 23,
- "pc": [
- 344
- ]
- },
- {
- "teal": 215,
- "source": 27,
- "pc": [
- 345
- ]
- },
- {
- "teal": 218,
- "source": 27,
- "pc": [
- 346,
- 347,
- 348
- ]
- },
- {
- "teal": 219,
- "source": 27,
- "pc": [
- 349
- ]
- },
- {
- "teal": 220,
- "source": 27,
- "pc": [
- 350
- ]
- },
- {
- "teal": 221,
- "source": 27,
- "pc": [
- 351
- ]
- },
- {
- "teal": 222,
- "source": 27,
- "pc": [
- 352
- ]
- },
- {
- "teal": 225,
- "source": 27,
- "errorMessage": "argument 0 (b) for u256minus must be a uint256",
- "pc": [
- 353
- ]
- },
- {
- "teal": 228,
- "source": 27,
- "pc": [
- 354,
- 355,
- 356
- ]
- },
- {
- "teal": 229,
- "source": 27,
- "pc": [
- 357
- ]
- },
- {
- "teal": 230,
- "source": 27,
- "pc": [
- 358
- ]
- },
- {
- "teal": 231,
- "source": 27,
- "pc": [
- 359
- ]
- },
- {
- "teal": 232,
- "source": 27,
- "pc": [
- 360
- ]
- },
- {
- "teal": 235,
- "source": 27,
- "errorMessage": "argument 1 (a) for u256minus must be a uint256",
- "pc": [
- 361
- ]
- },
- {
- "teal": 238,
- "source": 27,
- "pc": [
- 362,
- 363,
- 364
- ]
- },
- {
- "teal": 239,
- "source": 27,
- "pc": [
- 365
- ]
- },
- {
- "teal": 240,
- "source": 27,
- "pc": [
- 366
- ]
- },
- {
- "teal": 241,
- "source": 27,
- "pc": [
- 367
- ]
- },
- {
- "teal": 242,
- "source": 27,
- "pc": [
- 368
- ]
- },
- {
- "teal": 245,
- "source": 27,
- "errorMessage": "u256minus return value overflowed 256 bits",
- "pc": [
- 369
- ]
- },
- {
- "teal": 246,
- "source": 27,
- "pc": [
- 370
- ]
- },
- {
- "teal": 247,
- "source": 27,
- "pc": [
- 371
- ]
- },
- {
- "teal": 248,
- "source": 27,
- "pc": [
- 372
- ]
- },
- {
- "teal": 249,
- "source": 27,
- "pc": [
- 373
- ]
- },
- {
- "teal": 250,
- "source": 27,
- "pc": [
- 374
- ]
- },
- {
- "teal": 251,
- "source": 27,
- "pc": [
- 375
- ]
- },
- {
- "teal": 252,
- "source": 27,
- "pc": [
- 376
- ]
- },
- {
- "teal": 253,
- "source": 27,
- "pc": [
- 377
- ]
- },
- {
- "teal": 254,
- "source": 27,
- "pc": [
- 378
- ]
- },
- {
- "teal": 255,
- "source": 27,
- "pc": [
- 379
- ]
- },
- {
- "teal": 256,
- "source": 27,
- "pc": [
- 380
- ]
- },
- {
- "teal": 257,
- "source": 27,
- "pc": [
- 381
- ]
- },
- {
- "teal": 258,
- "source": 27,
- "pc": [
- 382
- ]
- },
- {
- "teal": 262,
- "source": 27,
- "pc": [
- 383,
- 384,
- 385
- ]
- },
- {
- "teal": 266,
- "source": 28,
- "pc": [
- 386,
- 387
- ]
- },
- {
- "teal": 267,
- "source": 28,
- "pc": [
- 388,
- 389
- ]
- },
- {
- "teal": 268,
- "source": 28,
- "pc": [
- 390
- ]
- },
- {
- "teal": 269,
- "source": 27,
- "pc": [
- 391
- ]
- },
- {
- "teal": 274,
- "source": 31,
- "pc": [
- 392
- ]
- },
- {
- "teal": 277,
- "source": 31,
- "pc": [
- 393,
- 394,
- 395
- ]
- },
- {
- "teal": 278,
- "source": 31,
- "pc": [
- 396
- ]
- },
- {
- "teal": 279,
- "source": 31,
- "pc": [
- 397
- ]
- },
- {
- "teal": 280,
- "source": 31,
- "pc": [
- 398
- ]
- },
- {
- "teal": 281,
- "source": 31,
- "pc": [
- 399
- ]
- },
- {
- "teal": 284,
- "source": 31,
- "errorMessage": "argument 0 (b) for u256mul must be a uint256",
- "pc": [
- 400
- ]
- },
- {
- "teal": 287,
- "source": 31,
- "pc": [
- 401,
- 402,
- 403
- ]
- },
- {
- "teal": 288,
- "source": 31,
- "pc": [
- 404
- ]
- },
- {
- "teal": 289,
- "source": 31,
- "pc": [
- 405
- ]
- },
- {
- "teal": 290,
- "source": 31,
- "pc": [
- 406
- ]
- },
- {
- "teal": 291,
- "source": 31,
- "pc": [
- 407
- ]
- },
- {
- "teal": 294,
- "source": 31,
- "errorMessage": "argument 1 (a) for u256mul must be a uint256",
- "pc": [
- 408
- ]
- },
- {
- "teal": 297,
- "source": 31,
- "pc": [
- 409,
- 410,
- 411
- ]
- },
- {
- "teal": 298,
- "source": 31,
- "pc": [
- 412
- ]
- },
- {
- "teal": 299,
- "source": 31,
- "pc": [
- 413
- ]
- },
- {
- "teal": 300,
- "source": 31,
- "pc": [
- 414
- ]
- },
- {
- "teal": 301,
- "source": 31,
- "pc": [
- 415
- ]
- },
- {
- "teal": 304,
- "source": 31,
- "errorMessage": "u256mul return value overflowed 256 bits",
- "pc": [
- 416
- ]
- },
- {
- "teal": 305,
- "source": 31,
- "pc": [
- 417
- ]
- },
- {
- "teal": 306,
- "source": 31,
- "pc": [
- 418
- ]
- },
- {
- "teal": 307,
- "source": 31,
- "pc": [
- 419
- ]
- },
- {
- "teal": 308,
- "source": 31,
- "pc": [
- 420
- ]
- },
- {
- "teal": 309,
- "source": 31,
- "pc": [
- 421
- ]
- },
- {
- "teal": 310,
- "source": 31,
- "pc": [
- 422
- ]
- },
- {
- "teal": 311,
- "source": 31,
- "pc": [
- 423
- ]
- },
- {
- "teal": 312,
- "source": 31,
- "pc": [
- 424
- ]
- },
- {
- "teal": 313,
- "source": 31,
- "pc": [
- 425
- ]
- },
- {
- "teal": 314,
- "source": 31,
- "pc": [
- 426
- ]
- },
- {
- "teal": 315,
- "source": 31,
- "pc": [
- 427
- ]
- },
- {
- "teal": 316,
- "source": 31,
- "pc": [
- 428
- ]
- },
- {
- "teal": 317,
- "source": 31,
- "pc": [
- 429
- ]
- },
- {
- "teal": 321,
- "source": 31,
- "pc": [
- 430,
- 431,
- 432
- ]
- },
- {
- "teal": 325,
- "source": 32,
- "pc": [
- 433,
- 434
- ]
- },
- {
- "teal": 326,
- "source": 32,
- "pc": [
- 435,
- 436
- ]
- },
- {
- "teal": 327,
- "source": 32,
- "pc": [
- 437
- ]
- },
- {
- "teal": 328,
- "source": 31,
- "pc": [
- 438
- ]
- },
- {
- "teal": 333,
- "source": 35,
- "pc": [
- 439
- ]
- },
- {
- "teal": 336,
- "source": 35,
- "pc": [
- 440,
- 441,
- 442
- ]
- },
- {
- "teal": 337,
- "source": 35,
- "pc": [
- 443
- ]
- },
- {
- "teal": 338,
- "source": 35,
- "pc": [
- 444
- ]
- },
- {
- "teal": 339,
- "source": 35,
- "pc": [
- 445
- ]
- },
- {
- "teal": 340,
- "source": 35,
- "pc": [
- 446
- ]
- },
- {
- "teal": 343,
- "source": 35,
- "errorMessage": "argument 0 (b) for u256div must be a uint256",
- "pc": [
- 447
- ]
- },
- {
- "teal": 346,
- "source": 35,
- "pc": [
- 448,
- 449,
- 450
- ]
- },
- {
- "teal": 347,
- "source": 35,
- "pc": [
- 451
- ]
- },
- {
- "teal": 348,
- "source": 35,
- "pc": [
- 452
- ]
- },
- {
- "teal": 349,
- "source": 35,
- "pc": [
- 453
- ]
- },
- {
- "teal": 350,
- "source": 35,
- "pc": [
- 454
- ]
- },
- {
- "teal": 353,
- "source": 35,
- "errorMessage": "argument 1 (a) for u256div must be a uint256",
- "pc": [
- 455
- ]
- },
- {
- "teal": 356,
- "source": 35,
- "pc": [
- 456,
- 457,
- 458
- ]
- },
- {
- "teal": 357,
- "source": 35,
- "pc": [
- 459
- ]
- },
- {
- "teal": 358,
- "source": 35,
- "pc": [
- 460
- ]
- },
- {
- "teal": 359,
- "source": 35,
- "pc": [
- 461
- ]
- },
- {
- "teal": 360,
- "source": 35,
- "pc": [
- 462
- ]
- },
- {
- "teal": 363,
- "source": 35,
- "errorMessage": "u256div return value overflowed 256 bits",
- "pc": [
- 463
- ]
- },
- {
- "teal": 364,
- "source": 35,
- "pc": [
- 464
- ]
- },
- {
- "teal": 365,
- "source": 35,
- "pc": [
- 465
- ]
- },
- {
- "teal": 366,
- "source": 35,
- "pc": [
- 466
- ]
- },
- {
- "teal": 367,
- "source": 35,
- "pc": [
- 467
- ]
- },
- {
- "teal": 368,
- "source": 35,
- "pc": [
- 468
- ]
- },
- {
- "teal": 369,
- "source": 35,
- "pc": [
- 469
- ]
- },
- {
- "teal": 370,
- "source": 35,
- "pc": [
- 470
- ]
- },
- {
- "teal": 371,
- "source": 35,
- "pc": [
- 471
- ]
- },
- {
- "teal": 372,
- "source": 35,
- "pc": [
- 472
- ]
- },
- {
- "teal": 373,
- "source": 35,
- "pc": [
- 473
- ]
- },
- {
- "teal": 374,
- "source": 35,
- "pc": [
- 474
- ]
- },
- {
- "teal": 375,
- "source": 35,
- "pc": [
- 475
- ]
- },
- {
- "teal": 376,
- "source": 35,
- "pc": [
- 476
- ]
- },
- {
- "teal": 380,
- "source": 35,
- "pc": [
- 477,
- 478,
- 479
- ]
- },
- {
- "teal": 384,
- "source": 36,
- "pc": [
- 480,
- 481
- ]
- },
- {
- "teal": 385,
- "source": 36,
- "pc": [
- 482,
- 483
- ]
- },
- {
- "teal": 386,
- "source": 36,
- "pc": [
- 484
- ]
- },
- {
- "teal": 387,
- "source": 35,
- "pc": [
- 485
- ]
- },
- {
- "teal": 392,
- "source": 39,
- "pc": [
- 486
- ]
- },
- {
- "teal": 395,
- "source": 39,
- "pc": [
- 487,
- 488,
- 489
- ]
- },
- {
- "teal": 396,
- "source": 39,
- "pc": [
- 490
- ]
- },
- {
- "teal": 399,
- "source": 39,
- "pc": [
- 491,
- 492,
- 493
- ]
- },
- {
- "teal": 400,
- "source": 39,
- "pc": [
- 494
- ]
- },
- {
- "teal": 403,
- "source": 39,
- "pc": [
- 495,
- 496,
- 497
- ]
- },
- {
- "teal": 404,
- "source": 39,
- "pc": [
- 498
- ]
- },
- {
- "teal": 405,
- "source": 39,
- "pc": [
- 499
- ]
- },
- {
- "teal": 406,
- "source": 39,
- "pc": [
- 500
- ]
- },
- {
- "teal": 407,
- "source": 39,
- "pc": [
- 501
- ]
- },
- {
- "teal": 410,
- "source": 39,
- "errorMessage": "u64Return256 return value overflowed 256 bits",
- "pc": [
- 502
- ]
- },
- {
- "teal": 411,
- "source": 39,
- "pc": [
- 503
- ]
- },
- {
- "teal": 412,
- "source": 39,
- "pc": [
- 504
- ]
- },
- {
- "teal": 413,
- "source": 39,
- "pc": [
- 505
- ]
- },
- {
- "teal": 414,
- "source": 39,
- "pc": [
- 506
- ]
- },
- {
- "teal": 415,
- "source": 39,
- "pc": [
- 507
- ]
- },
- {
- "teal": 416,
- "source": 39,
- "pc": [
- 508
- ]
- },
- {
- "teal": 417,
- "source": 39,
- "pc": [
- 509
- ]
- },
- {
- "teal": 418,
- "source": 39,
- "pc": [
- 510
- ]
- },
- {
- "teal": 419,
- "source": 39,
- "pc": [
- 511
- ]
- },
- {
- "teal": 420,
- "source": 39,
- "pc": [
- 512
- ]
- },
- {
- "teal": 421,
- "source": 39,
- "pc": [
- 513
- ]
- },
- {
- "teal": 422,
- "source": 39,
- "pc": [
- 514
- ]
- },
- {
- "teal": 423,
- "source": 39,
- "pc": [
- 515
- ]
- },
- {
- "teal": 427,
- "source": 39,
- "pc": [
- 516,
- 517,
- 518
- ]
- },
- {
- "teal": 431,
- "source": 40,
- "pc": [
- 519,
- 520
- ]
- },
- {
- "teal": 432,
- "source": 40,
- "pc": [
- 521,
- 522
- ]
- },
- {
- "teal": 433,
- "source": 40,
- "pc": [
- 523
- ]
- },
- {
- "teal": 434,
- "source": 40,
- "pc": [
- 524
- ]
- },
- {
- "teal": 435,
- "source": 39,
- "pc": [
- 525
- ]
- },
- {
- "teal": 440,
- "source": 43,
- "pc": [
- 526
- ]
- },
- {
- "teal": 443,
- "source": 43,
- "pc": [
- 527,
- 528,
- 529
- ]
- },
- {
- "teal": 444,
- "source": 43,
- "pc": [
- 530
- ]
- },
- {
- "teal": 445,
- "source": 43,
- "pc": [
- 531
- ]
- },
- {
- "teal": 446,
- "source": 43,
- "pc": [
- 532
- ]
- },
- {
- "teal": 447,
- "source": 43,
- "pc": [
- 533
- ]
- },
- {
- "teal": 448,
- "source": 43,
- "pc": [
- 534
- ]
- },
- {
- "teal": 452,
- "source": 43,
- "pc": [
- 535,
- 536,
- 537
- ]
- },
- {
- "teal": 456,
- "source": 44,
- "pc": [
- 538,
- 539,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548
- ]
- },
- {
- "teal": 457,
- "source": 43,
- "pc": [
- 549
- ]
- },
- {
- "teal": 462,
- "source": 47,
- "pc": [
- 550
- ]
- },
- {
- "teal": 465,
- "source": 47,
- "pc": [
- 551,
- 552,
- 553
- ]
- },
- {
- "teal": 466,
- "source": 47,
- "pc": [
- 554
- ]
- },
- {
- "teal": 469,
- "source": 47,
- "pc": [
- 555,
- 556,
- 557
- ]
- },
- {
- "teal": 470,
- "source": 47,
- "pc": [
- 558
- ]
- },
- {
- "teal": 473,
- "source": 47,
- "pc": [
- 559,
- 560,
- 561
- ]
- },
- {
- "teal": 474,
- "source": 47,
- "pc": [
- 562
- ]
- },
- {
- "teal": 475,
- "source": 47,
- "pc": [
- 563
- ]
- },
- {
- "teal": 476,
- "source": 47,
- "pc": [
- 564
- ]
- },
- {
- "teal": 477,
- "source": 47,
- "pc": [
- 565
- ]
- },
- {
- "teal": 478,
- "source": 47,
- "pc": [
- 566
- ]
- },
- {
- "teal": 482,
- "source": 47,
- "pc": [
- 567,
- 568,
- 569
- ]
- },
- {
- "teal": 486,
- "source": 48,
- "pc": [
- 570,
- 571
- ]
- },
- {
- "teal": 487,
- "source": 48,
- "pc": [
- 572,
- 573
- ]
- },
- {
- "teal": 488,
- "source": 48,
- "pc": [
- 574
- ]
- },
- {
- "teal": 489,
- "source": 47,
- "pc": [
- 575
- ]
- },
- {
- "teal": 494,
- "source": 51,
- "pc": [
- 576
- ]
- },
- {
- "teal": 497,
- "source": 51,
- "pc": [
- 577,
- 578,
- 579
- ]
- },
- {
- "teal": 498,
- "source": 51,
- "pc": [
- 580
- ]
- },
- {
- "teal": 499,
- "source": 51,
- "pc": [
- 581
- ]
- },
- {
- "teal": 500,
- "source": 51,
- "pc": [
- 582
- ]
- },
- {
- "teal": 501,
- "source": 51,
- "pc": [
- 583
- ]
- },
- {
- "teal": 504,
- "source": 51,
- "errorMessage": "argument 0 (y) for variableTypeHint must be a uint8",
- "pc": [
- 584
- ]
- },
- {
- "teal": 505,
- "source": 51,
- "pc": [
- 585
- ]
- },
- {
- "teal": 508,
- "source": 51,
- "pc": [
- 586,
- 587,
- 588
- ]
- },
- {
- "teal": 509,
- "source": 51,
- "pc": [
- 589
- ]
- },
- {
- "teal": 510,
- "source": 51,
- "pc": [
- 590
- ]
- },
- {
- "teal": 511,
- "source": 51,
- "pc": [
- 591
- ]
- },
- {
- "teal": 512,
- "source": 51,
- "pc": [
- 592
- ]
- },
- {
- "teal": 515,
- "source": 51,
- "errorMessage": "argument 1 (x) for variableTypeHint must be a uint8",
- "pc": [
- 593
- ]
- },
- {
- "teal": 516,
- "source": 51,
- "pc": [
- 594
- ]
- },
- {
- "teal": 519,
- "source": 51,
- "pc": [
- 595,
- 596,
- 597
- ]
- },
- {
- "teal": 520,
- "source": 51,
- "pc": [
- 598
- ]
- },
- {
- "teal": 521,
- "source": 51,
- "pc": [
- 599
- ]
- },
- {
- "teal": 522,
- "source": 51,
- "pc": [
- 600
- ]
- },
- {
- "teal": 523,
- "source": 51,
- "pc": [
- 601,
- 602
- ]
- },
- {
- "teal": 524,
- "source": 51,
- "pc": [
- 603
- ]
- },
- {
- "teal": 527,
- "source": 51,
- "errorMessage": "variableTypeHint return value overflowed 16 bits",
- "pc": [
- 604
- ]
- },
- {
- "teal": 528,
- "source": 51,
- "pc": [
- 605,
- 606,
- 607
- ]
- },
- {
- "teal": 529,
- "source": 51,
- "pc": [
- 608
- ]
- },
- {
- "teal": 530,
- "source": 51,
- "pc": [
- 609
- ]
- },
- {
- "teal": 531,
- "source": 51,
- "pc": [
- 610
- ]
- },
- {
- "teal": 532,
- "source": 51,
- "pc": [
- 611
- ]
- },
- {
- "teal": 536,
- "source": 51,
- "pc": [
- 612,
- 613,
- 614
- ]
- },
- {
- "teal": 539,
- "source": 51,
- "pc": [
- 615
- ]
- },
- {
- "teal": 543,
- "source": 52,
- "pc": [
- 616,
- 617
- ]
- },
- {
- "teal": 544,
- "source": 52,
- "pc": [
- 618,
- 619
- ]
- },
- {
- "teal": 545,
- "source": 52,
- "pc": [
- 620
- ]
- },
- {
- "teal": 546,
- "source": 52,
- "pc": [
- 621,
- 622
- ]
- },
- {
- "teal": 550,
- "source": 54,
- "pc": [
- 623,
- 624
- ]
- },
- {
- "teal": 553,
- "source": 51,
- "pc": [
- 625,
- 626
- ]
- },
- {
- "teal": 554,
- "source": 51,
- "pc": [
- 627
- ]
- },
- {
- "teal": 559,
- "source": 57,
- "pc": [
- 628
- ]
- },
- {
- "teal": 562,
- "source": 57,
- "pc": [
- 629,
- 630,
- 631
- ]
- },
- {
- "teal": 563,
- "source": 57,
- "pc": [
- 632
- ]
- },
- {
- "teal": 564,
- "source": 57,
- "pc": [
- 633
- ]
- },
- {
- "teal": 565,
- "source": 57,
- "pc": [
- 634
- ]
- },
- {
- "teal": 566,
- "source": 57,
- "pc": [
- 635
- ]
- },
- {
- "teal": 569,
- "source": 57,
- "errorMessage": "argument 0 (b) for uint8plus must be a uint8",
- "pc": [
- 636
- ]
- },
- {
- "teal": 570,
- "source": 57,
- "pc": [
- 637
- ]
- },
- {
- "teal": 573,
- "source": 57,
- "pc": [
- 638,
- 639,
- 640
- ]
- },
- {
- "teal": 574,
- "source": 57,
- "pc": [
- 641
- ]
- },
- {
- "teal": 575,
- "source": 57,
- "pc": [
- 642
- ]
- },
- {
- "teal": 576,
- "source": 57,
- "pc": [
- 643
- ]
- },
- {
- "teal": 577,
- "source": 57,
- "pc": [
- 644
- ]
- },
- {
- "teal": 580,
- "source": 57,
- "errorMessage": "argument 1 (a) for uint8plus must be a uint8",
- "pc": [
- 645
- ]
- },
- {
- "teal": 581,
- "source": 57,
- "pc": [
- 646
- ]
- },
- {
- "teal": 584,
- "source": 57,
- "pc": [
- 647,
- 648,
- 649
- ]
- },
- {
- "teal": 585,
- "source": 57,
- "pc": [
- 650
- ]
- },
- {
- "teal": 586,
- "source": 57,
- "pc": [
- 651
- ]
- },
- {
- "teal": 587,
- "source": 57,
- "pc": [
- 652
- ]
- },
- {
- "teal": 588,
- "source": 57,
- "pc": [
- 653
- ]
- },
- {
- "teal": 589,
- "source": 57,
- "pc": [
- 654
- ]
- },
- {
- "teal": 592,
- "source": 57,
- "errorMessage": "uint8plus return value overflowed 8 bits",
- "pc": [
- 655
- ]
- },
- {
- "teal": 593,
- "source": 57,
- "pc": [
- 656,
- 657,
- 658
- ]
- },
- {
- "teal": 594,
- "source": 57,
- "pc": [
- 659
- ]
- },
- {
- "teal": 595,
- "source": 57,
- "pc": [
- 660
- ]
- },
- {
- "teal": 596,
- "source": 57,
- "pc": [
- 661
- ]
- },
- {
- "teal": 597,
- "source": 57,
- "pc": [
- 662
- ]
- },
- {
- "teal": 601,
- "source": 57,
- "pc": [
- 663,
- 664,
- 665
- ]
- },
- {
- "teal": 605,
- "source": 58,
- "pc": [
- 666,
- 667
- ]
- },
- {
- "teal": 606,
- "source": 58,
- "pc": [
- 668,
- 669
- ]
- },
- {
- "teal": 607,
- "source": 58,
- "pc": [
- 670
- ]
- },
- {
- "teal": 608,
- "source": 57,
- "pc": [
- 671
- ]
- },
- {
- "teal": 613,
- "source": 61,
- "pc": [
- 672
- ]
- },
- {
- "teal": 616,
- "source": 61,
- "pc": [
- 673,
- 674,
- 675
- ]
- },
- {
- "teal": 617,
- "source": 61,
- "pc": [
- 676
- ]
- },
- {
- "teal": 618,
- "source": 61,
- "pc": [
- 677
- ]
- },
- {
- "teal": 619,
- "source": 61,
- "pc": [
- 678
- ]
- },
- {
- "teal": 620,
- "source": 61,
- "pc": [
- 679
- ]
- },
- {
- "teal": 623,
- "source": 61,
- "errorMessage": "argument 0 (b) for uint8exp must be a uint8",
- "pc": [
- 680
- ]
- },
- {
- "teal": 624,
- "source": 61,
- "pc": [
- 681
- ]
- },
- {
- "teal": 627,
- "source": 61,
- "pc": [
- 682,
- 683,
- 684
- ]
- },
- {
- "teal": 628,
- "source": 61,
- "pc": [
- 685
- ]
- },
- {
- "teal": 629,
- "source": 61,
- "pc": [
- 686
- ]
- },
- {
- "teal": 630,
- "source": 61,
- "pc": [
- 687
- ]
- },
- {
- "teal": 631,
- "source": 61,
- "pc": [
- 688
- ]
- },
- {
- "teal": 634,
- "source": 61,
- "errorMessage": "argument 1 (a) for uint8exp must be a uint8",
- "pc": [
- 689
- ]
- },
- {
- "teal": 635,
- "source": 61,
- "pc": [
- 690
- ]
- },
- {
- "teal": 638,
- "source": 61,
- "pc": [
- 691,
- 692,
- 693
- ]
- },
- {
- "teal": 639,
- "source": 61,
- "pc": [
- 694
- ]
- },
- {
- "teal": 640,
- "source": 61,
- "pc": [
- 695
- ]
- },
- {
- "teal": 641,
- "source": 61,
- "pc": [
- 696
- ]
- },
- {
- "teal": 642,
- "source": 61,
- "pc": [
- 697
- ]
- },
- {
- "teal": 643,
- "source": 61,
- "pc": [
- 698
- ]
- },
- {
- "teal": 646,
- "source": 61,
- "errorMessage": "uint8exp return value overflowed 8 bits",
- "pc": [
- 699
- ]
- },
- {
- "teal": 647,
- "source": 61,
- "pc": [
- 700,
- 701,
- 702
- ]
- },
- {
- "teal": 648,
- "source": 61,
- "pc": [
- 703
- ]
- },
- {
- "teal": 649,
- "source": 61,
- "pc": [
- 704
- ]
- },
- {
- "teal": 650,
- "source": 61,
- "pc": [
- 705
- ]
- },
- {
- "teal": 651,
- "source": 61,
- "pc": [
- 706
- ]
- },
- {
- "teal": 655,
- "source": 61,
- "pc": [
- 707,
- 708,
- 709
- ]
- },
- {
- "teal": 659,
- "source": 62,
- "pc": [
- 710,
- 711
- ]
- },
- {
- "teal": 660,
- "source": 62,
- "pc": [
- 712,
- 713
- ]
- },
- {
- "teal": 661,
- "source": 62,
- "pc": [
- 714
- ]
- },
- {
- "teal": 662,
- "source": 61,
- "pc": [
- 715
- ]
- },
- {
- "teal": 667,
- "source": 65,
- "pc": [
- 716
- ]
- },
- {
- "teal": 670,
- "source": 65,
- "pc": [
- 717,
- 718,
- 719
- ]
- },
- {
- "teal": 671,
- "source": 65,
- "pc": [
- 720
- ]
- },
- {
- "teal": 674,
- "source": 65,
- "pc": [
- 721,
- 722,
- 723
- ]
- },
- {
- "teal": 675,
- "source": 65,
- "pc": [
- 724
- ]
- },
- {
- "teal": 678,
- "source": 65,
- "pc": [
- 725,
- 726,
- 727
- ]
- },
- {
- "teal": 679,
- "source": 65,
- "pc": [
- 728
- ]
- },
- {
- "teal": 680,
- "source": 65,
- "pc": [
- 729
- ]
- },
- {
- "teal": 681,
- "source": 65,
- "pc": [
- 730
- ]
- },
- {
- "teal": 682,
- "source": 65,
- "pc": [
- 731
- ]
- },
- {
- "teal": 683,
- "source": 65,
- "pc": [
- 732
- ]
- },
- {
- "teal": 687,
- "source": 65,
- "pc": [
- 733,
- 734,
- 735
- ]
- },
- {
- "teal": 690,
- "source": 65,
- "pc": [
- 736
- ]
- },
- {
- "teal": 694,
- "source": 66,
- "pc": [
- 737,
- 738
- ]
- },
- {
- "teal": 695,
- "source": 66,
- "pc": [
- 739,
- 740
- ]
- },
- {
- "teal": 699,
- "source": 68,
- "pc": [
- 741,
- 742
- ]
- },
- {
- "teal": 700,
- "source": 68,
- "pc": [
- 743,
- 744
- ]
- },
- {
- "teal": 701,
- "source": 68,
- "pc": [
- 745
- ]
- },
- {
- "teal": 702,
- "source": 68,
- "pc": [
- 746,
- 747
- ]
- },
- {
- "teal": 706,
- "source": 70,
- "pc": [
- 748,
- 749
- ]
- },
- {
- "teal": 709,
- "source": 65,
- "pc": [
- 750,
- 751
- ]
- },
- {
- "teal": 710,
- "source": 65,
- "pc": [
- 752
- ]
- },
- {
- "teal": 715,
- "source": 73,
- "pc": [
- 753
- ]
- },
- {
- "teal": 718,
- "source": 73,
- "pc": [
- 754,
- 755,
- 756
- ]
- },
- {
- "teal": 719,
- "source": 73,
- "pc": [
- 757
- ]
- },
- {
- "teal": 722,
- "source": 73,
- "pc": [
- 758,
- 759,
- 760
- ]
- },
- {
- "teal": 723,
- "source": 73,
- "pc": [
- 761
- ]
- },
- {
- "teal": 726,
- "source": 73,
- "pc": [
- 762,
- 763,
- 764
- ]
- },
- {
- "teal": 727,
- "source": 73,
- "pc": [
- 765
- ]
- },
- {
- "teal": 728,
- "source": 73,
- "pc": [
- 766
- ]
- },
- {
- "teal": 729,
- "source": 73,
- "pc": [
- 767
- ]
- },
- {
- "teal": 730,
- "source": 73,
- "pc": [
- 768
- ]
- },
- {
- "teal": 731,
- "source": 73,
- "pc": [
- 769
- ]
- },
- {
- "teal": 735,
- "source": 73,
- "pc": [
- 770,
- 771,
- 772
- ]
- },
- {
- "teal": 739,
- "source": 74,
- "pc": [
- 773
- ]
- },
- {
- "teal": 740,
- "source": 74,
- "pc": [
- 774,
- 775
- ]
- },
- {
- "teal": 741,
- "source": 74,
- "pc": [
- 776
- ]
- },
- {
- "teal": 745,
- "source": 76,
- "pc": [
- 777
- ]
- },
- {
- "teal": 746,
- "source": 76,
- "pc": [
- 778
- ]
- },
- {
- "teal": 747,
- "source": 76,
- "pc": [
- 779,
- 780
- ]
- },
- {
- "teal": 748,
- "source": 76,
- "pc": [
- 781
- ]
- },
- {
- "teal": 749,
- "source": 76,
- "pc": [
- 782
- ]
- },
- {
- "teal": 750,
- "source": 76,
- "pc": [
- 783
- ]
- },
- {
- "teal": 751,
- "source": 76,
- "pc": [
- 784
- ]
- },
- {
- "teal": 755,
- "source": 78,
- "pc": [
- 785
- ]
- },
- {
- "teal": 756,
- "source": 78,
- "pc": [
- 786
- ]
- },
- {
- "teal": 757,
- "source": 73,
- "pc": [
- 787
- ]
- },
- {
- "teal": 762,
- "source": 83,
- "pc": [
- 788
- ]
- },
- {
- "teal": 765,
- "source": 83,
- "pc": [
- 789,
- 790,
- 791
- ]
- },
- {
- "teal": 766,
- "source": 83,
- "pc": [
- 792
- ]
- },
- {
- "teal": 767,
- "source": 83,
- "pc": [
- 793
- ]
- },
- {
- "teal": 768,
- "source": 83,
- "pc": [
- 794
- ]
- },
- {
- "teal": 769,
- "source": 83,
- "pc": [
- 795
- ]
- },
- {
- "teal": 772,
- "source": 83,
- "errorMessage": "boxTest return value overflowed 256 bits",
- "pc": [
- 796
- ]
- },
- {
- "teal": 773,
- "source": 83,
- "pc": [
- 797
- ]
- },
- {
- "teal": 774,
- "source": 83,
- "pc": [
- 798
- ]
- },
- {
- "teal": 775,
- "source": 83,
- "pc": [
- 799
- ]
- },
- {
- "teal": 776,
- "source": 83,
- "pc": [
- 800
- ]
- },
- {
- "teal": 777,
- "source": 83,
- "pc": [
- 801
- ]
- },
- {
- "teal": 778,
- "source": 83,
- "pc": [
- 802
- ]
- },
- {
- "teal": 779,
- "source": 83,
- "pc": [
- 803
- ]
- },
- {
- "teal": 780,
- "source": 83,
- "pc": [
- 804
- ]
- },
- {
- "teal": 781,
- "source": 83,
- "pc": [
- 805
- ]
- },
- {
- "teal": 782,
- "source": 83,
- "pc": [
- 806
- ]
- },
- {
- "teal": 783,
- "source": 83,
- "pc": [
- 807
- ]
- },
- {
- "teal": 784,
- "source": 83,
- "pc": [
- 808
- ]
- },
- {
- "teal": 785,
- "source": 83,
- "pc": [
- 809
- ]
- },
- {
- "teal": 789,
- "source": 83,
- "pc": [
- 810,
- 811,
- 812
- ]
- },
- {
- "teal": 793,
- "source": 84,
- "pc": [
- 813,
- 814
- ]
- },
- {
- "teal": 794,
- "source": 84,
- "pc": [
- 815,
- 816
- ]
- },
- {
- "teal": 795,
- "source": 84,
- "pc": [
- 817
- ]
- },
- {
- "teal": 799,
- "source": 85,
- "pc": [
- 818,
- 819
- ]
- },
- {
- "teal": 800,
- "source": 85,
- "pc": [
- 820
- ]
- },
- {
- "teal": 803,
- "source": 85,
- "errorMessage": "box value does not exist: this.boxKey.value",
- "pc": [
- 821
- ]
- },
- {
- "teal": 804,
- "source": 85,
- "pc": [
- 822,
- 823
- ]
- },
- {
- "teal": 805,
- "source": 85,
- "pc": [
- 824
- ]
- },
- {
- "teal": 806,
- "source": 85,
- "pc": [
- 825,
- 826
- ]
- },
- {
- "teal": 807,
- "source": 85,
- "pc": [
- 827
- ]
- },
- {
- "teal": 808,
- "source": 85,
- "pc": [
- 828
- ]
- },
- {
- "teal": 809,
- "source": 85,
- "pc": [
- 829
- ]
- },
- {
- "teal": 810,
- "source": 85,
- "pc": [
- 830
- ]
- },
- {
- "teal": 813,
- "source": 85,
- "errorMessage": "this.boxKey.value overflowed 256 bits",
- "pc": [
- 831
- ]
- },
- {
- "teal": 814,
- "source": 85,
- "pc": [
- 832
- ]
- },
- {
- "teal": 815,
- "source": 85,
- "pc": [
- 833
- ]
- },
- {
- "teal": 816,
- "source": 85,
- "pc": [
- 834
- ]
- },
- {
- "teal": 817,
- "source": 85,
- "pc": [
- 835
- ]
- },
- {
- "teal": 818,
- "source": 85,
- "pc": [
- 836
- ]
- },
- {
- "teal": 819,
- "source": 85,
- "pc": [
- 837
- ]
- },
- {
- "teal": 820,
- "source": 85,
- "pc": [
- 838
- ]
- },
- {
- "teal": 821,
- "source": 85,
- "pc": [
- 839
- ]
- },
- {
- "teal": 822,
- "source": 85,
- "pc": [
- 840
- ]
- },
- {
- "teal": 823,
- "source": 85,
- "pc": [
- 841
- ]
- },
- {
- "teal": 824,
- "source": 85,
- "pc": [
- 842
- ]
- },
- {
- "teal": 828,
- "source": 87,
- "pc": [
- 843,
- 844
- ]
- },
- {
- "teal": 829,
- "source": 87,
- "pc": [
- 845
- ]
- },
- {
- "teal": 832,
- "source": 87,
- "errorMessage": "box value does not exist: this.boxKey.value",
- "pc": [
- 846
- ]
- },
- {
- "teal": 833,
- "source": 83,
- "pc": [
- 847
- ]
- },
- {
- "teal": 837,
- "source": 90,
- "pc": [
- 848,
- 849,
- 850
- ]
- },
- {
- "teal": 841,
- "source": 91,
- "pc": [
- 851,
- 852
- ]
- },
- {
- "teal": 842,
- "source": 90,
- "pc": [
- 853
- ]
- },
- {
- "teal": 847,
- "source": 94,
- "pc": [
- 854
- ]
- },
- {
- "teal": 850,
- "source": 94,
- "pc": [
- 855,
- 856,
- 857
- ]
- },
- {
- "teal": 851,
- "source": 94,
- "pc": [
- 858
- ]
- },
- {
- "teal": 852,
- "source": 94,
- "pc": [
- 859
- ]
- },
- {
- "teal": 853,
- "source": 94,
- "pc": [
- 860
- ]
- },
- {
- "teal": 854,
- "source": 94,
- "pc": [
- 861
- ]
- },
- {
- "teal": 857,
- "source": 94,
- "errorMessage": "argument 0 (b) for unsafeMethodArgs must be a uint256",
- "pc": [
- 862
- ]
- },
- {
- "teal": 860,
- "source": 94,
- "pc": [
- 863,
- 864,
- 865
- ]
- },
- {
- "teal": 861,
- "source": 94,
- "pc": [
- 866
- ]
- },
- {
- "teal": 862,
- "source": 94,
- "pc": [
- 867
- ]
- },
- {
- "teal": 863,
- "source": 94,
- "pc": [
- 868
- ]
- },
- {
- "teal": 864,
- "source": 94,
- "pc": [
- 869
- ]
- },
- {
- "teal": 867,
- "source": 94,
- "errorMessage": "argument 1 (a) for unsafeMethodArgs must be a uint256",
- "pc": [
- 870
- ]
- },
- {
- "teal": 870,
- "source": 94,
- "pc": [
- 871,
- 872,
- 873
- ]
- },
- {
- "teal": 871,
- "source": 94,
- "pc": [
- 874
- ]
- },
- {
- "teal": 872,
- "source": 94,
- "pc": [
- 875
- ]
- },
- {
- "teal": 873,
- "source": 94,
- "pc": [
- 876
- ]
- },
- {
- "teal": 874,
- "source": 94,
- "pc": [
- 877
- ]
- },
- {
- "teal": 877,
- "source": 94,
- "errorMessage": "unsafeMethodArgs return value overflowed 256 bits",
- "pc": [
- 878
- ]
- },
- {
- "teal": 878,
- "source": 94,
- "pc": [
- 879
- ]
- },
- {
- "teal": 879,
- "source": 94,
- "pc": [
- 880
- ]
- },
- {
- "teal": 880,
- "source": 94,
- "pc": [
- 881
- ]
- },
- {
- "teal": 881,
- "source": 94,
- "pc": [
- 882
- ]
- },
- {
- "teal": 882,
- "source": 94,
- "pc": [
- 883
- ]
- },
- {
- "teal": 883,
- "source": 94,
- "pc": [
- 884
- ]
- },
- {
- "teal": 884,
- "source": 94,
- "pc": [
- 885
- ]
- },
- {
- "teal": 885,
- "source": 94,
- "pc": [
- 886
- ]
- },
- {
- "teal": 886,
- "source": 94,
- "pc": [
- 887
- ]
- },
- {
- "teal": 887,
- "source": 94,
- "pc": [
- 888
- ]
- },
- {
- "teal": 888,
- "source": 94,
- "pc": [
- 889
- ]
- },
- {
- "teal": 889,
- "source": 94,
- "pc": [
- 890
- ]
- },
- {
- "teal": 890,
- "source": 94,
- "pc": [
- 891
- ]
- },
- {
- "teal": 894,
- "source": 94,
- "pc": [
- 892,
- 893,
- 894
- ]
- },
- {
- "teal": 897,
- "source": 94,
- "pc": [
- 895
- ]
- },
- {
- "teal": 901,
- "source": 95,
- "pc": [
- 896,
- 897
- ]
- },
- {
- "teal": 902,
- "source": 95,
- "pc": [
- 898,
- 899
- ]
- },
- {
- "teal": 903,
- "source": 95,
- "pc": [
- 900
- ]
- },
- {
- "teal": 904,
- "source": 95,
- "pc": [
- 901,
- 902
- ]
- },
- {
- "teal": 908,
- "source": 97,
- "pc": [
- 903,
- 904
- ]
- },
- {
- "teal": 909,
- "source": 97,
- "pc": [
- 905
- ]
- },
- {
- "teal": 910,
- "source": 97,
- "pc": [
- 906
- ]
- },
- {
- "teal": 911,
- "source": 97,
- "pc": [
- 907
- ]
- },
- {
- "teal": 912,
- "source": 97,
- "pc": [
- 908
- ]
- },
- {
- "teal": 915,
- "source": 97,
- "errorMessage": "c overflowed 256 bits",
- "pc": [
- 909
- ]
- },
- {
- "teal": 916,
- "source": 97,
- "pc": [
- 910
- ]
- },
- {
- "teal": 917,
- "source": 97,
- "pc": [
- 911
- ]
- },
- {
- "teal": 918,
- "source": 97,
- "pc": [
- 912
- ]
- },
- {
- "teal": 919,
- "source": 97,
- "pc": [
- 913
- ]
- },
- {
- "teal": 920,
- "source": 97,
- "pc": [
- 914
- ]
- },
- {
- "teal": 921,
- "source": 97,
- "pc": [
- 915
- ]
- },
- {
- "teal": 922,
- "source": 97,
- "pc": [
- 916
- ]
- },
- {
- "teal": 923,
- "source": 97,
- "pc": [
- 917
- ]
- },
- {
- "teal": 924,
- "source": 97,
- "pc": [
- 918
- ]
- },
- {
- "teal": 925,
- "source": 97,
- "pc": [
- 919,
- 920,
- 921
- ]
- },
- {
- "teal": 928,
- "source": 94,
- "pc": [
- 922,
- 923
- ]
- },
- {
- "teal": 929,
- "source": 94,
- "pc": [
- 924
- ]
- },
- {
- "teal": 934,
- "source": 100,
- "pc": [
- 925,
- 926,
- 927
- ]
- },
- {
- "teal": 935,
- "source": 100,
- "pc": [
- 928
- ]
- },
- {
- "teal": 936,
- "source": 100,
- "pc": [
- 929
- ]
- },
- {
- "teal": 937,
- "source": 100,
- "pc": [
- 930
- ]
- },
- {
- "teal": 938,
- "source": 100,
- "pc": [
- 931
- ]
- },
- {
- "teal": 941,
- "source": 100,
- "errorMessage": "argument 0 (b) for uint256ComparisonType must be a uint256",
- "pc": [
- 932
- ]
- },
- {
- "teal": 944,
- "source": 100,
- "pc": [
- 933,
- 934,
- 935
- ]
- },
- {
- "teal": 945,
- "source": 100,
- "pc": [
- 936
- ]
- },
- {
- "teal": 946,
- "source": 100,
- "pc": [
- 937
- ]
- },
- {
- "teal": 947,
- "source": 100,
- "pc": [
- 938
- ]
- },
- {
- "teal": 948,
- "source": 100,
- "pc": [
- 939
- ]
- },
- {
- "teal": 951,
- "source": 100,
- "errorMessage": "argument 1 (a) for uint256ComparisonType must be a uint256",
- "pc": [
- 940
- ]
- },
- {
- "teal": 954,
- "source": 100,
- "pc": [
- 941,
- 942,
- 943
- ]
- },
- {
- "teal": 955,
- "source": 100,
- "pc": [
- 944
- ]
- },
- {
- "teal": 956,
- "source": 100,
- "pc": [
- 945
- ]
- },
- {
- "teal": 960,
- "source": 100,
- "pc": [
- 946,
- 947,
- 948
- ]
- },
- {
- "teal": 963,
- "source": 100,
- "pc": [
- 949
- ]
- },
- {
- "teal": 967,
- "source": 101,
- "pc": [
- 950,
- 951
- ]
- },
- {
- "teal": 968,
- "source": 101,
- "pc": [
- 952,
- 953
- ]
- },
- {
- "teal": 969,
- "source": 101,
- "pc": [
- 954
- ]
- },
- {
- "teal": 970,
- "source": 101,
- "pc": [
- 955,
- 956
- ]
- },
- {
- "teal": 975,
- "source": 102,
- "pc": [
- 957,
- 958
- ]
- },
- {
- "teal": 976,
- "source": 102,
- "pc": [
- 959,
- 960,
- 961,
- 962,
- 963,
- 964,
- 965,
- 966,
- 967,
- 968,
- 969,
- 970,
- 971,
- 972,
- 973,
- 974,
- 975,
- 976,
- 977,
- 978,
- 979,
- 980,
- 981,
- 982,
- 983,
- 984,
- 985,
- 986,
- 987,
- 988,
- 989,
- 990,
- 991,
- 992
- ]
- },
- {
- "teal": 977,
- "source": 102,
- "pc": [
- 993
- ]
- },
- {
- "teal": 978,
- "source": 102,
- "pc": [
- 994,
- 995,
- 996
- ]
- },
- {
- "teal": 983,
- "source": 103,
- "pc": [
- 997,
- 998,
- 999,
- 1000,
- 1001,
- 1002,
- 1003,
- 1004,
- 1005
- ]
- },
- {
- "teal": 984,
- "source": 103,
- "pc": [
- 1006
- ]
- },
- {
- "teal": 985,
- "source": 102,
- "pc": [
- 1007,
- 1008,
- 1009
- ]
- },
- {
- "teal": 990,
- "source": 105,
- "pc": [
- 1010,
- 1011,
- 1012,
- 1013,
- 1014,
- 1015
- ]
- },
- {
- "teal": 991,
- "source": 105,
- "pc": [
- 1016
- ]
- },
- {
- "teal": 994,
- "source": 100,
- "pc": [
- 1017
- ]
- },
- {
- "teal": 999,
- "source": 109,
- "pc": [
- 1018
- ]
- },
- {
- "teal": 1002,
- "source": 109,
- "pc": [
- 1019,
- 1020,
- 1021
- ]
- },
- {
- "teal": 1003,
- "source": 109,
- "pc": [
- 1022
- ]
- },
- {
- "teal": 1004,
- "source": 109,
- "pc": [
- 1023
- ]
- },
- {
- "teal": 1005,
- "source": 109,
- "pc": [
- 1024
- ]
- },
- {
- "teal": 1006,
- "source": 109,
- "pc": [
- 1025
- ]
- },
- {
- "teal": 1009,
- "source": 109,
- "errorMessage": "argument 0 (b) for squareRoot256 must be a uint256",
- "pc": [
- 1026
- ]
- },
- {
- "teal": 1012,
- "source": 109,
- "pc": [
- 1027,
- 1028,
- 1029
- ]
- },
- {
- "teal": 1013,
- "source": 109,
- "pc": [
- 1030
- ]
- },
- {
- "teal": 1014,
- "source": 109,
- "pc": [
- 1031
- ]
- },
- {
- "teal": 1015,
- "source": 109,
- "pc": [
- 1032
- ]
- },
- {
- "teal": 1016,
- "source": 109,
- "pc": [
- 1033
- ]
- },
- {
- "teal": 1019,
- "source": 109,
- "errorMessage": "argument 1 (a) for squareRoot256 must be a uint256",
- "pc": [
- 1034
- ]
- },
- {
- "teal": 1022,
- "source": 109,
- "pc": [
- 1035,
- 1036,
- 1037
- ]
- },
- {
- "teal": 1023,
- "source": 109,
- "pc": [
- 1038
- ]
- },
- {
- "teal": 1024,
- "source": 109,
- "pc": [
- 1039
- ]
- },
- {
- "teal": 1025,
- "source": 109,
- "pc": [
- 1040
- ]
- },
- {
- "teal": 1026,
- "source": 109,
- "pc": [
- 1041
- ]
- },
- {
- "teal": 1029,
- "source": 109,
- "errorMessage": "squareRoot256 return value overflowed 256 bits",
- "pc": [
- 1042
- ]
- },
- {
- "teal": 1030,
- "source": 109,
- "pc": [
- 1043
- ]
- },
- {
- "teal": 1031,
- "source": 109,
- "pc": [
- 1044
- ]
- },
- {
- "teal": 1032,
- "source": 109,
- "pc": [
- 1045
- ]
- },
- {
- "teal": 1033,
- "source": 109,
- "pc": [
- 1046
- ]
- },
- {
- "teal": 1034,
- "source": 109,
- "pc": [
- 1047
- ]
- },
- {
- "teal": 1035,
- "source": 109,
- "pc": [
- 1048
- ]
- },
- {
- "teal": 1036,
- "source": 109,
- "pc": [
- 1049
- ]
- },
- {
- "teal": 1037,
- "source": 109,
- "pc": [
- 1050
- ]
- },
- {
- "teal": 1038,
- "source": 109,
- "pc": [
- 1051
- ]
- },
- {
- "teal": 1039,
- "source": 109,
- "pc": [
- 1052
- ]
- },
- {
- "teal": 1040,
- "source": 109,
- "pc": [
- 1053
- ]
- },
- {
- "teal": 1041,
- "source": 109,
- "pc": [
- 1054
- ]
- },
- {
- "teal": 1042,
- "source": 109,
- "pc": [
- 1055
- ]
- },
- {
- "teal": 1046,
- "source": 109,
- "pc": [
- 1056,
- 1057,
- 1058
- ]
- },
- {
- "teal": 1050,
- "source": 110,
- "pc": [
- 1059,
- 1060
- ]
- },
- {
- "teal": 1051,
- "source": 110,
- "pc": [
- 1061,
- 1062
- ]
- },
- {
- "teal": 1052,
- "source": 110,
- "pc": [
- 1063
- ]
- },
- {
- "teal": 1053,
- "source": 110,
- "pc": [
- 1064
- ]
- },
- {
- "teal": 1054,
- "source": 109,
- "pc": [
- 1065
- ]
- },
- {
- "teal": 1059,
- "source": 113,
- "pc": [
- 1066
- ]
- },
- {
- "teal": 1062,
- "source": 113,
- "pc": [
- 1067,
- 1068,
- 1069
- ]
- },
- {
- "teal": 1063,
- "source": 113,
- "pc": [
- 1070
- ]
- },
- {
- "teal": 1066,
- "source": 113,
- "pc": [
- 1071,
- 1072,
- 1073
- ]
- },
- {
- "teal": 1067,
- "source": 113,
- "pc": [
- 1074
- ]
- },
- {
- "teal": 1070,
- "source": 113,
- "pc": [
- 1075,
- 1076,
- 1077
- ]
- },
- {
- "teal": 1071,
- "source": 113,
- "pc": [
- 1078
- ]
- },
- {
- "teal": 1072,
- "source": 113,
- "pc": [
- 1079
- ]
- },
- {
- "teal": 1073,
- "source": 113,
- "pc": [
- 1080
- ]
- },
- {
- "teal": 1074,
- "source": 113,
- "pc": [
- 1081
- ]
- },
- {
- "teal": 1075,
- "source": 113,
- "pc": [
- 1082
- ]
- },
- {
- "teal": 1079,
- "source": 113,
- "pc": [
- 1083,
- 1084,
- 1085
- ]
- },
- {
- "teal": 1083,
- "source": 114,
- "pc": [
- 1086,
- 1087
- ]
- },
- {
- "teal": 1084,
- "source": 114,
- "pc": [
- 1088,
- 1089
- ]
- },
- {
- "teal": 1085,
- "source": 114,
- "pc": [
- 1090
- ]
- },
- {
- "teal": 1086,
- "source": 114,
- "pc": [
- 1091
- ]
- },
- {
- "teal": 1087,
- "source": 113,
- "pc": [
- 1092
- ]
- },
- {
- "teal": 1092,
- "source": 117,
- "pc": [
- 1093
- ]
- },
- {
- "teal": 1095,
- "source": 117,
- "pc": [
- 1094,
- 1095,
- 1096
- ]
- },
- {
- "teal": 1096,
- "source": 117,
- "pc": [
- 1097
- ]
- },
- {
- "teal": 1097,
- "source": 117,
- "pc": [
- 1098
- ]
- },
- {
- "teal": 1098,
- "source": 117,
- "pc": [
- 1099
- ]
- },
- {
- "teal": 1099,
- "source": 117,
- "pc": [
- 1100
- ]
- },
- {
- "teal": 1102,
- "source": 117,
- "errorMessage": "argument 0 (addr) for addressToBigInt must be a address",
- "pc": [
- 1101
- ]
- },
- {
- "teal": 1105,
- "source": 117,
- "pc": [
- 1102,
- 1103,
- 1104
- ]
- },
- {
- "teal": 1106,
- "source": 117,
- "pc": [
- 1105,
- 1106,
- 1107
- ]
- },
- {
- "teal": 1107,
- "source": 117,
- "pc": [
- 1108,
- 1109
- ]
- },
- {
- "teal": 1108,
- "source": 117,
- "pc": [
- 1110,
- 1111
- ]
- },
- {
- "teal": 1109,
- "source": 117,
- "pc": [
- 1112
- ]
- },
- {
- "teal": 1110,
- "source": 117,
- "pc": [
- 1113
- ]
- },
- {
- "teal": 1111,
- "source": 117,
- "pc": [
- 1114
- ]
- },
- {
- "teal": 1112,
- "source": 117,
- "pc": [
- 1115
- ]
- },
- {
- "teal": 1113,
- "source": 117,
- "pc": [
- 1116
- ]
- },
- {
- "teal": 1117,
- "source": 117,
- "pc": [
- 1117,
- 1118,
- 1119
- ]
- },
- {
- "teal": 1121,
- "source": 118,
- "pc": [
- 1120,
- 1121
- ]
- },
- {
- "teal": 1122,
- "source": 118,
- "pc": [
- 1122,
- 1123
- ]
- },
- {
- "teal": 1123,
- "source": 118,
- "pc": [
- 1124
- ]
- },
- {
- "teal": 1124,
- "source": 117,
- "pc": [
- 1125
- ]
- },
- {
- "teal": 1129,
- "source": 121,
- "pc": [
- 1126
- ]
- },
- {
- "teal": 1132,
- "source": 121,
- "pc": [
- 1127,
- 1128,
- 1129
- ]
- },
- {
- "teal": 1133,
- "source": 121,
- "pc": [
- 1130
- ]
- },
- {
- "teal": 1134,
- "source": 121,
- "pc": [
- 1131
- ]
- },
- {
- "teal": 1135,
- "source": 121,
- "pc": [
- 1132
- ]
- },
- {
- "teal": 1136,
- "source": 121,
- "pc": [
- 1133
- ]
- },
- {
- "teal": 1137,
- "source": 121,
- "pc": [
- 1134
- ]
- },
- {
- "teal": 1141,
- "source": 121,
- "pc": [
- 1135,
- 1136,
- 1137
- ]
- },
- {
- "teal": 1144,
- "source": 121,
- "pc": [
- 1138
- ]
- },
- {
- "teal": 1148,
- "source": 122,
- "pc": [
- 1139,
- 1140
- ]
- },
- {
- "teal": 1149,
- "source": 122,
- "pc": [
- 1141,
- 1142
- ]
- },
- {
- "teal": 1153,
- "source": 123,
- "pc": [
- 1143,
- 1144
- ]
- },
- {
- "teal": 1156,
- "source": 121,
- "pc": [
- 1145,
- 1146
- ]
- },
- {
- "teal": 1157,
- "source": 121,
- "pc": [
- 1147
- ]
- },
- {
- "teal": 1161,
- "source": 126,
- "pc": [
- 1148,
- 1149,
- 1150
- ]
- },
- {
- "teal": 1165,
- "source": 127,
- "pc": [
- 1151,
- 1152
- ]
- },
- {
- "teal": 1166,
- "source": 127,
- "pc": [
- 1153,
- 1154
- ]
- },
- {
- "teal": 1167,
- "source": 127,
- "pc": [
- 1155
- ]
- },
- {
- "teal": 1168,
- "source": 127,
- "pc": [
- 1156
- ]
- },
- {
- "teal": 1169,
- "source": 126,
- "pc": [
- 1157
- ]
- },
- {
- "teal": 1174,
- "source": 130,
- "pc": [
- 1158,
- 1159,
- 1160
- ]
- },
- {
- "teal": 1175,
- "source": 130,
- "pc": [
- 1161
- ]
- },
- {
- "teal": 1176,
- "source": 130,
- "pc": [
- 1162
- ]
- },
- {
- "teal": 1177,
- "source": 130,
- "pc": [
- 1163
- ]
- },
- {
- "teal": 1178,
- "source": 130,
- "pc": [
- 1164
- ]
- },
- {
- "teal": 1181,
- "source": 130,
- "errorMessage": "argument 0 (x) for funcName must be a uint256",
- "pc": [
- 1165
- ]
- },
- {
- "teal": 1184,
- "source": 130,
- "pc": [
- 1166,
- 1167,
- 1168
- ]
- },
- {
- "teal": 1185,
- "source": 130,
- "pc": [
- 1169
- ]
- },
- {
- "teal": 1186,
- "source": 130,
- "pc": [
- 1170
- ]
- },
- {
- "teal": 1190,
- "source": 130,
- "pc": [
- 1171,
- 1172,
- 1173
- ]
- },
- {
- "teal": 1194,
- "source": 131,
- "pc": [
- 1174,
- 1175,
- 1176
- ]
- },
- {
- "teal": 1195,
- "source": 131,
- "pc": [
- 1177,
- 1178
- ]
- },
- {
- "teal": 1196,
- "source": 131,
- "pc": [
- 1179
- ]
- },
- {
- "teal": 1197,
- "source": 131,
- "pc": [
- 1180
- ]
- },
- {
- "teal": 1198,
- "source": 131,
- "pc": [
- 1181
- ]
- },
- {
- "teal": 1199,
- "source": 131,
- "pc": [
- 1182
- ]
- },
- {
- "teal": 1202,
- "source": 131,
- "errorMessage": "x overflowed 8 bits",
- "pc": [
- 1183
- ]
- },
- {
- "teal": 1203,
- "source": 131,
- "pc": [
- 1184,
- 1185,
- 1186
- ]
- },
- {
- "teal": 1204,
- "source": 131,
- "pc": [
- 1187
- ]
- },
- {
- "teal": 1205,
- "source": 131,
- "pc": [
- 1188,
- 1189,
- 1190
- ]
- },
- {
- "teal": 1206,
- "source": 130,
- "pc": [
- 1191
- ]
- },
- {
- "teal": 1211,
- "source": 134,
- "pc": [
- 1192
- ]
- },
- {
- "teal": 1214,
- "source": 134,
- "pc": [
- 1193,
- 1194,
- 1195
- ]
- },
- {
- "teal": 1215,
- "source": 134,
- "pc": [
- 1196
- ]
- },
- {
- "teal": 1218,
- "source": 134,
- "pc": [
- 1197,
- 1198,
- 1199
- ]
- },
- {
- "teal": 1219,
- "source": 134,
- "pc": [
- 1200
- ]
- },
- {
- "teal": 1222,
- "source": 134,
- "pc": [
- 1201,
- 1202,
- 1203
- ]
- },
- {
- "teal": 1223,
- "source": 134,
- "pc": [
- 1204
- ]
- },
- {
- "teal": 1224,
- "source": 134,
- "pc": [
- 1205
- ]
- },
- {
- "teal": 1225,
- "source": 134,
- "pc": [
- 1206
- ]
- },
- {
- "teal": 1226,
- "source": 134,
- "pc": [
- 1207
- ]
- },
- {
- "teal": 1227,
- "source": 134,
- "pc": [
- 1208
- ]
- },
- {
- "teal": 1231,
- "source": 134,
- "pc": [
- 1209,
- 1210,
- 1211
- ]
- },
- {
- "teal": 1234,
- "source": 134,
- "pc": [
- 1212
- ]
- },
- {
- "teal": 1235,
- "source": 134,
- "pc": [
- 1213
- ]
- },
- {
- "teal": 1239,
- "source": 135,
- "pc": [
- 1214,
- 1215
- ]
- },
- {
- "teal": 1240,
- "source": 135,
- "pc": [
- 1216
- ]
- },
- {
- "teal": 1241,
- "source": 135,
- "pc": [
- 1217,
- 1218
- ]
- },
- {
- "teal": 1245,
- "source": 136,
- "pc": [
- 1219,
- 1220
- ]
- },
- {
- "teal": 1246,
- "source": 136,
- "pc": [
- 1221
- ]
- },
- {
- "teal": 1247,
- "source": 136,
- "pc": [
- 1222,
- 1223
- ]
- },
- {
- "teal": 1251,
- "source": 137,
- "pc": [
- 1224,
- 1225
- ]
- },
- {
- "teal": 1252,
- "source": 137,
- "pc": [
- 1226,
- 1227
- ]
- },
- {
- "teal": 1253,
- "source": 137,
- "pc": [
- 1228
- ]
- },
- {
- "teal": 1254,
- "source": 137,
- "pc": [
- 1229
- ]
- },
- {
- "teal": 1255,
- "source": 137,
- "pc": [
- 1230
- ]
- },
- {
- "teal": 1256,
- "source": 137,
- "pc": [
- 1231,
- 1232
- ]
- },
- {
- "teal": 1257,
- "source": 137,
- "pc": [
- 1233
- ]
- },
- {
- "teal": 1260,
- "source": 137,
- "errorMessage": "(btobigint(x) + btobigint(y)) as uint64 overflowed 64 bits",
- "pc": [
- 1234
- ]
- },
- {
- "teal": 1261,
- "source": 137,
- "pc": [
- 1235,
- 1236
- ]
- },
- {
- "teal": 1262,
- "source": 137,
- "pc": [
- 1237
- ]
- },
- {
- "teal": 1263,
- "source": 137,
- "pc": [
- 1238
- ]
- },
- {
- "teal": 1264,
- "source": 137,
- "pc": [
- 1239
- ]
- },
- {
- "teal": 1265,
- "source": 137,
- "pc": [
- 1240
- ]
- },
- {
- "teal": 1266,
- "source": 137,
- "pc": [
- 1241
- ]
- },
- {
- "teal": 1267,
- "source": 137,
- "pc": [
- 1242
- ]
- },
- {
- "teal": 1268,
- "source": 137,
- "pc": [
- 1243
- ]
- },
- {
- "teal": 1269,
- "source": 137,
- "pc": [
- 1244
- ]
- },
- {
- "teal": 1270,
- "source": 137,
- "pc": [
- 1245
- ]
- },
- {
- "teal": 1273,
- "source": 134,
- "pc": [
- 1246,
- 1247
- ]
- },
- {
- "teal": 1276,
- "source": 134,
- "pc": [
- 1248,
- 1249
- ]
- },
- {
- "teal": 1277,
- "source": 134,
- "pc": [
- 1250
- ]
- },
- {
- "teal": 1282,
- "source": 140,
- "pc": [
- 1251
- ]
- },
- {
- "teal": 1285,
- "source": 140,
- "pc": [
- 1252,
- 1253,
- 1254
- ]
- },
- {
- "teal": 1286,
- "source": 140,
- "pc": [
- 1255
- ]
- },
- {
- "teal": 1289,
- "source": 140,
- "pc": [
- 1256,
- 1257,
- 1258
- ]
- },
- {
- "teal": 1290,
- "source": 140,
- "pc": [
- 1259
- ]
- },
- {
- "teal": 1293,
- "source": 140,
- "pc": [
- 1260,
- 1261,
- 1262
- ]
- },
- {
- "teal": 1294,
- "source": 140,
- "pc": [
- 1263
- ]
- },
- {
- "teal": 1295,
- "source": 140,
- "pc": [
- 1264
- ]
- },
- {
- "teal": 1296,
- "source": 140,
- "pc": [
- 1265
- ]
- },
- {
- "teal": 1297,
- "source": 140,
- "pc": [
- 1266
- ]
- },
- {
- "teal": 1298,
- "source": 140,
- "pc": [
- 1267
- ]
- },
- {
- "teal": 1302,
- "source": 140,
- "pc": [
- 1268,
- 1269,
- 1270
- ]
- },
- {
- "teal": 1306,
- "source": 141,
- "pc": [
- 1271,
- 1272
- ]
- },
- {
- "teal": 1307,
- "source": 141,
- "pc": [
- 1273,
- 1274
- ]
- },
- {
- "teal": 1308,
- "source": 141,
- "pc": [
- 1275
- ]
- },
- {
- "teal": 1309,
- "source": 140,
- "pc": [
- 1276
- ]
- },
- {
- "teal": 1314,
- "source": 144,
- "pc": [
- 1277
- ]
- },
- {
- "teal": 1317,
- "source": 144,
- "pc": [
- 1278,
- 1279,
- 1280
- ]
- },
- {
- "teal": 1318,
- "source": 144,
- "pc": [
- 1281
- ]
- },
- {
- "teal": 1321,
- "source": 144,
- "pc": [
- 1282,
- 1283,
- 1284
- ]
- },
- {
- "teal": 1322,
- "source": 144,
- "pc": [
- 1285
- ]
- },
- {
- "teal": 1325,
- "source": 144,
- "pc": [
- 1286,
- 1287,
- 1288
- ]
- },
- {
- "teal": 1326,
- "source": 144,
- "pc": [
- 1289
- ]
- },
- {
- "teal": 1327,
- "source": 144,
- "pc": [
- 1290
- ]
- },
- {
- "teal": 1328,
- "source": 144,
- "pc": [
- 1291
- ]
- },
- {
- "teal": 1329,
- "source": 144,
- "pc": [
- 1292
- ]
- },
- {
- "teal": 1330,
- "source": 144,
- "pc": [
- 1293
- ]
- },
- {
- "teal": 1334,
- "source": 144,
- "pc": [
- 1294,
- 1295,
- 1296
- ]
- },
- {
- "teal": 1338,
- "source": 145,
- "pc": [
- 1297,
- 1298
- ]
- },
- {
- "teal": 1339,
- "source": 145,
- "pc": [
- 1299,
- 1300
- ]
- },
- {
- "teal": 1340,
- "source": 145,
- "pc": [
- 1301
- ]
- },
- {
- "teal": 1341,
- "source": 144,
- "pc": [
- 1302
- ]
- },
- {
- "teal": 1346,
- "source": 148,
- "pc": [
- 1303
- ]
- },
- {
- "teal": 1349,
- "source": 148,
- "pc": [
- 1304,
- 1305,
- 1306
- ]
- },
- {
- "teal": 1350,
- "source": 148,
- "pc": [
- 1307
- ]
- },
- {
- "teal": 1353,
- "source": 148,
- "pc": [
- 1308,
- 1309,
- 1310
- ]
- },
- {
- "teal": 1354,
- "source": 148,
- "pc": [
- 1311
- ]
- },
- {
- "teal": 1357,
- "source": 148,
- "pc": [
- 1312,
- 1313,
- 1314
- ]
- },
- {
- "teal": 1358,
- "source": 148,
- "pc": [
- 1315
- ]
- },
- {
- "teal": 1359,
- "source": 148,
- "pc": [
- 1316
- ]
- },
- {
- "teal": 1360,
- "source": 148,
- "pc": [
- 1317
- ]
- },
- {
- "teal": 1361,
- "source": 148,
- "pc": [
- 1318
- ]
- },
- {
- "teal": 1362,
- "source": 148,
- "pc": [
- 1319
- ]
- },
- {
- "teal": 1366,
- "source": 148,
- "pc": [
- 1320,
- 1321,
- 1322
- ]
- },
- {
- "teal": 1370,
- "source": 149,
- "pc": [
- 1323,
- 1324
- ]
- },
- {
- "teal": 1371,
- "source": 149,
- "pc": [
- 1325,
- 1326
- ]
- },
- {
- "teal": 1372,
- "source": 149,
- "pc": [
- 1327
- ]
- },
- {
- "teal": 1373,
- "source": 148,
- "pc": [
- 1328
- ]
- },
- {
- "teal": 1378,
- "source": 152,
- "pc": [
- 1329
- ]
- },
- {
- "teal": 1381,
- "source": 152,
- "pc": [
- 1330,
- 1331,
- 1332
- ]
- },
- {
- "teal": 1382,
- "source": 152,
- "pc": [
- 1333
- ]
- },
- {
- "teal": 1383,
- "source": 152,
- "pc": [
- 1334
- ]
- },
- {
- "teal": 1384,
- "source": 152,
- "pc": [
- 1335
- ]
- },
- {
- "teal": 1385,
- "source": 152,
- "pc": [
- 1336
- ]
- },
- {
- "teal": 1388,
- "source": 152,
- "errorMessage": "argument 0 (b) for bitwiseOrU256 must be a uint256",
- "pc": [
- 1337
- ]
- },
- {
- "teal": 1391,
- "source": 152,
- "pc": [
- 1338,
- 1339,
- 1340
- ]
- },
- {
- "teal": 1392,
- "source": 152,
- "pc": [
- 1341
- ]
- },
- {
- "teal": 1393,
- "source": 152,
- "pc": [
- 1342
- ]
- },
- {
- "teal": 1394,
- "source": 152,
- "pc": [
- 1343
- ]
- },
- {
- "teal": 1395,
- "source": 152,
- "pc": [
- 1344
- ]
- },
- {
- "teal": 1398,
- "source": 152,
- "errorMessage": "argument 1 (a) for bitwiseOrU256 must be a uint256",
- "pc": [
- 1345
- ]
- },
- {
- "teal": 1401,
- "source": 152,
- "pc": [
- 1346,
- 1347,
- 1348
- ]
- },
- {
- "teal": 1402,
- "source": 152,
- "pc": [
- 1349
- ]
- },
- {
- "teal": 1403,
- "source": 152,
- "pc": [
- 1350
- ]
- },
- {
- "teal": 1404,
- "source": 152,
- "pc": [
- 1351
- ]
- },
- {
- "teal": 1405,
- "source": 152,
- "pc": [
- 1352
- ]
- },
- {
- "teal": 1408,
- "source": 152,
- "errorMessage": "bitwiseOrU256 return value overflowed 256 bits",
- "pc": [
- 1353
- ]
- },
- {
- "teal": 1409,
- "source": 152,
- "pc": [
- 1354
- ]
- },
- {
- "teal": 1410,
- "source": 152,
- "pc": [
- 1355
- ]
- },
- {
- "teal": 1411,
- "source": 152,
- "pc": [
- 1356
- ]
- },
- {
- "teal": 1412,
- "source": 152,
- "pc": [
- 1357
- ]
- },
- {
- "teal": 1413,
- "source": 152,
- "pc": [
- 1358
- ]
- },
- {
- "teal": 1414,
- "source": 152,
- "pc": [
- 1359
- ]
- },
- {
- "teal": 1415,
- "source": 152,
- "pc": [
- 1360
- ]
- },
- {
- "teal": 1416,
- "source": 152,
- "pc": [
- 1361
- ]
- },
- {
- "teal": 1417,
- "source": 152,
- "pc": [
- 1362
- ]
- },
- {
- "teal": 1418,
- "source": 152,
- "pc": [
- 1363
- ]
- },
- {
- "teal": 1419,
- "source": 152,
- "pc": [
- 1364
- ]
- },
- {
- "teal": 1420,
- "source": 152,
- "pc": [
- 1365
- ]
- },
- {
- "teal": 1421,
- "source": 152,
- "pc": [
- 1366
- ]
- },
- {
- "teal": 1425,
- "source": 152,
- "pc": [
- 1367,
- 1368,
- 1369
- ]
- },
- {
- "teal": 1429,
- "source": 153,
- "pc": [
- 1370,
- 1371
- ]
- },
- {
- "teal": 1430,
- "source": 153,
- "pc": [
- 1372,
- 1373
- ]
- },
- {
- "teal": 1431,
- "source": 153,
- "pc": [
- 1374
- ]
- },
- {
- "teal": 1432,
- "source": 152,
- "pc": [
- 1375
- ]
- },
- {
- "teal": 1437,
- "source": 156,
- "pc": [
- 1376
- ]
- },
- {
- "teal": 1440,
- "source": 156,
- "pc": [
- 1377,
- 1378,
- 1379
- ]
- },
- {
- "teal": 1441,
- "source": 156,
- "pc": [
- 1380
- ]
- },
- {
- "teal": 1442,
- "source": 156,
- "pc": [
- 1381
- ]
- },
- {
- "teal": 1443,
- "source": 156,
- "pc": [
- 1382
- ]
- },
- {
- "teal": 1444,
- "source": 156,
- "pc": [
- 1383
- ]
- },
- {
- "teal": 1447,
- "source": 156,
- "errorMessage": "argument 0 (b) for bitwiseAndU256 must be a uint256",
- "pc": [
- 1384
- ]
- },
- {
- "teal": 1450,
- "source": 156,
- "pc": [
- 1385,
- 1386,
- 1387
- ]
- },
- {
- "teal": 1451,
- "source": 156,
- "pc": [
- 1388
- ]
- },
- {
- "teal": 1452,
- "source": 156,
- "pc": [
- 1389
- ]
- },
- {
- "teal": 1453,
- "source": 156,
- "pc": [
- 1390
- ]
- },
- {
- "teal": 1454,
- "source": 156,
- "pc": [
- 1391
- ]
- },
- {
- "teal": 1457,
- "source": 156,
- "errorMessage": "argument 1 (a) for bitwiseAndU256 must be a uint256",
- "pc": [
- 1392
- ]
- },
- {
- "teal": 1460,
- "source": 156,
- "pc": [
- 1393,
- 1394,
- 1395
- ]
- },
- {
- "teal": 1461,
- "source": 156,
- "pc": [
- 1396
- ]
- },
- {
- "teal": 1462,
- "source": 156,
- "pc": [
- 1397
- ]
- },
- {
- "teal": 1463,
- "source": 156,
- "pc": [
- 1398
- ]
- },
- {
- "teal": 1464,
- "source": 156,
- "pc": [
- 1399
- ]
- },
- {
- "teal": 1467,
- "source": 156,
- "errorMessage": "bitwiseAndU256 return value overflowed 256 bits",
- "pc": [
- 1400
- ]
- },
- {
- "teal": 1468,
- "source": 156,
- "pc": [
- 1401
- ]
- },
- {
- "teal": 1469,
- "source": 156,
- "pc": [
- 1402
- ]
- },
- {
- "teal": 1470,
- "source": 156,
- "pc": [
- 1403
- ]
- },
- {
- "teal": 1471,
- "source": 156,
- "pc": [
- 1404
- ]
- },
- {
- "teal": 1472,
- "source": 156,
- "pc": [
- 1405
- ]
- },
- {
- "teal": 1473,
- "source": 156,
- "pc": [
- 1406
- ]
- },
- {
- "teal": 1474,
- "source": 156,
- "pc": [
- 1407
- ]
- },
- {
- "teal": 1475,
- "source": 156,
- "pc": [
- 1408
- ]
- },
- {
- "teal": 1476,
- "source": 156,
- "pc": [
- 1409
- ]
- },
- {
- "teal": 1477,
- "source": 156,
- "pc": [
- 1410
- ]
- },
- {
- "teal": 1478,
- "source": 156,
- "pc": [
- 1411
- ]
- },
- {
- "teal": 1479,
- "source": 156,
- "pc": [
- 1412
- ]
- },
- {
- "teal": 1480,
- "source": 156,
- "pc": [
- 1413
- ]
- },
- {
- "teal": 1484,
- "source": 156,
- "pc": [
- 1414,
- 1415,
- 1416
- ]
- },
- {
- "teal": 1488,
- "source": 157,
- "pc": [
- 1417,
- 1418
- ]
- },
- {
- "teal": 1489,
- "source": 157,
- "pc": [
- 1419,
- 1420
- ]
- },
- {
- "teal": 1490,
- "source": 157,
- "pc": [
- 1421
- ]
- },
- {
- "teal": 1491,
- "source": 156,
- "pc": [
- 1422
- ]
- },
- {
- "teal": 1496,
- "source": 160,
- "pc": [
- 1423
- ]
- },
- {
- "teal": 1499,
- "source": 160,
- "pc": [
- 1424,
- 1425,
- 1426
- ]
- },
- {
- "teal": 1500,
- "source": 160,
- "pc": [
- 1427
- ]
- },
- {
- "teal": 1501,
- "source": 160,
- "pc": [
- 1428
- ]
- },
- {
- "teal": 1502,
- "source": 160,
- "pc": [
- 1429
- ]
- },
- {
- "teal": 1503,
- "source": 160,
- "pc": [
- 1430
- ]
- },
- {
- "teal": 1506,
- "source": 160,
- "errorMessage": "argument 0 (b) for bitwiseXorU256 must be a uint256",
- "pc": [
- 1431
- ]
- },
- {
- "teal": 1509,
- "source": 160,
- "pc": [
- 1432,
- 1433,
- 1434
- ]
- },
- {
- "teal": 1510,
- "source": 160,
- "pc": [
- 1435
- ]
- },
- {
- "teal": 1511,
- "source": 160,
- "pc": [
- 1436
- ]
- },
- {
- "teal": 1512,
- "source": 160,
- "pc": [
- 1437
- ]
- },
- {
- "teal": 1513,
- "source": 160,
- "pc": [
- 1438
- ]
- },
- {
- "teal": 1516,
- "source": 160,
- "errorMessage": "argument 1 (a) for bitwiseXorU256 must be a uint256",
- "pc": [
- 1439
- ]
- },
- {
- "teal": 1519,
- "source": 160,
- "pc": [
- 1440,
- 1441,
- 1442
- ]
- },
- {
- "teal": 1520,
- "source": 160,
- "pc": [
- 1443
- ]
- },
- {
- "teal": 1521,
- "source": 160,
- "pc": [
- 1444
- ]
- },
- {
- "teal": 1522,
- "source": 160,
- "pc": [
- 1445
- ]
- },
- {
- "teal": 1523,
- "source": 160,
- "pc": [
- 1446
- ]
- },
- {
- "teal": 1526,
- "source": 160,
- "errorMessage": "bitwiseXorU256 return value overflowed 256 bits",
- "pc": [
- 1447
- ]
- },
- {
- "teal": 1527,
- "source": 160,
- "pc": [
- 1448
- ]
- },
- {
- "teal": 1528,
- "source": 160,
- "pc": [
- 1449
- ]
- },
- {
- "teal": 1529,
- "source": 160,
- "pc": [
- 1450
- ]
- },
- {
- "teal": 1530,
- "source": 160,
- "pc": [
- 1451
- ]
- },
- {
- "teal": 1531,
- "source": 160,
- "pc": [
- 1452
- ]
- },
- {
- "teal": 1532,
- "source": 160,
- "pc": [
- 1453
- ]
- },
- {
- "teal": 1533,
- "source": 160,
- "pc": [
- 1454
- ]
- },
- {
- "teal": 1534,
- "source": 160,
- "pc": [
- 1455
- ]
- },
- {
- "teal": 1535,
- "source": 160,
- "pc": [
- 1456
- ]
- },
- {
- "teal": 1536,
- "source": 160,
- "pc": [
- 1457
- ]
- },
- {
- "teal": 1537,
- "source": 160,
- "pc": [
- 1458
- ]
- },
- {
- "teal": 1538,
- "source": 160,
- "pc": [
- 1459
- ]
- },
- {
- "teal": 1539,
- "source": 160,
- "pc": [
- 1460
- ]
- },
- {
- "teal": 1543,
- "source": 160,
- "pc": [
- 1461,
- 1462,
- 1463
- ]
- },
- {
- "teal": 1547,
- "source": 161,
- "pc": [
- 1464,
- 1465
- ]
- },
- {
- "teal": 1548,
- "source": 161,
- "pc": [
- 1466,
- 1467
- ]
- },
- {
- "teal": 1549,
- "source": 161,
- "pc": [
- 1468
- ]
- },
- {
- "teal": 1550,
- "source": 160,
- "pc": [
- 1469
- ]
- },
- {
- "teal": 1555,
- "source": 164,
- "pc": [
- 1470
- ]
- },
- {
- "teal": 1558,
- "source": 164,
- "pc": [
- 1471,
- 1472,
- 1473
- ]
- },
- {
- "teal": 1559,
- "source": 164,
- "pc": [
- 1474
- ]
- },
- {
- "teal": 1562,
- "source": 164,
- "pc": [
- 1475,
- 1476,
- 1477
- ]
- },
- {
- "teal": 1563,
- "source": 164,
- "pc": [
- 1478
- ]
- },
- {
- "teal": 1564,
- "source": 164,
- "pc": [
- 1479
- ]
- },
- {
- "teal": 1565,
- "source": 164,
- "pc": [
- 1480
- ]
- },
- {
- "teal": 1566,
- "source": 164,
- "pc": [
- 1481
- ]
- },
- {
- "teal": 1567,
- "source": 164,
- "pc": [
- 1482
- ]
- },
- {
- "teal": 1571,
- "source": 164,
- "pc": [
- 1483,
- 1484,
- 1485
- ]
- },
- {
- "teal": 1575,
- "source": 165,
- "pc": [
- 1486,
- 1487
- ]
- },
- {
- "teal": 1576,
- "source": 165,
- "pc": [
- 1488
- ]
- },
- {
- "teal": 1577,
- "source": 164,
- "pc": [
- 1489
- ]
- },
- {
- "teal": 1582,
- "source": 168,
- "pc": [
- 1490
- ]
- },
- {
- "teal": 1585,
- "source": 168,
- "pc": [
- 1491,
- 1492,
- 1493
- ]
- },
- {
- "teal": 1586,
- "source": 168,
- "pc": [
- 1494
- ]
- },
- {
- "teal": 1587,
- "source": 168,
- "pc": [
- 1495
- ]
- },
- {
- "teal": 1588,
- "source": 168,
- "pc": [
- 1496
- ]
- },
- {
- "teal": 1589,
- "source": 168,
- "pc": [
- 1497
- ]
- },
- {
- "teal": 1592,
- "source": 168,
- "errorMessage": "argument 0 (a) for bitwiseNotU256 must be a uint256",
- "pc": [
- 1498
- ]
- },
- {
- "teal": 1595,
- "source": 168,
- "pc": [
- 1499,
- 1500,
- 1501
- ]
- },
- {
- "teal": 1596,
- "source": 168,
- "pc": [
- 1502
- ]
- },
- {
- "teal": 1597,
- "source": 168,
- "pc": [
- 1503
- ]
- },
- {
- "teal": 1598,
- "source": 168,
- "pc": [
- 1504
- ]
- },
- {
- "teal": 1599,
- "source": 168,
- "pc": [
- 1505
- ]
- },
- {
- "teal": 1602,
- "source": 168,
- "errorMessage": "bitwiseNotU256 return value overflowed 256 bits",
- "pc": [
- 1506
- ]
- },
- {
- "teal": 1603,
- "source": 168,
- "pc": [
- 1507
- ]
- },
- {
- "teal": 1604,
- "source": 168,
- "pc": [
- 1508
- ]
- },
- {
- "teal": 1605,
- "source": 168,
- "pc": [
- 1509
- ]
- },
- {
- "teal": 1606,
- "source": 168,
- "pc": [
- 1510
- ]
- },
- {
- "teal": 1607,
- "source": 168,
- "pc": [
- 1511
- ]
- },
- {
- "teal": 1608,
- "source": 168,
- "pc": [
- 1512
- ]
- },
- {
- "teal": 1609,
- "source": 168,
- "pc": [
- 1513
- ]
- },
- {
- "teal": 1610,
- "source": 168,
- "pc": [
- 1514
- ]
- },
- {
- "teal": 1611,
- "source": 168,
- "pc": [
- 1515
- ]
- },
- {
- "teal": 1612,
- "source": 168,
- "pc": [
- 1516
- ]
- },
- {
- "teal": 1613,
- "source": 168,
- "pc": [
- 1517
- ]
- },
- {
- "teal": 1614,
- "source": 168,
- "pc": [
- 1518
- ]
- },
- {
- "teal": 1615,
- "source": 168,
- "pc": [
- 1519
- ]
- },
- {
- "teal": 1619,
- "source": 168,
- "pc": [
- 1520,
- 1521,
- 1522
- ]
- },
- {
- "teal": 1623,
- "source": 169,
- "pc": [
- 1523,
- 1524
- ]
- },
- {
- "teal": 1624,
- "source": 169,
- "pc": [
- 1525
- ]
- },
- {
- "teal": 1625,
- "source": 168,
- "pc": [
- 1526
- ]
- },
- {
- "teal": 1630,
- "source": 172,
- "pc": [
- 1527
- ]
- },
- {
- "teal": 1633,
- "source": 172,
- "pc": [
- 1528,
- 1529,
- 1530
- ]
- },
- {
- "teal": 1634,
- "source": 172,
- "pc": [
- 1531
- ]
- },
- {
- "teal": 1637,
- "source": 172,
- "pc": [
- 1532,
- 1533,
- 1534
- ]
- },
- {
- "teal": 1638,
- "source": 172,
- "pc": [
- 1535
- ]
- },
- {
- "teal": 1641,
- "source": 172,
- "pc": [
- 1536,
- 1537,
- 1538
- ]
- },
- {
- "teal": 1642,
- "source": 172,
- "pc": [
- 1539
- ]
- },
- {
- "teal": 1643,
- "source": 172,
- "pc": [
- 1540
- ]
- },
- {
- "teal": 1644,
- "source": 172,
- "pc": [
- 1541
- ]
- },
- {
- "teal": 1645,
- "source": 172,
- "pc": [
- 1542
- ]
- },
- {
- "teal": 1646,
- "source": 172,
- "pc": [
- 1543
- ]
- },
- {
- "teal": 1650,
- "source": 172,
- "pc": [
- 1544,
- 1545,
- 1546
- ]
- },
- {
- "teal": 1653,
- "source": 172,
- "pc": [
- 1547
- ]
- },
- {
- "teal": 1654,
- "source": 172,
- "pc": [
- 1548
- ]
- },
- {
- "teal": 1658,
- "source": 173,
- "pc": [
- 1549,
- 1550
- ]
- },
- {
- "teal": 1659,
- "source": 173,
- "pc": [
- 1551,
- 1552
- ]
- },
- {
- "teal": 1660,
- "source": 173,
- "pc": [
- 1553
- ]
- },
- {
- "teal": 1661,
- "source": 173,
- "pc": [
- 1554,
- 1555
- ]
- },
- {
- "teal": 1662,
- "source": 173,
- "pc": [
- 1556,
- 1557
- ]
- },
- {
- "teal": 1666,
- "source": 177,
- "pc": [
- 1558,
- 1559
- ]
- },
- {
- "teal": 1669,
- "source": 172,
- "pc": [
- 1560,
- 1561
- ]
- },
- {
- "teal": 1672,
- "source": 172,
- "pc": [
- 1562,
- 1563
- ]
- },
- {
- "teal": 1673,
- "source": 172,
- "pc": [
- 1564
- ]
- },
- {
- "teal": 1678,
- "source": 180,
- "pc": [
- 1565
- ]
- },
- {
- "teal": 1681,
- "source": 180,
- "pc": [
- 1566,
- 1567,
- 1568
- ]
- },
- {
- "teal": 1682,
- "source": 180,
- "pc": [
- 1569
- ]
- },
- {
- "teal": 1685,
- "source": 180,
- "pc": [
- 1570,
- 1571,
- 1572
- ]
- },
- {
- "teal": 1686,
- "source": 180,
- "pc": [
- 1573
- ]
- },
- {
- "teal": 1689,
- "source": 180,
- "pc": [
- 1574,
- 1575,
- 1576
- ]
- },
- {
- "teal": 1690,
- "source": 180,
- "pc": [
- 1577
- ]
- },
- {
- "teal": 1691,
- "source": 180,
- "pc": [
- 1578
- ]
- },
- {
- "teal": 1692,
- "source": 180,
- "pc": [
- 1579
- ]
- },
- {
- "teal": 1693,
- "source": 180,
- "pc": [
- 1580
- ]
- },
- {
- "teal": 1694,
- "source": 180,
- "pc": [
- 1581
- ]
- },
- {
- "teal": 1698,
- "source": 180,
- "pc": [
- 1582,
- 1583,
- 1584
- ]
- },
- {
- "teal": 1701,
- "source": 180,
- "pc": [
- 1585
- ]
- },
- {
- "teal": 1702,
- "source": 180,
- "pc": [
- 1586
- ]
- },
- {
- "teal": 1706,
- "source": 181,
- "pc": [
- 1587,
- 1588
- ]
- },
- {
- "teal": 1707,
- "source": 181,
- "pc": [
- 1589,
- 1590
- ]
- },
- {
- "teal": 1708,
- "source": 181,
- "pc": [
- 1591
- ]
- },
- {
- "teal": 1709,
- "source": 181,
- "pc": [
- 1592,
- 1593
- ]
- },
- {
- "teal": 1710,
- "source": 181,
- "pc": [
- 1594,
- 1595
- ]
- },
- {
- "teal": 1714,
- "source": 185,
- "pc": [
- 1596,
- 1597
- ]
- },
- {
- "teal": 1717,
- "source": 180,
- "pc": [
- 1598,
- 1599
- ]
- },
- {
- "teal": 1720,
- "source": 180,
- "pc": [
- 1600,
- 1601
- ]
- },
- {
- "teal": 1721,
- "source": 180,
- "pc": [
- 1602
- ]
- },
- {
- "teal": 1726,
- "source": 188,
- "pc": [
- 1603
- ]
- },
- {
- "teal": 1729,
- "source": 188,
- "pc": [
- 1604,
- 1605,
- 1606
- ]
- },
- {
- "teal": 1730,
- "source": 188,
- "pc": [
- 1607
- ]
- },
- {
- "teal": 1733,
- "source": 188,
- "pc": [
- 1608,
- 1609,
- 1610
- ]
- },
- {
- "teal": 1734,
- "source": 188,
- "pc": [
- 1611
- ]
- },
- {
- "teal": 1737,
- "source": 188,
- "pc": [
- 1612,
- 1613,
- 1614
- ]
- },
- {
- "teal": 1738,
- "source": 188,
- "pc": [
- 1615
- ]
- },
- {
- "teal": 1739,
- "source": 188,
- "pc": [
- 1616
- ]
- },
- {
- "teal": 1740,
- "source": 188,
- "pc": [
- 1617
- ]
- },
- {
- "teal": 1741,
- "source": 188,
- "pc": [
- 1618
- ]
- },
- {
- "teal": 1742,
- "source": 188,
- "pc": [
- 1619
- ]
- },
- {
- "teal": 1746,
- "source": 188,
- "pc": [
- 1620,
- 1621,
- 1622
- ]
- },
- {
- "teal": 1749,
- "source": 188,
- "pc": [
- 1623
- ]
- },
- {
- "teal": 1750,
- "source": 188,
- "pc": [
- 1624
- ]
- },
- {
- "teal": 1754,
- "source": 189,
- "pc": [
- 1625,
- 1626
- ]
- },
- {
- "teal": 1755,
- "source": 189,
- "pc": [
- 1627,
- 1628
- ]
- },
- {
- "teal": 1756,
- "source": 189,
- "pc": [
- 1629
- ]
- },
- {
- "teal": 1757,
- "source": 189,
- "pc": [
- 1630,
- 1631
- ]
- },
- {
- "teal": 1758,
- "source": 189,
- "pc": [
- 1632,
- 1633
- ]
- },
- {
- "teal": 1762,
- "source": 193,
- "pc": [
- 1634,
- 1635
- ]
- },
- {
- "teal": 1765,
- "source": 188,
- "pc": [
- 1636,
- 1637
- ]
- },
- {
- "teal": 1768,
- "source": 188,
- "pc": [
- 1638,
- 1639
- ]
- },
- {
- "teal": 1769,
- "source": 188,
- "pc": [
- 1640
- ]
- },
- {
- "teal": 1774,
- "source": 196,
- "pc": [
- 1641
- ]
- },
- {
- "teal": 1777,
- "source": 196,
- "pc": [
- 1642,
- 1643,
- 1644
- ]
- },
- {
- "teal": 1778,
- "source": 196,
- "pc": [
- 1645
- ]
- },
- {
- "teal": 1781,
- "source": 196,
- "pc": [
- 1646,
- 1647,
- 1648
- ]
- },
- {
- "teal": 1782,
- "source": 196,
- "pc": [
- 1649
- ]
- },
- {
- "teal": 1785,
- "source": 196,
- "pc": [
- 1650,
- 1651,
- 1652
- ]
- },
- {
- "teal": 1786,
- "source": 196,
- "pc": [
- 1653
- ]
- },
- {
- "teal": 1787,
- "source": 196,
- "pc": [
- 1654
- ]
- },
- {
- "teal": 1788,
- "source": 196,
- "pc": [
- 1655
- ]
- },
- {
- "teal": 1789,
- "source": 196,
- "pc": [
- 1656
- ]
- },
- {
- "teal": 1790,
- "source": 196,
- "pc": [
- 1657
- ]
- },
- {
- "teal": 1794,
- "source": 196,
- "pc": [
- 1658,
- 1659,
- 1660
- ]
- },
- {
- "teal": 1798,
- "source": 197,
- "pc": [
- 1661,
- 1662
- ]
- },
- {
- "teal": 1799,
- "source": 197,
- "pc": [
- 1663,
- 1664
- ]
- },
- {
- "teal": 1800,
- "source": 197,
- "pc": [
- 1665,
- 1666
- ]
- },
- {
- "teal": 1801,
- "source": 197,
- "pc": [
- 1667
- ]
- },
- {
- "teal": 1802,
- "source": 196,
- "pc": [
- 1668
- ]
- },
- {
- "teal": 1807,
- "source": 200,
- "pc": [
- 1669
- ]
- },
- {
- "teal": 1810,
- "source": 200,
- "pc": [
- 1670,
- 1671,
- 1672
- ]
- },
- {
- "teal": 1811,
- "source": 200,
- "pc": [
- 1673
- ]
- },
- {
- "teal": 1814,
- "source": 200,
- "pc": [
- 1674,
- 1675,
- 1676
- ]
- },
- {
- "teal": 1815,
- "source": 200,
- "pc": [
- 1677
- ]
- },
- {
- "teal": 1818,
- "source": 200,
- "pc": [
- 1678,
- 1679,
- 1680
- ]
- },
- {
- "teal": 1819,
- "source": 200,
- "pc": [
- 1681
- ]
- },
- {
- "teal": 1820,
- "source": 200,
- "pc": [
- 1682
- ]
- },
- {
- "teal": 1821,
- "source": 200,
- "pc": [
- 1683
- ]
- },
- {
- "teal": 1822,
- "source": 200,
- "pc": [
- 1684
- ]
- },
- {
- "teal": 1823,
- "source": 200,
- "pc": [
- 1685
- ]
- },
- {
- "teal": 1827,
- "source": 200,
- "pc": [
- 1686,
- 1687,
- 1688
- ]
- },
- {
- "teal": 1830,
- "source": 200,
- "pc": [
- 1689
- ]
- },
- {
- "teal": 1831,
- "source": 200,
- "pc": [
- 1690,
- 1691
- ]
- },
- {
- "teal": 1835,
- "source": 201,
- "pc": [
- 1692,
- 1693
- ]
- },
- {
- "teal": 1836,
- "source": 201,
- "pc": [
- 1694,
- 1695
- ]
- },
- {
- "teal": 1837,
- "source": 201,
- "pc": [
- 1696,
- 1697
- ]
- },
- {
- "teal": 1838,
- "source": 201,
- "pc": [
- 1698,
- 1699
- ]
- },
- {
- "teal": 1839,
- "source": 201,
- "pc": [
- 1700
- ]
- },
- {
- "teal": 1840,
- "source": 201,
- "pc": [
- 1701,
- 1702
- ]
- },
- {
- "teal": 1841,
- "source": 201,
- "pc": [
- 1703,
- 1704
- ]
- },
- {
- "teal": 1842,
- "source": 201,
- "pc": [
- 1705,
- 1706
- ]
- },
- {
- "teal": 1843,
- "source": 201,
- "pc": [
- 1707,
- 1708
- ]
- },
- {
- "teal": 1847,
- "source": 205,
- "pc": [
- 1709,
- 1710
- ]
- },
- {
- "teal": 1850,
- "source": 200,
- "pc": [
- 1711,
- 1712
- ]
- },
- {
- "teal": 1853,
- "source": 200,
- "pc": [
- 1713,
- 1714
- ]
- },
- {
- "teal": 1854,
- "source": 200,
- "pc": [
- 1715
- ]
- },
- {
- "teal": 1859,
- "source": 208,
- "pc": [
- 1716
- ]
- },
- {
- "teal": 1862,
- "source": 208,
- "pc": [
- 1717,
- 1718,
- 1719
- ]
- },
- {
- "teal": 1863,
- "source": 208,
- "pc": [
- 1720
- ]
- },
- {
- "teal": 1864,
- "source": 208,
- "pc": [
- 1721
- ]
- },
- {
- "teal": 1865,
- "source": 208,
- "pc": [
- 1722
- ]
- },
- {
- "teal": 1866,
- "source": 208,
- "pc": [
- 1723
- ]
- },
- {
- "teal": 1867,
- "source": 208,
- "pc": [
- 1724
- ]
- },
- {
- "teal": 1871,
- "source": 208,
- "pc": [
- 1725,
- 1726,
- 1727
- ]
- },
- {
- "teal": 1874,
- "source": 208,
- "pc": [
- 1728
- ]
- },
- {
- "teal": 1875,
- "source": 208,
- "pc": [
- 1729,
- 1730
- ]
- },
- {
- "teal": 1879,
- "source": 209,
- "pc": [
- 1731,
- 1732,
- 1733,
- 1734,
- 1735,
- 1736,
- 1737,
- 1738,
- 1739,
- 1740,
- 1741,
- 1742,
- 1743,
- 1744,
- 1745,
- 1746,
- 1747,
- 1748,
- 1749,
- 1750,
- 1751,
- 1752,
- 1753,
- 1754,
- 1755,
- 1756,
- 1757,
- 1758,
- 1759,
- 1760,
- 1761,
- 1762,
- 1763,
- 1764
- ]
- },
- {
- "teal": 1880,
- "source": 209,
- "pc": [
- 1765,
- 1766
- ]
- },
- {
- "teal": 1884,
- "source": 210,
- "pc": [
- 1767,
- 1768
- ]
- },
- {
- "teal": 1885,
- "source": 210,
- "pc": [
- 1769,
- 1770
- ]
- },
- {
- "teal": 1889,
- "source": 212,
- "pc": [
- 1771,
- 1772
- ]
- },
- {
- "teal": 1890,
- "source": 212,
- "pc": [
- 1773,
- 1774
- ]
- },
- {
- "teal": 1891,
- "source": 212,
- "pc": [
- 1775
- ]
- },
- {
- "teal": 1892,
- "source": 212,
- "pc": [
- 1776,
- 1777
- ]
- },
- {
- "teal": 1896,
- "source": 214,
- "pc": [
- 1778,
- 1779
- ]
- },
- {
- "teal": 1897,
- "source": 214,
- "pc": [
- 1780
- ]
- },
- {
- "teal": 1898,
- "source": 214,
- "pc": [
- 1781
- ]
- },
- {
- "teal": 1899,
- "source": 214,
- "pc": [
- 1782,
- 1783
- ]
- },
- {
- "teal": 1900,
- "source": 214,
- "pc": [
- 1784
- ]
- },
- {
- "teal": 1903,
- "source": 214,
- "errorMessage": "A as uint64 overflowed 64 bits",
- "pc": [
- 1785
- ]
- },
- {
- "teal": 1904,
- "source": 214,
- "pc": [
- 1786,
- 1787
- ]
- },
- {
- "teal": 1905,
- "source": 214,
- "pc": [
- 1788
- ]
- },
- {
- "teal": 1906,
- "source": 214,
- "pc": [
- 1789
- ]
- },
- {
- "teal": 1907,
- "source": 214,
- "pc": [
- 1790
- ]
- },
- {
- "teal": 1908,
- "source": 214,
- "pc": [
- 1791
- ]
- },
- {
- "teal": 1909,
- "source": 214,
- "pc": [
- 1792
- ]
- },
- {
- "teal": 1910,
- "source": 214,
- "pc": [
- 1793
- ]
- },
- {
- "teal": 1911,
- "source": 214,
- "pc": [
- 1794
- ]
- },
- {
- "teal": 1912,
- "source": 214,
- "pc": [
- 1795
- ]
- },
- {
- "teal": 1913,
- "source": 214,
- "pc": [
- 1796
- ]
- },
- {
- "teal": 1914,
- "source": 214,
- "pc": [
- 1797,
- 1798
- ]
- },
- {
- "teal": 1918,
- "source": 216,
- "pc": [
- 1799,
- 1800
- ]
- },
- {
- "teal": 1921,
- "source": 208,
- "pc": [
- 1801,
- 1802
- ]
- },
- {
- "teal": 1924,
- "source": 208,
- "pc": [
- 1803,
- 1804
- ]
- },
- {
- "teal": 1925,
- "source": 208,
- "pc": [
- 1805
- ]
- },
- {
- "teal": 1930,
- "source": 219,
- "pc": [
- 1806
- ]
- },
- {
- "teal": 1933,
- "source": 219,
- "pc": [
- 1807,
- 1808,
- 1809
- ]
- },
- {
- "teal": 1934,
- "source": 219,
- "pc": [
- 1810
- ]
- },
- {
- "teal": 1935,
- "source": 219,
- "pc": [
- 1811
- ]
- },
- {
- "teal": 1936,
- "source": 219,
- "pc": [
- 1812,
- 1813
- ]
- },
- {
- "teal": 1937,
- "source": 219,
- "pc": [
- 1814
- ]
- },
- {
- "teal": 1940,
- "source": 219,
- "errorMessage": "argument 0 (x) for foobar must be a uint128",
- "pc": [
- 1815
- ]
- },
- {
- "teal": 1943,
- "source": 219,
- "pc": [
- 1816,
- 1817,
- 1818
- ]
- },
- {
- "teal": 1944,
- "source": 219,
- "pc": [
- 1819
- ]
- },
- {
- "teal": 1945,
- "source": 219,
- "pc": [
- 1820
- ]
- },
- {
- "teal": 1946,
- "source": 219,
- "pc": [
- 1821,
- 1822
- ]
- },
- {
- "teal": 1947,
- "source": 219,
- "pc": [
- 1823
- ]
- },
- {
- "teal": 1950,
- "source": 219,
- "errorMessage": "foobar return value overflowed 128 bits",
- "pc": [
- 1824
- ]
- },
- {
- "teal": 1951,
- "source": 219,
- "pc": [
- 1825,
- 1826
- ]
- },
- {
- "teal": 1952,
- "source": 219,
- "pc": [
- 1827
- ]
- },
- {
- "teal": 1953,
- "source": 219,
- "pc": [
- 1828
- ]
- },
- {
- "teal": 1954,
- "source": 219,
- "pc": [
- 1829
- ]
- },
- {
- "teal": 1955,
- "source": 219,
- "pc": [
- 1830
- ]
- },
- {
- "teal": 1956,
- "source": 219,
- "pc": [
- 1831,
- 1832
- ]
- },
- {
- "teal": 1957,
- "source": 219,
- "pc": [
- 1833
- ]
- },
- {
- "teal": 1958,
- "source": 219,
- "pc": [
- 1834
- ]
- },
- {
- "teal": 1959,
- "source": 219,
- "pc": [
- 1835
- ]
- },
- {
- "teal": 1960,
- "source": 219,
- "pc": [
- 1836
- ]
- },
- {
- "teal": 1961,
- "source": 219,
- "pc": [
- 1837
- ]
- },
- {
- "teal": 1962,
- "source": 219,
- "pc": [
- 1838
- ]
- },
- {
- "teal": 1963,
- "source": 219,
- "pc": [
- 1839
- ]
- },
- {
- "teal": 1967,
- "source": 219,
- "pc": [
- 1840,
- 1841,
- 1842
- ]
- },
- {
- "teal": 1970,
- "source": 219,
- "pc": [
- 1843
- ]
- },
- {
- "teal": 1974,
- "source": 220,
- "pc": [
- 1844,
- 1845
- ]
- },
- {
- "teal": 1975,
- "source": 220,
- "pc": [
- 1846,
- 1847,
- 1848,
- 1849,
- 1850,
- 1851,
- 1852,
- 1853,
- 1854,
- 1855,
- 1856,
- 1857,
- 1858,
- 1859,
- 1860,
- 1861,
- 1862,
- 1863
- ]
- },
- {
- "teal": 1976,
- "source": 220,
- "pc": [
- 1864
- ]
- },
- {
- "teal": 1977,
- "source": 220,
- "pc": [
- 1865
- ]
- },
- {
- "teal": 1978,
- "source": 220,
- "pc": [
- 1866
- ]
- },
- {
- "teal": 1979,
- "source": 220,
- "pc": [
- 1867,
- 1868
- ]
- },
- {
- "teal": 1980,
- "source": 220,
- "pc": [
- 1869
- ]
- },
- {
- "teal": 1983,
- "source": 220,
- "errorMessage": "x / (30000 as uint128) overflowed 128 bits",
- "pc": [
- 1870
- ]
- },
- {
- "teal": 1984,
- "source": 220,
- "pc": [
- 1871,
- 1872
- ]
- },
- {
- "teal": 1985,
- "source": 220,
- "pc": [
- 1873
- ]
- },
- {
- "teal": 1986,
- "source": 220,
- "pc": [
- 1874
- ]
- },
- {
- "teal": 1987,
- "source": 220,
- "pc": [
- 1875
- ]
- },
- {
- "teal": 1988,
- "source": 220,
- "pc": [
- 1876
- ]
- },
- {
- "teal": 1989,
- "source": 220,
- "pc": [
- 1877,
- 1878
- ]
- },
- {
- "teal": 1990,
- "source": 220,
- "pc": [
- 1879
- ]
- },
- {
- "teal": 1991,
- "source": 220,
- "pc": [
- 1880
- ]
- },
- {
- "teal": 1992,
- "source": 220,
- "pc": [
- 1881
- ]
- },
- {
- "teal": 1993,
- "source": 220,
- "pc": [
- 1882,
- 1883
- ]
- },
- {
- "teal": 1997,
- "source": 222,
- "pc": [
- 1884,
- 1885
- ]
- },
- {
- "teal": 2000,
- "source": 219,
- "pc": [
- 1886,
- 1887
- ]
- },
- {
- "teal": 2001,
- "source": 219,
- "pc": [
- 1888
- ]
- },
- {
- "teal": 2006,
- "source": 225,
- "pc": [
- 1889
- ]
- },
- {
- "teal": 2009,
- "source": 225,
- "pc": [
- 1890,
- 1891,
- 1892
- ]
- },
- {
- "teal": 2010,
- "source": 225,
- "pc": [
- 1893
- ]
- },
- {
- "teal": 2011,
- "source": 225,
- "pc": [
- 1894
- ]
- },
- {
- "teal": 2012,
- "source": 225,
- "pc": [
- 1895
- ]
- },
- {
- "teal": 2013,
- "source": 225,
- "pc": [
- 1896
- ]
- },
- {
- "teal": 2016,
- "source": 225,
- "errorMessage": "uintFromHex return value overflowed 256 bits",
- "pc": [
- 1897
- ]
- },
- {
- "teal": 2017,
- "source": 225,
- "pc": [
- 1898
- ]
- },
- {
- "teal": 2018,
- "source": 225,
- "pc": [
- 1899
- ]
- },
- {
- "teal": 2019,
- "source": 225,
- "pc": [
- 1900
- ]
- },
- {
- "teal": 2020,
- "source": 225,
- "pc": [
- 1901
- ]
- },
- {
- "teal": 2021,
- "source": 225,
- "pc": [
- 1902
- ]
- },
- {
- "teal": 2022,
- "source": 225,
- "pc": [
- 1903
- ]
- },
- {
- "teal": 2023,
- "source": 225,
- "pc": [
- 1904
- ]
- },
- {
- "teal": 2024,
- "source": 225,
- "pc": [
- 1905
- ]
- },
- {
- "teal": 2025,
- "source": 225,
- "pc": [
- 1906
- ]
- },
- {
- "teal": 2026,
- "source": 225,
- "pc": [
- 1907
- ]
- },
- {
- "teal": 2027,
- "source": 225,
- "pc": [
- 1908
- ]
- },
- {
- "teal": 2028,
- "source": 225,
- "pc": [
- 1909
- ]
- },
- {
- "teal": 2029,
- "source": 225,
- "pc": [
- 1910
- ]
- },
- {
- "teal": 2033,
- "source": 225,
- "pc": [
- 1911,
- 1912,
- 1913
- ]
- },
- {
- "teal": 2037,
- "source": 226,
- "pc": [
- 1914,
- 1915,
- 1916,
- 1917,
- 1918,
- 1919,
- 1920,
- 1921,
- 1922,
- 1923,
- 1924,
- 1925,
- 1926,
- 1927,
- 1928,
- 1929,
- 1930,
- 1931,
- 1932,
- 1933,
- 1934,
- 1935,
- 1936,
- 1937,
- 1938,
- 1939,
- 1940,
- 1941,
- 1942,
- 1943,
- 1944,
- 1945,
- 1946,
- 1947
- ]
- },
- {
- "teal": 2038,
- "source": 225,
- "pc": [
- 1948
- ]
- },
- {
- "teal": 2041,
- "source": 4,
- "pc": [
- 1949
- ]
- },
- {
- "teal": 2042,
- "source": 4,
- "pc": [
- 1950
- ]
- },
- {
- "teal": 2045,
- "source": 4,
- "pc": [
- 1951,
- 1952,
- 1953,
- 1954,
- 1955,
- 1956
- ]
- },
- {
- "teal": 2046,
- "source": 4,
- "pc": [
- 1957,
- 1958,
- 1959
- ]
- },
- {
- "teal": 2047,
- "source": 4,
- "pc": [
- 1960,
- 1961,
- 1962,
- 1963
- ]
- },
- {
- "teal": 2050,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 1964
- ]
- },
- {
- "teal": 2053,
- "source": 4,
- "pc": [
- 1965,
- 1966,
- 1967,
- 1968,
- 1969,
- 1970
- ]
- },
- {
- "teal": 2054,
- "source": 4,
- "pc": [
- 1971,
- 1972,
- 1973,
- 1974,
- 1975,
- 1976
- ]
- },
- {
- "teal": 2055,
- "source": 4,
- "pc": [
- 1977,
- 1978,
- 1979,
- 1980,
- 1981,
- 1982
- ]
- },
- {
- "teal": 2056,
- "source": 4,
- "pc": [
- 1983,
- 1984,
- 1985,
- 1986,
- 1987,
- 1988
- ]
- },
- {
- "teal": 2057,
- "source": 4,
- "pc": [
- 1989,
- 1990,
- 1991,
- 1992,
- 1993,
- 1994
- ]
- },
- {
- "teal": 2058,
- "source": 4,
- "pc": [
- 1995,
- 1996,
- 1997,
- 1998,
- 1999,
- 2000
- ]
- },
- {
- "teal": 2059,
- "source": 4,
- "pc": [
- 2001,
- 2002,
- 2003,
- 2004,
- 2005,
- 2006
- ]
- },
- {
- "teal": 2060,
- "source": 4,
- "pc": [
- 2007,
- 2008,
- 2009,
- 2010,
- 2011,
- 2012
- ]
- },
- {
- "teal": 2061,
- "source": 4,
- "pc": [
- 2013,
- 2014,
- 2015,
- 2016,
- 2017,
- 2018
- ]
- },
- {
- "teal": 2062,
- "source": 4,
- "pc": [
- 2019,
- 2020,
- 2021,
- 2022,
- 2023,
- 2024
- ]
- },
- {
- "teal": 2063,
- "source": 4,
- "pc": [
- 2025,
- 2026,
- 2027,
- 2028,
- 2029,
- 2030
- ]
- },
- {
- "teal": 2064,
- "source": 4,
- "pc": [
- 2031,
- 2032,
- 2033,
- 2034,
- 2035,
- 2036
- ]
- },
- {
- "teal": 2065,
- "source": 4,
- "pc": [
- 2037,
- 2038,
- 2039,
- 2040,
- 2041,
- 2042
- ]
- },
- {
- "teal": 2066,
- "source": 4,
- "pc": [
- 2043,
- 2044,
- 2045,
- 2046,
- 2047,
- 2048
- ]
- },
- {
- "teal": 2067,
- "source": 4,
- "pc": [
- 2049,
- 2050,
- 2051,
- 2052,
- 2053,
- 2054
- ]
- },
- {
- "teal": 2068,
- "source": 4,
- "pc": [
- 2055,
- 2056,
- 2057,
- 2058,
- 2059,
- 2060
- ]
- },
- {
- "teal": 2069,
- "source": 4,
- "pc": [
- 2061,
- 2062,
- 2063,
- 2064,
- 2065,
- 2066
- ]
- },
- {
- "teal": 2070,
- "source": 4,
- "pc": [
- 2067,
- 2068,
- 2069,
- 2070,
- 2071,
- 2072
- ]
- },
- {
- "teal": 2071,
- "source": 4,
- "pc": [
- 2073,
- 2074,
- 2075,
- 2076,
- 2077,
- 2078
- ]
- },
- {
- "teal": 2072,
- "source": 4,
- "pc": [
- 2079,
- 2080,
- 2081,
- 2082,
- 2083,
- 2084
- ]
- },
- {
- "teal": 2073,
- "source": 4,
- "pc": [
- 2085,
- 2086,
- 2087,
- 2088,
- 2089,
- 2090
- ]
- },
- {
- "teal": 2074,
- "source": 4,
- "pc": [
- 2091,
- 2092,
- 2093,
- 2094,
- 2095,
- 2096
- ]
- },
- {
- "teal": 2075,
- "source": 4,
- "pc": [
- 2097,
- 2098,
- 2099,
- 2100,
- 2101,
- 2102
- ]
- },
- {
- "teal": 2076,
- "source": 4,
- "pc": [
- 2103,
- 2104,
- 2105,
- 2106,
- 2107,
- 2108
- ]
- },
- {
- "teal": 2077,
- "source": 4,
- "pc": [
- 2109,
- 2110,
- 2111,
- 2112,
- 2113,
- 2114
- ]
- },
- {
- "teal": 2078,
- "source": 4,
- "pc": [
- 2115,
- 2116,
- 2117,
- 2118,
- 2119,
- 2120
- ]
- },
- {
- "teal": 2079,
- "source": 4,
- "pc": [
- 2121,
- 2122,
- 2123,
- 2124,
- 2125,
- 2126
- ]
- },
- {
- "teal": 2080,
- "source": 4,
- "pc": [
- 2127,
- 2128,
- 2129,
- 2130,
- 2131,
- 2132
- ]
- },
- {
- "teal": 2081,
- "source": 4,
- "pc": [
- 2133,
- 2134,
- 2135,
- 2136,
- 2137,
- 2138
- ]
- },
- {
- "teal": 2082,
- "source": 4,
- "pc": [
- 2139,
- 2140,
- 2141,
- 2142,
- 2143,
- 2144
- ]
- },
- {
- "teal": 2083,
- "source": 4,
- "pc": [
- 2145,
- 2146,
- 2147,
- 2148,
- 2149,
- 2150
- ]
- },
- {
- "teal": 2084,
- "source": 4,
- "pc": [
- 2151,
- 2152,
- 2153,
- 2154,
- 2155,
- 2156
- ]
- },
- {
- "teal": 2085,
- "source": 4,
- "pc": [
- 2157,
- 2158,
- 2159,
- 2160,
- 2161,
- 2162
- ]
- },
- {
- "teal": 2086,
- "source": 4,
- "pc": [
- 2163,
- 2164,
- 2165,
- 2166,
- 2167,
- 2168
- ]
- },
- {
- "teal": 2087,
- "source": 4,
- "pc": [
- 2169,
- 2170,
- 2171,
- 2172,
- 2173,
- 2174
- ]
- },
- {
- "teal": 2088,
- "source": 4,
- "pc": [
- 2175,
- 2176,
- 2177,
- 2178,
- 2179,
- 2180
- ]
- },
- {
- "teal": 2089,
- "source": 4,
- "pc": [
- 2181,
- 2182,
- 2183,
- 2184,
- 2185,
- 2186
- ]
- },
- {
- "teal": 2090,
- "source": 4,
- "pc": [
- 2187,
- 2188,
- 2189,
- 2190,
- 2191,
- 2192
- ]
- },
- {
- "teal": 2091,
- "source": 4,
- "pc": [
- 2193,
- 2194,
- 2195,
- 2196,
- 2197,
- 2198
- ]
- },
- {
- "teal": 2092,
- "source": 4,
- "pc": [
- 2199,
- 2200,
- 2201,
- 2202,
- 2203,
- 2204
- ]
- },
- {
- "teal": 2093,
- "source": 4,
- "pc": [
- 2205,
- 2206,
- 2207,
- 2208,
- 2209,
- 2210
- ]
- },
- {
- "teal": 2094,
- "source": 4,
- "pc": [
- 2211,
- 2212,
- 2213
- ]
- },
- {
- "teal": 2095,
- "source": 4,
- "pc": [
- 2214,
- 2215,
- 2216,
- 2217,
- 2218,
- 2219,
- 2220,
- 2221,
- 2222,
- 2223,
- 2224,
- 2225,
- 2226,
- 2227,
- 2228,
- 2229,
- 2230,
- 2231,
- 2232,
- 2233,
- 2234,
- 2235,
- 2236,
- 2237,
- 2238,
- 2239,
- 2240,
- 2241,
- 2242,
- 2243,
- 2244,
- 2245,
- 2246,
- 2247,
- 2248,
- 2249,
- 2250,
- 2251,
- 2252,
- 2253,
- 2254,
- 2255,
- 2256,
- 2257,
- 2258,
- 2259,
- 2260,
- 2261,
- 2262,
- 2263,
- 2264,
- 2265,
- 2266,
- 2267,
- 2268,
- 2269,
- 2270,
- 2271,
- 2272,
- 2273,
- 2274,
- 2275,
- 2276,
- 2277,
- 2278,
- 2279,
- 2280,
- 2281,
- 2282,
- 2283,
- 2284,
- 2285,
- 2286,
- 2287,
- 2288,
- 2289,
- 2290,
- 2291,
- 2292,
- 2293,
- 2294,
- 2295,
- 2296,
- 2297
- ]
- },
- {
- "teal": 2098,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 2298
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 4,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 4,
+ "pc": [
+ 158,
+ 159
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 4,
+ "pc": [
+ 160
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 4,
+ "pc": [
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 4,
+ "pc": [
+ 163
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 4,
+ "pc": [
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 4,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 4,
+ "pc": [
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184,
+ 185,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190,
+ 191,
+ 192
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 4,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 7,
+ "pc": [
+ 194
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 7,
+ "pc": [
+ 195,
+ 196,
+ 197
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 7,
+ "pc": [
+ 198
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 7,
+ "pc": [
+ 199,
+ 200,
+ 201
+ ]
+ },
+ {
+ "teal": 36,
+ "source": 7,
+ "pc": [
+ 202
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 7,
+ "pc": [
+ 203,
+ 204,
+ 205
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 7,
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 7,
+ "pc": [
+ 207
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 7,
+ "pc": [
+ 208
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 7,
+ "pc": [
+ 209
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 7,
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 7,
+ "pc": [
+ 211,
+ 212,
+ 213
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 8,
+ "pc": [
+ 214,
+ 215
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 8,
+ "pc": [
+ 216,
+ 217
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 8,
+ "pc": [
+ 218
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 7,
+ "pc": [
+ 219
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 11,
+ "pc": [
+ 220
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 11,
+ "pc": [
+ 221,
+ 222,
+ 223
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 11,
+ "pc": [
+ 224
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 11,
+ "pc": [
+ 225,
+ 226,
+ 227
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 11,
+ "pc": [
+ 228
+ ]
+ },
+ {
+ "teal": 71,
+ "source": 11,
+ "pc": [
+ 229,
+ 230,
+ 231
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 11,
+ "pc": [
+ 232
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 11,
+ "pc": [
+ 233
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 11,
+ "pc": [
+ 234
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 11,
+ "pc": [
+ 235
+ ]
+ },
+ {
+ "teal": 76,
+ "source": 11,
+ "pc": [
+ 236
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 11,
+ "pc": [
+ 237,
+ 238,
+ 239
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 12,
+ "pc": [
+ 240,
+ 241
+ ]
+ },
+ {
+ "teal": 85,
+ "source": 12,
+ "pc": [
+ 242,
+ 243
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 12,
+ "pc": [
+ 244
+ ]
+ },
+ {
+ "teal": 87,
+ "source": 11,
+ "pc": [
+ 245
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 15,
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 15,
+ "pc": [
+ 247,
+ 248,
+ 249
+ ]
+ },
+ {
+ "teal": 96,
+ "source": 15,
+ "pc": [
+ 250
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 15,
+ "pc": [
+ 251,
+ 252,
+ 253
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 15,
+ "pc": [
+ 254
+ ]
+ },
+ {
+ "teal": 103,
+ "source": 15,
+ "pc": [
+ 255,
+ 256,
+ 257
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 15,
+ "pc": [
+ 258
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 15,
+ "pc": [
+ 259
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 15,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 107,
+ "source": 15,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 15,
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 15,
+ "pc": [
+ 263,
+ 264,
+ 265
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 16,
+ "pc": [
+ 266,
+ 267
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 16,
+ "pc": [
+ 268,
+ 269
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 16,
+ "pc": [
+ 270
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 15,
+ "pc": [
+ 271
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 19,
+ "pc": [
+ 272
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 19,
+ "pc": [
+ 273,
+ 274,
+ 275
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 19,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 19,
+ "pc": [
+ 277,
+ 278,
+ 279
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 19,
+ "pc": [
+ 280
+ ]
+ },
+ {
+ "teal": 135,
+ "source": 19,
+ "pc": [
+ 281,
+ 282,
+ 283
+ ]
+ },
+ {
+ "teal": 136,
+ "source": 19,
+ "pc": [
+ 284
+ ]
+ },
+ {
+ "teal": 137,
+ "source": 19,
+ "pc": [
+ 285
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 19,
+ "pc": [
+ 286
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 19,
+ "pc": [
+ 287
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 19,
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 144,
+ "source": 19,
+ "pc": [
+ 289,
+ 290,
+ 291
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 20,
+ "pc": [
+ 292,
+ 293
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 20,
+ "pc": [
+ 294,
+ 295
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 20,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 151,
+ "source": 19,
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 156,
+ "source": 23,
+ "pc": [
+ 298
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 23,
+ "pc": [
+ 299,
+ 300,
+ 301
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 23,
+ "pc": [
+ 302
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 23,
+ "pc": [
+ 303
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 23,
+ "pc": [
+ 304
+ ]
+ },
+ {
+ "teal": 163,
+ "source": 23,
+ "pc": [
+ 305
+ ]
+ },
+ {
+ "teal": 166,
+ "source": 23,
+ "errorMessage": "argument 0 (b) for u256plus must be a uint256",
+ "pc": [
+ 306
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 23,
+ "pc": [
+ 307,
+ 308,
+ 309
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 23,
+ "pc": [
+ 310
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 23,
+ "pc": [
+ 311
+ ]
+ },
+ {
+ "teal": 172,
+ "source": 23,
+ "pc": [
+ 312
+ ]
+ },
+ {
+ "teal": 173,
+ "source": 23,
+ "pc": [
+ 313
+ ]
+ },
+ {
+ "teal": 176,
+ "source": 23,
+ "errorMessage": "argument 1 (a) for u256plus must be a uint256",
+ "pc": [
+ 314
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 23,
+ "pc": [
+ 315,
+ 316,
+ 317
+ ]
+ },
+ {
+ "teal": 180,
+ "source": 23,
+ "pc": [
+ 318
+ ]
+ },
+ {
+ "teal": 181,
+ "source": 23,
+ "pc": [
+ 319
+ ]
+ },
+ {
+ "teal": 182,
+ "source": 23,
+ "pc": [
+ 320
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 23,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 186,
+ "source": 23,
+ "errorMessage": "u256plus return value overflowed 256 bits",
+ "pc": [
+ 322
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 23,
+ "pc": [
+ 323
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 23,
+ "pc": [
+ 324
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 23,
+ "pc": [
+ 325
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 23,
+ "pc": [
+ 326
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 23,
+ "pc": [
+ 327
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 23,
+ "pc": [
+ 328
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 23,
+ "pc": [
+ 329
+ ]
+ },
+ {
+ "teal": 194,
+ "source": 23,
+ "pc": [
+ 330
+ ]
+ },
+ {
+ "teal": 195,
+ "source": 23,
+ "pc": [
+ 331
+ ]
+ },
+ {
+ "teal": 196,
+ "source": 23,
+ "pc": [
+ 332
+ ]
+ },
+ {
+ "teal": 197,
+ "source": 23,
+ "pc": [
+ 333
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 23,
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 23,
+ "pc": [
+ 335
+ ]
+ },
+ {
+ "teal": 203,
+ "source": 23,
+ "pc": [
+ 336,
+ 337,
+ 338
+ ]
+ },
+ {
+ "teal": 207,
+ "source": 24,
+ "pc": [
+ 339,
+ 340
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 24,
+ "pc": [
+ 341,
+ 342
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 24,
+ "pc": [
+ 343
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 23,
+ "pc": [
+ 344
+ ]
+ },
+ {
+ "teal": 215,
+ "source": 27,
+ "pc": [
+ 345
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 27,
+ "pc": [
+ 346,
+ 347,
+ 348
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 27,
+ "pc": [
+ 349
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 27,
+ "pc": [
+ 350
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 27,
+ "pc": [
+ 351
+ ]
+ },
+ {
+ "teal": 222,
+ "source": 27,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 225,
+ "source": 27,
+ "errorMessage": "argument 0 (b) for u256minus must be a uint256",
+ "pc": [
+ 353
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 27,
+ "pc": [
+ 354,
+ 355,
+ 356
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 27,
+ "pc": [
+ 357
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 27,
+ "pc": [
+ 358
+ ]
+ },
+ {
+ "teal": 231,
+ "source": 27,
+ "pc": [
+ 359
+ ]
+ },
+ {
+ "teal": 232,
+ "source": 27,
+ "pc": [
+ 360
+ ]
+ },
+ {
+ "teal": 235,
+ "source": 27,
+ "errorMessage": "argument 1 (a) for u256minus must be a uint256",
+ "pc": [
+ 361
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 27,
+ "pc": [
+ 362,
+ 363,
+ 364
+ ]
+ },
+ {
+ "teal": 239,
+ "source": 27,
+ "pc": [
+ 365
+ ]
+ },
+ {
+ "teal": 240,
+ "source": 27,
+ "pc": [
+ 366
+ ]
+ },
+ {
+ "teal": 241,
+ "source": 27,
+ "pc": [
+ 367
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 27,
+ "pc": [
+ 368
+ ]
+ },
+ {
+ "teal": 245,
+ "source": 27,
+ "errorMessage": "u256minus return value overflowed 256 bits",
+ "pc": [
+ 369
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 27,
+ "pc": [
+ 370
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 27,
+ "pc": [
+ 371
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 27,
+ "pc": [
+ 372
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 27,
+ "pc": [
+ 373
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 27,
+ "pc": [
+ 374
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 27,
+ "pc": [
+ 375
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 27,
+ "pc": [
+ 376
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 27,
+ "pc": [
+ 377
+ ]
+ },
+ {
+ "teal": 254,
+ "source": 27,
+ "pc": [
+ 378
+ ]
+ },
+ {
+ "teal": 255,
+ "source": 27,
+ "pc": [
+ 379
+ ]
+ },
+ {
+ "teal": 256,
+ "source": 27,
+ "pc": [
+ 380
+ ]
+ },
+ {
+ "teal": 257,
+ "source": 27,
+ "pc": [
+ 381
+ ]
+ },
+ {
+ "teal": 258,
+ "source": 27,
+ "pc": [
+ 382
+ ]
+ },
+ {
+ "teal": 262,
+ "source": 27,
+ "pc": [
+ 383,
+ 384,
+ 385
+ ]
+ },
+ {
+ "teal": 266,
+ "source": 28,
+ "pc": [
+ 386,
+ 387
+ ]
+ },
+ {
+ "teal": 267,
+ "source": 28,
+ "pc": [
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 28,
+ "pc": [
+ 390
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 27,
+ "pc": [
+ 391
+ ]
+ },
+ {
+ "teal": 274,
+ "source": 31,
+ "pc": [
+ 392
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 31,
+ "pc": [
+ 393,
+ 394,
+ 395
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 31,
+ "pc": [
+ 396
+ ]
+ },
+ {
+ "teal": 279,
+ "source": 31,
+ "pc": [
+ 397
+ ]
+ },
+ {
+ "teal": 280,
+ "source": 31,
+ "pc": [
+ 398
+ ]
+ },
+ {
+ "teal": 281,
+ "source": 31,
+ "pc": [
+ 399
+ ]
+ },
+ {
+ "teal": 284,
+ "source": 31,
+ "errorMessage": "argument 0 (b) for u256mul must be a uint256",
+ "pc": [
+ 400
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 31,
+ "pc": [
+ 401,
+ 402,
+ 403
+ ]
+ },
+ {
+ "teal": 288,
+ "source": 31,
+ "pc": [
+ 404
+ ]
+ },
+ {
+ "teal": 289,
+ "source": 31,
+ "pc": [
+ 405
+ ]
+ },
+ {
+ "teal": 290,
+ "source": 31,
+ "pc": [
+ 406
+ ]
+ },
+ {
+ "teal": 291,
+ "source": 31,
+ "pc": [
+ 407
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 31,
+ "errorMessage": "argument 1 (a) for u256mul must be a uint256",
+ "pc": [
+ 408
+ ]
+ },
+ {
+ "teal": 297,
+ "source": 31,
+ "pc": [
+ 409,
+ 410,
+ 411
+ ]
+ },
+ {
+ "teal": 298,
+ "source": 31,
+ "pc": [
+ 412
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 31,
+ "pc": [
+ 413
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 31,
+ "pc": [
+ 414
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 31,
+ "pc": [
+ 415
+ ]
+ },
+ {
+ "teal": 304,
+ "source": 31,
+ "errorMessage": "u256mul return value overflowed 256 bits",
+ "pc": [
+ 416
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 31,
+ "pc": [
+ 417
+ ]
+ },
+ {
+ "teal": 306,
+ "source": 31,
+ "pc": [
+ 418
+ ]
+ },
+ {
+ "teal": 307,
+ "source": 31,
+ "pc": [
+ 419
+ ]
+ },
+ {
+ "teal": 308,
+ "source": 31,
+ "pc": [
+ 420
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 31,
+ "pc": [
+ 421
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 31,
+ "pc": [
+ 422
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 31,
+ "pc": [
+ 423
+ ]
+ },
+ {
+ "teal": 312,
+ "source": 31,
+ "pc": [
+ 424
+ ]
+ },
+ {
+ "teal": 313,
+ "source": 31,
+ "pc": [
+ 425
+ ]
+ },
+ {
+ "teal": 314,
+ "source": 31,
+ "pc": [
+ 426
+ ]
+ },
+ {
+ "teal": 315,
+ "source": 31,
+ "pc": [
+ 427
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 31,
+ "pc": [
+ 428
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 31,
+ "pc": [
+ 429
+ ]
+ },
+ {
+ "teal": 321,
+ "source": 31,
+ "pc": [
+ 430,
+ 431,
+ 432
+ ]
+ },
+ {
+ "teal": 325,
+ "source": 32,
+ "pc": [
+ 433,
+ 434
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 32,
+ "pc": [
+ 435,
+ 436
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 32,
+ "pc": [
+ 437
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 31,
+ "pc": [
+ 438
+ ]
+ },
+ {
+ "teal": 333,
+ "source": 35,
+ "pc": [
+ 439
+ ]
+ },
+ {
+ "teal": 336,
+ "source": 35,
+ "pc": [
+ 440,
+ 441,
+ 442
+ ]
+ },
+ {
+ "teal": 337,
+ "source": 35,
+ "pc": [
+ 443
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 35,
+ "pc": [
+ 444
+ ]
+ },
+ {
+ "teal": 339,
+ "source": 35,
+ "pc": [
+ 445
+ ]
+ },
+ {
+ "teal": 340,
+ "source": 35,
+ "pc": [
+ 446
+ ]
+ },
+ {
+ "teal": 343,
+ "source": 35,
+ "errorMessage": "argument 0 (b) for u256div must be a uint256",
+ "pc": [
+ 447
+ ]
+ },
+ {
+ "teal": 346,
+ "source": 35,
+ "pc": [
+ 448,
+ 449,
+ 450
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 35,
+ "pc": [
+ 451
+ ]
+ },
+ {
+ "teal": 348,
+ "source": 35,
+ "pc": [
+ 452
+ ]
+ },
+ {
+ "teal": 349,
+ "source": 35,
+ "pc": [
+ 453
+ ]
+ },
+ {
+ "teal": 350,
+ "source": 35,
+ "pc": [
+ 454
+ ]
+ },
+ {
+ "teal": 353,
+ "source": 35,
+ "errorMessage": "argument 1 (a) for u256div must be a uint256",
+ "pc": [
+ 455
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 35,
+ "pc": [
+ 456,
+ 457,
+ 458
+ ]
+ },
+ {
+ "teal": 357,
+ "source": 35,
+ "pc": [
+ 459
+ ]
+ },
+ {
+ "teal": 358,
+ "source": 35,
+ "pc": [
+ 460
+ ]
+ },
+ {
+ "teal": 359,
+ "source": 35,
+ "pc": [
+ 461
+ ]
+ },
+ {
+ "teal": 360,
+ "source": 35,
+ "pc": [
+ 462
+ ]
+ },
+ {
+ "teal": 363,
+ "source": 35,
+ "errorMessage": "u256div return value overflowed 256 bits",
+ "pc": [
+ 463
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 35,
+ "pc": [
+ 464
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 35,
+ "pc": [
+ 465
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 35,
+ "pc": [
+ 466
+ ]
+ },
+ {
+ "teal": 367,
+ "source": 35,
+ "pc": [
+ 467
+ ]
+ },
+ {
+ "teal": 368,
+ "source": 35,
+ "pc": [
+ 468
+ ]
+ },
+ {
+ "teal": 369,
+ "source": 35,
+ "pc": [
+ 469
+ ]
+ },
+ {
+ "teal": 370,
+ "source": 35,
+ "pc": [
+ 470
+ ]
+ },
+ {
+ "teal": 371,
+ "source": 35,
+ "pc": [
+ 471
+ ]
+ },
+ {
+ "teal": 372,
+ "source": 35,
+ "pc": [
+ 472
+ ]
+ },
+ {
+ "teal": 373,
+ "source": 35,
+ "pc": [
+ 473
+ ]
+ },
+ {
+ "teal": 374,
+ "source": 35,
+ "pc": [
+ 474
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 35,
+ "pc": [
+ 475
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 35,
+ "pc": [
+ 476
+ ]
+ },
+ {
+ "teal": 380,
+ "source": 35,
+ "pc": [
+ 477,
+ 478,
+ 479
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 36,
+ "pc": [
+ 480,
+ 481
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 36,
+ "pc": [
+ 482,
+ 483
+ ]
+ },
+ {
+ "teal": 386,
+ "source": 36,
+ "pc": [
+ 484
+ ]
+ },
+ {
+ "teal": 387,
+ "source": 35,
+ "pc": [
+ 485
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 39,
+ "pc": [
+ 486
+ ]
+ },
+ {
+ "teal": 395,
+ "source": 39,
+ "pc": [
+ 487,
+ 488,
+ 489
+ ]
+ },
+ {
+ "teal": 396,
+ "source": 39,
+ "pc": [
+ 490
+ ]
+ },
+ {
+ "teal": 399,
+ "source": 39,
+ "pc": [
+ 491,
+ 492,
+ 493
+ ]
+ },
+ {
+ "teal": 400,
+ "source": 39,
+ "pc": [
+ 494
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 39,
+ "pc": [
+ 495,
+ 496,
+ 497
+ ]
+ },
+ {
+ "teal": 404,
+ "source": 39,
+ "pc": [
+ 498
+ ]
+ },
+ {
+ "teal": 405,
+ "source": 39,
+ "pc": [
+ 499
+ ]
+ },
+ {
+ "teal": 406,
+ "source": 39,
+ "pc": [
+ 500
+ ]
+ },
+ {
+ "teal": 407,
+ "source": 39,
+ "pc": [
+ 501
+ ]
+ },
+ {
+ "teal": 410,
+ "source": 39,
+ "errorMessage": "u64Return256 return value overflowed 256 bits",
+ "pc": [
+ 502
+ ]
+ },
+ {
+ "teal": 411,
+ "source": 39,
+ "pc": [
+ 503
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 39,
+ "pc": [
+ 504
+ ]
+ },
+ {
+ "teal": 413,
+ "source": 39,
+ "pc": [
+ 505
+ ]
+ },
+ {
+ "teal": 414,
+ "source": 39,
+ "pc": [
+ 506
+ ]
+ },
+ {
+ "teal": 415,
+ "source": 39,
+ "pc": [
+ 507
+ ]
+ },
+ {
+ "teal": 416,
+ "source": 39,
+ "pc": [
+ 508
+ ]
+ },
+ {
+ "teal": 417,
+ "source": 39,
+ "pc": [
+ 509
+ ]
+ },
+ {
+ "teal": 418,
+ "source": 39,
+ "pc": [
+ 510
+ ]
+ },
+ {
+ "teal": 419,
+ "source": 39,
+ "pc": [
+ 511
+ ]
+ },
+ {
+ "teal": 420,
+ "source": 39,
+ "pc": [
+ 512
+ ]
+ },
+ {
+ "teal": 421,
+ "source": 39,
+ "pc": [
+ 513
+ ]
+ },
+ {
+ "teal": 422,
+ "source": 39,
+ "pc": [
+ 514
+ ]
+ },
+ {
+ "teal": 423,
+ "source": 39,
+ "pc": [
+ 515
+ ]
+ },
+ {
+ "teal": 427,
+ "source": 39,
+ "pc": [
+ 516,
+ 517,
+ 518
+ ]
+ },
+ {
+ "teal": 431,
+ "source": 40,
+ "pc": [
+ 519,
+ 520
+ ]
+ },
+ {
+ "teal": 432,
+ "source": 40,
+ "pc": [
+ 521,
+ 522
+ ]
+ },
+ {
+ "teal": 433,
+ "source": 40,
+ "pc": [
+ 523
+ ]
+ },
+ {
+ "teal": 434,
+ "source": 40,
+ "pc": [
+ 524
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 39,
+ "pc": [
+ 525
+ ]
+ },
+ {
+ "teal": 440,
+ "source": 43,
+ "pc": [
+ 526
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 43,
+ "pc": [
+ 527,
+ 528,
+ 529
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 43,
+ "pc": [
+ 530
+ ]
+ },
+ {
+ "teal": 445,
+ "source": 43,
+ "pc": [
+ 531
+ ]
+ },
+ {
+ "teal": 446,
+ "source": 43,
+ "pc": [
+ 532
+ ]
+ },
+ {
+ "teal": 447,
+ "source": 43,
+ "pc": [
+ 533
+ ]
+ },
+ {
+ "teal": 448,
+ "source": 43,
+ "pc": [
+ 534
+ ]
+ },
+ {
+ "teal": 452,
+ "source": 43,
+ "pc": [
+ 535,
+ 536,
+ 537
+ ]
+ },
+ {
+ "teal": 456,
+ "source": 44,
+ "pc": [
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548
+ ]
+ },
+ {
+ "teal": 457,
+ "source": 43,
+ "pc": [
+ 549
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 47,
+ "pc": [
+ 550
+ ]
+ },
+ {
+ "teal": 465,
+ "source": 47,
+ "pc": [
+ 551,
+ 552,
+ 553
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 47,
+ "pc": [
+ 554
+ ]
+ },
+ {
+ "teal": 469,
+ "source": 47,
+ "pc": [
+ 555,
+ 556,
+ 557
+ ]
+ },
+ {
+ "teal": 470,
+ "source": 47,
+ "pc": [
+ 558
+ ]
+ },
+ {
+ "teal": 473,
+ "source": 47,
+ "pc": [
+ 559,
+ 560,
+ 561
+ ]
+ },
+ {
+ "teal": 474,
+ "source": 47,
+ "pc": [
+ 562
+ ]
+ },
+ {
+ "teal": 475,
+ "source": 47,
+ "pc": [
+ 563
+ ]
+ },
+ {
+ "teal": 476,
+ "source": 47,
+ "pc": [
+ 564
+ ]
+ },
+ {
+ "teal": 477,
+ "source": 47,
+ "pc": [
+ 565
+ ]
+ },
+ {
+ "teal": 478,
+ "source": 47,
+ "pc": [
+ 566
+ ]
+ },
+ {
+ "teal": 482,
+ "source": 47,
+ "pc": [
+ 567,
+ 568,
+ 569
+ ]
+ },
+ {
+ "teal": 486,
+ "source": 48,
+ "pc": [
+ 570,
+ 571
+ ]
+ },
+ {
+ "teal": 487,
+ "source": 48,
+ "pc": [
+ 572,
+ 573
+ ]
+ },
+ {
+ "teal": 488,
+ "source": 48,
+ "pc": [
+ 574
+ ]
+ },
+ {
+ "teal": 489,
+ "source": 47,
+ "pc": [
+ 575
+ ]
+ },
+ {
+ "teal": 494,
+ "source": 51,
+ "pc": [
+ 576
+ ]
+ },
+ {
+ "teal": 497,
+ "source": 51,
+ "pc": [
+ 577,
+ 578,
+ 579
+ ]
+ },
+ {
+ "teal": 498,
+ "source": 51,
+ "pc": [
+ 580
+ ]
+ },
+ {
+ "teal": 499,
+ "source": 51,
+ "pc": [
+ 581
+ ]
+ },
+ {
+ "teal": 500,
+ "source": 51,
+ "pc": [
+ 582
+ ]
+ },
+ {
+ "teal": 501,
+ "source": 51,
+ "pc": [
+ 583
+ ]
+ },
+ {
+ "teal": 504,
+ "source": 51,
+ "errorMessage": "argument 0 (y) for variableTypeHint must be a uint8",
+ "pc": [
+ 584
+ ]
+ },
+ {
+ "teal": 505,
+ "source": 51,
+ "pc": [
+ 585
+ ]
+ },
+ {
+ "teal": 508,
+ "source": 51,
+ "pc": [
+ 586,
+ 587,
+ 588
+ ]
+ },
+ {
+ "teal": 509,
+ "source": 51,
+ "pc": [
+ 589
+ ]
+ },
+ {
+ "teal": 510,
+ "source": 51,
+ "pc": [
+ 590
+ ]
+ },
+ {
+ "teal": 511,
+ "source": 51,
+ "pc": [
+ 591
+ ]
+ },
+ {
+ "teal": 512,
+ "source": 51,
+ "pc": [
+ 592
+ ]
+ },
+ {
+ "teal": 515,
+ "source": 51,
+ "errorMessage": "argument 1 (x) for variableTypeHint must be a uint8",
+ "pc": [
+ 593
+ ]
+ },
+ {
+ "teal": 516,
+ "source": 51,
+ "pc": [
+ 594
+ ]
+ },
+ {
+ "teal": 519,
+ "source": 51,
+ "pc": [
+ 595,
+ 596,
+ 597
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 51,
+ "pc": [
+ 598
+ ]
+ },
+ {
+ "teal": 521,
+ "source": 51,
+ "pc": [
+ 599
+ ]
+ },
+ {
+ "teal": 522,
+ "source": 51,
+ "pc": [
+ 600
+ ]
+ },
+ {
+ "teal": 523,
+ "source": 51,
+ "pc": [
+ 601,
+ 602
+ ]
+ },
+ {
+ "teal": 524,
+ "source": 51,
+ "pc": [
+ 603
+ ]
+ },
+ {
+ "teal": 527,
+ "source": 51,
+ "errorMessage": "variableTypeHint return value overflowed 16 bits",
+ "pc": [
+ 604
+ ]
+ },
+ {
+ "teal": 528,
+ "source": 51,
+ "pc": [
+ 605,
+ 606,
+ 607
+ ]
+ },
+ {
+ "teal": 529,
+ "source": 51,
+ "pc": [
+ 608
+ ]
+ },
+ {
+ "teal": 530,
+ "source": 51,
+ "pc": [
+ 609
+ ]
+ },
+ {
+ "teal": 531,
+ "source": 51,
+ "pc": [
+ 610
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 51,
+ "pc": [
+ 611
+ ]
+ },
+ {
+ "teal": 536,
+ "source": 51,
+ "pc": [
+ 612,
+ 613,
+ 614
+ ]
+ },
+ {
+ "teal": 539,
+ "source": 51,
+ "pc": [
+ 615
+ ]
+ },
+ {
+ "teal": 543,
+ "source": 52,
+ "pc": [
+ 616,
+ 617
+ ]
+ },
+ {
+ "teal": 544,
+ "source": 52,
+ "pc": [
+ 618,
+ 619
+ ]
+ },
+ {
+ "teal": 545,
+ "source": 52,
+ "pc": [
+ 620
+ ]
+ },
+ {
+ "teal": 546,
+ "source": 52,
+ "pc": [
+ 621,
+ 622
+ ]
+ },
+ {
+ "teal": 550,
+ "source": 54,
+ "pc": [
+ 623,
+ 624
+ ]
+ },
+ {
+ "teal": 553,
+ "source": 51,
+ "pc": [
+ 625,
+ 626
+ ]
+ },
+ {
+ "teal": 554,
+ "source": 51,
+ "pc": [
+ 627
+ ]
+ },
+ {
+ "teal": 559,
+ "source": 57,
+ "pc": [
+ 628
+ ]
+ },
+ {
+ "teal": 562,
+ "source": 57,
+ "pc": [
+ 629,
+ 630,
+ 631
+ ]
+ },
+ {
+ "teal": 563,
+ "source": 57,
+ "pc": [
+ 632
+ ]
+ },
+ {
+ "teal": 564,
+ "source": 57,
+ "pc": [
+ 633
+ ]
+ },
+ {
+ "teal": 565,
+ "source": 57,
+ "pc": [
+ 634
+ ]
+ },
+ {
+ "teal": 566,
+ "source": 57,
+ "pc": [
+ 635
+ ]
+ },
+ {
+ "teal": 569,
+ "source": 57,
+ "errorMessage": "argument 0 (b) for uint8plus must be a uint8",
+ "pc": [
+ 636
+ ]
+ },
+ {
+ "teal": 570,
+ "source": 57,
+ "pc": [
+ 637
+ ]
+ },
+ {
+ "teal": 573,
+ "source": 57,
+ "pc": [
+ 638,
+ 639,
+ 640
+ ]
+ },
+ {
+ "teal": 574,
+ "source": 57,
+ "pc": [
+ 641
+ ]
+ },
+ {
+ "teal": 575,
+ "source": 57,
+ "pc": [
+ 642
+ ]
+ },
+ {
+ "teal": 576,
+ "source": 57,
+ "pc": [
+ 643
+ ]
+ },
+ {
+ "teal": 577,
+ "source": 57,
+ "pc": [
+ 644
+ ]
+ },
+ {
+ "teal": 580,
+ "source": 57,
+ "errorMessage": "argument 1 (a) for uint8plus must be a uint8",
+ "pc": [
+ 645
+ ]
+ },
+ {
+ "teal": 581,
+ "source": 57,
+ "pc": [
+ 646
+ ]
+ },
+ {
+ "teal": 584,
+ "source": 57,
+ "pc": [
+ 647,
+ 648,
+ 649
+ ]
+ },
+ {
+ "teal": 585,
+ "source": 57,
+ "pc": [
+ 650
+ ]
+ },
+ {
+ "teal": 586,
+ "source": 57,
+ "pc": [
+ 651
+ ]
+ },
+ {
+ "teal": 587,
+ "source": 57,
+ "pc": [
+ 652
+ ]
+ },
+ {
+ "teal": 588,
+ "source": 57,
+ "pc": [
+ 653
+ ]
+ },
+ {
+ "teal": 589,
+ "source": 57,
+ "pc": [
+ 654
+ ]
+ },
+ {
+ "teal": 592,
+ "source": 57,
+ "errorMessage": "uint8plus return value overflowed 8 bits",
+ "pc": [
+ 655
+ ]
+ },
+ {
+ "teal": 593,
+ "source": 57,
+ "pc": [
+ 656,
+ 657,
+ 658
+ ]
+ },
+ {
+ "teal": 594,
+ "source": 57,
+ "pc": [
+ 659
+ ]
+ },
+ {
+ "teal": 595,
+ "source": 57,
+ "pc": [
+ 660
+ ]
+ },
+ {
+ "teal": 596,
+ "source": 57,
+ "pc": [
+ 661
+ ]
+ },
+ {
+ "teal": 597,
+ "source": 57,
+ "pc": [
+ 662
+ ]
+ },
+ {
+ "teal": 601,
+ "source": 57,
+ "pc": [
+ 663,
+ 664,
+ 665
+ ]
+ },
+ {
+ "teal": 605,
+ "source": 58,
+ "pc": [
+ 666,
+ 667
+ ]
+ },
+ {
+ "teal": 606,
+ "source": 58,
+ "pc": [
+ 668,
+ 669
+ ]
+ },
+ {
+ "teal": 607,
+ "source": 58,
+ "pc": [
+ 670
+ ]
+ },
+ {
+ "teal": 608,
+ "source": 57,
+ "pc": [
+ 671
+ ]
+ },
+ {
+ "teal": 613,
+ "source": 61,
+ "pc": [
+ 672
+ ]
+ },
+ {
+ "teal": 616,
+ "source": 61,
+ "pc": [
+ 673,
+ 674,
+ 675
+ ]
+ },
+ {
+ "teal": 617,
+ "source": 61,
+ "pc": [
+ 676
+ ]
+ },
+ {
+ "teal": 618,
+ "source": 61,
+ "pc": [
+ 677
+ ]
+ },
+ {
+ "teal": 619,
+ "source": 61,
+ "pc": [
+ 678
+ ]
+ },
+ {
+ "teal": 620,
+ "source": 61,
+ "pc": [
+ 679
+ ]
+ },
+ {
+ "teal": 623,
+ "source": 61,
+ "errorMessage": "argument 0 (b) for uint8exp must be a uint8",
+ "pc": [
+ 680
+ ]
+ },
+ {
+ "teal": 624,
+ "source": 61,
+ "pc": [
+ 681
+ ]
+ },
+ {
+ "teal": 627,
+ "source": 61,
+ "pc": [
+ 682,
+ 683,
+ 684
+ ]
+ },
+ {
+ "teal": 628,
+ "source": 61,
+ "pc": [
+ 685
+ ]
+ },
+ {
+ "teal": 629,
+ "source": 61,
+ "pc": [
+ 686
+ ]
+ },
+ {
+ "teal": 630,
+ "source": 61,
+ "pc": [
+ 687
+ ]
+ },
+ {
+ "teal": 631,
+ "source": 61,
+ "pc": [
+ 688
+ ]
+ },
+ {
+ "teal": 634,
+ "source": 61,
+ "errorMessage": "argument 1 (a) for uint8exp must be a uint8",
+ "pc": [
+ 689
+ ]
+ },
+ {
+ "teal": 635,
+ "source": 61,
+ "pc": [
+ 690
+ ]
+ },
+ {
+ "teal": 638,
+ "source": 61,
+ "pc": [
+ 691,
+ 692,
+ 693
+ ]
+ },
+ {
+ "teal": 639,
+ "source": 61,
+ "pc": [
+ 694
+ ]
+ },
+ {
+ "teal": 640,
+ "source": 61,
+ "pc": [
+ 695
+ ]
+ },
+ {
+ "teal": 641,
+ "source": 61,
+ "pc": [
+ 696
+ ]
+ },
+ {
+ "teal": 642,
+ "source": 61,
+ "pc": [
+ 697
+ ]
+ },
+ {
+ "teal": 643,
+ "source": 61,
+ "pc": [
+ 698
+ ]
+ },
+ {
+ "teal": 646,
+ "source": 61,
+ "errorMessage": "uint8exp return value overflowed 8 bits",
+ "pc": [
+ 699
+ ]
+ },
+ {
+ "teal": 647,
+ "source": 61,
+ "pc": [
+ 700,
+ 701,
+ 702
+ ]
+ },
+ {
+ "teal": 648,
+ "source": 61,
+ "pc": [
+ 703
+ ]
+ },
+ {
+ "teal": 649,
+ "source": 61,
+ "pc": [
+ 704
+ ]
+ },
+ {
+ "teal": 650,
+ "source": 61,
+ "pc": [
+ 705
+ ]
+ },
+ {
+ "teal": 651,
+ "source": 61,
+ "pc": [
+ 706
+ ]
+ },
+ {
+ "teal": 655,
+ "source": 61,
+ "pc": [
+ 707,
+ 708,
+ 709
+ ]
+ },
+ {
+ "teal": 659,
+ "source": 62,
+ "pc": [
+ 710,
+ 711
+ ]
+ },
+ {
+ "teal": 660,
+ "source": 62,
+ "pc": [
+ 712,
+ 713
+ ]
+ },
+ {
+ "teal": 661,
+ "source": 62,
+ "pc": [
+ 714
+ ]
+ },
+ {
+ "teal": 662,
+ "source": 61,
+ "pc": [
+ 715
+ ]
+ },
+ {
+ "teal": 667,
+ "source": 65,
+ "pc": [
+ 716
+ ]
+ },
+ {
+ "teal": 670,
+ "source": 65,
+ "pc": [
+ 717,
+ 718,
+ 719
+ ]
+ },
+ {
+ "teal": 671,
+ "source": 65,
+ "pc": [
+ 720
+ ]
+ },
+ {
+ "teal": 674,
+ "source": 65,
+ "pc": [
+ 721,
+ 722,
+ 723
+ ]
+ },
+ {
+ "teal": 675,
+ "source": 65,
+ "pc": [
+ 724
+ ]
+ },
+ {
+ "teal": 678,
+ "source": 65,
+ "pc": [
+ 725,
+ 726,
+ 727
+ ]
+ },
+ {
+ "teal": 679,
+ "source": 65,
+ "pc": [
+ 728
+ ]
+ },
+ {
+ "teal": 680,
+ "source": 65,
+ "pc": [
+ 729
+ ]
+ },
+ {
+ "teal": 681,
+ "source": 65,
+ "pc": [
+ 730
+ ]
+ },
+ {
+ "teal": 682,
+ "source": 65,
+ "pc": [
+ 731
+ ]
+ },
+ {
+ "teal": 683,
+ "source": 65,
+ "pc": [
+ 732
+ ]
+ },
+ {
+ "teal": 687,
+ "source": 65,
+ "pc": [
+ 733,
+ 734,
+ 735
+ ]
+ },
+ {
+ "teal": 690,
+ "source": 65,
+ "pc": [
+ 736
+ ]
+ },
+ {
+ "teal": 694,
+ "source": 66,
+ "pc": [
+ 737,
+ 738
+ ]
+ },
+ {
+ "teal": 695,
+ "source": 66,
+ "pc": [
+ 739,
+ 740
+ ]
+ },
+ {
+ "teal": 699,
+ "source": 68,
+ "pc": [
+ 741,
+ 742
+ ]
+ },
+ {
+ "teal": 700,
+ "source": 68,
+ "pc": [
+ 743,
+ 744
+ ]
+ },
+ {
+ "teal": 701,
+ "source": 68,
+ "pc": [
+ 745
+ ]
+ },
+ {
+ "teal": 702,
+ "source": 68,
+ "pc": [
+ 746,
+ 747
+ ]
+ },
+ {
+ "teal": 706,
+ "source": 70,
+ "pc": [
+ 748,
+ 749
+ ]
+ },
+ {
+ "teal": 709,
+ "source": 65,
+ "pc": [
+ 750,
+ 751
+ ]
+ },
+ {
+ "teal": 710,
+ "source": 65,
+ "pc": [
+ 752
+ ]
+ },
+ {
+ "teal": 715,
+ "source": 73,
+ "pc": [
+ 753
+ ]
+ },
+ {
+ "teal": 718,
+ "source": 73,
+ "pc": [
+ 754,
+ 755,
+ 756
+ ]
+ },
+ {
+ "teal": 719,
+ "source": 73,
+ "pc": [
+ 757
+ ]
+ },
+ {
+ "teal": 722,
+ "source": 73,
+ "pc": [
+ 758,
+ 759,
+ 760
+ ]
+ },
+ {
+ "teal": 723,
+ "source": 73,
+ "pc": [
+ 761
+ ]
+ },
+ {
+ "teal": 726,
+ "source": 73,
+ "pc": [
+ 762,
+ 763,
+ 764
+ ]
+ },
+ {
+ "teal": 727,
+ "source": 73,
+ "pc": [
+ 765
+ ]
+ },
+ {
+ "teal": 728,
+ "source": 73,
+ "pc": [
+ 766
+ ]
+ },
+ {
+ "teal": 729,
+ "source": 73,
+ "pc": [
+ 767
+ ]
+ },
+ {
+ "teal": 730,
+ "source": 73,
+ "pc": [
+ 768
+ ]
+ },
+ {
+ "teal": 731,
+ "source": 73,
+ "pc": [
+ 769
+ ]
+ },
+ {
+ "teal": 735,
+ "source": 73,
+ "pc": [
+ 770,
+ 771,
+ 772
+ ]
+ },
+ {
+ "teal": 739,
+ "source": 74,
+ "pc": [
+ 773
+ ]
+ },
+ {
+ "teal": 740,
+ "source": 74,
+ "pc": [
+ 774,
+ 775
+ ]
+ },
+ {
+ "teal": 741,
+ "source": 74,
+ "pc": [
+ 776
+ ]
+ },
+ {
+ "teal": 745,
+ "source": 76,
+ "pc": [
+ 777
+ ]
+ },
+ {
+ "teal": 746,
+ "source": 76,
+ "pc": [
+ 778
+ ]
+ },
+ {
+ "teal": 747,
+ "source": 76,
+ "pc": [
+ 779,
+ 780
+ ]
+ },
+ {
+ "teal": 748,
+ "source": 76,
+ "pc": [
+ 781
+ ]
+ },
+ {
+ "teal": 749,
+ "source": 76,
+ "pc": [
+ 782
+ ]
+ },
+ {
+ "teal": 750,
+ "source": 76,
+ "pc": [
+ 783
+ ]
+ },
+ {
+ "teal": 751,
+ "source": 76,
+ "pc": [
+ 784
+ ]
+ },
+ {
+ "teal": 755,
+ "source": 78,
+ "pc": [
+ 785
+ ]
+ },
+ {
+ "teal": 756,
+ "source": 78,
+ "pc": [
+ 786
+ ]
+ },
+ {
+ "teal": 757,
+ "source": 73,
+ "pc": [
+ 787
+ ]
+ },
+ {
+ "teal": 762,
+ "source": 83,
+ "pc": [
+ 788
+ ]
+ },
+ {
+ "teal": 765,
+ "source": 83,
+ "pc": [
+ 789,
+ 790,
+ 791
+ ]
+ },
+ {
+ "teal": 766,
+ "source": 83,
+ "pc": [
+ 792
+ ]
+ },
+ {
+ "teal": 767,
+ "source": 83,
+ "pc": [
+ 793
+ ]
+ },
+ {
+ "teal": 768,
+ "source": 83,
+ "pc": [
+ 794
+ ]
+ },
+ {
+ "teal": 769,
+ "source": 83,
+ "pc": [
+ 795
+ ]
+ },
+ {
+ "teal": 772,
+ "source": 83,
+ "errorMessage": "boxTest return value overflowed 256 bits",
+ "pc": [
+ 796
+ ]
+ },
+ {
+ "teal": 773,
+ "source": 83,
+ "pc": [
+ 797
+ ]
+ },
+ {
+ "teal": 774,
+ "source": 83,
+ "pc": [
+ 798
+ ]
+ },
+ {
+ "teal": 775,
+ "source": 83,
+ "pc": [
+ 799
+ ]
+ },
+ {
+ "teal": 776,
+ "source": 83,
+ "pc": [
+ 800
+ ]
+ },
+ {
+ "teal": 777,
+ "source": 83,
+ "pc": [
+ 801
+ ]
+ },
+ {
+ "teal": 778,
+ "source": 83,
+ "pc": [
+ 802
+ ]
+ },
+ {
+ "teal": 779,
+ "source": 83,
+ "pc": [
+ 803
+ ]
+ },
+ {
+ "teal": 780,
+ "source": 83,
+ "pc": [
+ 804
+ ]
+ },
+ {
+ "teal": 781,
+ "source": 83,
+ "pc": [
+ 805
+ ]
+ },
+ {
+ "teal": 782,
+ "source": 83,
+ "pc": [
+ 806
+ ]
+ },
+ {
+ "teal": 783,
+ "source": 83,
+ "pc": [
+ 807
+ ]
+ },
+ {
+ "teal": 784,
+ "source": 83,
+ "pc": [
+ 808
+ ]
+ },
+ {
+ "teal": 785,
+ "source": 83,
+ "pc": [
+ 809
+ ]
+ },
+ {
+ "teal": 789,
+ "source": 83,
+ "pc": [
+ 810,
+ 811,
+ 812
+ ]
+ },
+ {
+ "teal": 793,
+ "source": 84,
+ "pc": [
+ 813,
+ 814
+ ]
+ },
+ {
+ "teal": 794,
+ "source": 84,
+ "pc": [
+ 815,
+ 816
+ ]
+ },
+ {
+ "teal": 795,
+ "source": 84,
+ "pc": [
+ 817
+ ]
+ },
+ {
+ "teal": 799,
+ "source": 85,
+ "pc": [
+ 818,
+ 819
+ ]
+ },
+ {
+ "teal": 800,
+ "source": 85,
+ "pc": [
+ 820
+ ]
+ },
+ {
+ "teal": 803,
+ "source": 85,
+ "errorMessage": "box value does not exist: this.boxKey.value",
+ "pc": [
+ 821
+ ]
+ },
+ {
+ "teal": 804,
+ "source": 85,
+ "pc": [
+ 822,
+ 823
+ ]
+ },
+ {
+ "teal": 805,
+ "source": 85,
+ "pc": [
+ 824
+ ]
+ },
+ {
+ "teal": 806,
+ "source": 85,
+ "pc": [
+ 825,
+ 826
+ ]
+ },
+ {
+ "teal": 807,
+ "source": 85,
+ "pc": [
+ 827
+ ]
+ },
+ {
+ "teal": 808,
+ "source": 85,
+ "pc": [
+ 828
+ ]
+ },
+ {
+ "teal": 809,
+ "source": 85,
+ "pc": [
+ 829
+ ]
+ },
+ {
+ "teal": 810,
+ "source": 85,
+ "pc": [
+ 830
+ ]
+ },
+ {
+ "teal": 813,
+ "source": 85,
+ "errorMessage": "this.boxKey.value overflowed 256 bits",
+ "pc": [
+ 831
+ ]
+ },
+ {
+ "teal": 814,
+ "source": 85,
+ "pc": [
+ 832
+ ]
+ },
+ {
+ "teal": 815,
+ "source": 85,
+ "pc": [
+ 833
+ ]
+ },
+ {
+ "teal": 816,
+ "source": 85,
+ "pc": [
+ 834
+ ]
+ },
+ {
+ "teal": 817,
+ "source": 85,
+ "pc": [
+ 835
+ ]
+ },
+ {
+ "teal": 818,
+ "source": 85,
+ "pc": [
+ 836
+ ]
+ },
+ {
+ "teal": 819,
+ "source": 85,
+ "pc": [
+ 837
+ ]
+ },
+ {
+ "teal": 820,
+ "source": 85,
+ "pc": [
+ 838
+ ]
+ },
+ {
+ "teal": 821,
+ "source": 85,
+ "pc": [
+ 839
+ ]
+ },
+ {
+ "teal": 822,
+ "source": 85,
+ "pc": [
+ 840
+ ]
+ },
+ {
+ "teal": 823,
+ "source": 85,
+ "pc": [
+ 841
+ ]
+ },
+ {
+ "teal": 824,
+ "source": 85,
+ "pc": [
+ 842
+ ]
+ },
+ {
+ "teal": 828,
+ "source": 87,
+ "pc": [
+ 843,
+ 844
+ ]
+ },
+ {
+ "teal": 829,
+ "source": 87,
+ "pc": [
+ 845
+ ]
+ },
+ {
+ "teal": 832,
+ "source": 87,
+ "errorMessage": "box value does not exist: this.boxKey.value",
+ "pc": [
+ 846
+ ]
+ },
+ {
+ "teal": 833,
+ "source": 83,
+ "pc": [
+ 847
+ ]
+ },
+ {
+ "teal": 837,
+ "source": 90,
+ "pc": [
+ 848,
+ 849,
+ 850
+ ]
+ },
+ {
+ "teal": 841,
+ "source": 91,
+ "pc": [
+ 851,
+ 852
+ ]
+ },
+ {
+ "teal": 842,
+ "source": 90,
+ "pc": [
+ 853
+ ]
+ },
+ {
+ "teal": 847,
+ "source": 94,
+ "pc": [
+ 854
+ ]
+ },
+ {
+ "teal": 850,
+ "source": 94,
+ "pc": [
+ 855,
+ 856,
+ 857
+ ]
+ },
+ {
+ "teal": 851,
+ "source": 94,
+ "pc": [
+ 858
+ ]
+ },
+ {
+ "teal": 852,
+ "source": 94,
+ "pc": [
+ 859
+ ]
+ },
+ {
+ "teal": 853,
+ "source": 94,
+ "pc": [
+ 860
+ ]
+ },
+ {
+ "teal": 854,
+ "source": 94,
+ "pc": [
+ 861
+ ]
+ },
+ {
+ "teal": 857,
+ "source": 94,
+ "errorMessage": "argument 0 (b) for unsafeMethodArgs must be a uint256",
+ "pc": [
+ 862
+ ]
+ },
+ {
+ "teal": 860,
+ "source": 94,
+ "pc": [
+ 863,
+ 864,
+ 865
+ ]
+ },
+ {
+ "teal": 861,
+ "source": 94,
+ "pc": [
+ 866
+ ]
+ },
+ {
+ "teal": 862,
+ "source": 94,
+ "pc": [
+ 867
+ ]
+ },
+ {
+ "teal": 863,
+ "source": 94,
+ "pc": [
+ 868
+ ]
+ },
+ {
+ "teal": 864,
+ "source": 94,
+ "pc": [
+ 869
+ ]
+ },
+ {
+ "teal": 867,
+ "source": 94,
+ "errorMessage": "argument 1 (a) for unsafeMethodArgs must be a uint256",
+ "pc": [
+ 870
+ ]
+ },
+ {
+ "teal": 870,
+ "source": 94,
+ "pc": [
+ 871,
+ 872,
+ 873
+ ]
+ },
+ {
+ "teal": 871,
+ "source": 94,
+ "pc": [
+ 874
+ ]
+ },
+ {
+ "teal": 872,
+ "source": 94,
+ "pc": [
+ 875
+ ]
+ },
+ {
+ "teal": 873,
+ "source": 94,
+ "pc": [
+ 876
+ ]
+ },
+ {
+ "teal": 874,
+ "source": 94,
+ "pc": [
+ 877
+ ]
+ },
+ {
+ "teal": 877,
+ "source": 94,
+ "errorMessage": "unsafeMethodArgs return value overflowed 256 bits",
+ "pc": [
+ 878
+ ]
+ },
+ {
+ "teal": 878,
+ "source": 94,
+ "pc": [
+ 879
+ ]
+ },
+ {
+ "teal": 879,
+ "source": 94,
+ "pc": [
+ 880
+ ]
+ },
+ {
+ "teal": 880,
+ "source": 94,
+ "pc": [
+ 881
+ ]
+ },
+ {
+ "teal": 881,
+ "source": 94,
+ "pc": [
+ 882
+ ]
+ },
+ {
+ "teal": 882,
+ "source": 94,
+ "pc": [
+ 883
+ ]
+ },
+ {
+ "teal": 883,
+ "source": 94,
+ "pc": [
+ 884
+ ]
+ },
+ {
+ "teal": 884,
+ "source": 94,
+ "pc": [
+ 885
+ ]
+ },
+ {
+ "teal": 885,
+ "source": 94,
+ "pc": [
+ 886
+ ]
+ },
+ {
+ "teal": 886,
+ "source": 94,
+ "pc": [
+ 887
+ ]
+ },
+ {
+ "teal": 887,
+ "source": 94,
+ "pc": [
+ 888
+ ]
+ },
+ {
+ "teal": 888,
+ "source": 94,
+ "pc": [
+ 889
+ ]
+ },
+ {
+ "teal": 889,
+ "source": 94,
+ "pc": [
+ 890
+ ]
+ },
+ {
+ "teal": 890,
+ "source": 94,
+ "pc": [
+ 891
+ ]
+ },
+ {
+ "teal": 894,
+ "source": 94,
+ "pc": [
+ 892,
+ 893,
+ 894
+ ]
+ },
+ {
+ "teal": 897,
+ "source": 94,
+ "pc": [
+ 895
+ ]
+ },
+ {
+ "teal": 901,
+ "source": 95,
+ "pc": [
+ 896,
+ 897
+ ]
+ },
+ {
+ "teal": 902,
+ "source": 95,
+ "pc": [
+ 898,
+ 899
+ ]
+ },
+ {
+ "teal": 903,
+ "source": 95,
+ "pc": [
+ 900
+ ]
+ },
+ {
+ "teal": 904,
+ "source": 95,
+ "pc": [
+ 901,
+ 902
+ ]
+ },
+ {
+ "teal": 908,
+ "source": 97,
+ "pc": [
+ 903,
+ 904
+ ]
+ },
+ {
+ "teal": 909,
+ "source": 97,
+ "pc": [
+ 905
+ ]
+ },
+ {
+ "teal": 910,
+ "source": 97,
+ "pc": [
+ 906
+ ]
+ },
+ {
+ "teal": 911,
+ "source": 97,
+ "pc": [
+ 907
+ ]
+ },
+ {
+ "teal": 912,
+ "source": 97,
+ "pc": [
+ 908
+ ]
+ },
+ {
+ "teal": 915,
+ "source": 97,
+ "errorMessage": "c overflowed 256 bits",
+ "pc": [
+ 909
+ ]
+ },
+ {
+ "teal": 916,
+ "source": 97,
+ "pc": [
+ 910
+ ]
+ },
+ {
+ "teal": 917,
+ "source": 97,
+ "pc": [
+ 911
+ ]
+ },
+ {
+ "teal": 918,
+ "source": 97,
+ "pc": [
+ 912
+ ]
+ },
+ {
+ "teal": 919,
+ "source": 97,
+ "pc": [
+ 913
+ ]
+ },
+ {
+ "teal": 920,
+ "source": 97,
+ "pc": [
+ 914
+ ]
+ },
+ {
+ "teal": 921,
+ "source": 97,
+ "pc": [
+ 915
+ ]
+ },
+ {
+ "teal": 922,
+ "source": 97,
+ "pc": [
+ 916
+ ]
+ },
+ {
+ "teal": 923,
+ "source": 97,
+ "pc": [
+ 917
+ ]
+ },
+ {
+ "teal": 924,
+ "source": 97,
+ "pc": [
+ 918
+ ]
+ },
+ {
+ "teal": 925,
+ "source": 97,
+ "pc": [
+ 919,
+ 920,
+ 921
+ ]
+ },
+ {
+ "teal": 928,
+ "source": 94,
+ "pc": [
+ 922,
+ 923
+ ]
+ },
+ {
+ "teal": 929,
+ "source": 94,
+ "pc": [
+ 924
+ ]
+ },
+ {
+ "teal": 934,
+ "source": 100,
+ "pc": [
+ 925,
+ 926,
+ 927
+ ]
+ },
+ {
+ "teal": 935,
+ "source": 100,
+ "pc": [
+ 928
+ ]
+ },
+ {
+ "teal": 936,
+ "source": 100,
+ "pc": [
+ 929
+ ]
+ },
+ {
+ "teal": 937,
+ "source": 100,
+ "pc": [
+ 930
+ ]
+ },
+ {
+ "teal": 938,
+ "source": 100,
+ "pc": [
+ 931
+ ]
+ },
+ {
+ "teal": 941,
+ "source": 100,
+ "errorMessage": "argument 0 (b) for uint256ComparisonType must be a uint256",
+ "pc": [
+ 932
+ ]
+ },
+ {
+ "teal": 944,
+ "source": 100,
+ "pc": [
+ 933,
+ 934,
+ 935
+ ]
+ },
+ {
+ "teal": 945,
+ "source": 100,
+ "pc": [
+ 936
+ ]
+ },
+ {
+ "teal": 946,
+ "source": 100,
+ "pc": [
+ 937
+ ]
+ },
+ {
+ "teal": 947,
+ "source": 100,
+ "pc": [
+ 938
+ ]
+ },
+ {
+ "teal": 948,
+ "source": 100,
+ "pc": [
+ 939
+ ]
+ },
+ {
+ "teal": 951,
+ "source": 100,
+ "errorMessage": "argument 1 (a) for uint256ComparisonType must be a uint256",
+ "pc": [
+ 940
+ ]
+ },
+ {
+ "teal": 954,
+ "source": 100,
+ "pc": [
+ 941,
+ 942,
+ 943
+ ]
+ },
+ {
+ "teal": 955,
+ "source": 100,
+ "pc": [
+ 944
+ ]
+ },
+ {
+ "teal": 956,
+ "source": 100,
+ "pc": [
+ 945
+ ]
+ },
+ {
+ "teal": 960,
+ "source": 100,
+ "pc": [
+ 946,
+ 947,
+ 948
+ ]
+ },
+ {
+ "teal": 963,
+ "source": 100,
+ "pc": [
+ 949
+ ]
+ },
+ {
+ "teal": 967,
+ "source": 101,
+ "pc": [
+ 950,
+ 951
+ ]
+ },
+ {
+ "teal": 968,
+ "source": 101,
+ "pc": [
+ 952,
+ 953
+ ]
+ },
+ {
+ "teal": 969,
+ "source": 101,
+ "pc": [
+ 954
+ ]
+ },
+ {
+ "teal": 970,
+ "source": 101,
+ "pc": [
+ 955,
+ 956
+ ]
+ },
+ {
+ "teal": 975,
+ "source": 102,
+ "pc": [
+ 957,
+ 958
+ ]
+ },
+ {
+ "teal": 976,
+ "source": 102,
+ "pc": [
+ 959,
+ 960,
+ 961,
+ 962,
+ 963,
+ 964,
+ 965,
+ 966,
+ 967,
+ 968,
+ 969,
+ 970,
+ 971,
+ 972,
+ 973,
+ 974,
+ 975,
+ 976,
+ 977,
+ 978,
+ 979,
+ 980,
+ 981,
+ 982,
+ 983,
+ 984,
+ 985,
+ 986,
+ 987,
+ 988,
+ 989,
+ 990,
+ 991,
+ 992
+ ]
+ },
+ {
+ "teal": 977,
+ "source": 102,
+ "pc": [
+ 993
+ ]
+ },
+ {
+ "teal": 978,
+ "source": 102,
+ "pc": [
+ 994,
+ 995,
+ 996
+ ]
+ },
+ {
+ "teal": 983,
+ "source": 103,
+ "pc": [
+ 997,
+ 998,
+ 999,
+ 1000,
+ 1001,
+ 1002,
+ 1003,
+ 1004,
+ 1005
+ ]
+ },
+ {
+ "teal": 984,
+ "source": 103,
+ "pc": [
+ 1006
+ ]
+ },
+ {
+ "teal": 985,
+ "source": 102,
+ "pc": [
+ 1007,
+ 1008,
+ 1009
+ ]
+ },
+ {
+ "teal": 990,
+ "source": 105,
+ "pc": [
+ 1010,
+ 1011,
+ 1012,
+ 1013,
+ 1014,
+ 1015
+ ]
+ },
+ {
+ "teal": 991,
+ "source": 105,
+ "pc": [
+ 1016
+ ]
+ },
+ {
+ "teal": 994,
+ "source": 100,
+ "pc": [
+ 1017
+ ]
+ },
+ {
+ "teal": 999,
+ "source": 109,
+ "pc": [
+ 1018
+ ]
+ },
+ {
+ "teal": 1002,
+ "source": 109,
+ "pc": [
+ 1019,
+ 1020,
+ 1021
+ ]
+ },
+ {
+ "teal": 1003,
+ "source": 109,
+ "pc": [
+ 1022
+ ]
+ },
+ {
+ "teal": 1004,
+ "source": 109,
+ "pc": [
+ 1023
+ ]
+ },
+ {
+ "teal": 1005,
+ "source": 109,
+ "pc": [
+ 1024
+ ]
+ },
+ {
+ "teal": 1006,
+ "source": 109,
+ "pc": [
+ 1025
+ ]
+ },
+ {
+ "teal": 1009,
+ "source": 109,
+ "errorMessage": "argument 0 (b) for squareRoot256 must be a uint256",
+ "pc": [
+ 1026
+ ]
+ },
+ {
+ "teal": 1012,
+ "source": 109,
+ "pc": [
+ 1027,
+ 1028,
+ 1029
+ ]
+ },
+ {
+ "teal": 1013,
+ "source": 109,
+ "pc": [
+ 1030
+ ]
+ },
+ {
+ "teal": 1014,
+ "source": 109,
+ "pc": [
+ 1031
+ ]
+ },
+ {
+ "teal": 1015,
+ "source": 109,
+ "pc": [
+ 1032
+ ]
+ },
+ {
+ "teal": 1016,
+ "source": 109,
+ "pc": [
+ 1033
+ ]
+ },
+ {
+ "teal": 1019,
+ "source": 109,
+ "errorMessage": "argument 1 (a) for squareRoot256 must be a uint256",
+ "pc": [
+ 1034
+ ]
+ },
+ {
+ "teal": 1022,
+ "source": 109,
+ "pc": [
+ 1035,
+ 1036,
+ 1037
+ ]
+ },
+ {
+ "teal": 1023,
+ "source": 109,
+ "pc": [
+ 1038
+ ]
+ },
+ {
+ "teal": 1024,
+ "source": 109,
+ "pc": [
+ 1039
+ ]
+ },
+ {
+ "teal": 1025,
+ "source": 109,
+ "pc": [
+ 1040
+ ]
+ },
+ {
+ "teal": 1026,
+ "source": 109,
+ "pc": [
+ 1041
+ ]
+ },
+ {
+ "teal": 1029,
+ "source": 109,
+ "errorMessage": "squareRoot256 return value overflowed 256 bits",
+ "pc": [
+ 1042
+ ]
+ },
+ {
+ "teal": 1030,
+ "source": 109,
+ "pc": [
+ 1043
+ ]
+ },
+ {
+ "teal": 1031,
+ "source": 109,
+ "pc": [
+ 1044
+ ]
+ },
+ {
+ "teal": 1032,
+ "source": 109,
+ "pc": [
+ 1045
+ ]
+ },
+ {
+ "teal": 1033,
+ "source": 109,
+ "pc": [
+ 1046
+ ]
+ },
+ {
+ "teal": 1034,
+ "source": 109,
+ "pc": [
+ 1047
+ ]
+ },
+ {
+ "teal": 1035,
+ "source": 109,
+ "pc": [
+ 1048
+ ]
+ },
+ {
+ "teal": 1036,
+ "source": 109,
+ "pc": [
+ 1049
+ ]
+ },
+ {
+ "teal": 1037,
+ "source": 109,
+ "pc": [
+ 1050
+ ]
+ },
+ {
+ "teal": 1038,
+ "source": 109,
+ "pc": [
+ 1051
+ ]
+ },
+ {
+ "teal": 1039,
+ "source": 109,
+ "pc": [
+ 1052
+ ]
+ },
+ {
+ "teal": 1040,
+ "source": 109,
+ "pc": [
+ 1053
+ ]
+ },
+ {
+ "teal": 1041,
+ "source": 109,
+ "pc": [
+ 1054
+ ]
+ },
+ {
+ "teal": 1042,
+ "source": 109,
+ "pc": [
+ 1055
+ ]
+ },
+ {
+ "teal": 1046,
+ "source": 109,
+ "pc": [
+ 1056,
+ 1057,
+ 1058
+ ]
+ },
+ {
+ "teal": 1050,
+ "source": 110,
+ "pc": [
+ 1059,
+ 1060
+ ]
+ },
+ {
+ "teal": 1051,
+ "source": 110,
+ "pc": [
+ 1061,
+ 1062
+ ]
+ },
+ {
+ "teal": 1052,
+ "source": 110,
+ "pc": [
+ 1063
+ ]
+ },
+ {
+ "teal": 1053,
+ "source": 110,
+ "pc": [
+ 1064
+ ]
+ },
+ {
+ "teal": 1054,
+ "source": 109,
+ "pc": [
+ 1065
+ ]
+ },
+ {
+ "teal": 1059,
+ "source": 113,
+ "pc": [
+ 1066
+ ]
+ },
+ {
+ "teal": 1062,
+ "source": 113,
+ "pc": [
+ 1067,
+ 1068,
+ 1069
+ ]
+ },
+ {
+ "teal": 1063,
+ "source": 113,
+ "pc": [
+ 1070
+ ]
+ },
+ {
+ "teal": 1066,
+ "source": 113,
+ "pc": [
+ 1071,
+ 1072,
+ 1073
+ ]
+ },
+ {
+ "teal": 1067,
+ "source": 113,
+ "pc": [
+ 1074
+ ]
+ },
+ {
+ "teal": 1070,
+ "source": 113,
+ "pc": [
+ 1075,
+ 1076,
+ 1077
+ ]
+ },
+ {
+ "teal": 1071,
+ "source": 113,
+ "pc": [
+ 1078
+ ]
+ },
+ {
+ "teal": 1072,
+ "source": 113,
+ "pc": [
+ 1079
+ ]
+ },
+ {
+ "teal": 1073,
+ "source": 113,
+ "pc": [
+ 1080
+ ]
+ },
+ {
+ "teal": 1074,
+ "source": 113,
+ "pc": [
+ 1081
+ ]
+ },
+ {
+ "teal": 1075,
+ "source": 113,
+ "pc": [
+ 1082
+ ]
+ },
+ {
+ "teal": 1079,
+ "source": 113,
+ "pc": [
+ 1083,
+ 1084,
+ 1085
+ ]
+ },
+ {
+ "teal": 1083,
+ "source": 114,
+ "pc": [
+ 1086,
+ 1087
+ ]
+ },
+ {
+ "teal": 1084,
+ "source": 114,
+ "pc": [
+ 1088,
+ 1089
+ ]
+ },
+ {
+ "teal": 1085,
+ "source": 114,
+ "pc": [
+ 1090
+ ]
+ },
+ {
+ "teal": 1086,
+ "source": 114,
+ "pc": [
+ 1091
+ ]
+ },
+ {
+ "teal": 1087,
+ "source": 113,
+ "pc": [
+ 1092
+ ]
+ },
+ {
+ "teal": 1092,
+ "source": 117,
+ "pc": [
+ 1093
+ ]
+ },
+ {
+ "teal": 1095,
+ "source": 117,
+ "pc": [
+ 1094,
+ 1095,
+ 1096
+ ]
+ },
+ {
+ "teal": 1096,
+ "source": 117,
+ "pc": [
+ 1097
+ ]
+ },
+ {
+ "teal": 1097,
+ "source": 117,
+ "pc": [
+ 1098
+ ]
+ },
+ {
+ "teal": 1098,
+ "source": 117,
+ "pc": [
+ 1099
+ ]
+ },
+ {
+ "teal": 1099,
+ "source": 117,
+ "pc": [
+ 1100
+ ]
+ },
+ {
+ "teal": 1102,
+ "source": 117,
+ "errorMessage": "argument 0 (addr) for addressToBigInt must be a address",
+ "pc": [
+ 1101
+ ]
+ },
+ {
+ "teal": 1105,
+ "source": 117,
+ "pc": [
+ 1102,
+ 1103,
+ 1104
+ ]
+ },
+ {
+ "teal": 1106,
+ "source": 117,
+ "pc": [
+ 1105,
+ 1106,
+ 1107
+ ]
+ },
+ {
+ "teal": 1107,
+ "source": 117,
+ "pc": [
+ 1108,
+ 1109
+ ]
+ },
+ {
+ "teal": 1108,
+ "source": 117,
+ "pc": [
+ 1110,
+ 1111
+ ]
+ },
+ {
+ "teal": 1109,
+ "source": 117,
+ "pc": [
+ 1112
+ ]
+ },
+ {
+ "teal": 1110,
+ "source": 117,
+ "pc": [
+ 1113
+ ]
+ },
+ {
+ "teal": 1111,
+ "source": 117,
+ "pc": [
+ 1114
+ ]
+ },
+ {
+ "teal": 1112,
+ "source": 117,
+ "pc": [
+ 1115
+ ]
+ },
+ {
+ "teal": 1113,
+ "source": 117,
+ "pc": [
+ 1116
+ ]
+ },
+ {
+ "teal": 1117,
+ "source": 117,
+ "pc": [
+ 1117,
+ 1118,
+ 1119
+ ]
+ },
+ {
+ "teal": 1121,
+ "source": 118,
+ "pc": [
+ 1120,
+ 1121
+ ]
+ },
+ {
+ "teal": 1122,
+ "source": 118,
+ "pc": [
+ 1122,
+ 1123
+ ]
+ },
+ {
+ "teal": 1123,
+ "source": 118,
+ "pc": [
+ 1124
+ ]
+ },
+ {
+ "teal": 1124,
+ "source": 117,
+ "pc": [
+ 1125
+ ]
+ },
+ {
+ "teal": 1129,
+ "source": 121,
+ "pc": [
+ 1126
+ ]
+ },
+ {
+ "teal": 1132,
+ "source": 121,
+ "pc": [
+ 1127,
+ 1128,
+ 1129
+ ]
+ },
+ {
+ "teal": 1133,
+ "source": 121,
+ "pc": [
+ 1130
+ ]
+ },
+ {
+ "teal": 1134,
+ "source": 121,
+ "pc": [
+ 1131
+ ]
+ },
+ {
+ "teal": 1135,
+ "source": 121,
+ "pc": [
+ 1132
+ ]
+ },
+ {
+ "teal": 1136,
+ "source": 121,
+ "pc": [
+ 1133
+ ]
+ },
+ {
+ "teal": 1137,
+ "source": 121,
+ "pc": [
+ 1134
+ ]
+ },
+ {
+ "teal": 1141,
+ "source": 121,
+ "pc": [
+ 1135,
+ 1136,
+ 1137
+ ]
+ },
+ {
+ "teal": 1144,
+ "source": 121,
+ "pc": [
+ 1138
+ ]
+ },
+ {
+ "teal": 1148,
+ "source": 122,
+ "pc": [
+ 1139,
+ 1140
+ ]
+ },
+ {
+ "teal": 1149,
+ "source": 122,
+ "pc": [
+ 1141,
+ 1142
+ ]
+ },
+ {
+ "teal": 1153,
+ "source": 123,
+ "pc": [
+ 1143,
+ 1144
+ ]
+ },
+ {
+ "teal": 1156,
+ "source": 121,
+ "pc": [
+ 1145,
+ 1146
+ ]
+ },
+ {
+ "teal": 1157,
+ "source": 121,
+ "pc": [
+ 1147
+ ]
+ },
+ {
+ "teal": 1161,
+ "source": 126,
+ "pc": [
+ 1148,
+ 1149,
+ 1150
+ ]
+ },
+ {
+ "teal": 1165,
+ "source": 127,
+ "pc": [
+ 1151,
+ 1152
+ ]
+ },
+ {
+ "teal": 1166,
+ "source": 127,
+ "pc": [
+ 1153,
+ 1154
+ ]
+ },
+ {
+ "teal": 1167,
+ "source": 127,
+ "pc": [
+ 1155
+ ]
+ },
+ {
+ "teal": 1168,
+ "source": 127,
+ "pc": [
+ 1156
+ ]
+ },
+ {
+ "teal": 1169,
+ "source": 126,
+ "pc": [
+ 1157
+ ]
+ },
+ {
+ "teal": 1174,
+ "source": 130,
+ "pc": [
+ 1158,
+ 1159,
+ 1160
+ ]
+ },
+ {
+ "teal": 1175,
+ "source": 130,
+ "pc": [
+ 1161
+ ]
+ },
+ {
+ "teal": 1176,
+ "source": 130,
+ "pc": [
+ 1162
+ ]
+ },
+ {
+ "teal": 1177,
+ "source": 130,
+ "pc": [
+ 1163
+ ]
+ },
+ {
+ "teal": 1178,
+ "source": 130,
+ "pc": [
+ 1164
+ ]
+ },
+ {
+ "teal": 1181,
+ "source": 130,
+ "errorMessage": "argument 0 (x) for funcName must be a uint256",
+ "pc": [
+ 1165
+ ]
+ },
+ {
+ "teal": 1184,
+ "source": 130,
+ "pc": [
+ 1166,
+ 1167,
+ 1168
+ ]
+ },
+ {
+ "teal": 1185,
+ "source": 130,
+ "pc": [
+ 1169
+ ]
+ },
+ {
+ "teal": 1186,
+ "source": 130,
+ "pc": [
+ 1170
+ ]
+ },
+ {
+ "teal": 1190,
+ "source": 130,
+ "pc": [
+ 1171,
+ 1172,
+ 1173
+ ]
+ },
+ {
+ "teal": 1194,
+ "source": 131,
+ "pc": [
+ 1174,
+ 1175,
+ 1176
+ ]
+ },
+ {
+ "teal": 1195,
+ "source": 131,
+ "pc": [
+ 1177,
+ 1178
+ ]
+ },
+ {
+ "teal": 1196,
+ "source": 131,
+ "pc": [
+ 1179
+ ]
+ },
+ {
+ "teal": 1197,
+ "source": 131,
+ "pc": [
+ 1180
+ ]
+ },
+ {
+ "teal": 1198,
+ "source": 131,
+ "pc": [
+ 1181
+ ]
+ },
+ {
+ "teal": 1199,
+ "source": 131,
+ "pc": [
+ 1182
+ ]
+ },
+ {
+ "teal": 1202,
+ "source": 131,
+ "errorMessage": "x overflowed 8 bits",
+ "pc": [
+ 1183
+ ]
+ },
+ {
+ "teal": 1203,
+ "source": 131,
+ "pc": [
+ 1184,
+ 1185,
+ 1186
+ ]
+ },
+ {
+ "teal": 1204,
+ "source": 131,
+ "pc": [
+ 1187
+ ]
+ },
+ {
+ "teal": 1205,
+ "source": 131,
+ "pc": [
+ 1188,
+ 1189,
+ 1190
+ ]
+ },
+ {
+ "teal": 1206,
+ "source": 130,
+ "pc": [
+ 1191
+ ]
+ },
+ {
+ "teal": 1211,
+ "source": 134,
+ "pc": [
+ 1192
+ ]
+ },
+ {
+ "teal": 1214,
+ "source": 134,
+ "pc": [
+ 1193,
+ 1194,
+ 1195
+ ]
+ },
+ {
+ "teal": 1215,
+ "source": 134,
+ "pc": [
+ 1196
+ ]
+ },
+ {
+ "teal": 1218,
+ "source": 134,
+ "pc": [
+ 1197,
+ 1198,
+ 1199
+ ]
+ },
+ {
+ "teal": 1219,
+ "source": 134,
+ "pc": [
+ 1200
+ ]
+ },
+ {
+ "teal": 1222,
+ "source": 134,
+ "pc": [
+ 1201,
+ 1202,
+ 1203
+ ]
+ },
+ {
+ "teal": 1223,
+ "source": 134,
+ "pc": [
+ 1204
+ ]
+ },
+ {
+ "teal": 1224,
+ "source": 134,
+ "pc": [
+ 1205
+ ]
+ },
+ {
+ "teal": 1225,
+ "source": 134,
+ "pc": [
+ 1206
+ ]
+ },
+ {
+ "teal": 1226,
+ "source": 134,
+ "pc": [
+ 1207
+ ]
+ },
+ {
+ "teal": 1227,
+ "source": 134,
+ "pc": [
+ 1208
+ ]
+ },
+ {
+ "teal": 1231,
+ "source": 134,
+ "pc": [
+ 1209,
+ 1210,
+ 1211
+ ]
+ },
+ {
+ "teal": 1234,
+ "source": 134,
+ "pc": [
+ 1212
+ ]
+ },
+ {
+ "teal": 1235,
+ "source": 134,
+ "pc": [
+ 1213
+ ]
+ },
+ {
+ "teal": 1239,
+ "source": 135,
+ "pc": [
+ 1214,
+ 1215
+ ]
+ },
+ {
+ "teal": 1240,
+ "source": 135,
+ "pc": [
+ 1216
+ ]
+ },
+ {
+ "teal": 1241,
+ "source": 135,
+ "pc": [
+ 1217,
+ 1218
+ ]
+ },
+ {
+ "teal": 1245,
+ "source": 136,
+ "pc": [
+ 1219,
+ 1220
+ ]
+ },
+ {
+ "teal": 1246,
+ "source": 136,
+ "pc": [
+ 1221
+ ]
+ },
+ {
+ "teal": 1247,
+ "source": 136,
+ "pc": [
+ 1222,
+ 1223
+ ]
+ },
+ {
+ "teal": 1251,
+ "source": 137,
+ "pc": [
+ 1224,
+ 1225
+ ]
+ },
+ {
+ "teal": 1252,
+ "source": 137,
+ "pc": [
+ 1226,
+ 1227
+ ]
+ },
+ {
+ "teal": 1253,
+ "source": 137,
+ "pc": [
+ 1228
+ ]
+ },
+ {
+ "teal": 1254,
+ "source": 137,
+ "pc": [
+ 1229
+ ]
+ },
+ {
+ "teal": 1255,
+ "source": 137,
+ "pc": [
+ 1230
+ ]
+ },
+ {
+ "teal": 1256,
+ "source": 137,
+ "pc": [
+ 1231,
+ 1232
+ ]
+ },
+ {
+ "teal": 1257,
+ "source": 137,
+ "pc": [
+ 1233
+ ]
+ },
+ {
+ "teal": 1260,
+ "source": 137,
+ "errorMessage": "(btobigint(x) + btobigint(y)) as uint64 overflowed 64 bits",
+ "pc": [
+ 1234
+ ]
+ },
+ {
+ "teal": 1261,
+ "source": 137,
+ "pc": [
+ 1235,
+ 1236
+ ]
+ },
+ {
+ "teal": 1262,
+ "source": 137,
+ "pc": [
+ 1237
+ ]
+ },
+ {
+ "teal": 1263,
+ "source": 137,
+ "pc": [
+ 1238
+ ]
+ },
+ {
+ "teal": 1264,
+ "source": 137,
+ "pc": [
+ 1239
+ ]
+ },
+ {
+ "teal": 1265,
+ "source": 137,
+ "pc": [
+ 1240
+ ]
+ },
+ {
+ "teal": 1266,
+ "source": 137,
+ "pc": [
+ 1241
+ ]
+ },
+ {
+ "teal": 1267,
+ "source": 137,
+ "pc": [
+ 1242
+ ]
+ },
+ {
+ "teal": 1268,
+ "source": 137,
+ "pc": [
+ 1243
+ ]
+ },
+ {
+ "teal": 1269,
+ "source": 137,
+ "pc": [
+ 1244
+ ]
+ },
+ {
+ "teal": 1270,
+ "source": 137,
+ "pc": [
+ 1245
+ ]
+ },
+ {
+ "teal": 1273,
+ "source": 134,
+ "pc": [
+ 1246,
+ 1247
+ ]
+ },
+ {
+ "teal": 1276,
+ "source": 134,
+ "pc": [
+ 1248,
+ 1249
+ ]
+ },
+ {
+ "teal": 1277,
+ "source": 134,
+ "pc": [
+ 1250
+ ]
+ },
+ {
+ "teal": 1282,
+ "source": 140,
+ "pc": [
+ 1251
+ ]
+ },
+ {
+ "teal": 1285,
+ "source": 140,
+ "pc": [
+ 1252,
+ 1253,
+ 1254
+ ]
+ },
+ {
+ "teal": 1286,
+ "source": 140,
+ "pc": [
+ 1255
+ ]
+ },
+ {
+ "teal": 1289,
+ "source": 140,
+ "pc": [
+ 1256,
+ 1257,
+ 1258
+ ]
+ },
+ {
+ "teal": 1290,
+ "source": 140,
+ "pc": [
+ 1259
+ ]
+ },
+ {
+ "teal": 1293,
+ "source": 140,
+ "pc": [
+ 1260,
+ 1261,
+ 1262
+ ]
+ },
+ {
+ "teal": 1294,
+ "source": 140,
+ "pc": [
+ 1263
+ ]
+ },
+ {
+ "teal": 1295,
+ "source": 140,
+ "pc": [
+ 1264
+ ]
+ },
+ {
+ "teal": 1296,
+ "source": 140,
+ "pc": [
+ 1265
+ ]
+ },
+ {
+ "teal": 1297,
+ "source": 140,
+ "pc": [
+ 1266
+ ]
+ },
+ {
+ "teal": 1298,
+ "source": 140,
+ "pc": [
+ 1267
+ ]
+ },
+ {
+ "teal": 1302,
+ "source": 140,
+ "pc": [
+ 1268,
+ 1269,
+ 1270
+ ]
+ },
+ {
+ "teal": 1306,
+ "source": 141,
+ "pc": [
+ 1271,
+ 1272
+ ]
+ },
+ {
+ "teal": 1307,
+ "source": 141,
+ "pc": [
+ 1273,
+ 1274
+ ]
+ },
+ {
+ "teal": 1308,
+ "source": 141,
+ "pc": [
+ 1275
+ ]
+ },
+ {
+ "teal": 1309,
+ "source": 140,
+ "pc": [
+ 1276
+ ]
+ },
+ {
+ "teal": 1314,
+ "source": 144,
+ "pc": [
+ 1277
+ ]
+ },
+ {
+ "teal": 1317,
+ "source": 144,
+ "pc": [
+ 1278,
+ 1279,
+ 1280
+ ]
+ },
+ {
+ "teal": 1318,
+ "source": 144,
+ "pc": [
+ 1281
+ ]
+ },
+ {
+ "teal": 1321,
+ "source": 144,
+ "pc": [
+ 1282,
+ 1283,
+ 1284
+ ]
+ },
+ {
+ "teal": 1322,
+ "source": 144,
+ "pc": [
+ 1285
+ ]
+ },
+ {
+ "teal": 1325,
+ "source": 144,
+ "pc": [
+ 1286,
+ 1287,
+ 1288
+ ]
+ },
+ {
+ "teal": 1326,
+ "source": 144,
+ "pc": [
+ 1289
+ ]
+ },
+ {
+ "teal": 1327,
+ "source": 144,
+ "pc": [
+ 1290
+ ]
+ },
+ {
+ "teal": 1328,
+ "source": 144,
+ "pc": [
+ 1291
+ ]
+ },
+ {
+ "teal": 1329,
+ "source": 144,
+ "pc": [
+ 1292
+ ]
+ },
+ {
+ "teal": 1330,
+ "source": 144,
+ "pc": [
+ 1293
+ ]
+ },
+ {
+ "teal": 1334,
+ "source": 144,
+ "pc": [
+ 1294,
+ 1295,
+ 1296
+ ]
+ },
+ {
+ "teal": 1338,
+ "source": 145,
+ "pc": [
+ 1297,
+ 1298
+ ]
+ },
+ {
+ "teal": 1339,
+ "source": 145,
+ "pc": [
+ 1299,
+ 1300
+ ]
+ },
+ {
+ "teal": 1340,
+ "source": 145,
+ "pc": [
+ 1301
+ ]
+ },
+ {
+ "teal": 1341,
+ "source": 144,
+ "pc": [
+ 1302
+ ]
+ },
+ {
+ "teal": 1346,
+ "source": 148,
+ "pc": [
+ 1303
+ ]
+ },
+ {
+ "teal": 1349,
+ "source": 148,
+ "pc": [
+ 1304,
+ 1305,
+ 1306
+ ]
+ },
+ {
+ "teal": 1350,
+ "source": 148,
+ "pc": [
+ 1307
+ ]
+ },
+ {
+ "teal": 1353,
+ "source": 148,
+ "pc": [
+ 1308,
+ 1309,
+ 1310
+ ]
+ },
+ {
+ "teal": 1354,
+ "source": 148,
+ "pc": [
+ 1311
+ ]
+ },
+ {
+ "teal": 1357,
+ "source": 148,
+ "pc": [
+ 1312,
+ 1313,
+ 1314
+ ]
+ },
+ {
+ "teal": 1358,
+ "source": 148,
+ "pc": [
+ 1315
+ ]
+ },
+ {
+ "teal": 1359,
+ "source": 148,
+ "pc": [
+ 1316
+ ]
+ },
+ {
+ "teal": 1360,
+ "source": 148,
+ "pc": [
+ 1317
+ ]
+ },
+ {
+ "teal": 1361,
+ "source": 148,
+ "pc": [
+ 1318
+ ]
+ },
+ {
+ "teal": 1362,
+ "source": 148,
+ "pc": [
+ 1319
+ ]
+ },
+ {
+ "teal": 1366,
+ "source": 148,
+ "pc": [
+ 1320,
+ 1321,
+ 1322
+ ]
+ },
+ {
+ "teal": 1370,
+ "source": 149,
+ "pc": [
+ 1323,
+ 1324
+ ]
+ },
+ {
+ "teal": 1371,
+ "source": 149,
+ "pc": [
+ 1325,
+ 1326
+ ]
+ },
+ {
+ "teal": 1372,
+ "source": 149,
+ "pc": [
+ 1327
+ ]
+ },
+ {
+ "teal": 1373,
+ "source": 148,
+ "pc": [
+ 1328
+ ]
+ },
+ {
+ "teal": 1378,
+ "source": 152,
+ "pc": [
+ 1329
+ ]
+ },
+ {
+ "teal": 1381,
+ "source": 152,
+ "pc": [
+ 1330,
+ 1331,
+ 1332
+ ]
+ },
+ {
+ "teal": 1382,
+ "source": 152,
+ "pc": [
+ 1333
+ ]
+ },
+ {
+ "teal": 1383,
+ "source": 152,
+ "pc": [
+ 1334
+ ]
+ },
+ {
+ "teal": 1384,
+ "source": 152,
+ "pc": [
+ 1335
+ ]
+ },
+ {
+ "teal": 1385,
+ "source": 152,
+ "pc": [
+ 1336
+ ]
+ },
+ {
+ "teal": 1388,
+ "source": 152,
+ "errorMessage": "argument 0 (b) for bitwiseOrU256 must be a uint256",
+ "pc": [
+ 1337
+ ]
+ },
+ {
+ "teal": 1391,
+ "source": 152,
+ "pc": [
+ 1338,
+ 1339,
+ 1340
+ ]
+ },
+ {
+ "teal": 1392,
+ "source": 152,
+ "pc": [
+ 1341
+ ]
+ },
+ {
+ "teal": 1393,
+ "source": 152,
+ "pc": [
+ 1342
+ ]
+ },
+ {
+ "teal": 1394,
+ "source": 152,
+ "pc": [
+ 1343
+ ]
+ },
+ {
+ "teal": 1395,
+ "source": 152,
+ "pc": [
+ 1344
+ ]
+ },
+ {
+ "teal": 1398,
+ "source": 152,
+ "errorMessage": "argument 1 (a) for bitwiseOrU256 must be a uint256",
+ "pc": [
+ 1345
+ ]
+ },
+ {
+ "teal": 1401,
+ "source": 152,
+ "pc": [
+ 1346,
+ 1347,
+ 1348
+ ]
+ },
+ {
+ "teal": 1402,
+ "source": 152,
+ "pc": [
+ 1349
+ ]
+ },
+ {
+ "teal": 1403,
+ "source": 152,
+ "pc": [
+ 1350
+ ]
+ },
+ {
+ "teal": 1404,
+ "source": 152,
+ "pc": [
+ 1351
+ ]
+ },
+ {
+ "teal": 1405,
+ "source": 152,
+ "pc": [
+ 1352
+ ]
+ },
+ {
+ "teal": 1408,
+ "source": 152,
+ "errorMessage": "bitwiseOrU256 return value overflowed 256 bits",
+ "pc": [
+ 1353
+ ]
+ },
+ {
+ "teal": 1409,
+ "source": 152,
+ "pc": [
+ 1354
+ ]
+ },
+ {
+ "teal": 1410,
+ "source": 152,
+ "pc": [
+ 1355
+ ]
+ },
+ {
+ "teal": 1411,
+ "source": 152,
+ "pc": [
+ 1356
+ ]
+ },
+ {
+ "teal": 1412,
+ "source": 152,
+ "pc": [
+ 1357
+ ]
+ },
+ {
+ "teal": 1413,
+ "source": 152,
+ "pc": [
+ 1358
+ ]
+ },
+ {
+ "teal": 1414,
+ "source": 152,
+ "pc": [
+ 1359
+ ]
+ },
+ {
+ "teal": 1415,
+ "source": 152,
+ "pc": [
+ 1360
+ ]
+ },
+ {
+ "teal": 1416,
+ "source": 152,
+ "pc": [
+ 1361
+ ]
+ },
+ {
+ "teal": 1417,
+ "source": 152,
+ "pc": [
+ 1362
+ ]
+ },
+ {
+ "teal": 1418,
+ "source": 152,
+ "pc": [
+ 1363
+ ]
+ },
+ {
+ "teal": 1419,
+ "source": 152,
+ "pc": [
+ 1364
+ ]
+ },
+ {
+ "teal": 1420,
+ "source": 152,
+ "pc": [
+ 1365
+ ]
+ },
+ {
+ "teal": 1421,
+ "source": 152,
+ "pc": [
+ 1366
+ ]
+ },
+ {
+ "teal": 1425,
+ "source": 152,
+ "pc": [
+ 1367,
+ 1368,
+ 1369
+ ]
+ },
+ {
+ "teal": 1429,
+ "source": 153,
+ "pc": [
+ 1370,
+ 1371
+ ]
+ },
+ {
+ "teal": 1430,
+ "source": 153,
+ "pc": [
+ 1372,
+ 1373
+ ]
+ },
+ {
+ "teal": 1431,
+ "source": 153,
+ "pc": [
+ 1374
+ ]
+ },
+ {
+ "teal": 1432,
+ "source": 152,
+ "pc": [
+ 1375
+ ]
+ },
+ {
+ "teal": 1437,
+ "source": 156,
+ "pc": [
+ 1376
+ ]
+ },
+ {
+ "teal": 1440,
+ "source": 156,
+ "pc": [
+ 1377,
+ 1378,
+ 1379
+ ]
+ },
+ {
+ "teal": 1441,
+ "source": 156,
+ "pc": [
+ 1380
+ ]
+ },
+ {
+ "teal": 1442,
+ "source": 156,
+ "pc": [
+ 1381
+ ]
+ },
+ {
+ "teal": 1443,
+ "source": 156,
+ "pc": [
+ 1382
+ ]
+ },
+ {
+ "teal": 1444,
+ "source": 156,
+ "pc": [
+ 1383
+ ]
+ },
+ {
+ "teal": 1447,
+ "source": 156,
+ "errorMessage": "argument 0 (b) for bitwiseAndU256 must be a uint256",
+ "pc": [
+ 1384
+ ]
+ },
+ {
+ "teal": 1450,
+ "source": 156,
+ "pc": [
+ 1385,
+ 1386,
+ 1387
+ ]
+ },
+ {
+ "teal": 1451,
+ "source": 156,
+ "pc": [
+ 1388
+ ]
+ },
+ {
+ "teal": 1452,
+ "source": 156,
+ "pc": [
+ 1389
+ ]
+ },
+ {
+ "teal": 1453,
+ "source": 156,
+ "pc": [
+ 1390
+ ]
+ },
+ {
+ "teal": 1454,
+ "source": 156,
+ "pc": [
+ 1391
+ ]
+ },
+ {
+ "teal": 1457,
+ "source": 156,
+ "errorMessage": "argument 1 (a) for bitwiseAndU256 must be a uint256",
+ "pc": [
+ 1392
+ ]
+ },
+ {
+ "teal": 1460,
+ "source": 156,
+ "pc": [
+ 1393,
+ 1394,
+ 1395
+ ]
+ },
+ {
+ "teal": 1461,
+ "source": 156,
+ "pc": [
+ 1396
+ ]
+ },
+ {
+ "teal": 1462,
+ "source": 156,
+ "pc": [
+ 1397
+ ]
+ },
+ {
+ "teal": 1463,
+ "source": 156,
+ "pc": [
+ 1398
+ ]
+ },
+ {
+ "teal": 1464,
+ "source": 156,
+ "pc": [
+ 1399
+ ]
+ },
+ {
+ "teal": 1467,
+ "source": 156,
+ "errorMessage": "bitwiseAndU256 return value overflowed 256 bits",
+ "pc": [
+ 1400
+ ]
+ },
+ {
+ "teal": 1468,
+ "source": 156,
+ "pc": [
+ 1401
+ ]
+ },
+ {
+ "teal": 1469,
+ "source": 156,
+ "pc": [
+ 1402
+ ]
+ },
+ {
+ "teal": 1470,
+ "source": 156,
+ "pc": [
+ 1403
+ ]
+ },
+ {
+ "teal": 1471,
+ "source": 156,
+ "pc": [
+ 1404
+ ]
+ },
+ {
+ "teal": 1472,
+ "source": 156,
+ "pc": [
+ 1405
+ ]
+ },
+ {
+ "teal": 1473,
+ "source": 156,
+ "pc": [
+ 1406
+ ]
+ },
+ {
+ "teal": 1474,
+ "source": 156,
+ "pc": [
+ 1407
+ ]
+ },
+ {
+ "teal": 1475,
+ "source": 156,
+ "pc": [
+ 1408
+ ]
+ },
+ {
+ "teal": 1476,
+ "source": 156,
+ "pc": [
+ 1409
+ ]
+ },
+ {
+ "teal": 1477,
+ "source": 156,
+ "pc": [
+ 1410
+ ]
+ },
+ {
+ "teal": 1478,
+ "source": 156,
+ "pc": [
+ 1411
+ ]
+ },
+ {
+ "teal": 1479,
+ "source": 156,
+ "pc": [
+ 1412
+ ]
+ },
+ {
+ "teal": 1480,
+ "source": 156,
+ "pc": [
+ 1413
+ ]
+ },
+ {
+ "teal": 1484,
+ "source": 156,
+ "pc": [
+ 1414,
+ 1415,
+ 1416
+ ]
+ },
+ {
+ "teal": 1488,
+ "source": 157,
+ "pc": [
+ 1417,
+ 1418
+ ]
+ },
+ {
+ "teal": 1489,
+ "source": 157,
+ "pc": [
+ 1419,
+ 1420
+ ]
+ },
+ {
+ "teal": 1490,
+ "source": 157,
+ "pc": [
+ 1421
+ ]
+ },
+ {
+ "teal": 1491,
+ "source": 156,
+ "pc": [
+ 1422
+ ]
+ },
+ {
+ "teal": 1496,
+ "source": 160,
+ "pc": [
+ 1423
+ ]
+ },
+ {
+ "teal": 1499,
+ "source": 160,
+ "pc": [
+ 1424,
+ 1425,
+ 1426
+ ]
+ },
+ {
+ "teal": 1500,
+ "source": 160,
+ "pc": [
+ 1427
+ ]
+ },
+ {
+ "teal": 1501,
+ "source": 160,
+ "pc": [
+ 1428
+ ]
+ },
+ {
+ "teal": 1502,
+ "source": 160,
+ "pc": [
+ 1429
+ ]
+ },
+ {
+ "teal": 1503,
+ "source": 160,
+ "pc": [
+ 1430
+ ]
+ },
+ {
+ "teal": 1506,
+ "source": 160,
+ "errorMessage": "argument 0 (b) for bitwiseXorU256 must be a uint256",
+ "pc": [
+ 1431
+ ]
+ },
+ {
+ "teal": 1509,
+ "source": 160,
+ "pc": [
+ 1432,
+ 1433,
+ 1434
+ ]
+ },
+ {
+ "teal": 1510,
+ "source": 160,
+ "pc": [
+ 1435
+ ]
+ },
+ {
+ "teal": 1511,
+ "source": 160,
+ "pc": [
+ 1436
+ ]
+ },
+ {
+ "teal": 1512,
+ "source": 160,
+ "pc": [
+ 1437
+ ]
+ },
+ {
+ "teal": 1513,
+ "source": 160,
+ "pc": [
+ 1438
+ ]
+ },
+ {
+ "teal": 1516,
+ "source": 160,
+ "errorMessage": "argument 1 (a) for bitwiseXorU256 must be a uint256",
+ "pc": [
+ 1439
+ ]
+ },
+ {
+ "teal": 1519,
+ "source": 160,
+ "pc": [
+ 1440,
+ 1441,
+ 1442
+ ]
+ },
+ {
+ "teal": 1520,
+ "source": 160,
+ "pc": [
+ 1443
+ ]
+ },
+ {
+ "teal": 1521,
+ "source": 160,
+ "pc": [
+ 1444
+ ]
+ },
+ {
+ "teal": 1522,
+ "source": 160,
+ "pc": [
+ 1445
+ ]
+ },
+ {
+ "teal": 1523,
+ "source": 160,
+ "pc": [
+ 1446
+ ]
+ },
+ {
+ "teal": 1526,
+ "source": 160,
+ "errorMessage": "bitwiseXorU256 return value overflowed 256 bits",
+ "pc": [
+ 1447
+ ]
+ },
+ {
+ "teal": 1527,
+ "source": 160,
+ "pc": [
+ 1448
+ ]
+ },
+ {
+ "teal": 1528,
+ "source": 160,
+ "pc": [
+ 1449
+ ]
+ },
+ {
+ "teal": 1529,
+ "source": 160,
+ "pc": [
+ 1450
+ ]
+ },
+ {
+ "teal": 1530,
+ "source": 160,
+ "pc": [
+ 1451
+ ]
+ },
+ {
+ "teal": 1531,
+ "source": 160,
+ "pc": [
+ 1452
+ ]
+ },
+ {
+ "teal": 1532,
+ "source": 160,
+ "pc": [
+ 1453
+ ]
+ },
+ {
+ "teal": 1533,
+ "source": 160,
+ "pc": [
+ 1454
+ ]
+ },
+ {
+ "teal": 1534,
+ "source": 160,
+ "pc": [
+ 1455
+ ]
+ },
+ {
+ "teal": 1535,
+ "source": 160,
+ "pc": [
+ 1456
+ ]
+ },
+ {
+ "teal": 1536,
+ "source": 160,
+ "pc": [
+ 1457
+ ]
+ },
+ {
+ "teal": 1537,
+ "source": 160,
+ "pc": [
+ 1458
+ ]
+ },
+ {
+ "teal": 1538,
+ "source": 160,
+ "pc": [
+ 1459
+ ]
+ },
+ {
+ "teal": 1539,
+ "source": 160,
+ "pc": [
+ 1460
+ ]
+ },
+ {
+ "teal": 1543,
+ "source": 160,
+ "pc": [
+ 1461,
+ 1462,
+ 1463
+ ]
+ },
+ {
+ "teal": 1547,
+ "source": 161,
+ "pc": [
+ 1464,
+ 1465
+ ]
+ },
+ {
+ "teal": 1548,
+ "source": 161,
+ "pc": [
+ 1466,
+ 1467
+ ]
+ },
+ {
+ "teal": 1549,
+ "source": 161,
+ "pc": [
+ 1468
+ ]
+ },
+ {
+ "teal": 1550,
+ "source": 160,
+ "pc": [
+ 1469
+ ]
+ },
+ {
+ "teal": 1555,
+ "source": 164,
+ "pc": [
+ 1470
+ ]
+ },
+ {
+ "teal": 1558,
+ "source": 164,
+ "pc": [
+ 1471,
+ 1472,
+ 1473
+ ]
+ },
+ {
+ "teal": 1559,
+ "source": 164,
+ "pc": [
+ 1474
+ ]
+ },
+ {
+ "teal": 1562,
+ "source": 164,
+ "pc": [
+ 1475,
+ 1476,
+ 1477
+ ]
+ },
+ {
+ "teal": 1563,
+ "source": 164,
+ "pc": [
+ 1478
+ ]
+ },
+ {
+ "teal": 1564,
+ "source": 164,
+ "pc": [
+ 1479
+ ]
+ },
+ {
+ "teal": 1565,
+ "source": 164,
+ "pc": [
+ 1480
+ ]
+ },
+ {
+ "teal": 1566,
+ "source": 164,
+ "pc": [
+ 1481
+ ]
+ },
+ {
+ "teal": 1567,
+ "source": 164,
+ "pc": [
+ 1482
+ ]
+ },
+ {
+ "teal": 1571,
+ "source": 164,
+ "pc": [
+ 1483,
+ 1484,
+ 1485
+ ]
+ },
+ {
+ "teal": 1575,
+ "source": 165,
+ "pc": [
+ 1486,
+ 1487
+ ]
+ },
+ {
+ "teal": 1576,
+ "source": 165,
+ "pc": [
+ 1488
+ ]
+ },
+ {
+ "teal": 1577,
+ "source": 164,
+ "pc": [
+ 1489
+ ]
+ },
+ {
+ "teal": 1582,
+ "source": 168,
+ "pc": [
+ 1490
+ ]
+ },
+ {
+ "teal": 1585,
+ "source": 168,
+ "pc": [
+ 1491,
+ 1492,
+ 1493
+ ]
+ },
+ {
+ "teal": 1586,
+ "source": 168,
+ "pc": [
+ 1494
+ ]
+ },
+ {
+ "teal": 1587,
+ "source": 168,
+ "pc": [
+ 1495
+ ]
+ },
+ {
+ "teal": 1588,
+ "source": 168,
+ "pc": [
+ 1496
+ ]
+ },
+ {
+ "teal": 1589,
+ "source": 168,
+ "pc": [
+ 1497
+ ]
+ },
+ {
+ "teal": 1592,
+ "source": 168,
+ "errorMessage": "argument 0 (a) for bitwiseNotU256 must be a uint256",
+ "pc": [
+ 1498
+ ]
+ },
+ {
+ "teal": 1595,
+ "source": 168,
+ "pc": [
+ 1499,
+ 1500,
+ 1501
+ ]
+ },
+ {
+ "teal": 1596,
+ "source": 168,
+ "pc": [
+ 1502
+ ]
+ },
+ {
+ "teal": 1597,
+ "source": 168,
+ "pc": [
+ 1503
+ ]
+ },
+ {
+ "teal": 1598,
+ "source": 168,
+ "pc": [
+ 1504
+ ]
+ },
+ {
+ "teal": 1599,
+ "source": 168,
+ "pc": [
+ 1505
+ ]
+ },
+ {
+ "teal": 1602,
+ "source": 168,
+ "errorMessage": "bitwiseNotU256 return value overflowed 256 bits",
+ "pc": [
+ 1506
+ ]
+ },
+ {
+ "teal": 1603,
+ "source": 168,
+ "pc": [
+ 1507
+ ]
+ },
+ {
+ "teal": 1604,
+ "source": 168,
+ "pc": [
+ 1508
+ ]
+ },
+ {
+ "teal": 1605,
+ "source": 168,
+ "pc": [
+ 1509
+ ]
+ },
+ {
+ "teal": 1606,
+ "source": 168,
+ "pc": [
+ 1510
+ ]
+ },
+ {
+ "teal": 1607,
+ "source": 168,
+ "pc": [
+ 1511
+ ]
+ },
+ {
+ "teal": 1608,
+ "source": 168,
+ "pc": [
+ 1512
+ ]
+ },
+ {
+ "teal": 1609,
+ "source": 168,
+ "pc": [
+ 1513
+ ]
+ },
+ {
+ "teal": 1610,
+ "source": 168,
+ "pc": [
+ 1514
+ ]
+ },
+ {
+ "teal": 1611,
+ "source": 168,
+ "pc": [
+ 1515
+ ]
+ },
+ {
+ "teal": 1612,
+ "source": 168,
+ "pc": [
+ 1516
+ ]
+ },
+ {
+ "teal": 1613,
+ "source": 168,
+ "pc": [
+ 1517
+ ]
+ },
+ {
+ "teal": 1614,
+ "source": 168,
+ "pc": [
+ 1518
+ ]
+ },
+ {
+ "teal": 1615,
+ "source": 168,
+ "pc": [
+ 1519
+ ]
+ },
+ {
+ "teal": 1619,
+ "source": 168,
+ "pc": [
+ 1520,
+ 1521,
+ 1522
+ ]
+ },
+ {
+ "teal": 1623,
+ "source": 169,
+ "pc": [
+ 1523,
+ 1524
+ ]
+ },
+ {
+ "teal": 1624,
+ "source": 169,
+ "pc": [
+ 1525
+ ]
+ },
+ {
+ "teal": 1625,
+ "source": 168,
+ "pc": [
+ 1526
+ ]
+ },
+ {
+ "teal": 1630,
+ "source": 172,
+ "pc": [
+ 1527
+ ]
+ },
+ {
+ "teal": 1633,
+ "source": 172,
+ "pc": [
+ 1528,
+ 1529,
+ 1530
+ ]
+ },
+ {
+ "teal": 1634,
+ "source": 172,
+ "pc": [
+ 1531
+ ]
+ },
+ {
+ "teal": 1637,
+ "source": 172,
+ "pc": [
+ 1532,
+ 1533,
+ 1534
+ ]
+ },
+ {
+ "teal": 1638,
+ "source": 172,
+ "pc": [
+ 1535
+ ]
+ },
+ {
+ "teal": 1641,
+ "source": 172,
+ "pc": [
+ 1536,
+ 1537,
+ 1538
+ ]
+ },
+ {
+ "teal": 1642,
+ "source": 172,
+ "pc": [
+ 1539
+ ]
+ },
+ {
+ "teal": 1643,
+ "source": 172,
+ "pc": [
+ 1540
+ ]
+ },
+ {
+ "teal": 1644,
+ "source": 172,
+ "pc": [
+ 1541
+ ]
+ },
+ {
+ "teal": 1645,
+ "source": 172,
+ "pc": [
+ 1542
+ ]
+ },
+ {
+ "teal": 1646,
+ "source": 172,
+ "pc": [
+ 1543
+ ]
+ },
+ {
+ "teal": 1650,
+ "source": 172,
+ "pc": [
+ 1544,
+ 1545,
+ 1546
+ ]
+ },
+ {
+ "teal": 1653,
+ "source": 172,
+ "pc": [
+ 1547
+ ]
+ },
+ {
+ "teal": 1654,
+ "source": 172,
+ "pc": [
+ 1548
+ ]
+ },
+ {
+ "teal": 1658,
+ "source": 173,
+ "pc": [
+ 1549,
+ 1550
+ ]
+ },
+ {
+ "teal": 1659,
+ "source": 173,
+ "pc": [
+ 1551,
+ 1552
+ ]
+ },
+ {
+ "teal": 1660,
+ "source": 173,
+ "pc": [
+ 1553
+ ]
+ },
+ {
+ "teal": 1661,
+ "source": 173,
+ "pc": [
+ 1554,
+ 1555
+ ]
+ },
+ {
+ "teal": 1662,
+ "source": 173,
+ "pc": [
+ 1556,
+ 1557
+ ]
+ },
+ {
+ "teal": 1666,
+ "source": 177,
+ "pc": [
+ 1558,
+ 1559
+ ]
+ },
+ {
+ "teal": 1669,
+ "source": 172,
+ "pc": [
+ 1560,
+ 1561
+ ]
+ },
+ {
+ "teal": 1672,
+ "source": 172,
+ "pc": [
+ 1562,
+ 1563
+ ]
+ },
+ {
+ "teal": 1673,
+ "source": 172,
+ "pc": [
+ 1564
+ ]
+ },
+ {
+ "teal": 1678,
+ "source": 180,
+ "pc": [
+ 1565
+ ]
+ },
+ {
+ "teal": 1681,
+ "source": 180,
+ "pc": [
+ 1566,
+ 1567,
+ 1568
+ ]
+ },
+ {
+ "teal": 1682,
+ "source": 180,
+ "pc": [
+ 1569
+ ]
+ },
+ {
+ "teal": 1685,
+ "source": 180,
+ "pc": [
+ 1570,
+ 1571,
+ 1572
+ ]
+ },
+ {
+ "teal": 1686,
+ "source": 180,
+ "pc": [
+ 1573
+ ]
+ },
+ {
+ "teal": 1689,
+ "source": 180,
+ "pc": [
+ 1574,
+ 1575,
+ 1576
+ ]
+ },
+ {
+ "teal": 1690,
+ "source": 180,
+ "pc": [
+ 1577
+ ]
+ },
+ {
+ "teal": 1691,
+ "source": 180,
+ "pc": [
+ 1578
+ ]
+ },
+ {
+ "teal": 1692,
+ "source": 180,
+ "pc": [
+ 1579
+ ]
+ },
+ {
+ "teal": 1693,
+ "source": 180,
+ "pc": [
+ 1580
+ ]
+ },
+ {
+ "teal": 1694,
+ "source": 180,
+ "pc": [
+ 1581
+ ]
+ },
+ {
+ "teal": 1698,
+ "source": 180,
+ "pc": [
+ 1582,
+ 1583,
+ 1584
+ ]
+ },
+ {
+ "teal": 1701,
+ "source": 180,
+ "pc": [
+ 1585
+ ]
+ },
+ {
+ "teal": 1702,
+ "source": 180,
+ "pc": [
+ 1586
+ ]
+ },
+ {
+ "teal": 1706,
+ "source": 181,
+ "pc": [
+ 1587,
+ 1588
+ ]
+ },
+ {
+ "teal": 1707,
+ "source": 181,
+ "pc": [
+ 1589,
+ 1590
+ ]
+ },
+ {
+ "teal": 1708,
+ "source": 181,
+ "pc": [
+ 1591
+ ]
+ },
+ {
+ "teal": 1709,
+ "source": 181,
+ "pc": [
+ 1592,
+ 1593
+ ]
+ },
+ {
+ "teal": 1710,
+ "source": 181,
+ "pc": [
+ 1594,
+ 1595
+ ]
+ },
+ {
+ "teal": 1714,
+ "source": 185,
+ "pc": [
+ 1596,
+ 1597
+ ]
+ },
+ {
+ "teal": 1717,
+ "source": 180,
+ "pc": [
+ 1598,
+ 1599
+ ]
+ },
+ {
+ "teal": 1720,
+ "source": 180,
+ "pc": [
+ 1600,
+ 1601
+ ]
+ },
+ {
+ "teal": 1721,
+ "source": 180,
+ "pc": [
+ 1602
+ ]
+ },
+ {
+ "teal": 1726,
+ "source": 188,
+ "pc": [
+ 1603
+ ]
+ },
+ {
+ "teal": 1729,
+ "source": 188,
+ "pc": [
+ 1604,
+ 1605,
+ 1606
+ ]
+ },
+ {
+ "teal": 1730,
+ "source": 188,
+ "pc": [
+ 1607
+ ]
+ },
+ {
+ "teal": 1733,
+ "source": 188,
+ "pc": [
+ 1608,
+ 1609,
+ 1610
+ ]
+ },
+ {
+ "teal": 1734,
+ "source": 188,
+ "pc": [
+ 1611
+ ]
+ },
+ {
+ "teal": 1737,
+ "source": 188,
+ "pc": [
+ 1612,
+ 1613,
+ 1614
+ ]
+ },
+ {
+ "teal": 1738,
+ "source": 188,
+ "pc": [
+ 1615
+ ]
+ },
+ {
+ "teal": 1739,
+ "source": 188,
+ "pc": [
+ 1616
+ ]
+ },
+ {
+ "teal": 1740,
+ "source": 188,
+ "pc": [
+ 1617
+ ]
+ },
+ {
+ "teal": 1741,
+ "source": 188,
+ "pc": [
+ 1618
+ ]
+ },
+ {
+ "teal": 1742,
+ "source": 188,
+ "pc": [
+ 1619
+ ]
+ },
+ {
+ "teal": 1746,
+ "source": 188,
+ "pc": [
+ 1620,
+ 1621,
+ 1622
+ ]
+ },
+ {
+ "teal": 1749,
+ "source": 188,
+ "pc": [
+ 1623
+ ]
+ },
+ {
+ "teal": 1750,
+ "source": 188,
+ "pc": [
+ 1624
+ ]
+ },
+ {
+ "teal": 1754,
+ "source": 189,
+ "pc": [
+ 1625,
+ 1626
+ ]
+ },
+ {
+ "teal": 1755,
+ "source": 189,
+ "pc": [
+ 1627,
+ 1628
+ ]
+ },
+ {
+ "teal": 1756,
+ "source": 189,
+ "pc": [
+ 1629
+ ]
+ },
+ {
+ "teal": 1757,
+ "source": 189,
+ "pc": [
+ 1630,
+ 1631
+ ]
+ },
+ {
+ "teal": 1758,
+ "source": 189,
+ "pc": [
+ 1632,
+ 1633
+ ]
+ },
+ {
+ "teal": 1762,
+ "source": 193,
+ "pc": [
+ 1634,
+ 1635
+ ]
+ },
+ {
+ "teal": 1765,
+ "source": 188,
+ "pc": [
+ 1636,
+ 1637
+ ]
+ },
+ {
+ "teal": 1768,
+ "source": 188,
+ "pc": [
+ 1638,
+ 1639
+ ]
+ },
+ {
+ "teal": 1769,
+ "source": 188,
+ "pc": [
+ 1640
+ ]
+ },
+ {
+ "teal": 1774,
+ "source": 196,
+ "pc": [
+ 1641
+ ]
+ },
+ {
+ "teal": 1777,
+ "source": 196,
+ "pc": [
+ 1642,
+ 1643,
+ 1644
+ ]
+ },
+ {
+ "teal": 1778,
+ "source": 196,
+ "pc": [
+ 1645
+ ]
+ },
+ {
+ "teal": 1781,
+ "source": 196,
+ "pc": [
+ 1646,
+ 1647,
+ 1648
+ ]
+ },
+ {
+ "teal": 1782,
+ "source": 196,
+ "pc": [
+ 1649
+ ]
+ },
+ {
+ "teal": 1785,
+ "source": 196,
+ "pc": [
+ 1650,
+ 1651,
+ 1652
+ ]
+ },
+ {
+ "teal": 1786,
+ "source": 196,
+ "pc": [
+ 1653
+ ]
+ },
+ {
+ "teal": 1787,
+ "source": 196,
+ "pc": [
+ 1654
+ ]
+ },
+ {
+ "teal": 1788,
+ "source": 196,
+ "pc": [
+ 1655
+ ]
+ },
+ {
+ "teal": 1789,
+ "source": 196,
+ "pc": [
+ 1656
+ ]
+ },
+ {
+ "teal": 1790,
+ "source": 196,
+ "pc": [
+ 1657
+ ]
+ },
+ {
+ "teal": 1794,
+ "source": 196,
+ "pc": [
+ 1658,
+ 1659,
+ 1660
+ ]
+ },
+ {
+ "teal": 1798,
+ "source": 197,
+ "pc": [
+ 1661,
+ 1662
+ ]
+ },
+ {
+ "teal": 1799,
+ "source": 197,
+ "pc": [
+ 1663,
+ 1664
+ ]
+ },
+ {
+ "teal": 1800,
+ "source": 197,
+ "pc": [
+ 1665,
+ 1666
+ ]
+ },
+ {
+ "teal": 1801,
+ "source": 197,
+ "pc": [
+ 1667
+ ]
+ },
+ {
+ "teal": 1802,
+ "source": 196,
+ "pc": [
+ 1668
+ ]
+ },
+ {
+ "teal": 1807,
+ "source": 200,
+ "pc": [
+ 1669
+ ]
+ },
+ {
+ "teal": 1810,
+ "source": 200,
+ "pc": [
+ 1670,
+ 1671,
+ 1672
+ ]
+ },
+ {
+ "teal": 1811,
+ "source": 200,
+ "pc": [
+ 1673
+ ]
+ },
+ {
+ "teal": 1814,
+ "source": 200,
+ "pc": [
+ 1674,
+ 1675,
+ 1676
+ ]
+ },
+ {
+ "teal": 1815,
+ "source": 200,
+ "pc": [
+ 1677
+ ]
+ },
+ {
+ "teal": 1818,
+ "source": 200,
+ "pc": [
+ 1678,
+ 1679,
+ 1680
+ ]
+ },
+ {
+ "teal": 1819,
+ "source": 200,
+ "pc": [
+ 1681
+ ]
+ },
+ {
+ "teal": 1820,
+ "source": 200,
+ "pc": [
+ 1682
+ ]
+ },
+ {
+ "teal": 1821,
+ "source": 200,
+ "pc": [
+ 1683
+ ]
+ },
+ {
+ "teal": 1822,
+ "source": 200,
+ "pc": [
+ 1684
+ ]
+ },
+ {
+ "teal": 1823,
+ "source": 200,
+ "pc": [
+ 1685
+ ]
+ },
+ {
+ "teal": 1827,
+ "source": 200,
+ "pc": [
+ 1686,
+ 1687,
+ 1688
+ ]
+ },
+ {
+ "teal": 1830,
+ "source": 200,
+ "pc": [
+ 1689
+ ]
+ },
+ {
+ "teal": 1831,
+ "source": 200,
+ "pc": [
+ 1690,
+ 1691
+ ]
+ },
+ {
+ "teal": 1835,
+ "source": 201,
+ "pc": [
+ 1692,
+ 1693
+ ]
+ },
+ {
+ "teal": 1836,
+ "source": 201,
+ "pc": [
+ 1694,
+ 1695
+ ]
+ },
+ {
+ "teal": 1837,
+ "source": 201,
+ "pc": [
+ 1696,
+ 1697
+ ]
+ },
+ {
+ "teal": 1838,
+ "source": 201,
+ "pc": [
+ 1698,
+ 1699
+ ]
+ },
+ {
+ "teal": 1839,
+ "source": 201,
+ "pc": [
+ 1700
+ ]
+ },
+ {
+ "teal": 1840,
+ "source": 201,
+ "pc": [
+ 1701,
+ 1702
+ ]
+ },
+ {
+ "teal": 1841,
+ "source": 201,
+ "pc": [
+ 1703,
+ 1704
+ ]
+ },
+ {
+ "teal": 1842,
+ "source": 201,
+ "pc": [
+ 1705,
+ 1706
+ ]
+ },
+ {
+ "teal": 1843,
+ "source": 201,
+ "pc": [
+ 1707,
+ 1708
+ ]
+ },
+ {
+ "teal": 1847,
+ "source": 205,
+ "pc": [
+ 1709,
+ 1710
+ ]
+ },
+ {
+ "teal": 1850,
+ "source": 200,
+ "pc": [
+ 1711,
+ 1712
+ ]
+ },
+ {
+ "teal": 1853,
+ "source": 200,
+ "pc": [
+ 1713,
+ 1714
+ ]
+ },
+ {
+ "teal": 1854,
+ "source": 200,
+ "pc": [
+ 1715
+ ]
+ },
+ {
+ "teal": 1859,
+ "source": 208,
+ "pc": [
+ 1716
+ ]
+ },
+ {
+ "teal": 1862,
+ "source": 208,
+ "pc": [
+ 1717,
+ 1718,
+ 1719
+ ]
+ },
+ {
+ "teal": 1863,
+ "source": 208,
+ "pc": [
+ 1720
+ ]
+ },
+ {
+ "teal": 1864,
+ "source": 208,
+ "pc": [
+ 1721
+ ]
+ },
+ {
+ "teal": 1865,
+ "source": 208,
+ "pc": [
+ 1722
+ ]
+ },
+ {
+ "teal": 1866,
+ "source": 208,
+ "pc": [
+ 1723
+ ]
+ },
+ {
+ "teal": 1867,
+ "source": 208,
+ "pc": [
+ 1724
+ ]
+ },
+ {
+ "teal": 1871,
+ "source": 208,
+ "pc": [
+ 1725,
+ 1726,
+ 1727
+ ]
+ },
+ {
+ "teal": 1874,
+ "source": 208,
+ "pc": [
+ 1728
+ ]
+ },
+ {
+ "teal": 1875,
+ "source": 208,
+ "pc": [
+ 1729,
+ 1730
+ ]
+ },
+ {
+ "teal": 1879,
+ "source": 209,
+ "pc": [
+ 1731,
+ 1732,
+ 1733,
+ 1734,
+ 1735,
+ 1736,
+ 1737,
+ 1738,
+ 1739,
+ 1740,
+ 1741,
+ 1742,
+ 1743,
+ 1744,
+ 1745,
+ 1746,
+ 1747,
+ 1748,
+ 1749,
+ 1750,
+ 1751,
+ 1752,
+ 1753,
+ 1754,
+ 1755,
+ 1756,
+ 1757,
+ 1758,
+ 1759,
+ 1760,
+ 1761,
+ 1762,
+ 1763,
+ 1764
+ ]
+ },
+ {
+ "teal": 1880,
+ "source": 209,
+ "pc": [
+ 1765,
+ 1766
+ ]
+ },
+ {
+ "teal": 1884,
+ "source": 210,
+ "pc": [
+ 1767,
+ 1768
+ ]
+ },
+ {
+ "teal": 1885,
+ "source": 210,
+ "pc": [
+ 1769,
+ 1770
+ ]
+ },
+ {
+ "teal": 1889,
+ "source": 212,
+ "pc": [
+ 1771,
+ 1772
+ ]
+ },
+ {
+ "teal": 1890,
+ "source": 212,
+ "pc": [
+ 1773,
+ 1774
+ ]
+ },
+ {
+ "teal": 1891,
+ "source": 212,
+ "pc": [
+ 1775
+ ]
+ },
+ {
+ "teal": 1892,
+ "source": 212,
+ "pc": [
+ 1776,
+ 1777
+ ]
+ },
+ {
+ "teal": 1896,
+ "source": 214,
+ "pc": [
+ 1778,
+ 1779
+ ]
+ },
+ {
+ "teal": 1897,
+ "source": 214,
+ "pc": [
+ 1780
+ ]
+ },
+ {
+ "teal": 1898,
+ "source": 214,
+ "pc": [
+ 1781
+ ]
+ },
+ {
+ "teal": 1899,
+ "source": 214,
+ "pc": [
+ 1782,
+ 1783
+ ]
+ },
+ {
+ "teal": 1900,
+ "source": 214,
+ "pc": [
+ 1784
+ ]
+ },
+ {
+ "teal": 1903,
+ "source": 214,
+ "errorMessage": "A as uint64 overflowed 64 bits",
+ "pc": [
+ 1785
+ ]
+ },
+ {
+ "teal": 1904,
+ "source": 214,
+ "pc": [
+ 1786,
+ 1787
+ ]
+ },
+ {
+ "teal": 1905,
+ "source": 214,
+ "pc": [
+ 1788
+ ]
+ },
+ {
+ "teal": 1906,
+ "source": 214,
+ "pc": [
+ 1789
+ ]
+ },
+ {
+ "teal": 1907,
+ "source": 214,
+ "pc": [
+ 1790
+ ]
+ },
+ {
+ "teal": 1908,
+ "source": 214,
+ "pc": [
+ 1791
+ ]
+ },
+ {
+ "teal": 1909,
+ "source": 214,
+ "pc": [
+ 1792
+ ]
+ },
+ {
+ "teal": 1910,
+ "source": 214,
+ "pc": [
+ 1793
+ ]
+ },
+ {
+ "teal": 1911,
+ "source": 214,
+ "pc": [
+ 1794
+ ]
+ },
+ {
+ "teal": 1912,
+ "source": 214,
+ "pc": [
+ 1795
+ ]
+ },
+ {
+ "teal": 1913,
+ "source": 214,
+ "pc": [
+ 1796
+ ]
+ },
+ {
+ "teal": 1914,
+ "source": 214,
+ "pc": [
+ 1797,
+ 1798
+ ]
+ },
+ {
+ "teal": 1918,
+ "source": 216,
+ "pc": [
+ 1799,
+ 1800
+ ]
+ },
+ {
+ "teal": 1921,
+ "source": 208,
+ "pc": [
+ 1801,
+ 1802
+ ]
+ },
+ {
+ "teal": 1924,
+ "source": 208,
+ "pc": [
+ 1803,
+ 1804
+ ]
+ },
+ {
+ "teal": 1925,
+ "source": 208,
+ "pc": [
+ 1805
+ ]
+ },
+ {
+ "teal": 1930,
+ "source": 219,
+ "pc": [
+ 1806
+ ]
+ },
+ {
+ "teal": 1933,
+ "source": 219,
+ "pc": [
+ 1807,
+ 1808,
+ 1809
+ ]
+ },
+ {
+ "teal": 1934,
+ "source": 219,
+ "pc": [
+ 1810
+ ]
+ },
+ {
+ "teal": 1935,
+ "source": 219,
+ "pc": [
+ 1811
+ ]
+ },
+ {
+ "teal": 1936,
+ "source": 219,
+ "pc": [
+ 1812,
+ 1813
+ ]
+ },
+ {
+ "teal": 1937,
+ "source": 219,
+ "pc": [
+ 1814
+ ]
+ },
+ {
+ "teal": 1940,
+ "source": 219,
+ "errorMessage": "argument 0 (x) for foobar must be a uint128",
+ "pc": [
+ 1815
+ ]
+ },
+ {
+ "teal": 1943,
+ "source": 219,
+ "pc": [
+ 1816,
+ 1817,
+ 1818
+ ]
+ },
+ {
+ "teal": 1944,
+ "source": 219,
+ "pc": [
+ 1819
+ ]
+ },
+ {
+ "teal": 1945,
+ "source": 219,
+ "pc": [
+ 1820
+ ]
+ },
+ {
+ "teal": 1946,
+ "source": 219,
+ "pc": [
+ 1821,
+ 1822
+ ]
+ },
+ {
+ "teal": 1947,
+ "source": 219,
+ "pc": [
+ 1823
+ ]
+ },
+ {
+ "teal": 1950,
+ "source": 219,
+ "errorMessage": "foobar return value overflowed 128 bits",
+ "pc": [
+ 1824
+ ]
+ },
+ {
+ "teal": 1951,
+ "source": 219,
+ "pc": [
+ 1825,
+ 1826
+ ]
+ },
+ {
+ "teal": 1952,
+ "source": 219,
+ "pc": [
+ 1827
+ ]
+ },
+ {
+ "teal": 1953,
+ "source": 219,
+ "pc": [
+ 1828
+ ]
+ },
+ {
+ "teal": 1954,
+ "source": 219,
+ "pc": [
+ 1829
+ ]
+ },
+ {
+ "teal": 1955,
+ "source": 219,
+ "pc": [
+ 1830
+ ]
+ },
+ {
+ "teal": 1956,
+ "source": 219,
+ "pc": [
+ 1831,
+ 1832
+ ]
+ },
+ {
+ "teal": 1957,
+ "source": 219,
+ "pc": [
+ 1833
+ ]
+ },
+ {
+ "teal": 1958,
+ "source": 219,
+ "pc": [
+ 1834
+ ]
+ },
+ {
+ "teal": 1959,
+ "source": 219,
+ "pc": [
+ 1835
+ ]
+ },
+ {
+ "teal": 1960,
+ "source": 219,
+ "pc": [
+ 1836
+ ]
+ },
+ {
+ "teal": 1961,
+ "source": 219,
+ "pc": [
+ 1837
+ ]
+ },
+ {
+ "teal": 1962,
+ "source": 219,
+ "pc": [
+ 1838
+ ]
+ },
+ {
+ "teal": 1963,
+ "source": 219,
+ "pc": [
+ 1839
+ ]
+ },
+ {
+ "teal": 1967,
+ "source": 219,
+ "pc": [
+ 1840,
+ 1841,
+ 1842
+ ]
+ },
+ {
+ "teal": 1970,
+ "source": 219,
+ "pc": [
+ 1843
+ ]
+ },
+ {
+ "teal": 1974,
+ "source": 220,
+ "pc": [
+ 1844,
+ 1845
+ ]
+ },
+ {
+ "teal": 1975,
+ "source": 220,
+ "pc": [
+ 1846,
+ 1847,
+ 1848,
+ 1849,
+ 1850,
+ 1851,
+ 1852,
+ 1853,
+ 1854,
+ 1855,
+ 1856,
+ 1857,
+ 1858,
+ 1859,
+ 1860,
+ 1861,
+ 1862,
+ 1863
+ ]
+ },
+ {
+ "teal": 1976,
+ "source": 220,
+ "pc": [
+ 1864
+ ]
+ },
+ {
+ "teal": 1977,
+ "source": 220,
+ "pc": [
+ 1865
+ ]
+ },
+ {
+ "teal": 1978,
+ "source": 220,
+ "pc": [
+ 1866
+ ]
+ },
+ {
+ "teal": 1979,
+ "source": 220,
+ "pc": [
+ 1867,
+ 1868
+ ]
+ },
+ {
+ "teal": 1980,
+ "source": 220,
+ "pc": [
+ 1869
+ ]
+ },
+ {
+ "teal": 1983,
+ "source": 220,
+ "errorMessage": "x / (30000 as uint128) overflowed 128 bits",
+ "pc": [
+ 1870
+ ]
+ },
+ {
+ "teal": 1984,
+ "source": 220,
+ "pc": [
+ 1871,
+ 1872
+ ]
+ },
+ {
+ "teal": 1985,
+ "source": 220,
+ "pc": [
+ 1873
+ ]
+ },
+ {
+ "teal": 1986,
+ "source": 220,
+ "pc": [
+ 1874
+ ]
+ },
+ {
+ "teal": 1987,
+ "source": 220,
+ "pc": [
+ 1875
+ ]
+ },
+ {
+ "teal": 1988,
+ "source": 220,
+ "pc": [
+ 1876
+ ]
+ },
+ {
+ "teal": 1989,
+ "source": 220,
+ "pc": [
+ 1877,
+ 1878
+ ]
+ },
+ {
+ "teal": 1990,
+ "source": 220,
+ "pc": [
+ 1879
+ ]
+ },
+ {
+ "teal": 1991,
+ "source": 220,
+ "pc": [
+ 1880
+ ]
+ },
+ {
+ "teal": 1992,
+ "source": 220,
+ "pc": [
+ 1881
+ ]
+ },
+ {
+ "teal": 1993,
+ "source": 220,
+ "pc": [
+ 1882,
+ 1883
+ ]
+ },
+ {
+ "teal": 1997,
+ "source": 222,
+ "pc": [
+ 1884,
+ 1885
+ ]
+ },
+ {
+ "teal": 2000,
+ "source": 219,
+ "pc": [
+ 1886,
+ 1887
+ ]
+ },
+ {
+ "teal": 2001,
+ "source": 219,
+ "pc": [
+ 1888
+ ]
+ },
+ {
+ "teal": 2006,
+ "source": 225,
+ "pc": [
+ 1889
+ ]
+ },
+ {
+ "teal": 2009,
+ "source": 225,
+ "pc": [
+ 1890,
+ 1891,
+ 1892
+ ]
+ },
+ {
+ "teal": 2010,
+ "source": 225,
+ "pc": [
+ 1893
+ ]
+ },
+ {
+ "teal": 2011,
+ "source": 225,
+ "pc": [
+ 1894
+ ]
+ },
+ {
+ "teal": 2012,
+ "source": 225,
+ "pc": [
+ 1895
+ ]
+ },
+ {
+ "teal": 2013,
+ "source": 225,
+ "pc": [
+ 1896
+ ]
+ },
+ {
+ "teal": 2016,
+ "source": 225,
+ "errorMessage": "uintFromHex return value overflowed 256 bits",
+ "pc": [
+ 1897
+ ]
+ },
+ {
+ "teal": 2017,
+ "source": 225,
+ "pc": [
+ 1898
+ ]
+ },
+ {
+ "teal": 2018,
+ "source": 225,
+ "pc": [
+ 1899
+ ]
+ },
+ {
+ "teal": 2019,
+ "source": 225,
+ "pc": [
+ 1900
+ ]
+ },
+ {
+ "teal": 2020,
+ "source": 225,
+ "pc": [
+ 1901
+ ]
+ },
+ {
+ "teal": 2021,
+ "source": 225,
+ "pc": [
+ 1902
+ ]
+ },
+ {
+ "teal": 2022,
+ "source": 225,
+ "pc": [
+ 1903
+ ]
+ },
+ {
+ "teal": 2023,
+ "source": 225,
+ "pc": [
+ 1904
+ ]
+ },
+ {
+ "teal": 2024,
+ "source": 225,
+ "pc": [
+ 1905
+ ]
+ },
+ {
+ "teal": 2025,
+ "source": 225,
+ "pc": [
+ 1906
+ ]
+ },
+ {
+ "teal": 2026,
+ "source": 225,
+ "pc": [
+ 1907
+ ]
+ },
+ {
+ "teal": 2027,
+ "source": 225,
+ "pc": [
+ 1908
+ ]
+ },
+ {
+ "teal": 2028,
+ "source": 225,
+ "pc": [
+ 1909
+ ]
+ },
+ {
+ "teal": 2029,
+ "source": 225,
+ "pc": [
+ 1910
+ ]
+ },
+ {
+ "teal": 2033,
+ "source": 225,
+ "pc": [
+ 1911,
+ 1912,
+ 1913
+ ]
+ },
+ {
+ "teal": 2037,
+ "source": 226,
+ "pc": [
+ 1914,
+ 1915,
+ 1916,
+ 1917,
+ 1918,
+ 1919,
+ 1920,
+ 1921,
+ 1922,
+ 1923,
+ 1924,
+ 1925,
+ 1926,
+ 1927,
+ 1928,
+ 1929,
+ 1930,
+ 1931,
+ 1932,
+ 1933,
+ 1934,
+ 1935,
+ 1936,
+ 1937,
+ 1938,
+ 1939,
+ 1940,
+ 1941,
+ 1942,
+ 1943,
+ 1944,
+ 1945,
+ 1946,
+ 1947
+ ]
+ },
+ {
+ "teal": 2038,
+ "source": 225,
+ "pc": [
+ 1948
+ ]
+ },
+ {
+ "teal": 2041,
+ "source": 4,
+ "pc": [
+ 1949
+ ]
+ },
+ {
+ "teal": 2042,
+ "source": 4,
+ "pc": [
+ 1950
+ ]
+ },
+ {
+ "teal": 2045,
+ "source": 4,
+ "pc": [
+ 1951,
+ 1952,
+ 1953,
+ 1954,
+ 1955,
+ 1956
+ ]
+ },
+ {
+ "teal": 2046,
+ "source": 4,
+ "pc": [
+ 1957,
+ 1958,
+ 1959
+ ]
+ },
+ {
+ "teal": 2047,
+ "source": 4,
+ "pc": [
+ 1960,
+ 1961,
+ 1962,
+ 1963
+ ]
+ },
+ {
+ "teal": 2050,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 1964
+ ]
+ },
+ {
+ "teal": 2053,
+ "source": 4,
+ "pc": [
+ 1965,
+ 1966,
+ 1967,
+ 1968,
+ 1969,
+ 1970
+ ]
+ },
+ {
+ "teal": 2054,
+ "source": 4,
+ "pc": [
+ 1971,
+ 1972,
+ 1973,
+ 1974,
+ 1975,
+ 1976
+ ]
+ },
+ {
+ "teal": 2055,
+ "source": 4,
+ "pc": [
+ 1977,
+ 1978,
+ 1979,
+ 1980,
+ 1981,
+ 1982
+ ]
+ },
+ {
+ "teal": 2056,
+ "source": 4,
+ "pc": [
+ 1983,
+ 1984,
+ 1985,
+ 1986,
+ 1987,
+ 1988
+ ]
+ },
+ {
+ "teal": 2057,
+ "source": 4,
+ "pc": [
+ 1989,
+ 1990,
+ 1991,
+ 1992,
+ 1993,
+ 1994
+ ]
+ },
+ {
+ "teal": 2058,
+ "source": 4,
+ "pc": [
+ 1995,
+ 1996,
+ 1997,
+ 1998,
+ 1999,
+ 2000
+ ]
+ },
+ {
+ "teal": 2059,
+ "source": 4,
+ "pc": [
+ 2001,
+ 2002,
+ 2003,
+ 2004,
+ 2005,
+ 2006
+ ]
+ },
+ {
+ "teal": 2060,
+ "source": 4,
+ "pc": [
+ 2007,
+ 2008,
+ 2009,
+ 2010,
+ 2011,
+ 2012
+ ]
+ },
+ {
+ "teal": 2061,
+ "source": 4,
+ "pc": [
+ 2013,
+ 2014,
+ 2015,
+ 2016,
+ 2017,
+ 2018
+ ]
+ },
+ {
+ "teal": 2062,
+ "source": 4,
+ "pc": [
+ 2019,
+ 2020,
+ 2021,
+ 2022,
+ 2023,
+ 2024
+ ]
+ },
+ {
+ "teal": 2063,
+ "source": 4,
+ "pc": [
+ 2025,
+ 2026,
+ 2027,
+ 2028,
+ 2029,
+ 2030
+ ]
+ },
+ {
+ "teal": 2064,
+ "source": 4,
+ "pc": [
+ 2031,
+ 2032,
+ 2033,
+ 2034,
+ 2035,
+ 2036
+ ]
+ },
+ {
+ "teal": 2065,
+ "source": 4,
+ "pc": [
+ 2037,
+ 2038,
+ 2039,
+ 2040,
+ 2041,
+ 2042
+ ]
+ },
+ {
+ "teal": 2066,
+ "source": 4,
+ "pc": [
+ 2043,
+ 2044,
+ 2045,
+ 2046,
+ 2047,
+ 2048
+ ]
+ },
+ {
+ "teal": 2067,
+ "source": 4,
+ "pc": [
+ 2049,
+ 2050,
+ 2051,
+ 2052,
+ 2053,
+ 2054
+ ]
+ },
+ {
+ "teal": 2068,
+ "source": 4,
+ "pc": [
+ 2055,
+ 2056,
+ 2057,
+ 2058,
+ 2059,
+ 2060
+ ]
+ },
+ {
+ "teal": 2069,
+ "source": 4,
+ "pc": [
+ 2061,
+ 2062,
+ 2063,
+ 2064,
+ 2065,
+ 2066
+ ]
+ },
+ {
+ "teal": 2070,
+ "source": 4,
+ "pc": [
+ 2067,
+ 2068,
+ 2069,
+ 2070,
+ 2071,
+ 2072
+ ]
+ },
+ {
+ "teal": 2071,
+ "source": 4,
+ "pc": [
+ 2073,
+ 2074,
+ 2075,
+ 2076,
+ 2077,
+ 2078
+ ]
+ },
+ {
+ "teal": 2072,
+ "source": 4,
+ "pc": [
+ 2079,
+ 2080,
+ 2081,
+ 2082,
+ 2083,
+ 2084
+ ]
+ },
+ {
+ "teal": 2073,
+ "source": 4,
+ "pc": [
+ 2085,
+ 2086,
+ 2087,
+ 2088,
+ 2089,
+ 2090
+ ]
+ },
+ {
+ "teal": 2074,
+ "source": 4,
+ "pc": [
+ 2091,
+ 2092,
+ 2093,
+ 2094,
+ 2095,
+ 2096
+ ]
+ },
+ {
+ "teal": 2075,
+ "source": 4,
+ "pc": [
+ 2097,
+ 2098,
+ 2099,
+ 2100,
+ 2101,
+ 2102
+ ]
+ },
+ {
+ "teal": 2076,
+ "source": 4,
+ "pc": [
+ 2103,
+ 2104,
+ 2105,
+ 2106,
+ 2107,
+ 2108
+ ]
+ },
+ {
+ "teal": 2077,
+ "source": 4,
+ "pc": [
+ 2109,
+ 2110,
+ 2111,
+ 2112,
+ 2113,
+ 2114
+ ]
+ },
+ {
+ "teal": 2078,
+ "source": 4,
+ "pc": [
+ 2115,
+ 2116,
+ 2117,
+ 2118,
+ 2119,
+ 2120
+ ]
+ },
+ {
+ "teal": 2079,
+ "source": 4,
+ "pc": [
+ 2121,
+ 2122,
+ 2123,
+ 2124,
+ 2125,
+ 2126
+ ]
+ },
+ {
+ "teal": 2080,
+ "source": 4,
+ "pc": [
+ 2127,
+ 2128,
+ 2129,
+ 2130,
+ 2131,
+ 2132
+ ]
+ },
+ {
+ "teal": 2081,
+ "source": 4,
+ "pc": [
+ 2133,
+ 2134,
+ 2135,
+ 2136,
+ 2137,
+ 2138
+ ]
+ },
+ {
+ "teal": 2082,
+ "source": 4,
+ "pc": [
+ 2139,
+ 2140,
+ 2141,
+ 2142,
+ 2143,
+ 2144
+ ]
+ },
+ {
+ "teal": 2083,
+ "source": 4,
+ "pc": [
+ 2145,
+ 2146,
+ 2147,
+ 2148,
+ 2149,
+ 2150
+ ]
+ },
+ {
+ "teal": 2084,
+ "source": 4,
+ "pc": [
+ 2151,
+ 2152,
+ 2153,
+ 2154,
+ 2155,
+ 2156
+ ]
+ },
+ {
+ "teal": 2085,
+ "source": 4,
+ "pc": [
+ 2157,
+ 2158,
+ 2159,
+ 2160,
+ 2161,
+ 2162
+ ]
+ },
+ {
+ "teal": 2086,
+ "source": 4,
+ "pc": [
+ 2163,
+ 2164,
+ 2165,
+ 2166,
+ 2167,
+ 2168
+ ]
+ },
+ {
+ "teal": 2087,
+ "source": 4,
+ "pc": [
+ 2169,
+ 2170,
+ 2171,
+ 2172,
+ 2173,
+ 2174
+ ]
+ },
+ {
+ "teal": 2088,
+ "source": 4,
+ "pc": [
+ 2175,
+ 2176,
+ 2177,
+ 2178,
+ 2179,
+ 2180
+ ]
+ },
+ {
+ "teal": 2089,
+ "source": 4,
+ "pc": [
+ 2181,
+ 2182,
+ 2183,
+ 2184,
+ 2185,
+ 2186
+ ]
+ },
+ {
+ "teal": 2090,
+ "source": 4,
+ "pc": [
+ 2187,
+ 2188,
+ 2189,
+ 2190,
+ 2191,
+ 2192
+ ]
+ },
+ {
+ "teal": 2091,
+ "source": 4,
+ "pc": [
+ 2193,
+ 2194,
+ 2195,
+ 2196,
+ 2197,
+ 2198
+ ]
+ },
+ {
+ "teal": 2092,
+ "source": 4,
+ "pc": [
+ 2199,
+ 2200,
+ 2201,
+ 2202,
+ 2203,
+ 2204
+ ]
+ },
+ {
+ "teal": 2093,
+ "source": 4,
+ "pc": [
+ 2205,
+ 2206,
+ 2207,
+ 2208,
+ 2209,
+ 2210
+ ]
+ },
+ {
+ "teal": 2094,
+ "source": 4,
+ "pc": [
+ 2211,
+ 2212,
+ 2213
+ ]
+ },
+ {
+ "teal": 2095,
+ "source": 4,
+ "pc": [
+ 2214,
+ 2215,
+ 2216,
+ 2217,
+ 2218,
+ 2219,
+ 2220,
+ 2221,
+ 2222,
+ 2223,
+ 2224,
+ 2225,
+ 2226,
+ 2227,
+ 2228,
+ 2229,
+ 2230,
+ 2231,
+ 2232,
+ 2233,
+ 2234,
+ 2235,
+ 2236,
+ 2237,
+ 2238,
+ 2239,
+ 2240,
+ 2241,
+ 2242,
+ 2243,
+ 2244,
+ 2245,
+ 2246,
+ 2247,
+ 2248,
+ 2249,
+ 2250,
+ 2251,
+ 2252,
+ 2253,
+ 2254,
+ 2255,
+ 2256,
+ 2257,
+ 2258,
+ 2259,
+ 2260,
+ 2261,
+ 2262,
+ 2263,
+ 2264,
+ 2265,
+ 2266,
+ 2267,
+ 2268,
+ 2269,
+ 2270,
+ 2271,
+ 2272,
+ 2273,
+ 2274,
+ 2275,
+ 2276,
+ 2277,
+ 2278,
+ 2279,
+ 2280,
+ 2281,
+ 2282,
+ 2283,
+ 2284,
+ 2285,
+ 2286,
+ 2287,
+ 2288,
+ 2289,
+ 2290,
+ 2291,
+ 2292,
+ 2293,
+ 2294,
+ 2295,
+ 2296,
+ 2297
+ ]
+ },
+ {
+ "teal": 2098,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 2298
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfdTY0cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NHBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1NjRwbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NHBsdXM6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjgKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gdTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiB1NjRtaW51cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NG1pbnVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NG1pbnVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMgoJLy8gcmV0dXJuIGEgLSBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJcmV0c3ViCgovLyB1NjRtdWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtdWw6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NG11bAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NG11bChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAp1NjRtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2CgkvLyByZXR1cm4gYSAqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkqCglyZXRzdWIKCi8vIHU2NGRpdih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3U2NGRpdjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgdTY0ZGl2CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTY0ZGl2KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NGRpdjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAKCS8vIHJldHVybiBhIC8gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCS8KCXJldHN1YgoKLy8gdTI1NnBsdXModWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV91MjU2cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1NnBsdXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZwbHVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZwbHVzCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1MjU2cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHUyNTZwbHVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyNAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIrCglyZXRzdWIKCi8vIHUyNTZtaW51cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm1pbnVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1MjU2bWludXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtaW51cwoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gdTI1Nm1pbnVzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTI1Nm1pbnVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtaW51czoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjgKCS8vIHJldHVybiA8dWludDI1Nj4oYSAtIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJcmV0c3ViCgovLyB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfdTI1Nm11bDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtdWwKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHUyNTZtdWwgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1MjU2bXVsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjMyCgkvLyByZXR1cm4gPHVpbnQyNTY+KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYioKCXJldHN1YgoKLy8gdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZkaXY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1MjU2ZGl2CglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1MjU2ZGl2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTI1NmRpdihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1MjU2ZGl2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czozNgoJLy8gcmV0dXJuIDx1aW50MjU2PihhIC8gYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIvCglyZXRzdWIKCi8vIHU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYKKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0UmV0dXJuMjU2KHVpbnQ2NCx1aW50NjQpdWludDI1NgoJY2FsbHN1YiB1NjRSZXR1cm4yNTYKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHU2NFJldHVybjI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NFJldHVybjI1NihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQyNTYKdTY0UmV0dXJuMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0MAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglpdG9iCglyZXRzdWIKCi8vIG1heFU2NCgpdWludDY0CiphYmlfcm91dGVfbWF4VTY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1heFU2NCgpdWludDY0CgljYWxsc3ViIG1heFU2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG1heFU2NCgpOiB1aW50NjQKbWF4VTY0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0NAoJLy8gcmV0dXJuIFVpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpOwoJaW50IDE4NDQ2NzQ0MDczNzA5NTUxNjE1CglyZXRzdWIKCi8vIGV4cG9uZW50KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwb25lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZXhwb25lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHBvbmVudChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHBvbmVudDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NDgKCS8vIHJldHVybiBhICoqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHAKCXJldHN1YgoKLy8gdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKKmFiaV9yb3V0ZV92YXJpYWJsZVR5cGVIaW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHkpIGZvciB2YXJpYWJsZVR5cGVIaW50IG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8geDogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdmFyaWFibGVUeXBlSGludCBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKCWNhbGxzdWIgdmFyaWFibGVUeXBlSGludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyB2YXJpYWJsZVR5cGVIaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB2YXJpYWJsZVR5cGVIaW50KHg6IHVpbnQ8OD4sIHk6IHVpbnQ8OD4pOiB1aW50MTYKdmFyaWFibGVUeXBlSGludDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1MgoJLy8geiA9IDx1aW50MTY+KHggKyB5KQoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50PDg+CgkrCglmcmFtZV9idXJ5IDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NTQKCS8vIHJldHVybiB6OwoJZnJhbWVfZGlnIDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyB1aW50OHBsdXModWludDgsdWludDgpdWludDgKKmFiaV9yb3V0ZV91aW50OHBsdXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdWludDhwbHVzKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4cGx1cwoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIHVpbnQ4cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1aW50OHBsdXMoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1OAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CgkrCglyZXRzdWIKCi8vIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CiphYmlfcm91dGVfdWludDhleHA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4ZXhwIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDhleHAgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4ZXhwCglpdG9iCglkdXAKCWJpdGxlbgoJaW50IDgKCTw9CgoJLy8gdWludDhleHAgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludDhleHAoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhleHA6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjYyCgkvLyByZXR1cm4gYSAqKiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CglleHAKCXJldHN1YgoKLy8gcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3BsdXNFcXVhbHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcGx1c0VxdWFscyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwbHVzRXF1YWxzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjY2CgkvLyB4ID0gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NjgKCS8vIHggKz0gYgoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3MAoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGx1c0VxdWFsc0Zyb21HbG9iYWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzRnJvbUdsb2JhbAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNGcm9tR2xvYmFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBsdXNFcXVhbHNGcm9tR2xvYmFsOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3NAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gYQoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjc2CgkvLyB0aGlzLmdLZXkudmFsdWUgKz0gYgoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3OAoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCi8vIGJveFRlc3QoKXVpbnQyNTYKKmFiaV9yb3V0ZV9ib3hUZXN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveFRlc3QoKXVpbnQyNTYKCWNhbGxzdWIgYm94VGVzdAoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYm94VGVzdCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJveFRlc3QoKTogdWludDI1Ngpib3hUZXN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo4NAoJLy8gdGhpcy5ib3hLZXkudmFsdWUgPSA8dWludDI1Nj4xCglieXRlIDB4NjI2Zjc4NGI2NTc5IC8vICJib3hLZXkiCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODUKCS8vIHRoaXMuYm94S2V5LnZhbHVlICs9IDEKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCgliKwoJYnl0ZSAweDYyNmY3ODRiNjU3OSAvLyAiYm94S2V5IgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gdGhpcy5ib3hLZXkudmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODcKCS8vIHJldHVybiB0aGlzLmJveEtleS52YWx1ZTsKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCXJldHN1YgoKLy8gZm9vKHg6IHVpbnQyNTYpOiB1aW50MjU2CmZvbzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTEKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCXJldHN1YgoKLy8gdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1bnNhZmVNZXRob2RBcmdzCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1bnNhZmVNZXRob2RBcmdzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdW5zYWZlTWV0aG9kQXJncyhhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1bnNhZmVNZXRob2RBcmdzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjk1CgkvLyBjID0gYSArIGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCWZyYW1lX2J1cnkgMCAvLyBjOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLmZvbyhjKTsKCWZyYW1lX2RpZyAwIC8vIGM6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyBjIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNhbGxzdWIgZm9vCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJpc29uVHlwZToKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJpc29uVHlwZSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDI1NkNvbXBhcmlzb25UeXBlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyaXNvblR5cGUKCWludCAxCglyZXR1cm4KCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZShhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyaXNvblR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAxCgkvLyBzZW5kZXJCYWxhbmNlQWZ0ZXIgPSBhIC0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJZnJhbWVfYnVyeSAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDIKCS8vIHNlbmRlckJhbGFuY2VBZnRlciA+IDx1aW50MjU2PjAKCWZyYW1lX2RpZyAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliPgoJYnogKmlmMF9lbHNlCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEwMwoJLy8gbG9nKCdub25aZXJvJykKCWJ5dGUgMHg2ZTZmNmU1YTY1NzI2ZiAvLyAibm9uWmVybyIKCWxvZwoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDUKCS8vIGxvZygnemVybycpCglieXRlIDB4N2E2NTcyNmYgLy8gInplcm8iCglsb2cKCippZjBfZW5kOgoJcmV0c3ViCgovLyBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3F1YXJlUm9vdDI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHNxdWFyZVJvb3QyNTYKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHNxdWFyZVJvb3QyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcXVhcmVSb290MjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnNxdWFyZVJvb3QyNTY6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExMAoJLy8gcmV0dXJuIHNxcnQoYSAqIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKgoJYnNxcnQKCXJldHN1YgoKLy8gc3F1YXJlUm9vdDY0KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfc3F1YXJlUm9vdDY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBzcXVhcmVSb290NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcXVhcmVSb290NjQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKc3F1YXJlUm9vdDY0OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMTQKCS8vIHJldHVybiBzcXJ0KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbAoqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyKSBmb3IgYWRkcmVzc1RvQmlnSW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wKCWNhbGxzdWIgYWRkcmVzc1RvQmlnSW50CglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZHJlc3NUb0JpZ0ludChhZGRyOiBBZGRyZXNzKTogYm9vbGVhbgphZGRyZXNzVG9CaWdJbnQ6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExOAoJLy8gcmV0dXJuIGJ0b2JpZ2ludChhZGRyKSA+IGJ0b2JpZ2ludCh0aGlzLnR4bi5zZW5kZXIpOwoJZnJhbWVfZGlnIC0xIC8vIGFkZHI6IEFkZHJlc3MKCXR4biBTZW5kZXIKCWI+CglyZXRzdWIKCi8vIHU4VG91NjQoKXVpbnQ2NAoqYWJpX3JvdXRlX3U4VG91NjQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdThUb3U2NCgpdWludDY0CgljYWxsc3ViIHU4VG91NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1OFRvdTY0KCk6IHVpbnQ2NAp1OFRvdTY0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEyMgoJLy8geDogdWludDggPSA3CglpbnQgNwoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjMKCS8vIHJldHVybiA8dWludDY0Png7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBwcml2YXRlRnVuY05hbWUoeDogdWludDgsIHk6IHVpbnQ2NCk6IHZvaWQKcHJpdmF0ZUZ1bmNOYW1lOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjcKCS8vIGFzc2VydCg8dWludDg+eSA+IHgpCglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDgKCT4KCWFzc2VydAoJcmV0c3ViCgovLyBmdW5jTmFtZSh1aW50MjU2KXZvaWQKKmFiaV9yb3V0ZV9mdW5jTmFtZToKCS8vIHg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZ1bmNOYW1lIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGZ1bmNOYW1lKHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBmdW5jTmFtZQoJaW50IDEKCXJldHVybgoKLy8gZnVuY05hbWUoeDogdWludDI1Nik6IHZvaWQKZnVuY05hbWU6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzMQoJLy8gdGhpcy5wcml2YXRlRnVuY05hbWUoPHVpbnQ4PngsIDEzMzcpCglpbnQgMTMzNwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyA8dWludDg+eCBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDMxIDEKCWJ0b2kKCWNhbGxzdWIgcHJpdmF0ZUZ1bmNOYW1lCglyZXRzdWIKCi8vIGJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaWdpbnRQbHVzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYmlnaW50UGx1cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpZ2ludFBsdXMoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYmlnaW50UGx1czoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNQoJLy8geCA9IGl0b2IoYSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMCAvLyB4OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNgoJLy8geSA9IGl0b2IoYikKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyB5OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNwoJLy8gcmV0dXJuIChidG9iaWdpbnQoeCkgKyBidG9iaWdpbnQoeSkpIGFzIHVpbnQ2NDsKCWZyYW1lX2RpZyAwIC8vIHg6IGJ5dGVbXQoJZnJhbWVfZGlnIDEgLy8geTogYnl0ZVtdCgliKwoJZHVwCgliaXRsZW4KCWludCA2NAoJPD0KCgkvLyAoYnRvYmlnaW50KHgpICsgYnRvYmlnaW50KHkpKSBhcyB1aW50NjQgb3ZlcmZsb3dlZCA2NCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VPcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXR3aXNlT3IodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZU9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYml0d2lzZU9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmJpdHdpc2VPcjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQxCgkvLyByZXR1cm4gYSB8IGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgl8CglyZXRzdWIKCi8vIGJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaXR3aXNlQW5kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZUFuZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VBbmQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZUFuZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQ1CgkvLyByZXR1cm4gYSAmIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkmCglyZXRzdWIKCi8vIGJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaXR3aXNlWG9yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZVhvcgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VYb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZVhvcjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQ5CgkvLyByZXR1cm4gYSBeIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgleCglyZXRzdWIKCi8vIGJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlT3JVMjU2OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBiaXR3aXNlT3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlT3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKCWNhbGxzdWIgYml0d2lzZU9yVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZU9yVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VPclUyNTYoYTogdWludDI1NiwgYjogdWludDI1Nik6IHVpbnQyNTYKYml0d2lzZU9yVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTUzCgkvLyByZXR1cm4gYSB8IGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWJ8CglyZXRzdWIKCi8vIGJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZUFuZFUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VBbmRVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlQW5kVTI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaXR3aXNlQW5kVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlQW5kVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZUFuZFUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlQW5kVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlQW5kVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTU3CgkvLyByZXR1cm4gYSAmIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWImCglyZXRzdWIKCi8vIGJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZVhvclUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VYb3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlWG9yVTI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaXR3aXNlWG9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlWG9yVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZVhvclUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlWG9yVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlWG9yVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTYxCgkvLyByZXR1cm4gYSBeIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWJeCglyZXRzdWIKCi8vIGJpdHdpc2VOb3QodWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VOb3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZU5vdCh1aW50NjQpdWludDY0CgljYWxsc3ViIGJpdHdpc2VOb3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlTm90KGE6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlTm90OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjUKCS8vIHJldHVybiB+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCX4KCXJldHN1YgoKLy8gYml0d2lzZU5vdFUyNTYodWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZU5vdFUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGJpdHdpc2VOb3RVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VOb3RVMjU2KHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlTm90VTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZU5vdFUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlTm90VTI1NihhOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlTm90VTI1NjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTY5CgkvLyByZXR1cm4gfmE7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJYn4KCXJldHN1YgoKLy8gbXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX211bHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBtdWx3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbXVsdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAptdWx3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTczCgkvLyBwID0gbXVsdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTc3CgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2FkZHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhZGR3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAphZGR3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTgxCgkvLyBwID0gYWRkdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJYWRkdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTg1CgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2V4cHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBleHB3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZXhwdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHB3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTg5CgkvLyBwID0gZXhwdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZXhwdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTkzCgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Rpdnc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBkaXZ3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGl2dyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApkaXZ3OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxOTcKCS8vIHJldHVybiBkaXZ3KDAsIGEsIGIpOwoJaW50IDAKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWRpdncKCXJldHN1YgoKLy8gZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Rpdm1vZHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBkaXZtb2R3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGl2bW9kdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApkaXZtb2R3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAxCgkvLyBwID0gZGl2bW9kdygwLCBhLCAwLCBiKQoJaW50IDAKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWludCAwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglkaXZtb2R3CglmcmFtZV9idXJ5IDAgLy8gcCByZW1haW5kZXJMb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgcmVtYWluZGVySGlnaDogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gcCBxdW90aWVudExvdzogdWludDY0CglmcmFtZV9idXJ5IDMgLy8gcCBxdW90aWVudEhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjA1CgkvLyByZXR1cm4gcDIucXVvdGllbnRMb3c7CglmcmFtZV9kaWcgMiAvLyBwIHF1b3RpZW50TG93OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCi8vIHVuc2FmZVZhcmlhYmxlcygpdWludDY0CiphYmlfcm91dGVfdW5zYWZlVmFyaWFibGVzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVuc2FmZVZhcmlhYmxlcygpdWludDY0CgljYWxsc3ViIHVuc2FmZVZhcmlhYmxlcwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVuc2FmZVZhcmlhYmxlcygpOiB1aW50NjQKdW5zYWZlVmFyaWFibGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjA5CgkvLyBBID0gPHVpbnQyNTY+MjUwMDAwMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZWU2YjI4MAoJZnJhbWVfYnVyeSAwIC8vIEE6IHVuc2FmZSB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTAKCS8vIEIgPSA8dWludDI1Nj4xMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNlOAoJZnJhbWVfYnVyeSAxIC8vIEI6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxMgoJLy8gQSA9IEEgLyBCCglmcmFtZV9kaWcgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTggLy8gQjogdWludDI1NgoJYi8KCWZyYW1lX2J1cnkgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjE0CgkvLyBjID0gQSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIEE6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50IDY0Cgk8PQoKCS8vIEEgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCglidG9pCglmcmFtZV9idXJ5IDIgLy8gYzogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTYKCS8vIHJldHVybiBjOwoJZnJhbWVfZGlnIDIgLy8gYzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBmb29iYXIodWludDEyOCl1aW50MTI4CiphYmlfcm91dGVfZm9vYmFyOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB4OiB1aW50MTI4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDE2Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBmb29iYXIgbXVzdCBiZSBhIHVpbnQxMjgKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZm9vYmFyKHVpbnQxMjgpdWludDEyOAoJY2FsbHN1YiBmb29iYXIKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIGZvb2JhciByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBmb29iYXIoeDogdWludDEyOCk6IHVpbnQxMjgKZm9vYmFyOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIyMAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB4IC8gKDMwMDAwIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTEgLy8geDogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NTMwCgliLwoJZHVwCgliaXRsZW4KCWludCAxMjgKCTw9CgoJLy8geCAvICgzMDAwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMjIKCS8vIHJldHVybiBhdmdTdGFrZTsKCWZyYW1lX2RpZyAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnRGcm9tSGV4KCl1aW50MjU2CiphYmlfcm91dGVfdWludEZyb21IZXg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludEZyb21IZXgoKXVpbnQyNTYKCWNhbGxzdWIgdWludEZyb21IZXgKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHVpbnRGcm9tSGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludEZyb21IZXgoKTogdWludDI1Ngp1aW50RnJvbUhleDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjI2CgkvLyByZXR1cm4gVWludDwyNTY+KCcweEZGJyk7CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidTY0cGx1cyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAidTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInU2NG11bCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAidTY0ZGl2KHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJ1MjU2cGx1cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAidTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1MjU2ZGl2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1NjRSZXR1cm4yNTYodWludDY0LHVpbnQ2NCl1aW50MjU2IgoJbWV0aG9kICJtYXhVNjQoKXVpbnQ2NCIKCW1ldGhvZCAiZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInZhcmlhYmxlVHlwZUhpbnQodWludDgsdWludDgpdWludDE2IgoJbWV0aG9kICJ1aW50OHBsdXModWludDgsdWludDgpdWludDgiCgltZXRob2QgInVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4IgoJbWV0aG9kICJwbHVzRXF1YWxzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAiYm94VGVzdCgpdWludDI1NiIKCW1ldGhvZCAidW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAidWludDI1NkNvbXBhcmlzb25UeXBlKHVpbnQyNTYsdWludDI1Nil2b2lkIgoJbWV0aG9kICJzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJzcXVhcmVSb290NjQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wiCgltZXRob2QgInU4VG91NjQoKXVpbnQ2NCIKCW1ldGhvZCAiZnVuY05hbWUodWludDI1Nil2b2lkIgoJbWV0aG9kICJiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJiaXR3aXNlT3IodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCgltZXRob2QgImJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJiaXR3aXNlWG9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAiYml0d2lzZU5vdCh1aW50NjQpdWludDY0IgoJbWV0aG9kICJiaXR3aXNlTm90VTI1Nih1aW50MjU2KXVpbnQyNTYiCgltZXRob2QgIm11bHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImFkZHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImV4cHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRpdncodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRpdm1vZHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInVuc2FmZVZhcmlhYmxlcygpdWludDY0IgoJbWV0aG9kICJmb29iYXIodWludDEyOCl1aW50MTI4IgoJbWV0aG9kICJ1aW50RnJvbUhleCgpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdTY0cGx1cyAqYWJpX3JvdXRlX3U2NG1pbnVzICphYmlfcm91dGVfdTY0bXVsICphYmlfcm91dGVfdTY0ZGl2ICphYmlfcm91dGVfdTI1NnBsdXMgKmFiaV9yb3V0ZV91MjU2bWludXMgKmFiaV9yb3V0ZV91MjU2bXVsICphYmlfcm91dGVfdTI1NmRpdiAqYWJpX3JvdXRlX3U2NFJldHVybjI1NiAqYWJpX3JvdXRlX21heFU2NCAqYWJpX3JvdXRlX2V4cG9uZW50ICphYmlfcm91dGVfdmFyaWFibGVUeXBlSGludCAqYWJpX3JvdXRlX3VpbnQ4cGx1cyAqYWJpX3JvdXRlX3VpbnQ4ZXhwICphYmlfcm91dGVfcGx1c0VxdWFscyAqYWJpX3JvdXRlX3BsdXNFcXVhbHNGcm9tR2xvYmFsICphYmlfcm91dGVfYm94VGVzdCAqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3MgKmFiaV9yb3V0ZV91aW50MjU2Q29tcGFyaXNvblR5cGUgKmFiaV9yb3V0ZV9zcXVhcmVSb290MjU2ICphYmlfcm91dGVfc3F1YXJlUm9vdDY0ICphYmlfcm91dGVfYWRkcmVzc1RvQmlnSW50ICphYmlfcm91dGVfdThUb3U2NCAqYWJpX3JvdXRlX2Z1bmNOYW1lICphYmlfcm91dGVfYmlnaW50UGx1cyAqYWJpX3JvdXRlX2JpdHdpc2VPciAqYWJpX3JvdXRlX2JpdHdpc2VBbmQgKmFiaV9yb3V0ZV9iaXR3aXNlWG9yICphYmlfcm91dGVfYml0d2lzZU9yVTI1NiAqYWJpX3JvdXRlX2JpdHdpc2VBbmRVMjU2ICphYmlfcm91dGVfYml0d2lzZVhvclUyNTYgKmFiaV9yb3V0ZV9iaXR3aXNlTm90ICphYmlfcm91dGVfYml0d2lzZU5vdFUyNTYgKmFiaV9yb3V0ZV9tdWx3ICphYmlfcm91dGVfYWRkdyAqYWJpX3JvdXRlX2V4cHcgKmFiaV9yb3V0ZV9kaXZ3ICphYmlfcm91dGVfZGl2bW9kdyAqYWJpX3JvdXRlX3Vuc2FmZVZhcmlhYmxlcyAqYWJpX3JvdXRlX2Zvb2JhciAqYWJpX3JvdXRlX3VpbnRGcm9tSGV4CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfdTY0cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NHBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1NjRwbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NHBsdXM6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjgKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gdTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiB1NjRtaW51cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NG1pbnVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NG1pbnVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMgoJLy8gcmV0dXJuIGEgLSBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJcmV0c3ViCgovLyB1NjRtdWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtdWw6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NG11bAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NG11bChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAp1NjRtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2CgkvLyByZXR1cm4gYSAqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkqCglyZXRzdWIKCi8vIHU2NGRpdih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3U2NGRpdjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgdTY0ZGl2CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTY0ZGl2KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NGRpdjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAKCS8vIHJldHVybiBhIC8gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCS8KCXJldHN1YgoKLy8gdTI1NnBsdXModWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV91MjU2cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1NnBsdXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZwbHVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZwbHVzCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1MjU2cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHUyNTZwbHVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyNAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIrCglyZXRzdWIKCi8vIHUyNTZtaW51cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm1pbnVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1MjU2bWludXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtaW51cwoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gdTI1Nm1pbnVzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTI1Nm1pbnVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtaW51czoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjgKCS8vIHJldHVybiA8dWludDI1Nj4oYSAtIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJcmV0c3ViCgovLyB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfdTI1Nm11bDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtdWwKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHUyNTZtdWwgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1MjU2bXVsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjMyCgkvLyByZXR1cm4gPHVpbnQyNTY+KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYioKCXJldHN1YgoKLy8gdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZkaXY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1MjU2ZGl2CglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1MjU2ZGl2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdTI1NmRpdihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1MjU2ZGl2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czozNgoJLy8gcmV0dXJuIDx1aW50MjU2PihhIC8gYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIvCglyZXRzdWIKCi8vIHU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYKKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0UmV0dXJuMjU2KHVpbnQ2NCx1aW50NjQpdWludDI1NgoJY2FsbHN1YiB1NjRSZXR1cm4yNTYKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHU2NFJldHVybjI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHU2NFJldHVybjI1NihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQyNTYKdTY0UmV0dXJuMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0MAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglpdG9iCglyZXRzdWIKCi8vIG1heFU2NCgpdWludDY0CiphYmlfcm91dGVfbWF4VTY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1heFU2NCgpdWludDY0CgljYWxsc3ViIG1heFU2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIG1heFU2NCgpOiB1aW50NjQKbWF4VTY0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0NAoJLy8gcmV0dXJuIFVpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpOwoJaW50IDE4NDQ2NzQ0MDczNzA5NTUxNjE1CglyZXRzdWIKCi8vIGV4cG9uZW50KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwb25lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZXhwb25lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBleHBvbmVudChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHBvbmVudDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NDgKCS8vIHJldHVybiBhICoqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHAKCXJldHN1YgoKLy8gdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKKmFiaV9yb3V0ZV92YXJpYWJsZVR5cGVIaW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHkpIGZvciB2YXJpYWJsZVR5cGVIaW50IG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8geDogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdmFyaWFibGVUeXBlSGludCBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKCWNhbGxzdWIgdmFyaWFibGVUeXBlSGludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyB2YXJpYWJsZVR5cGVIaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB2YXJpYWJsZVR5cGVIaW50KHg6IHVpbnQ8OD4sIHk6IHVpbnQ8OD4pOiB1aW50MTYKdmFyaWFibGVUeXBlSGludDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1MgoJLy8geiA9IDx1aW50MTY+KHggKyB5KQoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50PDg+CgkrCglmcmFtZV9idXJ5IDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NTQKCS8vIHJldHVybiB6OwoJZnJhbWVfZGlnIDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyB1aW50OHBsdXModWludDgsdWludDgpdWludDgKKmFiaV9yb3V0ZV91aW50OHBsdXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdWludDhwbHVzKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4cGx1cwoJaXRvYgoJZHVwCgliaXRsZW4KCWludCA4Cgk8PQoKCS8vIHVpbnQ4cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1aW50OHBsdXMoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1OAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CgkrCglyZXRzdWIKCi8vIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CiphYmlfcm91dGVfdWludDhleHA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4ZXhwIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDhleHAgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4ZXhwCglpdG9iCglkdXAKCWJpdGxlbgoJaW50IDgKCTw9CgoJLy8gdWludDhleHAgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludDhleHAoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhleHA6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjYyCgkvLyByZXR1cm4gYSAqKiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CglleHAKCXJldHN1YgoKLy8gcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3BsdXNFcXVhbHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gcGx1c0VxdWFscyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwbHVzRXF1YWxzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjY2CgkvLyB4ID0gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NjgKCS8vIHggKz0gYgoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3MAoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGx1c0VxdWFsc0Zyb21HbG9iYWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzRnJvbUdsb2JhbAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNGcm9tR2xvYmFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBsdXNFcXVhbHNGcm9tR2xvYmFsOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3NAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gYQoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjc2CgkvLyB0aGlzLmdLZXkudmFsdWUgKz0gYgoJYnl0ZSAweDY3NGI2NTc5IC8vICJnS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3OAoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGUgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCi8vIGJveFRlc3QoKXVpbnQyNTYKKmFiaV9yb3V0ZV9ib3hUZXN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveFRlc3QoKXVpbnQyNTYKCWNhbGxzdWIgYm94VGVzdAoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYm94VGVzdCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJveFRlc3QoKTogdWludDI1Ngpib3hUZXN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo4NAoJLy8gdGhpcy5ib3hLZXkudmFsdWUgPSA8dWludDI1Nj4xCglieXRlIDB4NjI2Zjc4NGI2NTc5IC8vICJib3hLZXkiCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODUKCS8vIHRoaXMuYm94S2V5LnZhbHVlICs9IDEKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCgliKwoJYnl0ZSAweDYyNmY3ODRiNjU3OSAvLyAiYm94S2V5IgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gdGhpcy5ib3hLZXkudmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODcKCS8vIHJldHVybiB0aGlzLmJveEtleS52YWx1ZTsKCWJ5dGUgMHg2MjZmNzg0YjY1NzkgLy8gImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCXJldHN1YgoKLy8gZm9vKHg6IHVpbnQyNTYpOiB1aW50MjU2CmZvbzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTEKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCXJldHN1YgoKLy8gdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1bnNhZmVNZXRob2RBcmdzCglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyB1bnNhZmVNZXRob2RBcmdzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdW5zYWZlTWV0aG9kQXJncyhhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1bnNhZmVNZXRob2RBcmdzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjk1CgkvLyBjID0gYSArIGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCWZyYW1lX2J1cnkgMCAvLyBjOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLmZvbyhjKTsKCWZyYW1lX2RpZyAwIC8vIGM6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50IDI1NgoJPD0KCgkvLyBjIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNhbGxzdWIgZm9vCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJpc29uVHlwZToKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJpc29uVHlwZSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDI1NkNvbXBhcmlzb25UeXBlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyaXNvblR5cGUKCWludCAxCglyZXR1cm4KCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZShhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyaXNvblR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZSAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAxCgkvLyBzZW5kZXJCYWxhbmNlQWZ0ZXIgPSBhIC0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJZnJhbWVfYnVyeSAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDIKCS8vIHNlbmRlckJhbGFuY2VBZnRlciA+IDx1aW50MjU2PjAKCWZyYW1lX2RpZyAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCWJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliPgoJYnogKmlmMF9lbHNlCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEwMwoJLy8gbG9nKCdub25aZXJvJykKCWJ5dGUgMHg2ZTZmNmU1YTY1NzI2ZiAvLyAibm9uWmVybyIKCWxvZwoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDUKCS8vIGxvZygnemVybycpCglieXRlIDB4N2E2NTcyNmYgLy8gInplcm8iCglsb2cKCippZjBfZW5kOgoJcmV0c3ViCgovLyBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3F1YXJlUm9vdDI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHNxdWFyZVJvb3QyNTYKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHNxdWFyZVJvb3QyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcXVhcmVSb290MjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnNxdWFyZVJvb3QyNTY6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExMAoJLy8gcmV0dXJuIHNxcnQoYSAqIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKgoJYnNxcnQKCXJldHN1YgoKLy8gc3F1YXJlUm9vdDY0KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfc3F1YXJlUm9vdDY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBzcXVhcmVSb290NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBzcXVhcmVSb290NjQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKc3F1YXJlUm9vdDY0OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMTQKCS8vIHJldHVybiBzcXJ0KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbAoqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyKSBmb3IgYWRkcmVzc1RvQmlnSW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wKCWNhbGxzdWIgYWRkcmVzc1RvQmlnSW50CglieXRlIDB4MDAKCWludCAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGFkZHJlc3NUb0JpZ0ludChhZGRyOiBBZGRyZXNzKTogYm9vbGVhbgphZGRyZXNzVG9CaWdJbnQ6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExOAoJLy8gcmV0dXJuIGJ0b2JpZ2ludChhZGRyKSA+IGJ0b2JpZ2ludCh0aGlzLnR4bi5zZW5kZXIpOwoJZnJhbWVfZGlnIC0xIC8vIGFkZHI6IEFkZHJlc3MKCXR4biBTZW5kZXIKCWI+CglyZXRzdWIKCi8vIHU4VG91NjQoKXVpbnQ2NAoqYWJpX3JvdXRlX3U4VG91NjQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdThUb3U2NCgpdWludDY0CgljYWxsc3ViIHU4VG91NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyB1OFRvdTY0KCk6IHVpbnQ2NAp1OFRvdTY0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEyMgoJLy8geDogdWludDggPSA3CglpbnQgNwoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjMKCS8vIHJldHVybiA8dWludDY0Png7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBwcml2YXRlRnVuY05hbWUoeDogdWludDgsIHk6IHVpbnQ2NCk6IHZvaWQKcHJpdmF0ZUZ1bmNOYW1lOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjcKCS8vIGFzc2VydCg8dWludDg+eSA+IHgpCglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDgKCT4KCWFzc2VydAoJcmV0c3ViCgovLyBmdW5jTmFtZSh1aW50MjU2KXZvaWQKKmFiaV9yb3V0ZV9mdW5jTmFtZToKCS8vIHg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZ1bmNOYW1lIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGZ1bmNOYW1lKHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBmdW5jTmFtZQoJaW50IDEKCXJldHVybgoKLy8gZnVuY05hbWUoeDogdWludDI1Nik6IHZvaWQKZnVuY05hbWU6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzMQoJLy8gdGhpcy5wcml2YXRlRnVuY05hbWUoPHVpbnQ4PngsIDEzMzcpCglpbnQgMTMzNwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWR1cAoJYml0bGVuCglpbnQgOAoJPD0KCgkvLyA8dWludDg+eCBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDMxIDEKCWJ0b2kKCWNhbGxzdWIgcHJpdmF0ZUZ1bmNOYW1lCglyZXRzdWIKCi8vIGJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaWdpbnRQbHVzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYmlnaW50UGx1cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpZ2ludFBsdXMoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYmlnaW50UGx1czoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNQoJLy8geCA9IGl0b2IoYSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMCAvLyB4OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNgoJLy8geSA9IGl0b2IoYikKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyB5OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzNwoJLy8gcmV0dXJuIChidG9iaWdpbnQoeCkgKyBidG9iaWdpbnQoeSkpIGFzIHVpbnQ2NDsKCWZyYW1lX2RpZyAwIC8vIHg6IGJ5dGVbXQoJZnJhbWVfZGlnIDEgLy8geTogYnl0ZVtdCgliKwoJZHVwCgliaXRsZW4KCWludCA2NAoJPD0KCgkvLyAoYnRvYmlnaW50KHgpICsgYnRvYmlnaW50KHkpKSBhcyB1aW50NjQgb3ZlcmZsb3dlZCA2NCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VPcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXR3aXNlT3IodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZU9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYml0d2lzZU9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmJpdHdpc2VPcjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQxCgkvLyByZXR1cm4gYSB8IGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0Cgl8CglyZXRzdWIKCi8vIGJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaXR3aXNlQW5kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZUFuZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VBbmQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZUFuZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQ1CgkvLyByZXR1cm4gYSAmIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkmCglyZXRzdWIKCi8vIGJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9iaXR3aXNlWG9yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZVhvcgoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VYb3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZVhvcjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTQ5CgkvLyByZXR1cm4gYSBeIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgleCglyZXRzdWIKCi8vIGJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlT3JVMjU2OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBiaXR3aXNlT3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlT3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKCWNhbGxzdWIgYml0d2lzZU9yVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZU9yVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJpdHdpc2VPclUyNTYoYTogdWludDI1NiwgYjogdWludDI1Nik6IHVpbnQyNTYKYml0d2lzZU9yVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTUzCgkvLyByZXR1cm4gYSB8IGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWJ8CglyZXRzdWIKCi8vIGJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZUFuZFUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VBbmRVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlQW5kVTI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaXR3aXNlQW5kVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlQW5kVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZUFuZFUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlQW5kVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlQW5kVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTU3CgkvLyByZXR1cm4gYSAmIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWImCglyZXRzdWIKCi8vIGJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZVhvclUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VYb3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciBiaXR3aXNlWG9yVTI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiaXR3aXNlWG9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlWG9yVTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZVhvclUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlWG9yVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlWG9yVTI1NjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTYxCgkvLyByZXR1cm4gYSBeIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWJeCglyZXRzdWIKCi8vIGJpdHdpc2VOb3QodWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VOb3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZU5vdCh1aW50NjQpdWludDY0CgljYWxsc3ViIGJpdHdpc2VOb3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlTm90KGE6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlTm90OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjUKCS8vIHJldHVybiB+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCX4KCXJldHN1YgoKLy8gYml0d2lzZU5vdFUyNTYodWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYml0d2lzZU5vdFUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGJpdHdpc2VOb3RVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VOb3RVMjU2KHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlTm90VTI1NgoJZHVwCgliaXRsZW4KCWludCAyNTYKCTw9CgoJLy8gYml0d2lzZU5vdFUyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZSAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBiaXR3aXNlTm90VTI1NihhOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlTm90VTI1NjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTY5CgkvLyByZXR1cm4gfmE7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJYn4KCXJldHN1YgoKLy8gbXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX211bHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBtdWx3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gbXVsdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAptdWx3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTczCgkvLyBwID0gbXVsdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTc3CgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2FkZHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhZGR3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gYWRkdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAphZGR3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTgxCgkvLyBwID0gYWRkdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJYWRkdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTg1CgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2V4cHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBleHB3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZXhwdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHB3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTg5CgkvLyBwID0gZXhwdyhhLCBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZXhwdwoJZnJhbWVfYnVyeSAwIC8vIHAgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBwIGhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTkzCgkvLyByZXR1cm4gcDIubG93OwoJZnJhbWVfZGlnIDAgLy8gcCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Rpdnc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBkaXZ3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGl2dyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApkaXZ3OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxOTcKCS8vIHJldHVybiBkaXZ3KDAsIGEsIGIpOwoJaW50IDAKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWRpdncKCXJldHN1YgoKLy8gZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Rpdm1vZHc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBkaXZtb2R3CglpdG9iCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gZGl2bW9kdyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApkaXZtb2R3OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAxCgkvLyBwID0gZGl2bW9kdygwLCBhLCAwLCBiKQoJaW50IDAKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWludCAwCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglkaXZtb2R3CglmcmFtZV9idXJ5IDAgLy8gcCByZW1haW5kZXJMb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgcmVtYWluZGVySGlnaDogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gcCBxdW90aWVudExvdzogdWludDY0CglmcmFtZV9idXJ5IDMgLy8gcCBxdW90aWVudEhpZ2g6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjA1CgkvLyByZXR1cm4gcDIucXVvdGllbnRMb3c7CglmcmFtZV9kaWcgMiAvLyBwIHF1b3RpZW50TG93OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCi8vIHVuc2FmZVZhcmlhYmxlcygpdWludDY0CiphYmlfcm91dGVfdW5zYWZlVmFyaWFibGVzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVuc2FmZVZhcmlhYmxlcygpdWludDY0CgljYWxsc3ViIHVuc2FmZVZhcmlhYmxlcwoJaXRvYgoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIHVuc2FmZVZhcmlhYmxlcygpOiB1aW50NjQKdW5zYWZlVmFyaWFibGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCWR1cG4gMgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjA5CgkvLyBBID0gPHVpbnQyNTY+MjUwMDAwMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZWU2YjI4MAoJZnJhbWVfYnVyeSAwIC8vIEE6IHVuc2FmZSB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTAKCS8vIEIgPSA8dWludDI1Nj4xMDAwCglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNlOAoJZnJhbWVfYnVyeSAxIC8vIEI6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxMgoJLy8gQSA9IEEgLyBCCglmcmFtZV9kaWcgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTggLy8gQjogdWludDI1NgoJYi8KCWZyYW1lX2J1cnkgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjE0CgkvLyBjID0gQSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIEE6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50IDY0Cgk8PQoKCS8vIEEgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCA4CgktCglzd2FwCglzdWJzdHJpbmczCglidG9pCglmcmFtZV9idXJ5IDIgLy8gYzogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTYKCS8vIHJldHVybiBjOwoJZnJhbWVfZGlnIDIgLy8gYzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBmb29iYXIodWludDEyOCl1aW50MTI4CiphYmlfcm91dGVfZm9vYmFyOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyB4OiB1aW50MTI4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDE2Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBmb29iYXIgbXVzdCBiZSBhIHVpbnQxMjgKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZm9vYmFyKHVpbnQxMjgpdWludDEyOAoJY2FsbHN1YiBmb29iYXIKCWR1cAoJYml0bGVuCglpbnQgMTI4Cgk8PQoKCS8vIGZvb2JhciByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnQgMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBmb29iYXIoeDogdWludDEyOCk6IHVpbnQxMjgKZm9vYmFyOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGUgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIyMAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB4IC8gKDMwMDAwIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTEgLy8geDogdWludDEyOAoJYnl0ZSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NTMwCgliLwoJZHVwCgliaXRsZW4KCWludCAxMjgKCTw9CgoJLy8geCAvICgzMDAwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludCAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMjIKCS8vIHJldHVybiBhdmdTdGFrZTsKCWZyYW1lX2RpZyAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnRGcm9tSGV4KCl1aW50MjU2CiphYmlfcm91dGVfdWludEZyb21IZXg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludEZyb21IZXgoKXVpbnQyNTYKCWNhbGxzdWIgdWludEZyb21IZXgKCWR1cAoJYml0bGVuCglpbnQgMjU2Cgk8PQoKCS8vIHVpbnRGcm9tSGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50IDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50IDEKCXJldHVybgoKLy8gdWludEZyb21IZXgoKTogdWludDI1Ngp1aW50RnJvbUhleDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjI2CgkvLyByZXR1cm4gVWludDwyNTY+KCcweEZGJyk7CglieXRlIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAidTY0cGx1cyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAidTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInU2NG11bCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAidTY0ZGl2KHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJ1MjU2cGx1cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAidTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1MjU2ZGl2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJ1NjRSZXR1cm4yNTYodWludDY0LHVpbnQ2NCl1aW50MjU2IgoJbWV0aG9kICJtYXhVNjQoKXVpbnQ2NCIKCW1ldGhvZCAiZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInZhcmlhYmxlVHlwZUhpbnQodWludDgsdWludDgpdWludDE2IgoJbWV0aG9kICJ1aW50OHBsdXModWludDgsdWludDgpdWludDgiCgltZXRob2QgInVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4IgoJbWV0aG9kICJwbHVzRXF1YWxzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCW1ldGhvZCAiYm94VGVzdCgpdWludDI1NiIKCW1ldGhvZCAidW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAidWludDI1NkNvbXBhcmlzb25UeXBlKHVpbnQyNTYsdWludDI1Nil2b2lkIgoJbWV0aG9kICJzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJzcXVhcmVSb290NjQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wiCgltZXRob2QgInU4VG91NjQoKXVpbnQ2NCIKCW1ldGhvZCAiZnVuY05hbWUodWludDI1Nil2b2lkIgoJbWV0aG9kICJiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJbWV0aG9kICJiaXR3aXNlT3IodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VBbmQodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VYb3IodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImJpdHdpc2VPclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCgltZXRob2QgImJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJbWV0aG9kICJiaXR3aXNlWG9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCW1ldGhvZCAiYml0d2lzZU5vdCh1aW50NjQpdWludDY0IgoJbWV0aG9kICJiaXR3aXNlTm90VTI1Nih1aW50MjU2KXVpbnQyNTYiCgltZXRob2QgIm11bHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImFkZHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImV4cHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRpdncodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgImRpdm1vZHcodWludDY0LHVpbnQ2NCl1aW50NjQiCgltZXRob2QgInVuc2FmZVZhcmlhYmxlcygpdWludDY0IgoJbWV0aG9kICJmb29iYXIodWludDEyOCl1aW50MTI4IgoJbWV0aG9kICJ1aW50RnJvbUhleCgpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdTY0cGx1cyAqYWJpX3JvdXRlX3U2NG1pbnVzICphYmlfcm91dGVfdTY0bXVsICphYmlfcm91dGVfdTY0ZGl2ICphYmlfcm91dGVfdTI1NnBsdXMgKmFiaV9yb3V0ZV91MjU2bWludXMgKmFiaV9yb3V0ZV91MjU2bXVsICphYmlfcm91dGVfdTI1NmRpdiAqYWJpX3JvdXRlX3U2NFJldHVybjI1NiAqYWJpX3JvdXRlX21heFU2NCAqYWJpX3JvdXRlX2V4cG9uZW50ICphYmlfcm91dGVfdmFyaWFibGVUeXBlSGludCAqYWJpX3JvdXRlX3VpbnQ4cGx1cyAqYWJpX3JvdXRlX3VpbnQ4ZXhwICphYmlfcm91dGVfcGx1c0VxdWFscyAqYWJpX3JvdXRlX3BsdXNFcXVhbHNGcm9tR2xvYmFsICphYmlfcm91dGVfYm94VGVzdCAqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3MgKmFiaV9yb3V0ZV91aW50MjU2Q29tcGFyaXNvblR5cGUgKmFiaV9yb3V0ZV9zcXVhcmVSb290MjU2ICphYmlfcm91dGVfc3F1YXJlUm9vdDY0ICphYmlfcm91dGVfYWRkcmVzc1RvQmlnSW50ICphYmlfcm91dGVfdThUb3U2NCAqYWJpX3JvdXRlX2Z1bmNOYW1lICphYmlfcm91dGVfYmlnaW50UGx1cyAqYWJpX3JvdXRlX2JpdHdpc2VPciAqYWJpX3JvdXRlX2JpdHdpc2VBbmQgKmFiaV9yb3V0ZV9iaXR3aXNlWG9yICphYmlfcm91dGVfYml0d2lzZU9yVTI1NiAqYWJpX3JvdXRlX2JpdHdpc2VBbmRVMjU2ICphYmlfcm91dGVfYml0d2lzZVhvclUyNTYgKmFiaV9yb3V0ZV9iaXR3aXNlTm90ICphYmlfcm91dGVfYml0d2lzZU5vdFUyNTYgKmFiaV9yb3V0ZV9tdWx3ICphYmlfcm91dGVfYWRkdyAqYWJpX3JvdXRlX2V4cHcgKmFiaV9yb3V0ZV9kaXZ3ICphYmlfcm91dGVfZGl2bW9kdyAqYWJpX3JvdXRlX3Vuc2FmZVZhcmlhYmxlcyAqYWJpX3JvdXRlX2Zvb2JhciAqYWJpX3JvdXRlX3VpbnRGcm9tSGV4CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/MultiInheritance.approval.teal b/tests/contracts/artifacts/MultiInheritance.approval.teal
index 40eda95f8..d3d5c8a4a 100644
--- a/tests/contracts/artifacts/MultiInheritance.approval.teal
+++ b/tests/contracts/artifacts/MultiInheritance.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/MultiInheritance.arc32.json b/tests/contracts/artifacts/MultiInheritance.arc32.json
index 1cbab544f..944086273 100644
--- a/tests/contracts/artifacts/MultiInheritance.arc32.json
+++ b/tests/contracts/artifacts/MultiInheritance.arc32.json
@@ -63,7 +63,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBiMigpdm9pZAoqYWJpX3JvdXRlX2IyOgoJLy8gZXhlY3V0ZSBiMigpdm9pZAoJY2FsbHN1YiBiMgoJaW50IDEKCXJldHVybgoKLy8gYjIoKTogdm9pZApiMjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjg4CgkvLyBsb2coJ2IyJykKCWJ5dGUgMHg2MjMyIC8vICJiMiIKCWxvZwoJcmV0c3ViCgovLyBmb28oKXZvaWQKKmFiaV9yb3V0ZV9mb286CgkvLyBleGVjdXRlIGZvbygpdm9pZAoJY2FsbHN1YiBmb28KCWludCAxCglyZXR1cm4KCi8vIGZvbygpOiB2b2lkCmZvbzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjk0CgkvLyBsb2coQjIuYXBwcm92YWxQcm9ncmFtKCkpCglieXRlIGI2NCBDaUFCQVRFWUZJRUdDekVaQ0kwTUFDOEFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFBQUFBQUlnQUFpSkRpZ0FBZ0FGaGdia0taNG1JQUFJaVE0b0FBSUFDWWpLd2lTSkRnQVM0UkhzMk5ob0FqZ0gvOFFDQUJCNTZyUnlBQkVRN014azJHZ0NPQXYrOS84MEEKCWxvZwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCW1ldGhvZCAiYjIoKXZvaWQiCgltZXRob2QgImZvbygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IgKmFiaV9yb3V0ZV9iMiAqYWJpX3JvdXRlX2ZvbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBiMigpdm9pZAoqYWJpX3JvdXRlX2IyOgoJLy8gZXhlY3V0ZSBiMigpdm9pZAoJY2FsbHN1YiBiMgoJaW50IDEKCXJldHVybgoKLy8gYjIoKTogdm9pZApiMjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjg4CgkvLyBsb2coJ2IyJykKCWJ5dGUgMHg2MjMyIC8vICJiMiIKCWxvZwoJcmV0c3ViCgovLyBmb28oKXZvaWQKKmFiaV9yb3V0ZV9mb286CgkvLyBleGVjdXRlIGZvbygpdm9pZAoJY2FsbHN1YiBmb28KCWludCAxCglyZXR1cm4KCi8vIGZvbygpOiB2b2lkCmZvbzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjk0CgkvLyBsb2coQjIuYXBwcm92YWxQcm9ncmFtKCkpCglieXRlIGI2NCBDaUFCQVRFWUZJRUdDekVaQ0kwTUFDOEFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFBQUFBQUlnQUFpSkRpZ0FBZ0FGaGdia0taNG1JQUFJaVE0b0FBSUFDWWpLd2lTSkRnQVM0UkhzMk5ob0FqZ0gvOFFDQUJCNTZyUnlBQkVRN014azJHZ0NPQXYrOS84MEEKCWxvZwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCW1ldGhvZCAiYjIoKXZvaWQiCgltZXRob2QgImZvbygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IgKmFiaV9yb3V0ZV9iMiAqYWJpX3JvdXRlX2ZvbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/MultiInheritance.arc56_draft.json b/tests/contracts/artifacts/MultiInheritance.arc56_draft.json
index 235c82adf..4ab161222 100644
--- a/tests/contracts/artifacts/MultiInheritance.arc56_draft.json
+++ b/tests/contracts/artifacts/MultiInheritance.arc56_draft.json
@@ -110,621 +110,624 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 92,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9
- ]
- },
- {
- "teal": 13,
- "source": 92,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 14,
- "source": 92,
- "pc": [
- 12
- ]
- },
- {
- "teal": 15,
- "source": 92,
- "pc": [
- 13,
- 14
- ]
- },
- {
- "teal": 16,
- "source": 92,
- "pc": [
- 15
- ]
- },
- {
- "teal": 17,
- "source": 92,
- "pc": [
- 16,
- 17
- ]
- },
- {
- "teal": 18,
- "source": 92,
- "pc": [
- 18
- ]
- },
- {
- "teal": 19,
- "source": 92,
- "pc": [
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44
- ]
- },
- {
- "teal": 23,
- "source": 92,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 45
- ]
- },
- {
- "teal": 28,
- "source": 15,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 29,
- "source": 15,
- "pc": [
- 49
- ]
- },
- {
- "teal": 30,
- "source": 15,
- "pc": [
- 50
- ]
- },
- {
- "teal": 34,
- "source": 15,
- "pc": [
- 51,
- 52,
- 53
- ]
- },
- {
- "teal": 38,
- "source": 16,
- "pc": [
- 54
- ]
- },
- {
- "teal": 39,
- "source": 16,
- "pc": [
- 55
- ]
- },
- {
- "teal": 40,
- "source": 16,
- "pc": [
- 56
- ]
- },
- {
- "teal": 41,
- "source": 15,
- "pc": [
- 57
- ]
- },
- {
- "teal": 46,
- "source": 23,
- "pc": [
- 58,
- 59,
- 60
- ]
- },
- {
- "teal": 47,
- "source": 23,
- "pc": [
- 61
- ]
- },
- {
- "teal": 48,
- "source": 23,
- "pc": [
- 62
- ]
- },
- {
- "teal": 52,
- "source": 23,
- "pc": [
- 63,
- 64,
- 65
- ]
- },
- {
- "teal": 56,
- "source": 24,
- "pc": [
- 66
- ]
- },
- {
- "teal": 57,
- "source": 24,
- "pc": [
- 67
- ]
- },
- {
- "teal": 58,
- "source": 24,
- "pc": [
- 68
- ]
- },
- {
- "teal": 59,
- "source": 24,
- "pc": [
- 69
- ]
- },
- {
- "teal": 60,
- "source": 24,
- "pc": [
- 70
- ]
- },
- {
- "teal": 64,
- "source": 25,
- "pc": [
- 71,
- 72,
- 73
- ]
- },
- {
- "teal": 65,
- "source": 25,
- "pc": [
- 74,
- 75
- ]
- },
- {
- "teal": 66,
- "source": 25,
- "pc": [
- 76
- ]
- },
- {
- "teal": 67,
- "source": 23,
- "pc": [
- 77
- ]
- },
- {
- "teal": 72,
- "source": 87,
- "pc": [
- 78,
- 79,
- 80
- ]
- },
- {
- "teal": 73,
- "source": 87,
- "pc": [
- 81
- ]
- },
- {
- "teal": 74,
- "source": 87,
- "pc": [
- 82
- ]
- },
- {
- "teal": 78,
- "source": 87,
- "pc": [
- 83,
- 84,
- 85
- ]
- },
- {
- "teal": 82,
- "source": 88,
- "pc": [
- 86,
- 87,
- 88,
- 89
- ]
- },
- {
- "teal": 83,
- "source": 88,
- "pc": [
- 90
- ]
- },
- {
- "teal": 84,
- "source": 87,
- "pc": [
- 91
- ]
- },
- {
- "teal": 89,
- "source": 93,
- "pc": [
- 92,
- 93,
- 94
- ]
- },
- {
- "teal": 90,
- "source": 93,
- "pc": [
- 95
- ]
- },
- {
- "teal": 91,
- "source": 93,
- "pc": [
- 96
- ]
- },
- {
- "teal": 95,
- "source": 93,
- "pc": [
- 97,
- 98,
- 99
- ]
- },
- {
- "teal": 99,
- "source": 94,
- "pc": [
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191,
- 192,
- 193,
- 194,
- 195,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209
- ]
- },
- {
- "teal": 100,
- "source": 94,
- "pc": [
- 210
- ]
- },
- {
- "teal": 101,
- "source": 93,
- "pc": [
- 211
- ]
- },
- {
- "teal": 104,
- "source": 92,
- "pc": [
- 212
- ]
- },
- {
- "teal": 105,
- "source": 92,
- "pc": [
- 213
- ]
- },
- {
- "teal": 108,
- "source": 92,
- "pc": [
- 214,
- 215,
- 216,
- 217,
- 218,
- 219
- ]
- },
- {
- "teal": 109,
- "source": 92,
- "pc": [
- 220,
- 221,
- 222
- ]
- },
- {
- "teal": 110,
- "source": 92,
- "pc": [
- 223,
- 224,
- 225,
- 226
- ]
- },
- {
- "teal": 113,
- "source": 92,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 227
- ]
- },
- {
- "teal": 116,
- "source": 92,
- "pc": [
- 228,
- 229,
- 230,
- 231,
- 232,
- 233
- ]
- },
- {
- "teal": 117,
- "source": 92,
- "pc": [
- 234,
- 235,
- 236,
- 237,
- 238,
- 239
- ]
- },
- {
- "teal": 118,
- "source": 92,
- "pc": [
- 240,
- 241,
- 242,
- 243,
- 244,
- 245
- ]
- },
- {
- "teal": 119,
- "source": 92,
- "pc": [
- 246,
- 247,
- 248,
- 249,
- 250,
- 251
- ]
- },
- {
- "teal": 120,
- "source": 92,
- "pc": [
- 252,
- 253,
- 254
- ]
- },
- {
- "teal": 121,
- "source": 92,
- "pc": [
- 255,
- 256,
- 257,
- 258,
- 259,
- 260,
- 261,
- 262,
- 263,
- 264
- ]
- },
- {
- "teal": 124,
- "source": 92,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 265
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 92,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 92,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 92,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 92,
+ "pc": [
+ 13,
+ 14
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 92,
+ "pc": [
+ 15
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 92,
+ "pc": [
+ 16,
+ 17
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 92,
+ "pc": [
+ 18
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 92,
+ "pc": [
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 92,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 45
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 15,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 15,
+ "pc": [
+ 49
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 15,
+ "pc": [
+ 50
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 15,
+ "pc": [
+ 51,
+ 52,
+ 53
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 16,
+ "pc": [
+ 54
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 16,
+ "pc": [
+ 55
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 16,
+ "pc": [
+ 56
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 15,
+ "pc": [
+ 57
+ ]
+ },
+ {
+ "teal": 46,
+ "source": 23,
+ "pc": [
+ 58,
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 23,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 23,
+ "pc": [
+ 62
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 23,
+ "pc": [
+ 63,
+ 64,
+ 65
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 24,
+ "pc": [
+ 66
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 24,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 58,
+ "source": 24,
+ "pc": [
+ 68
+ ]
+ },
+ {
+ "teal": 59,
+ "source": 24,
+ "pc": [
+ 69
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 24,
+ "pc": [
+ 70
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 25,
+ "pc": [
+ 71,
+ 72,
+ 73
+ ]
+ },
+ {
+ "teal": 65,
+ "source": 25,
+ "pc": [
+ 74,
+ 75
+ ]
+ },
+ {
+ "teal": 66,
+ "source": 25,
+ "pc": [
+ 76
+ ]
+ },
+ {
+ "teal": 67,
+ "source": 23,
+ "pc": [
+ 77
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 87,
+ "pc": [
+ 78,
+ 79,
+ 80
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 87,
+ "pc": [
+ 81
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 87,
+ "pc": [
+ 82
+ ]
+ },
+ {
+ "teal": 78,
+ "source": 87,
+ "pc": [
+ 83,
+ 84,
+ 85
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 88,
+ "pc": [
+ 86,
+ 87,
+ 88,
+ 89
+ ]
+ },
+ {
+ "teal": 83,
+ "source": 88,
+ "pc": [
+ 90
+ ]
+ },
+ {
+ "teal": 84,
+ "source": 87,
+ "pc": [
+ 91
+ ]
+ },
+ {
+ "teal": 89,
+ "source": 93,
+ "pc": [
+ 92,
+ 93,
+ 94
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 93,
+ "pc": [
+ 95
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 93,
+ "pc": [
+ 96
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 93,
+ "pc": [
+ 97,
+ 98,
+ 99
+ ]
+ },
+ {
+ "teal": 99,
+ "source": 94,
+ "pc": [
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184,
+ 185,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190,
+ 191,
+ 192,
+ 193,
+ 194,
+ 195,
+ 196,
+ 197,
+ 198,
+ 199,
+ 200,
+ 201,
+ 202,
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 94,
+ "pc": [
+ 210
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 93,
+ "pc": [
+ 211
+ ]
+ },
+ {
+ "teal": 104,
+ "source": 92,
+ "pc": [
+ 212
+ ]
+ },
+ {
+ "teal": 105,
+ "source": 92,
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 108,
+ "source": 92,
+ "pc": [
+ 214,
+ 215,
+ 216,
+ 217,
+ 218,
+ 219
+ ]
+ },
+ {
+ "teal": 109,
+ "source": 92,
+ "pc": [
+ 220,
+ 221,
+ 222
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 92,
+ "pc": [
+ 223,
+ 224,
+ 225,
+ 226
+ ]
+ },
+ {
+ "teal": 113,
+ "source": 92,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 227
+ ]
+ },
+ {
+ "teal": 116,
+ "source": 92,
+ "pc": [
+ 228,
+ 229,
+ 230,
+ 231,
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 92,
+ "pc": [
+ 234,
+ 235,
+ 236,
+ 237,
+ 238,
+ 239
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 92,
+ "pc": [
+ 240,
+ 241,
+ 242,
+ 243,
+ 244,
+ 245
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 92,
+ "pc": [
+ 246,
+ 247,
+ 248,
+ 249,
+ 250,
+ 251
+ ]
+ },
+ {
+ "teal": 120,
+ "source": 92,
+ "pc": [
+ 252,
+ 253,
+ 254
+ ]
+ },
+ {
+ "teal": 121,
+ "source": 92,
+ "pc": [
+ 255,
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 263,
+ 264
+ ]
+ },
+ {
+ "teal": 124,
+ "source": 92,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 265
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBiMigpdm9pZAoqYWJpX3JvdXRlX2IyOgoJLy8gZXhlY3V0ZSBiMigpdm9pZAoJY2FsbHN1YiBiMgoJaW50IDEKCXJldHVybgoKLy8gYjIoKTogdm9pZApiMjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjg4CgkvLyBsb2coJ2IyJykKCWJ5dGUgMHg2MjMyIC8vICJiMiIKCWxvZwoJcmV0c3ViCgovLyBmb28oKXZvaWQKKmFiaV9yb3V0ZV9mb286CgkvLyBleGVjdXRlIGZvbygpdm9pZAoJY2FsbHN1YiBmb28KCWludCAxCglyZXR1cm4KCi8vIGZvbygpOiB2b2lkCmZvbzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjk0CgkvLyBsb2coQjIuYXBwcm92YWxQcm9ncmFtKCkpCglieXRlIGI2NCBDaUFCQVRFWUZJRUdDekVaQ0kwTUFDOEFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFBQUFBQUlnQUFpSkRpZ0FBZ0FGaGdia0taNG1JQUFJaVE0b0FBSUFDWWpLd2lTSkRnQVM0UkhzMk5ob0FqZ0gvOFFDQUJCNTZyUnlBQkVRN014azJHZ0NPQXYrOS84MEEKCWxvZwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCW1ldGhvZCAiYjIoKXZvaWQiCgltZXRob2QgImZvbygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IgKmFiaV9yb3V0ZV9iMiAqYWJpX3JvdXRlX2ZvbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnQgMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlIDB4NjEgLy8gImEiCglpbnQgMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50IDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGUgMHg2MSAvLyAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnQgMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI1CgkvLyB0aGlzLmJLZXkudmFsdWUgPSA0MgoJYnl0ZSAweDYyIC8vICJiIgoJaW50IDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBiMigpdm9pZAoqYWJpX3JvdXRlX2IyOgoJLy8gZXhlY3V0ZSBiMigpdm9pZAoJY2FsbHN1YiBiMgoJaW50IDEKCXJldHVybgoKLy8gYjIoKTogdm9pZApiMjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjg4CgkvLyBsb2coJ2IyJykKCWJ5dGUgMHg2MjMyIC8vICJiMiIKCWxvZwoJcmV0c3ViCgovLyBmb28oKXZvaWQKKmFiaV9yb3V0ZV9mb286CgkvLyBleGVjdXRlIGZvbygpdm9pZAoJY2FsbHN1YiBmb28KCWludCAxCglyZXR1cm4KCi8vIGZvbygpOiB2b2lkCmZvbzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjk0CgkvLyBsb2coQjIuYXBwcm92YWxQcm9ncmFtKCkpCglieXRlIGI2NCBDaUFCQVRFWUZJRUdDekVaQ0kwTUFDOEFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFBQUFBQUlnQUFpSkRpZ0FBZ0FGaGdia0taNG1JQUFJaVE0b0FBSUFDWWpLd2lTSkRnQVM0UkhzMk5ob0FqZ0gvOFFDQUJCNTZyUnlBQkVRN014azJHZ0NPQXYrOS84MEEKCWxvZwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCW1ldGhvZCAiYSgpdm9pZCIKCW1ldGhvZCAiYigpdm9pZCIKCW1ldGhvZCAiYjIoKXZvaWQiCgltZXRob2QgImZvbygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYSAqYWJpX3JvdXRlX2IgKmFiaV9yb3V0ZV9iMiAqYWJpX3JvdXRlX2ZvbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/MultiInheritanceProgram.approval.teal b/tests/contracts/artifacts/MultiInheritanceProgram.approval.teal
index ace1112a2..0d4aae467 100644
--- a/tests/contracts/artifacts/MultiInheritanceProgram.approval.teal
+++ b/tests/contracts/artifacts/MultiInheritanceProgram.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/MultiInheritanceProgram.arc32.json b/tests/contracts/artifacts/MultiInheritanceProgram.arc32.json
index aabb02226..596f257b4 100644
--- a/tests/contracts/artifacts/MultiInheritanceProgram.arc32.json
+++ b/tests/contracts/artifacts/MultiInheritanceProgram.arc32.json
@@ -39,7 +39,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcm9nKCl2b2lkCiphYmlfcm91dGVfcHJvZzoKCS8vIGV4ZWN1dGUgcHJvZygpdm9pZAoJY2FsbHN1YiBwcm9nCglpbnQgMQoJcmV0dXJuCgovLyBwcm9nKCk6IHZvaWQKcHJvZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjEwMAoJLy8gbG9nKE11bHRpSW5oZXJpdGFuY2UuYXBwcm92YWxQcm9ncmFtKCkpCglieXRlIGI2NCBDaUFDQWJrS0pnRUJZVEVZRklFR0N6RVpDSTBNQUxjQUFBQUFBQUFBQUFBQUFLa0FBQUFBQUFBQUFBQUFBSWdBQWlKRGlnQUFLQ05uaVlnQUFpSkRpZ0FBS0dRakVrU0FBV0tCS21lSmlBQUNJa09LQUFDQUFtSXlzSW1JQUFJaVE0b0FBSUJzQ2lBQkFURVlGSUVHQ3pFWkNJME1BQzhBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBQUFBQUFJZ0FBaUpEaWdBQWdBRmhnYmtLWjRtSUFBSWlRNG9BQUlBQ1lqS3dpU0pEZ0FTNFJIczJOaG9BamdILzhRQ0FCQjU2clJ5QUJFUTdNeGsyR2dDT0F2KzkvODBBc0lraVE0QUV1RVI3TmpZYUFJNEIvL0VBZ0FRZWVxMGNnQVE2eVFzSWdBUkVPek1aZ0FTRVJuci9OaG9BamdUL0pmOHgvMFgvVXdBPQoJbG9nCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwcm9nKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcm9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcm9nKCl2b2lkCiphYmlfcm91dGVfcHJvZzoKCS8vIGV4ZWN1dGUgcHJvZygpdm9pZAoJY2FsbHN1YiBwcm9nCglpbnQgMQoJcmV0dXJuCgovLyBwcm9nKCk6IHZvaWQKcHJvZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjEwMAoJLy8gbG9nKE11bHRpSW5oZXJpdGFuY2UuYXBwcm92YWxQcm9ncmFtKCkpCglieXRlIGI2NCBDaUFDQWJrS0pnRUJZVEVZRklFR0N6RVpDSTBNQUxjQUFBQUFBQUFBQUFBQUFLa0FBQUFBQUFBQUFBQUFBSWdBQWlKRGlnQUFLQ05uaVlnQUFpSkRpZ0FBS0dRakVrU0FBV0tCS21lSmlBQUNJa09LQUFDQUFtSXlzSW1JQUFJaVE0b0FBSUJzQ2lBQkFURVlGSUVHQ3pFWkNJME1BQzhBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBQUFBQUFJZ0FBaUpEaWdBQWdBRmhnYmtLWjRtSUFBSWlRNG9BQUlBQ1lqS3dpU0pEZ0FTNFJIczJOaG9BamdILzhRQ0FCQjU2clJ5QUJFUTdNeGsyR2dDT0F2KzkvODBBc0lraVE0QUV1RVI3TmpZYUFJNEIvL0VBZ0FRZWVxMGNnQVE2eVFzSWdBUkVPek1aZ0FTRVJuci9OaG9BamdUL0pmOHgvMFgvVXdBPQoJbG9nCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwcm9nKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcm9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/MultiInheritanceProgram.arc56_draft.json b/tests/contracts/artifacts/MultiInheritanceProgram.arc56_draft.json
index 8027405b5..ac0f3279c 100644
--- a/tests/contracts/artifacts/MultiInheritanceProgram.arc56_draft.json
+++ b/tests/contracts/artifacts/MultiInheritanceProgram.arc56_draft.json
@@ -60,518 +60,521 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 98,
- "pc": [
- 0,
- 1,
- 2,
- 3
- ]
- },
- {
- "teal": 13,
- "source": 98,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 14,
- "source": 98,
- "pc": [
- 6
- ]
- },
- {
- "teal": 15,
- "source": 98,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 16,
- "source": 98,
- "pc": [
- 9
- ]
- },
- {
- "teal": 17,
- "source": 98,
- "pc": [
- 10,
- 11
- ]
- },
- {
- "teal": 18,
- "source": 98,
- "pc": [
- 12
- ]
- },
- {
- "teal": 19,
- "source": 98,
- "pc": [
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38
- ]
- },
- {
- "teal": 23,
- "source": 98,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 39
- ]
- },
- {
- "teal": 28,
- "source": 99,
- "pc": [
- 40,
- 41,
- 42
- ]
- },
- {
- "teal": 29,
- "source": 99,
- "pc": [
- 43
- ]
- },
- {
- "teal": 30,
- "source": 99,
- "pc": [
- 44
- ]
- },
- {
- "teal": 34,
- "source": 99,
- "pc": [
- 45,
- 46,
- 47
- ]
- },
- {
- "teal": 38,
- "source": 100,
- "pc": [
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191,
- 192,
- 193,
- 194,
- 195,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 210,
- 211,
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 223,
- 224,
- 225,
- 226,
- 227,
- 228,
- 229,
- 230,
- 231,
- 232,
- 233,
- 234,
- 235,
- 236,
- 237,
- 238,
- 239,
- 240,
- 241,
- 242,
- 243,
- 244,
- 245,
- 246,
- 247,
- 248,
- 249,
- 250,
- 251,
- 252,
- 253,
- 254,
- 255,
- 256,
- 257,
- 258,
- 259,
- 260,
- 261,
- 262,
- 263,
- 264,
- 265,
- 266,
- 267,
- 268,
- 269,
- 270,
- 271,
- 272,
- 273,
- 274,
- 275,
- 276,
- 277,
- 278,
- 279,
- 280,
- 281,
- 282,
- 283,
- 284,
- 285,
- 286,
- 287,
- 288,
- 289,
- 290,
- 291,
- 292,
- 293,
- 294,
- 295,
- 296,
- 297,
- 298,
- 299,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308,
- 309,
- 310,
- 311,
- 312,
- 313,
- 314,
- 315,
- 316
- ]
- },
- {
- "teal": 39,
- "source": 100,
- "pc": [
- 317
- ]
- },
- {
- "teal": 40,
- "source": 99,
- "pc": [
- 318
- ]
- },
- {
- "teal": 43,
- "source": 98,
- "pc": [
- 319
- ]
- },
- {
- "teal": 44,
- "source": 98,
- "pc": [
- 320
- ]
- },
- {
- "teal": 47,
- "source": 98,
- "pc": [
- 321,
- 322,
- 323,
- 324,
- 325,
- 326
- ]
- },
- {
- "teal": 48,
- "source": 98,
- "pc": [
- 327,
- 328,
- 329
- ]
- },
- {
- "teal": 49,
- "source": 98,
- "pc": [
- 330,
- 331,
- 332,
- 333
- ]
- },
- {
- "teal": 52,
- "source": 98,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 334
- ]
- },
- {
- "teal": 55,
- "source": 98,
- "pc": [
- 335,
- 336,
- 337,
- 338,
- 339,
- 340
- ]
- },
- {
- "teal": 56,
- "source": 98,
- "pc": [
- 341,
- 342,
- 343
- ]
- },
- {
- "teal": 57,
- "source": 98,
- "pc": [
- 344,
- 345,
- 346,
- 347
- ]
- },
- {
- "teal": 60,
- "source": 98,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 348
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 98,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 98,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 98,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 98,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 98,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 98,
+ "pc": [
+ 10,
+ 11
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 98,
+ "pc": [
+ 12
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 98,
+ "pc": [
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 98,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 99,
+ "pc": [
+ 40,
+ 41,
+ 42
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 99,
+ "pc": [
+ 43
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 99,
+ "pc": [
+ 44
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 99,
+ "pc": [
+ 45,
+ 46,
+ 47
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 100,
+ "pc": [
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184,
+ 185,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190,
+ 191,
+ 192,
+ 193,
+ 194,
+ 195,
+ 196,
+ 197,
+ 198,
+ 199,
+ 200,
+ 201,
+ 202,
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211,
+ 212,
+ 213,
+ 214,
+ 215,
+ 216,
+ 217,
+ 218,
+ 219,
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225,
+ 226,
+ 227,
+ 228,
+ 229,
+ 230,
+ 231,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 237,
+ 238,
+ 239,
+ 240,
+ 241,
+ 242,
+ 243,
+ 244,
+ 245,
+ 246,
+ 247,
+ 248,
+ 249,
+ 250,
+ 251,
+ 252,
+ 253,
+ 254,
+ 255,
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 263,
+ 264,
+ 265,
+ 266,
+ 267,
+ 268,
+ 269,
+ 270,
+ 271,
+ 272,
+ 273,
+ 274,
+ 275,
+ 276,
+ 277,
+ 278,
+ 279,
+ 280,
+ 281,
+ 282,
+ 283,
+ 284,
+ 285,
+ 286,
+ 287,
+ 288,
+ 289,
+ 290,
+ 291,
+ 292,
+ 293,
+ 294,
+ 295,
+ 296,
+ 297,
+ 298,
+ 299,
+ 300,
+ 301,
+ 302,
+ 303,
+ 304,
+ 305,
+ 306,
+ 307,
+ 308,
+ 309,
+ 310,
+ 311,
+ 312,
+ 313,
+ 314,
+ 315,
+ 316
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 100,
+ "pc": [
+ 317
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 99,
+ "pc": [
+ 318
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 98,
+ "pc": [
+ 319
+ ]
+ },
+ {
+ "teal": 44,
+ "source": 98,
+ "pc": [
+ 320
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 98,
+ "pc": [
+ 321,
+ 322,
+ 323,
+ 324,
+ 325,
+ 326
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 98,
+ "pc": [
+ 327,
+ 328,
+ 329
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 98,
+ "pc": [
+ 330,
+ 331,
+ 332,
+ 333
+ ]
+ },
+ {
+ "teal": 52,
+ "source": 98,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 98,
+ "pc": [
+ 335,
+ 336,
+ 337,
+ 338,
+ 339,
+ 340
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 98,
+ "pc": [
+ 341,
+ 342,
+ 343
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 98,
+ "pc": [
+ 344,
+ 345,
+ 346,
+ 347
+ ]
+ },
+ {
+ "teal": 60,
+ "source": 98,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 348
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcm9nKCl2b2lkCiphYmlfcm91dGVfcHJvZzoKCS8vIGV4ZWN1dGUgcHJvZygpdm9pZAoJY2FsbHN1YiBwcm9nCglpbnQgMQoJcmV0dXJuCgovLyBwcm9nKCk6IHZvaWQKcHJvZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjEwMAoJLy8gbG9nKE11bHRpSW5oZXJpdGFuY2UuYXBwcm92YWxQcm9ncmFtKCkpCglieXRlIGI2NCBDaUFDQWJrS0pnRUJZVEVZRklFR0N6RVpDSTBNQUxjQUFBQUFBQUFBQUFBQUFLa0FBQUFBQUFBQUFBQUFBSWdBQWlKRGlnQUFLQ05uaVlnQUFpSkRpZ0FBS0dRakVrU0FBV0tCS21lSmlBQUNJa09LQUFDQUFtSXlzSW1JQUFJaVE0b0FBSUJzQ2lBQkFURVlGSUVHQ3pFWkNJME1BQzhBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBQUFBQUFJZ0FBaUpEaWdBQWdBRmhnYmtLWjRtSUFBSWlRNG9BQUlBQ1lqS3dpU0pEZ0FTNFJIczJOaG9BamdILzhRQ0FCQjU2clJ5QUJFUTdNeGsyR2dDT0F2KzkvODBBc0lraVE0QUV1RVI3TmpZYUFJNEIvL0VBZ0FRZWVxMGNnQVE2eVFzSWdBUkVPek1aZ0FTRVJuci9OaG9BamdUL0pmOHgvMFgvVXdBPQoJbG9nCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwcm9nKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcm9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcm9nKCl2b2lkCiphYmlfcm91dGVfcHJvZzoKCS8vIGV4ZWN1dGUgcHJvZygpdm9pZAoJY2FsbHN1YiBwcm9nCglpbnQgMQoJcmV0dXJuCgovLyBwcm9nKCk6IHZvaWQKcHJvZzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjEwMAoJLy8gbG9nKE11bHRpSW5oZXJpdGFuY2UuYXBwcm92YWxQcm9ncmFtKCkpCglieXRlIGI2NCBDaUFDQWJrS0pnRUJZVEVZRklFR0N6RVpDSTBNQUxjQUFBQUFBQUFBQUFBQUFLa0FBQUFBQUFBQUFBQUFBSWdBQWlKRGlnQUFLQ05uaVlnQUFpSkRpZ0FBS0dRakVrU0FBV0tCS21lSmlBQUNJa09LQUFDQUFtSXlzSW1JQUFJaVE0b0FBSUJzQ2lBQkFURVlGSUVHQ3pFWkNJME1BQzhBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBQUFBQUFJZ0FBaUpEaWdBQWdBRmhnYmtLWjRtSUFBSWlRNG9BQUlBQ1lqS3dpU0pEZ0FTNFJIczJOaG9BamdILzhRQ0FCQjU2clJ5QUJFUTdNeGsyR2dDT0F2KzkvODBBc0lraVE0QUV1RVI3TmpZYUFJNEIvL0VBZ0FRZWVxMGNnQVE2eVFzSWdBUkVPek1aZ0FTRVJuci9OaG9BamdUL0pmOHgvMFgvVXdBPQoJbG9nCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJwcm9nKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcm9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/ProgramVersion.approval.teal b/tests/contracts/artifacts/ProgramVersion.approval.teal
index f9ffe4986..dd9958825 100644
--- a/tests/contracts/artifacts/ProgramVersion.approval.teal
+++ b/tests/contracts/artifacts/ProgramVersion.approval.teal
@@ -1,6 +1,6 @@
#pragma version 8
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/ProgramVersion.arc32.json b/tests/contracts/artifacts/ProgramVersion.arc32.json
index 837852796..350bacc11 100644
--- a/tests/contracts/artifacts/ProgramVersion.arc32.json
+++ b/tests/contracts/artifacts/ProgramVersion.arc32.json
@@ -34,7 +34,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTAyLjAKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTAzLjAKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDg="
},
"contract": {
diff --git a/tests/contracts/artifacts/ProgramVersion.arc56_draft.json b/tests/contracts/artifacts/ProgramVersion.arc56_draft.json
index b81d2781c..d38cb087b 100644
--- a/tests/contracts/artifacts/ProgramVersion.arc56_draft.json
+++ b/tests/contracts/artifacts/ProgramVersion.arc56_draft.json
@@ -47,156 +47,159 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 44,
- "pc": [
- 0
- ]
- },
- {
- "teal": 13,
- "source": 44,
- "pc": [
- 1,
- 2
- ]
- },
- {
- "teal": 14,
- "source": 44,
- "pc": [
- 3
- ]
- },
- {
- "teal": 15,
- "source": 44,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 16,
- "source": 44,
- "pc": [
- 6
- ]
- },
- {
- "teal": 17,
- "source": 44,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 18,
- "source": 44,
- "pc": [
- 9
- ]
- },
- {
- "teal": 19,
- "source": 44,
- "pc": [
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35
- ]
- },
- {
- "teal": 23,
- "source": 44,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 36
- ]
- },
- {
- "teal": 26,
- "source": 44,
- "pc": [
- 37,
- 38
- ]
- },
- {
- "teal": 27,
- "source": 44,
- "pc": [
- 39
- ]
- },
- {
- "teal": 30,
- "source": 44,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 44,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 44,
- "pc": [
- 49,
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 44,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 53
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 44,
+ "pc": [
+ 0
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 44,
+ "pc": [
+ 1,
+ 2
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 44,
+ "pc": [
+ 3
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 44,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 44,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 44,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 44,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 44,
+ "pc": [
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 44,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 36
+ ]
+ },
+ {
+ "teal": 26,
+ "source": 44,
+ "pc": [
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 27,
+ "source": 44,
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 44,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 44,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 44,
+ "pc": [
+ 49,
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 44,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 53
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTAyLjAKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTAzLjAKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDg="
},
"byteCode": {
diff --git a/tests/contracts/artifacts/SchemaContract.approval.teal b/tests/contracts/artifacts/SchemaContract.approval.teal
index 5ee5208dc..68cd51086 100644
--- a/tests/contracts/artifacts/SchemaContract.approval.teal
+++ b/tests/contracts/artifacts/SchemaContract.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/SchemaContract.arc32.json b/tests/contracts/artifacts/SchemaContract.arc32.json
index 02b74e22a..e01be1532 100644
--- a/tests/contracts/artifacts/SchemaContract.arc32.json
+++ b/tests/contracts/artifacts/SchemaContract.arc32.json
@@ -34,7 +34,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/SchemaContract.arc56_draft.json b/tests/contracts/artifacts/SchemaContract.arc56_draft.json
index f0426b9e6..e52a27ddd 100644
--- a/tests/contracts/artifacts/SchemaContract.arc56_draft.json
+++ b/tests/contracts/artifacts/SchemaContract.arc56_draft.json
@@ -65,156 +65,159 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 13,
- "pc": [
- 0
- ]
- },
- {
- "teal": 13,
- "source": 13,
- "pc": [
- 1,
- 2
- ]
- },
- {
- "teal": 14,
- "source": 13,
- "pc": [
- 3
- ]
- },
- {
- "teal": 15,
- "source": 13,
- "pc": [
- 4,
- 5
- ]
- },
- {
- "teal": 16,
- "source": 13,
- "pc": [
- 6
- ]
- },
- {
- "teal": 17,
- "source": 13,
- "pc": [
- 7,
- 8
- ]
- },
- {
- "teal": 18,
- "source": 13,
- "pc": [
- 9
- ]
- },
- {
- "teal": 19,
- "source": 13,
- "pc": [
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35
- ]
- },
- {
- "teal": 23,
- "source": 13,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 36
- ]
- },
- {
- "teal": 26,
- "source": 13,
- "pc": [
- 37,
- 38
- ]
- },
- {
- "teal": 27,
- "source": 13,
- "pc": [
- 39
- ]
- },
- {
- "teal": 30,
- "source": 13,
- "pc": [
- 40,
- 41,
- 42,
- 43,
- 44,
- 45
- ]
- },
- {
- "teal": 31,
- "source": 13,
- "pc": [
- 46,
- 47,
- 48
- ]
- },
- {
- "teal": 32,
- "source": 13,
- "pc": [
- 49,
- 50,
- 51,
- 52
- ]
- },
- {
- "teal": 35,
- "source": 13,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 53
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 13,
+ "pc": [
+ 0
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 13,
+ "pc": [
+ 1,
+ 2
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 13,
+ "pc": [
+ 3
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 13,
+ "pc": [
+ 4,
+ 5
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 13,
+ "pc": [
+ 6
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 13,
+ "pc": [
+ 7,
+ 8
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 13,
+ "pc": [
+ 9
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 13,
+ "pc": [
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 13,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 36
+ ]
+ },
+ {
+ "teal": 26,
+ "source": 13,
+ "pc": [
+ 37,
+ 38
+ ]
+ },
+ {
+ "teal": 27,
+ "source": 13,
+ "pc": [
+ 39
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 13,
+ "pc": [
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "teal": 31,
+ "source": 13,
+ "pc": [
+ 46,
+ 47,
+ 48
+ ]
+ },
+ {
+ "teal": 32,
+ "source": 13,
+ "pc": [
+ 49,
+ 50,
+ 51,
+ 52
+ ]
+ },
+ {
+ "teal": 35,
+ "source": 13,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 53
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50IDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/StorageTest.approval.teal b/tests/contracts/artifacts/StorageTest.approval.teal
index 247f70cc2..3161e31ae 100644
--- a/tests/contracts/artifacts/StorageTest.approval.teal
+++ b/tests/contracts/artifacts/StorageTest.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/StorageTest.arc32.json b/tests/contracts/artifacts/StorageTest.arc32.json
index bab860fdb..85b94b47c 100644
--- a/tests/contracts/artifacts/StorageTest.arc32.json
+++ b/tests/contracts/artifacts/StorageTest.arc32.json
@@ -249,7 +249,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcmVmaXgoKXZvaWQKKmFiaV9yb3V0ZV9wcmVmaXg6CgkvLyBleGVjdXRlIHByZWZpeCgpdm9pZAoJY2FsbHN1YiBwcmVmaXgKCWludCAxCglyZXR1cm4KCi8vIHByZWZpeCgpOiB2b2lkCnByZWZpeDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjYKCS8vIHRoaXMuYm94TWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlIDB4NjY2ZjZmCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjcKCS8vIHRoaXMuZ2xvYmFsTWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlIDB4NjY2ZjZmCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjgKCS8vIHRoaXMubG9jYWxNYXBXaXRoUHJlZml4KHRoaXMudHhuLnNlbmRlciwgJ29vJykudmFsdWUgPSAnYmFyJwoJdHhuIFNlbmRlcgoJYnl0ZSAweDY2NmY2ZgoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxLZXlQdXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQ6CgkvLyBleGVjdXRlIGdsb2JhbEtleVB1dCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlQdXQKCWludCAxCglyZXR1cm4KCi8vIGdsb2JhbEtleVB1dCgpOiB2b2lkCmdsb2JhbEtleVB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MzIKCS8vIHRoaXMuZ2xvYmFsS2V5LnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbEtleUdldCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleUdldDoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5R2V0KCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleUdldAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5R2V0KCk6IHZvaWQKZ2xvYmFsS2V5R2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czozNgoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsS2V5LnZhbHVlID09PSAnYmFyJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbEtleURlbGV0ZSgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleURlbGV0ZToKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RGVsZXRlKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleURlbGV0ZQoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RGVsZXRlKCk6IHZvaWQKZ2xvYmFsS2V5RGVsZXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0MAoJLy8gdGhpcy5nbG9iYWxLZXkuZGVsZXRlKCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZGVsCglyZXRzdWIKCi8vIGdsb2JhbEtleUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleUV4aXN0czoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RXhpc3RzKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleUV4aXN0cwoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RXhpc3RzKCk6IHZvaWQKZ2xvYmFsS2V5RXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0NAoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsS2V5LmV4aXN0cykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleVB1dDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5UHV0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5UHV0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleVB1dAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxLZXlQdXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlQdXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjQ4CgkvLyB0aGlzLmxvY2FsS2V5KGEpLnZhbHVlID0gJ2JhcicKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5R2V0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlHZXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlHZXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5R2V0CglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleUdldChhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleUdldDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTIKCS8vIGFzc2VydCh0aGlzLmxvY2FsS2V5KGEpLnZhbHVlID09PSAnYmFyJykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5RGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RGVsZXRlCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleURlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleURlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTYKCS8vIHRoaXMubG9jYWxLZXkoYSkuZGVsZXRlKCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZGVsCglyZXRzdWIKCi8vIGxvY2FsS2V5RXhpc3RzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RXhpc3RzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlFeGlzdHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlFeGlzdHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleUV4aXN0cyhhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleUV4aXN0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NjAKCS8vIGFzc2VydCh0aGlzLmxvY2FsS2V5KGEpLmV4aXN0cykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlQdXQoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlQdXQ6CgkvLyBleGVjdXRlIGJveEtleVB1dCgpdm9pZAoJY2FsbHN1YiBib3hLZXlQdXQKCWludCAxCglyZXR1cm4KCi8vIGJveEtleVB1dCgpOiB2b2lkCmJveEtleVB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NjQKCS8vIHRoaXMuYm94S2V5LnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWJveF9wdXQKCXJldHN1YgoKLy8gYm94S2V5R2V0KCl2b2lkCiphYmlfcm91dGVfYm94S2V5R2V0OgoJLy8gZXhlY3V0ZSBib3hLZXlHZXQoKXZvaWQKCWNhbGxzdWIgYm94S2V5R2V0CglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlHZXQoKTogdm9pZApib3hLZXlHZXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjY4CgkvLyBhc3NlcnQodGhpcy5ib3hLZXkudmFsdWUgPT09ICdiYXInKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hLZXkudmFsdWUKCWFzc2VydAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlEZWxldGU6CgkvLyBleGVjdXRlIGJveEtleURlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGJveEtleURlbGV0ZSgpOiB2b2lkCmJveEtleURlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzIKCS8vIHRoaXMuYm94S2V5LmRlbGV0ZSgpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfZGVsCglyZXRzdWIKCi8vIGJveEtleUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2JveEtleUV4aXN0czoKCS8vIGV4ZWN1dGUgYm94S2V5RXhpc3RzKCl2b2lkCgljYWxsc3ViIGJveEtleUV4aXN0cwoJaW50IDEKCXJldHVybgoKLy8gYm94S2V5RXhpc3RzKCk6IHZvaWQKYm94S2V5RXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo3NgoJLy8gYXNzZXJ0KHRoaXMuYm94S2V5LmV4aXN0cykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9sZW4KCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbE1hcFB1dCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dDoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwUHV0KCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcFB1dAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwUHV0KCk6IHZvaWQKZ2xvYmFsTWFwUHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo4MAoJLy8gdGhpcy5nbG9iYWxNYXAoJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbE1hcEdldCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcEdldDoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwR2V0KCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcEdldAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwR2V0KCk6IHZvaWQKZ2xvYmFsTWFwR2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo4NAoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsTWFwKCdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBnbG9iYWxNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBEZWxldGU6CgkvLyBleGVjdXRlIGdsb2JhbE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcERlbGV0ZSgpOiB2b2lkCmdsb2JhbE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODgKCS8vIHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5kZWxldGUoKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2dsb2JhbF9kZWwKCXJldHN1YgoKLy8gZ2xvYmFsTWFwRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfZ2xvYmFsTWFwRXhpc3RzOgoJLy8gZXhlY3V0ZSBnbG9iYWxNYXBFeGlzdHMoKXZvaWQKCWNhbGxzdWIgZ2xvYmFsTWFwRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBnbG9iYWxNYXBFeGlzdHMoKTogdm9pZApnbG9iYWxNYXBFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjkyCgkvLyBhc3NlcnQodGhpcy5nbG9iYWxNYXAoJ2ZvbycpLmV4aXN0cykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbE1hcFB1dDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsTWFwUHV0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsTWFwUHV0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbE1hcFB1dAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxNYXBQdXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxNYXBQdXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjk2CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS52YWx1ZSA9ICdiYXInCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBsb2NhbE1hcEdldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbE1hcEdldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsTWFwR2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbE1hcEdldAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxNYXBHZXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxNYXBHZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KHRoaXMubG9jYWxNYXAoYSwgJ2ZvbycpLnZhbHVlID09PSAnYmFyJykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwRGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRGVsZXRlCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbE1hcERlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcERlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA0CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5kZWxldGUoKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9sb2NhbF9kZWwKCXJldHN1YgoKLy8gbG9jYWxNYXBFeGlzdHMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbG9jYWxNYXBFeGlzdHM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBsb2NhbE1hcEV4aXN0cyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbG9jYWxNYXBFeGlzdHMKCWludCAxCglyZXR1cm4KCi8vIGxvY2FsTWFwRXhpc3RzKGE6IEFkZHJlc3MpOiB2b2lkCmxvY2FsTWFwRXhpc3RzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMDgKCS8vIGFzc2VydCh0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5leGlzdHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYm94TWFwUHV0KCl2b2lkCiphYmlfcm91dGVfYm94TWFwUHV0OgoJLy8gZXhlY3V0ZSBib3hNYXBQdXQoKXZvaWQKCWNhbGxzdWIgYm94TWFwUHV0CglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBQdXQoKTogdm9pZApib3hNYXBQdXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjExMgoJLy8gdGhpcy5ib3hNYXAoJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWJveF9wdXQKCXJldHN1YgoKLy8gYm94TWFwR2V0KCl2b2lkCiphYmlfcm91dGVfYm94TWFwR2V0OgoJLy8gZXhlY3V0ZSBib3hNYXBHZXQoKXZvaWQKCWNhbGxzdWIgYm94TWFwR2V0CglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBHZXQoKTogdm9pZApib3hNYXBHZXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjExNgoJLy8gYXNzZXJ0KHRoaXMuYm94TWFwKCdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnZm9vJykudmFsdWUKCWFzc2VydAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBEZWxldGU6CgkvLyBleGVjdXRlIGJveE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGJveE1hcERlbGV0ZSgpOiB2b2lkCmJveE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTIwCgkvLyB0aGlzLmJveE1hcCgnZm9vJykuZGVsZXRlKCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9kZWwKCXJldHN1YgoKLy8gYm94TWFwRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfYm94TWFwRXhpc3RzOgoJLy8gZXhlY3V0ZSBib3hNYXBFeGlzdHMoKXZvaWQKCWNhbGxzdWIgYm94TWFwRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBFeGlzdHMoKTogdm9pZApib3hNYXBFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEyNAoJLy8gYXNzZXJ0KHRoaXMuYm94TWFwKCdmb28nKS5leGlzdHMpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfbGVuCglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlDcmVhdGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlDcmVhdGU6CgkvLyBleGVjdXRlIGJveEtleUNyZWF0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlDcmVhdGUKCWludCAxCglyZXR1cm4KCi8vIGJveEtleUNyZWF0ZSgpOiB2b2lkCmJveEtleUNyZWF0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTI4CgkvLyB0aGlzLmJveEtleS5jcmVhdGUoMTAyNCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWludCAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94TWFwQ3JlYXRlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwQ3JlYXRlOgoJLy8gZXhlY3V0ZSBib3hNYXBDcmVhdGUoKXZvaWQKCWNhbGxzdWIgYm94TWFwQ3JlYXRlCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBDcmVhdGUoKTogdm9pZApib3hNYXBDcmVhdGU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzMgoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLmNyZWF0ZSgxMDI0KQoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJaW50IDEwMjQKCWJveF9jcmVhdGUKCXBvcAoJcmV0c3ViCgovLyBib3hLZXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2JveEtleUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hLZXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBib3hLZXlMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlMZW5ndGgoKTogdWludDY0CmJveEtleUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTM2CgkvLyByZXR1cm4gdGhpcy5ib3hLZXkuc2l6ZTsKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9sZW4KCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnNpemUKCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2JveE1hcExlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hNYXBMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBib3hNYXBMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBMZW5ndGgoKTogdWludDY0CmJveE1hcExlbmd0aDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTQwCgkvLyByZXR1cm4gdGhpcy5ib3hNYXAoJ2JhcicpLnNpemU7CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVJlcGxhY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlSZXBsYWNlOgoJLy8gZXhlY3V0ZSBib3hLZXlSZXBsYWNlKCl2b2lkCgljYWxsc3ViIGJveEtleVJlcGxhY2UKCWludCAxCglyZXR1cm4KCi8vIGJveEtleVJlcGxhY2UoKTogdm9pZApib3hLZXlSZXBsYWNlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDQKCS8vIHRoaXMuYm94S2V5LnJlcGxhY2UoMCwgJ2FiYycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYm94TWFwUmVwbGFjZSgpdm9pZAoqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2U6CgkvLyBleGVjdXRlIGJveE1hcFJlcGxhY2UoKXZvaWQKCWNhbGxzdWIgYm94TWFwUmVwbGFjZQoJaW50IDEKCXJldHVybgoKLy8gYm94TWFwUmVwbGFjZSgpOiB2b2lkCmJveE1hcFJlcGxhY2U6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE0OAoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLnJlcGxhY2UoMCwgJ2FiYycpCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglpbnQgMAoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYm94S2V5RXh0cmFjdCgpc3RyaW5nCiphYmlfcm91dGVfYm94S2V5RXh0cmFjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hLZXlFeHRyYWN0KClzdHJpbmcKCWNhbGxzdWIgYm94S2V5RXh0cmFjdAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlFeHRyYWN0KCk6IHN0cmluZwpib3hLZXlFeHRyYWN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNTIKCS8vIHJldHVybiB0aGlzLmJveEtleS5leHRyYWN0KDAsIDMpOwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBib3hNYXBFeHRyYWN0KClzdHJpbmcKKmFiaV9yb3V0ZV9ib3hNYXBFeHRyYWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveE1hcEV4dHJhY3QoKXN0cmluZwoJY2FsbHN1YiBib3hNYXBFeHRyYWN0CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJveE1hcEV4dHJhY3QoKTogc3RyaW5nCmJveE1hcEV4dHJhY3Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE1NgoJLy8gcmV0dXJuIHRoaXMuYm94TWFwKCdiYXInKS5leHRyYWN0KDAsIDMpOwoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJaW50IDAKCWludCAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBpc09wdGVkSW4oKWJvb2wKKmFiaV9yb3V0ZV9pc09wdGVkSW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaXNPcHRlZEluKClib29sCgljYWxsc3ViIGlzT3B0ZWRJbgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBpc09wdGVkSW4oKTogYm9vbGVhbgppc09wdGVkSW46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE2MAoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlci5pc09wdGVkSW5Ub0FwcCh0aGlzLmFwcCk7Cgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfb3B0ZWRfaW4KCXJldHN1YgoKLy8gZXhHbG9iYWwoKXZvaWQKKmFiaV9yb3V0ZV9leEdsb2JhbDoKCS8vIGV4ZWN1dGUgZXhHbG9iYWwoKXZvaWQKCWNhbGxzdWIgZXhHbG9iYWwKCWludCAxCglyZXR1cm4KCi8vIGV4R2xvYmFsKCk6IHZvaWQKZXhHbG9iYWw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE2NAoJLy8gbG9nKHRoaXMuYXBwLmdsb2JhbFN0YXRlKCdmb28nKSBhcyBieXRlcykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5nbG9iYWxTdGF0ZSgnZm9vJykKCWFzc2VydAoJbG9nCglyZXRzdWIKCi8vIGV4TG9jYWwoKXZvaWQKKmFiaV9yb3V0ZV9leExvY2FsOgoJLy8gZXhlY3V0ZSBleExvY2FsKCl2b2lkCgljYWxsc3ViIGV4TG9jYWwKCWludCAxCglyZXR1cm4KCi8vIGV4TG9jYWwoKTogdm9pZApleExvY2FsOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNjgKCS8vIGxvZyh0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoKCS8vIGxvY2FsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpCglhc3NlcnQKCWxvZwoJcmV0c3ViCgovLyBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKXVpbnQxNgoqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKXVpbnQxNgoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3gKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKTogdWludDE2CmFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTcyCgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC5jcmVhdGUoKQoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJaW50IDgwMDAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTczCgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC52YWx1ZVsxMjNdID0gNDU2CglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgMjQ2CglieXRlIDB4MDFjOAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3NQoJLy8gcmV0dXJuIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM107CglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgMjQ2CglpbnQgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCh1aW50NjQpdWludDE2CiphYmlfcm91dGVfZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gaTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYKCWNhbGxzdWIgZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KGk6IHVpbnQ2NCk6IHVpbnQxNgpkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNzkKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LmNyZWF0ZSgpCglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgODAwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODAKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlW2ldID0gNDU2CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglieXRlIDB4MDFjOAoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4NAoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMgoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gYm94UmVzaXplKCl2b2lkCiphYmlfcm91dGVfYm94UmVzaXplOgoJLy8gZXhlY3V0ZSBib3hSZXNpemUoKXZvaWQKCWNhbGxzdWIgYm94UmVzaXplCglpbnQgMQoJcmV0dXJuCgovLyBib3hSZXNpemUoKTogdm9pZApib3hSZXNpemU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4OAoJLy8gdGhpcy5ib3hLZXkucmVzaXplKDEwMjQpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMTAyNAoJYm94X3Jlc2l6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTg5CgkvLyB0aGlzLmJveE1hcCgnYmFyJykucmVzaXplKDEwMjQpCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglpbnQgMTAyNAoJYm94X3Jlc2l6ZQoJcmV0c3ViCgovLyBib3hTcGxpY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hTcGxpY2U6CgkvLyBleGVjdXRlIGJveFNwbGljZSgpdm9pZAoJY2FsbHN1YiBib3hTcGxpY2UKCWludCAxCglyZXR1cm4KCi8vIGJveFNwbGljZSgpOiB2b2lkCmJveFNwbGljZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTkzCgkvLyB0aGlzLmJveEtleS5zcGxpY2UoMCwgMSwgJ2FiYycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJaW50IDEKCWJ5dGUgMHg2MTYyNjMgLy8gImFiYyIKCWJveF9zcGxpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5NAoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLnNwbGljZSgwLCAxLCAnYWJjJykKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWludCAwCglpbnQgMQoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3NwbGljZQoJcmV0c3ViCgovLyBleFN0YXRlRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfZXhTdGF0ZUV4aXN0czoKCS8vIGV4ZWN1dGUgZXhTdGF0ZUV4aXN0cygpdm9pZAoJY2FsbHN1YiBleFN0YXRlRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBleFN0YXRlRXhpc3RzKCk6IHZvaWQKZXhTdGF0ZUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTk4CgkvLyBhc3NlcnQodGhpcy5hcHAuZ2xvYmFsU3RhdGVFeGlzdHMoJ2ZvbycpKQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxOTkKCS8vIGFzc2VydCh0aGlzLmFwcC5sb2NhbFN0YXRlRXhpc3RzKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInByZWZpeCgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsS2V5UHV0KCl2b2lkIgoJbWV0aG9kICJnbG9iYWxLZXlHZXQoKXZvaWQiCgltZXRob2QgImdsb2JhbEtleURlbGV0ZSgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsS2V5RXhpc3RzKCl2b2lkIgoJbWV0aG9kICJsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQiCgltZXRob2QgImxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAibG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQiCgltZXRob2QgImJveEtleVB1dCgpdm9pZCIKCW1ldGhvZCAiYm94S2V5R2V0KCl2b2lkIgoJbWV0aG9kICJib3hLZXlEZWxldGUoKXZvaWQiCgltZXRob2QgImJveEtleUV4aXN0cygpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsTWFwUHV0KCl2b2lkIgoJbWV0aG9kICJnbG9iYWxNYXBHZXQoKXZvaWQiCgltZXRob2QgImdsb2JhbE1hcERlbGV0ZSgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsTWFwRXhpc3RzKCl2b2lkIgoJbWV0aG9kICJsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQiCgltZXRob2QgImxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAibG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQiCgltZXRob2QgImJveE1hcFB1dCgpdm9pZCIKCW1ldGhvZCAiYm94TWFwR2V0KCl2b2lkIgoJbWV0aG9kICJib3hNYXBEZWxldGUoKXZvaWQiCgltZXRob2QgImJveE1hcEV4aXN0cygpdm9pZCIKCW1ldGhvZCAiYm94S2V5Q3JlYXRlKCl2b2lkIgoJbWV0aG9kICJib3hNYXBDcmVhdGUoKXZvaWQiCgltZXRob2QgImJveEtleUxlbmd0aCgpdWludDY0IgoJbWV0aG9kICJib3hNYXBMZW5ndGgoKXVpbnQ2NCIKCW1ldGhvZCAiYm94S2V5UmVwbGFjZSgpdm9pZCIKCW1ldGhvZCAiYm94TWFwUmVwbGFjZSgpdm9pZCIKCW1ldGhvZCAiYm94S2V5RXh0cmFjdCgpc3RyaW5nIgoJbWV0aG9kICJib3hNYXBFeHRyYWN0KClzdHJpbmciCgltZXRob2QgImlzT3B0ZWRJbigpYm9vbCIKCW1ldGhvZCAiZXhHbG9iYWwoKXZvaWQiCgltZXRob2QgImV4TG9jYWwoKXZvaWQiCgltZXRob2QgImFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCgpdWludDE2IgoJbWV0aG9kICJkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYiCgltZXRob2QgImJveFJlc2l6ZSgpdm9pZCIKCW1ldGhvZCAiYm94U3BsaWNlKCl2b2lkIgoJbWV0aG9kICJleFN0YXRlRXhpc3RzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcmVmaXggKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHMgKmFiaV9yb3V0ZV9sb2NhbEtleVB1dCAqYWJpX3JvdXRlX2xvY2FsS2V5R2V0ICphYmlfcm91dGVfbG9jYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0cyAqYWJpX3JvdXRlX2JveEtleVB1dCAqYWJpX3JvdXRlX2JveEtleUdldCAqYWJpX3JvdXRlX2JveEtleURlbGV0ZSAqYWJpX3JvdXRlX2JveEtleUV4aXN0cyAqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dCAqYWJpX3JvdXRlX2dsb2JhbE1hcEdldCAqYWJpX3JvdXRlX2dsb2JhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0cyAqYWJpX3JvdXRlX2xvY2FsTWFwUHV0ICphYmlfcm91dGVfbG9jYWxNYXBHZXQgKmFiaV9yb3V0ZV9sb2NhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzICphYmlfcm91dGVfYm94TWFwUHV0ICphYmlfcm91dGVfYm94TWFwR2V0ICphYmlfcm91dGVfYm94TWFwRGVsZXRlICphYmlfcm91dGVfYm94TWFwRXhpc3RzICphYmlfcm91dGVfYm94S2V5Q3JlYXRlICphYmlfcm91dGVfYm94TWFwQ3JlYXRlICphYmlfcm91dGVfYm94S2V5TGVuZ3RoICphYmlfcm91dGVfYm94TWFwTGVuZ3RoICphYmlfcm91dGVfYm94S2V5UmVwbGFjZSAqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2UgKmFiaV9yb3V0ZV9ib3hLZXlFeHRyYWN0ICphYmlfcm91dGVfYm94TWFwRXh0cmFjdCAqYWJpX3JvdXRlX2lzT3B0ZWRJbiAqYWJpX3JvdXRlX2V4R2xvYmFsICphYmlfcm91dGVfZXhMb2NhbCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3ggKmFiaV9yb3V0ZV9ib3hSZXNpemUgKmFiaV9yb3V0ZV9ib3hTcGxpY2UgKmFiaV9yb3V0ZV9leFN0YXRlRXhpc3RzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcmVmaXgoKXZvaWQKKmFiaV9yb3V0ZV9wcmVmaXg6CgkvLyBleGVjdXRlIHByZWZpeCgpdm9pZAoJY2FsbHN1YiBwcmVmaXgKCWludCAxCglyZXR1cm4KCi8vIHByZWZpeCgpOiB2b2lkCnByZWZpeDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjYKCS8vIHRoaXMuYm94TWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlIDB4NjY2ZjZmCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjcKCS8vIHRoaXMuZ2xvYmFsTWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlIDB4NjY2ZjZmCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjgKCS8vIHRoaXMubG9jYWxNYXBXaXRoUHJlZml4KHRoaXMudHhuLnNlbmRlciwgJ29vJykudmFsdWUgPSAnYmFyJwoJdHhuIFNlbmRlcgoJYnl0ZSAweDY2NmY2ZgoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxLZXlQdXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQ6CgkvLyBleGVjdXRlIGdsb2JhbEtleVB1dCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlQdXQKCWludCAxCglyZXR1cm4KCi8vIGdsb2JhbEtleVB1dCgpOiB2b2lkCmdsb2JhbEtleVB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MzIKCS8vIHRoaXMuZ2xvYmFsS2V5LnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbEtleUdldCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleUdldDoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5R2V0KCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleUdldAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5R2V0KCk6IHZvaWQKZ2xvYmFsS2V5R2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czozNgoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsS2V5LnZhbHVlID09PSAnYmFyJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbEtleURlbGV0ZSgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleURlbGV0ZToKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RGVsZXRlKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleURlbGV0ZQoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RGVsZXRlKCk6IHZvaWQKZ2xvYmFsS2V5RGVsZXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0MAoJLy8gdGhpcy5nbG9iYWxLZXkuZGVsZXRlKCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZGVsCglyZXRzdWIKCi8vIGdsb2JhbEtleUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleUV4aXN0czoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RXhpc3RzKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleUV4aXN0cwoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RXhpc3RzKCk6IHZvaWQKZ2xvYmFsS2V5RXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0NAoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsS2V5LmV4aXN0cykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleVB1dDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5UHV0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5UHV0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleVB1dAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxLZXlQdXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlQdXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjQ4CgkvLyB0aGlzLmxvY2FsS2V5KGEpLnZhbHVlID0gJ2JhcicKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5R2V0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlHZXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlHZXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5R2V0CglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleUdldChhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleUdldDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTIKCS8vIGFzc2VydCh0aGlzLmxvY2FsS2V5KGEpLnZhbHVlID09PSAnYmFyJykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5RGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RGVsZXRlCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleURlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleURlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTYKCS8vIHRoaXMubG9jYWxLZXkoYSkuZGVsZXRlKCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZGVsCglyZXRzdWIKCi8vIGxvY2FsS2V5RXhpc3RzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RXhpc3RzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlFeGlzdHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlFeGlzdHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleUV4aXN0cyhhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleUV4aXN0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NjAKCS8vIGFzc2VydCh0aGlzLmxvY2FsS2V5KGEpLmV4aXN0cykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlQdXQoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlQdXQ6CgkvLyBleGVjdXRlIGJveEtleVB1dCgpdm9pZAoJY2FsbHN1YiBib3hLZXlQdXQKCWludCAxCglyZXR1cm4KCi8vIGJveEtleVB1dCgpOiB2b2lkCmJveEtleVB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NjQKCS8vIHRoaXMuYm94S2V5LnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWJveF9wdXQKCXJldHN1YgoKLy8gYm94S2V5R2V0KCl2b2lkCiphYmlfcm91dGVfYm94S2V5R2V0OgoJLy8gZXhlY3V0ZSBib3hLZXlHZXQoKXZvaWQKCWNhbGxzdWIgYm94S2V5R2V0CglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlHZXQoKTogdm9pZApib3hLZXlHZXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjY4CgkvLyBhc3NlcnQodGhpcy5ib3hLZXkudmFsdWUgPT09ICdiYXInKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hLZXkudmFsdWUKCWFzc2VydAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlEZWxldGU6CgkvLyBleGVjdXRlIGJveEtleURlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGJveEtleURlbGV0ZSgpOiB2b2lkCmJveEtleURlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzIKCS8vIHRoaXMuYm94S2V5LmRlbGV0ZSgpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfZGVsCglyZXRzdWIKCi8vIGJveEtleUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2JveEtleUV4aXN0czoKCS8vIGV4ZWN1dGUgYm94S2V5RXhpc3RzKCl2b2lkCgljYWxsc3ViIGJveEtleUV4aXN0cwoJaW50IDEKCXJldHVybgoKLy8gYm94S2V5RXhpc3RzKCk6IHZvaWQKYm94S2V5RXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo3NgoJLy8gYXNzZXJ0KHRoaXMuYm94S2V5LmV4aXN0cykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9sZW4KCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbE1hcFB1dCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dDoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwUHV0KCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcFB1dAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwUHV0KCk6IHZvaWQKZ2xvYmFsTWFwUHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo4MAoJLy8gdGhpcy5nbG9iYWxNYXAoJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbE1hcEdldCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcEdldDoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwR2V0KCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcEdldAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwR2V0KCk6IHZvaWQKZ2xvYmFsTWFwR2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo4NAoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsTWFwKCdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBnbG9iYWxNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBEZWxldGU6CgkvLyBleGVjdXRlIGdsb2JhbE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcERlbGV0ZSgpOiB2b2lkCmdsb2JhbE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODgKCS8vIHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5kZWxldGUoKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2dsb2JhbF9kZWwKCXJldHN1YgoKLy8gZ2xvYmFsTWFwRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfZ2xvYmFsTWFwRXhpc3RzOgoJLy8gZXhlY3V0ZSBnbG9iYWxNYXBFeGlzdHMoKXZvaWQKCWNhbGxzdWIgZ2xvYmFsTWFwRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBnbG9iYWxNYXBFeGlzdHMoKTogdm9pZApnbG9iYWxNYXBFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjkyCgkvLyBhc3NlcnQodGhpcy5nbG9iYWxNYXAoJ2ZvbycpLmV4aXN0cykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbE1hcFB1dDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsTWFwUHV0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsTWFwUHV0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbE1hcFB1dAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxNYXBQdXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxNYXBQdXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjk2CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS52YWx1ZSA9ICdiYXInCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBsb2NhbE1hcEdldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbE1hcEdldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsTWFwR2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbE1hcEdldAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxNYXBHZXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxNYXBHZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KHRoaXMubG9jYWxNYXAoYSwgJ2ZvbycpLnZhbHVlID09PSAnYmFyJykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwRGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRGVsZXRlCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbE1hcERlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcERlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA0CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5kZWxldGUoKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9sb2NhbF9kZWwKCXJldHN1YgoKLy8gbG9jYWxNYXBFeGlzdHMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbG9jYWxNYXBFeGlzdHM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBsb2NhbE1hcEV4aXN0cyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbG9jYWxNYXBFeGlzdHMKCWludCAxCglyZXR1cm4KCi8vIGxvY2FsTWFwRXhpc3RzKGE6IEFkZHJlc3MpOiB2b2lkCmxvY2FsTWFwRXhpc3RzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMDgKCS8vIGFzc2VydCh0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5leGlzdHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYm94TWFwUHV0KCl2b2lkCiphYmlfcm91dGVfYm94TWFwUHV0OgoJLy8gZXhlY3V0ZSBib3hNYXBQdXQoKXZvaWQKCWNhbGxzdWIgYm94TWFwUHV0CglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBQdXQoKTogdm9pZApib3hNYXBQdXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjExMgoJLy8gdGhpcy5ib3hNYXAoJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWJveF9wdXQKCXJldHN1YgoKLy8gYm94TWFwR2V0KCl2b2lkCiphYmlfcm91dGVfYm94TWFwR2V0OgoJLy8gZXhlY3V0ZSBib3hNYXBHZXQoKXZvaWQKCWNhbGxzdWIgYm94TWFwR2V0CglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBHZXQoKTogdm9pZApib3hNYXBHZXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjExNgoJLy8gYXNzZXJ0KHRoaXMuYm94TWFwKCdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnZm9vJykudmFsdWUKCWFzc2VydAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBEZWxldGU6CgkvLyBleGVjdXRlIGJveE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGJveE1hcERlbGV0ZSgpOiB2b2lkCmJveE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTIwCgkvLyB0aGlzLmJveE1hcCgnZm9vJykuZGVsZXRlKCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9kZWwKCXJldHN1YgoKLy8gYm94TWFwRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfYm94TWFwRXhpc3RzOgoJLy8gZXhlY3V0ZSBib3hNYXBFeGlzdHMoKXZvaWQKCWNhbGxzdWIgYm94TWFwRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBFeGlzdHMoKTogdm9pZApib3hNYXBFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEyNAoJLy8gYXNzZXJ0KHRoaXMuYm94TWFwKCdmb28nKS5leGlzdHMpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfbGVuCglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlDcmVhdGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlDcmVhdGU6CgkvLyBleGVjdXRlIGJveEtleUNyZWF0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlDcmVhdGUKCWludCAxCglyZXR1cm4KCi8vIGJveEtleUNyZWF0ZSgpOiB2b2lkCmJveEtleUNyZWF0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTI4CgkvLyB0aGlzLmJveEtleS5jcmVhdGUoMTAyNCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWludCAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94TWFwQ3JlYXRlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwQ3JlYXRlOgoJLy8gZXhlY3V0ZSBib3hNYXBDcmVhdGUoKXZvaWQKCWNhbGxzdWIgYm94TWFwQ3JlYXRlCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBDcmVhdGUoKTogdm9pZApib3hNYXBDcmVhdGU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzMgoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLmNyZWF0ZSgxMDI0KQoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJaW50IDEwMjQKCWJveF9jcmVhdGUKCXBvcAoJcmV0c3ViCgovLyBib3hLZXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2JveEtleUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hLZXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBib3hLZXlMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlMZW5ndGgoKTogdWludDY0CmJveEtleUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTM2CgkvLyByZXR1cm4gdGhpcy5ib3hLZXkuc2l6ZTsKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9sZW4KCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnNpemUKCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2JveE1hcExlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hNYXBMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBib3hNYXBMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBMZW5ndGgoKTogdWludDY0CmJveE1hcExlbmd0aDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTQwCgkvLyByZXR1cm4gdGhpcy5ib3hNYXAoJ2JhcicpLnNpemU7CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVJlcGxhY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlSZXBsYWNlOgoJLy8gZXhlY3V0ZSBib3hLZXlSZXBsYWNlKCl2b2lkCgljYWxsc3ViIGJveEtleVJlcGxhY2UKCWludCAxCglyZXR1cm4KCi8vIGJveEtleVJlcGxhY2UoKTogdm9pZApib3hLZXlSZXBsYWNlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDQKCS8vIHRoaXMuYm94S2V5LnJlcGxhY2UoMCwgJ2FiYycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYm94TWFwUmVwbGFjZSgpdm9pZAoqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2U6CgkvLyBleGVjdXRlIGJveE1hcFJlcGxhY2UoKXZvaWQKCWNhbGxzdWIgYm94TWFwUmVwbGFjZQoJaW50IDEKCXJldHVybgoKLy8gYm94TWFwUmVwbGFjZSgpOiB2b2lkCmJveE1hcFJlcGxhY2U6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE0OAoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLnJlcGxhY2UoMCwgJ2FiYycpCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglpbnQgMAoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYm94S2V5RXh0cmFjdCgpc3RyaW5nCiphYmlfcm91dGVfYm94S2V5RXh0cmFjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hLZXlFeHRyYWN0KClzdHJpbmcKCWNhbGxzdWIgYm94S2V5RXh0cmFjdAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlFeHRyYWN0KCk6IHN0cmluZwpib3hLZXlFeHRyYWN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNTIKCS8vIHJldHVybiB0aGlzLmJveEtleS5leHRyYWN0KDAsIDMpOwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBib3hNYXBFeHRyYWN0KClzdHJpbmcKKmFiaV9yb3V0ZV9ib3hNYXBFeHRyYWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveE1hcEV4dHJhY3QoKXN0cmluZwoJY2FsbHN1YiBib3hNYXBFeHRyYWN0CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJveE1hcEV4dHJhY3QoKTogc3RyaW5nCmJveE1hcEV4dHJhY3Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE1NgoJLy8gcmV0dXJuIHRoaXMuYm94TWFwKCdiYXInKS5leHRyYWN0KDAsIDMpOwoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJaW50IDAKCWludCAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBpc09wdGVkSW4oKWJvb2wKKmFiaV9yb3V0ZV9pc09wdGVkSW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaXNPcHRlZEluKClib29sCgljYWxsc3ViIGlzT3B0ZWRJbgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBpc09wdGVkSW4oKTogYm9vbGVhbgppc09wdGVkSW46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE2MAoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlci5pc09wdGVkSW5Ub0FwcCh0aGlzLmFwcCk7Cgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfb3B0ZWRfaW4KCXJldHN1YgoKLy8gZXhHbG9iYWwoKXZvaWQKKmFiaV9yb3V0ZV9leEdsb2JhbDoKCS8vIGV4ZWN1dGUgZXhHbG9iYWwoKXZvaWQKCWNhbGxzdWIgZXhHbG9iYWwKCWludCAxCglyZXR1cm4KCi8vIGV4R2xvYmFsKCk6IHZvaWQKZXhHbG9iYWw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE2NAoJLy8gbG9nKHRoaXMuYXBwLmdsb2JhbFN0YXRlKCdmb28nKSBhcyBieXRlcykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5nbG9iYWxTdGF0ZSgnZm9vJykKCWFzc2VydAoJbG9nCglyZXRzdWIKCi8vIGV4TG9jYWwoKXZvaWQKKmFiaV9yb3V0ZV9leExvY2FsOgoJLy8gZXhlY3V0ZSBleExvY2FsKCl2b2lkCgljYWxsc3ViIGV4TG9jYWwKCWludCAxCglyZXR1cm4KCi8vIGV4TG9jYWwoKTogdm9pZApleExvY2FsOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNjgKCS8vIGxvZyh0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoKCS8vIGxvY2FsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpCglhc3NlcnQKCWxvZwoJcmV0c3ViCgovLyBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKXVpbnQxNgoqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKXVpbnQxNgoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3gKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKTogdWludDE2CmFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTcyCgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC5jcmVhdGUoKQoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJaW50IDgwMDAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTczCgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC52YWx1ZVsxMjNdID0gNDU2CglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgMjQ2CglieXRlIDB4MDFjOAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3NQoJLy8gcmV0dXJuIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM107CglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgMjQ2CglpbnQgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCh1aW50NjQpdWludDE2CiphYmlfcm91dGVfZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gaTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYKCWNhbGxzdWIgZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KGk6IHVpbnQ2NCk6IHVpbnQxNgpkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNzkKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LmNyZWF0ZSgpCglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgODAwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODAKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlW2ldID0gNDU2CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglieXRlIDB4MDFjOAoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4NAoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMgoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gYm94UmVzaXplKCl2b2lkCiphYmlfcm91dGVfYm94UmVzaXplOgoJLy8gZXhlY3V0ZSBib3hSZXNpemUoKXZvaWQKCWNhbGxzdWIgYm94UmVzaXplCglpbnQgMQoJcmV0dXJuCgovLyBib3hSZXNpemUoKTogdm9pZApib3hSZXNpemU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4OAoJLy8gdGhpcy5ib3hLZXkucmVzaXplKDEwMjQpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMTAyNAoJYm94X3Jlc2l6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTg5CgkvLyB0aGlzLmJveE1hcCgnYmFyJykucmVzaXplKDEwMjQpCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglpbnQgMTAyNAoJYm94X3Jlc2l6ZQoJcmV0c3ViCgovLyBib3hTcGxpY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hTcGxpY2U6CgkvLyBleGVjdXRlIGJveFNwbGljZSgpdm9pZAoJY2FsbHN1YiBib3hTcGxpY2UKCWludCAxCglyZXR1cm4KCi8vIGJveFNwbGljZSgpOiB2b2lkCmJveFNwbGljZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTkzCgkvLyB0aGlzLmJveEtleS5zcGxpY2UoMCwgMSwgJ2FiYycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJaW50IDEKCWJ5dGUgMHg2MTYyNjMgLy8gImFiYyIKCWJveF9zcGxpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5NAoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLnNwbGljZSgwLCAxLCAnYWJjJykKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWludCAwCglpbnQgMQoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3NwbGljZQoJcmV0c3ViCgovLyBleFN0YXRlRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfZXhTdGF0ZUV4aXN0czoKCS8vIGV4ZWN1dGUgZXhTdGF0ZUV4aXN0cygpdm9pZAoJY2FsbHN1YiBleFN0YXRlRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBleFN0YXRlRXhpc3RzKCk6IHZvaWQKZXhTdGF0ZUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTk4CgkvLyBhc3NlcnQodGhpcy5hcHAuZ2xvYmFsU3RhdGVFeGlzdHMoJ2ZvbycpKQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxOTkKCS8vIGFzc2VydCh0aGlzLmFwcC5sb2NhbFN0YXRlRXhpc3RzKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInByZWZpeCgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsS2V5UHV0KCl2b2lkIgoJbWV0aG9kICJnbG9iYWxLZXlHZXQoKXZvaWQiCgltZXRob2QgImdsb2JhbEtleURlbGV0ZSgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsS2V5RXhpc3RzKCl2b2lkIgoJbWV0aG9kICJsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQiCgltZXRob2QgImxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAibG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQiCgltZXRob2QgImJveEtleVB1dCgpdm9pZCIKCW1ldGhvZCAiYm94S2V5R2V0KCl2b2lkIgoJbWV0aG9kICJib3hLZXlEZWxldGUoKXZvaWQiCgltZXRob2QgImJveEtleUV4aXN0cygpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsTWFwUHV0KCl2b2lkIgoJbWV0aG9kICJnbG9iYWxNYXBHZXQoKXZvaWQiCgltZXRob2QgImdsb2JhbE1hcERlbGV0ZSgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsTWFwRXhpc3RzKCl2b2lkIgoJbWV0aG9kICJsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQiCgltZXRob2QgImxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAibG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQiCgltZXRob2QgImJveE1hcFB1dCgpdm9pZCIKCW1ldGhvZCAiYm94TWFwR2V0KCl2b2lkIgoJbWV0aG9kICJib3hNYXBEZWxldGUoKXZvaWQiCgltZXRob2QgImJveE1hcEV4aXN0cygpdm9pZCIKCW1ldGhvZCAiYm94S2V5Q3JlYXRlKCl2b2lkIgoJbWV0aG9kICJib3hNYXBDcmVhdGUoKXZvaWQiCgltZXRob2QgImJveEtleUxlbmd0aCgpdWludDY0IgoJbWV0aG9kICJib3hNYXBMZW5ndGgoKXVpbnQ2NCIKCW1ldGhvZCAiYm94S2V5UmVwbGFjZSgpdm9pZCIKCW1ldGhvZCAiYm94TWFwUmVwbGFjZSgpdm9pZCIKCW1ldGhvZCAiYm94S2V5RXh0cmFjdCgpc3RyaW5nIgoJbWV0aG9kICJib3hNYXBFeHRyYWN0KClzdHJpbmciCgltZXRob2QgImlzT3B0ZWRJbigpYm9vbCIKCW1ldGhvZCAiZXhHbG9iYWwoKXZvaWQiCgltZXRob2QgImV4TG9jYWwoKXZvaWQiCgltZXRob2QgImFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCgpdWludDE2IgoJbWV0aG9kICJkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYiCgltZXRob2QgImJveFJlc2l6ZSgpdm9pZCIKCW1ldGhvZCAiYm94U3BsaWNlKCl2b2lkIgoJbWV0aG9kICJleFN0YXRlRXhpc3RzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcmVmaXggKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHMgKmFiaV9yb3V0ZV9sb2NhbEtleVB1dCAqYWJpX3JvdXRlX2xvY2FsS2V5R2V0ICphYmlfcm91dGVfbG9jYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0cyAqYWJpX3JvdXRlX2JveEtleVB1dCAqYWJpX3JvdXRlX2JveEtleUdldCAqYWJpX3JvdXRlX2JveEtleURlbGV0ZSAqYWJpX3JvdXRlX2JveEtleUV4aXN0cyAqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dCAqYWJpX3JvdXRlX2dsb2JhbE1hcEdldCAqYWJpX3JvdXRlX2dsb2JhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0cyAqYWJpX3JvdXRlX2xvY2FsTWFwUHV0ICphYmlfcm91dGVfbG9jYWxNYXBHZXQgKmFiaV9yb3V0ZV9sb2NhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzICphYmlfcm91dGVfYm94TWFwUHV0ICphYmlfcm91dGVfYm94TWFwR2V0ICphYmlfcm91dGVfYm94TWFwRGVsZXRlICphYmlfcm91dGVfYm94TWFwRXhpc3RzICphYmlfcm91dGVfYm94S2V5Q3JlYXRlICphYmlfcm91dGVfYm94TWFwQ3JlYXRlICphYmlfcm91dGVfYm94S2V5TGVuZ3RoICphYmlfcm91dGVfYm94TWFwTGVuZ3RoICphYmlfcm91dGVfYm94S2V5UmVwbGFjZSAqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2UgKmFiaV9yb3V0ZV9ib3hLZXlFeHRyYWN0ICphYmlfcm91dGVfYm94TWFwRXh0cmFjdCAqYWJpX3JvdXRlX2lzT3B0ZWRJbiAqYWJpX3JvdXRlX2V4R2xvYmFsICphYmlfcm91dGVfZXhMb2NhbCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3ggKmFiaV9yb3V0ZV9ib3hSZXNpemUgKmFiaV9yb3V0ZV9ib3hTcGxpY2UgKmFiaV9yb3V0ZV9leFN0YXRlRXhpc3RzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/StorageTest.arc56_draft.json b/tests/contracts/artifacts/StorageTest.arc56_draft.json
index 2b858d35e..6b3fbf1b5 100644
--- a/tests/contracts/artifacts/StorageTest.arc56_draft.json
+++ b/tests/contracts/artifacts/StorageTest.arc56_draft.json
@@ -678,4783 +678,4786 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 4,
- "pc": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58
- ]
- },
- {
- "teal": 13,
- "source": 4,
- "pc": [
- 59,
- 60
- ]
- },
- {
- "teal": 14,
- "source": 4,
- "pc": [
- 61
- ]
- },
- {
- "teal": 15,
- "source": 4,
- "pc": [
- 62,
- 63
- ]
- },
- {
- "teal": 16,
- "source": 4,
- "pc": [
- 64
- ]
- },
- {
- "teal": 17,
- "source": 4,
- "pc": [
- 65,
- 66
- ]
- },
- {
- "teal": 18,
- "source": 4,
- "pc": [
- 67
- ]
- },
- {
- "teal": 19,
- "source": 4,
- "pc": [
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93
- ]
- },
- {
- "teal": 23,
- "source": 4,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "pc": [
- 94
- ]
- },
- {
- "teal": 28,
- "source": 25,
- "pc": [
- 95,
- 96,
- 97
- ]
- },
- {
- "teal": 29,
- "source": 25,
- "pc": [
- 98
- ]
- },
- {
- "teal": 30,
- "source": 25,
- "pc": [
- 99
- ]
- },
- {
- "teal": 34,
- "source": 25,
- "pc": [
- 100,
- 101,
- 102
- ]
- },
- {
- "teal": 38,
- "source": 26,
- "pc": [
- 103
- ]
- },
- {
- "teal": 39,
- "source": 26,
- "pc": [
- 104
- ]
- },
- {
- "teal": 40,
- "source": 26,
- "pc": [
- 105
- ]
- },
- {
- "teal": 41,
- "source": 26,
- "pc": [
- 106
- ]
- },
- {
- "teal": 42,
- "source": 26,
- "pc": [
- 107
- ]
- },
- {
- "teal": 43,
- "source": 26,
- "pc": [
- 108
- ]
- },
- {
- "teal": 47,
- "source": 27,
- "pc": [
- 109
- ]
- },
- {
- "teal": 48,
- "source": 27,
- "pc": [
- 110
- ]
- },
- {
- "teal": 49,
- "source": 27,
- "pc": [
- 111
- ]
- },
- {
- "teal": 53,
- "source": 28,
- "pc": [
- 112,
- 113
- ]
- },
- {
- "teal": 54,
- "source": 28,
- "pc": [
- 114
- ]
- },
- {
- "teal": 55,
- "source": 28,
- "pc": [
- 115
- ]
- },
- {
- "teal": 56,
- "source": 28,
- "pc": [
- 116
- ]
- },
- {
- "teal": 57,
- "source": 25,
- "pc": [
- 117
- ]
- },
- {
- "teal": 62,
- "source": 31,
- "pc": [
- 118,
- 119,
- 120
- ]
- },
- {
- "teal": 63,
- "source": 31,
- "pc": [
- 121
- ]
- },
- {
- "teal": 64,
- "source": 31,
- "pc": [
- 122
- ]
- },
- {
- "teal": 68,
- "source": 31,
- "pc": [
- 123,
- 124,
- 125
- ]
- },
- {
- "teal": 72,
- "source": 32,
- "pc": [
- 126
- ]
- },
- {
- "teal": 73,
- "source": 32,
- "pc": [
- 127
- ]
- },
- {
- "teal": 74,
- "source": 32,
- "pc": [
- 128
- ]
- },
- {
- "teal": 75,
- "source": 31,
- "pc": [
- 129
- ]
- },
- {
- "teal": 80,
- "source": 35,
- "pc": [
- 130,
- 131,
- 132
- ]
- },
- {
- "teal": 81,
- "source": 35,
- "pc": [
- 133
- ]
- },
- {
- "teal": 82,
- "source": 35,
- "pc": [
- 134
- ]
- },
- {
- "teal": 86,
- "source": 35,
- "pc": [
- 135,
- 136,
- 137
- ]
- },
- {
- "teal": 90,
- "source": 36,
- "pc": [
- 138
- ]
- },
- {
- "teal": 91,
- "source": 36,
- "pc": [
- 139
- ]
- },
- {
- "teal": 92,
- "source": 36,
- "pc": [
- 140
- ]
- },
- {
- "teal": 93,
- "source": 36,
- "pc": [
- 141
- ]
- },
- {
- "teal": 94,
- "source": 36,
- "pc": [
- 142
- ]
- },
- {
- "teal": 95,
- "source": 35,
- "pc": [
- 143
- ]
- },
- {
- "teal": 100,
- "source": 39,
- "pc": [
- 144,
- 145,
- 146
- ]
- },
- {
- "teal": 101,
- "source": 39,
- "pc": [
- 147
- ]
- },
- {
- "teal": 102,
- "source": 39,
- "pc": [
- 148
- ]
- },
- {
- "teal": 106,
- "source": 39,
- "pc": [
- 149,
- 150,
- 151
- ]
- },
- {
- "teal": 110,
- "source": 40,
- "pc": [
- 152
- ]
- },
- {
- "teal": 111,
- "source": 40,
- "pc": [
- 153
- ]
- },
- {
- "teal": 112,
- "source": 39,
- "pc": [
- 154
- ]
- },
- {
- "teal": 117,
- "source": 43,
- "pc": [
- 155,
- 156,
- 157
- ]
- },
- {
- "teal": 118,
- "source": 43,
- "pc": [
- 158
- ]
- },
- {
- "teal": 119,
- "source": 43,
- "pc": [
- 159
- ]
- },
- {
- "teal": 123,
- "source": 43,
- "pc": [
- 160,
- 161,
- 162
- ]
- },
- {
- "teal": 127,
- "source": 44,
- "pc": [
- 163,
- 164,
- 165
- ]
- },
- {
- "teal": 128,
- "source": 44,
- "pc": [
- 166
- ]
- },
- {
- "teal": 129,
- "source": 44,
- "pc": [
- 167
- ]
- },
- {
- "teal": 130,
- "source": 44,
- "pc": [
- 168
- ]
- },
- {
- "teal": 131,
- "source": 44,
- "pc": [
- 169
- ]
- },
- {
- "teal": 132,
- "source": 44,
- "pc": [
- 170
- ]
- },
- {
- "teal": 133,
- "source": 43,
- "pc": [
- 171
- ]
- },
- {
- "teal": 138,
- "source": 47,
- "pc": [
- 172,
- 173,
- 174
- ]
- },
- {
- "teal": 139,
- "source": 47,
- "pc": [
- 175
- ]
- },
- {
- "teal": 140,
- "source": 47,
- "pc": [
- 176
- ]
- },
- {
- "teal": 141,
- "source": 47,
- "pc": [
- 177
- ]
- },
- {
- "teal": 142,
- "source": 47,
- "pc": [
- 178
- ]
- },
- {
- "teal": 145,
- "source": 47,
- "errorMessage": "argument 0 (a) for localKeyPut must be a address",
- "pc": [
- 179
- ]
- },
- {
- "teal": 148,
- "source": 47,
- "pc": [
- 180,
- 181,
- 182
- ]
- },
- {
- "teal": 149,
- "source": 47,
- "pc": [
- 183
- ]
- },
- {
- "teal": 150,
- "source": 47,
- "pc": [
- 184
- ]
- },
- {
- "teal": 154,
- "source": 47,
- "pc": [
- 185,
- 186,
- 187
- ]
- },
- {
- "teal": 158,
- "source": 48,
- "pc": [
- 188,
- 189
- ]
- },
- {
- "teal": 159,
- "source": 48,
- "pc": [
- 190
- ]
- },
- {
- "teal": 160,
- "source": 48,
- "pc": [
- 191
- ]
- },
- {
- "teal": 161,
- "source": 48,
- "pc": [
- 192
- ]
- },
- {
- "teal": 162,
- "source": 47,
- "pc": [
- 193
- ]
- },
- {
- "teal": 167,
- "source": 51,
- "pc": [
- 194,
- 195,
- 196
- ]
- },
- {
- "teal": 168,
- "source": 51,
- "pc": [
- 197
- ]
- },
- {
- "teal": 169,
- "source": 51,
- "pc": [
- 198
- ]
- },
- {
- "teal": 170,
- "source": 51,
- "pc": [
- 199
- ]
- },
- {
- "teal": 171,
- "source": 51,
- "pc": [
- 200
- ]
- },
- {
- "teal": 174,
- "source": 51,
- "errorMessage": "argument 0 (a) for localKeyGet must be a address",
- "pc": [
- 201
- ]
- },
- {
- "teal": 177,
- "source": 51,
- "pc": [
- 202,
- 203,
- 204
- ]
- },
- {
- "teal": 178,
- "source": 51,
- "pc": [
- 205
- ]
- },
- {
- "teal": 179,
- "source": 51,
- "pc": [
- 206
- ]
- },
- {
- "teal": 183,
- "source": 51,
- "pc": [
- 207,
- 208,
- 209
- ]
- },
- {
- "teal": 187,
- "source": 52,
- "pc": [
- 210,
- 211
- ]
- },
- {
- "teal": 188,
- "source": 52,
- "pc": [
- 212
- ]
- },
- {
- "teal": 189,
- "source": 52,
- "pc": [
- 213
- ]
- },
- {
- "teal": 190,
- "source": 52,
- "pc": [
- 214
- ]
- },
- {
- "teal": 191,
- "source": 52,
- "pc": [
- 215
- ]
- },
- {
- "teal": 192,
- "source": 52,
- "pc": [
- 216
- ]
- },
- {
- "teal": 193,
- "source": 51,
- "pc": [
- 217
- ]
- },
- {
- "teal": 198,
- "source": 55,
- "pc": [
- 218,
- 219,
- 220
- ]
- },
- {
- "teal": 199,
- "source": 55,
- "pc": [
- 221
- ]
- },
- {
- "teal": 200,
- "source": 55,
- "pc": [
- 222
- ]
- },
- {
- "teal": 201,
- "source": 55,
- "pc": [
- 223
- ]
- },
- {
- "teal": 202,
- "source": 55,
- "pc": [
- 224
- ]
- },
- {
- "teal": 205,
- "source": 55,
- "errorMessage": "argument 0 (a) for localKeyDelete must be a address",
- "pc": [
- 225
- ]
- },
- {
- "teal": 208,
- "source": 55,
- "pc": [
- 226,
- 227,
- 228
- ]
- },
- {
- "teal": 209,
- "source": 55,
- "pc": [
- 229
- ]
- },
- {
- "teal": 210,
- "source": 55,
- "pc": [
- 230
- ]
- },
- {
- "teal": 214,
- "source": 55,
- "pc": [
- 231,
- 232,
- 233
- ]
- },
- {
- "teal": 218,
- "source": 56,
- "pc": [
- 234,
- 235
- ]
- },
- {
- "teal": 219,
- "source": 56,
- "pc": [
- 236
- ]
- },
- {
- "teal": 220,
- "source": 56,
- "pc": [
- 237
- ]
- },
- {
- "teal": 221,
- "source": 55,
- "pc": [
- 238
- ]
- },
- {
- "teal": 226,
- "source": 59,
- "pc": [
- 239,
- 240,
- 241
- ]
- },
- {
- "teal": 227,
- "source": 59,
- "pc": [
- 242
- ]
- },
- {
- "teal": 228,
- "source": 59,
- "pc": [
- 243
- ]
- },
- {
- "teal": 229,
- "source": 59,
- "pc": [
- 244
- ]
- },
- {
- "teal": 230,
- "source": 59,
- "pc": [
- 245
- ]
- },
- {
- "teal": 233,
- "source": 59,
- "errorMessage": "argument 0 (a) for localKeyExists must be a address",
- "pc": [
- 246
- ]
- },
- {
- "teal": 236,
- "source": 59,
- "pc": [
- 247,
- 248,
- 249
- ]
- },
- {
- "teal": 237,
- "source": 59,
- "pc": [
- 250
- ]
- },
- {
- "teal": 238,
- "source": 59,
- "pc": [
- 251
- ]
- },
- {
- "teal": 242,
- "source": 59,
- "pc": [
- 252,
- 253,
- 254
- ]
- },
- {
- "teal": 246,
- "source": 60,
- "pc": [
- 255,
- 256
- ]
- },
- {
- "teal": 247,
- "source": 60,
- "pc": [
- 257,
- 258,
- 259
- ]
- },
- {
- "teal": 248,
- "source": 60,
- "pc": [
- 260
- ]
- },
- {
- "teal": 249,
- "source": 60,
- "pc": [
- 261
- ]
- },
- {
- "teal": 250,
- "source": 60,
- "pc": [
- 262
- ]
- },
- {
- "teal": 251,
- "source": 60,
- "pc": [
- 263
- ]
- },
- {
- "teal": 252,
- "source": 60,
- "pc": [
- 264
- ]
- },
- {
- "teal": 253,
- "source": 59,
- "pc": [
- 265
- ]
- },
- {
- "teal": 258,
- "source": 63,
- "pc": [
- 266,
- 267,
- 268
- ]
- },
- {
- "teal": 259,
- "source": 63,
- "pc": [
- 269
- ]
- },
- {
- "teal": 260,
- "source": 63,
- "pc": [
- 270
- ]
- },
- {
- "teal": 264,
- "source": 63,
- "pc": [
- 271,
- 272,
- 273
- ]
- },
- {
- "teal": 268,
- "source": 64,
- "pc": [
- 274
- ]
- },
- {
- "teal": 269,
- "source": 64,
- "pc": [
- 275
- ]
- },
- {
- "teal": 270,
- "source": 64,
- "pc": [
- 276
- ]
- },
- {
- "teal": 271,
- "source": 63,
- "pc": [
- 277
- ]
- },
- {
- "teal": 276,
- "source": 67,
- "pc": [
- 278,
- 279,
- 280
- ]
- },
- {
- "teal": 277,
- "source": 67,
- "pc": [
- 281
- ]
- },
- {
- "teal": 278,
- "source": 67,
- "pc": [
- 282
- ]
- },
- {
- "teal": 282,
- "source": 67,
- "pc": [
- 283,
- 284,
- 285
- ]
- },
- {
- "teal": 286,
- "source": 68,
- "pc": [
- 286
- ]
- },
- {
- "teal": 287,
- "source": 68,
- "pc": [
- 287
- ]
- },
- {
- "teal": 290,
- "source": 68,
- "errorMessage": "box value does not exist: this.boxKey.value",
- "pc": [
- 288
- ]
- },
- {
- "teal": 291,
- "source": 68,
- "pc": [
- 289
- ]
- },
- {
- "teal": 292,
- "source": 68,
- "pc": [
- 290
- ]
- },
- {
- "teal": 293,
- "source": 68,
- "pc": [
- 291
- ]
- },
- {
- "teal": 294,
- "source": 67,
- "pc": [
- 292
- ]
- },
- {
- "teal": 299,
- "source": 71,
- "pc": [
- 293,
- 294,
- 295
- ]
- },
- {
- "teal": 300,
- "source": 71,
- "pc": [
- 296
- ]
- },
- {
- "teal": 301,
- "source": 71,
- "pc": [
- 297
- ]
- },
- {
- "teal": 305,
- "source": 71,
- "pc": [
- 298,
- 299,
- 300
- ]
- },
- {
- "teal": 309,
- "source": 72,
- "pc": [
- 301
- ]
- },
- {
- "teal": 310,
- "source": 72,
- "pc": [
- 302
- ]
- },
- {
- "teal": 311,
- "source": 71,
- "pc": [
- 303
- ]
- },
- {
- "teal": 316,
- "source": 75,
- "pc": [
- 304,
- 305,
- 306
- ]
- },
- {
- "teal": 317,
- "source": 75,
- "pc": [
- 307
- ]
- },
- {
- "teal": 318,
- "source": 75,
- "pc": [
- 308
- ]
- },
- {
- "teal": 322,
- "source": 75,
- "pc": [
- 309,
- 310,
- 311
- ]
- },
- {
- "teal": 326,
- "source": 76,
- "pc": [
- 312
- ]
- },
- {
- "teal": 327,
- "source": 76,
- "pc": [
- 313
- ]
- },
- {
- "teal": 328,
- "source": 76,
- "pc": [
- 314
- ]
- },
- {
- "teal": 329,
- "source": 76,
- "pc": [
- 315
- ]
- },
- {
- "teal": 330,
- "source": 76,
- "pc": [
- 316
- ]
- },
- {
- "teal": 331,
- "source": 75,
- "pc": [
- 317
- ]
- },
- {
- "teal": 336,
- "source": 79,
- "pc": [
- 318,
- 319,
- 320
- ]
- },
- {
- "teal": 337,
- "source": 79,
- "pc": [
- 321
- ]
- },
- {
- "teal": 338,
- "source": 79,
- "pc": [
- 322
- ]
- },
- {
- "teal": 342,
- "source": 79,
- "pc": [
- 323,
- 324,
- 325
- ]
- },
- {
- "teal": 346,
- "source": 80,
- "pc": [
- 326
- ]
- },
- {
- "teal": 347,
- "source": 80,
- "pc": [
- 327
- ]
- },
- {
- "teal": 348,
- "source": 80,
- "pc": [
- 328
- ]
- },
- {
- "teal": 349,
- "source": 79,
- "pc": [
- 329
- ]
- },
- {
- "teal": 354,
- "source": 83,
- "pc": [
- 330,
- 331,
- 332
- ]
- },
- {
- "teal": 355,
- "source": 83,
- "pc": [
- 333
- ]
- },
- {
- "teal": 356,
- "source": 83,
- "pc": [
- 334
- ]
- },
- {
- "teal": 360,
- "source": 83,
- "pc": [
- 335,
- 336,
- 337
- ]
- },
- {
- "teal": 364,
- "source": 84,
- "pc": [
- 338
- ]
- },
- {
- "teal": 365,
- "source": 84,
- "pc": [
- 339
- ]
- },
- {
- "teal": 366,
- "source": 84,
- "pc": [
- 340
- ]
- },
- {
- "teal": 367,
- "source": 84,
- "pc": [
- 341
- ]
- },
- {
- "teal": 368,
- "source": 84,
- "pc": [
- 342
- ]
- },
- {
- "teal": 369,
- "source": 83,
- "pc": [
- 343
- ]
- },
- {
- "teal": 374,
- "source": 87,
- "pc": [
- 344,
- 345,
- 346
- ]
- },
- {
- "teal": 375,
- "source": 87,
- "pc": [
- 347
- ]
- },
- {
- "teal": 376,
- "source": 87,
- "pc": [
- 348
- ]
- },
- {
- "teal": 380,
- "source": 87,
- "pc": [
- 349,
- 350,
- 351
- ]
- },
- {
- "teal": 384,
- "source": 88,
- "pc": [
- 352
- ]
- },
- {
- "teal": 385,
- "source": 88,
- "pc": [
- 353
- ]
- },
- {
- "teal": 386,
- "source": 87,
- "pc": [
- 354
- ]
- },
- {
- "teal": 391,
- "source": 91,
- "pc": [
- 355,
- 356,
- 357
- ]
- },
- {
- "teal": 392,
- "source": 91,
- "pc": [
- 358
- ]
- },
- {
- "teal": 393,
- "source": 91,
- "pc": [
- 359
- ]
- },
- {
- "teal": 397,
- "source": 91,
- "pc": [
- 360,
- 361,
- 362
- ]
- },
- {
- "teal": 401,
- "source": 92,
- "pc": [
- 363,
- 364,
- 365
- ]
- },
- {
- "teal": 402,
- "source": 92,
- "pc": [
- 366
- ]
- },
- {
- "teal": 403,
- "source": 92,
- "pc": [
- 367
- ]
- },
- {
- "teal": 404,
- "source": 92,
- "pc": [
- 368
- ]
- },
- {
- "teal": 405,
- "source": 92,
- "pc": [
- 369
- ]
- },
- {
- "teal": 406,
- "source": 92,
- "pc": [
- 370
- ]
- },
- {
- "teal": 407,
- "source": 91,
- "pc": [
- 371
- ]
- },
- {
- "teal": 412,
- "source": 95,
- "pc": [
- 372,
- 373,
- 374
- ]
- },
- {
- "teal": 413,
- "source": 95,
- "pc": [
- 375
- ]
- },
- {
- "teal": 414,
- "source": 95,
- "pc": [
- 376
- ]
- },
- {
- "teal": 415,
- "source": 95,
- "pc": [
- 377
- ]
- },
- {
- "teal": 416,
- "source": 95,
- "pc": [
- 378
- ]
- },
- {
- "teal": 419,
- "source": 95,
- "errorMessage": "argument 0 (a) for localMapPut must be a address",
- "pc": [
- 379
- ]
- },
- {
- "teal": 422,
- "source": 95,
- "pc": [
- 380,
- 381,
- 382
- ]
- },
- {
- "teal": 423,
- "source": 95,
- "pc": [
- 383
- ]
- },
- {
- "teal": 424,
- "source": 95,
- "pc": [
- 384
- ]
- },
- {
- "teal": 428,
- "source": 95,
- "pc": [
- 385,
- 386,
- 387
- ]
- },
- {
- "teal": 432,
- "source": 96,
- "pc": [
- 388,
- 389
- ]
- },
- {
- "teal": 433,
- "source": 96,
- "pc": [
- 390
- ]
- },
- {
- "teal": 434,
- "source": 96,
- "pc": [
- 391
- ]
- },
- {
- "teal": 435,
- "source": 96,
- "pc": [
- 392
- ]
- },
- {
- "teal": 436,
- "source": 95,
- "pc": [
- 393
- ]
- },
- {
- "teal": 441,
- "source": 99,
- "pc": [
- 394,
- 395,
- 396
- ]
- },
- {
- "teal": 442,
- "source": 99,
- "pc": [
- 397
- ]
- },
- {
- "teal": 443,
- "source": 99,
- "pc": [
- 398
- ]
- },
- {
- "teal": 444,
- "source": 99,
- "pc": [
- 399
- ]
- },
- {
- "teal": 445,
- "source": 99,
- "pc": [
- 400
- ]
- },
- {
- "teal": 448,
- "source": 99,
- "errorMessage": "argument 0 (a) for localMapGet must be a address",
- "pc": [
- 401
- ]
- },
- {
- "teal": 451,
- "source": 99,
- "pc": [
- 402,
- 403,
- 404
- ]
- },
- {
- "teal": 452,
- "source": 99,
- "pc": [
- 405
- ]
- },
- {
- "teal": 453,
- "source": 99,
- "pc": [
- 406
- ]
- },
- {
- "teal": 457,
- "source": 99,
- "pc": [
- 407,
- 408,
- 409
- ]
- },
- {
- "teal": 461,
- "source": 100,
- "pc": [
- 410,
- 411
- ]
- },
- {
- "teal": 462,
- "source": 100,
- "pc": [
- 412
- ]
- },
- {
- "teal": 463,
- "source": 100,
- "pc": [
- 413
- ]
- },
- {
- "teal": 464,
- "source": 100,
- "pc": [
- 414
- ]
- },
- {
- "teal": 465,
- "source": 100,
- "pc": [
- 415
- ]
- },
- {
- "teal": 466,
- "source": 100,
- "pc": [
- 416
- ]
- },
- {
- "teal": 467,
- "source": 99,
- "pc": [
- 417
- ]
- },
- {
- "teal": 472,
- "source": 103,
- "pc": [
- 418,
- 419,
- 420
- ]
- },
- {
- "teal": 473,
- "source": 103,
- "pc": [
- 421
- ]
- },
- {
- "teal": 474,
- "source": 103,
- "pc": [
- 422
- ]
- },
- {
- "teal": 475,
- "source": 103,
- "pc": [
- 423
- ]
- },
- {
- "teal": 476,
- "source": 103,
- "pc": [
- 424
- ]
- },
- {
- "teal": 479,
- "source": 103,
- "errorMessage": "argument 0 (a) for localMapDelete must be a address",
- "pc": [
- 425
- ]
- },
- {
- "teal": 482,
- "source": 103,
- "pc": [
- 426,
- 427,
- 428
- ]
- },
- {
- "teal": 483,
- "source": 103,
- "pc": [
- 429
- ]
- },
- {
- "teal": 484,
- "source": 103,
- "pc": [
- 430
- ]
- },
- {
- "teal": 488,
- "source": 103,
- "pc": [
- 431,
- 432,
- 433
- ]
- },
- {
- "teal": 492,
- "source": 104,
- "pc": [
- 434,
- 435
- ]
- },
- {
- "teal": 493,
- "source": 104,
- "pc": [
- 436
- ]
- },
- {
- "teal": 494,
- "source": 104,
- "pc": [
- 437
- ]
- },
- {
- "teal": 495,
- "source": 103,
- "pc": [
- 438
- ]
- },
- {
- "teal": 500,
- "source": 107,
- "pc": [
- 439,
- 440,
- 441
- ]
- },
- {
- "teal": 501,
- "source": 107,
- "pc": [
- 442
- ]
- },
- {
- "teal": 502,
- "source": 107,
- "pc": [
- 443
- ]
- },
- {
- "teal": 503,
- "source": 107,
- "pc": [
- 444
- ]
- },
- {
- "teal": 504,
- "source": 107,
- "pc": [
- 445
- ]
- },
- {
- "teal": 507,
- "source": 107,
- "errorMessage": "argument 0 (a) for localMapExists must be a address",
- "pc": [
- 446
- ]
- },
- {
- "teal": 510,
- "source": 107,
- "pc": [
- 447,
- 448,
- 449
- ]
- },
- {
- "teal": 511,
- "source": 107,
- "pc": [
- 450
- ]
- },
- {
- "teal": 512,
- "source": 107,
- "pc": [
- 451
- ]
- },
- {
- "teal": 516,
- "source": 107,
- "pc": [
- 452,
- 453,
- 454
- ]
- },
- {
- "teal": 520,
- "source": 108,
- "pc": [
- 455,
- 456
- ]
- },
- {
- "teal": 521,
- "source": 108,
- "pc": [
- 457,
- 458,
- 459
- ]
- },
- {
- "teal": 522,
- "source": 108,
- "pc": [
- 460
- ]
- },
- {
- "teal": 523,
- "source": 108,
- "pc": [
- 461
- ]
- },
- {
- "teal": 524,
- "source": 108,
- "pc": [
- 462
- ]
- },
- {
- "teal": 525,
- "source": 108,
- "pc": [
- 463
- ]
- },
- {
- "teal": 526,
- "source": 108,
- "pc": [
- 464
- ]
- },
- {
- "teal": 527,
- "source": 107,
- "pc": [
- 465
- ]
- },
- {
- "teal": 532,
- "source": 111,
- "pc": [
- 466,
- 467,
- 468
- ]
- },
- {
- "teal": 533,
- "source": 111,
- "pc": [
- 469
- ]
- },
- {
- "teal": 534,
- "source": 111,
- "pc": [
- 470
- ]
- },
- {
- "teal": 538,
- "source": 111,
- "pc": [
- 471,
- 472,
- 473
- ]
- },
- {
- "teal": 542,
- "source": 112,
- "pc": [
- 474
- ]
- },
- {
- "teal": 543,
- "source": 112,
- "pc": [
- 475
- ]
- },
- {
- "teal": 544,
- "source": 112,
- "pc": [
- 476
- ]
- },
- {
- "teal": 545,
- "source": 111,
- "pc": [
- 477
- ]
- },
- {
- "teal": 550,
- "source": 115,
- "pc": [
- 478,
- 479,
- 480
- ]
- },
- {
- "teal": 551,
- "source": 115,
- "pc": [
- 481
- ]
- },
- {
- "teal": 552,
- "source": 115,
- "pc": [
- 482
- ]
- },
- {
- "teal": 556,
- "source": 115,
- "pc": [
- 483,
- 484,
- 485
- ]
- },
- {
- "teal": 560,
- "source": 116,
- "pc": [
- 486
- ]
- },
- {
- "teal": 561,
- "source": 116,
- "pc": [
- 487
- ]
- },
- {
- "teal": 564,
- "source": 116,
- "errorMessage": "box value does not exist: this.boxMap('foo').value",
- "pc": [
- 488
- ]
- },
- {
- "teal": 565,
- "source": 116,
- "pc": [
- 489
- ]
- },
- {
- "teal": 566,
- "source": 116,
- "pc": [
- 490
- ]
- },
- {
- "teal": 567,
- "source": 116,
- "pc": [
- 491
- ]
- },
- {
- "teal": 568,
- "source": 115,
- "pc": [
- 492
- ]
- },
- {
- "teal": 573,
- "source": 119,
- "pc": [
- 493,
- 494,
- 495
- ]
- },
- {
- "teal": 574,
- "source": 119,
- "pc": [
- 496
- ]
- },
- {
- "teal": 575,
- "source": 119,
- "pc": [
- 497
- ]
- },
- {
- "teal": 579,
- "source": 119,
- "pc": [
- 498,
- 499,
- 500
- ]
- },
- {
- "teal": 583,
- "source": 120,
- "pc": [
- 501
- ]
- },
- {
- "teal": 584,
- "source": 120,
- "pc": [
- 502
- ]
- },
- {
- "teal": 585,
- "source": 119,
- "pc": [
- 503
- ]
- },
- {
- "teal": 590,
- "source": 123,
- "pc": [
- 504,
- 505,
- 506
- ]
- },
- {
- "teal": 591,
- "source": 123,
- "pc": [
- 507
- ]
- },
- {
- "teal": 592,
- "source": 123,
- "pc": [
- 508
- ]
- },
- {
- "teal": 596,
- "source": 123,
- "pc": [
- 509,
- 510,
- 511
- ]
- },
- {
- "teal": 600,
- "source": 124,
- "pc": [
- 512
- ]
- },
- {
- "teal": 601,
- "source": 124,
- "pc": [
- 513
- ]
- },
- {
- "teal": 602,
- "source": 124,
- "pc": [
- 514
- ]
- },
- {
- "teal": 603,
- "source": 124,
- "pc": [
- 515
- ]
- },
- {
- "teal": 604,
- "source": 124,
- "pc": [
- 516
- ]
- },
- {
- "teal": 605,
- "source": 123,
- "pc": [
- 517
- ]
- },
- {
- "teal": 610,
- "source": 127,
- "pc": [
- 518,
- 519,
- 520
- ]
- },
- {
- "teal": 611,
- "source": 127,
- "pc": [
- 521
- ]
- },
- {
- "teal": 612,
- "source": 127,
- "pc": [
- 522
- ]
- },
- {
- "teal": 616,
- "source": 127,
- "pc": [
- 523,
- 524,
- 525
- ]
- },
- {
- "teal": 620,
- "source": 128,
- "pc": [
- 526
- ]
- },
- {
- "teal": 621,
- "source": 128,
- "pc": [
- 527
- ]
- },
- {
- "teal": 622,
- "source": 128,
- "pc": [
- 528
- ]
- },
- {
- "teal": 623,
- "source": 128,
- "pc": [
- 529
- ]
- },
- {
- "teal": 624,
- "source": 127,
- "pc": [
- 530
- ]
- },
- {
- "teal": 629,
- "source": 131,
- "pc": [
- 531,
- 532,
- 533
- ]
- },
- {
- "teal": 630,
- "source": 131,
- "pc": [
- 534
- ]
- },
- {
- "teal": 631,
- "source": 131,
- "pc": [
- 535
- ]
- },
- {
- "teal": 635,
- "source": 131,
- "pc": [
- 536,
- 537,
- 538
- ]
- },
- {
- "teal": 639,
- "source": 132,
- "pc": [
- 539
- ]
- },
- {
- "teal": 640,
- "source": 132,
- "pc": [
- 540
- ]
- },
- {
- "teal": 641,
- "source": 132,
- "pc": [
- 541
- ]
- },
- {
- "teal": 642,
- "source": 132,
- "pc": [
- 542
- ]
- },
- {
- "teal": 643,
- "source": 131,
- "pc": [
- 543
- ]
- },
- {
- "teal": 648,
- "source": 135,
- "pc": [
- 544
- ]
- },
- {
- "teal": 651,
- "source": 135,
- "pc": [
- 545,
- 546,
- 547
- ]
- },
- {
- "teal": 652,
- "source": 135,
- "pc": [
- 548
- ]
- },
- {
- "teal": 653,
- "source": 135,
- "pc": [
- 549
- ]
- },
- {
- "teal": 654,
- "source": 135,
- "pc": [
- 550
- ]
- },
- {
- "teal": 655,
- "source": 135,
- "pc": [
- 551
- ]
- },
- {
- "teal": 656,
- "source": 135,
- "pc": [
- 552
- ]
- },
- {
- "teal": 660,
- "source": 135,
- "pc": [
- 553,
- 554,
- 555
- ]
- },
- {
- "teal": 664,
- "source": 136,
- "pc": [
- 556
- ]
- },
- {
- "teal": 665,
- "source": 136,
- "pc": [
- 557
- ]
- },
- {
- "teal": 668,
- "source": 136,
- "errorMessage": "box value does not exist: this.boxKey.size",
- "pc": [
- 558
- ]
- },
- {
- "teal": 669,
- "source": 135,
- "pc": [
- 559
- ]
- },
- {
- "teal": 674,
- "source": 139,
- "pc": [
- 560
- ]
- },
- {
- "teal": 677,
- "source": 139,
- "pc": [
- 561,
- 562,
- 563
- ]
- },
- {
- "teal": 678,
- "source": 139,
- "pc": [
- 564
- ]
- },
- {
- "teal": 679,
- "source": 139,
- "pc": [
- 565
- ]
- },
- {
- "teal": 680,
- "source": 139,
- "pc": [
- 566
- ]
- },
- {
- "teal": 681,
- "source": 139,
- "pc": [
- 567
- ]
- },
- {
- "teal": 682,
- "source": 139,
- "pc": [
- 568
- ]
- },
- {
- "teal": 686,
- "source": 139,
- "pc": [
- 569,
- 570,
- 571
- ]
- },
- {
- "teal": 690,
- "source": 140,
- "pc": [
- 572
- ]
- },
- {
- "teal": 691,
- "source": 140,
- "pc": [
- 573
- ]
- },
- {
- "teal": 694,
- "source": 140,
- "errorMessage": "box value does not exist: this.boxMap('bar').size",
- "pc": [
- 574
- ]
- },
- {
- "teal": 695,
- "source": 139,
- "pc": [
- 575
- ]
- },
- {
- "teal": 700,
- "source": 143,
- "pc": [
- 576,
- 577,
- 578
- ]
- },
- {
- "teal": 701,
- "source": 143,
- "pc": [
- 579
- ]
- },
- {
- "teal": 702,
- "source": 143,
- "pc": [
- 580
- ]
- },
- {
- "teal": 706,
- "source": 143,
- "pc": [
- 581,
- 582,
- 583
- ]
- },
- {
- "teal": 710,
- "source": 144,
- "pc": [
- 584
- ]
- },
- {
- "teal": 711,
- "source": 144,
- "pc": [
- 585
- ]
- },
- {
- "teal": 712,
- "source": 144,
- "pc": [
- 586,
- 587
- ]
- },
- {
- "teal": 713,
- "source": 144,
- "pc": [
- 588
- ]
- },
- {
- "teal": 714,
- "source": 143,
- "pc": [
- 589
- ]
- },
- {
- "teal": 719,
- "source": 147,
- "pc": [
- 590,
- 591,
- 592
- ]
- },
- {
- "teal": 720,
- "source": 147,
- "pc": [
- 593
- ]
- },
- {
- "teal": 721,
- "source": 147,
- "pc": [
- 594
- ]
- },
- {
- "teal": 725,
- "source": 147,
- "pc": [
- 595,
- 596,
- 597
- ]
- },
- {
- "teal": 729,
- "source": 148,
- "pc": [
- 598
- ]
- },
- {
- "teal": 730,
- "source": 148,
- "pc": [
- 599
- ]
- },
- {
- "teal": 731,
- "source": 148,
- "pc": [
- 600,
- 601
- ]
- },
- {
- "teal": 732,
- "source": 148,
- "pc": [
- 602
- ]
- },
- {
- "teal": 733,
- "source": 147,
- "pc": [
- 603
- ]
- },
- {
- "teal": 738,
- "source": 151,
- "pc": [
- 604
- ]
- },
- {
- "teal": 741,
- "source": 151,
- "pc": [
- 605,
- 606,
- 607
- ]
- },
- {
- "teal": 742,
- "source": 151,
- "pc": [
- 608
- ]
- },
- {
- "teal": 743,
- "source": 151,
- "pc": [
- 609
- ]
- },
- {
- "teal": 744,
- "source": 151,
- "pc": [
- 610
- ]
- },
- {
- "teal": 745,
- "source": 151,
- "pc": [
- 611,
- 612,
- 613
- ]
- },
- {
- "teal": 746,
- "source": 151,
- "pc": [
- 614
- ]
- },
- {
- "teal": 747,
- "source": 151,
- "pc": [
- 615
- ]
- },
- {
- "teal": 748,
- "source": 151,
- "pc": [
- 616
- ]
- },
- {
- "teal": 749,
- "source": 151,
- "pc": [
- 617
- ]
- },
- {
- "teal": 750,
- "source": 151,
- "pc": [
- 618
- ]
- },
- {
- "teal": 751,
- "source": 151,
- "pc": [
- 619
- ]
- },
- {
- "teal": 755,
- "source": 151,
- "pc": [
- 620,
- 621,
- 622
- ]
- },
- {
- "teal": 759,
- "source": 152,
- "pc": [
- 623
- ]
- },
- {
- "teal": 760,
- "source": 152,
- "pc": [
- 624
- ]
- },
- {
- "teal": 761,
- "source": 152,
- "pc": [
- 625,
- 626
- ]
- },
- {
- "teal": 762,
- "source": 152,
- "pc": [
- 627
- ]
- },
- {
- "teal": 763,
- "source": 151,
- "pc": [
- 628
- ]
- },
- {
- "teal": 768,
- "source": 155,
- "pc": [
- 629
- ]
- },
- {
- "teal": 771,
- "source": 155,
- "pc": [
- 630,
- 631,
- 632
- ]
- },
- {
- "teal": 772,
- "source": 155,
- "pc": [
- 633
- ]
- },
- {
- "teal": 773,
- "source": 155,
- "pc": [
- 634
- ]
- },
- {
- "teal": 774,
- "source": 155,
- "pc": [
- 635
- ]
- },
- {
- "teal": 775,
- "source": 155,
- "pc": [
- 636,
- 637,
- 638
- ]
- },
- {
- "teal": 776,
- "source": 155,
- "pc": [
- 639
- ]
- },
- {
- "teal": 777,
- "source": 155,
- "pc": [
- 640
- ]
- },
- {
- "teal": 778,
- "source": 155,
- "pc": [
- 641
- ]
- },
- {
- "teal": 779,
- "source": 155,
- "pc": [
- 642
- ]
- },
- {
- "teal": 780,
- "source": 155,
- "pc": [
- 643
- ]
- },
- {
- "teal": 781,
- "source": 155,
- "pc": [
- 644
- ]
- },
- {
- "teal": 785,
- "source": 155,
- "pc": [
- 645,
- 646,
- 647
- ]
- },
- {
- "teal": 789,
- "source": 156,
- "pc": [
- 648
- ]
- },
- {
- "teal": 790,
- "source": 156,
- "pc": [
- 649
- ]
- },
- {
- "teal": 791,
- "source": 156,
- "pc": [
- 650,
- 651
- ]
- },
- {
- "teal": 792,
- "source": 156,
- "pc": [
- 652
- ]
- },
- {
- "teal": 793,
- "source": 155,
- "pc": [
- 653
- ]
- },
- {
- "teal": 798,
- "source": 159,
- "pc": [
- 654
- ]
- },
- {
- "teal": 801,
- "source": 159,
- "pc": [
- 655,
- 656,
- 657
- ]
- },
- {
- "teal": 802,
- "source": 159,
- "pc": [
- 658,
- 659,
- 660
- ]
- },
- {
- "teal": 803,
- "source": 159,
- "pc": [
- 661
- ]
- },
- {
- "teal": 804,
- "source": 159,
- "pc": [
- 662,
- 663
- ]
- },
- {
- "teal": 805,
- "source": 159,
- "pc": [
- 664
- ]
- },
- {
- "teal": 806,
- "source": 159,
- "pc": [
- 665
- ]
- },
- {
- "teal": 807,
- "source": 159,
- "pc": [
- 666
- ]
- },
- {
- "teal": 808,
- "source": 159,
- "pc": [
- 667
- ]
- },
- {
- "teal": 809,
- "source": 159,
- "pc": [
- 668
- ]
- },
- {
- "teal": 813,
- "source": 159,
- "pc": [
- 669,
- 670,
- 671
- ]
- },
- {
- "teal": 817,
- "source": 160,
- "pc": [
- 672,
- 673
- ]
- },
- {
- "teal": 818,
- "source": 160,
- "pc": [
- 674,
- 675,
- 676
- ]
- },
- {
- "teal": 819,
- "source": 160,
- "pc": [
- 677
- ]
- },
- {
- "teal": 820,
- "source": 159,
- "pc": [
- 678
- ]
- },
- {
- "teal": 825,
- "source": 163,
- "pc": [
- 679,
- 680,
- 681
- ]
- },
- {
- "teal": 826,
- "source": 163,
- "pc": [
- 682
- ]
- },
- {
- "teal": 827,
- "source": 163,
- "pc": [
- 683
- ]
- },
- {
- "teal": 831,
- "source": 163,
- "pc": [
- 684,
- 685,
- 686
- ]
- },
- {
- "teal": 835,
- "source": 164,
- "pc": [
- 687,
- 688,
- 689
- ]
- },
- {
- "teal": 836,
- "source": 164,
- "pc": [
- 690
- ]
- },
- {
- "teal": 837,
- "source": 164,
- "pc": [
- 691
- ]
- },
- {
- "teal": 840,
- "source": 164,
- "errorMessage": "global state value does not exist: this.app.globalState('foo')",
- "pc": [
- 692
- ]
- },
- {
- "teal": 841,
- "source": 164,
- "pc": [
- 693
- ]
- },
- {
- "teal": 842,
- "source": 163,
- "pc": [
- 694
- ]
- },
- {
- "teal": 847,
- "source": 167,
- "pc": [
- 695,
- 696,
- 697
- ]
- },
- {
- "teal": 848,
- "source": 167,
- "pc": [
- 698
- ]
- },
- {
- "teal": 849,
- "source": 167,
- "pc": [
- 699
- ]
- },
- {
- "teal": 853,
- "source": 167,
- "pc": [
- 700,
- 701,
- 702
- ]
- },
- {
- "teal": 857,
- "source": 168,
- "pc": [
- 703,
- 704
- ]
- },
- {
- "teal": 858,
- "source": 168,
- "pc": [
- 705,
- 706,
- 707
- ]
- },
- {
- "teal": 859,
- "source": 168,
- "pc": [
- 708
- ]
- },
- {
- "teal": 860,
- "source": 168,
- "pc": [
- 709
- ]
- },
- {
- "teal": 863,
- "source": 168,
- "errorMessage": "local state value does not exist: this.app.localState(this.txn.sender, 'foo')",
- "pc": [
- 710
- ]
- },
- {
- "teal": 864,
- "source": 168,
- "pc": [
- 711
- ]
- },
- {
- "teal": 865,
- "source": 167,
- "pc": [
- 712
- ]
- },
- {
- "teal": 870,
- "source": 171,
- "pc": [
- 713
- ]
- },
- {
- "teal": 873,
- "source": 171,
- "pc": [
- 714,
- 715,
- 716
- ]
- },
- {
- "teal": 874,
- "source": 171,
- "pc": [
- 717
- ]
- },
- {
- "teal": 875,
- "source": 171,
- "pc": [
- 718
- ]
- },
- {
- "teal": 876,
- "source": 171,
- "pc": [
- 719
- ]
- },
- {
- "teal": 877,
- "source": 171,
- "pc": [
- 720,
- 721
- ]
- },
- {
- "teal": 878,
- "source": 171,
- "pc": [
- 722
- ]
- },
- {
- "teal": 881,
- "source": 171,
- "errorMessage": "accessStaticValueInLargeBox return value overflowed 16 bits",
- "pc": [
- 723
- ]
- },
- {
- "teal": 882,
- "source": 171,
- "pc": [
- 724,
- 725,
- 726
- ]
- },
- {
- "teal": 883,
- "source": 171,
- "pc": [
- 727
- ]
- },
- {
- "teal": 884,
- "source": 171,
- "pc": [
- 728
- ]
- },
- {
- "teal": 885,
- "source": 171,
- "pc": [
- 729
- ]
- },
- {
- "teal": 886,
- "source": 171,
- "pc": [
- 730
- ]
- },
- {
- "teal": 890,
- "source": 171,
- "pc": [
- 731,
- 732,
- 733
- ]
- },
- {
- "teal": 894,
- "source": 172,
- "pc": [
- 734
- ]
- },
- {
- "teal": 895,
- "source": 172,
- "pc": [
- 735,
- 736
- ]
- },
- {
- "teal": 896,
- "source": 172,
- "pc": [
- 737
- ]
- },
- {
- "teal": 897,
- "source": 172,
- "pc": [
- 738
- ]
- },
- {
- "teal": 901,
- "source": 173,
- "pc": [
- 739
- ]
- },
- {
- "teal": 902,
- "source": 173,
- "pc": [
- 740,
- 741
- ]
- },
- {
- "teal": 903,
- "source": 173,
- "pc": [
- 742,
- 743
- ]
- },
- {
- "teal": 904,
- "source": 173,
- "pc": [
- 744
- ]
- },
- {
- "teal": 908,
- "source": 175,
- "pc": [
- 745
- ]
- },
- {
- "teal": 909,
- "source": 175,
- "pc": [
- 746,
- 747
- ]
- },
- {
- "teal": 910,
- "source": 175,
- "pc": [
- 748,
- 749
- ]
- },
- {
- "teal": 911,
- "source": 175,
- "pc": [
- 750
- ]
- },
- {
- "teal": 912,
- "source": 175,
- "pc": [
- 751
- ]
- },
- {
- "teal": 913,
- "source": 171,
- "pc": [
- 752
- ]
- },
- {
- "teal": 918,
- "source": 178,
- "pc": [
- 753
- ]
- },
- {
- "teal": 921,
- "source": 178,
- "pc": [
- 754,
- 755,
- 756
- ]
- },
- {
- "teal": 922,
- "source": 178,
- "pc": [
- 757
- ]
- },
- {
- "teal": 925,
- "source": 178,
- "pc": [
- 758,
- 759,
- 760
- ]
- },
- {
- "teal": 926,
- "source": 178,
- "pc": [
- 761
- ]
- },
- {
- "teal": 927,
- "source": 178,
- "pc": [
- 762
- ]
- },
- {
- "teal": 928,
- "source": 178,
- "pc": [
- 763
- ]
- },
- {
- "teal": 929,
- "source": 178,
- "pc": [
- 764,
- 765
- ]
- },
- {
- "teal": 930,
- "source": 178,
- "pc": [
- 766
- ]
- },
- {
- "teal": 933,
- "source": 178,
- "errorMessage": "dynamicAccessStaticValueInLargeBox return value overflowed 16 bits",
- "pc": [
- 767
- ]
- },
- {
- "teal": 934,
- "source": 178,
- "pc": [
- 768,
- 769,
- 770
- ]
- },
- {
- "teal": 935,
- "source": 178,
- "pc": [
- 771
- ]
- },
- {
- "teal": 936,
- "source": 178,
- "pc": [
- 772
- ]
- },
- {
- "teal": 937,
- "source": 178,
- "pc": [
- 773
- ]
- },
- {
- "teal": 938,
- "source": 178,
- "pc": [
- 774
- ]
- },
- {
- "teal": 942,
- "source": 178,
- "pc": [
- 775,
- 776,
- 777
- ]
- },
- {
- "teal": 946,
- "source": 179,
- "pc": [
- 778
- ]
- },
- {
- "teal": 947,
- "source": 179,
- "pc": [
- 779,
- 780
- ]
- },
- {
- "teal": 948,
- "source": 179,
- "pc": [
- 781
- ]
- },
- {
- "teal": 949,
- "source": 179,
- "pc": [
- 782
- ]
- },
- {
- "teal": 953,
- "source": 180,
- "pc": [
- 783,
- 784
- ]
- },
- {
- "teal": 954,
- "source": 180,
- "pc": [
- 785,
- 786
- ]
- },
- {
- "teal": 955,
- "source": 180,
- "pc": [
- 787
- ]
- },
- {
- "teal": 956,
- "source": 180,
- "pc": [
- 788,
- 789
- ]
- },
- {
- "teal": 957,
- "source": 180,
- "pc": [
- 790
- ]
- },
- {
- "teal": 958,
- "source": 180,
- "pc": [
- 791,
- 792
- ]
- },
- {
- "teal": 959,
- "source": 180,
- "pc": [
- 793
- ]
- },
- {
- "teal": 963,
- "source": 184,
- "pc": [
- 794,
- 795
- ]
- },
- {
- "teal": 964,
- "source": 184,
- "pc": [
- 796,
- 797
- ]
- },
- {
- "teal": 965,
- "source": 184,
- "pc": [
- 798
- ]
- },
- {
- "teal": 966,
- "source": 184,
- "pc": [
- 799,
- 800
- ]
- },
- {
- "teal": 967,
- "source": 182,
- "pc": [
- 801
- ]
- },
- {
- "teal": 968,
- "source": 182,
- "pc": [
- 802,
- 803
- ]
- },
- {
- "teal": 969,
- "source": 182,
- "pc": [
- 804
- ]
- },
- {
- "teal": 970,
- "source": 184,
- "pc": [
- 805
- ]
- },
- {
- "teal": 971,
- "source": 178,
- "pc": [
- 806
- ]
- },
- {
- "teal": 976,
- "source": 187,
- "pc": [
- 807,
- 808,
- 809
- ]
- },
- {
- "teal": 977,
- "source": 187,
- "pc": [
- 810
- ]
- },
- {
- "teal": 978,
- "source": 187,
- "pc": [
- 811
- ]
- },
- {
- "teal": 982,
- "source": 187,
- "pc": [
- 812,
- 813,
- 814
- ]
- },
- {
- "teal": 986,
- "source": 188,
- "pc": [
- 815
- ]
- },
- {
- "teal": 987,
- "source": 188,
- "pc": [
- 816
- ]
- },
- {
- "teal": 988,
- "source": 188,
- "pc": [
- 817
- ]
- },
- {
- "teal": 992,
- "source": 189,
- "pc": [
- 818
- ]
- },
- {
- "teal": 993,
- "source": 189,
- "pc": [
- 819
- ]
- },
- {
- "teal": 994,
- "source": 189,
- "pc": [
- 820
- ]
- },
- {
- "teal": 995,
- "source": 187,
- "pc": [
- 821
- ]
- },
- {
- "teal": 1000,
- "source": 192,
- "pc": [
- 822,
- 823,
- 824
- ]
- },
- {
- "teal": 1001,
- "source": 192,
- "pc": [
- 825
- ]
- },
- {
- "teal": 1002,
- "source": 192,
- "pc": [
- 826
- ]
- },
- {
- "teal": 1006,
- "source": 192,
- "pc": [
- 827,
- 828,
- 829
- ]
- },
- {
- "teal": 1010,
- "source": 193,
- "pc": [
- 830
- ]
- },
- {
- "teal": 1011,
- "source": 193,
- "pc": [
- 831
- ]
- },
- {
- "teal": 1012,
- "source": 193,
- "pc": [
- 832
- ]
- },
- {
- "teal": 1013,
- "source": 193,
- "pc": [
- 833,
- 834
- ]
- },
- {
- "teal": 1014,
- "source": 193,
- "pc": [
- 835
- ]
- },
- {
- "teal": 1018,
- "source": 194,
- "pc": [
- 836
- ]
- },
- {
- "teal": 1019,
- "source": 194,
- "pc": [
- 837
- ]
- },
- {
- "teal": 1020,
- "source": 194,
- "pc": [
- 838
- ]
- },
- {
- "teal": 1021,
- "source": 194,
- "pc": [
- 839,
- 840
- ]
- },
- {
- "teal": 1022,
- "source": 194,
- "pc": [
- 841
- ]
- },
- {
- "teal": 1023,
- "source": 192,
- "pc": [
- 842
- ]
- },
- {
- "teal": 1028,
- "source": 197,
- "pc": [
- 843,
- 844,
- 845
- ]
- },
- {
- "teal": 1029,
- "source": 197,
- "pc": [
- 846
- ]
- },
- {
- "teal": 1030,
- "source": 197,
- "pc": [
- 847
- ]
- },
- {
- "teal": 1034,
- "source": 197,
- "pc": [
- 848,
- 849,
- 850
- ]
- },
- {
- "teal": 1038,
- "source": 198,
- "pc": [
- 851,
- 852,
- 853
- ]
- },
- {
- "teal": 1039,
- "source": 198,
- "pc": [
- 854
- ]
- },
- {
- "teal": 1040,
- "source": 198,
- "pc": [
- 855
- ]
- },
- {
- "teal": 1041,
- "source": 198,
- "pc": [
- 856
- ]
- },
- {
- "teal": 1042,
- "source": 198,
- "pc": [
- 857
- ]
- },
- {
- "teal": 1043,
- "source": 198,
- "pc": [
- 858
- ]
- },
- {
- "teal": 1047,
- "source": 199,
- "pc": [
- 859,
- 860
- ]
- },
- {
- "teal": 1048,
- "source": 199,
- "pc": [
- 861,
- 862,
- 863
- ]
- },
- {
- "teal": 1049,
- "source": 199,
- "pc": [
- 864
- ]
- },
- {
- "teal": 1050,
- "source": 199,
- "pc": [
- 865
- ]
- },
- {
- "teal": 1051,
- "source": 199,
- "pc": [
- 866
- ]
- },
- {
- "teal": 1052,
- "source": 199,
- "pc": [
- 867
- ]
- },
- {
- "teal": 1053,
- "source": 199,
- "pc": [
- 868
- ]
- },
- {
- "teal": 1054,
- "source": 197,
- "pc": [
- 869
- ]
- },
- {
- "teal": 1057,
- "source": 4,
- "pc": [
- 870
- ]
- },
- {
- "teal": 1058,
- "source": 4,
- "pc": [
- 871
- ]
- },
- {
- "teal": 1061,
- "source": 4,
- "pc": [
- 872,
- 873,
- 874,
- 875,
- 876,
- 877
- ]
- },
- {
- "teal": 1062,
- "source": 4,
- "pc": [
- 878,
- 879,
- 880
- ]
- },
- {
- "teal": 1063,
- "source": 4,
- "pc": [
- 881,
- 882,
- 883,
- 884
- ]
- },
- {
- "teal": 1066,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "pc": [
- 885
- ]
- },
- {
- "teal": 1069,
- "source": 4,
- "pc": [
- 886,
- 887,
- 888,
- 889,
- 890,
- 891
- ]
- },
- {
- "teal": 1070,
- "source": 4,
- "pc": [
- 892,
- 893,
- 894,
- 895,
- 896,
- 897
- ]
- },
- {
- "teal": 1071,
- "source": 4,
- "pc": [
- 898,
- 899,
- 900,
- 901,
- 902,
- 903
- ]
- },
- {
- "teal": 1072,
- "source": 4,
- "pc": [
- 904,
- 905,
- 906,
- 907,
- 908,
- 909
- ]
- },
- {
- "teal": 1073,
- "source": 4,
- "pc": [
- 910,
- 911,
- 912,
- 913,
- 914,
- 915
- ]
- },
- {
- "teal": 1074,
- "source": 4,
- "pc": [
- 916,
- 917,
- 918,
- 919,
- 920,
- 921
- ]
- },
- {
- "teal": 1075,
- "source": 4,
- "pc": [
- 922,
- 923,
- 924,
- 925,
- 926,
- 927
- ]
- },
- {
- "teal": 1076,
- "source": 4,
- "pc": [
- 928,
- 929,
- 930,
- 931,
- 932,
- 933
- ]
- },
- {
- "teal": 1077,
- "source": 4,
- "pc": [
- 934,
- 935,
- 936,
- 937,
- 938,
- 939
- ]
- },
- {
- "teal": 1078,
- "source": 4,
- "pc": [
- 940,
- 941,
- 942,
- 943,
- 944,
- 945
- ]
- },
- {
- "teal": 1079,
- "source": 4,
- "pc": [
- 946,
- 947,
- 948,
- 949,
- 950,
- 951
- ]
- },
- {
- "teal": 1080,
- "source": 4,
- "pc": [
- 952,
- 953,
- 954,
- 955,
- 956,
- 957
- ]
- },
- {
- "teal": 1081,
- "source": 4,
- "pc": [
- 958,
- 959,
- 960,
- 961,
- 962,
- 963
- ]
- },
- {
- "teal": 1082,
- "source": 4,
- "pc": [
- 964,
- 965,
- 966,
- 967,
- 968,
- 969
- ]
- },
- {
- "teal": 1083,
- "source": 4,
- "pc": [
- 970,
- 971,
- 972,
- 973,
- 974,
- 975
- ]
- },
- {
- "teal": 1084,
- "source": 4,
- "pc": [
- 976,
- 977,
- 978,
- 979,
- 980,
- 981
- ]
- },
- {
- "teal": 1085,
- "source": 4,
- "pc": [
- 982,
- 983,
- 984,
- 985,
- 986,
- 987
- ]
- },
- {
- "teal": 1086,
- "source": 4,
- "pc": [
- 988,
- 989,
- 990,
- 991,
- 992,
- 993
- ]
- },
- {
- "teal": 1087,
- "source": 4,
- "pc": [
- 994,
- 995,
- 996,
- 997,
- 998,
- 999
- ]
- },
- {
- "teal": 1088,
- "source": 4,
- "pc": [
- 1000,
- 1001,
- 1002,
- 1003,
- 1004,
- 1005
- ]
- },
- {
- "teal": 1089,
- "source": 4,
- "pc": [
- 1006,
- 1007,
- 1008,
- 1009,
- 1010,
- 1011
- ]
- },
- {
- "teal": 1090,
- "source": 4,
- "pc": [
- 1012,
- 1013,
- 1014,
- 1015,
- 1016,
- 1017
- ]
- },
- {
- "teal": 1091,
- "source": 4,
- "pc": [
- 1018,
- 1019,
- 1020,
- 1021,
- 1022,
- 1023
- ]
- },
- {
- "teal": 1092,
- "source": 4,
- "pc": [
- 1024,
- 1025,
- 1026,
- 1027,
- 1028,
- 1029
- ]
- },
- {
- "teal": 1093,
- "source": 4,
- "pc": [
- 1030,
- 1031,
- 1032,
- 1033,
- 1034,
- 1035
- ]
- },
- {
- "teal": 1094,
- "source": 4,
- "pc": [
- 1036,
- 1037,
- 1038,
- 1039,
- 1040,
- 1041
- ]
- },
- {
- "teal": 1095,
- "source": 4,
- "pc": [
- 1042,
- 1043,
- 1044,
- 1045,
- 1046,
- 1047
- ]
- },
- {
- "teal": 1096,
- "source": 4,
- "pc": [
- 1048,
- 1049,
- 1050,
- 1051,
- 1052,
- 1053
- ]
- },
- {
- "teal": 1097,
- "source": 4,
- "pc": [
- 1054,
- 1055,
- 1056,
- 1057,
- 1058,
- 1059
- ]
- },
- {
- "teal": 1098,
- "source": 4,
- "pc": [
- 1060,
- 1061,
- 1062,
- 1063,
- 1064,
- 1065
- ]
- },
- {
- "teal": 1099,
- "source": 4,
- "pc": [
- 1066,
- 1067,
- 1068,
- 1069,
- 1070,
- 1071
- ]
- },
- {
- "teal": 1100,
- "source": 4,
- "pc": [
- 1072,
- 1073,
- 1074,
- 1075,
- 1076,
- 1077
- ]
- },
- {
- "teal": 1101,
- "source": 4,
- "pc": [
- 1078,
- 1079,
- 1080,
- 1081,
- 1082,
- 1083
- ]
- },
- {
- "teal": 1102,
- "source": 4,
- "pc": [
- 1084,
- 1085,
- 1086,
- 1087,
- 1088,
- 1089
- ]
- },
- {
- "teal": 1103,
- "source": 4,
- "pc": [
- 1090,
- 1091,
- 1092,
- 1093,
- 1094,
- 1095
- ]
- },
- {
- "teal": 1104,
- "source": 4,
- "pc": [
- 1096,
- 1097,
- 1098,
- 1099,
- 1100,
- 1101
- ]
- },
- {
- "teal": 1105,
- "source": 4,
- "pc": [
- 1102,
- 1103,
- 1104,
- 1105,
- 1106,
- 1107
- ]
- },
- {
- "teal": 1106,
- "source": 4,
- "pc": [
- 1108,
- 1109,
- 1110,
- 1111,
- 1112,
- 1113
- ]
- },
- {
- "teal": 1107,
- "source": 4,
- "pc": [
- 1114,
- 1115,
- 1116,
- 1117,
- 1118,
- 1119
- ]
- },
- {
- "teal": 1108,
- "source": 4,
- "pc": [
- 1120,
- 1121,
- 1122,
- 1123,
- 1124,
- 1125
- ]
- },
- {
- "teal": 1109,
- "source": 4,
- "pc": [
- 1126,
- 1127,
- 1128,
- 1129,
- 1130,
- 1131
- ]
- },
- {
- "teal": 1110,
- "source": 4,
- "pc": [
- 1132,
- 1133,
- 1134
- ]
- },
- {
- "teal": 1111,
- "source": 4,
- "pc": [
- 1135,
- 1136,
- 1137,
- 1138,
- 1139,
- 1140,
- 1141,
- 1142,
- 1143,
- 1144,
- 1145,
- 1146,
- 1147,
- 1148,
- 1149,
- 1150,
- 1151,
- 1152,
- 1153,
- 1154,
- 1155,
- 1156,
- 1157,
- 1158,
- 1159,
- 1160,
- 1161,
- 1162,
- 1163,
- 1164,
- 1165,
- 1166,
- 1167,
- 1168,
- 1169,
- 1170,
- 1171,
- 1172,
- 1173,
- 1174,
- 1175,
- 1176,
- 1177,
- 1178,
- 1179,
- 1180,
- 1181,
- 1182,
- 1183,
- 1184,
- 1185,
- 1186,
- 1187,
- 1188,
- 1189,
- 1190,
- 1191,
- 1192,
- 1193,
- 1194,
- 1195,
- 1196,
- 1197,
- 1198,
- 1199,
- 1200,
- 1201,
- 1202,
- 1203,
- 1204,
- 1205,
- 1206,
- 1207,
- 1208,
- 1209,
- 1210,
- 1211,
- 1212,
- 1213,
- 1214,
- 1215,
- 1216,
- 1217,
- 1218
- ]
- },
- {
- "teal": 1114,
- "source": 4,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "pc": [
- 1219
- ]
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 4,
+ "pc": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58
+ ]
+ },
+ {
+ "teal": 13,
+ "source": 4,
+ "pc": [
+ 59,
+ 60
+ ]
+ },
+ {
+ "teal": 14,
+ "source": 4,
+ "pc": [
+ 61
+ ]
+ },
+ {
+ "teal": 15,
+ "source": 4,
+ "pc": [
+ 62,
+ 63
+ ]
+ },
+ {
+ "teal": 16,
+ "source": 4,
+ "pc": [
+ 64
+ ]
+ },
+ {
+ "teal": 17,
+ "source": 4,
+ "pc": [
+ 65,
+ 66
+ ]
+ },
+ {
+ "teal": 18,
+ "source": 4,
+ "pc": [
+ 67
+ ]
+ },
+ {
+ "teal": 19,
+ "source": 4,
+ "pc": [
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93
+ ]
+ },
+ {
+ "teal": 23,
+ "source": 4,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "pc": [
+ 94
+ ]
+ },
+ {
+ "teal": 28,
+ "source": 25,
+ "pc": [
+ 95,
+ 96,
+ 97
+ ]
+ },
+ {
+ "teal": 29,
+ "source": 25,
+ "pc": [
+ 98
+ ]
+ },
+ {
+ "teal": 30,
+ "source": 25,
+ "pc": [
+ 99
+ ]
+ },
+ {
+ "teal": 34,
+ "source": 25,
+ "pc": [
+ 100,
+ 101,
+ 102
+ ]
+ },
+ {
+ "teal": 38,
+ "source": 26,
+ "pc": [
+ 103
+ ]
+ },
+ {
+ "teal": 39,
+ "source": 26,
+ "pc": [
+ 104
+ ]
+ },
+ {
+ "teal": 40,
+ "source": 26,
+ "pc": [
+ 105
+ ]
+ },
+ {
+ "teal": 41,
+ "source": 26,
+ "pc": [
+ 106
+ ]
+ },
+ {
+ "teal": 42,
+ "source": 26,
+ "pc": [
+ 107
+ ]
+ },
+ {
+ "teal": 43,
+ "source": 26,
+ "pc": [
+ 108
+ ]
+ },
+ {
+ "teal": 47,
+ "source": 27,
+ "pc": [
+ 109
+ ]
+ },
+ {
+ "teal": 48,
+ "source": 27,
+ "pc": [
+ 110
+ ]
+ },
+ {
+ "teal": 49,
+ "source": 27,
+ "pc": [
+ 111
+ ]
+ },
+ {
+ "teal": 53,
+ "source": 28,
+ "pc": [
+ 112,
+ 113
+ ]
+ },
+ {
+ "teal": 54,
+ "source": 28,
+ "pc": [
+ 114
+ ]
+ },
+ {
+ "teal": 55,
+ "source": 28,
+ "pc": [
+ 115
+ ]
+ },
+ {
+ "teal": 56,
+ "source": 28,
+ "pc": [
+ 116
+ ]
+ },
+ {
+ "teal": 57,
+ "source": 25,
+ "pc": [
+ 117
+ ]
+ },
+ {
+ "teal": 62,
+ "source": 31,
+ "pc": [
+ 118,
+ 119,
+ 120
+ ]
+ },
+ {
+ "teal": 63,
+ "source": 31,
+ "pc": [
+ 121
+ ]
+ },
+ {
+ "teal": 64,
+ "source": 31,
+ "pc": [
+ 122
+ ]
+ },
+ {
+ "teal": 68,
+ "source": 31,
+ "pc": [
+ 123,
+ 124,
+ 125
+ ]
+ },
+ {
+ "teal": 72,
+ "source": 32,
+ "pc": [
+ 126
+ ]
+ },
+ {
+ "teal": 73,
+ "source": 32,
+ "pc": [
+ 127
+ ]
+ },
+ {
+ "teal": 74,
+ "source": 32,
+ "pc": [
+ 128
+ ]
+ },
+ {
+ "teal": 75,
+ "source": 31,
+ "pc": [
+ 129
+ ]
+ },
+ {
+ "teal": 80,
+ "source": 35,
+ "pc": [
+ 130,
+ 131,
+ 132
+ ]
+ },
+ {
+ "teal": 81,
+ "source": 35,
+ "pc": [
+ 133
+ ]
+ },
+ {
+ "teal": 82,
+ "source": 35,
+ "pc": [
+ 134
+ ]
+ },
+ {
+ "teal": 86,
+ "source": 35,
+ "pc": [
+ 135,
+ 136,
+ 137
+ ]
+ },
+ {
+ "teal": 90,
+ "source": 36,
+ "pc": [
+ 138
+ ]
+ },
+ {
+ "teal": 91,
+ "source": 36,
+ "pc": [
+ 139
+ ]
+ },
+ {
+ "teal": 92,
+ "source": 36,
+ "pc": [
+ 140
+ ]
+ },
+ {
+ "teal": 93,
+ "source": 36,
+ "pc": [
+ 141
+ ]
+ },
+ {
+ "teal": 94,
+ "source": 36,
+ "pc": [
+ 142
+ ]
+ },
+ {
+ "teal": 95,
+ "source": 35,
+ "pc": [
+ 143
+ ]
+ },
+ {
+ "teal": 100,
+ "source": 39,
+ "pc": [
+ 144,
+ 145,
+ 146
+ ]
+ },
+ {
+ "teal": 101,
+ "source": 39,
+ "pc": [
+ 147
+ ]
+ },
+ {
+ "teal": 102,
+ "source": 39,
+ "pc": [
+ 148
+ ]
+ },
+ {
+ "teal": 106,
+ "source": 39,
+ "pc": [
+ 149,
+ 150,
+ 151
+ ]
+ },
+ {
+ "teal": 110,
+ "source": 40,
+ "pc": [
+ 152
+ ]
+ },
+ {
+ "teal": 111,
+ "source": 40,
+ "pc": [
+ 153
+ ]
+ },
+ {
+ "teal": 112,
+ "source": 39,
+ "pc": [
+ 154
+ ]
+ },
+ {
+ "teal": 117,
+ "source": 43,
+ "pc": [
+ 155,
+ 156,
+ 157
+ ]
+ },
+ {
+ "teal": 118,
+ "source": 43,
+ "pc": [
+ 158
+ ]
+ },
+ {
+ "teal": 119,
+ "source": 43,
+ "pc": [
+ 159
+ ]
+ },
+ {
+ "teal": 123,
+ "source": 43,
+ "pc": [
+ 160,
+ 161,
+ 162
+ ]
+ },
+ {
+ "teal": 127,
+ "source": 44,
+ "pc": [
+ 163,
+ 164,
+ 165
+ ]
+ },
+ {
+ "teal": 128,
+ "source": 44,
+ "pc": [
+ 166
+ ]
+ },
+ {
+ "teal": 129,
+ "source": 44,
+ "pc": [
+ 167
+ ]
+ },
+ {
+ "teal": 130,
+ "source": 44,
+ "pc": [
+ 168
+ ]
+ },
+ {
+ "teal": 131,
+ "source": 44,
+ "pc": [
+ 169
+ ]
+ },
+ {
+ "teal": 132,
+ "source": 44,
+ "pc": [
+ 170
+ ]
+ },
+ {
+ "teal": 133,
+ "source": 43,
+ "pc": [
+ 171
+ ]
+ },
+ {
+ "teal": 138,
+ "source": 47,
+ "pc": [
+ 172,
+ 173,
+ 174
+ ]
+ },
+ {
+ "teal": 139,
+ "source": 47,
+ "pc": [
+ 175
+ ]
+ },
+ {
+ "teal": 140,
+ "source": 47,
+ "pc": [
+ 176
+ ]
+ },
+ {
+ "teal": 141,
+ "source": 47,
+ "pc": [
+ 177
+ ]
+ },
+ {
+ "teal": 142,
+ "source": 47,
+ "pc": [
+ 178
+ ]
+ },
+ {
+ "teal": 145,
+ "source": 47,
+ "errorMessage": "argument 0 (a) for localKeyPut must be a address",
+ "pc": [
+ 179
+ ]
+ },
+ {
+ "teal": 148,
+ "source": 47,
+ "pc": [
+ 180,
+ 181,
+ 182
+ ]
+ },
+ {
+ "teal": 149,
+ "source": 47,
+ "pc": [
+ 183
+ ]
+ },
+ {
+ "teal": 150,
+ "source": 47,
+ "pc": [
+ 184
+ ]
+ },
+ {
+ "teal": 154,
+ "source": 47,
+ "pc": [
+ 185,
+ 186,
+ 187
+ ]
+ },
+ {
+ "teal": 158,
+ "source": 48,
+ "pc": [
+ 188,
+ 189
+ ]
+ },
+ {
+ "teal": 159,
+ "source": 48,
+ "pc": [
+ 190
+ ]
+ },
+ {
+ "teal": 160,
+ "source": 48,
+ "pc": [
+ 191
+ ]
+ },
+ {
+ "teal": 161,
+ "source": 48,
+ "pc": [
+ 192
+ ]
+ },
+ {
+ "teal": 162,
+ "source": 47,
+ "pc": [
+ 193
+ ]
+ },
+ {
+ "teal": 167,
+ "source": 51,
+ "pc": [
+ 194,
+ 195,
+ 196
+ ]
+ },
+ {
+ "teal": 168,
+ "source": 51,
+ "pc": [
+ 197
+ ]
+ },
+ {
+ "teal": 169,
+ "source": 51,
+ "pc": [
+ 198
+ ]
+ },
+ {
+ "teal": 170,
+ "source": 51,
+ "pc": [
+ 199
+ ]
+ },
+ {
+ "teal": 171,
+ "source": 51,
+ "pc": [
+ 200
+ ]
+ },
+ {
+ "teal": 174,
+ "source": 51,
+ "errorMessage": "argument 0 (a) for localKeyGet must be a address",
+ "pc": [
+ 201
+ ]
+ },
+ {
+ "teal": 177,
+ "source": 51,
+ "pc": [
+ 202,
+ 203,
+ 204
+ ]
+ },
+ {
+ "teal": 178,
+ "source": 51,
+ "pc": [
+ 205
+ ]
+ },
+ {
+ "teal": 179,
+ "source": 51,
+ "pc": [
+ 206
+ ]
+ },
+ {
+ "teal": 183,
+ "source": 51,
+ "pc": [
+ 207,
+ 208,
+ 209
+ ]
+ },
+ {
+ "teal": 187,
+ "source": 52,
+ "pc": [
+ 210,
+ 211
+ ]
+ },
+ {
+ "teal": 188,
+ "source": 52,
+ "pc": [
+ 212
+ ]
+ },
+ {
+ "teal": 189,
+ "source": 52,
+ "pc": [
+ 213
+ ]
+ },
+ {
+ "teal": 190,
+ "source": 52,
+ "pc": [
+ 214
+ ]
+ },
+ {
+ "teal": 191,
+ "source": 52,
+ "pc": [
+ 215
+ ]
+ },
+ {
+ "teal": 192,
+ "source": 52,
+ "pc": [
+ 216
+ ]
+ },
+ {
+ "teal": 193,
+ "source": 51,
+ "pc": [
+ 217
+ ]
+ },
+ {
+ "teal": 198,
+ "source": 55,
+ "pc": [
+ 218,
+ 219,
+ 220
+ ]
+ },
+ {
+ "teal": 199,
+ "source": 55,
+ "pc": [
+ 221
+ ]
+ },
+ {
+ "teal": 200,
+ "source": 55,
+ "pc": [
+ 222
+ ]
+ },
+ {
+ "teal": 201,
+ "source": 55,
+ "pc": [
+ 223
+ ]
+ },
+ {
+ "teal": 202,
+ "source": 55,
+ "pc": [
+ 224
+ ]
+ },
+ {
+ "teal": 205,
+ "source": 55,
+ "errorMessage": "argument 0 (a) for localKeyDelete must be a address",
+ "pc": [
+ 225
+ ]
+ },
+ {
+ "teal": 208,
+ "source": 55,
+ "pc": [
+ 226,
+ 227,
+ 228
+ ]
+ },
+ {
+ "teal": 209,
+ "source": 55,
+ "pc": [
+ 229
+ ]
+ },
+ {
+ "teal": 210,
+ "source": 55,
+ "pc": [
+ 230
+ ]
+ },
+ {
+ "teal": 214,
+ "source": 55,
+ "pc": [
+ 231,
+ 232,
+ 233
+ ]
+ },
+ {
+ "teal": 218,
+ "source": 56,
+ "pc": [
+ 234,
+ 235
+ ]
+ },
+ {
+ "teal": 219,
+ "source": 56,
+ "pc": [
+ 236
+ ]
+ },
+ {
+ "teal": 220,
+ "source": 56,
+ "pc": [
+ 237
+ ]
+ },
+ {
+ "teal": 221,
+ "source": 55,
+ "pc": [
+ 238
+ ]
+ },
+ {
+ "teal": 226,
+ "source": 59,
+ "pc": [
+ 239,
+ 240,
+ 241
+ ]
+ },
+ {
+ "teal": 227,
+ "source": 59,
+ "pc": [
+ 242
+ ]
+ },
+ {
+ "teal": 228,
+ "source": 59,
+ "pc": [
+ 243
+ ]
+ },
+ {
+ "teal": 229,
+ "source": 59,
+ "pc": [
+ 244
+ ]
+ },
+ {
+ "teal": 230,
+ "source": 59,
+ "pc": [
+ 245
+ ]
+ },
+ {
+ "teal": 233,
+ "source": 59,
+ "errorMessage": "argument 0 (a) for localKeyExists must be a address",
+ "pc": [
+ 246
+ ]
+ },
+ {
+ "teal": 236,
+ "source": 59,
+ "pc": [
+ 247,
+ 248,
+ 249
+ ]
+ },
+ {
+ "teal": 237,
+ "source": 59,
+ "pc": [
+ 250
+ ]
+ },
+ {
+ "teal": 238,
+ "source": 59,
+ "pc": [
+ 251
+ ]
+ },
+ {
+ "teal": 242,
+ "source": 59,
+ "pc": [
+ 252,
+ 253,
+ 254
+ ]
+ },
+ {
+ "teal": 246,
+ "source": 60,
+ "pc": [
+ 255,
+ 256
+ ]
+ },
+ {
+ "teal": 247,
+ "source": 60,
+ "pc": [
+ 257,
+ 258,
+ 259
+ ]
+ },
+ {
+ "teal": 248,
+ "source": 60,
+ "pc": [
+ 260
+ ]
+ },
+ {
+ "teal": 249,
+ "source": 60,
+ "pc": [
+ 261
+ ]
+ },
+ {
+ "teal": 250,
+ "source": 60,
+ "pc": [
+ 262
+ ]
+ },
+ {
+ "teal": 251,
+ "source": 60,
+ "pc": [
+ 263
+ ]
+ },
+ {
+ "teal": 252,
+ "source": 60,
+ "pc": [
+ 264
+ ]
+ },
+ {
+ "teal": 253,
+ "source": 59,
+ "pc": [
+ 265
+ ]
+ },
+ {
+ "teal": 258,
+ "source": 63,
+ "pc": [
+ 266,
+ 267,
+ 268
+ ]
+ },
+ {
+ "teal": 259,
+ "source": 63,
+ "pc": [
+ 269
+ ]
+ },
+ {
+ "teal": 260,
+ "source": 63,
+ "pc": [
+ 270
+ ]
+ },
+ {
+ "teal": 264,
+ "source": 63,
+ "pc": [
+ 271,
+ 272,
+ 273
+ ]
+ },
+ {
+ "teal": 268,
+ "source": 64,
+ "pc": [
+ 274
+ ]
+ },
+ {
+ "teal": 269,
+ "source": 64,
+ "pc": [
+ 275
+ ]
+ },
+ {
+ "teal": 270,
+ "source": 64,
+ "pc": [
+ 276
+ ]
+ },
+ {
+ "teal": 271,
+ "source": 63,
+ "pc": [
+ 277
+ ]
+ },
+ {
+ "teal": 276,
+ "source": 67,
+ "pc": [
+ 278,
+ 279,
+ 280
+ ]
+ },
+ {
+ "teal": 277,
+ "source": 67,
+ "pc": [
+ 281
+ ]
+ },
+ {
+ "teal": 278,
+ "source": 67,
+ "pc": [
+ 282
+ ]
+ },
+ {
+ "teal": 282,
+ "source": 67,
+ "pc": [
+ 283,
+ 284,
+ 285
+ ]
+ },
+ {
+ "teal": 286,
+ "source": 68,
+ "pc": [
+ 286
+ ]
+ },
+ {
+ "teal": 287,
+ "source": 68,
+ "pc": [
+ 287
+ ]
+ },
+ {
+ "teal": 290,
+ "source": 68,
+ "errorMessage": "box value does not exist: this.boxKey.value",
+ "pc": [
+ 288
+ ]
+ },
+ {
+ "teal": 291,
+ "source": 68,
+ "pc": [
+ 289
+ ]
+ },
+ {
+ "teal": 292,
+ "source": 68,
+ "pc": [
+ 290
+ ]
+ },
+ {
+ "teal": 293,
+ "source": 68,
+ "pc": [
+ 291
+ ]
+ },
+ {
+ "teal": 294,
+ "source": 67,
+ "pc": [
+ 292
+ ]
+ },
+ {
+ "teal": 299,
+ "source": 71,
+ "pc": [
+ 293,
+ 294,
+ 295
+ ]
+ },
+ {
+ "teal": 300,
+ "source": 71,
+ "pc": [
+ 296
+ ]
+ },
+ {
+ "teal": 301,
+ "source": 71,
+ "pc": [
+ 297
+ ]
+ },
+ {
+ "teal": 305,
+ "source": 71,
+ "pc": [
+ 298,
+ 299,
+ 300
+ ]
+ },
+ {
+ "teal": 309,
+ "source": 72,
+ "pc": [
+ 301
+ ]
+ },
+ {
+ "teal": 310,
+ "source": 72,
+ "pc": [
+ 302
+ ]
+ },
+ {
+ "teal": 311,
+ "source": 71,
+ "pc": [
+ 303
+ ]
+ },
+ {
+ "teal": 316,
+ "source": 75,
+ "pc": [
+ 304,
+ 305,
+ 306
+ ]
+ },
+ {
+ "teal": 317,
+ "source": 75,
+ "pc": [
+ 307
+ ]
+ },
+ {
+ "teal": 318,
+ "source": 75,
+ "pc": [
+ 308
+ ]
+ },
+ {
+ "teal": 322,
+ "source": 75,
+ "pc": [
+ 309,
+ 310,
+ 311
+ ]
+ },
+ {
+ "teal": 326,
+ "source": 76,
+ "pc": [
+ 312
+ ]
+ },
+ {
+ "teal": 327,
+ "source": 76,
+ "pc": [
+ 313
+ ]
+ },
+ {
+ "teal": 328,
+ "source": 76,
+ "pc": [
+ 314
+ ]
+ },
+ {
+ "teal": 329,
+ "source": 76,
+ "pc": [
+ 315
+ ]
+ },
+ {
+ "teal": 330,
+ "source": 76,
+ "pc": [
+ 316
+ ]
+ },
+ {
+ "teal": 331,
+ "source": 75,
+ "pc": [
+ 317
+ ]
+ },
+ {
+ "teal": 336,
+ "source": 79,
+ "pc": [
+ 318,
+ 319,
+ 320
+ ]
+ },
+ {
+ "teal": 337,
+ "source": 79,
+ "pc": [
+ 321
+ ]
+ },
+ {
+ "teal": 338,
+ "source": 79,
+ "pc": [
+ 322
+ ]
+ },
+ {
+ "teal": 342,
+ "source": 79,
+ "pc": [
+ 323,
+ 324,
+ 325
+ ]
+ },
+ {
+ "teal": 346,
+ "source": 80,
+ "pc": [
+ 326
+ ]
+ },
+ {
+ "teal": 347,
+ "source": 80,
+ "pc": [
+ 327
+ ]
+ },
+ {
+ "teal": 348,
+ "source": 80,
+ "pc": [
+ 328
+ ]
+ },
+ {
+ "teal": 349,
+ "source": 79,
+ "pc": [
+ 329
+ ]
+ },
+ {
+ "teal": 354,
+ "source": 83,
+ "pc": [
+ 330,
+ 331,
+ 332
+ ]
+ },
+ {
+ "teal": 355,
+ "source": 83,
+ "pc": [
+ 333
+ ]
+ },
+ {
+ "teal": 356,
+ "source": 83,
+ "pc": [
+ 334
+ ]
+ },
+ {
+ "teal": 360,
+ "source": 83,
+ "pc": [
+ 335,
+ 336,
+ 337
+ ]
+ },
+ {
+ "teal": 364,
+ "source": 84,
+ "pc": [
+ 338
+ ]
+ },
+ {
+ "teal": 365,
+ "source": 84,
+ "pc": [
+ 339
+ ]
+ },
+ {
+ "teal": 366,
+ "source": 84,
+ "pc": [
+ 340
+ ]
+ },
+ {
+ "teal": 367,
+ "source": 84,
+ "pc": [
+ 341
+ ]
+ },
+ {
+ "teal": 368,
+ "source": 84,
+ "pc": [
+ 342
+ ]
+ },
+ {
+ "teal": 369,
+ "source": 83,
+ "pc": [
+ 343
+ ]
+ },
+ {
+ "teal": 374,
+ "source": 87,
+ "pc": [
+ 344,
+ 345,
+ 346
+ ]
+ },
+ {
+ "teal": 375,
+ "source": 87,
+ "pc": [
+ 347
+ ]
+ },
+ {
+ "teal": 376,
+ "source": 87,
+ "pc": [
+ 348
+ ]
+ },
+ {
+ "teal": 380,
+ "source": 87,
+ "pc": [
+ 349,
+ 350,
+ 351
+ ]
+ },
+ {
+ "teal": 384,
+ "source": 88,
+ "pc": [
+ 352
+ ]
+ },
+ {
+ "teal": 385,
+ "source": 88,
+ "pc": [
+ 353
+ ]
+ },
+ {
+ "teal": 386,
+ "source": 87,
+ "pc": [
+ 354
+ ]
+ },
+ {
+ "teal": 391,
+ "source": 91,
+ "pc": [
+ 355,
+ 356,
+ 357
+ ]
+ },
+ {
+ "teal": 392,
+ "source": 91,
+ "pc": [
+ 358
+ ]
+ },
+ {
+ "teal": 393,
+ "source": 91,
+ "pc": [
+ 359
+ ]
+ },
+ {
+ "teal": 397,
+ "source": 91,
+ "pc": [
+ 360,
+ 361,
+ 362
+ ]
+ },
+ {
+ "teal": 401,
+ "source": 92,
+ "pc": [
+ 363,
+ 364,
+ 365
+ ]
+ },
+ {
+ "teal": 402,
+ "source": 92,
+ "pc": [
+ 366
+ ]
+ },
+ {
+ "teal": 403,
+ "source": 92,
+ "pc": [
+ 367
+ ]
+ },
+ {
+ "teal": 404,
+ "source": 92,
+ "pc": [
+ 368
+ ]
+ },
+ {
+ "teal": 405,
+ "source": 92,
+ "pc": [
+ 369
+ ]
+ },
+ {
+ "teal": 406,
+ "source": 92,
+ "pc": [
+ 370
+ ]
+ },
+ {
+ "teal": 407,
+ "source": 91,
+ "pc": [
+ 371
+ ]
+ },
+ {
+ "teal": 412,
+ "source": 95,
+ "pc": [
+ 372,
+ 373,
+ 374
+ ]
+ },
+ {
+ "teal": 413,
+ "source": 95,
+ "pc": [
+ 375
+ ]
+ },
+ {
+ "teal": 414,
+ "source": 95,
+ "pc": [
+ 376
+ ]
+ },
+ {
+ "teal": 415,
+ "source": 95,
+ "pc": [
+ 377
+ ]
+ },
+ {
+ "teal": 416,
+ "source": 95,
+ "pc": [
+ 378
+ ]
+ },
+ {
+ "teal": 419,
+ "source": 95,
+ "errorMessage": "argument 0 (a) for localMapPut must be a address",
+ "pc": [
+ 379
+ ]
+ },
+ {
+ "teal": 422,
+ "source": 95,
+ "pc": [
+ 380,
+ 381,
+ 382
+ ]
+ },
+ {
+ "teal": 423,
+ "source": 95,
+ "pc": [
+ 383
+ ]
+ },
+ {
+ "teal": 424,
+ "source": 95,
+ "pc": [
+ 384
+ ]
+ },
+ {
+ "teal": 428,
+ "source": 95,
+ "pc": [
+ 385,
+ 386,
+ 387
+ ]
+ },
+ {
+ "teal": 432,
+ "source": 96,
+ "pc": [
+ 388,
+ 389
+ ]
+ },
+ {
+ "teal": 433,
+ "source": 96,
+ "pc": [
+ 390
+ ]
+ },
+ {
+ "teal": 434,
+ "source": 96,
+ "pc": [
+ 391
+ ]
+ },
+ {
+ "teal": 435,
+ "source": 96,
+ "pc": [
+ 392
+ ]
+ },
+ {
+ "teal": 436,
+ "source": 95,
+ "pc": [
+ 393
+ ]
+ },
+ {
+ "teal": 441,
+ "source": 99,
+ "pc": [
+ 394,
+ 395,
+ 396
+ ]
+ },
+ {
+ "teal": 442,
+ "source": 99,
+ "pc": [
+ 397
+ ]
+ },
+ {
+ "teal": 443,
+ "source": 99,
+ "pc": [
+ 398
+ ]
+ },
+ {
+ "teal": 444,
+ "source": 99,
+ "pc": [
+ 399
+ ]
+ },
+ {
+ "teal": 445,
+ "source": 99,
+ "pc": [
+ 400
+ ]
+ },
+ {
+ "teal": 448,
+ "source": 99,
+ "errorMessage": "argument 0 (a) for localMapGet must be a address",
+ "pc": [
+ 401
+ ]
+ },
+ {
+ "teal": 451,
+ "source": 99,
+ "pc": [
+ 402,
+ 403,
+ 404
+ ]
+ },
+ {
+ "teal": 452,
+ "source": 99,
+ "pc": [
+ 405
+ ]
+ },
+ {
+ "teal": 453,
+ "source": 99,
+ "pc": [
+ 406
+ ]
+ },
+ {
+ "teal": 457,
+ "source": 99,
+ "pc": [
+ 407,
+ 408,
+ 409
+ ]
+ },
+ {
+ "teal": 461,
+ "source": 100,
+ "pc": [
+ 410,
+ 411
+ ]
+ },
+ {
+ "teal": 462,
+ "source": 100,
+ "pc": [
+ 412
+ ]
+ },
+ {
+ "teal": 463,
+ "source": 100,
+ "pc": [
+ 413
+ ]
+ },
+ {
+ "teal": 464,
+ "source": 100,
+ "pc": [
+ 414
+ ]
+ },
+ {
+ "teal": 465,
+ "source": 100,
+ "pc": [
+ 415
+ ]
+ },
+ {
+ "teal": 466,
+ "source": 100,
+ "pc": [
+ 416
+ ]
+ },
+ {
+ "teal": 467,
+ "source": 99,
+ "pc": [
+ 417
+ ]
+ },
+ {
+ "teal": 472,
+ "source": 103,
+ "pc": [
+ 418,
+ 419,
+ 420
+ ]
+ },
+ {
+ "teal": 473,
+ "source": 103,
+ "pc": [
+ 421
+ ]
+ },
+ {
+ "teal": 474,
+ "source": 103,
+ "pc": [
+ 422
+ ]
+ },
+ {
+ "teal": 475,
+ "source": 103,
+ "pc": [
+ 423
+ ]
+ },
+ {
+ "teal": 476,
+ "source": 103,
+ "pc": [
+ 424
+ ]
+ },
+ {
+ "teal": 479,
+ "source": 103,
+ "errorMessage": "argument 0 (a) for localMapDelete must be a address",
+ "pc": [
+ 425
+ ]
+ },
+ {
+ "teal": 482,
+ "source": 103,
+ "pc": [
+ 426,
+ 427,
+ 428
+ ]
+ },
+ {
+ "teal": 483,
+ "source": 103,
+ "pc": [
+ 429
+ ]
+ },
+ {
+ "teal": 484,
+ "source": 103,
+ "pc": [
+ 430
+ ]
+ },
+ {
+ "teal": 488,
+ "source": 103,
+ "pc": [
+ 431,
+ 432,
+ 433
+ ]
+ },
+ {
+ "teal": 492,
+ "source": 104,
+ "pc": [
+ 434,
+ 435
+ ]
+ },
+ {
+ "teal": 493,
+ "source": 104,
+ "pc": [
+ 436
+ ]
+ },
+ {
+ "teal": 494,
+ "source": 104,
+ "pc": [
+ 437
+ ]
+ },
+ {
+ "teal": 495,
+ "source": 103,
+ "pc": [
+ 438
+ ]
+ },
+ {
+ "teal": 500,
+ "source": 107,
+ "pc": [
+ 439,
+ 440,
+ 441
+ ]
+ },
+ {
+ "teal": 501,
+ "source": 107,
+ "pc": [
+ 442
+ ]
+ },
+ {
+ "teal": 502,
+ "source": 107,
+ "pc": [
+ 443
+ ]
+ },
+ {
+ "teal": 503,
+ "source": 107,
+ "pc": [
+ 444
+ ]
+ },
+ {
+ "teal": 504,
+ "source": 107,
+ "pc": [
+ 445
+ ]
+ },
+ {
+ "teal": 507,
+ "source": 107,
+ "errorMessage": "argument 0 (a) for localMapExists must be a address",
+ "pc": [
+ 446
+ ]
+ },
+ {
+ "teal": 510,
+ "source": 107,
+ "pc": [
+ 447,
+ 448,
+ 449
+ ]
+ },
+ {
+ "teal": 511,
+ "source": 107,
+ "pc": [
+ 450
+ ]
+ },
+ {
+ "teal": 512,
+ "source": 107,
+ "pc": [
+ 451
+ ]
+ },
+ {
+ "teal": 516,
+ "source": 107,
+ "pc": [
+ 452,
+ 453,
+ 454
+ ]
+ },
+ {
+ "teal": 520,
+ "source": 108,
+ "pc": [
+ 455,
+ 456
+ ]
+ },
+ {
+ "teal": 521,
+ "source": 108,
+ "pc": [
+ 457,
+ 458,
+ 459
+ ]
+ },
+ {
+ "teal": 522,
+ "source": 108,
+ "pc": [
+ 460
+ ]
+ },
+ {
+ "teal": 523,
+ "source": 108,
+ "pc": [
+ 461
+ ]
+ },
+ {
+ "teal": 524,
+ "source": 108,
+ "pc": [
+ 462
+ ]
+ },
+ {
+ "teal": 525,
+ "source": 108,
+ "pc": [
+ 463
+ ]
+ },
+ {
+ "teal": 526,
+ "source": 108,
+ "pc": [
+ 464
+ ]
+ },
+ {
+ "teal": 527,
+ "source": 107,
+ "pc": [
+ 465
+ ]
+ },
+ {
+ "teal": 532,
+ "source": 111,
+ "pc": [
+ 466,
+ 467,
+ 468
+ ]
+ },
+ {
+ "teal": 533,
+ "source": 111,
+ "pc": [
+ 469
+ ]
+ },
+ {
+ "teal": 534,
+ "source": 111,
+ "pc": [
+ 470
+ ]
+ },
+ {
+ "teal": 538,
+ "source": 111,
+ "pc": [
+ 471,
+ 472,
+ 473
+ ]
+ },
+ {
+ "teal": 542,
+ "source": 112,
+ "pc": [
+ 474
+ ]
+ },
+ {
+ "teal": 543,
+ "source": 112,
+ "pc": [
+ 475
+ ]
+ },
+ {
+ "teal": 544,
+ "source": 112,
+ "pc": [
+ 476
+ ]
+ },
+ {
+ "teal": 545,
+ "source": 111,
+ "pc": [
+ 477
+ ]
+ },
+ {
+ "teal": 550,
+ "source": 115,
+ "pc": [
+ 478,
+ 479,
+ 480
+ ]
+ },
+ {
+ "teal": 551,
+ "source": 115,
+ "pc": [
+ 481
+ ]
+ },
+ {
+ "teal": 552,
+ "source": 115,
+ "pc": [
+ 482
+ ]
+ },
+ {
+ "teal": 556,
+ "source": 115,
+ "pc": [
+ 483,
+ 484,
+ 485
+ ]
+ },
+ {
+ "teal": 560,
+ "source": 116,
+ "pc": [
+ 486
+ ]
+ },
+ {
+ "teal": 561,
+ "source": 116,
+ "pc": [
+ 487
+ ]
+ },
+ {
+ "teal": 564,
+ "source": 116,
+ "errorMessage": "box value does not exist: this.boxMap('foo').value",
+ "pc": [
+ 488
+ ]
+ },
+ {
+ "teal": 565,
+ "source": 116,
+ "pc": [
+ 489
+ ]
+ },
+ {
+ "teal": 566,
+ "source": 116,
+ "pc": [
+ 490
+ ]
+ },
+ {
+ "teal": 567,
+ "source": 116,
+ "pc": [
+ 491
+ ]
+ },
+ {
+ "teal": 568,
+ "source": 115,
+ "pc": [
+ 492
+ ]
+ },
+ {
+ "teal": 573,
+ "source": 119,
+ "pc": [
+ 493,
+ 494,
+ 495
+ ]
+ },
+ {
+ "teal": 574,
+ "source": 119,
+ "pc": [
+ 496
+ ]
+ },
+ {
+ "teal": 575,
+ "source": 119,
+ "pc": [
+ 497
+ ]
+ },
+ {
+ "teal": 579,
+ "source": 119,
+ "pc": [
+ 498,
+ 499,
+ 500
+ ]
+ },
+ {
+ "teal": 583,
+ "source": 120,
+ "pc": [
+ 501
+ ]
+ },
+ {
+ "teal": 584,
+ "source": 120,
+ "pc": [
+ 502
+ ]
+ },
+ {
+ "teal": 585,
+ "source": 119,
+ "pc": [
+ 503
+ ]
+ },
+ {
+ "teal": 590,
+ "source": 123,
+ "pc": [
+ 504,
+ 505,
+ 506
+ ]
+ },
+ {
+ "teal": 591,
+ "source": 123,
+ "pc": [
+ 507
+ ]
+ },
+ {
+ "teal": 592,
+ "source": 123,
+ "pc": [
+ 508
+ ]
+ },
+ {
+ "teal": 596,
+ "source": 123,
+ "pc": [
+ 509,
+ 510,
+ 511
+ ]
+ },
+ {
+ "teal": 600,
+ "source": 124,
+ "pc": [
+ 512
+ ]
+ },
+ {
+ "teal": 601,
+ "source": 124,
+ "pc": [
+ 513
+ ]
+ },
+ {
+ "teal": 602,
+ "source": 124,
+ "pc": [
+ 514
+ ]
+ },
+ {
+ "teal": 603,
+ "source": 124,
+ "pc": [
+ 515
+ ]
+ },
+ {
+ "teal": 604,
+ "source": 124,
+ "pc": [
+ 516
+ ]
+ },
+ {
+ "teal": 605,
+ "source": 123,
+ "pc": [
+ 517
+ ]
+ },
+ {
+ "teal": 610,
+ "source": 127,
+ "pc": [
+ 518,
+ 519,
+ 520
+ ]
+ },
+ {
+ "teal": 611,
+ "source": 127,
+ "pc": [
+ 521
+ ]
+ },
+ {
+ "teal": 612,
+ "source": 127,
+ "pc": [
+ 522
+ ]
+ },
+ {
+ "teal": 616,
+ "source": 127,
+ "pc": [
+ 523,
+ 524,
+ 525
+ ]
+ },
+ {
+ "teal": 620,
+ "source": 128,
+ "pc": [
+ 526
+ ]
+ },
+ {
+ "teal": 621,
+ "source": 128,
+ "pc": [
+ 527
+ ]
+ },
+ {
+ "teal": 622,
+ "source": 128,
+ "pc": [
+ 528
+ ]
+ },
+ {
+ "teal": 623,
+ "source": 128,
+ "pc": [
+ 529
+ ]
+ },
+ {
+ "teal": 624,
+ "source": 127,
+ "pc": [
+ 530
+ ]
+ },
+ {
+ "teal": 629,
+ "source": 131,
+ "pc": [
+ 531,
+ 532,
+ 533
+ ]
+ },
+ {
+ "teal": 630,
+ "source": 131,
+ "pc": [
+ 534
+ ]
+ },
+ {
+ "teal": 631,
+ "source": 131,
+ "pc": [
+ 535
+ ]
+ },
+ {
+ "teal": 635,
+ "source": 131,
+ "pc": [
+ 536,
+ 537,
+ 538
+ ]
+ },
+ {
+ "teal": 639,
+ "source": 132,
+ "pc": [
+ 539
+ ]
+ },
+ {
+ "teal": 640,
+ "source": 132,
+ "pc": [
+ 540
+ ]
+ },
+ {
+ "teal": 641,
+ "source": 132,
+ "pc": [
+ 541
+ ]
+ },
+ {
+ "teal": 642,
+ "source": 132,
+ "pc": [
+ 542
+ ]
+ },
+ {
+ "teal": 643,
+ "source": 131,
+ "pc": [
+ 543
+ ]
+ },
+ {
+ "teal": 648,
+ "source": 135,
+ "pc": [
+ 544
+ ]
+ },
+ {
+ "teal": 651,
+ "source": 135,
+ "pc": [
+ 545,
+ 546,
+ 547
+ ]
+ },
+ {
+ "teal": 652,
+ "source": 135,
+ "pc": [
+ 548
+ ]
+ },
+ {
+ "teal": 653,
+ "source": 135,
+ "pc": [
+ 549
+ ]
+ },
+ {
+ "teal": 654,
+ "source": 135,
+ "pc": [
+ 550
+ ]
+ },
+ {
+ "teal": 655,
+ "source": 135,
+ "pc": [
+ 551
+ ]
+ },
+ {
+ "teal": 656,
+ "source": 135,
+ "pc": [
+ 552
+ ]
+ },
+ {
+ "teal": 660,
+ "source": 135,
+ "pc": [
+ 553,
+ 554,
+ 555
+ ]
+ },
+ {
+ "teal": 664,
+ "source": 136,
+ "pc": [
+ 556
+ ]
+ },
+ {
+ "teal": 665,
+ "source": 136,
+ "pc": [
+ 557
+ ]
+ },
+ {
+ "teal": 668,
+ "source": 136,
+ "errorMessage": "box value does not exist: this.boxKey.size",
+ "pc": [
+ 558
+ ]
+ },
+ {
+ "teal": 669,
+ "source": 135,
+ "pc": [
+ 559
+ ]
+ },
+ {
+ "teal": 674,
+ "source": 139,
+ "pc": [
+ 560
+ ]
+ },
+ {
+ "teal": 677,
+ "source": 139,
+ "pc": [
+ 561,
+ 562,
+ 563
+ ]
+ },
+ {
+ "teal": 678,
+ "source": 139,
+ "pc": [
+ 564
+ ]
+ },
+ {
+ "teal": 679,
+ "source": 139,
+ "pc": [
+ 565
+ ]
+ },
+ {
+ "teal": 680,
+ "source": 139,
+ "pc": [
+ 566
+ ]
+ },
+ {
+ "teal": 681,
+ "source": 139,
+ "pc": [
+ 567
+ ]
+ },
+ {
+ "teal": 682,
+ "source": 139,
+ "pc": [
+ 568
+ ]
+ },
+ {
+ "teal": 686,
+ "source": 139,
+ "pc": [
+ 569,
+ 570,
+ 571
+ ]
+ },
+ {
+ "teal": 690,
+ "source": 140,
+ "pc": [
+ 572
+ ]
+ },
+ {
+ "teal": 691,
+ "source": 140,
+ "pc": [
+ 573
+ ]
+ },
+ {
+ "teal": 694,
+ "source": 140,
+ "errorMessage": "box value does not exist: this.boxMap('bar').size",
+ "pc": [
+ 574
+ ]
+ },
+ {
+ "teal": 695,
+ "source": 139,
+ "pc": [
+ 575
+ ]
+ },
+ {
+ "teal": 700,
+ "source": 143,
+ "pc": [
+ 576,
+ 577,
+ 578
+ ]
+ },
+ {
+ "teal": 701,
+ "source": 143,
+ "pc": [
+ 579
+ ]
+ },
+ {
+ "teal": 702,
+ "source": 143,
+ "pc": [
+ 580
+ ]
+ },
+ {
+ "teal": 706,
+ "source": 143,
+ "pc": [
+ 581,
+ 582,
+ 583
+ ]
+ },
+ {
+ "teal": 710,
+ "source": 144,
+ "pc": [
+ 584
+ ]
+ },
+ {
+ "teal": 711,
+ "source": 144,
+ "pc": [
+ 585
+ ]
+ },
+ {
+ "teal": 712,
+ "source": 144,
+ "pc": [
+ 586,
+ 587
+ ]
+ },
+ {
+ "teal": 713,
+ "source": 144,
+ "pc": [
+ 588
+ ]
+ },
+ {
+ "teal": 714,
+ "source": 143,
+ "pc": [
+ 589
+ ]
+ },
+ {
+ "teal": 719,
+ "source": 147,
+ "pc": [
+ 590,
+ 591,
+ 592
+ ]
+ },
+ {
+ "teal": 720,
+ "source": 147,
+ "pc": [
+ 593
+ ]
+ },
+ {
+ "teal": 721,
+ "source": 147,
+ "pc": [
+ 594
+ ]
+ },
+ {
+ "teal": 725,
+ "source": 147,
+ "pc": [
+ 595,
+ 596,
+ 597
+ ]
+ },
+ {
+ "teal": 729,
+ "source": 148,
+ "pc": [
+ 598
+ ]
+ },
+ {
+ "teal": 730,
+ "source": 148,
+ "pc": [
+ 599
+ ]
+ },
+ {
+ "teal": 731,
+ "source": 148,
+ "pc": [
+ 600,
+ 601
+ ]
+ },
+ {
+ "teal": 732,
+ "source": 148,
+ "pc": [
+ 602
+ ]
+ },
+ {
+ "teal": 733,
+ "source": 147,
+ "pc": [
+ 603
+ ]
+ },
+ {
+ "teal": 738,
+ "source": 151,
+ "pc": [
+ 604
+ ]
+ },
+ {
+ "teal": 741,
+ "source": 151,
+ "pc": [
+ 605,
+ 606,
+ 607
+ ]
+ },
+ {
+ "teal": 742,
+ "source": 151,
+ "pc": [
+ 608
+ ]
+ },
+ {
+ "teal": 743,
+ "source": 151,
+ "pc": [
+ 609
+ ]
+ },
+ {
+ "teal": 744,
+ "source": 151,
+ "pc": [
+ 610
+ ]
+ },
+ {
+ "teal": 745,
+ "source": 151,
+ "pc": [
+ 611,
+ 612,
+ 613
+ ]
+ },
+ {
+ "teal": 746,
+ "source": 151,
+ "pc": [
+ 614
+ ]
+ },
+ {
+ "teal": 747,
+ "source": 151,
+ "pc": [
+ 615
+ ]
+ },
+ {
+ "teal": 748,
+ "source": 151,
+ "pc": [
+ 616
+ ]
+ },
+ {
+ "teal": 749,
+ "source": 151,
+ "pc": [
+ 617
+ ]
+ },
+ {
+ "teal": 750,
+ "source": 151,
+ "pc": [
+ 618
+ ]
+ },
+ {
+ "teal": 751,
+ "source": 151,
+ "pc": [
+ 619
+ ]
+ },
+ {
+ "teal": 755,
+ "source": 151,
+ "pc": [
+ 620,
+ 621,
+ 622
+ ]
+ },
+ {
+ "teal": 759,
+ "source": 152,
+ "pc": [
+ 623
+ ]
+ },
+ {
+ "teal": 760,
+ "source": 152,
+ "pc": [
+ 624
+ ]
+ },
+ {
+ "teal": 761,
+ "source": 152,
+ "pc": [
+ 625,
+ 626
+ ]
+ },
+ {
+ "teal": 762,
+ "source": 152,
+ "pc": [
+ 627
+ ]
+ },
+ {
+ "teal": 763,
+ "source": 151,
+ "pc": [
+ 628
+ ]
+ },
+ {
+ "teal": 768,
+ "source": 155,
+ "pc": [
+ 629
+ ]
+ },
+ {
+ "teal": 771,
+ "source": 155,
+ "pc": [
+ 630,
+ 631,
+ 632
+ ]
+ },
+ {
+ "teal": 772,
+ "source": 155,
+ "pc": [
+ 633
+ ]
+ },
+ {
+ "teal": 773,
+ "source": 155,
+ "pc": [
+ 634
+ ]
+ },
+ {
+ "teal": 774,
+ "source": 155,
+ "pc": [
+ 635
+ ]
+ },
+ {
+ "teal": 775,
+ "source": 155,
+ "pc": [
+ 636,
+ 637,
+ 638
+ ]
+ },
+ {
+ "teal": 776,
+ "source": 155,
+ "pc": [
+ 639
+ ]
+ },
+ {
+ "teal": 777,
+ "source": 155,
+ "pc": [
+ 640
+ ]
+ },
+ {
+ "teal": 778,
+ "source": 155,
+ "pc": [
+ 641
+ ]
+ },
+ {
+ "teal": 779,
+ "source": 155,
+ "pc": [
+ 642
+ ]
+ },
+ {
+ "teal": 780,
+ "source": 155,
+ "pc": [
+ 643
+ ]
+ },
+ {
+ "teal": 781,
+ "source": 155,
+ "pc": [
+ 644
+ ]
+ },
+ {
+ "teal": 785,
+ "source": 155,
+ "pc": [
+ 645,
+ 646,
+ 647
+ ]
+ },
+ {
+ "teal": 789,
+ "source": 156,
+ "pc": [
+ 648
+ ]
+ },
+ {
+ "teal": 790,
+ "source": 156,
+ "pc": [
+ 649
+ ]
+ },
+ {
+ "teal": 791,
+ "source": 156,
+ "pc": [
+ 650,
+ 651
+ ]
+ },
+ {
+ "teal": 792,
+ "source": 156,
+ "pc": [
+ 652
+ ]
+ },
+ {
+ "teal": 793,
+ "source": 155,
+ "pc": [
+ 653
+ ]
+ },
+ {
+ "teal": 798,
+ "source": 159,
+ "pc": [
+ 654
+ ]
+ },
+ {
+ "teal": 801,
+ "source": 159,
+ "pc": [
+ 655,
+ 656,
+ 657
+ ]
+ },
+ {
+ "teal": 802,
+ "source": 159,
+ "pc": [
+ 658,
+ 659,
+ 660
+ ]
+ },
+ {
+ "teal": 803,
+ "source": 159,
+ "pc": [
+ 661
+ ]
+ },
+ {
+ "teal": 804,
+ "source": 159,
+ "pc": [
+ 662,
+ 663
+ ]
+ },
+ {
+ "teal": 805,
+ "source": 159,
+ "pc": [
+ 664
+ ]
+ },
+ {
+ "teal": 806,
+ "source": 159,
+ "pc": [
+ 665
+ ]
+ },
+ {
+ "teal": 807,
+ "source": 159,
+ "pc": [
+ 666
+ ]
+ },
+ {
+ "teal": 808,
+ "source": 159,
+ "pc": [
+ 667
+ ]
+ },
+ {
+ "teal": 809,
+ "source": 159,
+ "pc": [
+ 668
+ ]
+ },
+ {
+ "teal": 813,
+ "source": 159,
+ "pc": [
+ 669,
+ 670,
+ 671
+ ]
+ },
+ {
+ "teal": 817,
+ "source": 160,
+ "pc": [
+ 672,
+ 673
+ ]
+ },
+ {
+ "teal": 818,
+ "source": 160,
+ "pc": [
+ 674,
+ 675,
+ 676
+ ]
+ },
+ {
+ "teal": 819,
+ "source": 160,
+ "pc": [
+ 677
+ ]
+ },
+ {
+ "teal": 820,
+ "source": 159,
+ "pc": [
+ 678
+ ]
+ },
+ {
+ "teal": 825,
+ "source": 163,
+ "pc": [
+ 679,
+ 680,
+ 681
+ ]
+ },
+ {
+ "teal": 826,
+ "source": 163,
+ "pc": [
+ 682
+ ]
+ },
+ {
+ "teal": 827,
+ "source": 163,
+ "pc": [
+ 683
+ ]
+ },
+ {
+ "teal": 831,
+ "source": 163,
+ "pc": [
+ 684,
+ 685,
+ 686
+ ]
+ },
+ {
+ "teal": 835,
+ "source": 164,
+ "pc": [
+ 687,
+ 688,
+ 689
+ ]
+ },
+ {
+ "teal": 836,
+ "source": 164,
+ "pc": [
+ 690
+ ]
+ },
+ {
+ "teal": 837,
+ "source": 164,
+ "pc": [
+ 691
+ ]
+ },
+ {
+ "teal": 840,
+ "source": 164,
+ "errorMessage": "global state value does not exist: this.app.globalState('foo')",
+ "pc": [
+ 692
+ ]
+ },
+ {
+ "teal": 841,
+ "source": 164,
+ "pc": [
+ 693
+ ]
+ },
+ {
+ "teal": 842,
+ "source": 163,
+ "pc": [
+ 694
+ ]
+ },
+ {
+ "teal": 847,
+ "source": 167,
+ "pc": [
+ 695,
+ 696,
+ 697
+ ]
+ },
+ {
+ "teal": 848,
+ "source": 167,
+ "pc": [
+ 698
+ ]
+ },
+ {
+ "teal": 849,
+ "source": 167,
+ "pc": [
+ 699
+ ]
+ },
+ {
+ "teal": 853,
+ "source": 167,
+ "pc": [
+ 700,
+ 701,
+ 702
+ ]
+ },
+ {
+ "teal": 857,
+ "source": 168,
+ "pc": [
+ 703,
+ 704
+ ]
+ },
+ {
+ "teal": 858,
+ "source": 168,
+ "pc": [
+ 705,
+ 706,
+ 707
+ ]
+ },
+ {
+ "teal": 859,
+ "source": 168,
+ "pc": [
+ 708
+ ]
+ },
+ {
+ "teal": 860,
+ "source": 168,
+ "pc": [
+ 709
+ ]
+ },
+ {
+ "teal": 863,
+ "source": 168,
+ "errorMessage": "local state value does not exist: this.app.localState(this.txn.sender, 'foo')",
+ "pc": [
+ 710
+ ]
+ },
+ {
+ "teal": 864,
+ "source": 168,
+ "pc": [
+ 711
+ ]
+ },
+ {
+ "teal": 865,
+ "source": 167,
+ "pc": [
+ 712
+ ]
+ },
+ {
+ "teal": 870,
+ "source": 171,
+ "pc": [
+ 713
+ ]
+ },
+ {
+ "teal": 873,
+ "source": 171,
+ "pc": [
+ 714,
+ 715,
+ 716
+ ]
+ },
+ {
+ "teal": 874,
+ "source": 171,
+ "pc": [
+ 717
+ ]
+ },
+ {
+ "teal": 875,
+ "source": 171,
+ "pc": [
+ 718
+ ]
+ },
+ {
+ "teal": 876,
+ "source": 171,
+ "pc": [
+ 719
+ ]
+ },
+ {
+ "teal": 877,
+ "source": 171,
+ "pc": [
+ 720,
+ 721
+ ]
+ },
+ {
+ "teal": 878,
+ "source": 171,
+ "pc": [
+ 722
+ ]
+ },
+ {
+ "teal": 881,
+ "source": 171,
+ "errorMessage": "accessStaticValueInLargeBox return value overflowed 16 bits",
+ "pc": [
+ 723
+ ]
+ },
+ {
+ "teal": 882,
+ "source": 171,
+ "pc": [
+ 724,
+ 725,
+ 726
+ ]
+ },
+ {
+ "teal": 883,
+ "source": 171,
+ "pc": [
+ 727
+ ]
+ },
+ {
+ "teal": 884,
+ "source": 171,
+ "pc": [
+ 728
+ ]
+ },
+ {
+ "teal": 885,
+ "source": 171,
+ "pc": [
+ 729
+ ]
+ },
+ {
+ "teal": 886,
+ "source": 171,
+ "pc": [
+ 730
+ ]
+ },
+ {
+ "teal": 890,
+ "source": 171,
+ "pc": [
+ 731,
+ 732,
+ 733
+ ]
+ },
+ {
+ "teal": 894,
+ "source": 172,
+ "pc": [
+ 734
+ ]
+ },
+ {
+ "teal": 895,
+ "source": 172,
+ "pc": [
+ 735,
+ 736
+ ]
+ },
+ {
+ "teal": 896,
+ "source": 172,
+ "pc": [
+ 737
+ ]
+ },
+ {
+ "teal": 897,
+ "source": 172,
+ "pc": [
+ 738
+ ]
+ },
+ {
+ "teal": 901,
+ "source": 173,
+ "pc": [
+ 739
+ ]
+ },
+ {
+ "teal": 902,
+ "source": 173,
+ "pc": [
+ 740,
+ 741
+ ]
+ },
+ {
+ "teal": 903,
+ "source": 173,
+ "pc": [
+ 742,
+ 743
+ ]
+ },
+ {
+ "teal": 904,
+ "source": 173,
+ "pc": [
+ 744
+ ]
+ },
+ {
+ "teal": 908,
+ "source": 175,
+ "pc": [
+ 745
+ ]
+ },
+ {
+ "teal": 909,
+ "source": 175,
+ "pc": [
+ 746,
+ 747
+ ]
+ },
+ {
+ "teal": 910,
+ "source": 175,
+ "pc": [
+ 748,
+ 749
+ ]
+ },
+ {
+ "teal": 911,
+ "source": 175,
+ "pc": [
+ 750
+ ]
+ },
+ {
+ "teal": 912,
+ "source": 175,
+ "pc": [
+ 751
+ ]
+ },
+ {
+ "teal": 913,
+ "source": 171,
+ "pc": [
+ 752
+ ]
+ },
+ {
+ "teal": 918,
+ "source": 178,
+ "pc": [
+ 753
+ ]
+ },
+ {
+ "teal": 921,
+ "source": 178,
+ "pc": [
+ 754,
+ 755,
+ 756
+ ]
+ },
+ {
+ "teal": 922,
+ "source": 178,
+ "pc": [
+ 757
+ ]
+ },
+ {
+ "teal": 925,
+ "source": 178,
+ "pc": [
+ 758,
+ 759,
+ 760
+ ]
+ },
+ {
+ "teal": 926,
+ "source": 178,
+ "pc": [
+ 761
+ ]
+ },
+ {
+ "teal": 927,
+ "source": 178,
+ "pc": [
+ 762
+ ]
+ },
+ {
+ "teal": 928,
+ "source": 178,
+ "pc": [
+ 763
+ ]
+ },
+ {
+ "teal": 929,
+ "source": 178,
+ "pc": [
+ 764,
+ 765
+ ]
+ },
+ {
+ "teal": 930,
+ "source": 178,
+ "pc": [
+ 766
+ ]
+ },
+ {
+ "teal": 933,
+ "source": 178,
+ "errorMessage": "dynamicAccessStaticValueInLargeBox return value overflowed 16 bits",
+ "pc": [
+ 767
+ ]
+ },
+ {
+ "teal": 934,
+ "source": 178,
+ "pc": [
+ 768,
+ 769,
+ 770
+ ]
+ },
+ {
+ "teal": 935,
+ "source": 178,
+ "pc": [
+ 771
+ ]
+ },
+ {
+ "teal": 936,
+ "source": 178,
+ "pc": [
+ 772
+ ]
+ },
+ {
+ "teal": 937,
+ "source": 178,
+ "pc": [
+ 773
+ ]
+ },
+ {
+ "teal": 938,
+ "source": 178,
+ "pc": [
+ 774
+ ]
+ },
+ {
+ "teal": 942,
+ "source": 178,
+ "pc": [
+ 775,
+ 776,
+ 777
+ ]
+ },
+ {
+ "teal": 946,
+ "source": 179,
+ "pc": [
+ 778
+ ]
+ },
+ {
+ "teal": 947,
+ "source": 179,
+ "pc": [
+ 779,
+ 780
+ ]
+ },
+ {
+ "teal": 948,
+ "source": 179,
+ "pc": [
+ 781
+ ]
+ },
+ {
+ "teal": 949,
+ "source": 179,
+ "pc": [
+ 782
+ ]
+ },
+ {
+ "teal": 953,
+ "source": 180,
+ "pc": [
+ 783,
+ 784
+ ]
+ },
+ {
+ "teal": 954,
+ "source": 180,
+ "pc": [
+ 785,
+ 786
+ ]
+ },
+ {
+ "teal": 955,
+ "source": 180,
+ "pc": [
+ 787
+ ]
+ },
+ {
+ "teal": 956,
+ "source": 180,
+ "pc": [
+ 788,
+ 789
+ ]
+ },
+ {
+ "teal": 957,
+ "source": 180,
+ "pc": [
+ 790
+ ]
+ },
+ {
+ "teal": 958,
+ "source": 180,
+ "pc": [
+ 791,
+ 792
+ ]
+ },
+ {
+ "teal": 959,
+ "source": 180,
+ "pc": [
+ 793
+ ]
+ },
+ {
+ "teal": 963,
+ "source": 184,
+ "pc": [
+ 794,
+ 795
+ ]
+ },
+ {
+ "teal": 964,
+ "source": 184,
+ "pc": [
+ 796,
+ 797
+ ]
+ },
+ {
+ "teal": 965,
+ "source": 184,
+ "pc": [
+ 798
+ ]
+ },
+ {
+ "teal": 966,
+ "source": 184,
+ "pc": [
+ 799,
+ 800
+ ]
+ },
+ {
+ "teal": 967,
+ "source": 182,
+ "pc": [
+ 801
+ ]
+ },
+ {
+ "teal": 968,
+ "source": 182,
+ "pc": [
+ 802,
+ 803
+ ]
+ },
+ {
+ "teal": 969,
+ "source": 182,
+ "pc": [
+ 804
+ ]
+ },
+ {
+ "teal": 970,
+ "source": 184,
+ "pc": [
+ 805
+ ]
+ },
+ {
+ "teal": 971,
+ "source": 178,
+ "pc": [
+ 806
+ ]
+ },
+ {
+ "teal": 976,
+ "source": 187,
+ "pc": [
+ 807,
+ 808,
+ 809
+ ]
+ },
+ {
+ "teal": 977,
+ "source": 187,
+ "pc": [
+ 810
+ ]
+ },
+ {
+ "teal": 978,
+ "source": 187,
+ "pc": [
+ 811
+ ]
+ },
+ {
+ "teal": 982,
+ "source": 187,
+ "pc": [
+ 812,
+ 813,
+ 814
+ ]
+ },
+ {
+ "teal": 986,
+ "source": 188,
+ "pc": [
+ 815
+ ]
+ },
+ {
+ "teal": 987,
+ "source": 188,
+ "pc": [
+ 816
+ ]
+ },
+ {
+ "teal": 988,
+ "source": 188,
+ "pc": [
+ 817
+ ]
+ },
+ {
+ "teal": 992,
+ "source": 189,
+ "pc": [
+ 818
+ ]
+ },
+ {
+ "teal": 993,
+ "source": 189,
+ "pc": [
+ 819
+ ]
+ },
+ {
+ "teal": 994,
+ "source": 189,
+ "pc": [
+ 820
+ ]
+ },
+ {
+ "teal": 995,
+ "source": 187,
+ "pc": [
+ 821
+ ]
+ },
+ {
+ "teal": 1000,
+ "source": 192,
+ "pc": [
+ 822,
+ 823,
+ 824
+ ]
+ },
+ {
+ "teal": 1001,
+ "source": 192,
+ "pc": [
+ 825
+ ]
+ },
+ {
+ "teal": 1002,
+ "source": 192,
+ "pc": [
+ 826
+ ]
+ },
+ {
+ "teal": 1006,
+ "source": 192,
+ "pc": [
+ 827,
+ 828,
+ 829
+ ]
+ },
+ {
+ "teal": 1010,
+ "source": 193,
+ "pc": [
+ 830
+ ]
+ },
+ {
+ "teal": 1011,
+ "source": 193,
+ "pc": [
+ 831
+ ]
+ },
+ {
+ "teal": 1012,
+ "source": 193,
+ "pc": [
+ 832
+ ]
+ },
+ {
+ "teal": 1013,
+ "source": 193,
+ "pc": [
+ 833,
+ 834
+ ]
+ },
+ {
+ "teal": 1014,
+ "source": 193,
+ "pc": [
+ 835
+ ]
+ },
+ {
+ "teal": 1018,
+ "source": 194,
+ "pc": [
+ 836
+ ]
+ },
+ {
+ "teal": 1019,
+ "source": 194,
+ "pc": [
+ 837
+ ]
+ },
+ {
+ "teal": 1020,
+ "source": 194,
+ "pc": [
+ 838
+ ]
+ },
+ {
+ "teal": 1021,
+ "source": 194,
+ "pc": [
+ 839,
+ 840
+ ]
+ },
+ {
+ "teal": 1022,
+ "source": 194,
+ "pc": [
+ 841
+ ]
+ },
+ {
+ "teal": 1023,
+ "source": 192,
+ "pc": [
+ 842
+ ]
+ },
+ {
+ "teal": 1028,
+ "source": 197,
+ "pc": [
+ 843,
+ 844,
+ 845
+ ]
+ },
+ {
+ "teal": 1029,
+ "source": 197,
+ "pc": [
+ 846
+ ]
+ },
+ {
+ "teal": 1030,
+ "source": 197,
+ "pc": [
+ 847
+ ]
+ },
+ {
+ "teal": 1034,
+ "source": 197,
+ "pc": [
+ 848,
+ 849,
+ 850
+ ]
+ },
+ {
+ "teal": 1038,
+ "source": 198,
+ "pc": [
+ 851,
+ 852,
+ 853
+ ]
+ },
+ {
+ "teal": 1039,
+ "source": 198,
+ "pc": [
+ 854
+ ]
+ },
+ {
+ "teal": 1040,
+ "source": 198,
+ "pc": [
+ 855
+ ]
+ },
+ {
+ "teal": 1041,
+ "source": 198,
+ "pc": [
+ 856
+ ]
+ },
+ {
+ "teal": 1042,
+ "source": 198,
+ "pc": [
+ 857
+ ]
+ },
+ {
+ "teal": 1043,
+ "source": 198,
+ "pc": [
+ 858
+ ]
+ },
+ {
+ "teal": 1047,
+ "source": 199,
+ "pc": [
+ 859,
+ 860
+ ]
+ },
+ {
+ "teal": 1048,
+ "source": 199,
+ "pc": [
+ 861,
+ 862,
+ 863
+ ]
+ },
+ {
+ "teal": 1049,
+ "source": 199,
+ "pc": [
+ 864
+ ]
+ },
+ {
+ "teal": 1050,
+ "source": 199,
+ "pc": [
+ 865
+ ]
+ },
+ {
+ "teal": 1051,
+ "source": 199,
+ "pc": [
+ 866
+ ]
+ },
+ {
+ "teal": 1052,
+ "source": 199,
+ "pc": [
+ 867
+ ]
+ },
+ {
+ "teal": 1053,
+ "source": 199,
+ "pc": [
+ 868
+ ]
+ },
+ {
+ "teal": 1054,
+ "source": 197,
+ "pc": [
+ 869
+ ]
+ },
+ {
+ "teal": 1057,
+ "source": 4,
+ "pc": [
+ 870
+ ]
+ },
+ {
+ "teal": 1058,
+ "source": 4,
+ "pc": [
+ 871
+ ]
+ },
+ {
+ "teal": 1061,
+ "source": 4,
+ "pc": [
+ 872,
+ 873,
+ 874,
+ 875,
+ 876,
+ 877
+ ]
+ },
+ {
+ "teal": 1062,
+ "source": 4,
+ "pc": [
+ 878,
+ 879,
+ 880
+ ]
+ },
+ {
+ "teal": 1063,
+ "source": 4,
+ "pc": [
+ 881,
+ 882,
+ 883,
+ 884
+ ]
+ },
+ {
+ "teal": 1066,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "pc": [
+ 885
+ ]
+ },
+ {
+ "teal": 1069,
+ "source": 4,
+ "pc": [
+ 886,
+ 887,
+ 888,
+ 889,
+ 890,
+ 891
+ ]
+ },
+ {
+ "teal": 1070,
+ "source": 4,
+ "pc": [
+ 892,
+ 893,
+ 894,
+ 895,
+ 896,
+ 897
+ ]
+ },
+ {
+ "teal": 1071,
+ "source": 4,
+ "pc": [
+ 898,
+ 899,
+ 900,
+ 901,
+ 902,
+ 903
+ ]
+ },
+ {
+ "teal": 1072,
+ "source": 4,
+ "pc": [
+ 904,
+ 905,
+ 906,
+ 907,
+ 908,
+ 909
+ ]
+ },
+ {
+ "teal": 1073,
+ "source": 4,
+ "pc": [
+ 910,
+ 911,
+ 912,
+ 913,
+ 914,
+ 915
+ ]
+ },
+ {
+ "teal": 1074,
+ "source": 4,
+ "pc": [
+ 916,
+ 917,
+ 918,
+ 919,
+ 920,
+ 921
+ ]
+ },
+ {
+ "teal": 1075,
+ "source": 4,
+ "pc": [
+ 922,
+ 923,
+ 924,
+ 925,
+ 926,
+ 927
+ ]
+ },
+ {
+ "teal": 1076,
+ "source": 4,
+ "pc": [
+ 928,
+ 929,
+ 930,
+ 931,
+ 932,
+ 933
+ ]
+ },
+ {
+ "teal": 1077,
+ "source": 4,
+ "pc": [
+ 934,
+ 935,
+ 936,
+ 937,
+ 938,
+ 939
+ ]
+ },
+ {
+ "teal": 1078,
+ "source": 4,
+ "pc": [
+ 940,
+ 941,
+ 942,
+ 943,
+ 944,
+ 945
+ ]
+ },
+ {
+ "teal": 1079,
+ "source": 4,
+ "pc": [
+ 946,
+ 947,
+ 948,
+ 949,
+ 950,
+ 951
+ ]
+ },
+ {
+ "teal": 1080,
+ "source": 4,
+ "pc": [
+ 952,
+ 953,
+ 954,
+ 955,
+ 956,
+ 957
+ ]
+ },
+ {
+ "teal": 1081,
+ "source": 4,
+ "pc": [
+ 958,
+ 959,
+ 960,
+ 961,
+ 962,
+ 963
+ ]
+ },
+ {
+ "teal": 1082,
+ "source": 4,
+ "pc": [
+ 964,
+ 965,
+ 966,
+ 967,
+ 968,
+ 969
+ ]
+ },
+ {
+ "teal": 1083,
+ "source": 4,
+ "pc": [
+ 970,
+ 971,
+ 972,
+ 973,
+ 974,
+ 975
+ ]
+ },
+ {
+ "teal": 1084,
+ "source": 4,
+ "pc": [
+ 976,
+ 977,
+ 978,
+ 979,
+ 980,
+ 981
+ ]
+ },
+ {
+ "teal": 1085,
+ "source": 4,
+ "pc": [
+ 982,
+ 983,
+ 984,
+ 985,
+ 986,
+ 987
+ ]
+ },
+ {
+ "teal": 1086,
+ "source": 4,
+ "pc": [
+ 988,
+ 989,
+ 990,
+ 991,
+ 992,
+ 993
+ ]
+ },
+ {
+ "teal": 1087,
+ "source": 4,
+ "pc": [
+ 994,
+ 995,
+ 996,
+ 997,
+ 998,
+ 999
+ ]
+ },
+ {
+ "teal": 1088,
+ "source": 4,
+ "pc": [
+ 1000,
+ 1001,
+ 1002,
+ 1003,
+ 1004,
+ 1005
+ ]
+ },
+ {
+ "teal": 1089,
+ "source": 4,
+ "pc": [
+ 1006,
+ 1007,
+ 1008,
+ 1009,
+ 1010,
+ 1011
+ ]
+ },
+ {
+ "teal": 1090,
+ "source": 4,
+ "pc": [
+ 1012,
+ 1013,
+ 1014,
+ 1015,
+ 1016,
+ 1017
+ ]
+ },
+ {
+ "teal": 1091,
+ "source": 4,
+ "pc": [
+ 1018,
+ 1019,
+ 1020,
+ 1021,
+ 1022,
+ 1023
+ ]
+ },
+ {
+ "teal": 1092,
+ "source": 4,
+ "pc": [
+ 1024,
+ 1025,
+ 1026,
+ 1027,
+ 1028,
+ 1029
+ ]
+ },
+ {
+ "teal": 1093,
+ "source": 4,
+ "pc": [
+ 1030,
+ 1031,
+ 1032,
+ 1033,
+ 1034,
+ 1035
+ ]
+ },
+ {
+ "teal": 1094,
+ "source": 4,
+ "pc": [
+ 1036,
+ 1037,
+ 1038,
+ 1039,
+ 1040,
+ 1041
+ ]
+ },
+ {
+ "teal": 1095,
+ "source": 4,
+ "pc": [
+ 1042,
+ 1043,
+ 1044,
+ 1045,
+ 1046,
+ 1047
+ ]
+ },
+ {
+ "teal": 1096,
+ "source": 4,
+ "pc": [
+ 1048,
+ 1049,
+ 1050,
+ 1051,
+ 1052,
+ 1053
+ ]
+ },
+ {
+ "teal": 1097,
+ "source": 4,
+ "pc": [
+ 1054,
+ 1055,
+ 1056,
+ 1057,
+ 1058,
+ 1059
+ ]
+ },
+ {
+ "teal": 1098,
+ "source": 4,
+ "pc": [
+ 1060,
+ 1061,
+ 1062,
+ 1063,
+ 1064,
+ 1065
+ ]
+ },
+ {
+ "teal": 1099,
+ "source": 4,
+ "pc": [
+ 1066,
+ 1067,
+ 1068,
+ 1069,
+ 1070,
+ 1071
+ ]
+ },
+ {
+ "teal": 1100,
+ "source": 4,
+ "pc": [
+ 1072,
+ 1073,
+ 1074,
+ 1075,
+ 1076,
+ 1077
+ ]
+ },
+ {
+ "teal": 1101,
+ "source": 4,
+ "pc": [
+ 1078,
+ 1079,
+ 1080,
+ 1081,
+ 1082,
+ 1083
+ ]
+ },
+ {
+ "teal": 1102,
+ "source": 4,
+ "pc": [
+ 1084,
+ 1085,
+ 1086,
+ 1087,
+ 1088,
+ 1089
+ ]
+ },
+ {
+ "teal": 1103,
+ "source": 4,
+ "pc": [
+ 1090,
+ 1091,
+ 1092,
+ 1093,
+ 1094,
+ 1095
+ ]
+ },
+ {
+ "teal": 1104,
+ "source": 4,
+ "pc": [
+ 1096,
+ 1097,
+ 1098,
+ 1099,
+ 1100,
+ 1101
+ ]
+ },
+ {
+ "teal": 1105,
+ "source": 4,
+ "pc": [
+ 1102,
+ 1103,
+ 1104,
+ 1105,
+ 1106,
+ 1107
+ ]
+ },
+ {
+ "teal": 1106,
+ "source": 4,
+ "pc": [
+ 1108,
+ 1109,
+ 1110,
+ 1111,
+ 1112,
+ 1113
+ ]
+ },
+ {
+ "teal": 1107,
+ "source": 4,
+ "pc": [
+ 1114,
+ 1115,
+ 1116,
+ 1117,
+ 1118,
+ 1119
+ ]
+ },
+ {
+ "teal": 1108,
+ "source": 4,
+ "pc": [
+ 1120,
+ 1121,
+ 1122,
+ 1123,
+ 1124,
+ 1125
+ ]
+ },
+ {
+ "teal": 1109,
+ "source": 4,
+ "pc": [
+ 1126,
+ 1127,
+ 1128,
+ 1129,
+ 1130,
+ 1131
+ ]
+ },
+ {
+ "teal": 1110,
+ "source": 4,
+ "pc": [
+ 1132,
+ 1133,
+ 1134
+ ]
+ },
+ {
+ "teal": 1111,
+ "source": 4,
+ "pc": [
+ 1135,
+ 1136,
+ 1137,
+ 1138,
+ 1139,
+ 1140,
+ 1141,
+ 1142,
+ 1143,
+ 1144,
+ 1145,
+ 1146,
+ 1147,
+ 1148,
+ 1149,
+ 1150,
+ 1151,
+ 1152,
+ 1153,
+ 1154,
+ 1155,
+ 1156,
+ 1157,
+ 1158,
+ 1159,
+ 1160,
+ 1161,
+ 1162,
+ 1163,
+ 1164,
+ 1165,
+ 1166,
+ 1167,
+ 1168,
+ 1169,
+ 1170,
+ 1171,
+ 1172,
+ 1173,
+ 1174,
+ 1175,
+ 1176,
+ 1177,
+ 1178,
+ 1179,
+ 1180,
+ 1181,
+ 1182,
+ 1183,
+ 1184,
+ 1185,
+ 1186,
+ 1187,
+ 1188,
+ 1189,
+ 1190,
+ 1191,
+ 1192,
+ 1193,
+ 1194,
+ 1195,
+ 1196,
+ 1197,
+ 1198,
+ 1199,
+ 1200,
+ 1201,
+ 1202,
+ 1203,
+ 1204,
+ 1205,
+ 1206,
+ 1207,
+ 1208,
+ 1209,
+ 1210,
+ 1211,
+ 1212,
+ 1213,
+ 1214,
+ 1215,
+ 1216,
+ 1217,
+ 1218
+ ]
+ },
+ {
+ "teal": 1114,
+ "source": 4,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "pc": [
+ 1219
+ ]
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcmVmaXgoKXZvaWQKKmFiaV9yb3V0ZV9wcmVmaXg6CgkvLyBleGVjdXRlIHByZWZpeCgpdm9pZAoJY2FsbHN1YiBwcmVmaXgKCWludCAxCglyZXR1cm4KCi8vIHByZWZpeCgpOiB2b2lkCnByZWZpeDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjYKCS8vIHRoaXMuYm94TWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlIDB4NjY2ZjZmCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjcKCS8vIHRoaXMuZ2xvYmFsTWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlIDB4NjY2ZjZmCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjgKCS8vIHRoaXMubG9jYWxNYXBXaXRoUHJlZml4KHRoaXMudHhuLnNlbmRlciwgJ29vJykudmFsdWUgPSAnYmFyJwoJdHhuIFNlbmRlcgoJYnl0ZSAweDY2NmY2ZgoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxLZXlQdXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQ6CgkvLyBleGVjdXRlIGdsb2JhbEtleVB1dCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlQdXQKCWludCAxCglyZXR1cm4KCi8vIGdsb2JhbEtleVB1dCgpOiB2b2lkCmdsb2JhbEtleVB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MzIKCS8vIHRoaXMuZ2xvYmFsS2V5LnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbEtleUdldCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleUdldDoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5R2V0KCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleUdldAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5R2V0KCk6IHZvaWQKZ2xvYmFsS2V5R2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czozNgoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsS2V5LnZhbHVlID09PSAnYmFyJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbEtleURlbGV0ZSgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleURlbGV0ZToKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RGVsZXRlKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleURlbGV0ZQoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RGVsZXRlKCk6IHZvaWQKZ2xvYmFsS2V5RGVsZXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0MAoJLy8gdGhpcy5nbG9iYWxLZXkuZGVsZXRlKCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZGVsCglyZXRzdWIKCi8vIGdsb2JhbEtleUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleUV4aXN0czoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RXhpc3RzKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleUV4aXN0cwoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RXhpc3RzKCk6IHZvaWQKZ2xvYmFsS2V5RXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0NAoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsS2V5LmV4aXN0cykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleVB1dDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5UHV0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5UHV0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleVB1dAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxLZXlQdXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlQdXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjQ4CgkvLyB0aGlzLmxvY2FsS2V5KGEpLnZhbHVlID0gJ2JhcicKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5R2V0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlHZXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlHZXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5R2V0CglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleUdldChhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleUdldDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTIKCS8vIGFzc2VydCh0aGlzLmxvY2FsS2V5KGEpLnZhbHVlID09PSAnYmFyJykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5RGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RGVsZXRlCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleURlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleURlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTYKCS8vIHRoaXMubG9jYWxLZXkoYSkuZGVsZXRlKCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZGVsCglyZXRzdWIKCi8vIGxvY2FsS2V5RXhpc3RzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RXhpc3RzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlFeGlzdHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlFeGlzdHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleUV4aXN0cyhhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleUV4aXN0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NjAKCS8vIGFzc2VydCh0aGlzLmxvY2FsS2V5KGEpLmV4aXN0cykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlQdXQoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlQdXQ6CgkvLyBleGVjdXRlIGJveEtleVB1dCgpdm9pZAoJY2FsbHN1YiBib3hLZXlQdXQKCWludCAxCglyZXR1cm4KCi8vIGJveEtleVB1dCgpOiB2b2lkCmJveEtleVB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NjQKCS8vIHRoaXMuYm94S2V5LnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWJveF9wdXQKCXJldHN1YgoKLy8gYm94S2V5R2V0KCl2b2lkCiphYmlfcm91dGVfYm94S2V5R2V0OgoJLy8gZXhlY3V0ZSBib3hLZXlHZXQoKXZvaWQKCWNhbGxzdWIgYm94S2V5R2V0CglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlHZXQoKTogdm9pZApib3hLZXlHZXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjY4CgkvLyBhc3NlcnQodGhpcy5ib3hLZXkudmFsdWUgPT09ICdiYXInKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hLZXkudmFsdWUKCWFzc2VydAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlEZWxldGU6CgkvLyBleGVjdXRlIGJveEtleURlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGJveEtleURlbGV0ZSgpOiB2b2lkCmJveEtleURlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzIKCS8vIHRoaXMuYm94S2V5LmRlbGV0ZSgpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfZGVsCglyZXRzdWIKCi8vIGJveEtleUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2JveEtleUV4aXN0czoKCS8vIGV4ZWN1dGUgYm94S2V5RXhpc3RzKCl2b2lkCgljYWxsc3ViIGJveEtleUV4aXN0cwoJaW50IDEKCXJldHVybgoKLy8gYm94S2V5RXhpc3RzKCk6IHZvaWQKYm94S2V5RXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo3NgoJLy8gYXNzZXJ0KHRoaXMuYm94S2V5LmV4aXN0cykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9sZW4KCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbE1hcFB1dCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dDoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwUHV0KCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcFB1dAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwUHV0KCk6IHZvaWQKZ2xvYmFsTWFwUHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo4MAoJLy8gdGhpcy5nbG9iYWxNYXAoJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbE1hcEdldCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcEdldDoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwR2V0KCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcEdldAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwR2V0KCk6IHZvaWQKZ2xvYmFsTWFwR2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo4NAoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsTWFwKCdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBnbG9iYWxNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBEZWxldGU6CgkvLyBleGVjdXRlIGdsb2JhbE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcERlbGV0ZSgpOiB2b2lkCmdsb2JhbE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODgKCS8vIHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5kZWxldGUoKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2dsb2JhbF9kZWwKCXJldHN1YgoKLy8gZ2xvYmFsTWFwRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfZ2xvYmFsTWFwRXhpc3RzOgoJLy8gZXhlY3V0ZSBnbG9iYWxNYXBFeGlzdHMoKXZvaWQKCWNhbGxzdWIgZ2xvYmFsTWFwRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBnbG9iYWxNYXBFeGlzdHMoKTogdm9pZApnbG9iYWxNYXBFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjkyCgkvLyBhc3NlcnQodGhpcy5nbG9iYWxNYXAoJ2ZvbycpLmV4aXN0cykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbE1hcFB1dDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsTWFwUHV0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsTWFwUHV0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbE1hcFB1dAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxNYXBQdXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxNYXBQdXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjk2CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS52YWx1ZSA9ICdiYXInCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBsb2NhbE1hcEdldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbE1hcEdldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsTWFwR2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbE1hcEdldAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxNYXBHZXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxNYXBHZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KHRoaXMubG9jYWxNYXAoYSwgJ2ZvbycpLnZhbHVlID09PSAnYmFyJykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwRGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRGVsZXRlCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbE1hcERlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcERlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA0CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5kZWxldGUoKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9sb2NhbF9kZWwKCXJldHN1YgoKLy8gbG9jYWxNYXBFeGlzdHMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbG9jYWxNYXBFeGlzdHM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBsb2NhbE1hcEV4aXN0cyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbG9jYWxNYXBFeGlzdHMKCWludCAxCglyZXR1cm4KCi8vIGxvY2FsTWFwRXhpc3RzKGE6IEFkZHJlc3MpOiB2b2lkCmxvY2FsTWFwRXhpc3RzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMDgKCS8vIGFzc2VydCh0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5leGlzdHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYm94TWFwUHV0KCl2b2lkCiphYmlfcm91dGVfYm94TWFwUHV0OgoJLy8gZXhlY3V0ZSBib3hNYXBQdXQoKXZvaWQKCWNhbGxzdWIgYm94TWFwUHV0CglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBQdXQoKTogdm9pZApib3hNYXBQdXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjExMgoJLy8gdGhpcy5ib3hNYXAoJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWJveF9wdXQKCXJldHN1YgoKLy8gYm94TWFwR2V0KCl2b2lkCiphYmlfcm91dGVfYm94TWFwR2V0OgoJLy8gZXhlY3V0ZSBib3hNYXBHZXQoKXZvaWQKCWNhbGxzdWIgYm94TWFwR2V0CglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBHZXQoKTogdm9pZApib3hNYXBHZXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjExNgoJLy8gYXNzZXJ0KHRoaXMuYm94TWFwKCdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnZm9vJykudmFsdWUKCWFzc2VydAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBEZWxldGU6CgkvLyBleGVjdXRlIGJveE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGJveE1hcERlbGV0ZSgpOiB2b2lkCmJveE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTIwCgkvLyB0aGlzLmJveE1hcCgnZm9vJykuZGVsZXRlKCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9kZWwKCXJldHN1YgoKLy8gYm94TWFwRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfYm94TWFwRXhpc3RzOgoJLy8gZXhlY3V0ZSBib3hNYXBFeGlzdHMoKXZvaWQKCWNhbGxzdWIgYm94TWFwRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBFeGlzdHMoKTogdm9pZApib3hNYXBFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEyNAoJLy8gYXNzZXJ0KHRoaXMuYm94TWFwKCdmb28nKS5leGlzdHMpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfbGVuCglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlDcmVhdGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlDcmVhdGU6CgkvLyBleGVjdXRlIGJveEtleUNyZWF0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlDcmVhdGUKCWludCAxCglyZXR1cm4KCi8vIGJveEtleUNyZWF0ZSgpOiB2b2lkCmJveEtleUNyZWF0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTI4CgkvLyB0aGlzLmJveEtleS5jcmVhdGUoMTAyNCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWludCAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94TWFwQ3JlYXRlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwQ3JlYXRlOgoJLy8gZXhlY3V0ZSBib3hNYXBDcmVhdGUoKXZvaWQKCWNhbGxzdWIgYm94TWFwQ3JlYXRlCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBDcmVhdGUoKTogdm9pZApib3hNYXBDcmVhdGU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzMgoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLmNyZWF0ZSgxMDI0KQoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJaW50IDEwMjQKCWJveF9jcmVhdGUKCXBvcAoJcmV0c3ViCgovLyBib3hLZXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2JveEtleUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hLZXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBib3hLZXlMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlMZW5ndGgoKTogdWludDY0CmJveEtleUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTM2CgkvLyByZXR1cm4gdGhpcy5ib3hLZXkuc2l6ZTsKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9sZW4KCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnNpemUKCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2JveE1hcExlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hNYXBMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBib3hNYXBMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBMZW5ndGgoKTogdWludDY0CmJveE1hcExlbmd0aDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTQwCgkvLyByZXR1cm4gdGhpcy5ib3hNYXAoJ2JhcicpLnNpemU7CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVJlcGxhY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlSZXBsYWNlOgoJLy8gZXhlY3V0ZSBib3hLZXlSZXBsYWNlKCl2b2lkCgljYWxsc3ViIGJveEtleVJlcGxhY2UKCWludCAxCglyZXR1cm4KCi8vIGJveEtleVJlcGxhY2UoKTogdm9pZApib3hLZXlSZXBsYWNlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDQKCS8vIHRoaXMuYm94S2V5LnJlcGxhY2UoMCwgJ2FiYycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYm94TWFwUmVwbGFjZSgpdm9pZAoqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2U6CgkvLyBleGVjdXRlIGJveE1hcFJlcGxhY2UoKXZvaWQKCWNhbGxzdWIgYm94TWFwUmVwbGFjZQoJaW50IDEKCXJldHVybgoKLy8gYm94TWFwUmVwbGFjZSgpOiB2b2lkCmJveE1hcFJlcGxhY2U6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE0OAoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLnJlcGxhY2UoMCwgJ2FiYycpCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglpbnQgMAoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYm94S2V5RXh0cmFjdCgpc3RyaW5nCiphYmlfcm91dGVfYm94S2V5RXh0cmFjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hLZXlFeHRyYWN0KClzdHJpbmcKCWNhbGxzdWIgYm94S2V5RXh0cmFjdAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlFeHRyYWN0KCk6IHN0cmluZwpib3hLZXlFeHRyYWN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNTIKCS8vIHJldHVybiB0aGlzLmJveEtleS5leHRyYWN0KDAsIDMpOwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBib3hNYXBFeHRyYWN0KClzdHJpbmcKKmFiaV9yb3V0ZV9ib3hNYXBFeHRyYWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveE1hcEV4dHJhY3QoKXN0cmluZwoJY2FsbHN1YiBib3hNYXBFeHRyYWN0CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJveE1hcEV4dHJhY3QoKTogc3RyaW5nCmJveE1hcEV4dHJhY3Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE1NgoJLy8gcmV0dXJuIHRoaXMuYm94TWFwKCdiYXInKS5leHRyYWN0KDAsIDMpOwoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJaW50IDAKCWludCAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBpc09wdGVkSW4oKWJvb2wKKmFiaV9yb3V0ZV9pc09wdGVkSW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaXNPcHRlZEluKClib29sCgljYWxsc3ViIGlzT3B0ZWRJbgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBpc09wdGVkSW4oKTogYm9vbGVhbgppc09wdGVkSW46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE2MAoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlci5pc09wdGVkSW5Ub0FwcCh0aGlzLmFwcCk7Cgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfb3B0ZWRfaW4KCXJldHN1YgoKLy8gZXhHbG9iYWwoKXZvaWQKKmFiaV9yb3V0ZV9leEdsb2JhbDoKCS8vIGV4ZWN1dGUgZXhHbG9iYWwoKXZvaWQKCWNhbGxzdWIgZXhHbG9iYWwKCWludCAxCglyZXR1cm4KCi8vIGV4R2xvYmFsKCk6IHZvaWQKZXhHbG9iYWw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE2NAoJLy8gbG9nKHRoaXMuYXBwLmdsb2JhbFN0YXRlKCdmb28nKSBhcyBieXRlcykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5nbG9iYWxTdGF0ZSgnZm9vJykKCWFzc2VydAoJbG9nCglyZXRzdWIKCi8vIGV4TG9jYWwoKXZvaWQKKmFiaV9yb3V0ZV9leExvY2FsOgoJLy8gZXhlY3V0ZSBleExvY2FsKCl2b2lkCgljYWxsc3ViIGV4TG9jYWwKCWludCAxCglyZXR1cm4KCi8vIGV4TG9jYWwoKTogdm9pZApleExvY2FsOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNjgKCS8vIGxvZyh0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoKCS8vIGxvY2FsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpCglhc3NlcnQKCWxvZwoJcmV0c3ViCgovLyBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKXVpbnQxNgoqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKXVpbnQxNgoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3gKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKTogdWludDE2CmFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTcyCgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC5jcmVhdGUoKQoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJaW50IDgwMDAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTczCgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC52YWx1ZVsxMjNdID0gNDU2CglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgMjQ2CglieXRlIDB4MDFjOAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3NQoJLy8gcmV0dXJuIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM107CglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgMjQ2CglpbnQgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCh1aW50NjQpdWludDE2CiphYmlfcm91dGVfZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gaTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYKCWNhbGxzdWIgZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KGk6IHVpbnQ2NCk6IHVpbnQxNgpkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNzkKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LmNyZWF0ZSgpCglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgODAwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODAKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlW2ldID0gNDU2CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglieXRlIDB4MDFjOAoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4NAoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMgoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gYm94UmVzaXplKCl2b2lkCiphYmlfcm91dGVfYm94UmVzaXplOgoJLy8gZXhlY3V0ZSBib3hSZXNpemUoKXZvaWQKCWNhbGxzdWIgYm94UmVzaXplCglpbnQgMQoJcmV0dXJuCgovLyBib3hSZXNpemUoKTogdm9pZApib3hSZXNpemU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4OAoJLy8gdGhpcy5ib3hLZXkucmVzaXplKDEwMjQpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMTAyNAoJYm94X3Jlc2l6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTg5CgkvLyB0aGlzLmJveE1hcCgnYmFyJykucmVzaXplKDEwMjQpCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglpbnQgMTAyNAoJYm94X3Jlc2l6ZQoJcmV0c3ViCgovLyBib3hTcGxpY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hTcGxpY2U6CgkvLyBleGVjdXRlIGJveFNwbGljZSgpdm9pZAoJY2FsbHN1YiBib3hTcGxpY2UKCWludCAxCglyZXR1cm4KCi8vIGJveFNwbGljZSgpOiB2b2lkCmJveFNwbGljZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTkzCgkvLyB0aGlzLmJveEtleS5zcGxpY2UoMCwgMSwgJ2FiYycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJaW50IDEKCWJ5dGUgMHg2MTYyNjMgLy8gImFiYyIKCWJveF9zcGxpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5NAoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLnNwbGljZSgwLCAxLCAnYWJjJykKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWludCAwCglpbnQgMQoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3NwbGljZQoJcmV0c3ViCgovLyBleFN0YXRlRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfZXhTdGF0ZUV4aXN0czoKCS8vIGV4ZWN1dGUgZXhTdGF0ZUV4aXN0cygpdm9pZAoJY2FsbHN1YiBleFN0YXRlRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBleFN0YXRlRXhpc3RzKCk6IHZvaWQKZXhTdGF0ZUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTk4CgkvLyBhc3NlcnQodGhpcy5hcHAuZ2xvYmFsU3RhdGVFeGlzdHMoJ2ZvbycpKQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxOTkKCS8vIGFzc2VydCh0aGlzLmFwcC5sb2NhbFN0YXRlRXhpc3RzKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInByZWZpeCgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsS2V5UHV0KCl2b2lkIgoJbWV0aG9kICJnbG9iYWxLZXlHZXQoKXZvaWQiCgltZXRob2QgImdsb2JhbEtleURlbGV0ZSgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsS2V5RXhpc3RzKCl2b2lkIgoJbWV0aG9kICJsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQiCgltZXRob2QgImxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAibG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQiCgltZXRob2QgImJveEtleVB1dCgpdm9pZCIKCW1ldGhvZCAiYm94S2V5R2V0KCl2b2lkIgoJbWV0aG9kICJib3hLZXlEZWxldGUoKXZvaWQiCgltZXRob2QgImJveEtleUV4aXN0cygpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsTWFwUHV0KCl2b2lkIgoJbWV0aG9kICJnbG9iYWxNYXBHZXQoKXZvaWQiCgltZXRob2QgImdsb2JhbE1hcERlbGV0ZSgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsTWFwRXhpc3RzKCl2b2lkIgoJbWV0aG9kICJsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQiCgltZXRob2QgImxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAibG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQiCgltZXRob2QgImJveE1hcFB1dCgpdm9pZCIKCW1ldGhvZCAiYm94TWFwR2V0KCl2b2lkIgoJbWV0aG9kICJib3hNYXBEZWxldGUoKXZvaWQiCgltZXRob2QgImJveE1hcEV4aXN0cygpdm9pZCIKCW1ldGhvZCAiYm94S2V5Q3JlYXRlKCl2b2lkIgoJbWV0aG9kICJib3hNYXBDcmVhdGUoKXZvaWQiCgltZXRob2QgImJveEtleUxlbmd0aCgpdWludDY0IgoJbWV0aG9kICJib3hNYXBMZW5ndGgoKXVpbnQ2NCIKCW1ldGhvZCAiYm94S2V5UmVwbGFjZSgpdm9pZCIKCW1ldGhvZCAiYm94TWFwUmVwbGFjZSgpdm9pZCIKCW1ldGhvZCAiYm94S2V5RXh0cmFjdCgpc3RyaW5nIgoJbWV0aG9kICJib3hNYXBFeHRyYWN0KClzdHJpbmciCgltZXRob2QgImlzT3B0ZWRJbigpYm9vbCIKCW1ldGhvZCAiZXhHbG9iYWwoKXZvaWQiCgltZXRob2QgImV4TG9jYWwoKXZvaWQiCgltZXRob2QgImFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCgpdWludDE2IgoJbWV0aG9kICJkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYiCgltZXRob2QgImJveFJlc2l6ZSgpdm9pZCIKCW1ldGhvZCAiYm94U3BsaWNlKCl2b2lkIgoJbWV0aG9kICJleFN0YXRlRXhpc3RzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcmVmaXggKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHMgKmFiaV9yb3V0ZV9sb2NhbEtleVB1dCAqYWJpX3JvdXRlX2xvY2FsS2V5R2V0ICphYmlfcm91dGVfbG9jYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0cyAqYWJpX3JvdXRlX2JveEtleVB1dCAqYWJpX3JvdXRlX2JveEtleUdldCAqYWJpX3JvdXRlX2JveEtleURlbGV0ZSAqYWJpX3JvdXRlX2JveEtleUV4aXN0cyAqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dCAqYWJpX3JvdXRlX2dsb2JhbE1hcEdldCAqYWJpX3JvdXRlX2dsb2JhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0cyAqYWJpX3JvdXRlX2xvY2FsTWFwUHV0ICphYmlfcm91dGVfbG9jYWxNYXBHZXQgKmFiaV9yb3V0ZV9sb2NhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzICphYmlfcm91dGVfYm94TWFwUHV0ICphYmlfcm91dGVfYm94TWFwR2V0ICphYmlfcm91dGVfYm94TWFwRGVsZXRlICphYmlfcm91dGVfYm94TWFwRXhpc3RzICphYmlfcm91dGVfYm94S2V5Q3JlYXRlICphYmlfcm91dGVfYm94TWFwQ3JlYXRlICphYmlfcm91dGVfYm94S2V5TGVuZ3RoICphYmlfcm91dGVfYm94TWFwTGVuZ3RoICphYmlfcm91dGVfYm94S2V5UmVwbGFjZSAqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2UgKmFiaV9yb3V0ZV9ib3hLZXlFeHRyYWN0ICphYmlfcm91dGVfYm94TWFwRXh0cmFjdCAqYWJpX3JvdXRlX2lzT3B0ZWRJbiAqYWJpX3JvdXRlX2V4R2xvYmFsICphYmlfcm91dGVfZXhMb2NhbCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3ggKmFiaV9yb3V0ZV9ib3hSZXNpemUgKmFiaV9yb3V0ZV9ib3hTcGxpY2UgKmFiaV9yb3V0ZV9leFN0YXRlRXhpc3RzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwcmVmaXgoKXZvaWQKKmFiaV9yb3V0ZV9wcmVmaXg6CgkvLyBleGVjdXRlIHByZWZpeCgpdm9pZAoJY2FsbHN1YiBwcmVmaXgKCWludCAxCglyZXR1cm4KCi8vIHByZWZpeCgpOiB2b2lkCnByZWZpeDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjYKCS8vIHRoaXMuYm94TWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlIDB4NjY2ZjZmCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjcKCS8vIHRoaXMuZ2xvYmFsTWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlIDB4NjY2ZjZmCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjgKCS8vIHRoaXMubG9jYWxNYXBXaXRoUHJlZml4KHRoaXMudHhuLnNlbmRlciwgJ29vJykudmFsdWUgPSAnYmFyJwoJdHhuIFNlbmRlcgoJYnl0ZSAweDY2NmY2ZgoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxLZXlQdXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQ6CgkvLyBleGVjdXRlIGdsb2JhbEtleVB1dCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlQdXQKCWludCAxCglyZXR1cm4KCi8vIGdsb2JhbEtleVB1dCgpOiB2b2lkCmdsb2JhbEtleVB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MzIKCS8vIHRoaXMuZ2xvYmFsS2V5LnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbEtleUdldCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleUdldDoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5R2V0KCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleUdldAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5R2V0KCk6IHZvaWQKZ2xvYmFsS2V5R2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czozNgoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsS2V5LnZhbHVlID09PSAnYmFyJykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbEtleURlbGV0ZSgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleURlbGV0ZToKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RGVsZXRlKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleURlbGV0ZQoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RGVsZXRlKCk6IHZvaWQKZ2xvYmFsS2V5RGVsZXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0MAoJLy8gdGhpcy5nbG9iYWxLZXkuZGVsZXRlKCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZGVsCglyZXRzdWIKCi8vIGdsb2JhbEtleUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleUV4aXN0czoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RXhpc3RzKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleUV4aXN0cwoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RXhpc3RzKCk6IHZvaWQKZ2xvYmFsS2V5RXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0NAoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsS2V5LmV4aXN0cykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleVB1dDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5UHV0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5UHV0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleVB1dAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxLZXlQdXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlQdXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjQ4CgkvLyB0aGlzLmxvY2FsS2V5KGEpLnZhbHVlID0gJ2JhcicKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5R2V0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlHZXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlHZXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5R2V0CglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleUdldChhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleUdldDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTIKCS8vIGFzc2VydCh0aGlzLmxvY2FsS2V5KGEpLnZhbHVlID09PSAnYmFyJykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5RGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RGVsZXRlCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleURlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleURlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTYKCS8vIHRoaXMubG9jYWxLZXkoYSkuZGVsZXRlKCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZGVsCglyZXRzdWIKCi8vIGxvY2FsS2V5RXhpc3RzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RXhpc3RzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlFeGlzdHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlFeGlzdHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbEtleUV4aXN0cyhhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleUV4aXN0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NjAKCS8vIGFzc2VydCh0aGlzLmxvY2FsS2V5KGEpLmV4aXN0cykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlQdXQoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlQdXQ6CgkvLyBleGVjdXRlIGJveEtleVB1dCgpdm9pZAoJY2FsbHN1YiBib3hLZXlQdXQKCWludCAxCglyZXR1cm4KCi8vIGJveEtleVB1dCgpOiB2b2lkCmJveEtleVB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NjQKCS8vIHRoaXMuYm94S2V5LnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWJveF9wdXQKCXJldHN1YgoKLy8gYm94S2V5R2V0KCl2b2lkCiphYmlfcm91dGVfYm94S2V5R2V0OgoJLy8gZXhlY3V0ZSBib3hLZXlHZXQoKXZvaWQKCWNhbGxzdWIgYm94S2V5R2V0CglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlHZXQoKTogdm9pZApib3hLZXlHZXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjY4CgkvLyBhc3NlcnQodGhpcy5ib3hLZXkudmFsdWUgPT09ICdiYXInKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hLZXkudmFsdWUKCWFzc2VydAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlEZWxldGU6CgkvLyBleGVjdXRlIGJveEtleURlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGJveEtleURlbGV0ZSgpOiB2b2lkCmJveEtleURlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzIKCS8vIHRoaXMuYm94S2V5LmRlbGV0ZSgpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfZGVsCglyZXRzdWIKCi8vIGJveEtleUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2JveEtleUV4aXN0czoKCS8vIGV4ZWN1dGUgYm94S2V5RXhpc3RzKCl2b2lkCgljYWxsc3ViIGJveEtleUV4aXN0cwoJaW50IDEKCXJldHVybgoKLy8gYm94S2V5RXhpc3RzKCk6IHZvaWQKYm94S2V5RXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo3NgoJLy8gYXNzZXJ0KHRoaXMuYm94S2V5LmV4aXN0cykKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9sZW4KCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbE1hcFB1dCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dDoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwUHV0KCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcFB1dAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwUHV0KCk6IHZvaWQKZ2xvYmFsTWFwUHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo4MAoJLy8gdGhpcy5nbG9iYWxNYXAoJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbE1hcEdldCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcEdldDoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwR2V0KCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcEdldAoJaW50IDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwR2V0KCk6IHZvaWQKZ2xvYmFsTWFwR2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo4NAoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsTWFwKCdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfZ2xvYmFsX2dldAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBnbG9iYWxNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBEZWxldGU6CgkvLyBleGVjdXRlIGdsb2JhbE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcERlbGV0ZSgpOiB2b2lkCmdsb2JhbE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODgKCS8vIHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5kZWxldGUoKQoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2dsb2JhbF9kZWwKCXJldHN1YgoKLy8gZ2xvYmFsTWFwRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfZ2xvYmFsTWFwRXhpc3RzOgoJLy8gZXhlY3V0ZSBnbG9iYWxNYXBFeGlzdHMoKXZvaWQKCWNhbGxzdWIgZ2xvYmFsTWFwRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBnbG9iYWxNYXBFeGlzdHMoKTogdm9pZApnbG9iYWxNYXBFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjkyCgkvLyBhc3NlcnQodGhpcy5nbG9iYWxNYXAoJ2ZvbycpLmV4aXN0cykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbE1hcFB1dDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsTWFwUHV0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsTWFwUHV0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbE1hcFB1dAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxNYXBQdXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxNYXBQdXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjk2CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS52YWx1ZSA9ICdiYXInCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBsb2NhbE1hcEdldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbE1hcEdldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsTWFwR2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbE1hcEdldAoJaW50IDEKCXJldHVybgoKLy8gbG9jYWxNYXBHZXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxNYXBHZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KHRoaXMubG9jYWxNYXAoYSwgJ2ZvbycpLnZhbHVlID09PSAnYmFyJykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglhcHBfbG9jYWxfZ2V0CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwRGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludCAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRGVsZXRlCglpbnQgMQoJcmV0dXJuCgovLyBsb2NhbE1hcERlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcERlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA0CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5kZWxldGUoKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9sb2NhbF9kZWwKCXJldHN1YgoKLy8gbG9jYWxNYXBFeGlzdHMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbG9jYWxNYXBFeGlzdHM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBsb2NhbE1hcEV4aXN0cyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbG9jYWxNYXBFeGlzdHMKCWludCAxCglyZXR1cm4KCi8vIGxvY2FsTWFwRXhpc3RzKGE6IEFkZHJlc3MpOiB2b2lkCmxvY2FsTWFwRXhpc3RzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMDgKCS8vIGFzc2VydCh0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5leGlzdHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYm94TWFwUHV0KCl2b2lkCiphYmlfcm91dGVfYm94TWFwUHV0OgoJLy8gZXhlY3V0ZSBib3hNYXBQdXQoKXZvaWQKCWNhbGxzdWIgYm94TWFwUHV0CglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBQdXQoKTogdm9pZApib3hNYXBQdXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjExMgoJLy8gdGhpcy5ib3hNYXAoJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWJveF9wdXQKCXJldHN1YgoKLy8gYm94TWFwR2V0KCl2b2lkCiphYmlfcm91dGVfYm94TWFwR2V0OgoJLy8gZXhlY3V0ZSBib3hNYXBHZXQoKXZvaWQKCWNhbGxzdWIgYm94TWFwR2V0CglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBHZXQoKTogdm9pZApib3hNYXBHZXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjExNgoJLy8gYXNzZXJ0KHRoaXMuYm94TWFwKCdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnZm9vJykudmFsdWUKCWFzc2VydAoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBEZWxldGU6CgkvLyBleGVjdXRlIGJveE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBEZWxldGUKCWludCAxCglyZXR1cm4KCi8vIGJveE1hcERlbGV0ZSgpOiB2b2lkCmJveE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTIwCgkvLyB0aGlzLmJveE1hcCgnZm9vJykuZGVsZXRlKCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9kZWwKCXJldHN1YgoKLy8gYm94TWFwRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfYm94TWFwRXhpc3RzOgoJLy8gZXhlY3V0ZSBib3hNYXBFeGlzdHMoKXZvaWQKCWNhbGxzdWIgYm94TWFwRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBFeGlzdHMoKTogdm9pZApib3hNYXBFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEyNAoJLy8gYXNzZXJ0KHRoaXMuYm94TWFwKCdmb28nKS5leGlzdHMpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglib3hfbGVuCglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlDcmVhdGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlDcmVhdGU6CgkvLyBleGVjdXRlIGJveEtleUNyZWF0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlDcmVhdGUKCWludCAxCglyZXR1cm4KCi8vIGJveEtleUNyZWF0ZSgpOiB2b2lkCmJveEtleUNyZWF0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTI4CgkvLyB0aGlzLmJveEtleS5jcmVhdGUoMTAyNCkKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWludCAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94TWFwQ3JlYXRlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwQ3JlYXRlOgoJLy8gZXhlY3V0ZSBib3hNYXBDcmVhdGUoKXZvaWQKCWNhbGxzdWIgYm94TWFwQ3JlYXRlCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBDcmVhdGUoKTogdm9pZApib3hNYXBDcmVhdGU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzMgoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLmNyZWF0ZSgxMDI0KQoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJaW50IDEwMjQKCWJveF9jcmVhdGUKCXBvcAoJcmV0c3ViCgovLyBib3hLZXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2JveEtleUxlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hLZXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBib3hLZXlMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlMZW5ndGgoKTogdWludDY0CmJveEtleUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTM2CgkvLyByZXR1cm4gdGhpcy5ib3hLZXkuc2l6ZTsKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWJveF9sZW4KCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnNpemUKCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2JveE1hcExlbmd0aDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hNYXBMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBib3hNYXBMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hNYXBMZW5ndGgoKTogdWludDY0CmJveE1hcExlbmd0aDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTQwCgkvLyByZXR1cm4gdGhpcy5ib3hNYXAoJ2JhcicpLnNpemU7CglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVJlcGxhY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlSZXBsYWNlOgoJLy8gZXhlY3V0ZSBib3hLZXlSZXBsYWNlKCl2b2lkCgljYWxsc3ViIGJveEtleVJlcGxhY2UKCWludCAxCglyZXR1cm4KCi8vIGJveEtleVJlcGxhY2UoKTogdm9pZApib3hLZXlSZXBsYWNlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDQKCS8vIHRoaXMuYm94S2V5LnJlcGxhY2UoMCwgJ2FiYycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYm94TWFwUmVwbGFjZSgpdm9pZAoqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2U6CgkvLyBleGVjdXRlIGJveE1hcFJlcGxhY2UoKXZvaWQKCWNhbGxzdWIgYm94TWFwUmVwbGFjZQoJaW50IDEKCXJldHVybgoKLy8gYm94TWFwUmVwbGFjZSgpOiB2b2lkCmJveE1hcFJlcGxhY2U6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE0OAoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLnJlcGxhY2UoMCwgJ2FiYycpCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglpbnQgMAoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYm94S2V5RXh0cmFjdCgpc3RyaW5nCiphYmlfcm91dGVfYm94S2V5RXh0cmFjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib3hLZXlFeHRyYWN0KClzdHJpbmcKCWNhbGxzdWIgYm94S2V5RXh0cmFjdAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBib3hLZXlFeHRyYWN0KCk6IHN0cmluZwpib3hLZXlFeHRyYWN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNTIKCS8vIHJldHVybiB0aGlzLmJveEtleS5leHRyYWN0KDAsIDMpOwoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJaW50IDAKCWludCAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBib3hNYXBFeHRyYWN0KClzdHJpbmcKKmFiaV9yb3V0ZV9ib3hNYXBFeHRyYWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveE1hcEV4dHJhY3QoKXN0cmluZwoJY2FsbHN1YiBib3hNYXBFeHRyYWN0CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludCAxCglyZXR1cm4KCi8vIGJveE1hcEV4dHJhY3QoKTogc3RyaW5nCmJveE1hcEV4dHJhY3Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE1NgoJLy8gcmV0dXJuIHRoaXMuYm94TWFwKCdiYXInKS5leHRyYWN0KDAsIDMpOwoJYnl0ZSAweDYyNjE3MiAvLyAiYmFyIgoJaW50IDAKCWludCAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBpc09wdGVkSW4oKWJvb2wKKmFiaV9yb3V0ZV9pc09wdGVkSW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGUgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaXNPcHRlZEluKClib29sCgljYWxsc3ViIGlzT3B0ZWRJbgoJYnl0ZSAweDAwCglpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBpc09wdGVkSW4oKTogYm9vbGVhbgppc09wdGVkSW46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE2MAoJLy8gcmV0dXJuIHRoaXMudHhuLnNlbmRlci5pc09wdGVkSW5Ub0FwcCh0aGlzLmFwcCk7Cgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfb3B0ZWRfaW4KCXJldHN1YgoKLy8gZXhHbG9iYWwoKXZvaWQKKmFiaV9yb3V0ZV9leEdsb2JhbDoKCS8vIGV4ZWN1dGUgZXhHbG9iYWwoKXZvaWQKCWNhbGxzdWIgZXhHbG9iYWwKCWludCAxCglyZXR1cm4KCi8vIGV4R2xvYmFsKCk6IHZvaWQKZXhHbG9iYWw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE2NAoJLy8gbG9nKHRoaXMuYXBwLmdsb2JhbFN0YXRlKCdmb28nKSBhcyBieXRlcykKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGUgMHg2NjZmNmYgLy8gImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5nbG9iYWxTdGF0ZSgnZm9vJykKCWFzc2VydAoJbG9nCglyZXRzdWIKCi8vIGV4TG9jYWwoKXZvaWQKKmFiaV9yb3V0ZV9leExvY2FsOgoJLy8gZXhlY3V0ZSBleExvY2FsKCl2b2lkCgljYWxsc3ViIGV4TG9jYWwKCWludCAxCglyZXR1cm4KCi8vIGV4TG9jYWwoKTogdm9pZApleExvY2FsOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNjgKCS8vIGxvZyh0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoKCS8vIGxvY2FsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpCglhc3NlcnQKCWxvZwoJcmV0c3ViCgovLyBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKXVpbnQxNgoqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKXVpbnQxNgoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3gKCWl0b2IKCWR1cAoJYml0bGVuCglpbnQgMTYKCTw9CgoJLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBhY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3goKTogdWludDE2CmFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTcyCgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC5jcmVhdGUoKQoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJaW50IDgwMDAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTczCgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC52YWx1ZVsxMjNdID0gNDU2CglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgMjQ2CglieXRlIDB4MDFjOAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3NQoJLy8gcmV0dXJuIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM107CglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgMjQ2CglpbnQgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCh1aW50NjQpdWludDE2CiphYmlfcm91dGVfZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZSAweDE1MWY3Yzc1CgoJLy8gaTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYKCWNhbGxzdWIgZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveAoJaXRvYgoJZHVwCgliaXRsZW4KCWludCAxNgoJPD0KCgkvLyBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnQgMQoJcmV0dXJuCgovLyBkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KGk6IHVpbnQ2NCk6IHVpbnQxNgpkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNzkKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LmNyZWF0ZSgpCglieXRlIDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IC8vICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnQgODAwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODAKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlW2ldID0gNDU2CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglieXRlIDB4MDFjOAoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4NAoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnQgMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnQgMgoJYnl0ZSAweDZjNjE3MjY3NjU1Mzc0NjE3NDY5NjM0MTcyNzI2MTc5NDk2ZTQyNmY3OCAvLyAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gYm94UmVzaXplKCl2b2lkCiphYmlfcm91dGVfYm94UmVzaXplOgoJLy8gZXhlY3V0ZSBib3hSZXNpemUoKXZvaWQKCWNhbGxzdWIgYm94UmVzaXplCglpbnQgMQoJcmV0dXJuCgovLyBib3hSZXNpemUoKTogdm9pZApib3hSZXNpemU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4OAoJLy8gdGhpcy5ib3hLZXkucmVzaXplKDEwMjQpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMTAyNAoJYm94X3Jlc2l6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTg5CgkvLyB0aGlzLmJveE1hcCgnYmFyJykucmVzaXplKDEwMjQpCglieXRlIDB4NjI2MTcyIC8vICJiYXIiCglpbnQgMTAyNAoJYm94X3Jlc2l6ZQoJcmV0c3ViCgovLyBib3hTcGxpY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hTcGxpY2U6CgkvLyBleGVjdXRlIGJveFNwbGljZSgpdm9pZAoJY2FsbHN1YiBib3hTcGxpY2UKCWludCAxCglyZXR1cm4KCi8vIGJveFNwbGljZSgpOiB2b2lkCmJveFNwbGljZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTkzCgkvLyB0aGlzLmJveEtleS5zcGxpY2UoMCwgMSwgJ2FiYycpCglieXRlIDB4NjY2ZjZmIC8vICJmb28iCglpbnQgMAoJaW50IDEKCWJ5dGUgMHg2MTYyNjMgLy8gImFiYyIKCWJveF9zcGxpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5NAoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLnNwbGljZSgwLCAxLCAnYWJjJykKCWJ5dGUgMHg2MjYxNzIgLy8gImJhciIKCWludCAwCglpbnQgMQoJYnl0ZSAweDYxNjI2MyAvLyAiYWJjIgoJYm94X3NwbGljZQoJcmV0c3ViCgovLyBleFN0YXRlRXhpc3RzKCl2b2lkCiphYmlfcm91dGVfZXhTdGF0ZUV4aXN0czoKCS8vIGV4ZWN1dGUgZXhTdGF0ZUV4aXN0cygpdm9pZAoJY2FsbHN1YiBleFN0YXRlRXhpc3RzCglpbnQgMQoJcmV0dXJuCgovLyBleFN0YXRlRXhpc3RzKCk6IHZvaWQKZXhTdGF0ZUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTk4CgkvLyBhc3NlcnQodGhpcy5hcHAuZ2xvYmFsU3RhdGVFeGlzdHMoJ2ZvbycpKQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxOTkKCS8vIGFzc2VydCh0aGlzLmFwcC5sb2NhbFN0YXRlRXhpc3RzKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZSAweDY2NmY2ZiAvLyAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CgltZXRob2QgInByZWZpeCgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsS2V5UHV0KCl2b2lkIgoJbWV0aG9kICJnbG9iYWxLZXlHZXQoKXZvaWQiCgltZXRob2QgImdsb2JhbEtleURlbGV0ZSgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsS2V5RXhpc3RzKCl2b2lkIgoJbWV0aG9kICJsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQiCgltZXRob2QgImxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAibG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQiCgltZXRob2QgImJveEtleVB1dCgpdm9pZCIKCW1ldGhvZCAiYm94S2V5R2V0KCl2b2lkIgoJbWV0aG9kICJib3hLZXlEZWxldGUoKXZvaWQiCgltZXRob2QgImJveEtleUV4aXN0cygpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsTWFwUHV0KCl2b2lkIgoJbWV0aG9kICJnbG9iYWxNYXBHZXQoKXZvaWQiCgltZXRob2QgImdsb2JhbE1hcERlbGV0ZSgpdm9pZCIKCW1ldGhvZCAiZ2xvYmFsTWFwRXhpc3RzKCl2b2lkIgoJbWV0aG9kICJsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQiCgltZXRob2QgImxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZCIKCW1ldGhvZCAibG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkIgoJbWV0aG9kICJsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQiCgltZXRob2QgImJveE1hcFB1dCgpdm9pZCIKCW1ldGhvZCAiYm94TWFwR2V0KCl2b2lkIgoJbWV0aG9kICJib3hNYXBEZWxldGUoKXZvaWQiCgltZXRob2QgImJveE1hcEV4aXN0cygpdm9pZCIKCW1ldGhvZCAiYm94S2V5Q3JlYXRlKCl2b2lkIgoJbWV0aG9kICJib3hNYXBDcmVhdGUoKXZvaWQiCgltZXRob2QgImJveEtleUxlbmd0aCgpdWludDY0IgoJbWV0aG9kICJib3hNYXBMZW5ndGgoKXVpbnQ2NCIKCW1ldGhvZCAiYm94S2V5UmVwbGFjZSgpdm9pZCIKCW1ldGhvZCAiYm94TWFwUmVwbGFjZSgpdm9pZCIKCW1ldGhvZCAiYm94S2V5RXh0cmFjdCgpc3RyaW5nIgoJbWV0aG9kICJib3hNYXBFeHRyYWN0KClzdHJpbmciCgltZXRob2QgImlzT3B0ZWRJbigpYm9vbCIKCW1ldGhvZCAiZXhHbG9iYWwoKXZvaWQiCgltZXRob2QgImV4TG9jYWwoKXZvaWQiCgltZXRob2QgImFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCgpdWludDE2IgoJbWV0aG9kICJkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYiCgltZXRob2QgImJveFJlc2l6ZSgpdm9pZCIKCW1ldGhvZCAiYm94U3BsaWNlKCl2b2lkIgoJbWV0aG9kICJleFN0YXRlRXhpc3RzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcmVmaXggKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHMgKmFiaV9yb3V0ZV9sb2NhbEtleVB1dCAqYWJpX3JvdXRlX2xvY2FsS2V5R2V0ICphYmlfcm91dGVfbG9jYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0cyAqYWJpX3JvdXRlX2JveEtleVB1dCAqYWJpX3JvdXRlX2JveEtleUdldCAqYWJpX3JvdXRlX2JveEtleURlbGV0ZSAqYWJpX3JvdXRlX2JveEtleUV4aXN0cyAqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dCAqYWJpX3JvdXRlX2dsb2JhbE1hcEdldCAqYWJpX3JvdXRlX2dsb2JhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0cyAqYWJpX3JvdXRlX2xvY2FsTWFwUHV0ICphYmlfcm91dGVfbG9jYWxNYXBHZXQgKmFiaV9yb3V0ZV9sb2NhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzICphYmlfcm91dGVfYm94TWFwUHV0ICphYmlfcm91dGVfYm94TWFwR2V0ICphYmlfcm91dGVfYm94TWFwRGVsZXRlICphYmlfcm91dGVfYm94TWFwRXhpc3RzICphYmlfcm91dGVfYm94S2V5Q3JlYXRlICphYmlfcm91dGVfYm94TWFwQ3JlYXRlICphYmlfcm91dGVfYm94S2V5TGVuZ3RoICphYmlfcm91dGVfYm94TWFwTGVuZ3RoICphYmlfcm91dGVfYm94S2V5UmVwbGFjZSAqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2UgKmFiaV9yb3V0ZV9ib3hLZXlFeHRyYWN0ICphYmlfcm91dGVfYm94TWFwRXh0cmFjdCAqYWJpX3JvdXRlX2lzT3B0ZWRJbiAqYWJpX3JvdXRlX2V4R2xvYmFsICphYmlfcm91dGVfZXhMb2NhbCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3ggKmFiaV9yb3V0ZV9ib3hSZXNpemUgKmFiaV9yb3V0ZV9ib3hTcGxpY2UgKmFiaV9yb3V0ZV9leFN0YXRlRXhpc3RzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"byteCode": {
diff --git a/tests/contracts/artifacts/Templates.approval.teal b/tests/contracts/artifacts/Templates.approval.teal
index 1fed78a5a..7e04e4bb9 100644
--- a/tests/contracts/artifacts/Templates.approval.teal
+++ b/tests/contracts/artifacts/Templates.approval.teal
@@ -1,6 +1,6 @@
#pragma version 10
-// This TEAL was generated by TEALScript v0.102.0
+// This TEAL was generated by TEALScript v0.103.0
// https://github.com/algorandfoundation/TEALScript
// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
diff --git a/tests/contracts/artifacts/Templates.arc32.json b/tests/contracts/artifacts/Templates.arc32.json
index 3d5b630c6..d98adfe74 100644
--- a/tests/contracts/artifacts/Templates.arc32.json
+++ b/tests/contracts/artifacts/Templates.arc32.json
@@ -44,7 +44,7 @@
}
},
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9ieXRlczY0VG1wbFZhcgpzdG9yZSAyMDMKcHVzaGJ5dGVzIFRNUExfYnl0ZXMzMlRtcGxWYXIKc3RvcmUgMjAyCnB1c2hieXRlcyBUTVBMX3VpbnQ2NFRtcGxWYXIKYnRvaQpzdG9yZSAyMDEKcHVzaGJ5dGVzIFRNUExfYnl0ZXNUbXBsVmFyCnN0b3JlIDIwMAoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdG1wbCgpdm9pZAoqYWJpX3JvdXRlX3RtcGw6CgkvLyBleGVjdXRlIHRtcGwoKXZvaWQKCWNhbGxzdWIgdG1wbAoJaW50IDEKCXJldHVybgoKLy8gdG1wbCgpOiB2b2lkCnRtcGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0CgkvLyBsb2codGhpcy5ieXRlc1RtcGxWYXIpCglsb2FkIDIwMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNQoJLy8gYXNzZXJ0KHRoaXMudWludDY0VG1wbFZhcikKCWxvYWQgMjAxIC8vIFRNUExfdWludDY0VG1wbFZhcgoJYXNzZXJ0CglyZXRzdWIKCi8vIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKXZvaWQKKmFiaV9yb3V0ZV9zcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyOgoJLy8gZXhlY3V0ZSBzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkCgljYWxsc3ViIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIKCWludCAxCglyZXR1cm4KCi8vIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKTogdm9pZApzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozOQoJLy8gZWQyNTUxOVZlcmlmeUJhcmUodGhpcy5ieXRlc1RtcGxWYXIsIHRoaXMuYnl0ZXM2NFRtcGxWYXIsIHRoaXMuYnl0ZXMzMlRtcGxWYXIpCglsb2FkIDIwMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJbG9hZCAyMDMgLy8gVE1QTF9ieXRlczY0VG1wbFZhcgoJbG9hZCAyMDIgLy8gVE1QTF9ieXRlczMyVG1wbFZhcgoJZWQyNTUxOXZlcmlmeV9iYXJlCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0bXBsKCl2b2lkIgoJbWV0aG9kICJzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90bXBsICphYmlfcm91dGVfc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9ieXRlczY0VG1wbFZhcgpzdG9yZSAyMDMKcHVzaGJ5dGVzIFRNUExfYnl0ZXMzMlRtcGxWYXIKc3RvcmUgMjAyCnB1c2hieXRlcyBUTVBMX3VpbnQ2NFRtcGxWYXIKYnRvaQpzdG9yZSAyMDEKcHVzaGJ5dGVzIFRNUExfYnl0ZXNUbXBsVmFyCnN0b3JlIDIwMAoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdG1wbCgpdm9pZAoqYWJpX3JvdXRlX3RtcGw6CgkvLyBleGVjdXRlIHRtcGwoKXZvaWQKCWNhbGxzdWIgdG1wbAoJaW50IDEKCXJldHVybgoKLy8gdG1wbCgpOiB2b2lkCnRtcGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0CgkvLyBsb2codGhpcy5ieXRlc1RtcGxWYXIpCglsb2FkIDIwMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNQoJLy8gYXNzZXJ0KHRoaXMudWludDY0VG1wbFZhcikKCWxvYWQgMjAxIC8vIFRNUExfdWludDY0VG1wbFZhcgoJYXNzZXJ0CglyZXRzdWIKCi8vIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKXZvaWQKKmFiaV9yb3V0ZV9zcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyOgoJLy8gZXhlY3V0ZSBzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkCgljYWxsc3ViIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIKCWludCAxCglyZXR1cm4KCi8vIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKTogdm9pZApzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozOQoJLy8gZWQyNTUxOVZlcmlmeUJhcmUodGhpcy5ieXRlc1RtcGxWYXIsIHRoaXMuYnl0ZXM2NFRtcGxWYXIsIHRoaXMuYnl0ZXMzMlRtcGxWYXIpCglsb2FkIDIwMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJbG9hZCAyMDMgLy8gVE1QTF9ieXRlczY0VG1wbFZhcgoJbG9hZCAyMDIgLy8gVE1QTF9ieXRlczMyVG1wbFZhcgoJZWQyNTUxOXZlcmlmeV9iYXJlCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0bXBsKCl2b2lkIgoJbWV0aG9kICJzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90bXBsICphYmlfcm91dGVfc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"contract": {
diff --git a/tests/contracts/artifacts/Templates.arc56_draft.json b/tests/contracts/artifacts/Templates.arc56_draft.json
index 6c061cdb5..d70f368ed 100644
--- a/tests/contracts/artifacts/Templates.arc56_draft.json
+++ b/tests/contracts/artifacts/Templates.arc56_draft.json
@@ -73,248 +73,251 @@
"create": [],
"call": []
},
- "sourceInfo": [
- {
- "teal": 1,
- "source": 24,
- "disassembledTeal": 1
- },
- {
- "teal": 9,
- "source": 24,
- "disassembledTeal": 2
- },
- {
- "teal": 10,
- "source": 24,
- "disassembledTeal": 3
- },
- {
- "teal": 11,
- "source": 24,
- "disassembledTeal": 4
- },
- {
- "teal": 12,
- "source": 24,
- "disassembledTeal": 5
- },
- {
- "teal": 13,
- "source": 24,
- "disassembledTeal": 6
- },
- {
- "teal": 14,
- "source": 24,
- "disassembledTeal": 7
- },
- {
- "teal": 15,
- "source": 24,
- "disassembledTeal": 8
- },
- {
- "teal": 16,
- "source": 24,
- "disassembledTeal": 9
- },
- {
- "teal": 17,
- "source": 24,
- "disassembledTeal": 10
- },
- {
- "teal": 24,
- "source": 24,
- "disassembledTeal": 11
- },
- {
- "teal": 25,
- "source": 24,
- "disassembledTeal": 12
- },
- {
- "teal": 26,
- "source": 24,
- "disassembledTeal": 13
- },
- {
- "teal": 27,
- "source": 24,
- "disassembledTeal": 14
- },
- {
- "teal": 28,
- "source": 24,
- "disassembledTeal": 15
- },
- {
- "teal": 29,
- "source": 24,
- "disassembledTeal": 16
- },
- {
- "teal": 30,
- "source": 24,
- "disassembledTeal": 17
- },
- {
- "teal": 34,
- "source": 24,
- "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
- "disassembledTeal": 19
- },
- {
- "teal": 39,
- "source": 33,
- "disassembledTeal": 21
- },
- {
- "teal": 40,
- "source": 33,
- "disassembledTeal": 22
- },
- {
- "teal": 41,
- "source": 33,
- "disassembledTeal": 23
- },
- {
- "teal": 45,
- "source": 33,
- "disassembledTeal": 25
- },
- {
- "teal": 49,
- "source": 34,
- "disassembledTeal": 26
- },
- {
- "teal": 50,
- "source": 34,
- "disassembledTeal": 27
- },
- {
- "teal": 54,
- "source": 35,
- "disassembledTeal": 28
- },
- {
- "teal": 55,
- "source": 35,
- "disassembledTeal": 29
- },
- {
- "teal": 56,
- "source": 33,
- "disassembledTeal": 30
- },
- {
- "teal": 61,
- "source": 38,
- "disassembledTeal": 32
- },
- {
- "teal": 62,
- "source": 38,
- "disassembledTeal": 33
- },
- {
- "teal": 63,
- "source": 38,
- "disassembledTeal": 34
- },
- {
- "teal": 67,
- "source": 38,
- "disassembledTeal": 36
- },
- {
- "teal": 71,
- "source": 39,
- "disassembledTeal": 37
- },
- {
- "teal": 72,
- "source": 39,
- "disassembledTeal": 38
- },
- {
- "teal": 73,
- "source": 39,
- "disassembledTeal": 39
- },
- {
- "teal": 74,
- "source": 39,
- "disassembledTeal": 40
- },
- {
- "teal": 75,
- "source": 38,
- "disassembledTeal": 41
- },
- {
- "teal": 78,
- "source": 24,
- "disassembledTeal": 43
- },
- {
- "teal": 79,
- "source": 24,
- "disassembledTeal": 44
- },
- {
- "teal": 82,
- "source": 24,
- "disassembledTeal": 46
- },
- {
- "teal": 83,
- "source": 24,
- "disassembledTeal": 47
- },
- {
- "teal": 84,
- "source": 24,
- "disassembledTeal": 48
- },
- {
- "teal": 87,
- "source": 24,
- "errorMessage": "this contract does not implement the given ABI method for create NoOp",
- "disassembledTeal": 49
- },
- {
- "teal": 90,
- "source": 24,
- "disassembledTeal": 51
- },
- {
- "teal": 91,
- "source": 24,
- "disassembledTeal": 52
- },
- {
- "teal": 92,
- "source": 24,
- "disassembledTeal": 53
- },
- {
- "teal": 93,
- "source": 24,
- "disassembledTeal": 54
- },
- {
- "teal": 96,
- "source": 24,
- "errorMessage": "this contract does not implement the given ABI method for call NoOp",
- "disassembledTeal": 55
- }
- ],
+ "sourceInfo": {
+ "approval": [
+ {
+ "teal": 1,
+ "source": 24,
+ "disassembledTeal": 1
+ },
+ {
+ "teal": 9,
+ "source": 24,
+ "disassembledTeal": 2
+ },
+ {
+ "teal": 10,
+ "source": 24,
+ "disassembledTeal": 3
+ },
+ {
+ "teal": 11,
+ "source": 24,
+ "disassembledTeal": 4
+ },
+ {
+ "teal": 12,
+ "source": 24,
+ "disassembledTeal": 5
+ },
+ {
+ "teal": 13,
+ "source": 24,
+ "disassembledTeal": 6
+ },
+ {
+ "teal": 14,
+ "source": 24,
+ "disassembledTeal": 7
+ },
+ {
+ "teal": 15,
+ "source": 24,
+ "disassembledTeal": 8
+ },
+ {
+ "teal": 16,
+ "source": 24,
+ "disassembledTeal": 9
+ },
+ {
+ "teal": 17,
+ "source": 24,
+ "disassembledTeal": 10
+ },
+ {
+ "teal": 24,
+ "source": 24,
+ "disassembledTeal": 11
+ },
+ {
+ "teal": 25,
+ "source": 24,
+ "disassembledTeal": 12
+ },
+ {
+ "teal": 26,
+ "source": 24,
+ "disassembledTeal": 13
+ },
+ {
+ "teal": 27,
+ "source": 24,
+ "disassembledTeal": 14
+ },
+ {
+ "teal": 28,
+ "source": 24,
+ "disassembledTeal": 15
+ },
+ {
+ "teal": 29,
+ "source": 24,
+ "disassembledTeal": 16
+ },
+ {
+ "teal": 30,
+ "source": 24,
+ "disassembledTeal": 17
+ },
+ {
+ "teal": 34,
+ "source": 24,
+ "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?",
+ "disassembledTeal": 19
+ },
+ {
+ "teal": 39,
+ "source": 33,
+ "disassembledTeal": 21
+ },
+ {
+ "teal": 40,
+ "source": 33,
+ "disassembledTeal": 22
+ },
+ {
+ "teal": 41,
+ "source": 33,
+ "disassembledTeal": 23
+ },
+ {
+ "teal": 45,
+ "source": 33,
+ "disassembledTeal": 25
+ },
+ {
+ "teal": 49,
+ "source": 34,
+ "disassembledTeal": 26
+ },
+ {
+ "teal": 50,
+ "source": 34,
+ "disassembledTeal": 27
+ },
+ {
+ "teal": 54,
+ "source": 35,
+ "disassembledTeal": 28
+ },
+ {
+ "teal": 55,
+ "source": 35,
+ "disassembledTeal": 29
+ },
+ {
+ "teal": 56,
+ "source": 33,
+ "disassembledTeal": 30
+ },
+ {
+ "teal": 61,
+ "source": 38,
+ "disassembledTeal": 32
+ },
+ {
+ "teal": 62,
+ "source": 38,
+ "disassembledTeal": 33
+ },
+ {
+ "teal": 63,
+ "source": 38,
+ "disassembledTeal": 34
+ },
+ {
+ "teal": 67,
+ "source": 38,
+ "disassembledTeal": 36
+ },
+ {
+ "teal": 71,
+ "source": 39,
+ "disassembledTeal": 37
+ },
+ {
+ "teal": 72,
+ "source": 39,
+ "disassembledTeal": 38
+ },
+ {
+ "teal": 73,
+ "source": 39,
+ "disassembledTeal": 39
+ },
+ {
+ "teal": 74,
+ "source": 39,
+ "disassembledTeal": 40
+ },
+ {
+ "teal": 75,
+ "source": 38,
+ "disassembledTeal": 41
+ },
+ {
+ "teal": 78,
+ "source": 24,
+ "disassembledTeal": 43
+ },
+ {
+ "teal": 79,
+ "source": 24,
+ "disassembledTeal": 44
+ },
+ {
+ "teal": 82,
+ "source": 24,
+ "disassembledTeal": 46
+ },
+ {
+ "teal": 83,
+ "source": 24,
+ "disassembledTeal": 47
+ },
+ {
+ "teal": 84,
+ "source": 24,
+ "disassembledTeal": 48
+ },
+ {
+ "teal": 87,
+ "source": 24,
+ "errorMessage": "this contract does not implement the given ABI method for create NoOp",
+ "disassembledTeal": 49
+ },
+ {
+ "teal": 90,
+ "source": 24,
+ "disassembledTeal": 51
+ },
+ {
+ "teal": 91,
+ "source": 24,
+ "disassembledTeal": 52
+ },
+ {
+ "teal": 92,
+ "source": 24,
+ "disassembledTeal": 53
+ },
+ {
+ "teal": 93,
+ "source": 24,
+ "disassembledTeal": 54
+ },
+ {
+ "teal": 96,
+ "source": 24,
+ "errorMessage": "this contract does not implement the given ABI method for call NoOp",
+ "disassembledTeal": 55
+ }
+ ],
+ "clear": []
+ },
"source": {
- "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMi4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9ieXRlczY0VG1wbFZhcgpzdG9yZSAyMDMKcHVzaGJ5dGVzIFRNUExfYnl0ZXMzMlRtcGxWYXIKc3RvcmUgMjAyCnB1c2hieXRlcyBUTVBMX3VpbnQ2NFRtcGxWYXIKYnRvaQpzdG9yZSAyMDEKcHVzaGJ5dGVzIFRNUExfYnl0ZXNUbXBsVmFyCnN0b3JlIDIwMAoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdG1wbCgpdm9pZAoqYWJpX3JvdXRlX3RtcGw6CgkvLyBleGVjdXRlIHRtcGwoKXZvaWQKCWNhbGxzdWIgdG1wbAoJaW50IDEKCXJldHVybgoKLy8gdG1wbCgpOiB2b2lkCnRtcGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0CgkvLyBsb2codGhpcy5ieXRlc1RtcGxWYXIpCglsb2FkIDIwMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNQoJLy8gYXNzZXJ0KHRoaXMudWludDY0VG1wbFZhcikKCWxvYWQgMjAxIC8vIFRNUExfdWludDY0VG1wbFZhcgoJYXNzZXJ0CglyZXRzdWIKCi8vIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKXZvaWQKKmFiaV9yb3V0ZV9zcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyOgoJLy8gZXhlY3V0ZSBzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkCgljYWxsc3ViIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIKCWludCAxCglyZXR1cm4KCi8vIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKTogdm9pZApzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozOQoJLy8gZWQyNTUxOVZlcmlmeUJhcmUodGhpcy5ieXRlc1RtcGxWYXIsIHRoaXMuYnl0ZXM2NFRtcGxWYXIsIHRoaXMuYnl0ZXMzMlRtcGxWYXIpCglsb2FkIDIwMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJbG9hZCAyMDMgLy8gVE1QTF9ieXRlczY0VG1wbFZhcgoJbG9hZCAyMDIgLy8gVE1QTF9ieXRlczMyVG1wbFZhcgoJZWQyNTUxOXZlcmlmeV9iYXJlCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0bXBsKCl2b2lkIgoJbWV0aG9kICJzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90bXBsICphYmlfcm91dGVfc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
+ "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwMy4wCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpwdXNoYnl0ZXMgVE1QTF9ieXRlczY0VG1wbFZhcgpzdG9yZSAyMDMKcHVzaGJ5dGVzIFRNUExfYnl0ZXMzMlRtcGxWYXIKc3RvcmUgMjAyCnB1c2hieXRlcyBUTVBMX3VpbnQ2NFRtcGxWYXIKYnRvaQpzdG9yZSAyMDEKcHVzaGJ5dGVzIFRNUExfYnl0ZXNUbXBsVmFyCnN0b3JlIDIwMAoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdG1wbCgpdm9pZAoqYWJpX3JvdXRlX3RtcGw6CgkvLyBleGVjdXRlIHRtcGwoKXZvaWQKCWNhbGxzdWIgdG1wbAoJaW50IDEKCXJldHVybgoKLy8gdG1wbCgpOiB2b2lkCnRtcGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0CgkvLyBsb2codGhpcy5ieXRlc1RtcGxWYXIpCglsb2FkIDIwMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNQoJLy8gYXNzZXJ0KHRoaXMudWludDY0VG1wbFZhcikKCWxvYWQgMjAxIC8vIFRNUExfdWludDY0VG1wbFZhcgoJYXNzZXJ0CglyZXRzdWIKCi8vIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKXZvaWQKKmFiaV9yb3V0ZV9zcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyOgoJLy8gZXhlY3V0ZSBzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkCgljYWxsc3ViIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIKCWludCAxCglyZXR1cm4KCi8vIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKTogdm9pZApzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozOQoJLy8gZWQyNTUxOVZlcmlmeUJhcmUodGhpcy5ieXRlc1RtcGxWYXIsIHRoaXMuYnl0ZXM2NFRtcGxWYXIsIHRoaXMuYnl0ZXMzMlRtcGxWYXIpCglsb2FkIDIwMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJbG9hZCAyMDMgLy8gVE1QTF9ieXRlczY0VG1wbFZhcgoJbG9hZCAyMDIgLy8gVE1QTF9ieXRlczMyVG1wbFZhcgoJZWQyNTUxOXZlcmlmeV9iYXJlCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CgltZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJbWV0aG9kICJ0bXBsKCl2b2lkIgoJbWV0aG9kICJzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90bXBsICphYmlfcm91dGVfc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEw"
},
"templateVariables": {